1 /** 2 3 4 Copyright: 5 Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. 6 Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) 7 Copyright (c) 2017-2018 Godot-D contributors 8 9 License: $(LINK2 https://opensource.org/licenses/MIT, MIT License) 10 11 12 */ 13 module godot.animationtree; 14 import std.meta : AliasSeq, staticIndexOf; 15 import std.traits : Unqual; 16 import godot.d.meta; 17 import godot.core; 18 import godot.c; 19 import godot.d.bind; 20 import godot.d.reference; 21 import godot.object; 22 import godot.classdb; 23 import godot.node; 24 import godot.animationnode; 25 import godot.animationrootnode; 26 /** 27 28 */ 29 @GodotBaseClass struct AnimationTree 30 { 31 enum string _GODOT_internal_name = "AnimationTree"; 32 public: 33 @nogc nothrow: 34 union { godot_object _godot_object; Node _GODOT_base; } 35 alias _GODOT_base this; 36 alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses); 37 package(godot) __gshared bool _classBindingInitialized = false; 38 package(godot) static struct _classBinding 39 { 40 __gshared: 41 @GodotName("set_active") GodotMethod!(void, bool) setActive; 42 @GodotName("is_active") GodotMethod!(bool) isActive; 43 @GodotName("set_tree_root") GodotMethod!(void, AnimationNode) setTreeRoot; 44 @GodotName("get_tree_root") GodotMethod!(AnimationNode) getTreeRoot; 45 @GodotName("set_process_mode") GodotMethod!(void, long) setProcessMode; 46 @GodotName("get_process_mode") GodotMethod!(AnimationTree.AnimationProcessMode) getProcessMode; 47 @GodotName("set_animation_player") GodotMethod!(void, NodePath) setAnimationPlayer; 48 @GodotName("get_animation_player") GodotMethod!(NodePath) getAnimationPlayer; 49 @GodotName("set_root_motion_track") GodotMethod!(void, NodePath) setRootMotionTrack; 50 @GodotName("get_root_motion_track") GodotMethod!(NodePath) getRootMotionTrack; 51 @GodotName("get_root_motion_transform") GodotMethod!(Transform) getRootMotionTransform; 52 @GodotName("_tree_changed") GodotMethod!(void) _treeChanged; 53 @GodotName("_update_properties") GodotMethod!(void) _updateProperties; 54 @GodotName("rename_parameter") GodotMethod!(void, String, String) renameParameter; 55 @GodotName("advance") GodotMethod!(void, double) advance; 56 @GodotName("_node_removed") GodotMethod!(void, GodotObject) _nodeRemoved; 57 @GodotName("_clear_caches") GodotMethod!(void) _clearCaches; 58 } 59 bool opEquals(in AnimationTree other) const { return _godot_object.ptr is other._godot_object.ptr; } 60 AnimationTree opAssign(T : typeof(null))(T n) { _godot_object.ptr = null; } 61 bool opEquals(typeof(null) n) const { return _godot_object.ptr is null; } 62 mixin baseCasts; 63 static AnimationTree _new() 64 { 65 static godot_class_constructor constructor; 66 if(constructor is null) constructor = _godot_api.godot_get_class_constructor("AnimationTree"); 67 if(constructor is null) return typeof(this).init; 68 return cast(AnimationTree)(constructor()); 69 } 70 @disable new(size_t s); 71 /// 72 enum AnimationProcessMode : int 73 { 74 /** 75 76 */ 77 animationProcessPhysics = 0, 78 /** 79 80 */ 81 animationProcessIdle = 1, 82 /** 83 84 */ 85 animationProcessManual = 2, 86 } 87 /// 88 enum Constants : int 89 { 90 animationProcessPhysics = 0, 91 animationProcessIdle = 1, 92 animationProcessManual = 2, 93 } 94 /** 95 96 */ 97 void setActive(in bool active) 98 { 99 checkClassBinding!(typeof(this))(); 100 ptrcall!(void)(_classBinding.setActive, _godot_object, active); 101 } 102 /** 103 104 */ 105 bool isActive() const 106 { 107 checkClassBinding!(typeof(this))(); 108 return ptrcall!(bool)(_classBinding.isActive, _godot_object); 109 } 110 /** 111 112 */ 113 void setTreeRoot(AnimationNode root) 114 { 115 checkClassBinding!(typeof(this))(); 116 ptrcall!(void)(_classBinding.setTreeRoot, _godot_object, root); 117 } 118 /** 119 120 */ 121 Ref!AnimationNode getTreeRoot() const 122 { 123 checkClassBinding!(typeof(this))(); 124 return ptrcall!(AnimationNode)(_classBinding.getTreeRoot, _godot_object); 125 } 126 /** 127 128 */ 129 void setProcessMode(in long mode) 130 { 131 checkClassBinding!(typeof(this))(); 132 ptrcall!(void)(_classBinding.setProcessMode, _godot_object, mode); 133 } 134 /** 135 136 */ 137 AnimationTree.AnimationProcessMode getProcessMode() const 138 { 139 checkClassBinding!(typeof(this))(); 140 return ptrcall!(AnimationTree.AnimationProcessMode)(_classBinding.getProcessMode, _godot_object); 141 } 142 /** 143 144 */ 145 void setAnimationPlayer(NodePathArg0)(in NodePathArg0 root) 146 { 147 checkClassBinding!(typeof(this))(); 148 ptrcall!(void)(_classBinding.setAnimationPlayer, _godot_object, root); 149 } 150 /** 151 152 */ 153 NodePath getAnimationPlayer() const 154 { 155 checkClassBinding!(typeof(this))(); 156 return ptrcall!(NodePath)(_classBinding.getAnimationPlayer, _godot_object); 157 } 158 /** 159 160 */ 161 void setRootMotionTrack(NodePathArg0)(in NodePathArg0 path) 162 { 163 checkClassBinding!(typeof(this))(); 164 ptrcall!(void)(_classBinding.setRootMotionTrack, _godot_object, path); 165 } 166 /** 167 168 */ 169 NodePath getRootMotionTrack() const 170 { 171 checkClassBinding!(typeof(this))(); 172 return ptrcall!(NodePath)(_classBinding.getRootMotionTrack, _godot_object); 173 } 174 /** 175 176 */ 177 Transform getRootMotionTransform() const 178 { 179 checkClassBinding!(typeof(this))(); 180 return ptrcall!(Transform)(_classBinding.getRootMotionTransform, _godot_object); 181 } 182 /** 183 184 */ 185 void _treeChanged() 186 { 187 Array _GODOT_args = Array.empty_array; 188 String _GODOT_method_name = String("_tree_changed"); 189 this.callv(_GODOT_method_name, _GODOT_args); 190 } 191 /** 192 193 */ 194 void _updateProperties() 195 { 196 Array _GODOT_args = Array.empty_array; 197 String _GODOT_method_name = String("_update_properties"); 198 this.callv(_GODOT_method_name, _GODOT_args); 199 } 200 /** 201 202 */ 203 void renameParameter(StringArg0, StringArg1)(in StringArg0 old_name, in StringArg1 new_name) 204 { 205 checkClassBinding!(typeof(this))(); 206 ptrcall!(void)(_classBinding.renameParameter, _godot_object, old_name, new_name); 207 } 208 /** 209 210 */ 211 void advance(in double delta) 212 { 213 checkClassBinding!(typeof(this))(); 214 ptrcall!(void)(_classBinding.advance, _godot_object, delta); 215 } 216 /** 217 218 */ 219 void _nodeRemoved(GodotObject arg0) 220 { 221 Array _GODOT_args = Array.empty_array; 222 _GODOT_args.append(arg0); 223 String _GODOT_method_name = String("_node_removed"); 224 this.callv(_GODOT_method_name, _GODOT_args); 225 } 226 /** 227 228 */ 229 void _clearCaches() 230 { 231 Array _GODOT_args = Array.empty_array; 232 String _GODOT_method_name = String("_clear_caches"); 233 this.callv(_GODOT_method_name, _GODOT_args); 234 } 235 /** 236 237 */ 238 @property AnimationNode treeRoot() 239 { 240 return getTreeRoot(); 241 } 242 /// ditto 243 @property void treeRoot(AnimationNode v) 244 { 245 setTreeRoot(v); 246 } 247 /** 248 249 */ 250 @property NodePath animPlayer() 251 { 252 return getAnimationPlayer(); 253 } 254 /// ditto 255 @property void animPlayer(NodePath v) 256 { 257 setAnimationPlayer(v); 258 } 259 /** 260 261 */ 262 @property bool active() 263 { 264 return isActive(); 265 } 266 /// ditto 267 @property void active(bool v) 268 { 269 setActive(v); 270 } 271 /** 272 273 */ 274 @property AnimationTree.AnimationProcessMode processMode() 275 { 276 return getProcessMode(); 277 } 278 /// ditto 279 @property void processMode(long v) 280 { 281 setProcessMode(v); 282 } 283 /** 284 285 */ 286 @property NodePath rootMotionTrack() 287 { 288 return getRootMotionTrack(); 289 } 290 /// ditto 291 @property void rootMotionTrack(NodePath v) 292 { 293 setRootMotionTrack(v); 294 } 295 }