1 /** 2 A generic animation transition node for $(D AnimationTree). 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.animationnodetransition; 14 import std.meta : AliasSeq, staticIndexOf; 15 import std.traits : Unqual; 16 import godot.d.traits; 17 import godot.core; 18 import godot.c; 19 import godot.d.bind; 20 import godot.d.reference; 21 import godot.globalenums; 22 import godot.object; 23 import godot.classdb; 24 import godot.animationnode; 25 import godot.resource; 26 /** 27 A generic animation transition node for $(D AnimationTree). 28 29 Simple state machine for cases which don't require a more advanced $(D AnimationNodeStateMachine). Animations can be connected to the inputs and transition times can be specified. 30 */ 31 @GodotBaseClass struct AnimationNodeTransition 32 { 33 package(godot) enum string _GODOT_internal_name = "AnimationNodeTransition"; 34 public: 35 @nogc nothrow: 36 union { /** */ godot_object _godot_object; /** */ AnimationNode _GODOT_base; } 37 alias _GODOT_base this; 38 alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses); 39 package(godot) __gshared bool _classBindingInitialized = false; 40 package(godot) static struct GDNativeClassBinding 41 { 42 __gshared: 43 @GodotName("get_cross_fade_time") GodotMethod!(double) getCrossFadeTime; 44 @GodotName("get_enabled_inputs") GodotMethod!(long) getEnabledInputs; 45 @GodotName("get_input_caption") GodotMethod!(String, long) getInputCaption; 46 @GodotName("is_input_set_as_auto_advance") GodotMethod!(bool, long) isInputSetAsAutoAdvance; 47 @GodotName("set_cross_fade_time") GodotMethod!(void, double) setCrossFadeTime; 48 @GodotName("set_enabled_inputs") GodotMethod!(void, long) setEnabledInputs; 49 @GodotName("set_input_as_auto_advance") GodotMethod!(void, long, bool) setInputAsAutoAdvance; 50 @GodotName("set_input_caption") GodotMethod!(void, long, String) setInputCaption; 51 } 52 /// 53 pragma(inline, true) bool opEquals(in AnimationNodeTransition other) const 54 { return _godot_object.ptr is other._godot_object.ptr; } 55 /// 56 pragma(inline, true) typeof(null) opAssign(typeof(null) n) 57 { _godot_object.ptr = n; return null; } 58 /// 59 pragma(inline, true) bool opEquals(typeof(null) n) const 60 { return _godot_object.ptr is n; } 61 /// 62 size_t toHash() const @trusted { return cast(size_t)_godot_object.ptr; } 63 mixin baseCasts; 64 /// Construct a new instance of AnimationNodeTransition. 65 /// Note: use `memnew!AnimationNodeTransition` instead. 66 static AnimationNodeTransition _new() 67 { 68 static godot_class_constructor constructor; 69 if(constructor is null) constructor = _godot_api.godot_get_class_constructor("AnimationNodeTransition"); 70 if(constructor is null) return typeof(this).init; 71 return cast(AnimationNodeTransition)(constructor()); 72 } 73 @disable new(size_t s); 74 /** 75 76 */ 77 double getCrossFadeTime() const 78 { 79 checkClassBinding!(typeof(this))(); 80 return ptrcall!(double)(GDNativeClassBinding.getCrossFadeTime, _godot_object); 81 } 82 /** 83 84 */ 85 long getEnabledInputs() 86 { 87 checkClassBinding!(typeof(this))(); 88 return ptrcall!(long)(GDNativeClassBinding.getEnabledInputs, _godot_object); 89 } 90 /** 91 92 */ 93 String getInputCaption(in long input) const 94 { 95 checkClassBinding!(typeof(this))(); 96 return ptrcall!(String)(GDNativeClassBinding.getInputCaption, _godot_object, input); 97 } 98 /** 99 100 */ 101 bool isInputSetAsAutoAdvance(in long input) const 102 { 103 checkClassBinding!(typeof(this))(); 104 return ptrcall!(bool)(GDNativeClassBinding.isInputSetAsAutoAdvance, _godot_object, input); 105 } 106 /** 107 108 */ 109 void setCrossFadeTime(in double time) 110 { 111 checkClassBinding!(typeof(this))(); 112 ptrcall!(void)(GDNativeClassBinding.setCrossFadeTime, _godot_object, time); 113 } 114 /** 115 116 */ 117 void setEnabledInputs(in long amount) 118 { 119 checkClassBinding!(typeof(this))(); 120 ptrcall!(void)(GDNativeClassBinding.setEnabledInputs, _godot_object, amount); 121 } 122 /** 123 124 */ 125 void setInputAsAutoAdvance(in long input, in bool enable) 126 { 127 checkClassBinding!(typeof(this))(); 128 ptrcall!(void)(GDNativeClassBinding.setInputAsAutoAdvance, _godot_object, input, enable); 129 } 130 /** 131 132 */ 133 void setInputCaption(in long input, in String caption) 134 { 135 checkClassBinding!(typeof(this))(); 136 ptrcall!(void)(GDNativeClassBinding.setInputCaption, _godot_object, input, caption); 137 } 138 /** 139 140 */ 141 @property bool input0AutoAdvance() 142 { 143 return isInputSetAsAutoAdvance(0); 144 } 145 /// ditto 146 @property void input0AutoAdvance(bool v) 147 { 148 setInputAsAutoAdvance(0, v); 149 } 150 /** 151 152 */ 153 @property String input0Name() 154 { 155 return getInputCaption(0); 156 } 157 /// ditto 158 @property void input0Name(String v) 159 { 160 setInputCaption(0, v); 161 } 162 /** 163 164 */ 165 @property bool input1AutoAdvance() 166 { 167 return isInputSetAsAutoAdvance(1); 168 } 169 /// ditto 170 @property void input1AutoAdvance(bool v) 171 { 172 setInputAsAutoAdvance(1, v); 173 } 174 /** 175 176 */ 177 @property String input1Name() 178 { 179 return getInputCaption(1); 180 } 181 /// ditto 182 @property void input1Name(String v) 183 { 184 setInputCaption(1, v); 185 } 186 /** 187 188 */ 189 @property bool input10AutoAdvance() 190 { 191 return isInputSetAsAutoAdvance(10); 192 } 193 /// ditto 194 @property void input10AutoAdvance(bool v) 195 { 196 setInputAsAutoAdvance(10, v); 197 } 198 /** 199 200 */ 201 @property String input10Name() 202 { 203 return getInputCaption(10); 204 } 205 /// ditto 206 @property void input10Name(String v) 207 { 208 setInputCaption(10, v); 209 } 210 /** 211 212 */ 213 @property bool input11AutoAdvance() 214 { 215 return isInputSetAsAutoAdvance(11); 216 } 217 /// ditto 218 @property void input11AutoAdvance(bool v) 219 { 220 setInputAsAutoAdvance(11, v); 221 } 222 /** 223 224 */ 225 @property String input11Name() 226 { 227 return getInputCaption(11); 228 } 229 /// ditto 230 @property void input11Name(String v) 231 { 232 setInputCaption(11, v); 233 } 234 /** 235 236 */ 237 @property bool input12AutoAdvance() 238 { 239 return isInputSetAsAutoAdvance(12); 240 } 241 /// ditto 242 @property void input12AutoAdvance(bool v) 243 { 244 setInputAsAutoAdvance(12, v); 245 } 246 /** 247 248 */ 249 @property String input12Name() 250 { 251 return getInputCaption(12); 252 } 253 /// ditto 254 @property void input12Name(String v) 255 { 256 setInputCaption(12, v); 257 } 258 /** 259 260 */ 261 @property bool input13AutoAdvance() 262 { 263 return isInputSetAsAutoAdvance(13); 264 } 265 /// ditto 266 @property void input13AutoAdvance(bool v) 267 { 268 setInputAsAutoAdvance(13, v); 269 } 270 /** 271 272 */ 273 @property String input13Name() 274 { 275 return getInputCaption(13); 276 } 277 /// ditto 278 @property void input13Name(String v) 279 { 280 setInputCaption(13, v); 281 } 282 /** 283 284 */ 285 @property bool input14AutoAdvance() 286 { 287 return isInputSetAsAutoAdvance(14); 288 } 289 /// ditto 290 @property void input14AutoAdvance(bool v) 291 { 292 setInputAsAutoAdvance(14, v); 293 } 294 /** 295 296 */ 297 @property String input14Name() 298 { 299 return getInputCaption(14); 300 } 301 /// ditto 302 @property void input14Name(String v) 303 { 304 setInputCaption(14, v); 305 } 306 /** 307 308 */ 309 @property bool input15AutoAdvance() 310 { 311 return isInputSetAsAutoAdvance(15); 312 } 313 /// ditto 314 @property void input15AutoAdvance(bool v) 315 { 316 setInputAsAutoAdvance(15, v); 317 } 318 /** 319 320 */ 321 @property String input15Name() 322 { 323 return getInputCaption(15); 324 } 325 /// ditto 326 @property void input15Name(String v) 327 { 328 setInputCaption(15, v); 329 } 330 /** 331 332 */ 333 @property bool input16AutoAdvance() 334 { 335 return isInputSetAsAutoAdvance(16); 336 } 337 /// ditto 338 @property void input16AutoAdvance(bool v) 339 { 340 setInputAsAutoAdvance(16, v); 341 } 342 /** 343 344 */ 345 @property String input16Name() 346 { 347 return getInputCaption(16); 348 } 349 /// ditto 350 @property void input16Name(String v) 351 { 352 setInputCaption(16, v); 353 } 354 /** 355 356 */ 357 @property bool input17AutoAdvance() 358 { 359 return isInputSetAsAutoAdvance(17); 360 } 361 /// ditto 362 @property void input17AutoAdvance(bool v) 363 { 364 setInputAsAutoAdvance(17, v); 365 } 366 /** 367 368 */ 369 @property String input17Name() 370 { 371 return getInputCaption(17); 372 } 373 /// ditto 374 @property void input17Name(String v) 375 { 376 setInputCaption(17, v); 377 } 378 /** 379 380 */ 381 @property bool input18AutoAdvance() 382 { 383 return isInputSetAsAutoAdvance(18); 384 } 385 /// ditto 386 @property void input18AutoAdvance(bool v) 387 { 388 setInputAsAutoAdvance(18, v); 389 } 390 /** 391 392 */ 393 @property String input18Name() 394 { 395 return getInputCaption(18); 396 } 397 /// ditto 398 @property void input18Name(String v) 399 { 400 setInputCaption(18, v); 401 } 402 /** 403 404 */ 405 @property bool input19AutoAdvance() 406 { 407 return isInputSetAsAutoAdvance(19); 408 } 409 /// ditto 410 @property void input19AutoAdvance(bool v) 411 { 412 setInputAsAutoAdvance(19, v); 413 } 414 /** 415 416 */ 417 @property String input19Name() 418 { 419 return getInputCaption(19); 420 } 421 /// ditto 422 @property void input19Name(String v) 423 { 424 setInputCaption(19, v); 425 } 426 /** 427 428 */ 429 @property bool input2AutoAdvance() 430 { 431 return isInputSetAsAutoAdvance(2); 432 } 433 /// ditto 434 @property void input2AutoAdvance(bool v) 435 { 436 setInputAsAutoAdvance(2, v); 437 } 438 /** 439 440 */ 441 @property String input2Name() 442 { 443 return getInputCaption(2); 444 } 445 /// ditto 446 @property void input2Name(String v) 447 { 448 setInputCaption(2, v); 449 } 450 /** 451 452 */ 453 @property bool input20AutoAdvance() 454 { 455 return isInputSetAsAutoAdvance(20); 456 } 457 /// ditto 458 @property void input20AutoAdvance(bool v) 459 { 460 setInputAsAutoAdvance(20, v); 461 } 462 /** 463 464 */ 465 @property String input20Name() 466 { 467 return getInputCaption(20); 468 } 469 /// ditto 470 @property void input20Name(String v) 471 { 472 setInputCaption(20, v); 473 } 474 /** 475 476 */ 477 @property bool input21AutoAdvance() 478 { 479 return isInputSetAsAutoAdvance(21); 480 } 481 /// ditto 482 @property void input21AutoAdvance(bool v) 483 { 484 setInputAsAutoAdvance(21, v); 485 } 486 /** 487 488 */ 489 @property String input21Name() 490 { 491 return getInputCaption(21); 492 } 493 /// ditto 494 @property void input21Name(String v) 495 { 496 setInputCaption(21, v); 497 } 498 /** 499 500 */ 501 @property bool input22AutoAdvance() 502 { 503 return isInputSetAsAutoAdvance(22); 504 } 505 /// ditto 506 @property void input22AutoAdvance(bool v) 507 { 508 setInputAsAutoAdvance(22, v); 509 } 510 /** 511 512 */ 513 @property String input22Name() 514 { 515 return getInputCaption(22); 516 } 517 /// ditto 518 @property void input22Name(String v) 519 { 520 setInputCaption(22, v); 521 } 522 /** 523 524 */ 525 @property bool input23AutoAdvance() 526 { 527 return isInputSetAsAutoAdvance(23); 528 } 529 /// ditto 530 @property void input23AutoAdvance(bool v) 531 { 532 setInputAsAutoAdvance(23, v); 533 } 534 /** 535 536 */ 537 @property String input23Name() 538 { 539 return getInputCaption(23); 540 } 541 /// ditto 542 @property void input23Name(String v) 543 { 544 setInputCaption(23, v); 545 } 546 /** 547 548 */ 549 @property bool input24AutoAdvance() 550 { 551 return isInputSetAsAutoAdvance(24); 552 } 553 /// ditto 554 @property void input24AutoAdvance(bool v) 555 { 556 setInputAsAutoAdvance(24, v); 557 } 558 /** 559 560 */ 561 @property String input24Name() 562 { 563 return getInputCaption(24); 564 } 565 /// ditto 566 @property void input24Name(String v) 567 { 568 setInputCaption(24, v); 569 } 570 /** 571 572 */ 573 @property bool input25AutoAdvance() 574 { 575 return isInputSetAsAutoAdvance(25); 576 } 577 /// ditto 578 @property void input25AutoAdvance(bool v) 579 { 580 setInputAsAutoAdvance(25, v); 581 } 582 /** 583 584 */ 585 @property String input25Name() 586 { 587 return getInputCaption(25); 588 } 589 /// ditto 590 @property void input25Name(String v) 591 { 592 setInputCaption(25, v); 593 } 594 /** 595 596 */ 597 @property bool input26AutoAdvance() 598 { 599 return isInputSetAsAutoAdvance(26); 600 } 601 /// ditto 602 @property void input26AutoAdvance(bool v) 603 { 604 setInputAsAutoAdvance(26, v); 605 } 606 /** 607 608 */ 609 @property String input26Name() 610 { 611 return getInputCaption(26); 612 } 613 /// ditto 614 @property void input26Name(String v) 615 { 616 setInputCaption(26, v); 617 } 618 /** 619 620 */ 621 @property bool input27AutoAdvance() 622 { 623 return isInputSetAsAutoAdvance(27); 624 } 625 /// ditto 626 @property void input27AutoAdvance(bool v) 627 { 628 setInputAsAutoAdvance(27, v); 629 } 630 /** 631 632 */ 633 @property String input27Name() 634 { 635 return getInputCaption(27); 636 } 637 /// ditto 638 @property void input27Name(String v) 639 { 640 setInputCaption(27, v); 641 } 642 /** 643 644 */ 645 @property bool input28AutoAdvance() 646 { 647 return isInputSetAsAutoAdvance(28); 648 } 649 /// ditto 650 @property void input28AutoAdvance(bool v) 651 { 652 setInputAsAutoAdvance(28, v); 653 } 654 /** 655 656 */ 657 @property String input28Name() 658 { 659 return getInputCaption(28); 660 } 661 /// ditto 662 @property void input28Name(String v) 663 { 664 setInputCaption(28, v); 665 } 666 /** 667 668 */ 669 @property bool input29AutoAdvance() 670 { 671 return isInputSetAsAutoAdvance(29); 672 } 673 /// ditto 674 @property void input29AutoAdvance(bool v) 675 { 676 setInputAsAutoAdvance(29, v); 677 } 678 /** 679 680 */ 681 @property String input29Name() 682 { 683 return getInputCaption(29); 684 } 685 /// ditto 686 @property void input29Name(String v) 687 { 688 setInputCaption(29, v); 689 } 690 /** 691 692 */ 693 @property bool input3AutoAdvance() 694 { 695 return isInputSetAsAutoAdvance(3); 696 } 697 /// ditto 698 @property void input3AutoAdvance(bool v) 699 { 700 setInputAsAutoAdvance(3, v); 701 } 702 /** 703 704 */ 705 @property String input3Name() 706 { 707 return getInputCaption(3); 708 } 709 /// ditto 710 @property void input3Name(String v) 711 { 712 setInputCaption(3, v); 713 } 714 /** 715 716 */ 717 @property bool input30AutoAdvance() 718 { 719 return isInputSetAsAutoAdvance(30); 720 } 721 /// ditto 722 @property void input30AutoAdvance(bool v) 723 { 724 setInputAsAutoAdvance(30, v); 725 } 726 /** 727 728 */ 729 @property String input30Name() 730 { 731 return getInputCaption(30); 732 } 733 /// ditto 734 @property void input30Name(String v) 735 { 736 setInputCaption(30, v); 737 } 738 /** 739 740 */ 741 @property bool input31AutoAdvance() 742 { 743 return isInputSetAsAutoAdvance(31); 744 } 745 /// ditto 746 @property void input31AutoAdvance(bool v) 747 { 748 setInputAsAutoAdvance(31, v); 749 } 750 /** 751 752 */ 753 @property String input31Name() 754 { 755 return getInputCaption(31); 756 } 757 /// ditto 758 @property void input31Name(String v) 759 { 760 setInputCaption(31, v); 761 } 762 /** 763 764 */ 765 @property bool input4AutoAdvance() 766 { 767 return isInputSetAsAutoAdvance(4); 768 } 769 /// ditto 770 @property void input4AutoAdvance(bool v) 771 { 772 setInputAsAutoAdvance(4, v); 773 } 774 /** 775 776 */ 777 @property String input4Name() 778 { 779 return getInputCaption(4); 780 } 781 /// ditto 782 @property void input4Name(String v) 783 { 784 setInputCaption(4, v); 785 } 786 /** 787 788 */ 789 @property bool input5AutoAdvance() 790 { 791 return isInputSetAsAutoAdvance(5); 792 } 793 /// ditto 794 @property void input5AutoAdvance(bool v) 795 { 796 setInputAsAutoAdvance(5, v); 797 } 798 /** 799 800 */ 801 @property String input5Name() 802 { 803 return getInputCaption(5); 804 } 805 /// ditto 806 @property void input5Name(String v) 807 { 808 setInputCaption(5, v); 809 } 810 /** 811 812 */ 813 @property bool input6AutoAdvance() 814 { 815 return isInputSetAsAutoAdvance(6); 816 } 817 /// ditto 818 @property void input6AutoAdvance(bool v) 819 { 820 setInputAsAutoAdvance(6, v); 821 } 822 /** 823 824 */ 825 @property String input6Name() 826 { 827 return getInputCaption(6); 828 } 829 /// ditto 830 @property void input6Name(String v) 831 { 832 setInputCaption(6, v); 833 } 834 /** 835 836 */ 837 @property bool input7AutoAdvance() 838 { 839 return isInputSetAsAutoAdvance(7); 840 } 841 /// ditto 842 @property void input7AutoAdvance(bool v) 843 { 844 setInputAsAutoAdvance(7, v); 845 } 846 /** 847 848 */ 849 @property String input7Name() 850 { 851 return getInputCaption(7); 852 } 853 /// ditto 854 @property void input7Name(String v) 855 { 856 setInputCaption(7, v); 857 } 858 /** 859 860 */ 861 @property bool input8AutoAdvance() 862 { 863 return isInputSetAsAutoAdvance(8); 864 } 865 /// ditto 866 @property void input8AutoAdvance(bool v) 867 { 868 setInputAsAutoAdvance(8, v); 869 } 870 /** 871 872 */ 873 @property String input8Name() 874 { 875 return getInputCaption(8); 876 } 877 /// ditto 878 @property void input8Name(String v) 879 { 880 setInputCaption(8, v); 881 } 882 /** 883 884 */ 885 @property bool input9AutoAdvance() 886 { 887 return isInputSetAsAutoAdvance(9); 888 } 889 /// ditto 890 @property void input9AutoAdvance(bool v) 891 { 892 setInputAsAutoAdvance(9, v); 893 } 894 /** 895 896 */ 897 @property String input9Name() 898 { 899 return getInputCaption(9); 900 } 901 /// ditto 902 @property void input9Name(String v) 903 { 904 setInputCaption(9, v); 905 } 906 /** 907 The number of available input ports for this node. 908 */ 909 @property long inputCount() 910 { 911 return getEnabledInputs(); 912 } 913 /// ditto 914 @property void inputCount(long v) 915 { 916 setEnabledInputs(v); 917 } 918 /** 919 Cross-fading time (in seconds) between each animation connected to the inputs. 920 */ 921 @property double xfadeTime() 922 { 923 return getCrossFadeTime(); 924 } 925 /// ditto 926 @property void xfadeTime(double v) 927 { 928 setCrossFadeTime(v); 929 } 930 }