1 // Script API header intended to be 'force included' in IDE for AngelScript content assist / code completion 2 3 #define int8 signed char 4 #define int16 signed short 5 #define int64 long 6 #define uint8 unsigned char 7 #define uint16 unsigned short 8 #define uint64 unsigned long 9 #define null 0 10 #define in 11 #define out 12 #define inout 13 #define is == 14 #define interface struct 15 #define class struct 16 #define cast reinterpret_cast 17 #define mixin 18 #define funcdef 19 20 // Classes 21 22 class Animatable 23 { 24 public: 25 // Methods: 26 void ApplyAttributes(); 27 Variant GetAttribute(const String&) const; 28 ValueAnimation GetAttributeAnimation(const String&) const; 29 float GetAttributeAnimationSpeed(const String&) const; 30 float GetAttributeAnimationTime(const String&) const; 31 WrapMode GetAttributeAnimationWrapMode(const String&) const; 32 Variant GetAttributeDefault(const String&) const; 33 bool GetInterceptNetworkUpdate(const String&) const; 34 bool HasSubscribedToEvent(Object, const String&); 35 bool HasSubscribedToEvent(const String&); 36 bool Load(File, bool = false); 37 bool Load(VectorBuffer&, bool = false); 38 bool LoadJSON(const JSONValue&, bool = false); 39 bool LoadXML(const XMLElement&, bool = false); 40 void MarkNetworkUpdate() const; 41 void RemoveAttributeAnimation(const String&); 42 void RemoveInstanceDefault(); 43 void RemoveObjectAnimation(); 44 void ResetToDefault(); 45 bool Save(File) const; 46 bool Save(VectorBuffer&) const; 47 bool SaveJSON(JSONValue&) const; 48 bool SaveXML(XMLElement&) const; 49 void SendEvent(const String&, VariantMap& = VariantMap ( )); 50 void SetAnimationTime(float); 51 bool SetAttribute(const String&, const Variant&); 52 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 53 void SetAttributeAnimationSpeed(const String&, float); 54 void SetAttributeAnimationTime(const String&, float); 55 void SetAttributeAnimationWrapMode(const String&, WrapMode); 56 void SetInterceptNetworkUpdate(const String&, bool); 57 58 // Properties: 59 bool animationEnabled; 60 /* readonly */ 61 Array<Variant> attributeDefaults; 62 /* readonly */ 63 Array<AttributeInfo> attributeInfos; 64 Array<Variant> attributes; 65 /* readonly */ 66 String category; 67 /* readonly */ 68 uint numAttributes; 69 ObjectAnimation objectAnimation; 70 /* readonly */ 71 int refs; 72 bool temporary; 73 /* readonly */ 74 StringHash type; 75 /* readonly */ 76 String typeName; 77 /* readonly */ 78 int weakRefs; 79 }; 80 81 class AnimatedModel 82 { 83 public: 84 // Methods: 85 AnimationState AddAnimationState(Animation); 86 void ApplyAttributes(); 87 void ApplyMaterialList(const String& = String ( )); 88 void DrawDebugGeometry(DebugRenderer, bool); 89 AnimationState GetAnimationState(Animation) const; 90 AnimationState GetAnimationState(uint) const; 91 Variant GetAttribute(const String&) const; 92 ValueAnimation GetAttributeAnimation(const String&) const; 93 float GetAttributeAnimationSpeed(const String&) const; 94 float GetAttributeAnimationTime(const String&) const; 95 WrapMode GetAttributeAnimationWrapMode(const String&) const; 96 Variant GetAttributeDefault(const String&) const; 97 bool GetInterceptNetworkUpdate(const String&) const; 98 float GetMorphWeight(uint) const; 99 bool HasSubscribedToEvent(Object, const String&); 100 bool HasSubscribedToEvent(const String&); 101 bool IsInView(Camera) const; 102 bool Load(File, bool = false); 103 bool Load(VectorBuffer&, bool = false); 104 bool LoadJSON(const JSONValue&, bool = false); 105 bool LoadXML(const XMLElement&, bool = false); 106 void MarkNetworkUpdate() const; 107 void Remove(); 108 void RemoveAllAnimationStates(); 109 void RemoveAnimationState(Animation); 110 void RemoveAnimationState(AnimationState); 111 void RemoveAnimationState(const String&); 112 void RemoveAnimationState(uint); 113 void RemoveAttributeAnimation(const String&); 114 void RemoveInstanceDefault(); 115 void RemoveObjectAnimation(); 116 void ResetMorphWeights(); 117 void ResetToDefault(); 118 bool Save(File) const; 119 bool Save(VectorBuffer&) const; 120 bool SaveJSON(JSONValue&) const; 121 bool SaveXML(XMLElement&) const; 122 void SendEvent(const String&, VariantMap& = VariantMap ( )); 123 void SetAnimationTime(float); 124 bool SetAttribute(const String&, const Variant&); 125 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 126 void SetAttributeAnimationSpeed(const String&, float); 127 void SetAttributeAnimationTime(const String&, float); 128 void SetAttributeAnimationWrapMode(const String&, WrapMode); 129 void SetInterceptNetworkUpdate(const String&, bool); 130 void SetMorphWeight(uint, float); 131 void UpdateBoneBoundingBox(); 132 133 // Properties: 134 bool animationEnabled; 135 float animationLodBias; 136 /* readonly */ 137 Array<AnimationState> animationStates; 138 /* readonly */ 139 Array<Variant> attributeDefaults; 140 /* readonly */ 141 Array<AttributeInfo> attributeInfos; 142 Array<Variant> attributes; 143 /* readonly */ 144 BoundingBox boundingBox; 145 bool castShadows; 146 /* readonly */ 147 String category; 148 float drawDistance; 149 bool enabled; 150 /* readonly */ 151 bool enabledEffective; 152 /* readonly */ 153 uint id; 154 /* readonly */ 155 bool inView; 156 uint lightMask; 157 float lodBias; 158 /* writeonly */ 159 Material material; 160 Array<Material> materials; 161 uint maxLights; 162 Model model; 163 /* readonly */ 164 Array<String> morphNames; 165 Array<float> morphWeights; 166 /* readonly */ 167 Node node; 168 /* readonly */ 169 uint numAnimationStates; 170 /* readonly */ 171 uint numAttributes; 172 /* readonly */ 173 uint numGeometries; 174 /* readonly */ 175 uint numMorphs; 176 ObjectAnimation objectAnimation; 177 bool occludee; 178 bool occluder; 179 /* readonly */ 180 int refs; 181 float shadowDistance; 182 uint shadowMask; 183 /* readonly */ 184 Skeleton skeleton; 185 bool temporary; 186 /* readonly */ 187 StringHash type; 188 /* readonly */ 189 String typeName; 190 bool updateInvisible; 191 uint viewMask; 192 /* readonly */ 193 int weakRefs; 194 /* readonly */ 195 BoundingBox worldBoundingBox; 196 /* readonly */ 197 Zone zone; 198 uint zoneMask; 199 }; 200 201 class AnimatedSprite2D 202 { 203 public: 204 // Methods: 205 void ApplyAttributes(); 206 void DrawDebugGeometry(DebugRenderer, bool); 207 Variant GetAttribute(const String&) const; 208 ValueAnimation GetAttributeAnimation(const String&) const; 209 float GetAttributeAnimationSpeed(const String&) const; 210 float GetAttributeAnimationTime(const String&) const; 211 WrapMode GetAttributeAnimationWrapMode(const String&) const; 212 Variant GetAttributeDefault(const String&) const; 213 bool GetInterceptNetworkUpdate(const String&) const; 214 bool HasSubscribedToEvent(Object, const String&); 215 bool HasSubscribedToEvent(const String&); 216 bool IsInView(Camera) const; 217 bool Load(File, bool = false); 218 bool Load(VectorBuffer&, bool = false); 219 bool LoadJSON(const JSONValue&, bool = false); 220 bool LoadXML(const XMLElement&, bool = false); 221 void MarkNetworkUpdate() const; 222 void Remove(); 223 void RemoveAttributeAnimation(const String&); 224 void RemoveInstanceDefault(); 225 void RemoveObjectAnimation(); 226 void ResetToDefault(); 227 bool Save(File) const; 228 bool Save(VectorBuffer&) const; 229 bool SaveJSON(JSONValue&) const; 230 bool SaveXML(XMLElement&) const; 231 void SendEvent(const String&, VariantMap& = VariantMap ( )); 232 void SetAnimation(const String&, LoopMode2D = LM_DEFAULT); 233 void SetAnimationTime(float); 234 bool SetAttribute(const String&, const Variant&); 235 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 236 void SetAttributeAnimationSpeed(const String&, float); 237 void SetAttributeAnimationTime(const String&, float); 238 void SetAttributeAnimationWrapMode(const String&, WrapMode); 239 void SetFlip(bool, bool); 240 void SetInterceptNetworkUpdate(const String&, bool); 241 242 // Properties: 243 float alpha; 244 String animation; 245 bool animationEnabled; 246 AnimationSet2D animationSet; 247 /* readonly */ 248 Array<Variant> attributeDefaults; 249 /* readonly */ 250 Array<AttributeInfo> attributeInfos; 251 Array<Variant> attributes; 252 BlendMode blendMode; 253 /* readonly */ 254 BoundingBox boundingBox; 255 bool castShadows; 256 /* readonly */ 257 String category; 258 Color color; 259 Material customMaterial; 260 float drawDistance; 261 Rect drawRect; 262 bool enabled; 263 /* readonly */ 264 bool enabledEffective; 265 String entity; 266 bool flipX; 267 bool flipY; 268 Vector2 hotSpot; 269 /* readonly */ 270 uint id; 271 /* readonly */ 272 bool inView; 273 int layer; 274 uint lightMask; 275 float lodBias; 276 LoopMode2D loopMode; 277 uint maxLights; 278 /* readonly */ 279 Node node; 280 /* readonly */ 281 uint numAttributes; 282 ObjectAnimation objectAnimation; 283 bool occludee; 284 bool occluder; 285 int orderInLayer; 286 /* readonly */ 287 int refs; 288 float shadowDistance; 289 uint shadowMask; 290 float speed; 291 Sprite2D sprite; 292 bool temporary; 293 Rect textureRect; 294 /* readonly */ 295 StringHash type; 296 /* readonly */ 297 String typeName; 298 bool useDrawRect; 299 bool useHotSpot; 300 bool useTextureRect; 301 uint viewMask; 302 /* readonly */ 303 int weakRefs; 304 /* readonly */ 305 BoundingBox worldBoundingBox; 306 uint zoneMask; 307 }; 308 309 class Animation 310 { 311 public: 312 Animation(); 313 Animation(const String&in); 314 // Methods: 315 void AddMetadata(const String&, const Variant&); 316 void AddTrigger(const AnimationTriggerPoint&); 317 void AddTrigger(float, bool, const Variant&); 318 Animation Clone(const String& = String ( )) const; 319 AnimationTrack CreateTrack(const String&); 320 AnimationTrack GetTrack(uint); 321 bool HasSubscribedToEvent(Object, const String&); 322 bool HasSubscribedToEvent(const String&); 323 bool Load(File); 324 bool Load(VectorBuffer&); 325 bool Load(const String&); 326 void RemoveAllMetadata(); 327 bool RemoveAllTracks(); 328 void RemoveAllTriggers(); 329 void RemoveMetadata(const String&); 330 bool RemoveTrack(const String&); 331 void RemoveTrigger(uint); 332 bool Save(File) const; 333 bool Save(VectorBuffer&) const; 334 bool Save(const String&) const; 335 void SendEvent(const String&, VariantMap& = VariantMap ( )); 336 337 // Properties: 338 String animationName; 339 /* readonly */ 340 String category; 341 /* readonly */ 342 bool hasMetadata; 343 float length; 344 /* readonly */ 345 uint memoryUse; 346 Array<Variant> metadata; 347 String name; 348 /* readonly */ 349 uint numTracks; 350 uint numTriggers; 351 /* readonly */ 352 int refs; 353 /* readonly */ 354 Array<AnimationTrack> tracks; 355 Array<AnimationTriggerPoint> triggers; 356 /* readonly */ 357 StringHash type; 358 /* readonly */ 359 String typeName; 360 /* readonly */ 361 uint useTimer; 362 /* readonly */ 363 int weakRefs; 364 }; 365 366 class AnimationControl 367 { 368 public: 369 370 // Properties: 371 float autoFadeTime; 372 float fadeTime; 373 StringHash hash; 374 String name; 375 bool removeOnCompletion; 376 float speed; 377 float targetWeight; 378 }; 379 380 class AnimationController 381 { 382 public: 383 // Methods: 384 void ApplyAttributes(); 385 void DrawDebugGeometry(DebugRenderer, bool); 386 bool Fade(const String&, float, float); 387 bool FadeOthers(const String&, float, float); 388 AnimationState GetAnimationState(StringHash) const; 389 AnimationState GetAnimationState(const String&) const; 390 Variant GetAttribute(const String&) const; 391 ValueAnimation GetAttributeAnimation(const String&) const; 392 float GetAttributeAnimationSpeed(const String&) const; 393 float GetAttributeAnimationTime(const String&) const; 394 WrapMode GetAttributeAnimationWrapMode(const String&) const; 395 Variant GetAttributeDefault(const String&) const; 396 float GetAutoFade(const String&) const; 397 AnimationBlendMode GetBlendMode(const String&) const; 398 float GetFadeTarget(const String&) const; 399 float GetFadeTime(const String&) const; 400 bool GetInterceptNetworkUpdate(const String&) const; 401 uint8 GetLayer(const String&) const; 402 float GetLength(const String&) const; 403 bool GetLooped(const String&) const; 404 bool GetRemoveOnCompletion(const String&); 405 float GetSpeed(const String&) const; 406 float GetTime(const String&) const; 407 float GetWeight(const String&) const; 408 bool HasSubscribedToEvent(Object, const String&); 409 bool HasSubscribedToEvent(const String&); 410 bool IsAtEnd(const String&) const; 411 bool IsFadingIn(const String&) const; 412 bool IsFadingOut(const String&) const; 413 bool IsPlaying(const String&) const; 414 bool IsPlaying(uint8) const; 415 bool Load(File, bool = false); 416 bool Load(VectorBuffer&, bool = false); 417 bool LoadJSON(const JSONValue&, bool = false); 418 bool LoadXML(const XMLElement&, bool = false); 419 void MarkNetworkUpdate() const; 420 bool Play(const String&, uint8, bool, float = 0.0f); 421 bool PlayExclusive(const String&, uint8, bool, float = 0.0f); 422 void Remove(); 423 void RemoveAttributeAnimation(const String&); 424 void RemoveInstanceDefault(); 425 void RemoveObjectAnimation(); 426 void ResetToDefault(); 427 bool Save(File) const; 428 bool Save(VectorBuffer&) const; 429 bool SaveJSON(JSONValue&) const; 430 bool SaveXML(XMLElement&) const; 431 void SendEvent(const String&, VariantMap& = VariantMap ( )); 432 void SetAnimationTime(float); 433 bool SetAttribute(const String&, const Variant&); 434 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 435 void SetAttributeAnimationSpeed(const String&, float); 436 void SetAttributeAnimationTime(const String&, float); 437 void SetAttributeAnimationWrapMode(const String&, WrapMode); 438 bool SetAutoFade(const String&, float); 439 bool SetBlendMode(const String&, AnimationBlendMode); 440 void SetInterceptNetworkUpdate(const String&, bool); 441 bool SetLayer(const String&, uint8); 442 bool SetLooped(const String&, bool); 443 bool SetRemoveOnCompletion(const String&, bool); 444 bool SetSpeed(const String&, float); 445 bool SetStartBone(const String&, const String&); 446 bool SetTime(const String&, float); 447 bool SetWeight(const String&, float); 448 void Stop(const String&, float = 0.0f); 449 void StopAll(float = 0.0f); 450 void StopLayer(uint8, float = 0.0f); 451 const String& GetStartBone(const String&) const; 452 453 // Properties: 454 bool animationEnabled; 455 /* readonly */ 456 Array<AnimationControl> animations; 457 /* readonly */ 458 Array<Variant> attributeDefaults; 459 /* readonly */ 460 Array<AttributeInfo> attributeInfos; 461 Array<Variant> attributes; 462 /* readonly */ 463 String category; 464 bool enabled; 465 /* readonly */ 466 bool enabledEffective; 467 /* readonly */ 468 uint id; 469 /* readonly */ 470 Node node; 471 /* readonly */ 472 uint numAnimations; 473 /* readonly */ 474 uint numAttributes; 475 ObjectAnimation objectAnimation; 476 /* readonly */ 477 int refs; 478 bool temporary; 479 /* readonly */ 480 StringHash type; 481 /* readonly */ 482 String typeName; 483 /* readonly */ 484 int weakRefs; 485 }; 486 487 class AnimationKeyFrame 488 { 489 public: 490 ~AnimationKeyFrame(); 491 AnimationKeyFrame(); 492 AnimationKeyFrame(const AnimationKeyFrame&in); 493 494 // Properties: 495 Vector3 position; 496 Quaternion rotation; 497 Vector3 scale; 498 float time; 499 }; 500 501 class AnimationSet2D 502 { 503 public: 504 AnimationSet2D(); 505 AnimationSet2D(const String&in); 506 // Methods: 507 String GetAnimation(uint) const; 508 bool HasSubscribedToEvent(Object, const String&); 509 bool HasSubscribedToEvent(const String&); 510 bool Load(File); 511 bool Load(VectorBuffer&); 512 bool Load(const String&); 513 bool Save(File) const; 514 bool Save(VectorBuffer&) const; 515 bool Save(const String&) const; 516 void SendEvent(const String&, VariantMap& = VariantMap ( )); 517 518 // Properties: 519 /* readonly */ 520 String category; 521 /* readonly */ 522 uint memoryUse; 523 String name; 524 /* readonly */ 525 uint numAnimations; 526 /* readonly */ 527 int refs; 528 /* readonly */ 529 StringHash type; 530 /* readonly */ 531 String typeName; 532 /* readonly */ 533 uint useTimer; 534 /* readonly */ 535 int weakRefs; 536 }; 537 538 class AnimationState 539 { 540 public: 541 AnimationState(Node&, Animation&); 542 // Methods: 543 void AddTime(float); 544 void AddWeight(float); 545 void Apply(); 546 float GetBoneWeight(StringHash) const; 547 float GetBoneWeight(uint) const; 548 uint GetTrackIndex(StringHash) const; 549 uint GetTrackIndex(const String&) const; 550 void SetBoneWeight(StringHash, float, bool = false); 551 void SetBoneWeight(const String&, float, bool = false); 552 void SetBoneWeight(uint, float, bool = false); 553 554 // Properties: 555 /* readonly */ 556 Animation animation; 557 AnimationBlendMode blendMode; 558 Array<float> boneWeights; 559 /* readonly */ 560 bool enabled; 561 uint8 layer; 562 /* readonly */ 563 float length; 564 bool looped; 565 /* readonly */ 566 AnimatedModel model; 567 /* readonly */ 568 Node node; 569 /* readonly */ 570 int refs; 571 Bone startBone; 572 float time; 573 /* readonly */ 574 int weakRefs; 575 float weight; 576 }; 577 578 class AnimationTrack 579 { 580 public: 581 // Methods: 582 void AddKeyFrame(const AnimationKeyFrame&); 583 void InsertKeyFrame(uint, const AnimationKeyFrame&); 584 void RemoveAllKeyFrames(); 585 void RemoveKeyFrame(uint); 586 587 // Properties: 588 uint8 channelMask; 589 Array<AnimationKeyFrame> keyFrames; 590 String name; 591 StringHash nameHash; 592 /* readonly */ 593 uint numKeyFrames; 594 }; 595 596 class AnimationTriggerPoint 597 { 598 public: 599 ~AnimationTriggerPoint(); 600 AnimationTriggerPoint(); 601 AnimationTriggerPoint(const AnimationTriggerPoint&in); 602 603 // Properties: 604 Variant data; 605 float time; 606 }; 607 608 template <class T> 609 class Array 610 { 611 public: 612 Array(int&in); 613 Array(int&in, uint); 614 Array(int&in, uint, const T&in); 615 // Methods: 616 void Clear(); 617 void Erase(uint); 618 int Find(const T&) const; 619 int Find(uint, const T&) const; 620 int FindByRef(const T&) const; 621 int FindByRef(uint, const T&) const; 622 void Insert(uint, const T&); 623 void Pop(); 624 void Push(const T&); 625 void Reserve(uint); 626 void Resize(uint); 627 void Reverse(); 628 void Sort(); 629 void Sort(uint, uint); 630 void SortReverse(); 631 void SortReverse(uint, uint); 632 633 // Properties: 634 /* readonly */ 635 bool empty; 636 uint length; 637 }; 638 639 class AttributeInfo 640 { 641 public: 642 ~AttributeInfo(); 643 AttributeInfo(); 644 AttributeInfo(const AttributeInfo&in); 645 646 // Properties: 647 Variant defaultValue; 648 /* readonly */ 649 Array<String> enumNames; 650 uint mode; 651 String name; 652 VariantType type; 653 /* readonly */ 654 Array<String> variantStructureElementNames; 655 }; 656 657 class Audio 658 { 659 public: 660 // Methods: 661 bool HasMasterGain(const String&) const; 662 bool HasSubscribedToEvent(Object, const String&); 663 bool HasSubscribedToEvent(const String&); 664 bool IsSoundTypePaused(const String&); 665 void PauseSoundType(const String&); 666 bool Play(); 667 void ResumeAll(); 668 void ResumeSoundType(const String&); 669 void SendEvent(const String&, VariantMap& = VariantMap ( )); 670 void SetMode(int, int, bool, bool = true); 671 void Stop(); 672 673 // Properties: 674 /* readonly */ 675 String category; 676 /* readonly */ 677 bool initialized; 678 /* readonly */ 679 bool interpolation; 680 SoundListener listener; 681 Array<float> masterGain; 682 /* readonly */ 683 int mixRate; 684 /* readonly */ 685 bool playing; 686 /* readonly */ 687 int refs; 688 /* readonly */ 689 uint sampleSize; 690 /* readonly */ 691 bool stereo; 692 /* readonly */ 693 StringHash type; 694 /* readonly */ 695 String typeName; 696 /* readonly */ 697 int weakRefs; 698 }; 699 700 class BiasParameters 701 { 702 public: 703 BiasParameters(); 704 BiasParameters(const BiasParameters&in); 705 BiasParameters(float, float, float normalOffset = 0.0f); 706 707 // Properties: 708 float constantBias; 709 float normalOffset; 710 float slopeScaledBias; 711 }; 712 713 class Billboard 714 { 715 public: 716 717 // Properties: 718 Color color; 719 Vector3 direction; 720 bool enabled; 721 Vector3 position; 722 float rotation; 723 Vector2 size; 724 Rect uv; 725 }; 726 727 class BillboardSet 728 { 729 public: 730 // Methods: 731 void ApplyAttributes(); 732 void Commit(); 733 void DrawDebugGeometry(DebugRenderer, bool); 734 Variant GetAttribute(const String&) const; 735 ValueAnimation GetAttributeAnimation(const String&) const; 736 float GetAttributeAnimationSpeed(const String&) const; 737 float GetAttributeAnimationTime(const String&) const; 738 WrapMode GetAttributeAnimationWrapMode(const String&) const; 739 Variant GetAttributeDefault(const String&) const; 740 bool GetInterceptNetworkUpdate(const String&) const; 741 bool HasSubscribedToEvent(Object, const String&); 742 bool HasSubscribedToEvent(const String&); 743 bool IsInView(Camera) const; 744 bool Load(File, bool = false); 745 bool Load(VectorBuffer&, bool = false); 746 bool LoadJSON(const JSONValue&, bool = false); 747 bool LoadXML(const XMLElement&, bool = false); 748 void MarkNetworkUpdate() const; 749 void Remove(); 750 void RemoveAttributeAnimation(const String&); 751 void RemoveInstanceDefault(); 752 void RemoveObjectAnimation(); 753 void ResetToDefault(); 754 bool Save(File) const; 755 bool Save(VectorBuffer&) const; 756 bool SaveJSON(JSONValue&) const; 757 bool SaveXML(XMLElement&) const; 758 void SendEvent(const String&, VariantMap& = VariantMap ( )); 759 void SetAnimationTime(float); 760 bool SetAttribute(const String&, const Variant&); 761 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 762 void SetAttributeAnimationSpeed(const String&, float); 763 void SetAttributeAnimationTime(const String&, float); 764 void SetAttributeAnimationWrapMode(const String&, WrapMode); 765 void SetInterceptNetworkUpdate(const String&, bool); 766 767 // Properties: 768 bool animationEnabled; 769 float animationLodBias; 770 /* readonly */ 771 Array<Variant> attributeDefaults; 772 /* readonly */ 773 Array<AttributeInfo> attributeInfos; 774 Array<Variant> attributes; 775 /* readonly */ 776 Array<Billboard> billboards; 777 /* readonly */ 778 BoundingBox boundingBox; 779 bool castShadows; 780 /* readonly */ 781 String category; 782 float drawDistance; 783 bool enabled; 784 /* readonly */ 785 bool enabledEffective; 786 FaceCameraMode faceCameraMode; 787 bool fixedScreenSize; 788 /* readonly */ 789 uint id; 790 /* readonly */ 791 bool inView; 792 uint lightMask; 793 float lodBias; 794 Material material; 795 uint maxLights; 796 float minAngle; 797 /* readonly */ 798 Node node; 799 /* readonly */ 800 uint numAttributes; 801 uint numBillboards; 802 ObjectAnimation objectAnimation; 803 bool occludee; 804 bool occluder; 805 /* readonly */ 806 int refs; 807 bool relative; 808 bool scaled; 809 float shadowDistance; 810 uint shadowMask; 811 bool sorted; 812 bool temporary; 813 /* readonly */ 814 StringHash type; 815 /* readonly */ 816 String typeName; 817 uint viewMask; 818 /* readonly */ 819 int weakRefs; 820 /* readonly */ 821 BoundingBox worldBoundingBox; 822 /* readonly */ 823 Zone zone; 824 uint zoneMask; 825 }; 826 827 class Bone 828 { 829 public: 830 831 // Properties: 832 bool animated; 833 BoundingBox boundingBox; 834 Vector3 initialPosition; 835 Quaternion initialRotation; 836 Vector3 initialScale; 837 String name; 838 Node node; 839 float radius; 840 }; 841 842 class BorderImage 843 { 844 public: 845 BorderImage(); 846 BorderImage(const String&in); 847 // Methods: 848 void AddChild(UIElement); 849 void AddTag(const String&); 850 void AddTags(const String&, int8 = ';'); 851 void ApplyAttributes(); 852 void BringToFront(); 853 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 854 void DisableLayoutUpdate(); 855 IntVector2 ElementToScreen(const IntVector2&); 856 void EnableLayoutUpdate(); 857 uint FindChild(UIElement) const; 858 Variant GetAttribute(const String&) const; 859 ValueAnimation GetAttributeAnimation(const String&) const; 860 float GetAttributeAnimationSpeed(const String&) const; 861 float GetAttributeAnimationTime(const String&) const; 862 WrapMode GetAttributeAnimationWrapMode(const String&) const; 863 Variant GetAttributeDefault(const String&) const; 864 UIElement GetChild(const String&, bool = false) const; 865 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 866 Array<UIElement> GetChildren(bool = false) const; 867 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 868 UIElement GetElementEventSender() const; 869 bool GetInterceptNetworkUpdate(const String&) const; 870 uint GetNumChildren(bool) const; 871 bool HasSubscribedToEvent(Object, const String&); 872 bool HasSubscribedToEvent(const String&); 873 bool HasTag(const String&) const; 874 void InsertChild(uint, UIElement); 875 bool IsInside(IntVector2, bool); 876 bool IsInsideCombined(IntVector2, bool); 877 bool Load(File, bool = false); 878 bool Load(VectorBuffer&, bool = false); 879 UIElement LoadChildXML(XMLFile, XMLFile = null); 880 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 881 bool LoadJSON(const JSONValue&, bool = false); 882 bool LoadXML(File); 883 bool LoadXML(VectorBuffer&); 884 bool LoadXML(XMLFile, XMLFile); 885 bool LoadXML(const XMLElement&, XMLFile, bool = false); 886 bool LoadXML(const XMLElement&, bool = false); 887 void MarkNetworkUpdate() const; 888 void Remove(); 889 void RemoveAllChildren(); 890 void RemoveAllTags(); 891 void RemoveAttributeAnimation(const String&); 892 void RemoveChild(UIElement, uint = 0); 893 void RemoveChild(uint); 894 void RemoveInstanceDefault(); 895 void RemoveObjectAnimation(); 896 bool RemoveTag(const String&); 897 void ResetDeepEnabled(); 898 void ResetToDefault(); 899 bool Save(File) const; 900 bool Save(VectorBuffer&) const; 901 bool SaveJSON(JSONValue&) const; 902 bool SaveXML(File, const String& = "\t"); 903 bool SaveXML(VectorBuffer&, const String& = "\t"); 904 bool SaveXML(XMLElement&) const; 905 IntVector2 ScreenToElement(const IntVector2&); 906 void SendEvent(const String&, VariantMap& = VariantMap ( )); 907 void SetAlignment(HorizontalAlignment, VerticalAlignment); 908 void SetAnimationTime(float); 909 bool SetAttribute(const String&, const Variant&); 910 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 911 void SetAttributeAnimationSpeed(const String&, float); 912 void SetAttributeAnimationTime(const String&, float); 913 void SetAttributeAnimationWrapMode(const String&, WrapMode); 914 void SetDeepEnabled(bool); 915 void SetEnabledRecursive(bool); 916 void SetFixedHeight(int); 917 void SetFixedSize(int, int); 918 void SetFixedWidth(int); 919 void SetFullImageRect(); 920 void SetHoverOffset(int, int); 921 void SetInterceptNetworkUpdate(const String&, bool); 922 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 923 void SetMaxAnchor(float, float); 924 void SetMaxSize(int, int); 925 void SetMinAnchor(float, float); 926 void SetMinSize(int, int); 927 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 928 void SetPivot(float, float); 929 void SetPosition(int, int); 930 void SetSize(int, int); 931 bool SetStyle(const String&, XMLFile = null); 932 bool SetStyle(const XMLElement&); 933 bool SetStyleAuto(XMLFile = null); 934 void UpdateLayout(); 935 const Variant& GetVar(const StringHash&); 936 937 // Properties: 938 bool animationEnabled; 939 /* readonly */ 940 Array<Variant> attributeDefaults; 941 /* readonly */ 942 Array<AttributeInfo> attributeInfos; 943 Array<Variant> attributes; 944 BlendMode blendMode; 945 IntRect border; 946 bool bringToBack; 947 bool bringToFront; 948 /* readonly */ 949 String category; 950 /* readonly */ 951 IntVector2 childOffset; 952 /* readonly */ 953 Array<UIElement> children; 954 IntRect clipBorder; 955 bool clipChildren; 956 /* writeonly */ 957 Color color; 958 /* readonly */ 959 bool colorGradient; 960 Array<Color> colors; 961 /* readonly */ 962 IntRect combinedScreenRect; 963 XMLFile defaultStyle; 964 /* readonly */ 965 float derivedOpacity; 966 /* readonly */ 967 uint dragButtonCombo; 968 /* readonly */ 969 int dragButtonCount; 970 uint dragDropMode; 971 bool editable; 972 bool elementEventSender; 973 bool enableAnchor; 974 bool enabled; 975 /* readonly */ 976 bool enabledSelf; 977 /* readonly */ 978 bool fixedHeight; 979 /* readonly */ 980 bool fixedSize; 981 /* readonly */ 982 bool fixedWidth; 983 bool focus; 984 FocusMode focusMode; 985 int height; 986 HorizontalAlignment horizontalAlignment; 987 IntVector2 hoverOffset; 988 /* readonly */ 989 bool hovering; 990 IntRect imageBorder; 991 IntRect imageRect; 992 int indent; 993 int indentSpacing; 994 /* readonly */ 995 int indentWidth; 996 bool internal; 997 IntRect layoutBorder; 998 Vector2 layoutFlexScale; 999 LayoutMode layoutMode; 1000 int layoutSpacing; 1001 Vector2 maxAnchor; 1002 int maxHeight; 1003 IntVector2 maxOffset; 1004 IntVector2 maxSize; 1005 int maxWidth; 1006 Vector2 minAnchor; 1007 int minHeight; 1008 IntVector2 minOffset; 1009 IntVector2 minSize; 1010 int minWidth; 1011 String name; 1012 /* readonly */ 1013 uint numAllChildren; 1014 /* readonly */ 1015 uint numAttributes; 1016 /* readonly */ 1017 uint numChildren; 1018 ObjectAnimation objectAnimation; 1019 float opacity; 1020 UIElement parent; 1021 Vector2 pivot; 1022 IntVector2 position; 1023 int priority; 1024 /* readonly */ 1025 int refs; 1026 /* readonly */ 1027 UIElement root; 1028 /* readonly */ 1029 IntVector2 screenPosition; 1030 bool selected; 1031 IntVector2 size; 1032 bool sortChildren; 1033 String style; 1034 /* readonly */ 1035 Array<String> tags; 1036 bool temporary; 1037 Texture texture; 1038 bool tiled; 1039 TraversalMode traversalMode; 1040 /* readonly */ 1041 StringHash type; 1042 /* readonly */ 1043 String typeName; 1044 bool useDerivedOpacity; 1045 /* readonly */ 1046 VariantMap vars; 1047 VerticalAlignment verticalAlignment; 1048 bool visible; 1049 /* readonly */ 1050 bool visibleEffective; 1051 /* readonly */ 1052 int weakRefs; 1053 int width; 1054 }; 1055 1056 class BoundingBox 1057 { 1058 public: 1059 BoundingBox(); 1060 BoundingBox(const BoundingBox&in); 1061 BoundingBox(const Rect&in); 1062 BoundingBox(const Vector3&in, const Vector3&in); 1063 BoundingBox(float, float); 1064 BoundingBox(const Frustum&in); 1065 BoundingBox(const Polyhedron&in); 1066 BoundingBox(const Sphere&in); 1067 // Methods: 1068 void Clear(); 1069 void Clip(const BoundingBox&); 1070 void Define(const BoundingBox&); 1071 void Define(const Frustum&); 1072 void Define(const Polyhedron&); 1073 void Define(const Sphere&); 1074 void Define(const Vector3&); 1075 void Define(const Vector3&, const Vector3&); 1076 void Define(float, float); 1077 bool Defined() const; 1078 float DistanceToPoint(const Vector3&) const; 1079 Intersection IsInside(const BoundingBox&) const; 1080 Intersection IsInside(const Sphere&) const; 1081 Intersection IsInside(const Vector3&) const; 1082 Intersection IsInsideFast(const BoundingBox&) const; 1083 Intersection IsInsideFast(const Sphere&) const; 1084 void Merge(const BoundingBox&); 1085 void Merge(const Frustum&); 1086 void Merge(const Polyhedron&); 1087 void Merge(const Sphere&); 1088 void Merge(const Vector3&); 1089 Rect Projected(const Matrix4&) const; 1090 String ToString() const; 1091 void Transform(const Matrix3&); 1092 void Transform(const Matrix3x4&); 1093 BoundingBox Transformed(const Matrix3&) const; 1094 BoundingBox Transformed(const Matrix3x4&) const; 1095 1096 // Properties: 1097 /* readonly */ 1098 Vector3 center; 1099 /* readonly */ 1100 Vector3 halfSize; 1101 Vector3 max; 1102 Vector3 min; 1103 /* readonly */ 1104 Vector3 size; 1105 }; 1106 1107 class Button 1108 { 1109 public: 1110 Button(); 1111 Button(const String&in); 1112 // Methods: 1113 void AddChild(UIElement); 1114 void AddTag(const String&); 1115 void AddTags(const String&, int8 = ';'); 1116 void ApplyAttributes(); 1117 void BringToFront(); 1118 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 1119 void DisableLayoutUpdate(); 1120 IntVector2 ElementToScreen(const IntVector2&); 1121 void EnableLayoutUpdate(); 1122 uint FindChild(UIElement) const; 1123 Variant GetAttribute(const String&) const; 1124 ValueAnimation GetAttributeAnimation(const String&) const; 1125 float GetAttributeAnimationSpeed(const String&) const; 1126 float GetAttributeAnimationTime(const String&) const; 1127 WrapMode GetAttributeAnimationWrapMode(const String&) const; 1128 Variant GetAttributeDefault(const String&) const; 1129 UIElement GetChild(const String&, bool = false) const; 1130 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 1131 Array<UIElement> GetChildren(bool = false) const; 1132 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 1133 UIElement GetElementEventSender() const; 1134 bool GetInterceptNetworkUpdate(const String&) const; 1135 uint GetNumChildren(bool) const; 1136 bool HasSubscribedToEvent(Object, const String&); 1137 bool HasSubscribedToEvent(const String&); 1138 bool HasTag(const String&) const; 1139 void InsertChild(uint, UIElement); 1140 bool IsInside(IntVector2, bool); 1141 bool IsInsideCombined(IntVector2, bool); 1142 bool Load(File, bool = false); 1143 bool Load(VectorBuffer&, bool = false); 1144 UIElement LoadChildXML(XMLFile, XMLFile = null); 1145 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 1146 bool LoadJSON(const JSONValue&, bool = false); 1147 bool LoadXML(File); 1148 bool LoadXML(VectorBuffer&); 1149 bool LoadXML(XMLFile, XMLFile); 1150 bool LoadXML(const XMLElement&, XMLFile, bool = false); 1151 bool LoadXML(const XMLElement&, bool = false); 1152 void MarkNetworkUpdate() const; 1153 void Remove(); 1154 void RemoveAllChildren(); 1155 void RemoveAllTags(); 1156 void RemoveAttributeAnimation(const String&); 1157 void RemoveChild(UIElement, uint = 0); 1158 void RemoveChild(uint); 1159 void RemoveInstanceDefault(); 1160 void RemoveObjectAnimation(); 1161 bool RemoveTag(const String&); 1162 void ResetDeepEnabled(); 1163 void ResetToDefault(); 1164 bool Save(File) const; 1165 bool Save(VectorBuffer&) const; 1166 bool SaveJSON(JSONValue&) const; 1167 bool SaveXML(File, const String& = "\t"); 1168 bool SaveXML(VectorBuffer&, const String& = "\t"); 1169 bool SaveXML(XMLElement&) const; 1170 IntVector2 ScreenToElement(const IntVector2&); 1171 void SendEvent(const String&, VariantMap& = VariantMap ( )); 1172 void SetAlignment(HorizontalAlignment, VerticalAlignment); 1173 void SetAnimationTime(float); 1174 bool SetAttribute(const String&, const Variant&); 1175 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 1176 void SetAttributeAnimationSpeed(const String&, float); 1177 void SetAttributeAnimationTime(const String&, float); 1178 void SetAttributeAnimationWrapMode(const String&, WrapMode); 1179 void SetDeepEnabled(bool); 1180 void SetEnabledRecursive(bool); 1181 void SetFixedHeight(int); 1182 void SetFixedSize(int, int); 1183 void SetFixedWidth(int); 1184 void SetFullImageRect(); 1185 void SetHoverOffset(int, int); 1186 void SetInterceptNetworkUpdate(const String&, bool); 1187 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 1188 void SetMaxAnchor(float, float); 1189 void SetMaxSize(int, int); 1190 void SetMinAnchor(float, float); 1191 void SetMinSize(int, int); 1192 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 1193 void SetPivot(float, float); 1194 void SetPosition(int, int); 1195 void SetPressedChildOffset(int, int); 1196 void SetPressedOffset(int, int); 1197 void SetRepeat(float, float); 1198 void SetSize(int, int); 1199 bool SetStyle(const String&, XMLFile = null); 1200 bool SetStyle(const XMLElement&); 1201 bool SetStyleAuto(XMLFile = null); 1202 void UpdateLayout(); 1203 const Variant& GetVar(const StringHash&); 1204 1205 // Properties: 1206 bool animationEnabled; 1207 /* readonly */ 1208 Array<Variant> attributeDefaults; 1209 /* readonly */ 1210 Array<AttributeInfo> attributeInfos; 1211 Array<Variant> attributes; 1212 BlendMode blendMode; 1213 IntRect border; 1214 bool bringToBack; 1215 bool bringToFront; 1216 /* readonly */ 1217 String category; 1218 /* readonly */ 1219 IntVector2 childOffset; 1220 /* readonly */ 1221 Array<UIElement> children; 1222 IntRect clipBorder; 1223 bool clipChildren; 1224 /* writeonly */ 1225 Color color; 1226 /* readonly */ 1227 bool colorGradient; 1228 Array<Color> colors; 1229 /* readonly */ 1230 IntRect combinedScreenRect; 1231 XMLFile defaultStyle; 1232 /* readonly */ 1233 float derivedOpacity; 1234 /* readonly */ 1235 uint dragButtonCombo; 1236 /* readonly */ 1237 int dragButtonCount; 1238 uint dragDropMode; 1239 bool editable; 1240 bool elementEventSender; 1241 bool enableAnchor; 1242 bool enabled; 1243 /* readonly */ 1244 bool enabledSelf; 1245 /* readonly */ 1246 bool fixedHeight; 1247 /* readonly */ 1248 bool fixedSize; 1249 /* readonly */ 1250 bool fixedWidth; 1251 bool focus; 1252 FocusMode focusMode; 1253 int height; 1254 HorizontalAlignment horizontalAlignment; 1255 IntVector2 hoverOffset; 1256 /* readonly */ 1257 bool hovering; 1258 IntRect imageBorder; 1259 IntRect imageRect; 1260 int indent; 1261 int indentSpacing; 1262 /* readonly */ 1263 int indentWidth; 1264 bool internal; 1265 IntRect layoutBorder; 1266 Vector2 layoutFlexScale; 1267 LayoutMode layoutMode; 1268 int layoutSpacing; 1269 Vector2 maxAnchor; 1270 int maxHeight; 1271 IntVector2 maxOffset; 1272 IntVector2 maxSize; 1273 int maxWidth; 1274 Vector2 minAnchor; 1275 int minHeight; 1276 IntVector2 minOffset; 1277 IntVector2 minSize; 1278 int minWidth; 1279 String name; 1280 /* readonly */ 1281 uint numAllChildren; 1282 /* readonly */ 1283 uint numAttributes; 1284 /* readonly */ 1285 uint numChildren; 1286 ObjectAnimation objectAnimation; 1287 float opacity; 1288 UIElement parent; 1289 Vector2 pivot; 1290 IntVector2 position; 1291 /* readonly */ 1292 bool pressed; 1293 IntVector2 pressedChildOffset; 1294 IntVector2 pressedOffset; 1295 int priority; 1296 /* readonly */ 1297 int refs; 1298 float repeatDelay; 1299 float repeatRate; 1300 /* readonly */ 1301 UIElement root; 1302 /* readonly */ 1303 IntVector2 screenPosition; 1304 bool selected; 1305 IntVector2 size; 1306 bool sortChildren; 1307 String style; 1308 /* readonly */ 1309 Array<String> tags; 1310 bool temporary; 1311 Texture texture; 1312 bool tiled; 1313 TraversalMode traversalMode; 1314 /* readonly */ 1315 StringHash type; 1316 /* readonly */ 1317 String typeName; 1318 bool useDerivedOpacity; 1319 /* readonly */ 1320 VariantMap vars; 1321 VerticalAlignment verticalAlignment; 1322 bool visible; 1323 /* readonly */ 1324 bool visibleEffective; 1325 /* readonly */ 1326 int weakRefs; 1327 int width; 1328 }; 1329 1330 class Camera 1331 { 1332 public: 1333 // Methods: 1334 void ApplyAttributes(); 1335 void DrawDebugGeometry(DebugRenderer, bool); 1336 Variant GetAttribute(const String&) const; 1337 ValueAnimation GetAttributeAnimation(const String&) const; 1338 float GetAttributeAnimationSpeed(const String&) const; 1339 float GetAttributeAnimationTime(const String&) const; 1340 WrapMode GetAttributeAnimationWrapMode(const String&) const; 1341 Variant GetAttributeDefault(const String&) const; 1342 float GetDistance(const Vector3&) const; 1343 float GetDistanceSquared(const Vector3&) const; 1344 bool GetInterceptNetworkUpdate(const String&) const; 1345 Ray GetScreenRay(float, float) const; 1346 Frustum GetSplitFrustum(float, float) const; 1347 bool HasSubscribedToEvent(Object, const String&); 1348 bool HasSubscribedToEvent(const String&); 1349 bool Load(File, bool = false); 1350 bool Load(VectorBuffer&, bool = false); 1351 bool LoadJSON(const JSONValue&, bool = false); 1352 bool LoadXML(const XMLElement&, bool = false); 1353 void MarkNetworkUpdate() const; 1354 void Remove(); 1355 void RemoveAttributeAnimation(const String&); 1356 void RemoveInstanceDefault(); 1357 void RemoveObjectAnimation(); 1358 void ResetToDefault(); 1359 bool Save(File) const; 1360 bool Save(VectorBuffer&) const; 1361 bool SaveJSON(JSONValue&) const; 1362 bool SaveXML(XMLElement&) const; 1363 Vector3 ScreenToWorldPoint(const Vector3&) const; 1364 void SendEvent(const String&, VariantMap& = VariantMap ( )); 1365 void SetAnimationTime(float); 1366 bool SetAttribute(const String&, const Variant&); 1367 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 1368 void SetAttributeAnimationSpeed(const String&, float); 1369 void SetAttributeAnimationTime(const String&, float); 1370 void SetAttributeAnimationWrapMode(const String&, WrapMode); 1371 void SetInterceptNetworkUpdate(const String&, bool); 1372 void SetOrthoSize(const Vector2&); 1373 Vector2 WorldToScreenPoint(const Vector3&) const; 1374 1375 // Properties: 1376 bool animationEnabled; 1377 float aspectRatio; 1378 /* readonly */ 1379 Array<Variant> attributeDefaults; 1380 /* readonly */ 1381 Array<AttributeInfo> attributeInfos; 1382 Array<Variant> attributes; 1383 bool autoAspectRatio; 1384 /* readonly */ 1385 String category; 1386 Plane clipPlane; 1387 /* readonly */ 1388 Matrix3x4 effectiveWorldTransform; 1389 bool enabled; 1390 /* readonly */ 1391 bool enabledEffective; 1392 float farClip; 1393 FillMode fillMode; 1394 float fov; 1395 /* readonly */ 1396 Frustum frustum; 1397 /* readonly */ 1398 Matrix4 gpuProjection; 1399 /* readonly */ 1400 float halfViewSize; 1401 /* readonly */ 1402 uint id; 1403 float lodBias; 1404 float nearClip; 1405 /* readonly */ 1406 Node node; 1407 /* readonly */ 1408 uint numAttributes; 1409 ObjectAnimation objectAnimation; 1410 float orthoSize; 1411 bool orthographic; 1412 Matrix4 projection; 1413 Vector2 projectionOffset; 1414 Plane reflectionPlane; 1415 /* readonly */ 1416 int refs; 1417 bool temporary; 1418 /* readonly */ 1419 StringHash type; 1420 /* readonly */ 1421 String typeName; 1422 bool useClipping; 1423 bool useReflection; 1424 /* readonly */ 1425 Matrix3x4 view; 1426 uint viewMask; 1427 uint viewOverrideFlags; 1428 /* readonly */ 1429 Frustum viewSpaceFrustum; 1430 /* readonly */ 1431 int weakRefs; 1432 float zoom; 1433 }; 1434 1435 class CascadeParameters 1436 { 1437 public: 1438 CascadeParameters(); 1439 CascadeParameters(const CascadeParameters&in); 1440 CascadeParameters(float, float, float, float, float, float biasAutoAdjust = 1.0); 1441 1442 // Properties: 1443 float biasAutoAdjust; 1444 float fadeStart; 1445 float split1; 1446 float split2; 1447 float split3; 1448 float split4; 1449 }; 1450 1451 class CheckBox 1452 { 1453 public: 1454 CheckBox(); 1455 CheckBox(const String&in); 1456 // Methods: 1457 void AddChild(UIElement); 1458 void AddTag(const String&); 1459 void AddTags(const String&, int8 = ';'); 1460 void ApplyAttributes(); 1461 void BringToFront(); 1462 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 1463 void DisableLayoutUpdate(); 1464 IntVector2 ElementToScreen(const IntVector2&); 1465 void EnableLayoutUpdate(); 1466 uint FindChild(UIElement) const; 1467 Variant GetAttribute(const String&) const; 1468 ValueAnimation GetAttributeAnimation(const String&) const; 1469 float GetAttributeAnimationSpeed(const String&) const; 1470 float GetAttributeAnimationTime(const String&) const; 1471 WrapMode GetAttributeAnimationWrapMode(const String&) const; 1472 Variant GetAttributeDefault(const String&) const; 1473 UIElement GetChild(const String&, bool = false) const; 1474 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 1475 Array<UIElement> GetChildren(bool = false) const; 1476 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 1477 UIElement GetElementEventSender() const; 1478 bool GetInterceptNetworkUpdate(const String&) const; 1479 uint GetNumChildren(bool) const; 1480 bool HasSubscribedToEvent(Object, const String&); 1481 bool HasSubscribedToEvent(const String&); 1482 bool HasTag(const String&) const; 1483 void InsertChild(uint, UIElement); 1484 bool IsInside(IntVector2, bool); 1485 bool IsInsideCombined(IntVector2, bool); 1486 bool Load(File, bool = false); 1487 bool Load(VectorBuffer&, bool = false); 1488 UIElement LoadChildXML(XMLFile, XMLFile = null); 1489 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 1490 bool LoadJSON(const JSONValue&, bool = false); 1491 bool LoadXML(File); 1492 bool LoadXML(VectorBuffer&); 1493 bool LoadXML(XMLFile, XMLFile); 1494 bool LoadXML(const XMLElement&, XMLFile, bool = false); 1495 bool LoadXML(const XMLElement&, bool = false); 1496 void MarkNetworkUpdate() const; 1497 void Remove(); 1498 void RemoveAllChildren(); 1499 void RemoveAllTags(); 1500 void RemoveAttributeAnimation(const String&); 1501 void RemoveChild(UIElement, uint = 0); 1502 void RemoveChild(uint); 1503 void RemoveInstanceDefault(); 1504 void RemoveObjectAnimation(); 1505 bool RemoveTag(const String&); 1506 void ResetDeepEnabled(); 1507 void ResetToDefault(); 1508 bool Save(File) const; 1509 bool Save(VectorBuffer&) const; 1510 bool SaveJSON(JSONValue&) const; 1511 bool SaveXML(File, const String& = "\t"); 1512 bool SaveXML(VectorBuffer&, const String& = "\t"); 1513 bool SaveXML(XMLElement&) const; 1514 IntVector2 ScreenToElement(const IntVector2&); 1515 void SendEvent(const String&, VariantMap& = VariantMap ( )); 1516 void SetAlignment(HorizontalAlignment, VerticalAlignment); 1517 void SetAnimationTime(float); 1518 bool SetAttribute(const String&, const Variant&); 1519 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 1520 void SetAttributeAnimationSpeed(const String&, float); 1521 void SetAttributeAnimationTime(const String&, float); 1522 void SetAttributeAnimationWrapMode(const String&, WrapMode); 1523 void SetCheckedOffset(int, int); 1524 void SetDeepEnabled(bool); 1525 void SetEnabledRecursive(bool); 1526 void SetFixedHeight(int); 1527 void SetFixedSize(int, int); 1528 void SetFixedWidth(int); 1529 void SetFullImageRect(); 1530 void SetHoverOffset(int, int); 1531 void SetInterceptNetworkUpdate(const String&, bool); 1532 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 1533 void SetMaxAnchor(float, float); 1534 void SetMaxSize(int, int); 1535 void SetMinAnchor(float, float); 1536 void SetMinSize(int, int); 1537 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 1538 void SetPivot(float, float); 1539 void SetPosition(int, int); 1540 void SetSize(int, int); 1541 bool SetStyle(const String&, XMLFile = null); 1542 bool SetStyle(const XMLElement&); 1543 bool SetStyleAuto(XMLFile = null); 1544 void UpdateLayout(); 1545 const Variant& GetVar(const StringHash&); 1546 1547 // Properties: 1548 bool animationEnabled; 1549 /* readonly */ 1550 Array<Variant> attributeDefaults; 1551 /* readonly */ 1552 Array<AttributeInfo> attributeInfos; 1553 Array<Variant> attributes; 1554 BlendMode blendMode; 1555 IntRect border; 1556 bool bringToBack; 1557 bool bringToFront; 1558 /* readonly */ 1559 String category; 1560 bool checked; 1561 IntVector2 checkedOffset; 1562 /* readonly */ 1563 IntVector2 childOffset; 1564 /* readonly */ 1565 Array<UIElement> children; 1566 IntRect clipBorder; 1567 bool clipChildren; 1568 /* writeonly */ 1569 Color color; 1570 /* readonly */ 1571 bool colorGradient; 1572 Array<Color> colors; 1573 /* readonly */ 1574 IntRect combinedScreenRect; 1575 XMLFile defaultStyle; 1576 /* readonly */ 1577 float derivedOpacity; 1578 /* readonly */ 1579 uint dragButtonCombo; 1580 /* readonly */ 1581 int dragButtonCount; 1582 uint dragDropMode; 1583 bool editable; 1584 bool elementEventSender; 1585 bool enableAnchor; 1586 bool enabled; 1587 /* readonly */ 1588 bool enabledSelf; 1589 /* readonly */ 1590 bool fixedHeight; 1591 /* readonly */ 1592 bool fixedSize; 1593 /* readonly */ 1594 bool fixedWidth; 1595 bool focus; 1596 FocusMode focusMode; 1597 int height; 1598 HorizontalAlignment horizontalAlignment; 1599 IntVector2 hoverOffset; 1600 /* readonly */ 1601 bool hovering; 1602 IntRect imageBorder; 1603 IntRect imageRect; 1604 int indent; 1605 int indentSpacing; 1606 /* readonly */ 1607 int indentWidth; 1608 bool internal; 1609 IntRect layoutBorder; 1610 Vector2 layoutFlexScale; 1611 LayoutMode layoutMode; 1612 int layoutSpacing; 1613 Vector2 maxAnchor; 1614 int maxHeight; 1615 IntVector2 maxOffset; 1616 IntVector2 maxSize; 1617 int maxWidth; 1618 Vector2 minAnchor; 1619 int minHeight; 1620 IntVector2 minOffset; 1621 IntVector2 minSize; 1622 int minWidth; 1623 String name; 1624 /* readonly */ 1625 uint numAllChildren; 1626 /* readonly */ 1627 uint numAttributes; 1628 /* readonly */ 1629 uint numChildren; 1630 ObjectAnimation objectAnimation; 1631 float opacity; 1632 UIElement parent; 1633 Vector2 pivot; 1634 IntVector2 position; 1635 int priority; 1636 /* readonly */ 1637 int refs; 1638 /* readonly */ 1639 UIElement root; 1640 /* readonly */ 1641 IntVector2 screenPosition; 1642 bool selected; 1643 IntVector2 size; 1644 bool sortChildren; 1645 String style; 1646 /* readonly */ 1647 Array<String> tags; 1648 bool temporary; 1649 Texture texture; 1650 bool tiled; 1651 TraversalMode traversalMode; 1652 /* readonly */ 1653 StringHash type; 1654 /* readonly */ 1655 String typeName; 1656 bool useDerivedOpacity; 1657 /* readonly */ 1658 VariantMap vars; 1659 VerticalAlignment verticalAlignment; 1660 bool visible; 1661 /* readonly */ 1662 bool visibleEffective; 1663 /* readonly */ 1664 int weakRefs; 1665 int width; 1666 }; 1667 1668 class CollisionBox2D 1669 { 1670 public: 1671 // Methods: 1672 void ApplyAttributes(); 1673 void DrawDebugGeometry(DebugRenderer, bool); 1674 Variant GetAttribute(const String&) const; 1675 ValueAnimation GetAttributeAnimation(const String&) const; 1676 float GetAttributeAnimationSpeed(const String&) const; 1677 float GetAttributeAnimationTime(const String&) const; 1678 WrapMode GetAttributeAnimationWrapMode(const String&) const; 1679 Variant GetAttributeDefault(const String&) const; 1680 bool GetInterceptNetworkUpdate(const String&) const; 1681 bool HasSubscribedToEvent(Object, const String&); 1682 bool HasSubscribedToEvent(const String&); 1683 bool Load(File, bool = false); 1684 bool Load(VectorBuffer&, bool = false); 1685 bool LoadJSON(const JSONValue&, bool = false); 1686 bool LoadXML(const XMLElement&, bool = false); 1687 void MarkNetworkUpdate() const; 1688 void Remove(); 1689 void RemoveAttributeAnimation(const String&); 1690 void RemoveInstanceDefault(); 1691 void RemoveObjectAnimation(); 1692 void ResetToDefault(); 1693 bool Save(File) const; 1694 bool Save(VectorBuffer&) const; 1695 bool SaveJSON(JSONValue&) const; 1696 bool SaveXML(XMLElement&) const; 1697 void SendEvent(const String&, VariantMap& = VariantMap ( )); 1698 void SetAnimationTime(float); 1699 bool SetAttribute(const String&, const Variant&); 1700 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 1701 void SetAttributeAnimationSpeed(const String&, float); 1702 void SetAttributeAnimationTime(const String&, float); 1703 void SetAttributeAnimationWrapMode(const String&, WrapMode); 1704 void SetCenter(float, float); 1705 void SetInterceptNetworkUpdate(const String&, bool); 1706 void SetSize(float, float); 1707 1708 // Properties: 1709 float angle; 1710 bool animationEnabled; 1711 /* readonly */ 1712 Array<Variant> attributeDefaults; 1713 /* readonly */ 1714 Array<AttributeInfo> attributeInfos; 1715 Array<Variant> attributes; 1716 /* readonly */ 1717 String category; 1718 int categoryBits; 1719 Vector2 center; 1720 float density; 1721 bool enabled; 1722 /* readonly */ 1723 bool enabledEffective; 1724 float friction; 1725 int groupIndex; 1726 /* readonly */ 1727 uint id; 1728 /* readonly */ 1729 float inertia; 1730 int maskBits; 1731 /* readonly */ 1732 float mass; 1733 /* readonly */ 1734 Vector2 massCenter; 1735 /* readonly */ 1736 Node node; 1737 /* readonly */ 1738 uint numAttributes; 1739 ObjectAnimation objectAnimation; 1740 /* readonly */ 1741 int refs; 1742 float restitution; 1743 Vector2 size; 1744 bool temporary; 1745 bool trigger; 1746 /* readonly */ 1747 StringHash type; 1748 /* readonly */ 1749 String typeName; 1750 /* readonly */ 1751 int weakRefs; 1752 }; 1753 1754 class CollisionChain2D 1755 { 1756 public: 1757 // Methods: 1758 void ApplyAttributes(); 1759 void DrawDebugGeometry(DebugRenderer, bool); 1760 Variant GetAttribute(const String&) const; 1761 ValueAnimation GetAttributeAnimation(const String&) const; 1762 float GetAttributeAnimationSpeed(const String&) const; 1763 float GetAttributeAnimationTime(const String&) const; 1764 WrapMode GetAttributeAnimationWrapMode(const String&) const; 1765 Variant GetAttributeDefault(const String&) const; 1766 bool GetInterceptNetworkUpdate(const String&) const; 1767 Array<Vector2> GetVertices() const; 1768 bool HasSubscribedToEvent(Object, const String&); 1769 bool HasSubscribedToEvent(const String&); 1770 bool Load(File, bool = false); 1771 bool Load(VectorBuffer&, bool = false); 1772 bool LoadJSON(const JSONValue&, bool = false); 1773 bool LoadXML(const XMLElement&, bool = false); 1774 void MarkNetworkUpdate() const; 1775 void Remove(); 1776 void RemoveAttributeAnimation(const String&); 1777 void RemoveInstanceDefault(); 1778 void RemoveObjectAnimation(); 1779 void ResetToDefault(); 1780 bool Save(File) const; 1781 bool Save(VectorBuffer&) const; 1782 bool SaveJSON(JSONValue&) const; 1783 bool SaveXML(XMLElement&) const; 1784 void SendEvent(const String&, VariantMap& = VariantMap ( )); 1785 void SetAnimationTime(float); 1786 bool SetAttribute(const String&, const Variant&); 1787 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 1788 void SetAttributeAnimationSpeed(const String&, float); 1789 void SetAttributeAnimationTime(const String&, float); 1790 void SetAttributeAnimationWrapMode(const String&, WrapMode); 1791 void SetInterceptNetworkUpdate(const String&, bool); 1792 void SetVertex(uint, const Vector2&); 1793 void SetVertices(Array<Vector2>); 1794 const Vector2& GetVertex(uint) const; 1795 1796 // Properties: 1797 bool animationEnabled; 1798 /* readonly */ 1799 Array<Variant> attributeDefaults; 1800 /* readonly */ 1801 Array<AttributeInfo> attributeInfos; 1802 Array<Variant> attributes; 1803 /* readonly */ 1804 String category; 1805 int categoryBits; 1806 float density; 1807 bool enabled; 1808 /* readonly */ 1809 bool enabledEffective; 1810 float friction; 1811 int groupIndex; 1812 /* readonly */ 1813 uint id; 1814 /* readonly */ 1815 float inertia; 1816 bool loop; 1817 int maskBits; 1818 /* readonly */ 1819 float mass; 1820 /* readonly */ 1821 Vector2 massCenter; 1822 /* readonly */ 1823 Node node; 1824 /* readonly */ 1825 uint numAttributes; 1826 ObjectAnimation objectAnimation; 1827 /* readonly */ 1828 int refs; 1829 float restitution; 1830 bool temporary; 1831 bool trigger; 1832 /* readonly */ 1833 StringHash type; 1834 /* readonly */ 1835 String typeName; 1836 uint vertexCount; 1837 /* readonly */ 1838 int weakRefs; 1839 }; 1840 1841 class CollisionCircle2D 1842 { 1843 public: 1844 // Methods: 1845 void ApplyAttributes(); 1846 void DrawDebugGeometry(DebugRenderer, bool); 1847 Variant GetAttribute(const String&) const; 1848 ValueAnimation GetAttributeAnimation(const String&) const; 1849 float GetAttributeAnimationSpeed(const String&) const; 1850 float GetAttributeAnimationTime(const String&) const; 1851 WrapMode GetAttributeAnimationWrapMode(const String&) const; 1852 Variant GetAttributeDefault(const String&) const; 1853 bool GetInterceptNetworkUpdate(const String&) const; 1854 bool HasSubscribedToEvent(Object, const String&); 1855 bool HasSubscribedToEvent(const String&); 1856 bool Load(File, bool = false); 1857 bool Load(VectorBuffer&, bool = false); 1858 bool LoadJSON(const JSONValue&, bool = false); 1859 bool LoadXML(const XMLElement&, bool = false); 1860 void MarkNetworkUpdate() const; 1861 void Remove(); 1862 void RemoveAttributeAnimation(const String&); 1863 void RemoveInstanceDefault(); 1864 void RemoveObjectAnimation(); 1865 void ResetToDefault(); 1866 bool Save(File) const; 1867 bool Save(VectorBuffer&) const; 1868 bool SaveJSON(JSONValue&) const; 1869 bool SaveXML(XMLElement&) const; 1870 void SendEvent(const String&, VariantMap& = VariantMap ( )); 1871 void SetAnimationTime(float); 1872 bool SetAttribute(const String&, const Variant&); 1873 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 1874 void SetAttributeAnimationSpeed(const String&, float); 1875 void SetAttributeAnimationTime(const String&, float); 1876 void SetAttributeAnimationWrapMode(const String&, WrapMode); 1877 void SetCenter(float, float); 1878 void SetInterceptNetworkUpdate(const String&, bool); 1879 1880 // Properties: 1881 bool animationEnabled; 1882 /* readonly */ 1883 Array<Variant> attributeDefaults; 1884 /* readonly */ 1885 Array<AttributeInfo> attributeInfos; 1886 Array<Variant> attributes; 1887 /* readonly */ 1888 String category; 1889 int categoryBits; 1890 Vector2 center; 1891 float density; 1892 bool enabled; 1893 /* readonly */ 1894 bool enabledEffective; 1895 float friction; 1896 int groupIndex; 1897 /* readonly */ 1898 uint id; 1899 /* readonly */ 1900 float inertia; 1901 int maskBits; 1902 /* readonly */ 1903 float mass; 1904 /* readonly */ 1905 Vector2 massCenter; 1906 /* readonly */ 1907 Node node; 1908 /* readonly */ 1909 uint numAttributes; 1910 ObjectAnimation objectAnimation; 1911 float radius; 1912 /* readonly */ 1913 int refs; 1914 float restitution; 1915 bool temporary; 1916 bool trigger; 1917 /* readonly */ 1918 StringHash type; 1919 /* readonly */ 1920 String typeName; 1921 /* readonly */ 1922 int weakRefs; 1923 }; 1924 1925 class CollisionEdge2D 1926 { 1927 public: 1928 // Methods: 1929 void ApplyAttributes(); 1930 void DrawDebugGeometry(DebugRenderer, bool); 1931 Variant GetAttribute(const String&) const; 1932 ValueAnimation GetAttributeAnimation(const String&) const; 1933 float GetAttributeAnimationSpeed(const String&) const; 1934 float GetAttributeAnimationTime(const String&) const; 1935 WrapMode GetAttributeAnimationWrapMode(const String&) const; 1936 Variant GetAttributeDefault(const String&) const; 1937 bool GetInterceptNetworkUpdate(const String&) const; 1938 bool HasSubscribedToEvent(Object, const String&); 1939 bool HasSubscribedToEvent(const String&); 1940 bool Load(File, bool = false); 1941 bool Load(VectorBuffer&, bool = false); 1942 bool LoadJSON(const JSONValue&, bool = false); 1943 bool LoadXML(const XMLElement&, bool = false); 1944 void MarkNetworkUpdate() const; 1945 void Remove(); 1946 void RemoveAttributeAnimation(const String&); 1947 void RemoveInstanceDefault(); 1948 void RemoveObjectAnimation(); 1949 void ResetToDefault(); 1950 bool Save(File) const; 1951 bool Save(VectorBuffer&) const; 1952 bool SaveJSON(JSONValue&) const; 1953 bool SaveXML(XMLElement&) const; 1954 void SendEvent(const String&, VariantMap& = VariantMap ( )); 1955 void SetAnimationTime(float); 1956 bool SetAttribute(const String&, const Variant&); 1957 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 1958 void SetAttributeAnimationSpeed(const String&, float); 1959 void SetAttributeAnimationTime(const String&, float); 1960 void SetAttributeAnimationWrapMode(const String&, WrapMode); 1961 void SetInterceptNetworkUpdate(const String&, bool); 1962 void SetVertices(const Vector2&, const Vector2&); 1963 1964 // Properties: 1965 bool animationEnabled; 1966 /* readonly */ 1967 Array<Variant> attributeDefaults; 1968 /* readonly */ 1969 Array<AttributeInfo> attributeInfos; 1970 Array<Variant> attributes; 1971 /* readonly */ 1972 String category; 1973 int categoryBits; 1974 float density; 1975 bool enabled; 1976 /* readonly */ 1977 bool enabledEffective; 1978 float friction; 1979 int groupIndex; 1980 /* readonly */ 1981 uint id; 1982 /* readonly */ 1983 float inertia; 1984 int maskBits; 1985 /* readonly */ 1986 float mass; 1987 /* readonly */ 1988 Vector2 massCenter; 1989 /* readonly */ 1990 Node node; 1991 /* readonly */ 1992 uint numAttributes; 1993 ObjectAnimation objectAnimation; 1994 /* readonly */ 1995 int refs; 1996 float restitution; 1997 bool temporary; 1998 bool trigger; 1999 /* readonly */ 2000 StringHash type; 2001 /* readonly */ 2002 String typeName; 2003 Vector2 vertex1; 2004 Vector2 vertex2; 2005 /* readonly */ 2006 int weakRefs; 2007 }; 2008 2009 class CollisionPolygon2D 2010 { 2011 public: 2012 // Methods: 2013 void ApplyAttributes(); 2014 void DrawDebugGeometry(DebugRenderer, bool); 2015 Variant GetAttribute(const String&) const; 2016 ValueAnimation GetAttributeAnimation(const String&) const; 2017 float GetAttributeAnimationSpeed(const String&) const; 2018 float GetAttributeAnimationTime(const String&) const; 2019 WrapMode GetAttributeAnimationWrapMode(const String&) const; 2020 Variant GetAttributeDefault(const String&) const; 2021 bool GetInterceptNetworkUpdate(const String&) const; 2022 Array<Vector2> GetVertices() const; 2023 bool HasSubscribedToEvent(Object, const String&); 2024 bool HasSubscribedToEvent(const String&); 2025 bool Load(File, bool = false); 2026 bool Load(VectorBuffer&, bool = false); 2027 bool LoadJSON(const JSONValue&, bool = false); 2028 bool LoadXML(const XMLElement&, bool = false); 2029 void MarkNetworkUpdate() const; 2030 void Remove(); 2031 void RemoveAttributeAnimation(const String&); 2032 void RemoveInstanceDefault(); 2033 void RemoveObjectAnimation(); 2034 void ResetToDefault(); 2035 bool Save(File) const; 2036 bool Save(VectorBuffer&) const; 2037 bool SaveJSON(JSONValue&) const; 2038 bool SaveXML(XMLElement&) const; 2039 void SendEvent(const String&, VariantMap& = VariantMap ( )); 2040 void SetAnimationTime(float); 2041 bool SetAttribute(const String&, const Variant&); 2042 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 2043 void SetAttributeAnimationSpeed(const String&, float); 2044 void SetAttributeAnimationTime(const String&, float); 2045 void SetAttributeAnimationWrapMode(const String&, WrapMode); 2046 void SetInterceptNetworkUpdate(const String&, bool); 2047 void SetVertex(uint, const Vector2&); 2048 void SetVertices(Array<Vector2>); 2049 const Vector2& GetVertex(uint) const; 2050 2051 // Properties: 2052 bool animationEnabled; 2053 /* readonly */ 2054 Array<Variant> attributeDefaults; 2055 /* readonly */ 2056 Array<AttributeInfo> attributeInfos; 2057 Array<Variant> attributes; 2058 /* readonly */ 2059 String category; 2060 int categoryBits; 2061 float density; 2062 bool enabled; 2063 /* readonly */ 2064 bool enabledEffective; 2065 float friction; 2066 int groupIndex; 2067 /* readonly */ 2068 uint id; 2069 /* readonly */ 2070 float inertia; 2071 int maskBits; 2072 /* readonly */ 2073 float mass; 2074 /* readonly */ 2075 Vector2 massCenter; 2076 /* readonly */ 2077 Node node; 2078 /* readonly */ 2079 uint numAttributes; 2080 ObjectAnimation objectAnimation; 2081 /* readonly */ 2082 int refs; 2083 float restitution; 2084 bool temporary; 2085 bool trigger; 2086 /* readonly */ 2087 StringHash type; 2088 /* readonly */ 2089 String typeName; 2090 uint vertexCount; 2091 /* readonly */ 2092 int weakRefs; 2093 }; 2094 2095 class CollisionShape 2096 { 2097 public: 2098 // Methods: 2099 void ApplyAttributes(); 2100 void DrawDebugGeometry(DebugRenderer, bool); 2101 Variant GetAttribute(const String&) const; 2102 ValueAnimation GetAttributeAnimation(const String&) const; 2103 float GetAttributeAnimationSpeed(const String&) const; 2104 float GetAttributeAnimationTime(const String&) const; 2105 WrapMode GetAttributeAnimationWrapMode(const String&) const; 2106 Variant GetAttributeDefault(const String&) const; 2107 bool GetInterceptNetworkUpdate(const String&) const; 2108 bool HasSubscribedToEvent(Object, const String&); 2109 bool HasSubscribedToEvent(const String&); 2110 bool Load(File, bool = false); 2111 bool Load(VectorBuffer&, bool = false); 2112 bool LoadJSON(const JSONValue&, bool = false); 2113 bool LoadXML(const XMLElement&, bool = false); 2114 void MarkNetworkUpdate() const; 2115 void Remove(); 2116 void RemoveAttributeAnimation(const String&); 2117 void RemoveInstanceDefault(); 2118 void RemoveObjectAnimation(); 2119 void ResetToDefault(); 2120 bool Save(File) const; 2121 bool Save(VectorBuffer&) const; 2122 bool SaveJSON(JSONValue&) const; 2123 bool SaveXML(XMLElement&) const; 2124 void SendEvent(const String&, VariantMap& = VariantMap ( )); 2125 void SetAnimationTime(float); 2126 bool SetAttribute(const String&, const Variant&); 2127 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 2128 void SetAttributeAnimationSpeed(const String&, float); 2129 void SetAttributeAnimationTime(const String&, float); 2130 void SetAttributeAnimationWrapMode(const String&, WrapMode); 2131 void SetBox(const Vector3&, const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( )); 2132 void SetCapsule(float, float, const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( )); 2133 void SetCone(float, float, const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( )); 2134 void SetConvexHull(Model, uint = 0, const Vector3& = Vector3 ( 1 , 1 , 1 ), const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( )); 2135 void SetCustomConvexHull(CustomGeometry, const Vector3& = Vector3 ( 1 , 1 , 1 ), const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( )); 2136 void SetCustomTriangleMesh(CustomGeometry, const Vector3& = Vector3 ( 1 , 1 , 1 ), const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( )); 2137 void SetCylinder(float, float, const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( )); 2138 void SetInterceptNetworkUpdate(const String&, bool); 2139 void SetSphere(float, const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( )); 2140 void SetStaticPlane(const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( )); 2141 void SetTerrain(uint = 0); 2142 void SetTransform(const Vector3&, const Quaternion&); 2143 void SetTriangleMesh(Model, uint = 0, const Vector3& = Vector3 ( 1 , 1 , 1 ), const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( )); 2144 2145 // Properties: 2146 bool animationEnabled; 2147 /* readonly */ 2148 Array<Variant> attributeDefaults; 2149 /* readonly */ 2150 Array<AttributeInfo> attributeInfos; 2151 Array<Variant> attributes; 2152 /* readonly */ 2153 String category; 2154 bool enabled; 2155 /* readonly */ 2156 bool enabledEffective; 2157 /* readonly */ 2158 uint id; 2159 uint lodLevel; 2160 float margin; 2161 Model model; 2162 /* readonly */ 2163 Node node; 2164 /* readonly */ 2165 uint numAttributes; 2166 ObjectAnimation objectAnimation; 2167 Vector3 position; 2168 /* readonly */ 2169 int refs; 2170 Quaternion rotation; 2171 ShapeType shapeType; 2172 Vector3 size; 2173 bool temporary; 2174 /* readonly */ 2175 StringHash type; 2176 /* readonly */ 2177 String typeName; 2178 /* readonly */ 2179 int weakRefs; 2180 /* readonly */ 2181 BoundingBox worldBoundingBox; 2182 }; 2183 2184 class CollisionShape2D 2185 { 2186 public: 2187 // Methods: 2188 void ApplyAttributes(); 2189 void DrawDebugGeometry(DebugRenderer, bool); 2190 Variant GetAttribute(const String&) const; 2191 ValueAnimation GetAttributeAnimation(const String&) const; 2192 float GetAttributeAnimationSpeed(const String&) const; 2193 float GetAttributeAnimationTime(const String&) const; 2194 WrapMode GetAttributeAnimationWrapMode(const String&) const; 2195 Variant GetAttributeDefault(const String&) const; 2196 bool GetInterceptNetworkUpdate(const String&) const; 2197 bool HasSubscribedToEvent(Object, const String&); 2198 bool HasSubscribedToEvent(const String&); 2199 bool Load(File, bool = false); 2200 bool Load(VectorBuffer&, bool = false); 2201 bool LoadJSON(const JSONValue&, bool = false); 2202 bool LoadXML(const XMLElement&, bool = false); 2203 void MarkNetworkUpdate() const; 2204 void Remove(); 2205 void RemoveAttributeAnimation(const String&); 2206 void RemoveInstanceDefault(); 2207 void RemoveObjectAnimation(); 2208 void ResetToDefault(); 2209 bool Save(File) const; 2210 bool Save(VectorBuffer&) const; 2211 bool SaveJSON(JSONValue&) const; 2212 bool SaveXML(XMLElement&) const; 2213 void SendEvent(const String&, VariantMap& = VariantMap ( )); 2214 void SetAnimationTime(float); 2215 bool SetAttribute(const String&, const Variant&); 2216 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 2217 void SetAttributeAnimationSpeed(const String&, float); 2218 void SetAttributeAnimationTime(const String&, float); 2219 void SetAttributeAnimationWrapMode(const String&, WrapMode); 2220 void SetInterceptNetworkUpdate(const String&, bool); 2221 2222 // Properties: 2223 bool animationEnabled; 2224 /* readonly */ 2225 Array<Variant> attributeDefaults; 2226 /* readonly */ 2227 Array<AttributeInfo> attributeInfos; 2228 Array<Variant> attributes; 2229 /* readonly */ 2230 String category; 2231 int categoryBits; 2232 float density; 2233 bool enabled; 2234 /* readonly */ 2235 bool enabledEffective; 2236 float friction; 2237 int groupIndex; 2238 /* readonly */ 2239 uint id; 2240 /* readonly */ 2241 float inertia; 2242 int maskBits; 2243 /* readonly */ 2244 float mass; 2245 /* readonly */ 2246 Vector2 massCenter; 2247 /* readonly */ 2248 Node node; 2249 /* readonly */ 2250 uint numAttributes; 2251 ObjectAnimation objectAnimation; 2252 /* readonly */ 2253 int refs; 2254 float restitution; 2255 bool temporary; 2256 bool trigger; 2257 /* readonly */ 2258 StringHash type; 2259 /* readonly */ 2260 String typeName; 2261 /* readonly */ 2262 int weakRefs; 2263 }; 2264 2265 class Color 2266 { 2267 public: 2268 Color(); 2269 Color(const Color&in); 2270 Color(float, float, float, float); 2271 Color(float, float, float); 2272 Color(float[]&inout); 2273 // Methods: 2274 Color Abs() const; 2275 float Average() const; 2276 float Chroma() const; 2277 void Clip(bool); 2278 bool Equals() const; 2279 void FromHSL(float, float, float, float); 2280 void FromHSV(float, float, float, float); 2281 float Hue() const; 2282 void Invert(bool); 2283 Color Lerp(const Color&, float) const; 2284 float Lightness() const; 2285 float Luma() const; 2286 float MaxRGB() const; 2287 float MinRGB() const; 2288 float Range() const; 2289 float SaturationHSL() const; 2290 float SaturationHSV() const; 2291 float SumRGB() const; 2292 Vector3 ToHSL() const; 2293 Vector3 ToHSV() const; 2294 String ToString() const; 2295 uint ToUInt() const; 2296 float Value() const; 2297 2298 // Properties: 2299 float a; 2300 float b; 2301 /* readonly */ 2302 Array<float> data; 2303 float g; 2304 float r; 2305 /* readonly */ 2306 Vector3 rgb; 2307 /* readonly */ 2308 Vector4 rgba; 2309 }; 2310 2311 class ColorFrame 2312 { 2313 public: 2314 2315 // Properties: 2316 Color color; 2317 float time; 2318 }; 2319 2320 class Component 2321 { 2322 public: 2323 // Methods: 2324 void ApplyAttributes(); 2325 void DrawDebugGeometry(DebugRenderer, bool); 2326 Variant GetAttribute(const String&) const; 2327 ValueAnimation GetAttributeAnimation(const String&) const; 2328 float GetAttributeAnimationSpeed(const String&) const; 2329 float GetAttributeAnimationTime(const String&) const; 2330 WrapMode GetAttributeAnimationWrapMode(const String&) const; 2331 Variant GetAttributeDefault(const String&) const; 2332 bool GetInterceptNetworkUpdate(const String&) const; 2333 bool HasSubscribedToEvent(Object, const String&); 2334 bool HasSubscribedToEvent(const String&); 2335 bool Load(File, bool = false); 2336 bool Load(VectorBuffer&, bool = false); 2337 bool LoadJSON(const JSONValue&, bool = false); 2338 bool LoadXML(const XMLElement&, bool = false); 2339 void MarkNetworkUpdate() const; 2340 void Remove(); 2341 void RemoveAttributeAnimation(const String&); 2342 void RemoveInstanceDefault(); 2343 void RemoveObjectAnimation(); 2344 void ResetToDefault(); 2345 bool Save(File) const; 2346 bool Save(VectorBuffer&) const; 2347 bool SaveJSON(JSONValue&) const; 2348 bool SaveXML(XMLElement&) const; 2349 void SendEvent(const String&, VariantMap& = VariantMap ( )); 2350 void SetAnimationTime(float); 2351 bool SetAttribute(const String&, const Variant&); 2352 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 2353 void SetAttributeAnimationSpeed(const String&, float); 2354 void SetAttributeAnimationTime(const String&, float); 2355 void SetAttributeAnimationWrapMode(const String&, WrapMode); 2356 void SetInterceptNetworkUpdate(const String&, bool); 2357 2358 // Properties: 2359 bool animationEnabled; 2360 /* readonly */ 2361 Array<Variant> attributeDefaults; 2362 /* readonly */ 2363 Array<AttributeInfo> attributeInfos; 2364 Array<Variant> attributes; 2365 /* readonly */ 2366 String category; 2367 bool enabled; 2368 /* readonly */ 2369 bool enabledEffective; 2370 /* readonly */ 2371 uint id; 2372 /* readonly */ 2373 Node node; 2374 /* readonly */ 2375 uint numAttributes; 2376 ObjectAnimation objectAnimation; 2377 /* readonly */ 2378 int refs; 2379 bool temporary; 2380 /* readonly */ 2381 StringHash type; 2382 /* readonly */ 2383 String typeName; 2384 /* readonly */ 2385 int weakRefs; 2386 }; 2387 2388 class Connection 2389 { 2390 public: 2391 // Methods: 2392 void Disconnect(int = 0); 2393 bool HasSubscribedToEvent(Object, const String&); 2394 bool HasSubscribedToEvent(const String&); 2395 void SendEvent(const String&, VariantMap& = VariantMap ( )); 2396 void SendMessage(int, bool, bool, const VectorBuffer&, uint = 0); 2397 void SendPackageToClient(PackageFile); 2398 void SendRemoteEvent(Node, const String&, bool, const VariantMap& = VariantMap ( )); 2399 void SendRemoteEvent(const String&, bool, const VariantMap& = VariantMap ( )); 2400 String ToString() const; 2401 2402 // Properties: 2403 /* readonly */ 2404 String address; 2405 /* readonly */ 2406 float bytesInPerSec; 2407 /* readonly */ 2408 float bytesOutPerSec; 2409 /* readonly */ 2410 String category; 2411 /* readonly */ 2412 bool client; 2413 /* readonly */ 2414 bool connectPending; 2415 /* readonly */ 2416 bool connected; 2417 Controls controls; 2418 /* readonly */ 2419 String downloadName; 2420 /* readonly */ 2421 float downloadProgress; 2422 VariantMap identity; 2423 /* readonly */ 2424 float lastHeardTime; 2425 bool logStatistics; 2426 /* readonly */ 2427 uint numDownloads; 2428 /* readonly */ 2429 float packetsInPerSec; 2430 /* readonly */ 2431 float packetsOutPerSec; 2432 /* readonly */ 2433 uint16 port; 2434 Vector3 position; 2435 /* readonly */ 2436 int refs; 2437 Quaternion rotation; 2438 /* readonly */ 2439 float roundTripTime; 2440 Scene scene; 2441 /* readonly */ 2442 bool sceneLoaded; 2443 uint8 timeStamp; 2444 /* readonly */ 2445 StringHash type; 2446 /* readonly */ 2447 String typeName; 2448 /* readonly */ 2449 int weakRefs; 2450 }; 2451 2452 class Console 2453 { 2454 public: 2455 // Methods: 2456 void AddAutoComplete(const String&); 2457 void CopySelectedRows() const; 2458 bool HasSubscribedToEvent(Object, const String&); 2459 bool HasSubscribedToEvent(const String&); 2460 void RemoveAutoComplete(const String&); 2461 void SendEvent(const String&, VariantMap& = VariantMap ( )); 2462 void Toggle(); 2463 void UpdateElements(); 2464 2465 // Properties: 2466 bool autoVisibleOnError; 2467 /* readonly */ 2468 BorderImage background; 2469 /* readonly */ 2470 String category; 2471 /* readonly */ 2472 Button closeButton; 2473 String commandInterpreter; 2474 XMLFile defaultStyle; 2475 bool focusOnShow; 2476 /* readonly */ 2477 uint historyPosition; 2478 /* readonly */ 2479 Array<String> historyRow; 2480 /* readonly */ 2481 LineEdit lineEdit; 2482 uint numBufferedRows; 2483 uint numHistoryRows; 2484 uint numRows; 2485 /* readonly */ 2486 int refs; 2487 /* readonly */ 2488 StringHash type; 2489 /* readonly */ 2490 String typeName; 2491 bool visible; 2492 /* readonly */ 2493 int weakRefs; 2494 }; 2495 2496 class Constraint 2497 { 2498 public: 2499 // Methods: 2500 void ApplyAttributes(); 2501 void DrawDebugGeometry(DebugRenderer, bool); 2502 Variant GetAttribute(const String&) const; 2503 ValueAnimation GetAttributeAnimation(const String&) const; 2504 float GetAttributeAnimationSpeed(const String&) const; 2505 float GetAttributeAnimationTime(const String&) const; 2506 WrapMode GetAttributeAnimationWrapMode(const String&) const; 2507 Variant GetAttributeDefault(const String&) const; 2508 bool GetInterceptNetworkUpdate(const String&) const; 2509 bool HasSubscribedToEvent(Object, const String&); 2510 bool HasSubscribedToEvent(const String&); 2511 bool Load(File, bool = false); 2512 bool Load(VectorBuffer&, bool = false); 2513 bool LoadJSON(const JSONValue&, bool = false); 2514 bool LoadXML(const XMLElement&, bool = false); 2515 void MarkNetworkUpdate() const; 2516 void Remove(); 2517 void RemoveAttributeAnimation(const String&); 2518 void RemoveInstanceDefault(); 2519 void RemoveObjectAnimation(); 2520 void ResetToDefault(); 2521 bool Save(File) const; 2522 bool Save(VectorBuffer&) const; 2523 bool SaveJSON(JSONValue&) const; 2524 bool SaveXML(XMLElement&) const; 2525 void SendEvent(const String&, VariantMap& = VariantMap ( )); 2526 void SetAnimationTime(float); 2527 bool SetAttribute(const String&, const Variant&); 2528 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 2529 void SetAttributeAnimationSpeed(const String&, float); 2530 void SetAttributeAnimationTime(const String&, float); 2531 void SetAttributeAnimationWrapMode(const String&, WrapMode); 2532 void SetInterceptNetworkUpdate(const String&, bool); 2533 2534 // Properties: 2535 bool animationEnabled; 2536 /* readonly */ 2537 Array<Variant> attributeDefaults; 2538 /* readonly */ 2539 Array<AttributeInfo> attributeInfos; 2540 Array<Variant> attributes; 2541 /* writeonly */ 2542 Vector3 axis; 2543 /* readonly */ 2544 String category; 2545 float cfm; 2546 ConstraintType constraintType; 2547 bool disableCollision; 2548 bool enabled; 2549 /* readonly */ 2550 bool enabledEffective; 2551 float erp; 2552 Vector2 highLimit; 2553 /* readonly */ 2554 uint id; 2555 Vector2 lowLimit; 2556 /* readonly */ 2557 Node node; 2558 /* readonly */ 2559 uint numAttributes; 2560 ObjectAnimation objectAnimation; 2561 /* writeonly */ 2562 Vector3 otherAxis; 2563 RigidBody otherBody; 2564 Vector3 otherPosition; 2565 Quaternion otherRotation; 2566 /* readonly */ 2567 RigidBody ownBody; 2568 Vector3 position; 2569 /* readonly */ 2570 int refs; 2571 Quaternion rotation; 2572 bool temporary; 2573 /* readonly */ 2574 StringHash type; 2575 /* readonly */ 2576 String typeName; 2577 /* readonly */ 2578 int weakRefs; 2579 Vector3 worldPosition; 2580 }; 2581 2582 class Constraint2D 2583 { 2584 public: 2585 // Methods: 2586 void ApplyAttributes(); 2587 void DrawDebugGeometry(DebugRenderer, bool); 2588 Variant GetAttribute(const String&) const; 2589 ValueAnimation GetAttributeAnimation(const String&) const; 2590 float GetAttributeAnimationSpeed(const String&) const; 2591 float GetAttributeAnimationTime(const String&) const; 2592 WrapMode GetAttributeAnimationWrapMode(const String&) const; 2593 Variant GetAttributeDefault(const String&) const; 2594 bool GetInterceptNetworkUpdate(const String&) const; 2595 bool HasSubscribedToEvent(Object, const String&); 2596 bool HasSubscribedToEvent(const String&); 2597 bool Load(File, bool = false); 2598 bool Load(VectorBuffer&, bool = false); 2599 bool LoadJSON(const JSONValue&, bool = false); 2600 bool LoadXML(const XMLElement&, bool = false); 2601 void MarkNetworkUpdate() const; 2602 void Remove(); 2603 void RemoveAttributeAnimation(const String&); 2604 void RemoveInstanceDefault(); 2605 void RemoveObjectAnimation(); 2606 void ResetToDefault(); 2607 bool Save(File) const; 2608 bool Save(VectorBuffer&) const; 2609 bool SaveJSON(JSONValue&) const; 2610 bool SaveXML(XMLElement&) const; 2611 void SendEvent(const String&, VariantMap& = VariantMap ( )); 2612 void SetAnimationTime(float); 2613 bool SetAttribute(const String&, const Variant&); 2614 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 2615 void SetAttributeAnimationSpeed(const String&, float); 2616 void SetAttributeAnimationTime(const String&, float); 2617 void SetAttributeAnimationWrapMode(const String&, WrapMode); 2618 void SetInterceptNetworkUpdate(const String&, bool); 2619 2620 // Properties: 2621 bool animationEnabled; 2622 /* readonly */ 2623 Array<Variant> attributeDefaults; 2624 /* readonly */ 2625 Array<AttributeInfo> attributeInfos; 2626 Array<Variant> attributes; 2627 /* readonly */ 2628 String category; 2629 bool collideConnected; 2630 bool enabled; 2631 /* readonly */ 2632 bool enabledEffective; 2633 /* readonly */ 2634 uint id; 2635 /* readonly */ 2636 Node node; 2637 /* readonly */ 2638 uint numAttributes; 2639 ObjectAnimation objectAnimation; 2640 RigidBody2D otherBody; 2641 /* readonly */ 2642 RigidBody2D ownerBody; 2643 /* readonly */ 2644 int refs; 2645 bool temporary; 2646 /* readonly */ 2647 StringHash type; 2648 /* readonly */ 2649 String typeName; 2650 /* readonly */ 2651 int weakRefs; 2652 }; 2653 2654 class ConstraintDistance2D 2655 { 2656 public: 2657 // Methods: 2658 void ApplyAttributes(); 2659 void DrawDebugGeometry(DebugRenderer, bool); 2660 Variant GetAttribute(const String&) const; 2661 ValueAnimation GetAttributeAnimation(const String&) const; 2662 float GetAttributeAnimationSpeed(const String&) const; 2663 float GetAttributeAnimationTime(const String&) const; 2664 WrapMode GetAttributeAnimationWrapMode(const String&) const; 2665 Variant GetAttributeDefault(const String&) const; 2666 bool GetInterceptNetworkUpdate(const String&) const; 2667 bool HasSubscribedToEvent(Object, const String&); 2668 bool HasSubscribedToEvent(const String&); 2669 bool Load(File, bool = false); 2670 bool Load(VectorBuffer&, bool = false); 2671 bool LoadJSON(const JSONValue&, bool = false); 2672 bool LoadXML(const XMLElement&, bool = false); 2673 void MarkNetworkUpdate() const; 2674 void Remove(); 2675 void RemoveAttributeAnimation(const String&); 2676 void RemoveInstanceDefault(); 2677 void RemoveObjectAnimation(); 2678 void ResetToDefault(); 2679 bool Save(File) const; 2680 bool Save(VectorBuffer&) const; 2681 bool SaveJSON(JSONValue&) const; 2682 bool SaveXML(XMLElement&) const; 2683 void SendEvent(const String&, VariantMap& = VariantMap ( )); 2684 void SetAnimationTime(float); 2685 bool SetAttribute(const String&, const Variant&); 2686 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 2687 void SetAttributeAnimationSpeed(const String&, float); 2688 void SetAttributeAnimationTime(const String&, float); 2689 void SetAttributeAnimationWrapMode(const String&, WrapMode); 2690 void SetInterceptNetworkUpdate(const String&, bool); 2691 2692 // Properties: 2693 bool animationEnabled; 2694 /* readonly */ 2695 Array<Variant> attributeDefaults; 2696 /* readonly */ 2697 Array<AttributeInfo> attributeInfos; 2698 Array<Variant> attributes; 2699 /* readonly */ 2700 String category; 2701 bool collideConnected; 2702 float dampingRatio; 2703 bool enabled; 2704 /* readonly */ 2705 bool enabledEffective; 2706 float frequencyHz; 2707 /* readonly */ 2708 uint id; 2709 float length; 2710 /* readonly */ 2711 Node node; 2712 /* readonly */ 2713 uint numAttributes; 2714 ObjectAnimation objectAnimation; 2715 RigidBody2D otherBody; 2716 Vector2 otherBodyAnchor; 2717 /* readonly */ 2718 RigidBody2D ownerBody; 2719 Vector2 ownerBodyAnchor; 2720 /* readonly */ 2721 int refs; 2722 bool temporary; 2723 /* readonly */ 2724 StringHash type; 2725 /* readonly */ 2726 String typeName; 2727 /* readonly */ 2728 int weakRefs; 2729 }; 2730 2731 class ConstraintFriction2D 2732 { 2733 public: 2734 // Methods: 2735 void ApplyAttributes(); 2736 void DrawDebugGeometry(DebugRenderer, bool); 2737 Variant GetAttribute(const String&) const; 2738 ValueAnimation GetAttributeAnimation(const String&) const; 2739 float GetAttributeAnimationSpeed(const String&) const; 2740 float GetAttributeAnimationTime(const String&) const; 2741 WrapMode GetAttributeAnimationWrapMode(const String&) const; 2742 Variant GetAttributeDefault(const String&) const; 2743 bool GetInterceptNetworkUpdate(const String&) const; 2744 bool HasSubscribedToEvent(Object, const String&); 2745 bool HasSubscribedToEvent(const String&); 2746 bool Load(File, bool = false); 2747 bool Load(VectorBuffer&, bool = false); 2748 bool LoadJSON(const JSONValue&, bool = false); 2749 bool LoadXML(const XMLElement&, bool = false); 2750 void MarkNetworkUpdate() const; 2751 void Remove(); 2752 void RemoveAttributeAnimation(const String&); 2753 void RemoveInstanceDefault(); 2754 void RemoveObjectAnimation(); 2755 void ResetToDefault(); 2756 bool Save(File) const; 2757 bool Save(VectorBuffer&) const; 2758 bool SaveJSON(JSONValue&) const; 2759 bool SaveXML(XMLElement&) const; 2760 void SendEvent(const String&, VariantMap& = VariantMap ( )); 2761 void SetAnimationTime(float); 2762 bool SetAttribute(const String&, const Variant&); 2763 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 2764 void SetAttributeAnimationSpeed(const String&, float); 2765 void SetAttributeAnimationTime(const String&, float); 2766 void SetAttributeAnimationWrapMode(const String&, WrapMode); 2767 void SetInterceptNetworkUpdate(const String&, bool); 2768 2769 // Properties: 2770 Vector2 anchor; 2771 bool animationEnabled; 2772 /* readonly */ 2773 Array<Variant> attributeDefaults; 2774 /* readonly */ 2775 Array<AttributeInfo> attributeInfos; 2776 Array<Variant> attributes; 2777 /* readonly */ 2778 String category; 2779 bool collideConnected; 2780 bool enabled; 2781 /* readonly */ 2782 bool enabledEffective; 2783 /* readonly */ 2784 uint id; 2785 float maxForce; 2786 float maxTorque; 2787 /* readonly */ 2788 Node node; 2789 /* readonly */ 2790 uint numAttributes; 2791 ObjectAnimation objectAnimation; 2792 RigidBody2D otherBody; 2793 /* readonly */ 2794 RigidBody2D ownerBody; 2795 /* readonly */ 2796 int refs; 2797 bool temporary; 2798 /* readonly */ 2799 StringHash type; 2800 /* readonly */ 2801 String typeName; 2802 /* readonly */ 2803 int weakRefs; 2804 }; 2805 2806 class ConstraintGear2D 2807 { 2808 public: 2809 // Methods: 2810 void ApplyAttributes(); 2811 void DrawDebugGeometry(DebugRenderer, bool); 2812 Variant GetAttribute(const String&) const; 2813 ValueAnimation GetAttributeAnimation(const String&) const; 2814 float GetAttributeAnimationSpeed(const String&) const; 2815 float GetAttributeAnimationTime(const String&) const; 2816 WrapMode GetAttributeAnimationWrapMode(const String&) const; 2817 Variant GetAttributeDefault(const String&) const; 2818 bool GetInterceptNetworkUpdate(const String&) const; 2819 bool HasSubscribedToEvent(Object, const String&); 2820 bool HasSubscribedToEvent(const String&); 2821 bool Load(File, bool = false); 2822 bool Load(VectorBuffer&, bool = false); 2823 bool LoadJSON(const JSONValue&, bool = false); 2824 bool LoadXML(const XMLElement&, bool = false); 2825 void MarkNetworkUpdate() const; 2826 void Remove(); 2827 void RemoveAttributeAnimation(const String&); 2828 void RemoveInstanceDefault(); 2829 void RemoveObjectAnimation(); 2830 void ResetToDefault(); 2831 bool Save(File) const; 2832 bool Save(VectorBuffer&) const; 2833 bool SaveJSON(JSONValue&) const; 2834 bool SaveXML(XMLElement&) const; 2835 void SendEvent(const String&, VariantMap& = VariantMap ( )); 2836 void SetAnimationTime(float); 2837 bool SetAttribute(const String&, const Variant&); 2838 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 2839 void SetAttributeAnimationSpeed(const String&, float); 2840 void SetAttributeAnimationTime(const String&, float); 2841 void SetAttributeAnimationWrapMode(const String&, WrapMode); 2842 void SetInterceptNetworkUpdate(const String&, bool); 2843 2844 // Properties: 2845 bool animationEnabled; 2846 /* readonly */ 2847 Array<Variant> attributeDefaults; 2848 /* readonly */ 2849 Array<AttributeInfo> attributeInfos; 2850 Array<Variant> attributes; 2851 /* readonly */ 2852 String category; 2853 bool collideConnected; 2854 bool enabled; 2855 /* readonly */ 2856 bool enabledEffective; 2857 /* readonly */ 2858 uint id; 2859 /* readonly */ 2860 Node node; 2861 /* readonly */ 2862 uint numAttributes; 2863 ObjectAnimation objectAnimation; 2864 RigidBody2D otherBody; 2865 Constraint2D otherConstraint; 2866 /* readonly */ 2867 RigidBody2D ownerBody; 2868 Constraint2D ownerConstraint; 2869 float ratio; 2870 /* readonly */ 2871 int refs; 2872 bool temporary; 2873 /* readonly */ 2874 StringHash type; 2875 /* readonly */ 2876 String typeName; 2877 /* readonly */ 2878 int weakRefs; 2879 }; 2880 2881 class ConstraintMotor2D 2882 { 2883 public: 2884 // Methods: 2885 void ApplyAttributes(); 2886 void DrawDebugGeometry(DebugRenderer, bool); 2887 Variant GetAttribute(const String&) const; 2888 ValueAnimation GetAttributeAnimation(const String&) const; 2889 float GetAttributeAnimationSpeed(const String&) const; 2890 float GetAttributeAnimationTime(const String&) const; 2891 WrapMode GetAttributeAnimationWrapMode(const String&) const; 2892 Variant GetAttributeDefault(const String&) const; 2893 bool GetInterceptNetworkUpdate(const String&) const; 2894 bool HasSubscribedToEvent(Object, const String&); 2895 bool HasSubscribedToEvent(const String&); 2896 bool Load(File, bool = false); 2897 bool Load(VectorBuffer&, bool = false); 2898 bool LoadJSON(const JSONValue&, bool = false); 2899 bool LoadXML(const XMLElement&, bool = false); 2900 void MarkNetworkUpdate() const; 2901 void Remove(); 2902 void RemoveAttributeAnimation(const String&); 2903 void RemoveInstanceDefault(); 2904 void RemoveObjectAnimation(); 2905 void ResetToDefault(); 2906 bool Save(File) const; 2907 bool Save(VectorBuffer&) const; 2908 bool SaveJSON(JSONValue&) const; 2909 bool SaveXML(XMLElement&) const; 2910 void SendEvent(const String&, VariantMap& = VariantMap ( )); 2911 void SetAnimationTime(float); 2912 bool SetAttribute(const String&, const Variant&); 2913 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 2914 void SetAttributeAnimationSpeed(const String&, float); 2915 void SetAttributeAnimationTime(const String&, float); 2916 void SetAttributeAnimationWrapMode(const String&, WrapMode); 2917 void SetInterceptNetworkUpdate(const String&, bool); 2918 2919 // Properties: 2920 float angularOffset; 2921 bool animationEnabled; 2922 /* readonly */ 2923 Array<Variant> attributeDefaults; 2924 /* readonly */ 2925 Array<AttributeInfo> attributeInfos; 2926 Array<Variant> attributes; 2927 /* readonly */ 2928 String category; 2929 bool collideConnected; 2930 float correctionFactor; 2931 bool enabled; 2932 /* readonly */ 2933 bool enabledEffective; 2934 /* readonly */ 2935 uint id; 2936 Vector2 linearOffset; 2937 float maxForce; 2938 float maxTorque; 2939 /* readonly */ 2940 Node node; 2941 /* readonly */ 2942 uint numAttributes; 2943 ObjectAnimation objectAnimation; 2944 RigidBody2D otherBody; 2945 /* readonly */ 2946 RigidBody2D ownerBody; 2947 /* readonly */ 2948 int refs; 2949 bool temporary; 2950 /* readonly */ 2951 StringHash type; 2952 /* readonly */ 2953 String typeName; 2954 /* readonly */ 2955 int weakRefs; 2956 }; 2957 2958 class ConstraintMouse2D 2959 { 2960 public: 2961 // Methods: 2962 void ApplyAttributes(); 2963 void DrawDebugGeometry(DebugRenderer, bool); 2964 Variant GetAttribute(const String&) const; 2965 ValueAnimation GetAttributeAnimation(const String&) const; 2966 float GetAttributeAnimationSpeed(const String&) const; 2967 float GetAttributeAnimationTime(const String&) const; 2968 WrapMode GetAttributeAnimationWrapMode(const String&) const; 2969 Variant GetAttributeDefault(const String&) const; 2970 bool GetInterceptNetworkUpdate(const String&) const; 2971 bool HasSubscribedToEvent(Object, const String&); 2972 bool HasSubscribedToEvent(const String&); 2973 bool Load(File, bool = false); 2974 bool Load(VectorBuffer&, bool = false); 2975 bool LoadJSON(const JSONValue&, bool = false); 2976 bool LoadXML(const XMLElement&, bool = false); 2977 void MarkNetworkUpdate() const; 2978 void Remove(); 2979 void RemoveAttributeAnimation(const String&); 2980 void RemoveInstanceDefault(); 2981 void RemoveObjectAnimation(); 2982 void ResetToDefault(); 2983 bool Save(File) const; 2984 bool Save(VectorBuffer&) const; 2985 bool SaveJSON(JSONValue&) const; 2986 bool SaveXML(XMLElement&) const; 2987 void SendEvent(const String&, VariantMap& = VariantMap ( )); 2988 void SetAnimationTime(float); 2989 bool SetAttribute(const String&, const Variant&); 2990 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 2991 void SetAttributeAnimationSpeed(const String&, float); 2992 void SetAttributeAnimationTime(const String&, float); 2993 void SetAttributeAnimationWrapMode(const String&, WrapMode); 2994 void SetInterceptNetworkUpdate(const String&, bool); 2995 2996 // Properties: 2997 bool animationEnabled; 2998 /* readonly */ 2999 Array<Variant> attributeDefaults; 3000 /* readonly */ 3001 Array<AttributeInfo> attributeInfos; 3002 Array<Variant> attributes; 3003 /* readonly */ 3004 String category; 3005 bool collideConnected; 3006 float dampingRatio; 3007 bool enabled; 3008 /* readonly */ 3009 bool enabledEffective; 3010 float frequencyHz; 3011 /* readonly */ 3012 uint id; 3013 float maxForce; 3014 /* readonly */ 3015 Node node; 3016 /* readonly */ 3017 uint numAttributes; 3018 ObjectAnimation objectAnimation; 3019 RigidBody2D otherBody; 3020 /* readonly */ 3021 RigidBody2D ownerBody; 3022 /* readonly */ 3023 int refs; 3024 Vector2 target; 3025 bool temporary; 3026 /* readonly */ 3027 StringHash type; 3028 /* readonly */ 3029 String typeName; 3030 /* readonly */ 3031 int weakRefs; 3032 }; 3033 3034 class ConstraintPrismatic2D 3035 { 3036 public: 3037 // Methods: 3038 void ApplyAttributes(); 3039 void DrawDebugGeometry(DebugRenderer, bool); 3040 Variant GetAttribute(const String&) const; 3041 ValueAnimation GetAttributeAnimation(const String&) const; 3042 float GetAttributeAnimationSpeed(const String&) const; 3043 float GetAttributeAnimationTime(const String&) const; 3044 WrapMode GetAttributeAnimationWrapMode(const String&) const; 3045 Variant GetAttributeDefault(const String&) const; 3046 bool GetInterceptNetworkUpdate(const String&) const; 3047 bool HasSubscribedToEvent(Object, const String&); 3048 bool HasSubscribedToEvent(const String&); 3049 bool Load(File, bool = false); 3050 bool Load(VectorBuffer&, bool = false); 3051 bool LoadJSON(const JSONValue&, bool = false); 3052 bool LoadXML(const XMLElement&, bool = false); 3053 void MarkNetworkUpdate() const; 3054 void Remove(); 3055 void RemoveAttributeAnimation(const String&); 3056 void RemoveInstanceDefault(); 3057 void RemoveObjectAnimation(); 3058 void ResetToDefault(); 3059 bool Save(File) const; 3060 bool Save(VectorBuffer&) const; 3061 bool SaveJSON(JSONValue&) const; 3062 bool SaveXML(XMLElement&) const; 3063 void SendEvent(const String&, VariantMap& = VariantMap ( )); 3064 void SetAnimationTime(float); 3065 bool SetAttribute(const String&, const Variant&); 3066 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 3067 void SetAttributeAnimationSpeed(const String&, float); 3068 void SetAttributeAnimationTime(const String&, float); 3069 void SetAttributeAnimationWrapMode(const String&, WrapMode); 3070 void SetInterceptNetworkUpdate(const String&, bool); 3071 3072 // Properties: 3073 Vector2 anchor; 3074 bool animationEnabled; 3075 /* readonly */ 3076 Array<Variant> attributeDefaults; 3077 /* readonly */ 3078 Array<AttributeInfo> attributeInfos; 3079 Array<Variant> attributes; 3080 Vector2 axis; 3081 /* readonly */ 3082 String category; 3083 bool collideConnected; 3084 bool enableLimit; 3085 bool enableMotor; 3086 bool enabled; 3087 /* readonly */ 3088 bool enabledEffective; 3089 /* readonly */ 3090 uint id; 3091 float lowerTranslation; 3092 float maxMotorForce; 3093 float motorSpeed; 3094 /* readonly */ 3095 Node node; 3096 /* readonly */ 3097 uint numAttributes; 3098 ObjectAnimation objectAnimation; 3099 RigidBody2D otherBody; 3100 /* readonly */ 3101 RigidBody2D ownerBody; 3102 /* readonly */ 3103 int refs; 3104 bool temporary; 3105 /* readonly */ 3106 StringHash type; 3107 /* readonly */ 3108 String typeName; 3109 float upperTranslation; 3110 /* readonly */ 3111 int weakRefs; 3112 }; 3113 3114 class ConstraintPulley2D 3115 { 3116 public: 3117 // Methods: 3118 void ApplyAttributes(); 3119 void DrawDebugGeometry(DebugRenderer, bool); 3120 Variant GetAttribute(const String&) const; 3121 ValueAnimation GetAttributeAnimation(const String&) const; 3122 float GetAttributeAnimationSpeed(const String&) const; 3123 float GetAttributeAnimationTime(const String&) const; 3124 WrapMode GetAttributeAnimationWrapMode(const String&) const; 3125 Variant GetAttributeDefault(const String&) const; 3126 bool GetInterceptNetworkUpdate(const String&) const; 3127 bool HasSubscribedToEvent(Object, const String&); 3128 bool HasSubscribedToEvent(const String&); 3129 bool Load(File, bool = false); 3130 bool Load(VectorBuffer&, bool = false); 3131 bool LoadJSON(const JSONValue&, bool = false); 3132 bool LoadXML(const XMLElement&, bool = false); 3133 void MarkNetworkUpdate() const; 3134 void Remove(); 3135 void RemoveAttributeAnimation(const String&); 3136 void RemoveInstanceDefault(); 3137 void RemoveObjectAnimation(); 3138 void ResetToDefault(); 3139 bool Save(File) const; 3140 bool Save(VectorBuffer&) const; 3141 bool SaveJSON(JSONValue&) const; 3142 bool SaveXML(XMLElement&) const; 3143 void SendEvent(const String&, VariantMap& = VariantMap ( )); 3144 void SetAnimationTime(float); 3145 bool SetAttribute(const String&, const Variant&); 3146 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 3147 void SetAttributeAnimationSpeed(const String&, float); 3148 void SetAttributeAnimationTime(const String&, float); 3149 void SetAttributeAnimationWrapMode(const String&, WrapMode); 3150 void SetInterceptNetworkUpdate(const String&, bool); 3151 3152 // Properties: 3153 bool animationEnabled; 3154 /* readonly */ 3155 Array<Variant> attributeDefaults; 3156 /* readonly */ 3157 Array<AttributeInfo> attributeInfos; 3158 Array<Variant> attributes; 3159 /* readonly */ 3160 String category; 3161 bool collideConnected; 3162 bool enabled; 3163 /* readonly */ 3164 bool enabledEffective; 3165 /* readonly */ 3166 uint id; 3167 /* readonly */ 3168 Node node; 3169 /* readonly */ 3170 uint numAttributes; 3171 ObjectAnimation objectAnimation; 3172 RigidBody2D otherBody; 3173 Vector2 otherBodyAnchor; 3174 Vector2 otherBodyGroundAnchor; 3175 /* readonly */ 3176 RigidBody2D ownerBody; 3177 Vector2 ownerBodyAnchor; 3178 Vector2 ownerBodyGroundAnchor; 3179 float ratio; 3180 /* readonly */ 3181 int refs; 3182 bool temporary; 3183 /* readonly */ 3184 StringHash type; 3185 /* readonly */ 3186 String typeName; 3187 /* readonly */ 3188 int weakRefs; 3189 }; 3190 3191 class ConstraintRevolute2D 3192 { 3193 public: 3194 // Methods: 3195 void ApplyAttributes(); 3196 void DrawDebugGeometry(DebugRenderer, bool); 3197 Variant GetAttribute(const String&) const; 3198 ValueAnimation GetAttributeAnimation(const String&) const; 3199 float GetAttributeAnimationSpeed(const String&) const; 3200 float GetAttributeAnimationTime(const String&) const; 3201 WrapMode GetAttributeAnimationWrapMode(const String&) const; 3202 Variant GetAttributeDefault(const String&) const; 3203 bool GetInterceptNetworkUpdate(const String&) const; 3204 bool HasSubscribedToEvent(Object, const String&); 3205 bool HasSubscribedToEvent(const String&); 3206 bool Load(File, bool = false); 3207 bool Load(VectorBuffer&, bool = false); 3208 bool LoadJSON(const JSONValue&, bool = false); 3209 bool LoadXML(const XMLElement&, bool = false); 3210 void MarkNetworkUpdate() const; 3211 void Remove(); 3212 void RemoveAttributeAnimation(const String&); 3213 void RemoveInstanceDefault(); 3214 void RemoveObjectAnimation(); 3215 void ResetToDefault(); 3216 bool Save(File) const; 3217 bool Save(VectorBuffer&) const; 3218 bool SaveJSON(JSONValue&) const; 3219 bool SaveXML(XMLElement&) const; 3220 void SendEvent(const String&, VariantMap& = VariantMap ( )); 3221 void SetAnimationTime(float); 3222 bool SetAttribute(const String&, const Variant&); 3223 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 3224 void SetAttributeAnimationSpeed(const String&, float); 3225 void SetAttributeAnimationTime(const String&, float); 3226 void SetAttributeAnimationWrapMode(const String&, WrapMode); 3227 void SetInterceptNetworkUpdate(const String&, bool); 3228 3229 // Properties: 3230 Vector2 anchor; 3231 bool animationEnabled; 3232 /* readonly */ 3233 Array<Variant> attributeDefaults; 3234 /* readonly */ 3235 Array<AttributeInfo> attributeInfos; 3236 Array<Variant> attributes; 3237 /* readonly */ 3238 String category; 3239 bool collideConnected; 3240 bool enableLimit; 3241 bool enableMotor; 3242 bool enabled; 3243 /* readonly */ 3244 bool enabledEffective; 3245 /* readonly */ 3246 uint id; 3247 float lowerAngle; 3248 float maxMotorTorque; 3249 float motorSpeed; 3250 /* readonly */ 3251 Node node; 3252 /* readonly */ 3253 uint numAttributes; 3254 ObjectAnimation objectAnimation; 3255 RigidBody2D otherBody; 3256 /* readonly */ 3257 RigidBody2D ownerBody; 3258 /* readonly */ 3259 int refs; 3260 bool temporary; 3261 /* readonly */ 3262 StringHash type; 3263 /* readonly */ 3264 String typeName; 3265 float upperAngle; 3266 /* readonly */ 3267 int weakRefs; 3268 }; 3269 3270 class ConstraintRope2D 3271 { 3272 public: 3273 // Methods: 3274 void ApplyAttributes(); 3275 void DrawDebugGeometry(DebugRenderer, bool); 3276 Variant GetAttribute(const String&) const; 3277 ValueAnimation GetAttributeAnimation(const String&) const; 3278 float GetAttributeAnimationSpeed(const String&) const; 3279 float GetAttributeAnimationTime(const String&) const; 3280 WrapMode GetAttributeAnimationWrapMode(const String&) const; 3281 Variant GetAttributeDefault(const String&) const; 3282 bool GetInterceptNetworkUpdate(const String&) const; 3283 bool HasSubscribedToEvent(Object, const String&); 3284 bool HasSubscribedToEvent(const String&); 3285 bool Load(File, bool = false); 3286 bool Load(VectorBuffer&, bool = false); 3287 bool LoadJSON(const JSONValue&, bool = false); 3288 bool LoadXML(const XMLElement&, bool = false); 3289 void MarkNetworkUpdate() const; 3290 void Remove(); 3291 void RemoveAttributeAnimation(const String&); 3292 void RemoveInstanceDefault(); 3293 void RemoveObjectAnimation(); 3294 void ResetToDefault(); 3295 bool Save(File) const; 3296 bool Save(VectorBuffer&) const; 3297 bool SaveJSON(JSONValue&) const; 3298 bool SaveXML(XMLElement&) const; 3299 void SendEvent(const String&, VariantMap& = VariantMap ( )); 3300 void SetAnimationTime(float); 3301 bool SetAttribute(const String&, const Variant&); 3302 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 3303 void SetAttributeAnimationSpeed(const String&, float); 3304 void SetAttributeAnimationTime(const String&, float); 3305 void SetAttributeAnimationWrapMode(const String&, WrapMode); 3306 void SetInterceptNetworkUpdate(const String&, bool); 3307 3308 // Properties: 3309 bool animationEnabled; 3310 /* readonly */ 3311 Array<Variant> attributeDefaults; 3312 /* readonly */ 3313 Array<AttributeInfo> attributeInfos; 3314 Array<Variant> attributes; 3315 /* readonly */ 3316 String category; 3317 bool collideConnected; 3318 bool enabled; 3319 /* readonly */ 3320 bool enabledEffective; 3321 /* readonly */ 3322 uint id; 3323 float maxLength; 3324 /* readonly */ 3325 Node node; 3326 /* readonly */ 3327 uint numAttributes; 3328 ObjectAnimation objectAnimation; 3329 RigidBody2D otherBody; 3330 Vector2 otherBodyAnchor; 3331 /* readonly */ 3332 RigidBody2D ownerBody; 3333 Vector2 ownerBodyAnchor; 3334 /* readonly */ 3335 int refs; 3336 bool temporary; 3337 /* readonly */ 3338 StringHash type; 3339 /* readonly */ 3340 String typeName; 3341 /* readonly */ 3342 int weakRefs; 3343 }; 3344 3345 class ConstraintWeld2D 3346 { 3347 public: 3348 // Methods: 3349 void ApplyAttributes(); 3350 void DrawDebugGeometry(DebugRenderer, bool); 3351 Variant GetAttribute(const String&) const; 3352 ValueAnimation GetAttributeAnimation(const String&) const; 3353 float GetAttributeAnimationSpeed(const String&) const; 3354 float GetAttributeAnimationTime(const String&) const; 3355 WrapMode GetAttributeAnimationWrapMode(const String&) const; 3356 Variant GetAttributeDefault(const String&) const; 3357 bool GetInterceptNetworkUpdate(const String&) const; 3358 bool HasSubscribedToEvent(Object, const String&); 3359 bool HasSubscribedToEvent(const String&); 3360 bool Load(File, bool = false); 3361 bool Load(VectorBuffer&, bool = false); 3362 bool LoadJSON(const JSONValue&, bool = false); 3363 bool LoadXML(const XMLElement&, bool = false); 3364 void MarkNetworkUpdate() const; 3365 void Remove(); 3366 void RemoveAttributeAnimation(const String&); 3367 void RemoveInstanceDefault(); 3368 void RemoveObjectAnimation(); 3369 void ResetToDefault(); 3370 bool Save(File) const; 3371 bool Save(VectorBuffer&) const; 3372 bool SaveJSON(JSONValue&) const; 3373 bool SaveXML(XMLElement&) const; 3374 void SendEvent(const String&, VariantMap& = VariantMap ( )); 3375 void SetAnimationTime(float); 3376 bool SetAttribute(const String&, const Variant&); 3377 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 3378 void SetAttributeAnimationSpeed(const String&, float); 3379 void SetAttributeAnimationTime(const String&, float); 3380 void SetAttributeAnimationWrapMode(const String&, WrapMode); 3381 void SetInterceptNetworkUpdate(const String&, bool); 3382 3383 // Properties: 3384 Vector2 anchor; 3385 bool animationEnabled; 3386 /* readonly */ 3387 Array<Variant> attributeDefaults; 3388 /* readonly */ 3389 Array<AttributeInfo> attributeInfos; 3390 Array<Variant> attributes; 3391 /* readonly */ 3392 String category; 3393 bool collideConnected; 3394 float dampingRatio; 3395 bool enabled; 3396 /* readonly */ 3397 bool enabledEffective; 3398 float frequencyHz; 3399 /* readonly */ 3400 uint id; 3401 /* readonly */ 3402 Node node; 3403 /* readonly */ 3404 uint numAttributes; 3405 ObjectAnimation objectAnimation; 3406 RigidBody2D otherBody; 3407 /* readonly */ 3408 RigidBody2D ownerBody; 3409 /* readonly */ 3410 int refs; 3411 bool temporary; 3412 /* readonly */ 3413 StringHash type; 3414 /* readonly */ 3415 String typeName; 3416 /* readonly */ 3417 int weakRefs; 3418 }; 3419 3420 class ConstraintWheel2D 3421 { 3422 public: 3423 // Methods: 3424 void ApplyAttributes(); 3425 void DrawDebugGeometry(DebugRenderer, bool); 3426 Variant GetAttribute(const String&) const; 3427 ValueAnimation GetAttributeAnimation(const String&) const; 3428 float GetAttributeAnimationSpeed(const String&) const; 3429 float GetAttributeAnimationTime(const String&) const; 3430 WrapMode GetAttributeAnimationWrapMode(const String&) const; 3431 Variant GetAttributeDefault(const String&) const; 3432 bool GetInterceptNetworkUpdate(const String&) const; 3433 bool HasSubscribedToEvent(Object, const String&); 3434 bool HasSubscribedToEvent(const String&); 3435 bool Load(File, bool = false); 3436 bool Load(VectorBuffer&, bool = false); 3437 bool LoadJSON(const JSONValue&, bool = false); 3438 bool LoadXML(const XMLElement&, bool = false); 3439 void MarkNetworkUpdate() const; 3440 void Remove(); 3441 void RemoveAttributeAnimation(const String&); 3442 void RemoveInstanceDefault(); 3443 void RemoveObjectAnimation(); 3444 void ResetToDefault(); 3445 bool Save(File) const; 3446 bool Save(VectorBuffer&) const; 3447 bool SaveJSON(JSONValue&) const; 3448 bool SaveXML(XMLElement&) const; 3449 void SendEvent(const String&, VariantMap& = VariantMap ( )); 3450 void SetAnimationTime(float); 3451 bool SetAttribute(const String&, const Variant&); 3452 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 3453 void SetAttributeAnimationSpeed(const String&, float); 3454 void SetAttributeAnimationTime(const String&, float); 3455 void SetAttributeAnimationWrapMode(const String&, WrapMode); 3456 void SetInterceptNetworkUpdate(const String&, bool); 3457 3458 // Properties: 3459 Vector2 anchor; 3460 bool animationEnabled; 3461 /* readonly */ 3462 Array<Variant> attributeDefaults; 3463 /* readonly */ 3464 Array<AttributeInfo> attributeInfos; 3465 Array<Variant> attributes; 3466 Vector2 axis; 3467 /* readonly */ 3468 String category; 3469 bool collideConnected; 3470 float dampingRatio; 3471 bool enableMotor; 3472 bool enabled; 3473 /* readonly */ 3474 bool enabledEffective; 3475 float frequencyHz; 3476 /* readonly */ 3477 uint id; 3478 float maxMotorTorque; 3479 float motorSpeed; 3480 /* readonly */ 3481 Node node; 3482 /* readonly */ 3483 uint numAttributes; 3484 ObjectAnimation objectAnimation; 3485 RigidBody2D otherBody; 3486 /* readonly */ 3487 RigidBody2D ownerBody; 3488 /* readonly */ 3489 int refs; 3490 bool temporary; 3491 /* readonly */ 3492 StringHash type; 3493 /* readonly */ 3494 String typeName; 3495 /* readonly */ 3496 int weakRefs; 3497 }; 3498 3499 class Controls 3500 { 3501 public: 3502 ~Controls(); 3503 Controls(); 3504 Controls(const Controls&in); 3505 // Methods: 3506 bool IsDown(uint) const; 3507 bool IsPressed(uint, const Controls&) const; 3508 void Reset(); 3509 void Set(uint, bool); 3510 3511 // Properties: 3512 uint buttons; 3513 VariantMap extraData; 3514 float pitch; 3515 float yaw; 3516 }; 3517 3518 class CrowdAgent 3519 { 3520 public: 3521 // Methods: 3522 void ApplyAttributes(); 3523 void DrawDebugGeometry(DebugRenderer, bool); 3524 void DrawDebugGeometry(bool); 3525 Variant GetAttribute(const String&) const; 3526 ValueAnimation GetAttributeAnimation(const String&) const; 3527 float GetAttributeAnimationSpeed(const String&) const; 3528 float GetAttributeAnimationTime(const String&) const; 3529 WrapMode GetAttributeAnimationWrapMode(const String&) const; 3530 Variant GetAttributeDefault(const String&) const; 3531 bool GetInterceptNetworkUpdate(const String&) const; 3532 bool HasSubscribedToEvent(Object, const String&); 3533 bool HasSubscribedToEvent(const String&); 3534 bool Load(File, bool = false); 3535 bool Load(VectorBuffer&, bool = false); 3536 bool LoadJSON(const JSONValue&, bool = false); 3537 bool LoadXML(const XMLElement&, bool = false); 3538 void MarkNetworkUpdate() const; 3539 void Remove(); 3540 void RemoveAttributeAnimation(const String&); 3541 void RemoveInstanceDefault(); 3542 void RemoveObjectAnimation(); 3543 void ResetTarget(); 3544 void ResetToDefault(); 3545 bool Save(File) const; 3546 bool Save(VectorBuffer&) const; 3547 bool SaveJSON(JSONValue&) const; 3548 bool SaveXML(XMLElement&) const; 3549 void SendEvent(const String&, VariantMap& = VariantMap ( )); 3550 void SetAnimationTime(float); 3551 bool SetAttribute(const String&, const Variant&); 3552 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 3553 void SetAttributeAnimationSpeed(const String&, float); 3554 void SetAttributeAnimationTime(const String&, float); 3555 void SetAttributeAnimationWrapMode(const String&, WrapMode); 3556 void SetInterceptNetworkUpdate(const String&, bool); 3557 3558 // Properties: 3559 /* readonly */ 3560 Vector3 actualVelocity; 3561 /* readonly */ 3562 CrowdAgentState agentState; 3563 bool animationEnabled; 3564 /* readonly */ 3565 bool arrived; 3566 /* readonly */ 3567 Array<Variant> attributeDefaults; 3568 /* readonly */ 3569 Array<AttributeInfo> attributeInfos; 3570 Array<Variant> attributes; 3571 /* readonly */ 3572 String category; 3573 /* readonly */ 3574 Vector3 desiredVelocity; 3575 bool enabled; 3576 /* readonly */ 3577 bool enabledEffective; 3578 float height; 3579 /* readonly */ 3580 uint id; 3581 /* readonly */ 3582 bool inCrowd; 3583 float maxAccel; 3584 float maxSpeed; 3585 NavigationPushiness navigationPushiness; 3586 NavigationQuality navigationQuality; 3587 /* readonly */ 3588 Node node; 3589 /* readonly */ 3590 uint numAttributes; 3591 ObjectAnimation objectAnimation; 3592 uint obstacleAvoidanceType; 3593 /* readonly */ 3594 Vector3 position; 3595 uint queryFilterType; 3596 float radius; 3597 /* readonly */ 3598 int refs; 3599 /* readonly */ 3600 bool requestedTarget; 3601 /* readonly */ 3602 CrowdAgentRequestedTarget requestedTargetType; 3603 Vector3 targetPosition; 3604 /* readonly */ 3605 CrowdAgentTargetState targetState; 3606 Vector3 targetVelocity; 3607 bool temporary; 3608 /* readonly */ 3609 StringHash type; 3610 /* readonly */ 3611 String typeName; 3612 bool updateNodePosition; 3613 /* readonly */ 3614 int weakRefs; 3615 }; 3616 3617 class CrowdManager 3618 { 3619 public: 3620 // Methods: 3621 void ApplyAttributes(); 3622 const CrowdObstacleAvoidanceParams& GetObstacleAvoidanceParams(uint); 3623 void DrawDebugGeometry(DebugRenderer, bool); 3624 void DrawDebugGeometry(bool); 3625 Vector3 FindNearestPoint(const Vector3&, int); 3626 Array<CrowdAgent> GetAgents(Node = null, bool = true); 3627 float GetAreaCost(uint, uint); 3628 Variant GetAttribute(const String&) const; 3629 ValueAnimation GetAttributeAnimation(const String&) const; 3630 float GetAttributeAnimationSpeed(const String&) const; 3631 float GetAttributeAnimationTime(const String&) const; 3632 WrapMode GetAttributeAnimationWrapMode(const String&) const; 3633 Variant GetAttributeDefault(const String&) const; 3634 float GetDistanceToWall(const Vector3&, float, int); 3635 uint16 GetExcludeFlags(uint); 3636 uint16 GetIncludeFlags(uint); 3637 bool GetInterceptNetworkUpdate(const String&) const; 3638 Vector3 GetRandomPoint(int); 3639 Vector3 GetRandomPointInCircle(const Vector3&, float, int); 3640 bool HasSubscribedToEvent(Object, const String&); 3641 bool HasSubscribedToEvent(const String&); 3642 bool Load(File, bool = false); 3643 bool Load(VectorBuffer&, bool = false); 3644 bool LoadJSON(const JSONValue&, bool = false); 3645 bool LoadXML(const XMLElement&, bool = false); 3646 void MarkNetworkUpdate() const; 3647 Vector3 MoveAlongSurface(const Vector3&, const Vector3&, int, uint = 3); 3648 Vector3 Raycast(const Vector3&, const Vector3&, int); 3649 void Remove(); 3650 void RemoveAttributeAnimation(const String&); 3651 void RemoveInstanceDefault(); 3652 void RemoveObjectAnimation(); 3653 void ResetCrowdTarget(Node = null); 3654 void ResetToDefault(); 3655 bool Save(File) const; 3656 bool Save(VectorBuffer&) const; 3657 bool SaveJSON(JSONValue&) const; 3658 bool SaveXML(XMLElement&) const; 3659 void SendEvent(const String&, VariantMap& = VariantMap ( )); 3660 void SetAnimationTime(float); 3661 void SetAreaCost(uint, uint, float); 3662 bool SetAttribute(const String&, const Variant&); 3663 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 3664 void SetAttributeAnimationSpeed(const String&, float); 3665 void SetAttributeAnimationTime(const String&, float); 3666 void SetAttributeAnimationWrapMode(const String&, WrapMode); 3667 void SetCrowdTarget(const Vector3&, Node = null); 3668 void SetCrowdVelocity(const Vector3&, Node = null); 3669 void SetExcludeFlags(uint, uint16); 3670 void SetIncludeFlags(uint, uint16); 3671 void SetInterceptNetworkUpdate(const String&, bool); 3672 void SetObstacleAvoidanceParams(uint, const CrowdObstacleAvoidanceParams&); 3673 3674 // Properties: 3675 bool animationEnabled; 3676 /* readonly */ 3677 Array<Variant> attributeDefaults; 3678 /* readonly */ 3679 Array<AttributeInfo> attributeInfos; 3680 Array<Variant> attributes; 3681 /* readonly */ 3682 String category; 3683 bool enabled; 3684 /* readonly */ 3685 bool enabledEffective; 3686 /* readonly */ 3687 uint id; 3688 float maxAgentRadius; 3689 int maxAgents; 3690 NavigationMesh navMesh; 3691 /* readonly */ 3692 Node node; 3693 /* readonly */ 3694 Array<uint> numAreas; 3695 /* readonly */ 3696 uint numAttributes; 3697 /* readonly */ 3698 uint numObstacleAvoidanceTypes; 3699 /* readonly */ 3700 uint numQueryFilterTypes; 3701 ObjectAnimation objectAnimation; 3702 /* readonly */ 3703 int refs; 3704 bool temporary; 3705 /* readonly */ 3706 StringHash type; 3707 /* readonly */ 3708 String typeName; 3709 /* readonly */ 3710 int weakRefs; 3711 }; 3712 3713 class CrowdObstacleAvoidanceParams 3714 { 3715 public: 3716 3717 // Properties: 3718 uint8 adaptiveDepth; 3719 uint8 adaptiveDivs; 3720 uint8 adaptiveRings; 3721 uint8 gridSize; 3722 float horizTime; 3723 float velBias; 3724 float weightCurVel; 3725 float weightDesVel; 3726 float weightSide; 3727 float weightToi; 3728 }; 3729 3730 class Cursor 3731 { 3732 public: 3733 Cursor(); 3734 Cursor(const String&in); 3735 // Methods: 3736 void AddChild(UIElement); 3737 void AddTag(const String&); 3738 void AddTags(const String&, int8 = ';'); 3739 void ApplyAttributes(); 3740 void BringToFront(); 3741 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 3742 void DefineShape(CursorShape, Texture, const IntRect&, const IntVector2&); 3743 void DefineShape(const String&, Texture, const IntRect&, const IntVector2&); 3744 void DisableLayoutUpdate(); 3745 IntVector2 ElementToScreen(const IntVector2&); 3746 void EnableLayoutUpdate(); 3747 uint FindChild(UIElement) const; 3748 Variant GetAttribute(const String&) const; 3749 ValueAnimation GetAttributeAnimation(const String&) const; 3750 float GetAttributeAnimationSpeed(const String&) const; 3751 float GetAttributeAnimationTime(const String&) const; 3752 WrapMode GetAttributeAnimationWrapMode(const String&) const; 3753 Variant GetAttributeDefault(const String&) const; 3754 UIElement GetChild(const String&, bool = false) const; 3755 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 3756 Array<UIElement> GetChildren(bool = false) const; 3757 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 3758 UIElement GetElementEventSender() const; 3759 bool GetInterceptNetworkUpdate(const String&) const; 3760 uint GetNumChildren(bool) const; 3761 bool HasSubscribedToEvent(Object, const String&); 3762 bool HasSubscribedToEvent(const String&); 3763 bool HasTag(const String&) const; 3764 void InsertChild(uint, UIElement); 3765 bool IsInside(IntVector2, bool); 3766 bool IsInsideCombined(IntVector2, bool); 3767 bool Load(File, bool = false); 3768 bool Load(VectorBuffer&, bool = false); 3769 UIElement LoadChildXML(XMLFile, XMLFile = null); 3770 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 3771 bool LoadJSON(const JSONValue&, bool = false); 3772 bool LoadXML(File); 3773 bool LoadXML(VectorBuffer&); 3774 bool LoadXML(XMLFile, XMLFile); 3775 bool LoadXML(const XMLElement&, XMLFile, bool = false); 3776 bool LoadXML(const XMLElement&, bool = false); 3777 void MarkNetworkUpdate() const; 3778 void Remove(); 3779 void RemoveAllChildren(); 3780 void RemoveAllTags(); 3781 void RemoveAttributeAnimation(const String&); 3782 void RemoveChild(UIElement, uint = 0); 3783 void RemoveChild(uint); 3784 void RemoveInstanceDefault(); 3785 void RemoveObjectAnimation(); 3786 bool RemoveTag(const String&); 3787 void ResetDeepEnabled(); 3788 void ResetToDefault(); 3789 bool Save(File) const; 3790 bool Save(VectorBuffer&) const; 3791 bool SaveJSON(JSONValue&) const; 3792 bool SaveXML(File, const String& = "\t"); 3793 bool SaveXML(VectorBuffer&, const String& = "\t"); 3794 bool SaveXML(XMLElement&) const; 3795 IntVector2 ScreenToElement(const IntVector2&); 3796 void SendEvent(const String&, VariantMap& = VariantMap ( )); 3797 void SetAlignment(HorizontalAlignment, VerticalAlignment); 3798 void SetAnimationTime(float); 3799 bool SetAttribute(const String&, const Variant&); 3800 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 3801 void SetAttributeAnimationSpeed(const String&, float); 3802 void SetAttributeAnimationTime(const String&, float); 3803 void SetAttributeAnimationWrapMode(const String&, WrapMode); 3804 void SetDeepEnabled(bool); 3805 void SetEnabledRecursive(bool); 3806 void SetFixedHeight(int); 3807 void SetFixedSize(int, int); 3808 void SetFixedWidth(int); 3809 void SetFullImageRect(); 3810 void SetHoverOffset(int, int); 3811 void SetInterceptNetworkUpdate(const String&, bool); 3812 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 3813 void SetMaxAnchor(float, float); 3814 void SetMaxSize(int, int); 3815 void SetMinAnchor(float, float); 3816 void SetMinSize(int, int); 3817 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 3818 void SetPivot(float, float); 3819 void SetPosition(int, int); 3820 void SetShape(CursorShape); 3821 void SetShape(const String&); 3822 void SetSize(int, int); 3823 bool SetStyle(const String&, XMLFile = null); 3824 bool SetStyle(const XMLElement&); 3825 bool SetStyleAuto(XMLFile = null); 3826 void UpdateLayout(); 3827 const Variant& GetVar(const StringHash&); 3828 3829 // Properties: 3830 bool animationEnabled; 3831 /* readonly */ 3832 Array<Variant> attributeDefaults; 3833 /* readonly */ 3834 Array<AttributeInfo> attributeInfos; 3835 Array<Variant> attributes; 3836 BlendMode blendMode; 3837 IntRect border; 3838 bool bringToBack; 3839 bool bringToFront; 3840 /* readonly */ 3841 String category; 3842 /* readonly */ 3843 IntVector2 childOffset; 3844 /* readonly */ 3845 Array<UIElement> children; 3846 IntRect clipBorder; 3847 bool clipChildren; 3848 /* writeonly */ 3849 Color color; 3850 /* readonly */ 3851 bool colorGradient; 3852 Array<Color> colors; 3853 /* readonly */ 3854 IntRect combinedScreenRect; 3855 XMLFile defaultStyle; 3856 /* readonly */ 3857 float derivedOpacity; 3858 /* readonly */ 3859 uint dragButtonCombo; 3860 /* readonly */ 3861 int dragButtonCount; 3862 uint dragDropMode; 3863 bool editable; 3864 bool elementEventSender; 3865 bool enableAnchor; 3866 bool enabled; 3867 /* readonly */ 3868 bool enabledSelf; 3869 /* readonly */ 3870 bool fixedHeight; 3871 /* readonly */ 3872 bool fixedSize; 3873 /* readonly */ 3874 bool fixedWidth; 3875 bool focus; 3876 FocusMode focusMode; 3877 int height; 3878 HorizontalAlignment horizontalAlignment; 3879 IntVector2 hoverOffset; 3880 /* readonly */ 3881 bool hovering; 3882 IntRect imageBorder; 3883 IntRect imageRect; 3884 int indent; 3885 int indentSpacing; 3886 /* readonly */ 3887 int indentWidth; 3888 bool internal; 3889 IntRect layoutBorder; 3890 Vector2 layoutFlexScale; 3891 LayoutMode layoutMode; 3892 int layoutSpacing; 3893 Vector2 maxAnchor; 3894 int maxHeight; 3895 IntVector2 maxOffset; 3896 IntVector2 maxSize; 3897 int maxWidth; 3898 Vector2 minAnchor; 3899 int minHeight; 3900 IntVector2 minOffset; 3901 IntVector2 minSize; 3902 int minWidth; 3903 String name; 3904 /* readonly */ 3905 uint numAllChildren; 3906 /* readonly */ 3907 uint numAttributes; 3908 /* readonly */ 3909 uint numChildren; 3910 ObjectAnimation objectAnimation; 3911 float opacity; 3912 UIElement parent; 3913 Vector2 pivot; 3914 IntVector2 position; 3915 int priority; 3916 /* readonly */ 3917 int refs; 3918 /* readonly */ 3919 UIElement root; 3920 /* readonly */ 3921 IntVector2 screenPosition; 3922 bool selected; 3923 String shape; 3924 IntVector2 size; 3925 bool sortChildren; 3926 String style; 3927 /* readonly */ 3928 Array<String> tags; 3929 bool temporary; 3930 Texture texture; 3931 bool tiled; 3932 TraversalMode traversalMode; 3933 /* readonly */ 3934 StringHash type; 3935 /* readonly */ 3936 String typeName; 3937 bool useDerivedOpacity; 3938 bool useSystemShapes; 3939 /* readonly */ 3940 VariantMap vars; 3941 VerticalAlignment verticalAlignment; 3942 bool visible; 3943 /* readonly */ 3944 bool visibleEffective; 3945 /* readonly */ 3946 int weakRefs; 3947 int width; 3948 }; 3949 3950 class CustomGeometry 3951 { 3952 public: 3953 // Methods: 3954 void ApplyAttributes(); 3955 void BeginGeometry(uint, PrimitiveType); 3956 void Clear(); 3957 void Commit(); 3958 void DefineColor(const Color&); 3959 void DefineGeometry(uint, PrimitiveType, uint, bool, bool, bool, bool); 3960 void DefineNormal(const Vector3&); 3961 void DefineTangent(const Vector4&); 3962 void DefineTexCoord(const Vector2&); 3963 void DefineVertex(const Vector3&); 3964 void DrawDebugGeometry(DebugRenderer, bool); 3965 Variant GetAttribute(const String&) const; 3966 ValueAnimation GetAttributeAnimation(const String&) const; 3967 float GetAttributeAnimationSpeed(const String&) const; 3968 float GetAttributeAnimationTime(const String&) const; 3969 WrapMode GetAttributeAnimationWrapMode(const String&) const; 3970 Variant GetAttributeDefault(const String&) const; 3971 bool GetInterceptNetworkUpdate(const String&) const; 3972 CustomGeometryVertex GetVertex(uint, uint); 3973 bool HasSubscribedToEvent(Object, const String&); 3974 bool HasSubscribedToEvent(const String&); 3975 bool IsInView(Camera) const; 3976 bool Load(File, bool = false); 3977 bool Load(VectorBuffer&, bool = false); 3978 bool LoadJSON(const JSONValue&, bool = false); 3979 bool LoadXML(const XMLElement&, bool = false); 3980 void MarkNetworkUpdate() const; 3981 void Remove(); 3982 void RemoveAttributeAnimation(const String&); 3983 void RemoveInstanceDefault(); 3984 void RemoveObjectAnimation(); 3985 void ResetToDefault(); 3986 bool Save(File) const; 3987 bool Save(VectorBuffer&) const; 3988 bool SaveJSON(JSONValue&) const; 3989 bool SaveXML(XMLElement&) const; 3990 void SendEvent(const String&, VariantMap& = VariantMap ( )); 3991 void SetAnimationTime(float); 3992 bool SetAttribute(const String&, const Variant&); 3993 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 3994 void SetAttributeAnimationSpeed(const String&, float); 3995 void SetAttributeAnimationTime(const String&, float); 3996 void SetAttributeAnimationWrapMode(const String&, WrapMode); 3997 void SetInterceptNetworkUpdate(const String&, bool); 3998 3999 // Properties: 4000 bool animationEnabled; 4001 /* readonly */ 4002 Array<Variant> attributeDefaults; 4003 /* readonly */ 4004 Array<AttributeInfo> attributeInfos; 4005 Array<Variant> attributes; 4006 /* readonly */ 4007 BoundingBox boundingBox; 4008 bool castShadows; 4009 /* readonly */ 4010 String category; 4011 float drawDistance; 4012 bool dynamic; 4013 bool enabled; 4014 /* readonly */ 4015 bool enabledEffective; 4016 /* readonly */ 4017 uint id; 4018 /* readonly */ 4019 bool inView; 4020 uint lightMask; 4021 float lodBias; 4022 /* writeonly */ 4023 Material material; 4024 Array<Material> materials; 4025 uint maxLights; 4026 /* readonly */ 4027 Node node; 4028 /* readonly */ 4029 uint numAttributes; 4030 uint numGeometries; 4031 /* readonly */ 4032 Array<uint> numVertices; 4033 ObjectAnimation objectAnimation; 4034 bool occludee; 4035 bool occluder; 4036 /* readonly */ 4037 int refs; 4038 float shadowDistance; 4039 uint shadowMask; 4040 bool temporary; 4041 /* readonly */ 4042 StringHash type; 4043 /* readonly */ 4044 String typeName; 4045 uint viewMask; 4046 /* readonly */ 4047 int weakRefs; 4048 /* readonly */ 4049 BoundingBox worldBoundingBox; 4050 /* readonly */ 4051 Zone zone; 4052 uint zoneMask; 4053 }; 4054 4055 class CustomGeometryVertex 4056 { 4057 public: 4058 4059 // Properties: 4060 uint color; 4061 Vector3 normal; 4062 Vector3 position; 4063 Vector4 tangent; 4064 Vector2 texCoord; 4065 }; 4066 4067 class Database 4068 { 4069 public: 4070 // Methods: 4071 DbConnection Connect(const String&); 4072 void Disconnect(DbConnection); 4073 bool HasSubscribedToEvent(Object, const String&); 4074 bool HasSubscribedToEvent(const String&); 4075 void SendEvent(const String&, VariantMap& = VariantMap ( )); 4076 4077 // Properties: 4078 /* readonly */ 4079 String category; 4080 uint poolSize; 4081 /* readonly */ 4082 bool pooling; 4083 /* readonly */ 4084 int refs; 4085 /* readonly */ 4086 StringHash type; 4087 /* readonly */ 4088 String typeName; 4089 /* readonly */ 4090 int weakRefs; 4091 }; 4092 4093 class DbConnection 4094 { 4095 public: 4096 // Methods: 4097 DbResult Execute(const String&, bool = false); 4098 bool HasSubscribedToEvent(Object, const String&); 4099 bool HasSubscribedToEvent(const String&); 4100 void SendEvent(const String&, VariantMap& = VariantMap ( )); 4101 4102 // Properties: 4103 /* readonly */ 4104 String category; 4105 /* readonly */ 4106 bool connected; 4107 /* readonly */ 4108 String connectionString; 4109 /* readonly */ 4110 int refs; 4111 /* readonly */ 4112 StringHash type; 4113 /* readonly */ 4114 String typeName; 4115 /* readonly */ 4116 int weakRefs; 4117 }; 4118 4119 class DbResult 4120 { 4121 public: 4122 ~DbResult(); 4123 DbResult(); 4124 DbResult(const DbResult&in); 4125 4126 // Properties: 4127 /* readonly */ 4128 Array<String> columns; 4129 /* readonly */ 4130 int64 numAffectedRows; 4131 /* readonly */ 4132 uint numColumns; 4133 /* readonly */ 4134 uint numRows; 4135 /* readonly */ 4136 Array<Array<Variant>> row; 4137 }; 4138 4139 class DebugHud 4140 { 4141 public: 4142 // Methods: 4143 void ClearAppStats(); 4144 bool HasSubscribedToEvent(Object, const String&); 4145 bool HasSubscribedToEvent(const String&); 4146 void ResetAppStats(const String&); 4147 void SendEvent(const String&, VariantMap& = VariantMap ( )); 4148 void SetAppStats(const String&, const String&); 4149 void SetAppStats(const String&, const Variant&); 4150 void Toggle(uint); 4151 void ToggleAll(); 4152 void Update(); 4153 4154 // Properties: 4155 /* readonly */ 4156 String category; 4157 XMLFile defaultStyle; 4158 /* readonly */ 4159 Text memoryText; 4160 uint mode; 4161 /* readonly */ 4162 Text modeText; 4163 float profilerInterval; 4164 uint profilerMaxDepth; 4165 /* readonly */ 4166 Text profilerText; 4167 /* readonly */ 4168 int refs; 4169 /* readonly */ 4170 Text statsText; 4171 /* readonly */ 4172 StringHash type; 4173 /* readonly */ 4174 String typeName; 4175 bool useRendererStats; 4176 /* readonly */ 4177 int weakRefs; 4178 }; 4179 4180 class DebugRenderer 4181 { 4182 public: 4183 // Methods: 4184 void AddBoundingBox(const BoundingBox&, const Color&, bool = true, bool = false); 4185 void AddCircle(const Vector3&, const Vector3&, float, const Color&, int = 64, bool = true); 4186 void AddCross(const Vector3&, float, const Color&, bool = true); 4187 void AddFrustum(const Frustum&, const Color&, bool = true); 4188 void AddLine(const Vector3&, const Vector3&, const Color&, bool = true); 4189 void AddNode(Node, float = 1.0, bool = true); 4190 void AddPolygon(const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Color&, bool = true); 4191 void AddPolyhedron(const Polyhedron&, const Color&, bool = true); 4192 void AddQuad(const Vector3&, float, float, const Color&, bool = true); 4193 void AddSkeleton(Skeleton, const Color&, bool = true); 4194 void AddSphere(const Sphere&, const Color&, bool = true); 4195 void AddSphereSector(const Sphere&, const Quaternion&, float, bool, const Color&, bool = true); 4196 void AddTriangle(const Vector3&, const Vector3&, const Vector3&, const Color&, bool = true); 4197 void ApplyAttributes(); 4198 void DrawDebugGeometry(DebugRenderer, bool); 4199 Variant GetAttribute(const String&) const; 4200 ValueAnimation GetAttributeAnimation(const String&) const; 4201 float GetAttributeAnimationSpeed(const String&) const; 4202 float GetAttributeAnimationTime(const String&) const; 4203 WrapMode GetAttributeAnimationWrapMode(const String&) const; 4204 Variant GetAttributeDefault(const String&) const; 4205 bool GetInterceptNetworkUpdate(const String&) const; 4206 bool HasSubscribedToEvent(Object, const String&); 4207 bool HasSubscribedToEvent(const String&); 4208 bool Load(File, bool = false); 4209 bool Load(VectorBuffer&, bool = false); 4210 bool LoadJSON(const JSONValue&, bool = false); 4211 bool LoadXML(const XMLElement&, bool = false); 4212 void MarkNetworkUpdate() const; 4213 void Remove(); 4214 void RemoveAttributeAnimation(const String&); 4215 void RemoveInstanceDefault(); 4216 void RemoveObjectAnimation(); 4217 void ResetToDefault(); 4218 bool Save(File) const; 4219 bool Save(VectorBuffer&) const; 4220 bool SaveJSON(JSONValue&) const; 4221 bool SaveXML(XMLElement&) const; 4222 void SendEvent(const String&, VariantMap& = VariantMap ( )); 4223 void SetAnimationTime(float); 4224 bool SetAttribute(const String&, const Variant&); 4225 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 4226 void SetAttributeAnimationSpeed(const String&, float); 4227 void SetAttributeAnimationTime(const String&, float); 4228 void SetAttributeAnimationWrapMode(const String&, WrapMode); 4229 void SetInterceptNetworkUpdate(const String&, bool); 4230 4231 // Properties: 4232 bool animationEnabled; 4233 /* readonly */ 4234 Array<Variant> attributeDefaults; 4235 /* readonly */ 4236 Array<AttributeInfo> attributeInfos; 4237 Array<Variant> attributes; 4238 /* readonly */ 4239 String category; 4240 bool enabled; 4241 /* readonly */ 4242 bool enabledEffective; 4243 /* readonly */ 4244 uint id; 4245 bool lineAntiAlias; 4246 /* readonly */ 4247 Node node; 4248 /* readonly */ 4249 uint numAttributes; 4250 ObjectAnimation objectAnimation; 4251 /* readonly */ 4252 int refs; 4253 bool temporary; 4254 /* readonly */ 4255 StringHash type; 4256 /* readonly */ 4257 String typeName; 4258 /* readonly */ 4259 int weakRefs; 4260 }; 4261 4262 class DecalSet 4263 { 4264 public: 4265 // Methods: 4266 bool AddDecal(Drawable, const Vector3&, const Quaternion&, float, float, float, const Vector2&, const Vector2&, float = 0.0, float = 0.1, uint = 0xffffffff); 4267 void ApplyAttributes(); 4268 void DrawDebugGeometry(DebugRenderer, bool); 4269 Variant GetAttribute(const String&) const; 4270 ValueAnimation GetAttributeAnimation(const String&) const; 4271 float GetAttributeAnimationSpeed(const String&) const; 4272 float GetAttributeAnimationTime(const String&) const; 4273 WrapMode GetAttributeAnimationWrapMode(const String&) const; 4274 Variant GetAttributeDefault(const String&) const; 4275 bool GetInterceptNetworkUpdate(const String&) const; 4276 bool HasSubscribedToEvent(Object, const String&); 4277 bool HasSubscribedToEvent(const String&); 4278 bool IsInView(Camera) const; 4279 bool Load(File, bool = false); 4280 bool Load(VectorBuffer&, bool = false); 4281 bool LoadJSON(const JSONValue&, bool = false); 4282 bool LoadXML(const XMLElement&, bool = false); 4283 void MarkNetworkUpdate() const; 4284 void Remove(); 4285 void RemoveAllDecals(); 4286 void RemoveAttributeAnimation(const String&); 4287 void RemoveDecals(uint); 4288 void RemoveInstanceDefault(); 4289 void RemoveObjectAnimation(); 4290 void ResetToDefault(); 4291 bool Save(File) const; 4292 bool Save(VectorBuffer&) const; 4293 bool SaveJSON(JSONValue&) const; 4294 bool SaveXML(XMLElement&) const; 4295 void SendEvent(const String&, VariantMap& = VariantMap ( )); 4296 void SetAnimationTime(float); 4297 bool SetAttribute(const String&, const Variant&); 4298 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 4299 void SetAttributeAnimationSpeed(const String&, float); 4300 void SetAttributeAnimationTime(const String&, float); 4301 void SetAttributeAnimationWrapMode(const String&, WrapMode); 4302 void SetInterceptNetworkUpdate(const String&, bool); 4303 4304 // Properties: 4305 bool animationEnabled; 4306 /* readonly */ 4307 Array<Variant> attributeDefaults; 4308 /* readonly */ 4309 Array<AttributeInfo> attributeInfos; 4310 Array<Variant> attributes; 4311 /* readonly */ 4312 BoundingBox boundingBox; 4313 bool castShadows; 4314 /* readonly */ 4315 String category; 4316 float drawDistance; 4317 bool enabled; 4318 /* readonly */ 4319 bool enabledEffective; 4320 /* readonly */ 4321 uint id; 4322 /* readonly */ 4323 bool inView; 4324 uint lightMask; 4325 float lodBias; 4326 Material material; 4327 uint maxIndices; 4328 uint maxLights; 4329 uint maxVertices; 4330 /* readonly */ 4331 Node node; 4332 /* readonly */ 4333 uint numAttributes; 4334 /* readonly */ 4335 uint numDecals; 4336 /* readonly */ 4337 uint numIndices; 4338 /* readonly */ 4339 uint numVertices; 4340 ObjectAnimation objectAnimation; 4341 bool occludee; 4342 bool occluder; 4343 bool optimizeBufferSize; 4344 /* readonly */ 4345 int refs; 4346 float shadowDistance; 4347 uint shadowMask; 4348 bool temporary; 4349 /* readonly */ 4350 StringHash type; 4351 /* readonly */ 4352 String typeName; 4353 uint viewMask; 4354 /* readonly */ 4355 int weakRefs; 4356 /* readonly */ 4357 BoundingBox worldBoundingBox; 4358 /* readonly */ 4359 Zone zone; 4360 uint zoneMask; 4361 }; 4362 4363 class Deserializer 4364 { 4365 public: 4366 // Methods: 4367 Array<uint8> Read(uint); 4368 bool ReadBool(); 4369 BoundingBox ReadBoundingBox(); 4370 int8 ReadByte(); 4371 Color ReadColor(); 4372 double ReadDouble(); 4373 String ReadFileID(); 4374 float ReadFloat(); 4375 int ReadInt(); 4376 int64 ReadInt64(); 4377 IntRect ReadIntRect(); 4378 IntVector2 ReadIntVector2(); 4379 String ReadLine(); 4380 Matrix3 ReadMatrix3(); 4381 Matrix3x4 ReadMatrix3x4(); 4382 Matrix4 ReadMatrix4(); 4383 uint ReadNetID(); 4384 Quaternion ReadPackedQuaternion(); 4385 Vector3 ReadPackedVector3(float); 4386 Quaternion ReadQuaternion(); 4387 int16 ReadShort(); 4388 String ReadString(); 4389 StringHash ReadStringHash(); 4390 uint8 ReadUByte(); 4391 uint ReadUInt(); 4392 uint64 ReadUInt64(); 4393 uint16 ReadUShort(); 4394 uint ReadVLE(); 4395 Variant ReadVariant(); 4396 VariantMap ReadVariantMap(); 4397 Vector2 ReadVector2(); 4398 Vector3 ReadVector3(); 4399 Vector4 ReadVector4(); 4400 VectorBuffer ReadVectorBuffer(uint); 4401 uint Seek(uint); 4402 uint SeekRelative(int); 4403 uint Tell() const; 4404 4405 // Properties: 4406 /* readonly */ 4407 uint checksum; 4408 /* readonly */ 4409 bool eof; 4410 /* readonly */ 4411 String name; 4412 /* readonly */ 4413 uint position; 4414 /* readonly */ 4415 uint size; 4416 }; 4417 4418 class Dictionary 4419 { 4420 public: 4421 Dictionary(); 4422 // Methods: 4423 void Clear(); 4424 void Erase(const String&); 4425 bool Exists(const String&) const; 4426 bool Get(const String&, void*) const; 4427 bool Get(const String&, double&) const; 4428 bool Get(const String&, int64&) const; 4429 void Set(const String&, const void*); 4430 void Set(const String&, const double&); 4431 void Set(const String&, const int64&); 4432 4433 // Properties: 4434 /* readonly */ 4435 bool empty; 4436 /* readonly */ 4437 Array<String> keys; 4438 /* readonly */ 4439 uint length; 4440 }; 4441 4442 class DictionaryValue 4443 { 4444 public: 4445 ~DictionaryValue(); 4446 DictionaryValue(); 4447 }; 4448 4449 class Drawable 4450 { 4451 public: 4452 // Methods: 4453 void ApplyAttributes(); 4454 void DrawDebugGeometry(DebugRenderer, bool); 4455 Variant GetAttribute(const String&) const; 4456 ValueAnimation GetAttributeAnimation(const String&) const; 4457 float GetAttributeAnimationSpeed(const String&) const; 4458 float GetAttributeAnimationTime(const String&) const; 4459 WrapMode GetAttributeAnimationWrapMode(const String&) const; 4460 Variant GetAttributeDefault(const String&) const; 4461 bool GetInterceptNetworkUpdate(const String&) const; 4462 bool HasSubscribedToEvent(Object, const String&); 4463 bool HasSubscribedToEvent(const String&); 4464 bool IsInView(Camera) const; 4465 bool Load(File, bool = false); 4466 bool Load(VectorBuffer&, bool = false); 4467 bool LoadJSON(const JSONValue&, bool = false); 4468 bool LoadXML(const XMLElement&, bool = false); 4469 void MarkNetworkUpdate() const; 4470 void Remove(); 4471 void RemoveAttributeAnimation(const String&); 4472 void RemoveInstanceDefault(); 4473 void RemoveObjectAnimation(); 4474 void ResetToDefault(); 4475 bool Save(File) const; 4476 bool Save(VectorBuffer&) const; 4477 bool SaveJSON(JSONValue&) const; 4478 bool SaveXML(XMLElement&) const; 4479 void SendEvent(const String&, VariantMap& = VariantMap ( )); 4480 void SetAnimationTime(float); 4481 bool SetAttribute(const String&, const Variant&); 4482 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 4483 void SetAttributeAnimationSpeed(const String&, float); 4484 void SetAttributeAnimationTime(const String&, float); 4485 void SetAttributeAnimationWrapMode(const String&, WrapMode); 4486 void SetInterceptNetworkUpdate(const String&, bool); 4487 4488 // Properties: 4489 bool animationEnabled; 4490 /* readonly */ 4491 Array<Variant> attributeDefaults; 4492 /* readonly */ 4493 Array<AttributeInfo> attributeInfos; 4494 Array<Variant> attributes; 4495 /* readonly */ 4496 BoundingBox boundingBox; 4497 bool castShadows; 4498 /* readonly */ 4499 String category; 4500 float drawDistance; 4501 bool enabled; 4502 /* readonly */ 4503 bool enabledEffective; 4504 /* readonly */ 4505 uint id; 4506 /* readonly */ 4507 bool inView; 4508 uint lightMask; 4509 float lodBias; 4510 uint maxLights; 4511 /* readonly */ 4512 Node node; 4513 /* readonly */ 4514 uint numAttributes; 4515 ObjectAnimation objectAnimation; 4516 bool occludee; 4517 bool occluder; 4518 /* readonly */ 4519 int refs; 4520 float shadowDistance; 4521 uint shadowMask; 4522 bool temporary; 4523 /* readonly */ 4524 StringHash type; 4525 /* readonly */ 4526 String typeName; 4527 uint viewMask; 4528 /* readonly */ 4529 int weakRefs; 4530 /* readonly */ 4531 BoundingBox worldBoundingBox; 4532 uint zoneMask; 4533 }; 4534 4535 class Drawable2D 4536 { 4537 public: 4538 // Methods: 4539 void ApplyAttributes(); 4540 void DrawDebugGeometry(DebugRenderer, bool); 4541 Variant GetAttribute(const String&) const; 4542 ValueAnimation GetAttributeAnimation(const String&) const; 4543 float GetAttributeAnimationSpeed(const String&) const; 4544 float GetAttributeAnimationTime(const String&) const; 4545 WrapMode GetAttributeAnimationWrapMode(const String&) const; 4546 Variant GetAttributeDefault(const String&) const; 4547 bool GetInterceptNetworkUpdate(const String&) const; 4548 bool HasSubscribedToEvent(Object, const String&); 4549 bool HasSubscribedToEvent(const String&); 4550 bool IsInView(Camera) const; 4551 bool Load(File, bool = false); 4552 bool Load(VectorBuffer&, bool = false); 4553 bool LoadJSON(const JSONValue&, bool = false); 4554 bool LoadXML(const XMLElement&, bool = false); 4555 void MarkNetworkUpdate() const; 4556 void Remove(); 4557 void RemoveAttributeAnimation(const String&); 4558 void RemoveInstanceDefault(); 4559 void RemoveObjectAnimation(); 4560 void ResetToDefault(); 4561 bool Save(File) const; 4562 bool Save(VectorBuffer&) const; 4563 bool SaveJSON(JSONValue&) const; 4564 bool SaveXML(XMLElement&) const; 4565 void SendEvent(const String&, VariantMap& = VariantMap ( )); 4566 void SetAnimationTime(float); 4567 bool SetAttribute(const String&, const Variant&); 4568 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 4569 void SetAttributeAnimationSpeed(const String&, float); 4570 void SetAttributeAnimationTime(const String&, float); 4571 void SetAttributeAnimationWrapMode(const String&, WrapMode); 4572 void SetInterceptNetworkUpdate(const String&, bool); 4573 4574 // Properties: 4575 bool animationEnabled; 4576 /* readonly */ 4577 Array<Variant> attributeDefaults; 4578 /* readonly */ 4579 Array<AttributeInfo> attributeInfos; 4580 Array<Variant> attributes; 4581 /* readonly */ 4582 BoundingBox boundingBox; 4583 bool castShadows; 4584 /* readonly */ 4585 String category; 4586 float drawDistance; 4587 bool enabled; 4588 /* readonly */ 4589 bool enabledEffective; 4590 /* readonly */ 4591 uint id; 4592 /* readonly */ 4593 bool inView; 4594 int layer; 4595 uint lightMask; 4596 float lodBias; 4597 uint maxLights; 4598 /* readonly */ 4599 Node node; 4600 /* readonly */ 4601 uint numAttributes; 4602 ObjectAnimation objectAnimation; 4603 bool occludee; 4604 bool occluder; 4605 int orderInLayer; 4606 /* readonly */ 4607 int refs; 4608 float shadowDistance; 4609 uint shadowMask; 4610 bool temporary; 4611 /* readonly */ 4612 StringHash type; 4613 /* readonly */ 4614 String typeName; 4615 uint viewMask; 4616 /* readonly */ 4617 int weakRefs; 4618 /* readonly */ 4619 BoundingBox worldBoundingBox; 4620 uint zoneMask; 4621 }; 4622 4623 class DropDownList 4624 { 4625 public: 4626 DropDownList(); 4627 DropDownList(const String&in); 4628 // Methods: 4629 void AddChild(UIElement); 4630 void AddItem(UIElement); 4631 void AddTag(const String&); 4632 void AddTags(const String&, int8 = ';'); 4633 void ApplyAttributes(); 4634 void BringToFront(); 4635 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 4636 void DisableLayoutUpdate(); 4637 IntVector2 ElementToScreen(const IntVector2&); 4638 void EnableLayoutUpdate(); 4639 uint FindChild(UIElement) const; 4640 Variant GetAttribute(const String&) const; 4641 ValueAnimation GetAttributeAnimation(const String&) const; 4642 float GetAttributeAnimationSpeed(const String&) const; 4643 float GetAttributeAnimationTime(const String&) const; 4644 WrapMode GetAttributeAnimationWrapMode(const String&) const; 4645 Variant GetAttributeDefault(const String&) const; 4646 UIElement GetChild(const String&, bool = false) const; 4647 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 4648 Array<UIElement> GetChildren(bool = false) const; 4649 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 4650 UIElement GetElementEventSender() const; 4651 bool GetInterceptNetworkUpdate(const String&) const; 4652 Array<UIElement> GetItems() const; 4653 uint GetNumChildren(bool) const; 4654 bool HasSubscribedToEvent(Object, const String&); 4655 bool HasSubscribedToEvent(const String&); 4656 bool HasTag(const String&) const; 4657 void InsertChild(uint, UIElement); 4658 void InsertItem(uint, UIElement); 4659 bool IsInside(IntVector2, bool); 4660 bool IsInsideCombined(IntVector2, bool); 4661 bool Load(File, bool = false); 4662 bool Load(VectorBuffer&, bool = false); 4663 UIElement LoadChildXML(XMLFile, XMLFile = null); 4664 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 4665 bool LoadJSON(const JSONValue&, bool = false); 4666 bool LoadXML(File); 4667 bool LoadXML(VectorBuffer&); 4668 bool LoadXML(XMLFile, XMLFile); 4669 bool LoadXML(const XMLElement&, XMLFile, bool = false); 4670 bool LoadXML(const XMLElement&, bool = false); 4671 void MarkNetworkUpdate() const; 4672 void Remove(); 4673 void RemoveAllChildren(); 4674 void RemoveAllItems(); 4675 void RemoveAllTags(); 4676 void RemoveAttributeAnimation(const String&); 4677 void RemoveChild(UIElement, uint = 0); 4678 void RemoveChild(uint); 4679 void RemoveInstanceDefault(); 4680 void RemoveItem(UIElement); 4681 void RemoveItem(uint); 4682 void RemoveObjectAnimation(); 4683 bool RemoveTag(const String&); 4684 void ResetDeepEnabled(); 4685 void ResetToDefault(); 4686 bool Save(File) const; 4687 bool Save(VectorBuffer&) const; 4688 bool SaveJSON(JSONValue&) const; 4689 bool SaveXML(File, const String& = "\t"); 4690 bool SaveXML(VectorBuffer&, const String& = "\t"); 4691 bool SaveXML(XMLElement&) const; 4692 IntVector2 ScreenToElement(const IntVector2&); 4693 void SendEvent(const String&, VariantMap& = VariantMap ( )); 4694 void SetAccelerator(int, int); 4695 void SetAlignment(HorizontalAlignment, VerticalAlignment); 4696 void SetAnimationTime(float); 4697 bool SetAttribute(const String&, const Variant&); 4698 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 4699 void SetAttributeAnimationSpeed(const String&, float); 4700 void SetAttributeAnimationTime(const String&, float); 4701 void SetAttributeAnimationWrapMode(const String&, WrapMode); 4702 void SetDeepEnabled(bool); 4703 void SetEnabledRecursive(bool); 4704 void SetFixedHeight(int); 4705 void SetFixedSize(int, int); 4706 void SetFixedWidth(int); 4707 void SetFullImageRect(); 4708 void SetHoverOffset(int, int); 4709 void SetInterceptNetworkUpdate(const String&, bool); 4710 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 4711 void SetMaxAnchor(float, float); 4712 void SetMaxSize(int, int); 4713 void SetMinAnchor(float, float); 4714 void SetMinSize(int, int); 4715 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 4716 void SetPivot(float, float); 4717 void SetPosition(int, int); 4718 void SetPressedChildOffset(int, int); 4719 void SetPressedOffset(int, int); 4720 void SetRepeat(float, float); 4721 void SetSize(int, int); 4722 bool SetStyle(const String&, XMLFile = null); 4723 bool SetStyle(const XMLElement&); 4724 bool SetStyleAuto(XMLFile = null); 4725 void UpdateLayout(); 4726 const Variant& GetVar(const StringHash&); 4727 UIElement getPopup() const; 4728 4729 // Properties: 4730 /* readonly */ 4731 int acceleratorKey; 4732 /* readonly */ 4733 int acceleratorQualifiers; 4734 bool animationEnabled; 4735 /* readonly */ 4736 Array<Variant> attributeDefaults; 4737 /* readonly */ 4738 Array<AttributeInfo> attributeInfos; 4739 Array<Variant> attributes; 4740 BlendMode blendMode; 4741 IntRect border; 4742 bool bringToBack; 4743 bool bringToFront; 4744 /* readonly */ 4745 String category; 4746 /* readonly */ 4747 IntVector2 childOffset; 4748 /* readonly */ 4749 Array<UIElement> children; 4750 IntRect clipBorder; 4751 bool clipChildren; 4752 /* writeonly */ 4753 Color color; 4754 /* readonly */ 4755 bool colorGradient; 4756 Array<Color> colors; 4757 /* readonly */ 4758 IntRect combinedScreenRect; 4759 XMLFile defaultStyle; 4760 /* readonly */ 4761 float derivedOpacity; 4762 /* readonly */ 4763 uint dragButtonCombo; 4764 /* readonly */ 4765 int dragButtonCount; 4766 uint dragDropMode; 4767 bool editable; 4768 bool elementEventSender; 4769 bool enableAnchor; 4770 bool enabled; 4771 /* readonly */ 4772 bool enabledSelf; 4773 /* readonly */ 4774 bool fixedHeight; 4775 /* readonly */ 4776 bool fixedSize; 4777 /* readonly */ 4778 bool fixedWidth; 4779 bool focus; 4780 FocusMode focusMode; 4781 int height; 4782 HorizontalAlignment horizontalAlignment; 4783 IntVector2 hoverOffset; 4784 /* readonly */ 4785 bool hovering; 4786 IntRect imageBorder; 4787 IntRect imageRect; 4788 int indent; 4789 int indentSpacing; 4790 /* readonly */ 4791 int indentWidth; 4792 bool internal; 4793 /* readonly */ 4794 Array<UIElement> items; 4795 IntRect layoutBorder; 4796 Vector2 layoutFlexScale; 4797 LayoutMode layoutMode; 4798 int layoutSpacing; 4799 /* readonly */ 4800 ListView listView; 4801 Vector2 maxAnchor; 4802 int maxHeight; 4803 IntVector2 maxOffset; 4804 IntVector2 maxSize; 4805 int maxWidth; 4806 Vector2 minAnchor; 4807 int minHeight; 4808 IntVector2 minOffset; 4809 IntVector2 minSize; 4810 int minWidth; 4811 String name; 4812 /* readonly */ 4813 uint numAllChildren; 4814 /* readonly */ 4815 uint numAttributes; 4816 /* readonly */ 4817 uint numChildren; 4818 /* readonly */ 4819 uint numItems; 4820 ObjectAnimation objectAnimation; 4821 float opacity; 4822 UIElement parent; 4823 Vector2 pivot; 4824 /* readonly */ 4825 UIElement placeholder; 4826 String placeholderText; 4827 IntVector2 position; 4828 /* readonly */ 4829 bool pressed; 4830 IntVector2 pressedChildOffset; 4831 IntVector2 pressedOffset; 4832 int priority; 4833 /* readonly */ 4834 int refs; 4835 float repeatDelay; 4836 float repeatRate; 4837 bool resizePopup; 4838 /* readonly */ 4839 UIElement root; 4840 /* readonly */ 4841 IntVector2 screenPosition; 4842 bool selected; 4843 /* readonly */ 4844 UIElement selectedItem; 4845 uint selection; 4846 bool showPopup; 4847 IntVector2 size; 4848 bool sortChildren; 4849 String style; 4850 /* readonly */ 4851 Array<String> tags; 4852 bool temporary; 4853 Texture texture; 4854 bool tiled; 4855 TraversalMode traversalMode; 4856 /* readonly */ 4857 StringHash type; 4858 /* readonly */ 4859 String typeName; 4860 bool useDerivedOpacity; 4861 /* readonly */ 4862 VariantMap vars; 4863 VerticalAlignment verticalAlignment; 4864 bool visible; 4865 /* readonly */ 4866 bool visibleEffective; 4867 /* readonly */ 4868 int weakRefs; 4869 int width; 4870 }; 4871 4872 class DynamicNavigationMesh 4873 { 4874 public: 4875 // Methods: 4876 bool AddTile(const VectorBuffer&) const; 4877 bool Allocate(const BoundingBox&, uint); 4878 void ApplyAttributes(); 4879 bool Build(); 4880 bool Build(const BoundingBox&); 4881 bool Build(const IntVector2&, const IntVector2&); 4882 void DrawDebugGeometry(DebugRenderer, bool); 4883 void DrawDebugGeometry(bool); 4884 Vector3 FindNearestPoint(const Vector3&, const Vector3& = Vector3 ( 1.0 , 1.0 , 1.0 )); 4885 Array<Vector3> FindPath(const Vector3&, const Vector3&, const Vector3& = Vector3 ( 1.0 , 1.0 , 1.0 )); 4886 float GetAreaCost(uint) const; 4887 Variant GetAttribute(const String&) const; 4888 ValueAnimation GetAttributeAnimation(const String&) const; 4889 float GetAttributeAnimationSpeed(const String&) const; 4890 float GetAttributeAnimationTime(const String&) const; 4891 WrapMode GetAttributeAnimationWrapMode(const String&) const; 4892 Variant GetAttributeDefault(const String&) const; 4893 float GetDistanceToWall(const Vector3&, float, const Vector3& = Vector3 ( 1.0 , 1.0 , 1.0 )); 4894 bool GetInterceptNetworkUpdate(const String&) const; 4895 Vector3 GetRandomPoint(); 4896 Vector3 GetRandomPointInCircle(const Vector3&, float, const Vector3& = Vector3 ( 1.0 , 1.0 , 1.0 )); 4897 BoundingBox GetTileBoudningBox(const IntVector2&) const; 4898 VectorBuffer GetTileData(const IntVector2&) const; 4899 IntVector2 GetTileIndex(const Vector3&) const; 4900 bool HasSubscribedToEvent(Object, const String&); 4901 bool HasSubscribedToEvent(const String&); 4902 bool HasTile(const IntVector2&) const; 4903 bool Load(File, bool = false); 4904 bool Load(VectorBuffer&, bool = false); 4905 bool LoadJSON(const JSONValue&, bool = false); 4906 bool LoadXML(const XMLElement&, bool = false); 4907 void MarkNetworkUpdate() const; 4908 Vector3 MoveAlongSurface(const Vector3&, const Vector3&, const Vector3& = Vector3 ( 1.0 , 1.0 , 1.0 ), int = 3); 4909 Vector3 Raycast(const Vector3&, const Vector3&, const Vector3& = Vector3 ( 1.0 , 1.0 , 1.0 )); 4910 void Remove(); 4911 void RemoveAllTiles(); 4912 void RemoveAttributeAnimation(const String&); 4913 void RemoveInstanceDefault(); 4914 void RemoveObjectAnimation(); 4915 void RemoveTile(const IntVector2&); 4916 void ResetToDefault(); 4917 bool Save(File) const; 4918 bool Save(VectorBuffer&) const; 4919 bool SaveJSON(JSONValue&) const; 4920 bool SaveXML(XMLElement&) const; 4921 void SendEvent(const String&, VariantMap& = VariantMap ( )); 4922 void SetAnimationTime(float); 4923 void SetAreaCost(uint, float); 4924 bool SetAttribute(const String&, const Variant&); 4925 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 4926 void SetAttributeAnimationSpeed(const String&, float); 4927 void SetAttributeAnimationTime(const String&, float); 4928 void SetAttributeAnimationWrapMode(const String&, WrapMode); 4929 void SetInterceptNetworkUpdate(const String&, bool); 4930 4931 // Properties: 4932 float agentHeight; 4933 float agentMaxClimb; 4934 float agentMaxSlope; 4935 float agentRadius; 4936 bool animationEnabled; 4937 /* readonly */ 4938 Array<Variant> attributeDefaults; 4939 /* readonly */ 4940 Array<AttributeInfo> attributeInfos; 4941 Array<Variant> attributes; 4942 /* readonly */ 4943 BoundingBox boundingBox; 4944 /* readonly */ 4945 String category; 4946 float cellHeight; 4947 float cellSize; 4948 float detailSampleDistance; 4949 float detailSampleMaxError; 4950 bool drawNavAreas; 4951 bool drawObstacles; 4952 bool drawOffMeshConnections; 4953 float edgeMaxError; 4954 float edgeMaxLength; 4955 bool enabled; 4956 /* readonly */ 4957 bool enabledEffective; 4958 /* readonly */ 4959 uint id; 4960 /* readonly */ 4961 bool initialized; 4962 bool maxLayers; 4963 uint maxObstacles; 4964 /* readonly */ 4965 Node node; 4966 /* readonly */ 4967 uint numAttributes; 4968 /* readonly */ 4969 IntVector2 numTiles; 4970 ObjectAnimation objectAnimation; 4971 Vector3 padding; 4972 NavmeshPartitionType partitionType; 4973 /* readonly */ 4974 int refs; 4975 float regionMergeSize; 4976 float regionMinSize; 4977 bool temporary; 4978 int tileSize; 4979 /* readonly */ 4980 StringHash type; 4981 /* readonly */ 4982 String typeName; 4983 /* readonly */ 4984 int weakRefs; 4985 /* readonly */ 4986 BoundingBox worldBoundingBox; 4987 }; 4988 4989 class Engine 4990 { 4991 public: 4992 // Methods: 4993 Console CreateConsole(); 4994 DebugHud CreateDebugHud(); 4995 void DumpMemory(); 4996 void DumpProfiler(); 4997 void DumpResources(bool = false); 4998 void Exit(); 4999 bool HasSubscribedToEvent(Object, const String&); 5000 bool HasSubscribedToEvent(const String&); 5001 void RunFrame(); 5002 void SendEvent(const String&, VariantMap& = VariantMap ( )); 5003 5004 // Properties: 5005 bool autoExit; 5006 /* readonly */ 5007 String category; 5008 /* readonly */ 5009 bool exiting; 5010 /* readonly */ 5011 bool headless; 5012 /* readonly */ 5013 bool initialized; 5014 int maxFps; 5015 int maxInactiveFps; 5016 int minFps; 5017 bool pauseMinimized; 5018 /* readonly */ 5019 int refs; 5020 int timeStepSmoothing; 5021 /* readonly */ 5022 StringHash type; 5023 /* readonly */ 5024 String typeName; 5025 /* readonly */ 5026 int weakRefs; 5027 }; 5028 5029 class File 5030 { 5031 public: 5032 File(); 5033 File(const String&in, FileMode mode = FILE_READ); 5034 // Methods: 5035 void Close(); 5036 bool HasSubscribedToEvent(Object, const String&); 5037 bool HasSubscribedToEvent(const String&); 5038 bool Open(const String&, FileMode = FILE_READ); 5039 Array<uint8> Read(uint); 5040 bool ReadBool(); 5041 BoundingBox ReadBoundingBox(); 5042 int8 ReadByte(); 5043 Color ReadColor(); 5044 double ReadDouble(); 5045 String ReadFileID(); 5046 float ReadFloat(); 5047 int ReadInt(); 5048 int64 ReadInt64(); 5049 IntRect ReadIntRect(); 5050 IntVector2 ReadIntVector2(); 5051 String ReadLine(); 5052 Matrix3 ReadMatrix3(); 5053 Matrix3x4 ReadMatrix3x4(); 5054 Matrix4 ReadMatrix4(); 5055 uint ReadNetID(); 5056 Quaternion ReadPackedQuaternion(); 5057 Vector3 ReadPackedVector3(float); 5058 Quaternion ReadQuaternion(); 5059 int16 ReadShort(); 5060 String ReadString(); 5061 StringHash ReadStringHash(); 5062 uint8 ReadUByte(); 5063 uint ReadUInt(); 5064 uint64 ReadUInt64(); 5065 uint16 ReadUShort(); 5066 uint ReadVLE(); 5067 Variant ReadVariant(); 5068 VariantMap ReadVariantMap(); 5069 Vector2 ReadVector2(); 5070 Vector3 ReadVector3(); 5071 Vector4 ReadVector4(); 5072 VectorBuffer ReadVectorBuffer(uint); 5073 uint Seek(uint); 5074 uint SeekRelative(int); 5075 void SendEvent(const String&, VariantMap& = VariantMap ( )); 5076 uint Tell() const; 5077 uint Write(Array<uint8>); 5078 bool WriteBool(bool); 5079 bool WriteBoundingBox(const BoundingBox&); 5080 bool WriteByte(int8); 5081 bool WriteColor(const Color&); 5082 bool WriteDouble(double); 5083 bool WriteFileID(const String&); 5084 bool WriteFloat(float); 5085 bool WriteInt(int); 5086 bool WriteInt64(int64); 5087 bool WriteIntRect(const IntRect&); 5088 bool WriteIntVector2(const IntVector2&); 5089 bool WriteLine(const String&); 5090 bool WriteMatrix3(const Matrix3&); 5091 bool WriteMatrix3x4(const Matrix3x4&); 5092 bool WriteMatrix4(const Matrix4&); 5093 bool WriteNetID(uint); 5094 bool WritePackedQuaternion(const Quaternion&); 5095 bool WritePackedVector3(const Vector3&, float); 5096 bool WriteQuaternion(const Quaternion&); 5097 bool WriteShort(int16); 5098 bool WriteString(const String&); 5099 bool WriteStringHash(const StringHash&); 5100 bool WriteUByte(uint8); 5101 bool WriteUInt(uint); 5102 bool WriteUInt64(uint64); 5103 bool WriteUShort(uint16); 5104 bool WriteVLE(uint); 5105 bool WriteVariant(const Variant&); 5106 bool WriteVariantMap(const VariantMap&); 5107 bool WriteVector2(const Vector2&); 5108 bool WriteVector3(const Vector3&); 5109 bool WriteVector4(const Vector4&); 5110 bool WriteVectorBuffer(const VectorBuffer&); 5111 5112 // Properties: 5113 /* readonly */ 5114 String category; 5115 /* readonly */ 5116 uint checksum; 5117 /* readonly */ 5118 bool eof; 5119 /* readonly */ 5120 FileMode mode; 5121 /* readonly */ 5122 String name; 5123 /* readonly */ 5124 bool open; 5125 /* readonly */ 5126 bool packaged; 5127 /* readonly */ 5128 uint position; 5129 /* readonly */ 5130 int refs; 5131 /* readonly */ 5132 uint size; 5133 /* readonly */ 5134 StringHash type; 5135 /* readonly */ 5136 String typeName; 5137 /* readonly */ 5138 int weakRefs; 5139 }; 5140 5141 class FileSelector 5142 { 5143 public: 5144 FileSelector(); 5145 // Methods: 5146 bool HasSubscribedToEvent(Object, const String&); 5147 bool HasSubscribedToEvent(const String&); 5148 void SendEvent(const String&, VariantMap& = VariantMap ( )); 5149 void SetButtonTexts(const String&, const String&); 5150 void SetFilters(Array<String>, uint); 5151 void UpdateElements(); 5152 5153 // Properties: 5154 /* readonly */ 5155 Button cancelButton; 5156 /* readonly */ 5157 String category; 5158 XMLFile defaultStyle; 5159 bool directoryMode; 5160 /* readonly */ 5161 ListView fileList; 5162 String fileName; 5163 /* readonly */ 5164 LineEdit fileNameEdit; 5165 /* readonly */ 5166 String filter; 5167 /* readonly */ 5168 uint filterIndex; 5169 /* readonly */ 5170 DropDownList filterList; 5171 /* readonly */ 5172 Button okButton; 5173 String path; 5174 /* readonly */ 5175 LineEdit pathEdit; 5176 /* readonly */ 5177 int refs; 5178 String title; 5179 /* readonly */ 5180 Text titleText; 5181 /* readonly */ 5182 StringHash type; 5183 /* readonly */ 5184 String typeName; 5185 /* readonly */ 5186 int weakRefs; 5187 /* readonly */ 5188 Window window; 5189 }; 5190 5191 class FileSystem 5192 { 5193 public: 5194 // Methods: 5195 bool Copy(const String&, const String&); 5196 bool CreateDir(const String&); 5197 bool Delete(const String&); 5198 bool DirExists(const String&) const; 5199 bool FileExists(const String&) const; 5200 String GetAppPreferencesDir(const String&, const String&) const; 5201 uint GetLastModifiedTime(const String&) const; 5202 bool HasSubscribedToEvent(Object, const String&); 5203 bool HasSubscribedToEvent(const String&); 5204 bool Rename(const String&, const String&); 5205 Array<String> ScanDir(const String&, const String&, uint, bool) const; 5206 void SendEvent(const String&, VariantMap& = VariantMap ( )); 5207 bool SetLastModifiedTime(const String&, uint); 5208 int SystemCommand(const String&, bool = false); 5209 uint SystemCommandAsync(const String&); 5210 bool SystemOpen(const String&, const String&); 5211 int SystemRun(const String&, Array<String>); 5212 uint SystemRunAsync(const String&, Array<String>); 5213 5214 // Properties: 5215 /* readonly */ 5216 String category; 5217 String currentDir; 5218 bool executeConsoleCommands; 5219 /* readonly */ 5220 String programDir; 5221 /* readonly */ 5222 int refs; 5223 /* readonly */ 5224 StringHash type; 5225 /* readonly */ 5226 String typeName; 5227 /* readonly */ 5228 String userDocumentsDir; 5229 /* readonly */ 5230 int weakRefs; 5231 }; 5232 5233 class FocusParameters 5234 { 5235 public: 5236 FocusParameters(); 5237 FocusParameters(const FocusParameters&in); 5238 FocusParameters(bool, bool, bool, float, float); 5239 5240 // Properties: 5241 bool autoSize; 5242 bool focus; 5243 float minView; 5244 bool nonUniform; 5245 float quantize; 5246 }; 5247 5248 class Font 5249 { 5250 public: 5251 Font(); 5252 Font(const String&in); 5253 // Methods: 5254 IntVector2 GetTotalGlyphOffset(float) const; 5255 bool HasSubscribedToEvent(Object, const String&); 5256 bool HasSubscribedToEvent(const String&); 5257 bool Load(File); 5258 bool Load(VectorBuffer&); 5259 bool Load(const String&); 5260 bool Save(File) const; 5261 bool Save(VectorBuffer&) const; 5262 bool Save(const String&) const; 5263 bool SaveXML(File, int, bool = false, const String& = "\t"); 5264 bool SaveXML(VectorBuffer&, int, bool = false, const String& = "\t"); 5265 bool SaveXML(const String&, int, bool = false, const String& = "\t"); 5266 void SendEvent(const String&, VariantMap& = VariantMap ( )); 5267 5268 // Properties: 5269 IntVector2 absoluteGlyphOffset; 5270 /* readonly */ 5271 String category; 5272 /* readonly */ 5273 FontType fontType; 5274 /* readonly */ 5275 uint memoryUse; 5276 String name; 5277 /* readonly */ 5278 int refs; 5279 Vector2 scaledGlyphOffset; 5280 /* readonly */ 5281 StringHash type; 5282 /* readonly */ 5283 String typeName; 5284 /* readonly */ 5285 uint useTimer; 5286 /* readonly */ 5287 int weakRefs; 5288 }; 5289 5290 class Frustum 5291 { 5292 public: 5293 ~Frustum(); 5294 Frustum(); 5295 Frustum(const Frustum&in); 5296 // Methods: 5297 void Define(const BoundingBox&, const Matrix3x4&); 5298 void Define(const Matrix4&); 5299 void Define(const Vector3&, const Vector3&, const Matrix3x4&); 5300 void Define(float, float, float, float, float, const Matrix3x4&); 5301 void DefineOrtho(float, float, float, float, float, const Matrix3x4&); 5302 void DefineSplit(const Matrix4&, float, float); 5303 float Distance(const Vector3&) const; 5304 Intersection IsInside(const BoundingBox&); 5305 Intersection IsInside(const Sphere&); 5306 Intersection IsInside(const Vector3&); 5307 Intersection IsInsideFast(const BoundingBox&) const; 5308 Intersection IsInsideFast(const Sphere&) const; 5309 void Transform(const Matrix3&); 5310 void Transform(const Matrix3x4&); 5311 Frustum Transformed(const Matrix3&) const; 5312 Frustum Transformed(const Matrix3x4&) const; 5313 5314 // Properties: 5315 /* readonly */ 5316 Array<Vector3> vertices; 5317 }; 5318 5319 class Geometry 5320 { 5321 public: 5322 Geometry(); 5323 // Methods: 5324 bool HasSubscribedToEvent(Object, const String&); 5325 bool HasSubscribedToEvent(const String&); 5326 void SendEvent(const String&, VariantMap& = VariantMap ( )); 5327 bool SetDrawRange(PrimitiveType, uint, uint, bool = true); 5328 bool SetDrawRange(PrimitiveType, uint, uint, uint, uint, bool = true); 5329 void SetIndexBuffer(IndexBuffer); 5330 bool SetVertexBuffer(uint, VertexBuffer); 5331 5332 // Properties: 5333 /* readonly */ 5334 String category; 5335 /* readonly */ 5336 bool empty; 5337 IndexBuffer indexBuffer; 5338 /* readonly */ 5339 uint indexCount; 5340 /* readonly */ 5341 uint indexStart; 5342 float lodDistance; 5343 uint numVertexBuffers; 5344 /* readonly */ 5345 PrimitiveType primitiveType; 5346 /* readonly */ 5347 int refs; 5348 /* readonly */ 5349 StringHash type; 5350 /* readonly */ 5351 String typeName; 5352 /* readonly */ 5353 Array<VertexBuffer> vertexBuffers; 5354 /* readonly */ 5355 uint vertexCount; 5356 /* readonly */ 5357 uint vertexStart; 5358 /* readonly */ 5359 int weakRefs; 5360 }; 5361 5362 class Graphics 5363 { 5364 public: 5365 // Methods: 5366 void BeginDumpShaders(const String&); 5367 void Close(); 5368 void EndDumpShaders(); 5369 bool HasSubscribedToEvent(Object, const String&); 5370 bool HasSubscribedToEvent(const String&); 5371 void Maximize(); 5372 void Minimize(); 5373 void PrecacheShaders(File); 5374 void PrecacheShaders(VectorBuffer&); 5375 void SendEvent(const String&, VariantMap& = VariantMap ( )); 5376 bool SetMode(int, int); 5377 bool SetMode(int, int, bool, bool, bool, bool, bool, bool, int, int, int); 5378 void SetWindowPosition(int, int); 5379 bool TakeScreenShot(Image); 5380 bool ToggleFullscreen(); 5381 5382 // Properties: 5383 /* readonly */ 5384 String apiName; 5385 /* readonly */ 5386 bool borderless; 5387 /* readonly */ 5388 String category; 5389 /* readonly */ 5390 bool deferredSupport; 5391 /* readonly */ 5392 Array<IntVector2> desktopResolution; 5393 /* readonly */ 5394 bool deviceLost; 5395 bool dither; 5396 bool flushGPU; 5397 /* readonly */ 5398 bool fullscreen; 5399 /* readonly */ 5400 bool hardwareShadowSupport; 5401 /* readonly */ 5402 int height; 5403 /* readonly */ 5404 bool initialized; 5405 /* readonly */ 5406 bool instancingSupport; 5407 /* readonly */ 5408 bool lightPrepassSupport; 5409 /* readonly */ 5410 int monitorCount; 5411 /* readonly */ 5412 int multiSample; 5413 /* readonly */ 5414 Array<int> multiSampleLevels; 5415 /* readonly */ 5416 uint numBatches; 5417 /* readonly */ 5418 uint numPrimitives; 5419 String orientations; 5420 /* readonly */ 5421 bool readableDepthSupport; 5422 /* readonly */ 5423 int refs; 5424 /* readonly */ 5425 bool resizable; 5426 /* readonly */ 5427 Array<Array<IntVector3>> resolutions; 5428 bool sRGB; 5429 /* readonly */ 5430 bool sRGBSupport; 5431 /* readonly */ 5432 bool sRGBWriteSupport; 5433 String shaderCacheDir; 5434 /* readonly */ 5435 IntVector2 size; 5436 /* readonly */ 5437 bool tripleBuffer; 5438 /* readonly */ 5439 StringHash type; 5440 /* readonly */ 5441 String typeName; 5442 /* readonly */ 5443 bool vsync; 5444 /* readonly */ 5445 int weakRefs; 5446 /* readonly */ 5447 int width; 5448 /* writeonly */ 5449 Image windowIcon; 5450 IntVector2 windowPosition; 5451 String windowTitle; 5452 }; 5453 5454 class HttpRequest 5455 { 5456 public: 5457 // Methods: 5458 Array<uint8> Read(uint); 5459 bool ReadBool(); 5460 BoundingBox ReadBoundingBox(); 5461 int8 ReadByte(); 5462 Color ReadColor(); 5463 double ReadDouble(); 5464 String ReadFileID(); 5465 float ReadFloat(); 5466 int ReadInt(); 5467 int64 ReadInt64(); 5468 IntRect ReadIntRect(); 5469 IntVector2 ReadIntVector2(); 5470 String ReadLine(); 5471 Matrix3 ReadMatrix3(); 5472 Matrix3x4 ReadMatrix3x4(); 5473 Matrix4 ReadMatrix4(); 5474 uint ReadNetID(); 5475 Quaternion ReadPackedQuaternion(); 5476 Vector3 ReadPackedVector3(float); 5477 Quaternion ReadQuaternion(); 5478 int16 ReadShort(); 5479 String ReadString(); 5480 StringHash ReadStringHash(); 5481 uint8 ReadUByte(); 5482 uint ReadUInt(); 5483 uint64 ReadUInt64(); 5484 uint16 ReadUShort(); 5485 uint ReadVLE(); 5486 Variant ReadVariant(); 5487 VariantMap ReadVariantMap(); 5488 Vector2 ReadVector2(); 5489 Vector3 ReadVector3(); 5490 Vector4 ReadVector4(); 5491 VectorBuffer ReadVectorBuffer(uint); 5492 uint Seek(uint); 5493 uint SeekRelative(int); 5494 uint Tell() const; 5495 5496 // Properties: 5497 /* readonly */ 5498 uint availableSize; 5499 /* readonly */ 5500 uint checksum; 5501 /* readonly */ 5502 bool eof; 5503 /* readonly */ 5504 String error; 5505 /* readonly */ 5506 String name; 5507 /* readonly */ 5508 bool open; 5509 /* readonly */ 5510 uint position; 5511 /* readonly */ 5512 int refs; 5513 /* readonly */ 5514 uint size; 5515 /* readonly */ 5516 HttpRequestState state; 5517 /* readonly */ 5518 String url; 5519 /* readonly */ 5520 String verb; 5521 /* readonly */ 5522 int weakRefs; 5523 }; 5524 5525 class IKEffector 5526 { 5527 public: 5528 // Methods: 5529 void ApplyAttributes(); 5530 void DrawDebugGeometry(DebugRenderer, bool); 5531 void DrawDebugGeometry(bool); 5532 Variant GetAttribute(const String&) const; 5533 ValueAnimation GetAttributeAnimation(const String&) const; 5534 float GetAttributeAnimationSpeed(const String&) const; 5535 float GetAttributeAnimationTime(const String&) const; 5536 WrapMode GetAttributeAnimationWrapMode(const String&) const; 5537 Variant GetAttributeDefault(const String&) const; 5538 bool GetInterceptNetworkUpdate(const String&) const; 5539 bool HasSubscribedToEvent(Object, const String&); 5540 bool HasSubscribedToEvent(const String&); 5541 bool Load(File, bool = false); 5542 bool Load(VectorBuffer&, bool = false); 5543 bool LoadJSON(const JSONValue&, bool = false); 5544 bool LoadXML(const XMLElement&, bool = false); 5545 void MarkNetworkUpdate() const; 5546 void Remove(); 5547 void RemoveAttributeAnimation(const String&); 5548 void RemoveInstanceDefault(); 5549 void RemoveObjectAnimation(); 5550 void ResetToDefault(); 5551 bool Save(File) const; 5552 bool Save(VectorBuffer&) const; 5553 bool SaveJSON(JSONValue&) const; 5554 bool SaveXML(XMLElement&) const; 5555 void SendEvent(const String&, VariantMap& = VariantMap ( )); 5556 void SetAnimationTime(float); 5557 bool SetAttribute(const String&, const Variant&); 5558 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 5559 void SetAttributeAnimationSpeed(const String&, float); 5560 void SetAttributeAnimationTime(const String&, float); 5561 void SetAttributeAnimationWrapMode(const String&, WrapMode); 5562 void SetInterceptNetworkUpdate(const String&, bool); 5563 5564 // Properties: 5565 bool animationEnabled; 5566 /* readonly */ 5567 Array<Variant> attributeDefaults; 5568 /* readonly */ 5569 Array<AttributeInfo> attributeInfos; 5570 Array<Variant> attributes; 5571 /* readonly */ 5572 String category; 5573 uint chainLength; 5574 bool enabled; 5575 /* readonly */ 5576 bool enabledEffective; 5577 /* readonly */ 5578 uint id; 5579 /* readonly */ 5580 Node node; 5581 /* readonly */ 5582 uint numAttributes; 5583 ObjectAnimation objectAnimation; 5584 /* readonly */ 5585 int refs; 5586 float rotationDecay; 5587 float rotationWeight; 5588 String targetName; 5589 Node targetNode; 5590 Vector3 targetPosition; 5591 Quaternion targetRotation; 5592 bool temporary; 5593 /* readonly */ 5594 StringHash type; 5595 /* readonly */ 5596 String typeName; 5597 /* readonly */ 5598 int weakRefs; 5599 float weight; 5600 }; 5601 5602 class IKSolver 5603 { 5604 public: 5605 // Methods: 5606 void ApplyActivePoseToScene(); 5607 void ApplyAttributes(); 5608 void ApplyOriginalPoseToActivePose(); 5609 void ApplyOriginalPoseToScene(); 5610 void ApplySceneToActivePose(); 5611 void ApplySceneToInitialPose(); 5612 void CalculateJointRotations(); 5613 void DrawDebugGeometry(DebugRenderer, bool); 5614 void DrawDebugGeometry(bool); 5615 Variant GetAttribute(const String&) const; 5616 ValueAnimation GetAttributeAnimation(const String&) const; 5617 float GetAttributeAnimationSpeed(const String&) const; 5618 float GetAttributeAnimationTime(const String&) const; 5619 WrapMode GetAttributeAnimationWrapMode(const String&) const; 5620 Variant GetAttributeDefault(const String&) const; 5621 bool GetInterceptNetworkUpdate(const String&) const; 5622 bool HasSubscribedToEvent(Object, const String&); 5623 bool HasSubscribedToEvent(const String&); 5624 bool Load(File, bool = false); 5625 bool Load(VectorBuffer&, bool = false); 5626 bool LoadJSON(const JSONValue&, bool = false); 5627 bool LoadXML(const XMLElement&, bool = false); 5628 void MarkNetworkUpdate() const; 5629 void RebuildChainTrees(); 5630 void RecalculateSegmentLengths(); 5631 void Remove(); 5632 void RemoveAttributeAnimation(const String&); 5633 void RemoveInstanceDefault(); 5634 void RemoveObjectAnimation(); 5635 void ResetToDefault(); 5636 bool Save(File) const; 5637 bool Save(VectorBuffer&) const; 5638 bool SaveJSON(JSONValue&) const; 5639 bool SaveXML(XMLElement&) const; 5640 void SendEvent(const String&, VariantMap& = VariantMap ( )); 5641 void SetAnimationTime(float); 5642 bool SetAttribute(const String&, const Variant&); 5643 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 5644 void SetAttributeAnimationSpeed(const String&, float); 5645 void SetAttributeAnimationTime(const String&, float); 5646 void SetAttributeAnimationWrapMode(const String&, WrapMode); 5647 void SetInterceptNetworkUpdate(const String&, bool); 5648 void Solve(); 5649 5650 // Properties: 5651 bool AUTO_SOLVE; 5652 bool CONSTRAINTS; 5653 bool JOINT_ROTATIONS; 5654 bool TARGET_ROTATIONS; 5655 bool UPDATE_ACTIVE_POSE; 5656 bool UPDATE_ORIGINAL_POSE; 5657 bool USE_ORIGINAL_POSE; 5658 IKAlgorithm algorithm; 5659 bool animationEnabled; 5660 /* readonly */ 5661 Array<Variant> attributeDefaults; 5662 /* readonly */ 5663 Array<AttributeInfo> attributeInfos; 5664 Array<Variant> attributes; 5665 /* readonly */ 5666 String category; 5667 bool enabled; 5668 /* readonly */ 5669 bool enabledEffective; 5670 /* readonly */ 5671 uint id; 5672 uint maximumIterations; 5673 /* readonly */ 5674 Node node; 5675 /* readonly */ 5676 uint numAttributes; 5677 ObjectAnimation objectAnimation; 5678 /* readonly */ 5679 int refs; 5680 bool temporary; 5681 float tolerance; 5682 /* readonly */ 5683 StringHash type; 5684 /* readonly */ 5685 String typeName; 5686 /* readonly */ 5687 int weakRefs; 5688 }; 5689 5690 class Image 5691 { 5692 public: 5693 Image(); 5694 Image(const String&in); 5695 // Methods: 5696 void Clear(const Color&); 5697 void ClearInt(uint); 5698 bool FlipHorizontal(); 5699 bool FlipVertical(); 5700 Color GetPixel(int, int) const; 5701 Color GetPixel(int, int, int) const; 5702 Color GetPixelBilinear(float, float) const; 5703 uint GetPixelInt(int, int) const; 5704 uint GetPixelInt(int, int, int) const; 5705 Color GetPixelTrilinear(float, float, float) const; 5706 Image GetSubimage(const IntRect&) const; 5707 bool HasSubscribedToEvent(Object, const String&); 5708 bool HasSubscribedToEvent(const String&); 5709 bool Load(File); 5710 bool Load(VectorBuffer&); 5711 bool Load(const String&); 5712 bool LoadColorLUT(File); 5713 bool LoadColorLUT(VectorBuffer&); 5714 bool Resize(int, int); 5715 bool Save(File) const; 5716 bool Save(VectorBuffer&) const; 5717 bool Save(const String&) const; 5718 bool SaveBMP(const String&) const; 5719 bool SaveDDS(const String&) const; 5720 bool SaveJPG(const String&, int) const; 5721 bool SavePNG(const String&) const; 5722 bool SaveTGA(const String&) const; 5723 bool SaveWEBP(const String&, float = 0.0f) const; 5724 void SendEvent(const String&, VariantMap& = VariantMap ( )); 5725 void SetPixel(int, int, const Color&); 5726 void SetPixel(int, int, int, const Color&); 5727 void SetPixelInt(int, int, int, uint); 5728 void SetPixelInt(int, int, uint); 5729 bool SetSize(int, int, int, uint); 5730 bool SetSize(int, int, uint); 5731 5732 // Properties: 5733 /* readonly */ 5734 bool array; 5735 /* readonly */ 5736 String category; 5737 /* readonly */ 5738 uint components; 5739 /* readonly */ 5740 bool compressed; 5741 /* readonly */ 5742 CompressedFormat compressedFormat; 5743 /* readonly */ 5744 bool cubemap; 5745 /* readonly */ 5746 int depth; 5747 /* readonly */ 5748 int height; 5749 /* readonly */ 5750 uint memoryUse; 5751 String name; 5752 /* readonly */ 5753 uint numCompressedLevels; 5754 /* readonly */ 5755 int refs; 5756 /* readonly */ 5757 bool sRGB; 5758 /* readonly */ 5759 StringHash type; 5760 /* readonly */ 5761 String typeName; 5762 /* readonly */ 5763 uint useTimer; 5764 /* readonly */ 5765 int weakRefs; 5766 /* readonly */ 5767 int width; 5768 }; 5769 5770 class IndexBuffer 5771 { 5772 public: 5773 IndexBuffer(); 5774 // Methods: 5775 VectorBuffer GetData(); 5776 bool HasSubscribedToEvent(Object, const String&); 5777 bool HasSubscribedToEvent(const String&); 5778 void SendEvent(const String&, VariantMap& = VariantMap ( )); 5779 bool SetData(VectorBuffer&); 5780 bool SetDataRange(VectorBuffer&, uint, uint, bool = false); 5781 void SetSize(uint, bool, bool = false); 5782 5783 // Properties: 5784 /* readonly */ 5785 String category; 5786 /* readonly */ 5787 bool dynamic; 5788 /* readonly */ 5789 uint indexCount; 5790 /* readonly */ 5791 uint indexSize; 5792 /* readonly */ 5793 int refs; 5794 bool shadowed; 5795 /* readonly */ 5796 StringHash type; 5797 /* readonly */ 5798 String typeName; 5799 /* readonly */ 5800 int weakRefs; 5801 }; 5802 5803 class Input 5804 { 5805 public: 5806 // Methods: 5807 int AddScreenJoystick(XMLFile = null, XMLFile = null); 5808 void CenterMousePosition(); 5809 int GetKeyFromName(const String&) const; 5810 int GetKeyFromScancode(int) const; 5811 String GetKeyName(int) const; 5812 int GetScancodeFromKey(int) const; 5813 int GetScancodeFromName(const String&) const; 5814 String GetScancodeName(int) const; 5815 bool HasSubscribedToEvent(Object, const String&); 5816 bool HasSubscribedToEvent(const String&); 5817 uint LoadGestures(File); 5818 uint LoadGestures(VectorBuffer&); 5819 bool RecordGesture(); 5820 void RemoveAllGestures(); 5821 bool RemoveGesture(uint); 5822 bool RemoveScreenJoystick(int); 5823 void ResetMouseGrabbed(); 5824 void ResetMouseMode(); 5825 void ResetMouseVisible(); 5826 bool SaveGesture(File, uint); 5827 bool SaveGesture(VectorBuffer&, uint); 5828 bool SaveGestures(File); 5829 bool SaveGestures(VectorBuffer&); 5830 void SendEvent(const String&, VariantMap& = VariantMap ( )); 5831 void SetMouseGrabbed(bool, bool = false); 5832 void SetMouseMode(MouseMode, bool = false); 5833 void SetMouseVisible(bool, bool = false); 5834 5835 // Properties: 5836 /* readonly */ 5837 String category; 5838 /* readonly */ 5839 bool focus; 5840 /* readonly */ 5841 Vector2 inputScale; 5842 /* readonly */ 5843 Array<JoystickState> joysticks; 5844 /* readonly */ 5845 Array<JoystickState> joysticksByIndex; 5846 /* readonly */ 5847 Array<JoystickState> joysticksByName; 5848 /* readonly */ 5849 Array<bool> keyDown; 5850 /* readonly */ 5851 Array<bool> keyPress; 5852 /* readonly */ 5853 bool minimized; 5854 /* readonly */ 5855 Array<bool> mouseButtonDown; 5856 /* readonly */ 5857 Array<bool> mouseButtonPress; 5858 bool mouseGrabbed; 5859 /* readonly */ 5860 bool mouseLocked; 5861 MouseMode mouseMode; 5862 /* readonly */ 5863 IntVector2 mouseMove; 5864 /* readonly */ 5865 int mouseMoveWheel; 5866 /* readonly */ 5867 int mouseMoveX; 5868 /* readonly */ 5869 int mouseMoveY; 5870 IntVector2 mousePosition; 5871 bool mouseVisible; 5872 /* readonly */ 5873 uint numJoysticks; 5874 /* readonly */ 5875 uint numTouches; 5876 /* readonly */ 5877 Array<bool> qualifierDown; 5878 /* readonly */ 5879 Array<bool> qualifierPress; 5880 /* readonly */ 5881 int qualifiers; 5882 /* readonly */ 5883 int refs; 5884 /* readonly */ 5885 Array<bool> scancodeDown; 5886 /* readonly */ 5887 Array<bool> scancodePress; 5888 Array<bool> screenJoystickVisible; 5889 /* readonly */ 5890 bool screenKeyboardSupport; 5891 bool screenKeyboardVisible; 5892 bool toggleFullscreen; 5893 bool touchEmulation; 5894 /* readonly */ 5895 Array<TouchState> touches; 5896 /* readonly */ 5897 StringHash type; 5898 /* readonly */ 5899 String typeName; 5900 /* readonly */ 5901 int weakRefs; 5902 }; 5903 5904 class IntRect 5905 { 5906 public: 5907 IntRect(); 5908 IntRect(const IntRect&in); 5909 IntRect(int, int, int, int); 5910 IntRect(int[]&inout); 5911 // Methods: 5912 Intersection IsInside(const IntVector2&) const; 5913 5914 // Properties: 5915 int bottom; 5916 /* readonly */ 5917 Array<int> data; 5918 /* readonly */ 5919 int height; 5920 int left; 5921 int right; 5922 /* readonly */ 5923 IntVector2 size; 5924 int top; 5925 /* readonly */ 5926 int width; 5927 }; 5928 5929 class IntVector2 5930 { 5931 public: 5932 IntVector2(); 5933 IntVector2(const IntVector2&in); 5934 IntVector2(int, int); 5935 IntVector2(int[]&inout); 5936 // Methods: 5937 float Length() const; 5938 uint ToHash() const; 5939 String ToString() const; 5940 5941 // Properties: 5942 /* readonly */ 5943 Array<int> data; 5944 int x; 5945 int y; 5946 5947 // Constants: 5948 static const IntVector2 DOWN; 5949 static const IntVector2 LEFT; 5950 static const IntVector2 ONE; 5951 static const IntVector2 RIGHT; 5952 static const IntVector2 UP; 5953 static const IntVector2 ZERO; 5954 }; 5955 5956 class IntVector3 5957 { 5958 public: 5959 IntVector3(); 5960 IntVector3(const IntVector3&in); 5961 IntVector3(int, int, int); 5962 IntVector3(int[]&inout); 5963 // Methods: 5964 float Length() const; 5965 uint ToHash() const; 5966 String ToString() const; 5967 5968 // Properties: 5969 /* readonly */ 5970 Array<int> data; 5971 int x; 5972 int y; 5973 int z; 5974 5975 // Constants: 5976 static const IntVector3 BACK; 5977 static const IntVector3 DOWN; 5978 static const IntVector3 FORWARD; 5979 static const IntVector3 LEFT; 5980 static const IntVector3 ONE; 5981 static const IntVector3 RIGHT; 5982 static const IntVector3 UP; 5983 static const IntVector3 ZERO; 5984 }; 5985 5986 class JSONFile 5987 { 5988 public: 5989 JSONFile(); 5990 JSONFile(const String&in); 5991 // Methods: 5992 bool FromString(const String&); 5993 JSONValue& GetRoot(); 5994 bool HasSubscribedToEvent(Object, const String&); 5995 bool HasSubscribedToEvent(const String&); 5996 bool Load(File); 5997 bool Load(VectorBuffer&); 5998 bool Load(const String&); 5999 bool Save(File) const; 6000 bool Save(File, const String&) const; 6001 bool Save(VectorBuffer&) const; 6002 bool Save(const String&) const; 6003 void SendEvent(const String&, VariantMap& = VariantMap ( )); 6004 6005 // Properties: 6006 /* readonly */ 6007 String category; 6008 /* readonly */ 6009 uint memoryUse; 6010 String name; 6011 /* readonly */ 6012 int refs; 6013 /* readonly */ 6014 JSONValue root; 6015 /* readonly */ 6016 StringHash type; 6017 /* readonly */ 6018 String typeName; 6019 /* readonly */ 6020 uint useTimer; 6021 /* readonly */ 6022 int weakRefs; 6023 }; 6024 6025 class JSONValue 6026 { 6027 public: 6028 ~JSONValue(); 6029 JSONValue(); 6030 JSONValue(bool); 6031 JSONValue(int); 6032 JSONValue(uint); 6033 JSONValue(float); 6034 JSONValue(double); 6035 JSONValue(const String&in); 6036 JSONValue(const JSONValue&in); 6037 // Methods: 6038 void Clear(); 6039 bool Contains(const String&) const; 6040 void Erase(const String&); 6041 void Erase(uint, uint = 1); 6042 bool GetBool() const; 6043 double GetDouble() const; 6044 float GetFloat() const; 6045 int GetInt() const; 6046 uint GetUInt() const; 6047 Variant GetVariant() const; 6048 VariantMap GetVariantMap() const; 6049 void Insert(uint, const JSONValue&); 6050 const JSONValue& Get(const String&) const; 6051 void Pop(); 6052 void Push(const JSONValue&); 6053 void Resize(uint); 6054 void Set(const String&, const JSONValue&); 6055 void SetVariant(const Variant&); 6056 void SetVariantMap(const VariantMap&); 6057 const String& GetString() const; 6058 6059 // Properties: 6060 /* readonly */ 6061 bool isArray; 6062 /* readonly */ 6063 bool isBool; 6064 /* readonly */ 6065 bool isNull; 6066 /* readonly */ 6067 bool isNumber; 6068 /* readonly */ 6069 bool isObject; 6070 /* readonly */ 6071 bool isString; 6072 /* readonly */ 6073 Array<String> keys; 6074 /* readonly */ 6075 JSONNumberType numberType; 6076 /* readonly */ 6077 String numberTypeName; 6078 /* readonly */ 6079 uint size; 6080 /* readonly */ 6081 JSONValueType valueType; 6082 /* readonly */ 6083 String valueTypeName; 6084 /* readonly */ 6085 Array<JSONValue> values; 6086 }; 6087 6088 class JoystickState 6089 { 6090 public: 6091 6092 // Properties: 6093 /* readonly */ 6094 Array<float> axisPosition; 6095 /* readonly */ 6096 Array<bool> buttonDown; 6097 /* readonly */ 6098 Array<bool> buttonPress; 6099 /* readonly */ 6100 bool controller; 6101 /* readonly */ 6102 Array<int> hatPosition; 6103 int joystickID; 6104 String name; 6105 /* readonly */ 6106 uint numAxes; 6107 /* readonly */ 6108 uint numButtons; 6109 /* readonly */ 6110 uint numHats; 6111 }; 6112 6113 class Light 6114 { 6115 public: 6116 // Methods: 6117 void ApplyAttributes(); 6118 void DrawDebugGeometry(DebugRenderer, bool); 6119 Variant GetAttribute(const String&) const; 6120 ValueAnimation GetAttributeAnimation(const String&) const; 6121 float GetAttributeAnimationSpeed(const String&) const; 6122 float GetAttributeAnimationTime(const String&) const; 6123 WrapMode GetAttributeAnimationWrapMode(const String&) const; 6124 Variant GetAttributeDefault(const String&) const; 6125 bool GetInterceptNetworkUpdate(const String&) const; 6126 bool HasSubscribedToEvent(Object, const String&); 6127 bool HasSubscribedToEvent(const String&); 6128 bool IsInView(Camera) const; 6129 bool Load(File, bool = false); 6130 bool Load(VectorBuffer&, bool = false); 6131 bool LoadJSON(const JSONValue&, bool = false); 6132 bool LoadXML(const XMLElement&, bool = false); 6133 void MarkNetworkUpdate() const; 6134 void Remove(); 6135 void RemoveAttributeAnimation(const String&); 6136 void RemoveInstanceDefault(); 6137 void RemoveObjectAnimation(); 6138 void ResetToDefault(); 6139 bool Save(File) const; 6140 bool Save(VectorBuffer&) const; 6141 bool SaveJSON(JSONValue&) const; 6142 bool SaveXML(XMLElement&) const; 6143 void SendEvent(const String&, VariantMap& = VariantMap ( )); 6144 void SetAnimationTime(float); 6145 bool SetAttribute(const String&, const Variant&); 6146 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 6147 void SetAttributeAnimationSpeed(const String&, float); 6148 void SetAttributeAnimationTime(const String&, float); 6149 void SetAttributeAnimationWrapMode(const String&, WrapMode); 6150 void SetInterceptNetworkUpdate(const String&, bool); 6151 6152 // Properties: 6153 bool animationEnabled; 6154 float aspectRatio; 6155 /* readonly */ 6156 Array<Variant> attributeDefaults; 6157 /* readonly */ 6158 Array<AttributeInfo> attributeInfos; 6159 Array<Variant> attributes; 6160 /* readonly */ 6161 BoundingBox boundingBox; 6162 float brightness; 6163 bool castShadows; 6164 /* readonly */ 6165 String category; 6166 Color color; 6167 /* readonly */ 6168 Color colorFromTemperature; 6169 float drawDistance; 6170 /* readonly */ 6171 Color effectiveColor; 6172 /* readonly */ 6173 float effectiveSpecularIntensity; 6174 bool enabled; 6175 /* readonly */ 6176 bool enabledEffective; 6177 float fadeDistance; 6178 float fov; 6179 /* readonly */ 6180 Frustum frustum; 6181 /* readonly */ 6182 uint id; 6183 /* readonly */ 6184 bool inView; 6185 float length; 6186 uint lightMask; 6187 LightType lightType; 6188 float lodBias; 6189 uint maxLights; 6190 /* readonly */ 6191 bool negative; 6192 /* readonly */ 6193 Node node; 6194 /* readonly */ 6195 uint numAttributes; 6196 /* readonly */ 6197 int numShadowSplits; 6198 ObjectAnimation objectAnimation; 6199 bool occludee; 6200 bool occluder; 6201 bool perVertex; 6202 float radius; 6203 Texture rampTexture; 6204 float range; 6205 /* readonly */ 6206 int refs; 6207 BiasParameters shadowBias; 6208 CascadeParameters shadowCascade; 6209 float shadowDistance; 6210 float shadowFadeDistance; 6211 FocusParameters shadowFocus; 6212 float shadowIntensity; 6213 uint shadowMask; 6214 float shadowMaxExtrusion; 6215 float shadowNearFarRatio; 6216 float shadowResolution; 6217 Texture shapeTexture; 6218 float specularIntensity; 6219 float temperature; 6220 bool temporary; 6221 /* readonly */ 6222 StringHash type; 6223 /* readonly */ 6224 String typeName; 6225 bool usePhysicalValues; 6226 uint viewMask; 6227 /* readonly */ 6228 int weakRefs; 6229 /* readonly */ 6230 BoundingBox worldBoundingBox; 6231 uint zoneMask; 6232 }; 6233 6234 class LineEdit 6235 { 6236 public: 6237 LineEdit(); 6238 LineEdit(const String&in); 6239 // Methods: 6240 void AddChild(UIElement); 6241 void AddTag(const String&); 6242 void AddTags(const String&, int8 = ';'); 6243 void ApplyAttributes(); 6244 void BringToFront(); 6245 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 6246 void DisableLayoutUpdate(); 6247 IntVector2 ElementToScreen(const IntVector2&); 6248 void EnableLayoutUpdate(); 6249 uint FindChild(UIElement) const; 6250 Variant GetAttribute(const String&) const; 6251 ValueAnimation GetAttributeAnimation(const String&) const; 6252 float GetAttributeAnimationSpeed(const String&) const; 6253 float GetAttributeAnimationTime(const String&) const; 6254 WrapMode GetAttributeAnimationWrapMode(const String&) const; 6255 Variant GetAttributeDefault(const String&) const; 6256 UIElement GetChild(const String&, bool = false) const; 6257 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 6258 Array<UIElement> GetChildren(bool = false) const; 6259 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 6260 UIElement GetElementEventSender() const; 6261 bool GetInterceptNetworkUpdate(const String&) const; 6262 uint GetNumChildren(bool) const; 6263 bool HasSubscribedToEvent(Object, const String&); 6264 bool HasSubscribedToEvent(const String&); 6265 bool HasTag(const String&) const; 6266 void InsertChild(uint, UIElement); 6267 bool IsInside(IntVector2, bool); 6268 bool IsInsideCombined(IntVector2, bool); 6269 bool Load(File, bool = false); 6270 bool Load(VectorBuffer&, bool = false); 6271 UIElement LoadChildXML(XMLFile, XMLFile = null); 6272 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 6273 bool LoadJSON(const JSONValue&, bool = false); 6274 bool LoadXML(File); 6275 bool LoadXML(VectorBuffer&); 6276 bool LoadXML(XMLFile, XMLFile); 6277 bool LoadXML(const XMLElement&, XMLFile, bool = false); 6278 bool LoadXML(const XMLElement&, bool = false); 6279 void MarkNetworkUpdate() const; 6280 void Remove(); 6281 void RemoveAllChildren(); 6282 void RemoveAllTags(); 6283 void RemoveAttributeAnimation(const String&); 6284 void RemoveChild(UIElement, uint = 0); 6285 void RemoveChild(uint); 6286 void RemoveInstanceDefault(); 6287 void RemoveObjectAnimation(); 6288 bool RemoveTag(const String&); 6289 void ResetDeepEnabled(); 6290 void ResetToDefault(); 6291 bool Save(File) const; 6292 bool Save(VectorBuffer&) const; 6293 bool SaveJSON(JSONValue&) const; 6294 bool SaveXML(File, const String& = "\t"); 6295 bool SaveXML(VectorBuffer&, const String& = "\t"); 6296 bool SaveXML(XMLElement&) const; 6297 IntVector2 ScreenToElement(const IntVector2&); 6298 void SendEvent(const String&, VariantMap& = VariantMap ( )); 6299 void SetAlignment(HorizontalAlignment, VerticalAlignment); 6300 void SetAnimationTime(float); 6301 bool SetAttribute(const String&, const Variant&); 6302 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 6303 void SetAttributeAnimationSpeed(const String&, float); 6304 void SetAttributeAnimationTime(const String&, float); 6305 void SetAttributeAnimationWrapMode(const String&, WrapMode); 6306 void SetDeepEnabled(bool); 6307 void SetEnabledRecursive(bool); 6308 void SetFixedHeight(int); 6309 void SetFixedSize(int, int); 6310 void SetFixedWidth(int); 6311 void SetFullImageRect(); 6312 void SetHoverOffset(int, int); 6313 void SetInterceptNetworkUpdate(const String&, bool); 6314 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 6315 void SetMaxAnchor(float, float); 6316 void SetMaxSize(int, int); 6317 void SetMinAnchor(float, float); 6318 void SetMinSize(int, int); 6319 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 6320 void SetPivot(float, float); 6321 void SetPosition(int, int); 6322 void SetSize(int, int); 6323 bool SetStyle(const String&, XMLFile = null); 6324 bool SetStyle(const XMLElement&); 6325 bool SetStyleAuto(XMLFile = null); 6326 void UpdateLayout(); 6327 const Variant& GetVar(const StringHash&); 6328 6329 // Properties: 6330 bool animationEnabled; 6331 /* readonly */ 6332 Array<Variant> attributeDefaults; 6333 /* readonly */ 6334 Array<AttributeInfo> attributeInfos; 6335 Array<Variant> attributes; 6336 BlendMode blendMode; 6337 IntRect border; 6338 bool bringToBack; 6339 bool bringToFront; 6340 /* readonly */ 6341 String category; 6342 /* readonly */ 6343 IntVector2 childOffset; 6344 /* readonly */ 6345 Array<UIElement> children; 6346 IntRect clipBorder; 6347 bool clipChildren; 6348 /* writeonly */ 6349 Color color; 6350 /* readonly */ 6351 bool colorGradient; 6352 Array<Color> colors; 6353 /* readonly */ 6354 IntRect combinedScreenRect; 6355 /* readonly */ 6356 BorderImage cursor; 6357 float cursorBlinkRate; 6358 bool cursorMovable; 6359 uint cursorPosition; 6360 XMLFile defaultStyle; 6361 /* readonly */ 6362 float derivedOpacity; 6363 /* readonly */ 6364 uint dragButtonCombo; 6365 /* readonly */ 6366 int dragButtonCount; 6367 uint dragDropMode; 6368 uint echoCharacter; 6369 bool editable; 6370 bool elementEventSender; 6371 bool enableAnchor; 6372 bool enabled; 6373 /* readonly */ 6374 bool enabledSelf; 6375 /* readonly */ 6376 bool fixedHeight; 6377 /* readonly */ 6378 bool fixedSize; 6379 /* readonly */ 6380 bool fixedWidth; 6381 bool focus; 6382 FocusMode focusMode; 6383 int height; 6384 HorizontalAlignment horizontalAlignment; 6385 IntVector2 hoverOffset; 6386 /* readonly */ 6387 bool hovering; 6388 IntRect imageBorder; 6389 IntRect imageRect; 6390 int indent; 6391 int indentSpacing; 6392 /* readonly */ 6393 int indentWidth; 6394 bool internal; 6395 IntRect layoutBorder; 6396 Vector2 layoutFlexScale; 6397 LayoutMode layoutMode; 6398 int layoutSpacing; 6399 Vector2 maxAnchor; 6400 int maxHeight; 6401 uint maxLength; 6402 IntVector2 maxOffset; 6403 IntVector2 maxSize; 6404 int maxWidth; 6405 Vector2 minAnchor; 6406 int minHeight; 6407 IntVector2 minOffset; 6408 IntVector2 minSize; 6409 int minWidth; 6410 String name; 6411 /* readonly */ 6412 uint numAllChildren; 6413 /* readonly */ 6414 uint numAttributes; 6415 /* readonly */ 6416 uint numChildren; 6417 ObjectAnimation objectAnimation; 6418 float opacity; 6419 UIElement parent; 6420 Vector2 pivot; 6421 IntVector2 position; 6422 int priority; 6423 /* readonly */ 6424 int refs; 6425 /* readonly */ 6426 UIElement root; 6427 /* readonly */ 6428 IntVector2 screenPosition; 6429 bool selected; 6430 IntVector2 size; 6431 bool sortChildren; 6432 String style; 6433 /* readonly */ 6434 Array<String> tags; 6435 bool temporary; 6436 String text; 6437 bool textCopyable; 6438 /* readonly */ 6439 Text textElement; 6440 bool textSelectable; 6441 Texture texture; 6442 bool tiled; 6443 TraversalMode traversalMode; 6444 /* readonly */ 6445 StringHash type; 6446 /* readonly */ 6447 String typeName; 6448 bool useDerivedOpacity; 6449 /* readonly */ 6450 VariantMap vars; 6451 VerticalAlignment verticalAlignment; 6452 bool visible; 6453 /* readonly */ 6454 bool visibleEffective; 6455 /* readonly */ 6456 int weakRefs; 6457 int width; 6458 }; 6459 6460 class ListView 6461 { 6462 public: 6463 ListView(); 6464 ListView(const String&in); 6465 // Methods: 6466 void AddChild(UIElement); 6467 void AddItem(UIElement); 6468 void AddSelection(uint); 6469 void AddTag(const String&); 6470 void AddTags(const String&, int8 = ';'); 6471 void ApplyAttributes(); 6472 void BringToFront(); 6473 void ChangeSelection(int, bool); 6474 void ClearSelection(); 6475 void CopySelectedItemsToClipboard(); 6476 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 6477 void DisableLayoutUpdate(); 6478 IntVector2 ElementToScreen(const IntVector2&); 6479 void EnableLayoutUpdate(); 6480 void Expand(uint, bool, bool = false); 6481 uint FindChild(UIElement) const; 6482 uint FindItem(UIElement); 6483 Variant GetAttribute(const String&) const; 6484 ValueAnimation GetAttributeAnimation(const String&) const; 6485 float GetAttributeAnimationSpeed(const String&) const; 6486 float GetAttributeAnimationTime(const String&) const; 6487 WrapMode GetAttributeAnimationWrapMode(const String&) const; 6488 Variant GetAttributeDefault(const String&) const; 6489 UIElement GetChild(const String&, bool = false) const; 6490 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 6491 Array<UIElement> GetChildren(bool = false) const; 6492 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 6493 UIElement GetElementEventSender() const; 6494 bool GetInterceptNetworkUpdate(const String&) const; 6495 Array<UIElement> GetItems() const; 6496 uint GetNumChildren(bool) const; 6497 bool HasSubscribedToEvent(Object, const String&); 6498 bool HasSubscribedToEvent(const String&); 6499 bool HasTag(const String&) const; 6500 void InsertChild(uint, UIElement); 6501 void InsertItem(uint, UIElement, UIElement = null); 6502 bool IsExpanded(uint) const; 6503 bool IsInside(IntVector2, bool); 6504 bool IsInsideCombined(IntVector2, bool); 6505 bool IsSelected(uint) const; 6506 bool Load(File, bool = false); 6507 bool Load(VectorBuffer&, bool = false); 6508 UIElement LoadChildXML(XMLFile, XMLFile = null); 6509 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 6510 bool LoadJSON(const JSONValue&, bool = false); 6511 bool LoadXML(File); 6512 bool LoadXML(VectorBuffer&); 6513 bool LoadXML(XMLFile, XMLFile); 6514 bool LoadXML(const XMLElement&, XMLFile, bool = false); 6515 bool LoadXML(const XMLElement&, bool = false); 6516 void MarkNetworkUpdate() const; 6517 void Remove(); 6518 void RemoveAllChildren(); 6519 void RemoveAllItems(); 6520 void RemoveAllTags(); 6521 void RemoveAttributeAnimation(const String&); 6522 void RemoveChild(UIElement, uint = 0); 6523 void RemoveChild(uint); 6524 void RemoveInstanceDefault(); 6525 void RemoveItem(UIElement, uint = 0); 6526 void RemoveItem(uint); 6527 void RemoveObjectAnimation(); 6528 void RemoveSelection(uint); 6529 bool RemoveTag(const String&); 6530 void ResetDeepEnabled(); 6531 void ResetToDefault(); 6532 bool Save(File) const; 6533 bool Save(VectorBuffer&) const; 6534 bool SaveJSON(JSONValue&) const; 6535 bool SaveXML(File, const String& = "\t"); 6536 bool SaveXML(VectorBuffer&, const String& = "\t"); 6537 bool SaveXML(XMLElement&) const; 6538 IntVector2 ScreenToElement(const IntVector2&); 6539 void SendEvent(const String&, VariantMap& = VariantMap ( )); 6540 void SetAlignment(HorizontalAlignment, VerticalAlignment); 6541 void SetAnimationTime(float); 6542 bool SetAttribute(const String&, const Variant&); 6543 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 6544 void SetAttributeAnimationSpeed(const String&, float); 6545 void SetAttributeAnimationTime(const String&, float); 6546 void SetAttributeAnimationWrapMode(const String&, WrapMode); 6547 void SetDeepEnabled(bool); 6548 void SetEnabledRecursive(bool); 6549 void SetFixedHeight(int); 6550 void SetFixedSize(int, int); 6551 void SetFixedWidth(int); 6552 void SetInterceptNetworkUpdate(const String&, bool); 6553 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 6554 void SetMaxAnchor(float, float); 6555 void SetMaxSize(int, int); 6556 void SetMinAnchor(float, float); 6557 void SetMinSize(int, int); 6558 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 6559 void SetPivot(float, float); 6560 void SetPosition(int, int); 6561 void SetScrollBarsVisible(bool, bool); 6562 void SetSelections(Array<uint>); 6563 void SetSize(int, int); 6564 bool SetStyle(const String&, XMLFile = null); 6565 bool SetStyle(const XMLElement&); 6566 bool SetStyleAuto(XMLFile = null); 6567 void SetViewPosition(int, int); 6568 void ToggleExpand(uint, bool = false); 6569 void ToggleSelection(uint); 6570 void UpdateLayout(); 6571 const Variant& GetVar(const StringHash&); 6572 6573 // Properties: 6574 bool animationEnabled; 6575 /* readonly */ 6576 Array<Variant> attributeDefaults; 6577 /* readonly */ 6578 Array<AttributeInfo> attributeInfos; 6579 Array<Variant> attributes; 6580 bool autoDisableChildren; 6581 float autoDisableThreshold; 6582 int baseIndent; 6583 bool bringToBack; 6584 bool bringToFront; 6585 /* readonly */ 6586 String category; 6587 /* readonly */ 6588 IntVector2 childOffset; 6589 /* readonly */ 6590 Array<UIElement> children; 6591 bool clearSelectionOnDefocus; 6592 IntRect clipBorder; 6593 bool clipChildren; 6594 /* writeonly */ 6595 Color color; 6596 /* readonly */ 6597 bool colorGradient; 6598 Array<Color> colors; 6599 /* readonly */ 6600 IntRect combinedScreenRect; 6601 /* readonly */ 6602 UIElement contentElement; 6603 XMLFile defaultStyle; 6604 /* readonly */ 6605 float derivedOpacity; 6606 /* readonly */ 6607 uint dragButtonCombo; 6608 /* readonly */ 6609 int dragButtonCount; 6610 uint dragDropMode; 6611 bool editable; 6612 bool elementEventSender; 6613 bool enableAnchor; 6614 bool enabled; 6615 /* readonly */ 6616 bool enabledSelf; 6617 /* readonly */ 6618 bool fixedHeight; 6619 /* readonly */ 6620 bool fixedSize; 6621 /* readonly */ 6622 bool fixedWidth; 6623 bool focus; 6624 FocusMode focusMode; 6625 int height; 6626 bool hierarchyMode; 6627 HighlightMode highlightMode; 6628 HorizontalAlignment horizontalAlignment; 6629 /* readonly */ 6630 ScrollBar horizontalScrollBar; 6631 /* readonly */ 6632 bool hovering; 6633 int indent; 6634 int indentSpacing; 6635 /* readonly */ 6636 int indentWidth; 6637 bool internal; 6638 /* readonly */ 6639 Array<UIElement> items; 6640 IntRect layoutBorder; 6641 Vector2 layoutFlexScale; 6642 LayoutMode layoutMode; 6643 int layoutSpacing; 6644 Vector2 maxAnchor; 6645 int maxHeight; 6646 IntVector2 maxOffset; 6647 IntVector2 maxSize; 6648 int maxWidth; 6649 Vector2 minAnchor; 6650 int minHeight; 6651 IntVector2 minOffset; 6652 IntVector2 minSize; 6653 int minWidth; 6654 bool multiselect; 6655 String name; 6656 /* readonly */ 6657 uint numAllChildren; 6658 /* readonly */ 6659 uint numAttributes; 6660 /* readonly */ 6661 uint numChildren; 6662 /* readonly */ 6663 uint numItems; 6664 ObjectAnimation objectAnimation; 6665 float opacity; 6666 float pageStep; 6667 UIElement parent; 6668 Vector2 pivot; 6669 IntVector2 position; 6670 int priority; 6671 /* readonly */ 6672 int refs; 6673 /* readonly */ 6674 UIElement root; 6675 /* readonly */ 6676 IntVector2 screenPosition; 6677 bool scrollBarsAutoVisible; 6678 float scrollDeceleration; 6679 /* readonly */ 6680 BorderImage scrollPanel; 6681 float scrollSnapEpsilon; 6682 float scrollStep; 6683 bool selectOnClickEnd; 6684 bool selected; 6685 /* readonly */ 6686 UIElement selectedItem; 6687 /* readonly */ 6688 Array<UIElement> selectedItems; 6689 uint selection; 6690 /* readonly */ 6691 Array<uint> selections; 6692 IntVector2 size; 6693 bool sortChildren; 6694 String style; 6695 /* readonly */ 6696 Array<String> tags; 6697 bool temporary; 6698 TraversalMode traversalMode; 6699 /* readonly */ 6700 StringHash type; 6701 /* readonly */ 6702 String typeName; 6703 bool useDerivedOpacity; 6704 /* readonly */ 6705 VariantMap vars; 6706 VerticalAlignment verticalAlignment; 6707 /* readonly */ 6708 ScrollBar verticalScrollBar; 6709 IntVector2 viewPosition; 6710 bool visible; 6711 /* readonly */ 6712 bool visibleEffective; 6713 /* readonly */ 6714 int weakRefs; 6715 int width; 6716 }; 6717 6718 class Localization 6719 { 6720 public: 6721 // Methods: 6722 String Get(const String&); 6723 String GetLanguage(int); 6724 int GetLanguageIndex(const String&); 6725 bool HasSubscribedToEvent(Object, const String&); 6726 bool HasSubscribedToEvent(const String&); 6727 void LoadJSON(const JSONValue&); 6728 void LoadJSONFile(const String&); 6729 void Reset(); 6730 void SendEvent(const String&, VariantMap& = VariantMap ( )); 6731 void SetLanguage(const String&); 6732 void SetLanguage(int); 6733 6734 // Properties: 6735 /* readonly */ 6736 String category; 6737 /* readonly */ 6738 String language; 6739 /* readonly */ 6740 int languageIndex; 6741 /* readonly */ 6742 int numLanguages; 6743 /* readonly */ 6744 int refs; 6745 /* readonly */ 6746 StringHash type; 6747 /* readonly */ 6748 String typeName; 6749 /* readonly */ 6750 int weakRefs; 6751 }; 6752 6753 class Log 6754 { 6755 public: 6756 // Methods: 6757 void Close(); 6758 void Debug(const String&); 6759 void Error(const String&); 6760 bool HasSubscribedToEvent(Object, const String&); 6761 bool HasSubscribedToEvent(const String&); 6762 void Info(const String&); 6763 void Open(const String&); 6764 void SendEvent(const String&, VariantMap& = VariantMap ( )); 6765 void Warning(const String&); 6766 void Write(const String&, bool = false); 6767 6768 // Properties: 6769 /* readonly */ 6770 String category; 6771 /* readonly */ 6772 String lastMessage; 6773 int level; 6774 bool quiet; 6775 /* readonly */ 6776 int refs; 6777 bool timeStamp; 6778 /* readonly */ 6779 StringHash type; 6780 /* readonly */ 6781 String typeName; 6782 /* readonly */ 6783 int weakRefs; 6784 }; 6785 6786 class Material 6787 { 6788 public: 6789 Material(); 6790 Material(const String&in); 6791 // Methods: 6792 Material Clone(const String& = String ( )) const; 6793 Pass GetPass(uint, const String&); 6794 ValueAnimation GetShaderParameterAnimation(const String&) const; 6795 float GetShaderParameterAnimationSpeed(const String&) const; 6796 WrapMode GetShaderParameterAnimationWrapMode(const String&) const; 6797 bool HasSubscribedToEvent(Object, const String&); 6798 bool HasSubscribedToEvent(const String&); 6799 bool Load(File); 6800 bool Load(VectorBuffer&); 6801 bool Load(const JSONValue&); 6802 bool Load(const String&); 6803 bool Load(const XMLElement&); 6804 void RemoveShaderParameter(const String&); 6805 bool Save(File) const; 6806 bool Save(JSONValue&) const; 6807 bool Save(VectorBuffer&) const; 6808 bool Save(XMLElement&) const; 6809 bool Save(const String&) const; 6810 void SendEvent(const String&, VariantMap& = VariantMap ( )); 6811 void SetShaderParameterAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 6812 void SetShaderParameterAnimationSpeed(const String&, float); 6813 void SetShaderParameterAnimationWrapMode(const String&, WrapMode); 6814 void SetTechnique(uint, Technique, uint = 0, float = 0.0); 6815 void SetUVTransform(const Vector2&, float, const Vector2&); 6816 void SetUVTransform(const Vector2&, float, float); 6817 void SortTechniques(); 6818 6819 // Properties: 6820 bool alphaToCoverage; 6821 /* readonly */ 6822 String category; 6823 CullMode cullMode; 6824 BiasParameters depthBias; 6825 FillMode fillMode; 6826 bool lineAntiAlias; 6827 /* readonly */ 6828 uint memoryUse; 6829 String name; 6830 uint numTechniques; 6831 bool occlusion; 6832 String pixelShaderDefines; 6833 /* readonly */ 6834 int refs; 6835 uint8 renderOrder; 6836 Scene scene; 6837 /* readonly */ 6838 Array<String> shaderParameterNames; 6839 Array<Variant> shaderParameters; 6840 CullMode shadowCullMode; 6841 /* readonly */ 6842 Array<TechniqueEntry> techniqueEntries; 6843 /* readonly */ 6844 Array<Technique> techniques; 6845 Array<Texture> textures; 6846 /* readonly */ 6847 StringHash type; 6848 /* readonly */ 6849 String typeName; 6850 /* readonly */ 6851 uint useTimer; 6852 String vertexShaderDefines; 6853 /* readonly */ 6854 int weakRefs; 6855 }; 6856 6857 class Matrix2 6858 { 6859 public: 6860 Matrix2(); 6861 Matrix2(const Matrix2&in); 6862 Matrix2(float, float, float, float); 6863 // Methods: 6864 bool Equals(const Matrix2&) const; 6865 Matrix2 Inverse() const; 6866 Vector2 Scale() const; 6867 Matrix2 Scaled(const Vector2&) const; 6868 void SetScale(const Vector2&); 6869 void SetScale(float); 6870 String ToString() const; 6871 Matrix2 Transpose() const; 6872 6873 // Properties: 6874 float m00; 6875 float m01; 6876 float m10; 6877 float m11; 6878 }; 6879 6880 class Matrix3 6881 { 6882 public: 6883 Matrix3(); 6884 Matrix3(const Matrix3&in); 6885 Matrix3(float, float, float, float, float, float, float, float, float); 6886 // Methods: 6887 bool Equals(const Matrix3&) const; 6888 Matrix3 Inverse() const; 6889 Vector3 Scale() const; 6890 Matrix3 Scaled(const Vector3&) const; 6891 void SetScale(const Vector3&); 6892 void SetScale(float); 6893 String ToString() const; 6894 Matrix3 Transpose() const; 6895 6896 // Properties: 6897 float m00; 6898 float m01; 6899 float m02; 6900 float m10; 6901 float m11; 6902 float m12; 6903 float m20; 6904 float m21; 6905 float m22; 6906 }; 6907 6908 class Matrix3x4 6909 { 6910 public: 6911 Matrix3x4(); 6912 Matrix3x4(const Matrix3x4&in); 6913 Matrix3x4(const Matrix3&in); 6914 Matrix3x4(const Matrix4&in); 6915 Matrix3x4(float, float, float, float, float, float, float, float, float, float, float, float); 6916 Matrix3x4(const Vector3&in, const Quaternion&in, const Vector3&in); 6917 Matrix3x4(const Vector3&in, const Quaternion&in, float); 6918 // Methods: 6919 void Decompose(Vector3&, Quaternion&, Vector3&) const; 6920 bool Equals(const Matrix3x4&) const; 6921 Matrix3x4 Inverse() const; 6922 Quaternion Rotation() const; 6923 Matrix3 RotationMatrix() const; 6924 Vector3 Scale() const; 6925 void SetRotation(const Matrix3&); 6926 void SetScale(const Vector3&); 6927 void SetScale(float); 6928 void SetTranslation(const Vector3&); 6929 Matrix3 ToMatrix3() const; 6930 Matrix4 ToMatrix4() const; 6931 String ToString() const; 6932 Vector3 Translation() const; 6933 6934 // Properties: 6935 float m00; 6936 float m01; 6937 float m02; 6938 float m03; 6939 float m10; 6940 float m11; 6941 float m12; 6942 float m13; 6943 float m20; 6944 float m21; 6945 float m22; 6946 float m23; 6947 }; 6948 6949 class Matrix4 6950 { 6951 public: 6952 Matrix4(); 6953 Matrix4(const Matrix4&in); 6954 Matrix4(const Matrix3&in); 6955 Matrix4(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float); 6956 // Methods: 6957 void Decompose(Vector3&, Quaternion&, Vector3&) const; 6958 bool Equals(const Matrix4&) const; 6959 Matrix4 Inverse() const; 6960 Quaternion Rotation() const; 6961 Matrix3 RotationMatrix() const; 6962 Vector3 Scale() const; 6963 void SetRotation(const Matrix3&); 6964 void SetScale(const Vector3&); 6965 void SetScale(float); 6966 void SetTranslation(const Vector3&); 6967 Matrix3 ToMatrix3() const; 6968 String ToString() const; 6969 Vector3 Translation() const; 6970 Matrix4 Transpose() const; 6971 6972 // Properties: 6973 float m00; 6974 float m01; 6975 float m02; 6976 float m03; 6977 float m10; 6978 float m11; 6979 float m12; 6980 float m13; 6981 float m20; 6982 float m21; 6983 float m22; 6984 float m23; 6985 float m30; 6986 float m31; 6987 float m32; 6988 float m33; 6989 }; 6990 6991 class Menu 6992 { 6993 public: 6994 Menu(); 6995 Menu(const String&in); 6996 // Methods: 6997 void AddChild(UIElement); 6998 void AddTag(const String&); 6999 void AddTags(const String&, int8 = ';'); 7000 void ApplyAttributes(); 7001 void BringToFront(); 7002 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 7003 void DisableLayoutUpdate(); 7004 IntVector2 ElementToScreen(const IntVector2&); 7005 void EnableLayoutUpdate(); 7006 uint FindChild(UIElement) const; 7007 Variant GetAttribute(const String&) const; 7008 ValueAnimation GetAttributeAnimation(const String&) const; 7009 float GetAttributeAnimationSpeed(const String&) const; 7010 float GetAttributeAnimationTime(const String&) const; 7011 WrapMode GetAttributeAnimationWrapMode(const String&) const; 7012 Variant GetAttributeDefault(const String&) const; 7013 UIElement GetChild(const String&, bool = false) const; 7014 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 7015 Array<UIElement> GetChildren(bool = false) const; 7016 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 7017 UIElement GetElementEventSender() const; 7018 bool GetInterceptNetworkUpdate(const String&) const; 7019 uint GetNumChildren(bool) const; 7020 bool HasSubscribedToEvent(Object, const String&); 7021 bool HasSubscribedToEvent(const String&); 7022 bool HasTag(const String&) const; 7023 void InsertChild(uint, UIElement); 7024 bool IsInside(IntVector2, bool); 7025 bool IsInsideCombined(IntVector2, bool); 7026 bool Load(File, bool = false); 7027 bool Load(VectorBuffer&, bool = false); 7028 UIElement LoadChildXML(XMLFile, XMLFile = null); 7029 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 7030 bool LoadJSON(const JSONValue&, bool = false); 7031 bool LoadXML(File); 7032 bool LoadXML(VectorBuffer&); 7033 bool LoadXML(XMLFile, XMLFile); 7034 bool LoadXML(const XMLElement&, XMLFile, bool = false); 7035 bool LoadXML(const XMLElement&, bool = false); 7036 void MarkNetworkUpdate() const; 7037 void Remove(); 7038 void RemoveAllChildren(); 7039 void RemoveAllTags(); 7040 void RemoveAttributeAnimation(const String&); 7041 void RemoveChild(UIElement, uint = 0); 7042 void RemoveChild(uint); 7043 void RemoveInstanceDefault(); 7044 void RemoveObjectAnimation(); 7045 bool RemoveTag(const String&); 7046 void ResetDeepEnabled(); 7047 void ResetToDefault(); 7048 bool Save(File) const; 7049 bool Save(VectorBuffer&) const; 7050 bool SaveJSON(JSONValue&) const; 7051 bool SaveXML(File, const String& = "\t"); 7052 bool SaveXML(VectorBuffer&, const String& = "\t"); 7053 bool SaveXML(XMLElement&) const; 7054 IntVector2 ScreenToElement(const IntVector2&); 7055 void SendEvent(const String&, VariantMap& = VariantMap ( )); 7056 void SetAccelerator(int, int); 7057 void SetAlignment(HorizontalAlignment, VerticalAlignment); 7058 void SetAnimationTime(float); 7059 bool SetAttribute(const String&, const Variant&); 7060 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 7061 void SetAttributeAnimationSpeed(const String&, float); 7062 void SetAttributeAnimationTime(const String&, float); 7063 void SetAttributeAnimationWrapMode(const String&, WrapMode); 7064 void SetDeepEnabled(bool); 7065 void SetEnabledRecursive(bool); 7066 void SetFixedHeight(int); 7067 void SetFixedSize(int, int); 7068 void SetFixedWidth(int); 7069 void SetFullImageRect(); 7070 void SetHoverOffset(int, int); 7071 void SetInterceptNetworkUpdate(const String&, bool); 7072 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 7073 void SetMaxAnchor(float, float); 7074 void SetMaxSize(int, int); 7075 void SetMinAnchor(float, float); 7076 void SetMinSize(int, int); 7077 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 7078 void SetPivot(float, float); 7079 void SetPopupOffset(int, int); 7080 void SetPosition(int, int); 7081 void SetPressedChildOffset(int, int); 7082 void SetPressedOffset(int, int); 7083 void SetRepeat(float, float); 7084 void SetSize(int, int); 7085 bool SetStyle(const String&, XMLFile = null); 7086 bool SetStyle(const XMLElement&); 7087 bool SetStyleAuto(XMLFile = null); 7088 void UpdateLayout(); 7089 const Variant& GetVar(const StringHash&); 7090 7091 // Properties: 7092 /* readonly */ 7093 int acceleratorKey; 7094 /* readonly */ 7095 int acceleratorQualifiers; 7096 bool animationEnabled; 7097 /* readonly */ 7098 Array<Variant> attributeDefaults; 7099 /* readonly */ 7100 Array<AttributeInfo> attributeInfos; 7101 Array<Variant> attributes; 7102 BlendMode blendMode; 7103 IntRect border; 7104 bool bringToBack; 7105 bool bringToFront; 7106 /* readonly */ 7107 String category; 7108 /* readonly */ 7109 IntVector2 childOffset; 7110 /* readonly */ 7111 Array<UIElement> children; 7112 IntRect clipBorder; 7113 bool clipChildren; 7114 /* writeonly */ 7115 Color color; 7116 /* readonly */ 7117 bool colorGradient; 7118 Array<Color> colors; 7119 /* readonly */ 7120 IntRect combinedScreenRect; 7121 XMLFile defaultStyle; 7122 /* readonly */ 7123 float derivedOpacity; 7124 /* readonly */ 7125 uint dragButtonCombo; 7126 /* readonly */ 7127 int dragButtonCount; 7128 uint dragDropMode; 7129 bool editable; 7130 bool elementEventSender; 7131 bool enableAnchor; 7132 bool enabled; 7133 /* readonly */ 7134 bool enabledSelf; 7135 /* readonly */ 7136 bool fixedHeight; 7137 /* readonly */ 7138 bool fixedSize; 7139 /* readonly */ 7140 bool fixedWidth; 7141 bool focus; 7142 FocusMode focusMode; 7143 int height; 7144 HorizontalAlignment horizontalAlignment; 7145 IntVector2 hoverOffset; 7146 /* readonly */ 7147 bool hovering; 7148 IntRect imageBorder; 7149 IntRect imageRect; 7150 int indent; 7151 int indentSpacing; 7152 /* readonly */ 7153 int indentWidth; 7154 bool internal; 7155 IntRect layoutBorder; 7156 Vector2 layoutFlexScale; 7157 LayoutMode layoutMode; 7158 int layoutSpacing; 7159 Vector2 maxAnchor; 7160 int maxHeight; 7161 IntVector2 maxOffset; 7162 IntVector2 maxSize; 7163 int maxWidth; 7164 Vector2 minAnchor; 7165 int minHeight; 7166 IntVector2 minOffset; 7167 IntVector2 minSize; 7168 int minWidth; 7169 String name; 7170 /* readonly */ 7171 uint numAllChildren; 7172 /* readonly */ 7173 uint numAttributes; 7174 /* readonly */ 7175 uint numChildren; 7176 ObjectAnimation objectAnimation; 7177 float opacity; 7178 UIElement parent; 7179 Vector2 pivot; 7180 UIElement popup; 7181 IntVector2 popupOffset; 7182 IntVector2 position; 7183 /* readonly */ 7184 bool pressed; 7185 IntVector2 pressedChildOffset; 7186 IntVector2 pressedOffset; 7187 int priority; 7188 /* readonly */ 7189 int refs; 7190 float repeatDelay; 7191 float repeatRate; 7192 /* readonly */ 7193 UIElement root; 7194 /* readonly */ 7195 IntVector2 screenPosition; 7196 bool selected; 7197 bool showPopup; 7198 IntVector2 size; 7199 bool sortChildren; 7200 String style; 7201 /* readonly */ 7202 Array<String> tags; 7203 bool temporary; 7204 Texture texture; 7205 bool tiled; 7206 TraversalMode traversalMode; 7207 /* readonly */ 7208 StringHash type; 7209 /* readonly */ 7210 String typeName; 7211 bool useDerivedOpacity; 7212 /* readonly */ 7213 VariantMap vars; 7214 VerticalAlignment verticalAlignment; 7215 bool visible; 7216 /* readonly */ 7217 bool visibleEffective; 7218 /* readonly */ 7219 int weakRefs; 7220 int width; 7221 }; 7222 7223 class MessageBox 7224 { 7225 public: 7226 MessageBox(const String&in messageString = String ( ), const String&in titleString = String ( ), XMLFile& layoutFile = null, XMLFile& styleFile = null); 7227 // Methods: 7228 bool HasSubscribedToEvent(Object, const String&); 7229 bool HasSubscribedToEvent(const String&); 7230 void SendEvent(const String&, VariantMap& = VariantMap ( )); 7231 7232 // Properties: 7233 /* readonly */ 7234 String category; 7235 String message; 7236 /* readonly */ 7237 int refs; 7238 String title; 7239 /* readonly */ 7240 StringHash type; 7241 /* readonly */ 7242 String typeName; 7243 /* readonly */ 7244 int weakRefs; 7245 /* readonly */ 7246 UIElement window; 7247 }; 7248 7249 class Model 7250 { 7251 public: 7252 Model(); 7253 Model(const String&in); 7254 // Methods: 7255 void AddMetadata(const String&, const Variant&); 7256 Model Clone(const String& = String ( )) const; 7257 Geometry GetGeometry(uint, uint) const; 7258 bool HasSubscribedToEvent(Object, const String&); 7259 bool HasSubscribedToEvent(const String&); 7260 bool Load(File); 7261 bool Load(VectorBuffer&); 7262 bool Load(const String&); 7263 void RemoveAllMetadata(); 7264 void RemoveMetadata(const String&); 7265 bool Save(File) const; 7266 bool Save(VectorBuffer&) const; 7267 bool Save(const String&) const; 7268 void SendEvent(const String&, VariantMap& = VariantMap ( )); 7269 bool SetGeometry(uint, uint, Geometry); 7270 bool SetIndexBuffers(Array<IndexBuffer>); 7271 bool SetVertexBuffers(Array<Array<Array<VertexBuffer>, uint>, uint>); 7272 7273 // Properties: 7274 BoundingBox boundingBox; 7275 /* readonly */ 7276 String category; 7277 Array<Vector3> geometryCenters; 7278 /* readonly */ 7279 bool hasMetadata; 7280 /* readonly */ 7281 uint memoryUse; 7282 Array<Variant> metadata; 7283 String name; 7284 uint numGeometries; 7285 Array<uint> numGeometryLodLevels; 7286 /* readonly */ 7287 uint numMorphs; 7288 /* readonly */ 7289 int refs; 7290 /* readonly */ 7291 Skeleton skeleton; 7292 /* readonly */ 7293 StringHash type; 7294 /* readonly */ 7295 String typeName; 7296 /* readonly */ 7297 uint useTimer; 7298 /* readonly */ 7299 int weakRefs; 7300 }; 7301 7302 class NamedPipe 7303 { 7304 public: 7305 NamedPipe(); 7306 NamedPipe(const String&in, bool); 7307 // Methods: 7308 void Close(); 7309 bool HasSubscribedToEvent(Object, const String&); 7310 bool HasSubscribedToEvent(const String&); 7311 bool Open(const String&, bool); 7312 Array<uint8> Read(uint); 7313 bool ReadBool(); 7314 BoundingBox ReadBoundingBox(); 7315 int8 ReadByte(); 7316 Color ReadColor(); 7317 double ReadDouble(); 7318 String ReadFileID(); 7319 float ReadFloat(); 7320 int ReadInt(); 7321 int64 ReadInt64(); 7322 IntRect ReadIntRect(); 7323 IntVector2 ReadIntVector2(); 7324 String ReadLine(); 7325 Matrix3 ReadMatrix3(); 7326 Matrix3x4 ReadMatrix3x4(); 7327 Matrix4 ReadMatrix4(); 7328 uint ReadNetID(); 7329 Quaternion ReadPackedQuaternion(); 7330 Vector3 ReadPackedVector3(float); 7331 Quaternion ReadQuaternion(); 7332 int16 ReadShort(); 7333 String ReadString(); 7334 StringHash ReadStringHash(); 7335 uint8 ReadUByte(); 7336 uint ReadUInt(); 7337 uint64 ReadUInt64(); 7338 uint16 ReadUShort(); 7339 uint ReadVLE(); 7340 Variant ReadVariant(); 7341 VariantMap ReadVariantMap(); 7342 Vector2 ReadVector2(); 7343 Vector3 ReadVector3(); 7344 Vector4 ReadVector4(); 7345 VectorBuffer ReadVectorBuffer(uint); 7346 uint Seek(uint); 7347 uint SeekRelative(int); 7348 void SendEvent(const String&, VariantMap& = VariantMap ( )); 7349 uint Tell() const; 7350 uint Write(Array<uint8>); 7351 bool WriteBool(bool); 7352 bool WriteBoundingBox(const BoundingBox&); 7353 bool WriteByte(int8); 7354 bool WriteColor(const Color&); 7355 bool WriteDouble(double); 7356 bool WriteFileID(const String&); 7357 bool WriteFloat(float); 7358 bool WriteInt(int); 7359 bool WriteInt64(int64); 7360 bool WriteIntRect(const IntRect&); 7361 bool WriteIntVector2(const IntVector2&); 7362 bool WriteLine(const String&); 7363 bool WriteMatrix3(const Matrix3&); 7364 bool WriteMatrix3x4(const Matrix3x4&); 7365 bool WriteMatrix4(const Matrix4&); 7366 bool WriteNetID(uint); 7367 bool WritePackedQuaternion(const Quaternion&); 7368 bool WritePackedVector3(const Vector3&, float); 7369 bool WriteQuaternion(const Quaternion&); 7370 bool WriteShort(int16); 7371 bool WriteString(const String&); 7372 bool WriteStringHash(const StringHash&); 7373 bool WriteUByte(uint8); 7374 bool WriteUInt(uint); 7375 bool WriteUInt64(uint64); 7376 bool WriteUShort(uint16); 7377 bool WriteVLE(uint); 7378 bool WriteVariant(const Variant&); 7379 bool WriteVariantMap(const VariantMap&); 7380 bool WriteVector2(const Vector2&); 7381 bool WriteVector3(const Vector3&); 7382 bool WriteVector4(const Vector4&); 7383 bool WriteVectorBuffer(const VectorBuffer&); 7384 7385 // Properties: 7386 /* readonly */ 7387 String category; 7388 /* readonly */ 7389 uint checksum; 7390 /* readonly */ 7391 bool eof; 7392 /* readonly */ 7393 String name; 7394 /* readonly */ 7395 bool open; 7396 /* readonly */ 7397 uint position; 7398 /* readonly */ 7399 int refs; 7400 /* readonly */ 7401 bool server; 7402 /* readonly */ 7403 uint size; 7404 /* readonly */ 7405 StringHash type; 7406 /* readonly */ 7407 String typeName; 7408 /* readonly */ 7409 int weakRefs; 7410 }; 7411 7412 class NavArea 7413 { 7414 public: 7415 // Methods: 7416 void ApplyAttributes(); 7417 void DrawDebugGeometry(DebugRenderer, bool); 7418 Variant GetAttribute(const String&) const; 7419 ValueAnimation GetAttributeAnimation(const String&) const; 7420 float GetAttributeAnimationSpeed(const String&) const; 7421 float GetAttributeAnimationTime(const String&) const; 7422 WrapMode GetAttributeAnimationWrapMode(const String&) const; 7423 Variant GetAttributeDefault(const String&) const; 7424 bool GetInterceptNetworkUpdate(const String&) const; 7425 bool HasSubscribedToEvent(Object, const String&); 7426 bool HasSubscribedToEvent(const String&); 7427 bool Load(File, bool = false); 7428 bool Load(VectorBuffer&, bool = false); 7429 bool LoadJSON(const JSONValue&, bool = false); 7430 bool LoadXML(const XMLElement&, bool = false); 7431 void MarkNetworkUpdate() const; 7432 void Remove(); 7433 void RemoveAttributeAnimation(const String&); 7434 void RemoveInstanceDefault(); 7435 void RemoveObjectAnimation(); 7436 void ResetToDefault(); 7437 bool Save(File) const; 7438 bool Save(VectorBuffer&) const; 7439 bool SaveJSON(JSONValue&) const; 7440 bool SaveXML(XMLElement&) const; 7441 void SendEvent(const String&, VariantMap& = VariantMap ( )); 7442 void SetAnimationTime(float); 7443 bool SetAttribute(const String&, const Variant&); 7444 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 7445 void SetAttributeAnimationSpeed(const String&, float); 7446 void SetAttributeAnimationTime(const String&, float); 7447 void SetAttributeAnimationWrapMode(const String&, WrapMode); 7448 void SetInterceptNetworkUpdate(const String&, bool); 7449 7450 // Properties: 7451 bool animationEnabled; 7452 uint areaID; 7453 /* readonly */ 7454 Array<Variant> attributeDefaults; 7455 /* readonly */ 7456 Array<AttributeInfo> attributeInfos; 7457 Array<Variant> attributes; 7458 BoundingBox boundingBox; 7459 /* readonly */ 7460 String category; 7461 bool enabled; 7462 /* readonly */ 7463 bool enabledEffective; 7464 /* readonly */ 7465 uint id; 7466 /* readonly */ 7467 Node node; 7468 /* readonly */ 7469 uint numAttributes; 7470 ObjectAnimation objectAnimation; 7471 /* readonly */ 7472 int refs; 7473 bool temporary; 7474 /* readonly */ 7475 StringHash type; 7476 /* readonly */ 7477 String typeName; 7478 /* readonly */ 7479 int weakRefs; 7480 /* readonly */ 7481 BoundingBox worldBoundingBox; 7482 }; 7483 7484 class Navigable 7485 { 7486 public: 7487 // Methods: 7488 void ApplyAttributes(); 7489 void DrawDebugGeometry(DebugRenderer, bool); 7490 Variant GetAttribute(const String&) const; 7491 ValueAnimation GetAttributeAnimation(const String&) const; 7492 float GetAttributeAnimationSpeed(const String&) const; 7493 float GetAttributeAnimationTime(const String&) const; 7494 WrapMode GetAttributeAnimationWrapMode(const String&) const; 7495 Variant GetAttributeDefault(const String&) const; 7496 bool GetInterceptNetworkUpdate(const String&) const; 7497 bool HasSubscribedToEvent(Object, const String&); 7498 bool HasSubscribedToEvent(const String&); 7499 bool Load(File, bool = false); 7500 bool Load(VectorBuffer&, bool = false); 7501 bool LoadJSON(const JSONValue&, bool = false); 7502 bool LoadXML(const XMLElement&, bool = false); 7503 void MarkNetworkUpdate() const; 7504 void Remove(); 7505 void RemoveAttributeAnimation(const String&); 7506 void RemoveInstanceDefault(); 7507 void RemoveObjectAnimation(); 7508 void ResetToDefault(); 7509 bool Save(File) const; 7510 bool Save(VectorBuffer&) const; 7511 bool SaveJSON(JSONValue&) const; 7512 bool SaveXML(XMLElement&) const; 7513 void SendEvent(const String&, VariantMap& = VariantMap ( )); 7514 void SetAnimationTime(float); 7515 bool SetAttribute(const String&, const Variant&); 7516 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 7517 void SetAttributeAnimationSpeed(const String&, float); 7518 void SetAttributeAnimationTime(const String&, float); 7519 void SetAttributeAnimationWrapMode(const String&, WrapMode); 7520 void SetInterceptNetworkUpdate(const String&, bool); 7521 7522 // Properties: 7523 bool animationEnabled; 7524 /* readonly */ 7525 Array<Variant> attributeDefaults; 7526 /* readonly */ 7527 Array<AttributeInfo> attributeInfos; 7528 Array<Variant> attributes; 7529 /* readonly */ 7530 String category; 7531 bool enabled; 7532 /* readonly */ 7533 bool enabledEffective; 7534 /* readonly */ 7535 uint id; 7536 /* readonly */ 7537 Node node; 7538 /* readonly */ 7539 uint numAttributes; 7540 ObjectAnimation objectAnimation; 7541 bool recursive; 7542 /* readonly */ 7543 int refs; 7544 bool temporary; 7545 /* readonly */ 7546 StringHash type; 7547 /* readonly */ 7548 String typeName; 7549 /* readonly */ 7550 int weakRefs; 7551 }; 7552 7553 class NavigationMesh 7554 { 7555 public: 7556 // Methods: 7557 bool AddTile(const VectorBuffer&) const; 7558 bool Allocate(const BoundingBox&, uint); 7559 void ApplyAttributes(); 7560 bool Build(); 7561 bool Build(const BoundingBox&); 7562 bool Build(const IntVector2&, const IntVector2&); 7563 void DrawDebugGeometry(DebugRenderer, bool); 7564 void DrawDebugGeometry(bool); 7565 Vector3 FindNearestPoint(const Vector3&, const Vector3& = Vector3 ( 1.0 , 1.0 , 1.0 )); 7566 Array<Vector3> FindPath(const Vector3&, const Vector3&, const Vector3& = Vector3 ( 1.0 , 1.0 , 1.0 )); 7567 float GetAreaCost(uint) const; 7568 Variant GetAttribute(const String&) const; 7569 ValueAnimation GetAttributeAnimation(const String&) const; 7570 float GetAttributeAnimationSpeed(const String&) const; 7571 float GetAttributeAnimationTime(const String&) const; 7572 WrapMode GetAttributeAnimationWrapMode(const String&) const; 7573 Variant GetAttributeDefault(const String&) const; 7574 float GetDistanceToWall(const Vector3&, float, const Vector3& = Vector3 ( 1.0 , 1.0 , 1.0 )); 7575 bool GetInterceptNetworkUpdate(const String&) const; 7576 Vector3 GetRandomPoint(); 7577 Vector3 GetRandomPointInCircle(const Vector3&, float, const Vector3& = Vector3 ( 1.0 , 1.0 , 1.0 )); 7578 BoundingBox GetTileBoudningBox(const IntVector2&) const; 7579 VectorBuffer GetTileData(const IntVector2&) const; 7580 IntVector2 GetTileIndex(const Vector3&) const; 7581 bool HasSubscribedToEvent(Object, const String&); 7582 bool HasSubscribedToEvent(const String&); 7583 bool HasTile(const IntVector2&) const; 7584 bool Load(File, bool = false); 7585 bool Load(VectorBuffer&, bool = false); 7586 bool LoadJSON(const JSONValue&, bool = false); 7587 bool LoadXML(const XMLElement&, bool = false); 7588 void MarkNetworkUpdate() const; 7589 Vector3 MoveAlongSurface(const Vector3&, const Vector3&, const Vector3& = Vector3 ( 1.0 , 1.0 , 1.0 ), int = 3); 7590 Vector3 Raycast(const Vector3&, const Vector3&, const Vector3& = Vector3 ( 1.0 , 1.0 , 1.0 )); 7591 void Remove(); 7592 void RemoveAllTiles(); 7593 void RemoveAttributeAnimation(const String&); 7594 void RemoveInstanceDefault(); 7595 void RemoveObjectAnimation(); 7596 void RemoveTile(const IntVector2&); 7597 void ResetToDefault(); 7598 bool Save(File) const; 7599 bool Save(VectorBuffer&) const; 7600 bool SaveJSON(JSONValue&) const; 7601 bool SaveXML(XMLElement&) const; 7602 void SendEvent(const String&, VariantMap& = VariantMap ( )); 7603 void SetAnimationTime(float); 7604 void SetAreaCost(uint, float); 7605 bool SetAttribute(const String&, const Variant&); 7606 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 7607 void SetAttributeAnimationSpeed(const String&, float); 7608 void SetAttributeAnimationTime(const String&, float); 7609 void SetAttributeAnimationWrapMode(const String&, WrapMode); 7610 void SetInterceptNetworkUpdate(const String&, bool); 7611 7612 // Properties: 7613 float agentHeight; 7614 float agentMaxClimb; 7615 float agentMaxSlope; 7616 float agentRadius; 7617 bool animationEnabled; 7618 /* readonly */ 7619 Array<Variant> attributeDefaults; 7620 /* readonly */ 7621 Array<AttributeInfo> attributeInfos; 7622 Array<Variant> attributes; 7623 /* readonly */ 7624 BoundingBox boundingBox; 7625 /* readonly */ 7626 String category; 7627 float cellHeight; 7628 float cellSize; 7629 float detailSampleDistance; 7630 float detailSampleMaxError; 7631 bool drawNavAreas; 7632 bool drawOffMeshConnections; 7633 float edgeMaxError; 7634 float edgeMaxLength; 7635 bool enabled; 7636 /* readonly */ 7637 bool enabledEffective; 7638 /* readonly */ 7639 uint id; 7640 /* readonly */ 7641 bool initialized; 7642 /* readonly */ 7643 Node node; 7644 /* readonly */ 7645 uint numAttributes; 7646 /* readonly */ 7647 IntVector2 numTiles; 7648 ObjectAnimation objectAnimation; 7649 Vector3 padding; 7650 NavmeshPartitionType partitionType; 7651 /* readonly */ 7652 int refs; 7653 float regionMergeSize; 7654 float regionMinSize; 7655 bool temporary; 7656 int tileSize; 7657 /* readonly */ 7658 StringHash type; 7659 /* readonly */ 7660 String typeName; 7661 /* readonly */ 7662 int weakRefs; 7663 /* readonly */ 7664 BoundingBox worldBoundingBox; 7665 }; 7666 7667 class Network 7668 { 7669 public: 7670 // Methods: 7671 void BroadcastMessage(int, bool, bool, const VectorBuffer&, uint = 0); 7672 void BroadcastRemoteEvent(Node, const String&, bool, const VariantMap& = VariantMap ( )); 7673 void BroadcastRemoteEvent(Scene, const String&, bool, const VariantMap& = VariantMap ( )); 7674 void BroadcastRemoteEvent(const String&, bool, const VariantMap& = VariantMap ( )); 7675 bool CheckRemoteEvent(const String&) const; 7676 bool Connect(const String&, uint16, Scene, const VariantMap& = VariantMap ( )); 7677 void Disconnect(int = 0); 7678 bool HasSubscribedToEvent(Object, const String&); 7679 bool HasSubscribedToEvent(const String&); 7680 HttpRequest MakeHttpRequest(const String&, const String& = String ( ), Array<String> = null, const String& = String ( )); 7681 void RegisterRemoteEvent(const String&) const; 7682 void SendEvent(const String&, VariantMap& = VariantMap ( )); 7683 void SendPackageToClients(Scene, PackageFile); 7684 bool StartServer(uint16); 7685 void StopServer(); 7686 void UnregisterAllRemoteEvents(); 7687 void UnregisterRemoteEvent(const String&) const; 7688 7689 // Properties: 7690 /* readonly */ 7691 String category; 7692 /* readonly */ 7693 Array<Connection> clientConnections; 7694 String packageCacheDir; 7695 /* readonly */ 7696 int refs; 7697 /* readonly */ 7698 Connection serverConnection; 7699 /* readonly */ 7700 bool serverRunning; 7701 int simulatedLatency; 7702 float simulatedPacketLoss; 7703 /* readonly */ 7704 StringHash type; 7705 /* readonly */ 7706 String typeName; 7707 int updateFps; 7708 /* readonly */ 7709 int weakRefs; 7710 }; 7711 7712 class NetworkPriority 7713 { 7714 public: 7715 // Methods: 7716 void ApplyAttributes(); 7717 void DrawDebugGeometry(DebugRenderer, bool); 7718 Variant GetAttribute(const String&) const; 7719 ValueAnimation GetAttributeAnimation(const String&) const; 7720 float GetAttributeAnimationSpeed(const String&) const; 7721 float GetAttributeAnimationTime(const String&) const; 7722 WrapMode GetAttributeAnimationWrapMode(const String&) const; 7723 Variant GetAttributeDefault(const String&) const; 7724 bool GetInterceptNetworkUpdate(const String&) const; 7725 bool HasSubscribedToEvent(Object, const String&); 7726 bool HasSubscribedToEvent(const String&); 7727 bool Load(File, bool = false); 7728 bool Load(VectorBuffer&, bool = false); 7729 bool LoadJSON(const JSONValue&, bool = false); 7730 bool LoadXML(const XMLElement&, bool = false); 7731 void MarkNetworkUpdate() const; 7732 void Remove(); 7733 void RemoveAttributeAnimation(const String&); 7734 void RemoveInstanceDefault(); 7735 void RemoveObjectAnimation(); 7736 void ResetToDefault(); 7737 bool Save(File) const; 7738 bool Save(VectorBuffer&) const; 7739 bool SaveJSON(JSONValue&) const; 7740 bool SaveXML(XMLElement&) const; 7741 void SendEvent(const String&, VariantMap& = VariantMap ( )); 7742 void SetAnimationTime(float); 7743 bool SetAttribute(const String&, const Variant&); 7744 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 7745 void SetAttributeAnimationSpeed(const String&, float); 7746 void SetAttributeAnimationTime(const String&, float); 7747 void SetAttributeAnimationWrapMode(const String&, WrapMode); 7748 void SetInterceptNetworkUpdate(const String&, bool); 7749 7750 // Properties: 7751 bool alwaysUpdateOwner; 7752 bool animationEnabled; 7753 /* readonly */ 7754 Array<Variant> attributeDefaults; 7755 /* readonly */ 7756 Array<AttributeInfo> attributeInfos; 7757 Array<Variant> attributes; 7758 float basePriority; 7759 /* readonly */ 7760 String category; 7761 float distanceFactor; 7762 bool enabled; 7763 /* readonly */ 7764 bool enabledEffective; 7765 /* readonly */ 7766 uint id; 7767 float minPriority; 7768 /* readonly */ 7769 Node node; 7770 /* readonly */ 7771 uint numAttributes; 7772 ObjectAnimation objectAnimation; 7773 /* readonly */ 7774 int refs; 7775 bool temporary; 7776 /* readonly */ 7777 StringHash type; 7778 /* readonly */ 7779 String typeName; 7780 /* readonly */ 7781 int weakRefs; 7782 }; 7783 7784 class Node 7785 { 7786 public: 7787 Node(); 7788 Node(const String&in); 7789 // Methods: 7790 void AddChild(Node, uint = M_MAX_UNSIGNED); 7791 void AddTag(const String&); 7792 void AddTags(const String&, int8 = ';'); 7793 void ApplyAttributes(); 7794 Node Clone(CreateMode = REPLICATED); 7795 Component CloneComponent(Component, CreateMode, uint = 0); 7796 Component CloneComponent(Component, uint = 0); 7797 Node CreateChild(const String& = String ( ), CreateMode = REPLICATED, uint = 0, bool = false); 7798 Component CreateComponent(const String&, CreateMode = REPLICATED, uint = 0); 7799 ScriptObject CreateScriptObject(ScriptFile, const String&, CreateMode = REPLICATED); 7800 ScriptObject CreateScriptObject(const String&, const String&, CreateMode = REPLICATED); 7801 Node CreateTemporaryChild(const String& = String ( ), CreateMode = REPLICATED, uint = 0); 7802 Variant GetAttribute(const String&) const; 7803 ValueAnimation GetAttributeAnimation(const String&) const; 7804 float GetAttributeAnimationSpeed(const String&) const; 7805 float GetAttributeAnimationTime(const String&) const; 7806 WrapMode GetAttributeAnimationWrapMode(const String&) const; 7807 Variant GetAttributeDefault(const String&) const; 7808 Node GetChild(const String&, bool = false) const; 7809 Array<Node> GetChildren(bool = false) const; 7810 Array<Node> GetChildrenWithComponent(const String&, bool = false) const; 7811 Array<Node> GetChildrenWithScript(bool = false) const; 7812 Array<Node> GetChildrenWithScript(const String&, bool = false) const; 7813 Array<Node> GetChildrenWithTag(const String&, bool = false) const; 7814 Component GetComponent(const String&, bool = false) const; 7815 Array<Component> GetComponents() const; 7816 Array<Component> GetComponents(const String&, bool = false) const; 7817 bool GetInterceptNetworkUpdate(const String&) const; 7818 Component GetOrCreateComponent(const String&, CreateMode = REPLICATED, uint = 0); 7819 Component GetParentComponent(const String&, bool = false) const; 7820 ScriptObject GetScriptObject() const; 7821 ScriptObject GetScriptObject(const String&) const; 7822 bool HasComponent(const String&) const; 7823 bool HasSubscribedToEvent(Object, const String&); 7824 bool HasSubscribedToEvent(const String&); 7825 bool HasTag(const String&); 7826 bool IsChildOf(Node) const; 7827 bool Load(File, bool = false); 7828 bool Load(VectorBuffer&, bool = false); 7829 bool LoadJSON(const JSONValue&, bool = false); 7830 bool LoadXML(const XMLElement&, bool = false); 7831 Vector3 LocalToWorld(const Vector3&) const; 7832 Vector3 LocalToWorld(const Vector4&) const; 7833 Vector2 LocalToWorld2D(const Vector2&) const; 7834 bool LookAt(const Vector3&, const Vector3& = Vector3 ( 0 , 1 , 0 ), TransformSpace = TS_WORLD); 7835 void MarkDirty(); 7836 void MarkNetworkUpdate() const; 7837 void Pitch(float, TransformSpace = TS_LOCAL); 7838 void Remove(); 7839 void RemoveAllChildren(); 7840 void RemoveAllComponents(); 7841 void RemoveAllTags(); 7842 void RemoveAttributeAnimation(const String&); 7843 void RemoveChild(Node); 7844 void RemoveChildren(bool, bool, bool); 7845 void RemoveComponent(Component); 7846 void RemoveComponent(const String&); 7847 void RemoveComponents(bool, bool); 7848 void RemoveComponents(const String&); 7849 void RemoveInstanceDefault(); 7850 void RemoveObjectAnimation(); 7851 bool RemoveTag(const String&); 7852 void ReorderComponent(Component, uint); 7853 void ResetDeepEnabled(); 7854 void ResetToDefault(); 7855 void Roll(float, TransformSpace = TS_LOCAL); 7856 void Rotate(const Quaternion&, TransformSpace = TS_LOCAL); 7857 void Rotate2D(float, TransformSpace = TS_LOCAL); 7858 void RotateAround(const Vector3&, const Quaternion&, TransformSpace = TS_LOCAL); 7859 void RotateAround2D(const Vector2&, float, TransformSpace = TS_LOCAL); 7860 bool Save(File) const; 7861 bool Save(VectorBuffer&) const; 7862 bool SaveJSON(File); 7863 bool SaveJSON(JSONValue&) const; 7864 bool SaveJSON(VectorBuffer&); 7865 bool SaveXML(File, const String& = "\t"); 7866 bool SaveXML(VectorBuffer&, const String& = "\t"); 7867 bool SaveXML(XMLElement&) const; 7868 void Scale(const Vector3&); 7869 void Scale(float); 7870 void Scale2D(const Vector2&); 7871 void SendEvent(const String&, VariantMap& = VariantMap ( )); 7872 void SetAnimationTime(float); 7873 bool SetAttribute(const String&, const Variant&); 7874 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 7875 void SetAttributeAnimationSpeed(const String&, float); 7876 void SetAttributeAnimationTime(const String&, float); 7877 void SetAttributeAnimationWrapMode(const String&, WrapMode); 7878 void SetDeepEnabled(bool); 7879 void SetEnabledRecursive(bool); 7880 void SetInterceptNetworkUpdate(const String&, bool); 7881 void SetPosition2D(float, float); 7882 void SetScale(float); 7883 void SetScale2D(float, float); 7884 void SetTransform(const Matrix3x4&); 7885 void SetTransform(const Vector3&, const Quaternion&); 7886 void SetTransform(const Vector3&, const Quaternion&, const Vector3&); 7887 void SetTransform(const Vector3&, const Quaternion&, float); 7888 void SetTransform2D(const Vector2&, float); 7889 void SetTransform2D(const Vector2&, float, const Vector2&); 7890 void SetTransform2D(const Vector2&, float, float); 7891 void SetWorldTransform(const Vector3&, const Quaternion&); 7892 void SetWorldTransform(const Vector3&, const Quaternion&, const Vector3&); 7893 void SetWorldTransform(const Vector3&, const Quaternion&, float); 7894 void SetWorldTransform2D(const Vector2&, float); 7895 void SetWorldTransform2D(const Vector2&, float, const Vector2&); 7896 void SetWorldTransform2D(const Vector2&, float, float); 7897 void Translate(const Vector3&, TransformSpace = TS_LOCAL); 7898 void Translate2D(const Vector2&, TransformSpace = TS_LOCAL); 7899 Vector3 WorldToLocal(const Vector3&) const; 7900 Vector3 WorldToLocal(const Vector4&) const; 7901 Vector2 WorldToLocal2D(const Vector2&) const; 7902 void Yaw(float, TransformSpace = TS_LOCAL); 7903 7904 // Properties: 7905 /* readonly */ 7906 Array<Node> allChildrenByName; 7907 bool animationEnabled; 7908 /* readonly */ 7909 Array<Variant> attributeDefaults; 7910 /* readonly */ 7911 Array<AttributeInfo> attributeInfos; 7912 Array<Variant> attributes; 7913 /* readonly */ 7914 String category; 7915 /* readonly */ 7916 Array<Node> children; 7917 /* readonly */ 7918 Array<Node> childrenByName; 7919 /* readonly */ 7920 Array<Component> components; 7921 Vector3 direction; 7922 bool enabled; 7923 /* readonly */ 7924 bool enabledSelf; 7925 uint id; 7926 String name; 7927 /* readonly */ 7928 uint numAllChildren; 7929 /* readonly */ 7930 uint numAttributes; 7931 /* readonly */ 7932 uint numChildren; 7933 /* readonly */ 7934 uint numComponents; 7935 ObjectAnimation objectAnimation; 7936 Connection owner; 7937 Node parent; 7938 Vector3 position; 7939 Vector2 position2D; 7940 /* readonly */ 7941 int refs; 7942 /* readonly */ 7943 Vector3 right; 7944 Quaternion rotation; 7945 float rotation2D; 7946 Vector3 scale; 7947 Vector2 scale2D; 7948 /* readonly */ 7949 Scene scene; 7950 /* readonly */ 7951 ScriptObject scriptObject; 7952 /* readonly */ 7953 Vector3 signedWorldScale; 7954 /* readonly */ 7955 Array<String> tags; 7956 bool temporary; 7957 /* readonly */ 7958 Matrix3x4 transform; 7959 /* readonly */ 7960 StringHash type; 7961 /* readonly */ 7962 String typeName; 7963 /* readonly */ 7964 Vector3 up; 7965 /* readonly */ 7966 VariantMap vars; 7967 /* readonly */ 7968 int weakRefs; 7969 Vector3 worldDirection; 7970 Vector3 worldPosition; 7971 Vector2 worldPosition2D; 7972 /* readonly */ 7973 Vector3 worldRight; 7974 Quaternion worldRotation; 7975 float worldRotation2D; 7976 Vector3 worldScale; 7977 Vector2 worldScale2D; 7978 /* readonly */ 7979 Matrix3x4 worldTransform; 7980 /* readonly */ 7981 Vector3 worldUp; 7982 }; 7983 7984 class Object 7985 { 7986 public: 7987 // Methods: 7988 bool HasSubscribedToEvent(Object, const String&); 7989 bool HasSubscribedToEvent(const String&); 7990 void SendEvent(const String&, VariantMap& = VariantMap ( )); 7991 7992 // Properties: 7993 /* readonly */ 7994 String category; 7995 /* readonly */ 7996 int refs; 7997 /* readonly */ 7998 StringHash type; 7999 /* readonly */ 8000 String typeName; 8001 /* readonly */ 8002 int weakRefs; 8003 }; 8004 8005 class ObjectAnimation 8006 { 8007 public: 8008 ObjectAnimation(); 8009 ObjectAnimation(const String&in); 8010 // Methods: 8011 void AddAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 8012 ValueAnimation GetAttributeAnimation(const String&) const; 8013 float GetAttributeAnimationSpeed(const String&) const; 8014 WrapMode GetAttributeAnimationWrapMode(const String&) const; 8015 bool HasSubscribedToEvent(Object, const String&); 8016 bool HasSubscribedToEvent(const String&); 8017 bool Load(File); 8018 bool Load(VectorBuffer&); 8019 bool Load(const String&); 8020 void RemoveAttributeAnimation(ValueAnimation); 8021 void RemoveAttributeAnimation(const String&); 8022 bool Save(File) const; 8023 bool Save(VectorBuffer&) const; 8024 bool Save(const String&) const; 8025 void SendEvent(const String&, VariantMap& = VariantMap ( )); 8026 8027 // Properties: 8028 /* readonly */ 8029 Array<Variant> attributeAnimations; 8030 /* readonly */ 8031 String category; 8032 /* readonly */ 8033 uint memoryUse; 8034 String name; 8035 /* readonly */ 8036 int refs; 8037 /* readonly */ 8038 Array<Variant> speeds; 8039 /* readonly */ 8040 StringHash type; 8041 /* readonly */ 8042 String typeName; 8043 /* readonly */ 8044 uint useTimer; 8045 /* readonly */ 8046 int weakRefs; 8047 /* readonly */ 8048 Array<Variant> wrapModes; 8049 }; 8050 8051 class Obstacle 8052 { 8053 public: 8054 // Methods: 8055 void ApplyAttributes(); 8056 void DrawDebugGeometry(DebugRenderer, bool); 8057 void DrawDebugGeometry(bool); 8058 Variant GetAttribute(const String&) const; 8059 ValueAnimation GetAttributeAnimation(const String&) const; 8060 float GetAttributeAnimationSpeed(const String&) const; 8061 float GetAttributeAnimationTime(const String&) const; 8062 WrapMode GetAttributeAnimationWrapMode(const String&) const; 8063 Variant GetAttributeDefault(const String&) const; 8064 bool GetInterceptNetworkUpdate(const String&) const; 8065 bool HasSubscribedToEvent(Object, const String&); 8066 bool HasSubscribedToEvent(const String&); 8067 bool Load(File, bool = false); 8068 bool Load(VectorBuffer&, bool = false); 8069 bool LoadJSON(const JSONValue&, bool = false); 8070 bool LoadXML(const XMLElement&, bool = false); 8071 void MarkNetworkUpdate() const; 8072 void Remove(); 8073 void RemoveAttributeAnimation(const String&); 8074 void RemoveInstanceDefault(); 8075 void RemoveObjectAnimation(); 8076 void ResetToDefault(); 8077 bool Save(File) const; 8078 bool Save(VectorBuffer&) const; 8079 bool SaveJSON(JSONValue&) const; 8080 bool SaveXML(XMLElement&) const; 8081 void SendEvent(const String&, VariantMap& = VariantMap ( )); 8082 void SetAnimationTime(float); 8083 bool SetAttribute(const String&, const Variant&); 8084 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 8085 void SetAttributeAnimationSpeed(const String&, float); 8086 void SetAttributeAnimationTime(const String&, float); 8087 void SetAttributeAnimationWrapMode(const String&, WrapMode); 8088 void SetInterceptNetworkUpdate(const String&, bool); 8089 8090 // Properties: 8091 bool animationEnabled; 8092 /* readonly */ 8093 Array<Variant> attributeDefaults; 8094 /* readonly */ 8095 Array<AttributeInfo> attributeInfos; 8096 Array<Variant> attributes; 8097 /* readonly */ 8098 String category; 8099 bool enabled; 8100 /* readonly */ 8101 bool enabledEffective; 8102 float height; 8103 /* readonly */ 8104 uint id; 8105 /* readonly */ 8106 Node node; 8107 /* readonly */ 8108 uint numAttributes; 8109 ObjectAnimation objectAnimation; 8110 /* readonly */ 8111 uint obstacleId; 8112 float radius; 8113 /* readonly */ 8114 int refs; 8115 bool temporary; 8116 /* readonly */ 8117 StringHash type; 8118 /* readonly */ 8119 String typeName; 8120 /* readonly */ 8121 int weakRefs; 8122 }; 8123 8124 class Octree 8125 { 8126 public: 8127 // Methods: 8128 void AddManualDrawable(Drawable); 8129 void ApplyAttributes(); 8130 void DrawDebugGeometry(DebugRenderer, bool); 8131 void DrawDebugGeometry(bool) const; 8132 Array<Drawable> GetAllDrawables(uint8 = DRAWABLE_ANY, uint = DEFAULT_VIEWMASK); 8133 Variant GetAttribute(const String&) const; 8134 ValueAnimation GetAttributeAnimation(const String&) const; 8135 float GetAttributeAnimationSpeed(const String&) const; 8136 float GetAttributeAnimationTime(const String&) const; 8137 WrapMode GetAttributeAnimationWrapMode(const String&) const; 8138 Variant GetAttributeDefault(const String&) const; 8139 Array<Drawable> GetDrawables(const BoundingBox&, uint8 = DRAWABLE_ANY, uint = DEFAULT_VIEWMASK); 8140 Array<Drawable> GetDrawables(const Frustum&, uint8 = DRAWABLE_ANY, uint = DEFAULT_VIEWMASK); 8141 Array<Drawable> GetDrawables(const Sphere&, uint8 = DRAWABLE_ANY, uint = DEFAULT_VIEWMASK); 8142 Array<Drawable> GetDrawables(const Vector3&, uint8 = DRAWABLE_ANY, uint = DEFAULT_VIEWMASK); 8143 bool GetInterceptNetworkUpdate(const String&) const; 8144 bool HasSubscribedToEvent(Object, const String&); 8145 bool HasSubscribedToEvent(const String&); 8146 bool Load(File, bool = false); 8147 bool Load(VectorBuffer&, bool = false); 8148 bool LoadJSON(const JSONValue&, bool = false); 8149 bool LoadXML(const XMLElement&, bool = false); 8150 void MarkNetworkUpdate() const; 8151 Array<RayQueryResult> Raycast(const Ray&, RayQueryLevel = RAY_TRIANGLE, float = M_INFINITY, uint8 = DRAWABLE_ANY, uint = DEFAULT_VIEWMASK) const; 8152 RayQueryResult RaycastSingle(const Ray&, RayQueryLevel = RAY_TRIANGLE, float = M_INFINITY, uint8 = DRAWABLE_ANY, uint = DEFAULT_VIEWMASK) const; 8153 void Remove(); 8154 void RemoveAttributeAnimation(const String&); 8155 void RemoveInstanceDefault(); 8156 void RemoveManualDrawable(Drawable); 8157 void RemoveObjectAnimation(); 8158 void ResetToDefault(); 8159 bool Save(File) const; 8160 bool Save(VectorBuffer&) const; 8161 bool SaveJSON(JSONValue&) const; 8162 bool SaveXML(XMLElement&) const; 8163 void SendEvent(const String&, VariantMap& = VariantMap ( )); 8164 void SetAnimationTime(float); 8165 bool SetAttribute(const String&, const Variant&); 8166 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 8167 void SetAttributeAnimationSpeed(const String&, float); 8168 void SetAttributeAnimationTime(const String&, float); 8169 void SetAttributeAnimationWrapMode(const String&, WrapMode); 8170 void SetInterceptNetworkUpdate(const String&, bool); 8171 void SetSize(const BoundingBox&, uint); 8172 8173 // Properties: 8174 bool animationEnabled; 8175 /* readonly */ 8176 Array<Variant> attributeDefaults; 8177 /* readonly */ 8178 Array<AttributeInfo> attributeInfos; 8179 Array<Variant> attributes; 8180 /* readonly */ 8181 String category; 8182 bool enabled; 8183 /* readonly */ 8184 bool enabledEffective; 8185 /* readonly */ 8186 uint id; 8187 /* readonly */ 8188 Node node; 8189 /* readonly */ 8190 uint numAttributes; 8191 /* readonly */ 8192 uint numLevels; 8193 ObjectAnimation objectAnimation; 8194 /* readonly */ 8195 int refs; 8196 bool temporary; 8197 /* readonly */ 8198 StringHash type; 8199 /* readonly */ 8200 String typeName; 8201 /* readonly */ 8202 int weakRefs; 8203 /* readonly */ 8204 BoundingBox worldBoundingBox; 8205 }; 8206 8207 class OffMeshConnection 8208 { 8209 public: 8210 // Methods: 8211 void ApplyAttributes(); 8212 void DrawDebugGeometry(DebugRenderer, bool); 8213 Variant GetAttribute(const String&) const; 8214 ValueAnimation GetAttributeAnimation(const String&) const; 8215 float GetAttributeAnimationSpeed(const String&) const; 8216 float GetAttributeAnimationTime(const String&) const; 8217 WrapMode GetAttributeAnimationWrapMode(const String&) const; 8218 Variant GetAttributeDefault(const String&) const; 8219 bool GetInterceptNetworkUpdate(const String&) const; 8220 bool HasSubscribedToEvent(Object, const String&); 8221 bool HasSubscribedToEvent(const String&); 8222 bool Load(File, bool = false); 8223 bool Load(VectorBuffer&, bool = false); 8224 bool LoadJSON(const JSONValue&, bool = false); 8225 bool LoadXML(const XMLElement&, bool = false); 8226 void MarkNetworkUpdate() const; 8227 void Remove(); 8228 void RemoveAttributeAnimation(const String&); 8229 void RemoveInstanceDefault(); 8230 void RemoveObjectAnimation(); 8231 void ResetToDefault(); 8232 bool Save(File) const; 8233 bool Save(VectorBuffer&) const; 8234 bool SaveJSON(JSONValue&) const; 8235 bool SaveXML(XMLElement&) const; 8236 void SendEvent(const String&, VariantMap& = VariantMap ( )); 8237 void SetAnimationTime(float); 8238 bool SetAttribute(const String&, const Variant&); 8239 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 8240 void SetAttributeAnimationSpeed(const String&, float); 8241 void SetAttributeAnimationTime(const String&, float); 8242 void SetAttributeAnimationWrapMode(const String&, WrapMode); 8243 void SetInterceptNetworkUpdate(const String&, bool); 8244 8245 // Properties: 8246 bool animationEnabled; 8247 uint areaID; 8248 /* readonly */ 8249 Array<Variant> attributeDefaults; 8250 /* readonly */ 8251 Array<AttributeInfo> attributeInfos; 8252 Array<Variant> attributes; 8253 bool bidirectional; 8254 /* readonly */ 8255 String category; 8256 bool enabled; 8257 /* readonly */ 8258 bool enabledEffective; 8259 Node endPoint; 8260 /* readonly */ 8261 uint id; 8262 uint mask; 8263 /* readonly */ 8264 Node node; 8265 /* readonly */ 8266 uint numAttributes; 8267 ObjectAnimation objectAnimation; 8268 float radius; 8269 /* readonly */ 8270 int refs; 8271 bool temporary; 8272 /* readonly */ 8273 StringHash type; 8274 /* readonly */ 8275 String typeName; 8276 /* readonly */ 8277 int weakRefs; 8278 }; 8279 8280 class PackageFile 8281 { 8282 public: 8283 PackageFile(); 8284 PackageFile(const String&in, uint startOffset = 0); 8285 // Methods: 8286 bool Exists(const String&) const; 8287 Array<String> GetEntryNames() const; 8288 bool HasSubscribedToEvent(Object, const String&); 8289 bool HasSubscribedToEvent(const String&); 8290 bool Open(const String&, uint = 0) const; 8291 void SendEvent(const String&, VariantMap& = VariantMap ( )); 8292 bool compressed() const; 8293 8294 // Properties: 8295 /* readonly */ 8296 String category; 8297 /* readonly */ 8298 uint checksum; 8299 /* readonly */ 8300 String name; 8301 /* readonly */ 8302 uint numFiles; 8303 /* readonly */ 8304 int refs; 8305 /* readonly */ 8306 uint totalDataSize; 8307 /* readonly */ 8308 uint totalSize; 8309 /* readonly */ 8310 StringHash type; 8311 /* readonly */ 8312 String typeName; 8313 /* readonly */ 8314 int weakRefs; 8315 }; 8316 8317 class ParticleEffect 8318 { 8319 public: 8320 ParticleEffect(); 8321 ParticleEffect(const String&in); 8322 // Methods: 8323 void AddColorFrame(ColorFrame); 8324 void AddColorTime(Color&, float); 8325 void AddTextureFrame(TextureFrame); 8326 void AddTextureTime(Rect&, float); 8327 ParticleEffect Clone(const String& = String ( )) const; 8328 ColorFrame GetColorFrame(uint) const; 8329 TextureFrame GetTextureFrame(uint) const; 8330 bool HasSubscribedToEvent(Object, const String&); 8331 bool HasSubscribedToEvent(const String&); 8332 bool Load(File); 8333 bool Load(VectorBuffer&); 8334 bool Load(const String&); 8335 bool Load(const XMLElement&); 8336 void RemoveColorFrame(uint); 8337 void RemoveTextureFrame(uint); 8338 bool Save(File) const; 8339 bool Save(VectorBuffer&) const; 8340 bool Save(XMLElement&) const; 8341 bool Save(const String&) const; 8342 void SendEvent(const String&, VariantMap& = VariantMap ( )); 8343 void SetColorFrame(uint, ColorFrame); 8344 void SetTextureFrame(uint, TextureFrame); 8345 void SortColorFrames(); 8346 void SortTextureFrames(); 8347 8348 // Properties: 8349 float activeTime; 8350 float animationLodBias; 8351 /* readonly */ 8352 String category; 8353 Vector3 constantForce; 8354 float dampingForce; 8355 Vector3 emitterSize; 8356 EmitterType emitterType; 8357 FaceCameraMode faceCameraMode; 8358 bool fixedScreenSize; 8359 float inactiveTime; 8360 Material material; 8361 Vector3 maxDirection; 8362 float maxEmissionRate; 8363 Vector2 maxParticleSize; 8364 float maxRotation; 8365 float maxRotationSpeed; 8366 float maxTimeToLive; 8367 float maxVelocity; 8368 /* readonly */ 8369 uint memoryUse; 8370 Vector3 minDirection; 8371 float minEmissionRate; 8372 Vector2 minParticleSize; 8373 float minRotation; 8374 float minRotationSpeed; 8375 float minTimeToLive; 8376 float minVelocity; 8377 String name; 8378 uint numColorFrames; 8379 uint numParticles; 8380 uint numTextureFrames; 8381 /* readonly */ 8382 int refs; 8383 bool relative; 8384 bool scaled; 8385 float sizeAdd; 8386 float sizeMul; 8387 bool sorted; 8388 /* readonly */ 8389 StringHash type; 8390 /* readonly */ 8391 String typeName; 8392 bool updateInvisible; 8393 /* readonly */ 8394 uint useTimer; 8395 /* readonly */ 8396 int weakRefs; 8397 }; 8398 8399 class ParticleEffect2D 8400 { 8401 public: 8402 ParticleEffect2D(); 8403 ParticleEffect2D(const String&in); 8404 // Methods: 8405 ParticleEffect2D Clone(const String& = String ( )) const; 8406 bool HasSubscribedToEvent(Object, const String&); 8407 bool HasSubscribedToEvent(const String&); 8408 bool Load(File); 8409 bool Load(VectorBuffer&); 8410 bool Load(const String&); 8411 bool Save(File) const; 8412 bool Save(VectorBuffer&) const; 8413 bool Save(const String&) const; 8414 void SendEvent(const String&, VariantMap& = VariantMap ( )); 8415 8416 // Properties: 8417 /* readonly */ 8418 String category; 8419 /* readonly */ 8420 uint memoryUse; 8421 String name; 8422 /* readonly */ 8423 int refs; 8424 /* readonly */ 8425 StringHash type; 8426 /* readonly */ 8427 String typeName; 8428 /* readonly */ 8429 uint useTimer; 8430 /* readonly */ 8431 int weakRefs; 8432 }; 8433 8434 class ParticleEmitter 8435 { 8436 public: 8437 // Methods: 8438 void ApplyAttributes(); 8439 void ApplyEffect(); 8440 void Commit(); 8441 void DrawDebugGeometry(DebugRenderer, bool); 8442 Variant GetAttribute(const String&) const; 8443 ValueAnimation GetAttributeAnimation(const String&) const; 8444 float GetAttributeAnimationSpeed(const String&) const; 8445 float GetAttributeAnimationTime(const String&) const; 8446 WrapMode GetAttributeAnimationWrapMode(const String&) const; 8447 Variant GetAttributeDefault(const String&) const; 8448 bool GetInterceptNetworkUpdate(const String&) const; 8449 bool HasSubscribedToEvent(Object, const String&); 8450 bool HasSubscribedToEvent(const String&); 8451 bool IsInView(Camera) const; 8452 bool Load(File, bool = false); 8453 bool Load(VectorBuffer&, bool = false); 8454 bool LoadJSON(const JSONValue&, bool = false); 8455 bool LoadXML(const XMLElement&, bool = false); 8456 void MarkNetworkUpdate() const; 8457 void Remove(); 8458 void RemoveAllParticles(); 8459 void RemoveAttributeAnimation(const String&); 8460 void RemoveInstanceDefault(); 8461 void RemoveObjectAnimation(); 8462 void Reset(); 8463 void ResetEmissionTimer(); 8464 void ResetToDefault(); 8465 bool Save(File) const; 8466 bool Save(VectorBuffer&) const; 8467 bool SaveJSON(JSONValue&) const; 8468 bool SaveXML(XMLElement&) const; 8469 void SendEvent(const String&, VariantMap& = VariantMap ( )); 8470 void SetAnimationTime(float); 8471 bool SetAttribute(const String&, const Variant&); 8472 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 8473 void SetAttributeAnimationSpeed(const String&, float); 8474 void SetAttributeAnimationTime(const String&, float); 8475 void SetAttributeAnimationWrapMode(const String&, WrapMode); 8476 void SetInterceptNetworkUpdate(const String&, bool); 8477 8478 // Properties: 8479 bool animationEnabled; 8480 float animationLodBias; 8481 /* readonly */ 8482 Array<Variant> attributeDefaults; 8483 /* readonly */ 8484 Array<AttributeInfo> attributeInfos; 8485 Array<Variant> attributes; 8486 AutoRemoveMode autoRemoveMode; 8487 /* readonly */ 8488 Array<Billboard> billboards; 8489 /* readonly */ 8490 BoundingBox boundingBox; 8491 bool castShadows; 8492 /* readonly */ 8493 String category; 8494 float drawDistance; 8495 ParticleEffect effect; 8496 bool emitting; 8497 bool enabled; 8498 /* readonly */ 8499 bool enabledEffective; 8500 FaceCameraMode faceCameraMode; 8501 bool fixedScreenSize; 8502 /* readonly */ 8503 uint id; 8504 /* readonly */ 8505 bool inView; 8506 uint lightMask; 8507 float lodBias; 8508 Material material; 8509 uint maxLights; 8510 /* readonly */ 8511 Node node; 8512 /* readonly */ 8513 uint numAttributes; 8514 uint numBillboards; 8515 uint numParticles; 8516 ObjectAnimation objectAnimation; 8517 bool occludee; 8518 bool occluder; 8519 /* readonly */ 8520 int refs; 8521 bool relative; 8522 bool scaled; 8523 bool serializeParticles; 8524 float shadowDistance; 8525 uint shadowMask; 8526 bool sorted; 8527 bool temporary; 8528 /* readonly */ 8529 StringHash type; 8530 /* readonly */ 8531 String typeName; 8532 uint viewMask; 8533 /* readonly */ 8534 int weakRefs; 8535 /* readonly */ 8536 BoundingBox worldBoundingBox; 8537 /* readonly */ 8538 Zone zone; 8539 uint zoneMask; 8540 }; 8541 8542 class ParticleEmitter2D 8543 { 8544 public: 8545 // Methods: 8546 void ApplyAttributes(); 8547 void DrawDebugGeometry(DebugRenderer, bool); 8548 Variant GetAttribute(const String&) const; 8549 ValueAnimation GetAttributeAnimation(const String&) const; 8550 float GetAttributeAnimationSpeed(const String&) const; 8551 float GetAttributeAnimationTime(const String&) const; 8552 WrapMode GetAttributeAnimationWrapMode(const String&) const; 8553 Variant GetAttributeDefault(const String&) const; 8554 bool GetInterceptNetworkUpdate(const String&) const; 8555 bool HasSubscribedToEvent(Object, const String&); 8556 bool HasSubscribedToEvent(const String&); 8557 bool IsInView(Camera) const; 8558 bool Load(File, bool = false); 8559 bool Load(VectorBuffer&, bool = false); 8560 bool LoadJSON(const JSONValue&, bool = false); 8561 bool LoadXML(const XMLElement&, bool = false); 8562 void MarkNetworkUpdate() const; 8563 void Remove(); 8564 void RemoveAttributeAnimation(const String&); 8565 void RemoveInstanceDefault(); 8566 void RemoveObjectAnimation(); 8567 void ResetToDefault(); 8568 bool Save(File) const; 8569 bool Save(VectorBuffer&) const; 8570 bool SaveJSON(JSONValue&) const; 8571 bool SaveXML(XMLElement&) const; 8572 void SendEvent(const String&, VariantMap& = VariantMap ( )); 8573 void SetAnimationTime(float); 8574 bool SetAttribute(const String&, const Variant&); 8575 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 8576 void SetAttributeAnimationSpeed(const String&, float); 8577 void SetAttributeAnimationTime(const String&, float); 8578 void SetAttributeAnimationWrapMode(const String&, WrapMode); 8579 void SetInterceptNetworkUpdate(const String&, bool); 8580 8581 // Properties: 8582 bool animationEnabled; 8583 /* readonly */ 8584 Array<Variant> attributeDefaults; 8585 /* readonly */ 8586 Array<AttributeInfo> attributeInfos; 8587 Array<Variant> attributes; 8588 BlendMode blendMode; 8589 /* readonly */ 8590 BoundingBox boundingBox; 8591 bool castShadows; 8592 /* readonly */ 8593 String category; 8594 float drawDistance; 8595 ParticleEffect2D effect; 8596 bool emitting; 8597 bool enabled; 8598 /* readonly */ 8599 bool enabledEffective; 8600 /* readonly */ 8601 uint id; 8602 /* readonly */ 8603 bool inView; 8604 int layer; 8605 uint lightMask; 8606 float lodBias; 8607 uint maxLights; 8608 /* readonly */ 8609 Node node; 8610 /* readonly */ 8611 uint numAttributes; 8612 ObjectAnimation objectAnimation; 8613 bool occludee; 8614 bool occluder; 8615 int orderInLayer; 8616 /* readonly */ 8617 int refs; 8618 float shadowDistance; 8619 uint shadowMask; 8620 Sprite2D sprite; 8621 bool temporary; 8622 /* readonly */ 8623 StringHash type; 8624 /* readonly */ 8625 String typeName; 8626 uint viewMask; 8627 /* readonly */ 8628 int weakRefs; 8629 /* readonly */ 8630 BoundingBox worldBoundingBox; 8631 uint zoneMask; 8632 }; 8633 8634 class Pass 8635 { 8636 public: 8637 8638 // Properties: 8639 bool alphaToCoverage; 8640 BlendMode blendMode; 8641 CullMode cullMode; 8642 CompareMode depthTestMode; 8643 bool depthWrite; 8644 bool desktop; 8645 PassLightingMode lightingMode; 8646 String pixelShader; 8647 String pixelShaderDefineExcludes; 8648 String pixelShaderDefines; 8649 /* readonly */ 8650 int refs; 8651 String vertexShader; 8652 String vertexShaderDefineExcludes; 8653 String vertexShaderDefines; 8654 /* readonly */ 8655 int weakRefs; 8656 }; 8657 8658 class PhysicsRaycastResult 8659 { 8660 public: 8661 ~PhysicsRaycastResult(); 8662 PhysicsRaycastResult(); 8663 8664 // Properties: 8665 /* readonly */ 8666 RigidBody body; 8667 float distance; 8668 float hitFraction; 8669 Vector3 normal; 8670 Vector3 position; 8671 }; 8672 8673 class PhysicsRaycastResult2D 8674 { 8675 public: 8676 ~PhysicsRaycastResult2D(); 8677 PhysicsRaycastResult2D(); 8678 8679 // Properties: 8680 /* readonly */ 8681 RigidBody2D body; 8682 float distance; 8683 Vector2 normal; 8684 Vector2 position; 8685 }; 8686 8687 class PhysicsWorld 8688 { 8689 public: 8690 // Methods: 8691 void ApplyAttributes(); 8692 PhysicsRaycastResult ConvexCast(CollisionShape, const Vector3&, const Quaternion&, const Vector3&, const Quaternion&, uint = 0xffff); 8693 void DrawDebugGeometry(DebugRenderer, bool); 8694 void DrawDebugGeometry(bool); 8695 Variant GetAttribute(const String&) const; 8696 ValueAnimation GetAttributeAnimation(const String&) const; 8697 float GetAttributeAnimationSpeed(const String&) const; 8698 float GetAttributeAnimationTime(const String&) const; 8699 WrapMode GetAttributeAnimationWrapMode(const String&) const; 8700 Variant GetAttributeDefault(const String&) const; 8701 Array<RigidBody> GetCollidingBodies(RigidBody); 8702 bool GetInterceptNetworkUpdate(const String&) const; 8703 Array<RigidBody> GetRigidBodies(RigidBody); 8704 Array<RigidBody> GetRigidBodies(const BoundingBox&, uint = 0xffff); 8705 Array<RigidBody> GetRigidBodies(const Sphere&, uint = 0xffff); 8706 bool HasSubscribedToEvent(Object, const String&); 8707 bool HasSubscribedToEvent(const String&); 8708 bool Load(File, bool = false); 8709 bool Load(VectorBuffer&, bool = false); 8710 bool LoadJSON(const JSONValue&, bool = false); 8711 bool LoadXML(const XMLElement&, bool = false); 8712 void MarkNetworkUpdate() const; 8713 Array<PhysicsRaycastResult> Raycast(const Ray&, float, uint = 0xffff); 8714 PhysicsRaycastResult RaycastSingle(const Ray&, float, uint = 0xffff); 8715 PhysicsRaycastResult RaycastSingleSegmented(const Ray&, float, float, uint = 0xffff); 8716 void Remove(); 8717 void RemoveAttributeAnimation(const String&); 8718 void RemoveCachedGeometry(Model); 8719 void RemoveInstanceDefault(); 8720 void RemoveObjectAnimation(); 8721 void ResetToDefault(); 8722 bool Save(File) const; 8723 bool Save(VectorBuffer&) const; 8724 bool SaveJSON(JSONValue&) const; 8725 bool SaveXML(XMLElement&) const; 8726 void SendEvent(const String&, VariantMap& = VariantMap ( )); 8727 void SetAnimationTime(float); 8728 bool SetAttribute(const String&, const Variant&); 8729 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 8730 void SetAttributeAnimationSpeed(const String&, float); 8731 void SetAttributeAnimationTime(const String&, float); 8732 void SetAttributeAnimationWrapMode(const String&, WrapMode); 8733 void SetInterceptNetworkUpdate(const String&, bool); 8734 PhysicsRaycastResult SphereCast(const Ray&, float, float, uint = 0xffff); 8735 void Update(float); 8736 void UpdateCollisions(); 8737 8738 // Properties: 8739 bool animationEnabled; 8740 /* readonly */ 8741 Array<Variant> attributeDefaults; 8742 /* readonly */ 8743 Array<AttributeInfo> attributeInfos; 8744 Array<Variant> attributes; 8745 /* readonly */ 8746 String category; 8747 bool enabled; 8748 /* readonly */ 8749 bool enabledEffective; 8750 int fps; 8751 Vector3 gravity; 8752 /* readonly */ 8753 uint id; 8754 bool internalEdge; 8755 bool interpolation; 8756 int maxSubSteps; 8757 /* readonly */ 8758 Node node; 8759 /* readonly */ 8760 uint numAttributes; 8761 int numIterations; 8762 ObjectAnimation objectAnimation; 8763 /* readonly */ 8764 int refs; 8765 bool splitImpulse; 8766 bool temporary; 8767 /* readonly */ 8768 StringHash type; 8769 /* readonly */ 8770 String typeName; 8771 bool updateEnabled; 8772 /* readonly */ 8773 int weakRefs; 8774 }; 8775 8776 class PhysicsWorld2D 8777 { 8778 public: 8779 // Methods: 8780 void ApplyAttributes(); 8781 void DrawDebugGeometry() const; 8782 void DrawDebugGeometry(DebugRenderer, bool); 8783 Variant GetAttribute(const String&) const; 8784 ValueAnimation GetAttributeAnimation(const String&) const; 8785 float GetAttributeAnimationSpeed(const String&) const; 8786 float GetAttributeAnimationTime(const String&) const; 8787 WrapMode GetAttributeAnimationWrapMode(const String&) const; 8788 Variant GetAttributeDefault(const String&) const; 8789 bool GetInterceptNetworkUpdate(const String&) const; 8790 Array<RigidBody2D> GetRigidBodies(const Rect&, uint = 0xffff); 8791 RigidBody2D GetRigidBody(const Vector2&, uint = 0xffff); 8792 RigidBody2D GetRigidBody(int, int, uint = 0xffff); 8793 bool HasSubscribedToEvent(Object, const String&); 8794 bool HasSubscribedToEvent(const String&); 8795 bool Load(File, bool = false); 8796 bool Load(VectorBuffer&, bool = false); 8797 bool LoadJSON(const JSONValue&, bool = false); 8798 bool LoadXML(const XMLElement&, bool = false); 8799 void MarkNetworkUpdate() const; 8800 Array<PhysicsRaycastResult2D> Raycast(const Vector2&, const Vector2&, uint = 0xffff); 8801 PhysicsRaycastResult2D RaycastSingle(const Vector2&, const Vector2&, uint = 0xffff); 8802 void Remove(); 8803 void RemoveAttributeAnimation(const String&); 8804 void RemoveInstanceDefault(); 8805 void RemoveObjectAnimation(); 8806 void ResetToDefault(); 8807 bool Save(File) const; 8808 bool Save(VectorBuffer&) const; 8809 bool SaveJSON(JSONValue&) const; 8810 bool SaveXML(XMLElement&) const; 8811 void SendEvent(const String&, VariantMap& = VariantMap ( )); 8812 void SetAnimationTime(float); 8813 bool SetAttribute(const String&, const Variant&); 8814 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 8815 void SetAttributeAnimationSpeed(const String&, float); 8816 void SetAttributeAnimationTime(const String&, float); 8817 void SetAttributeAnimationWrapMode(const String&, WrapMode); 8818 void SetInterceptNetworkUpdate(const String&, bool); 8819 8820 // Properties: 8821 bool allowSleeping; 8822 bool animationEnabled; 8823 /* readonly */ 8824 Array<Variant> attributeDefaults; 8825 /* readonly */ 8826 Array<AttributeInfo> attributeInfos; 8827 Array<Variant> attributes; 8828 bool autoClearForces; 8829 /* readonly */ 8830 String category; 8831 bool continuousPhysics; 8832 bool drawAabb; 8833 bool drawCenterOfMass; 8834 bool drawJoint; 8835 bool drawPair; 8836 bool drawShape; 8837 bool enabled; 8838 /* readonly */ 8839 bool enabledEffective; 8840 Vector2 gravity; 8841 /* readonly */ 8842 uint id; 8843 /* readonly */ 8844 Node node; 8845 /* readonly */ 8846 uint numAttributes; 8847 ObjectAnimation objectAnimation; 8848 uint positionIterations; 8849 /* readonly */ 8850 int refs; 8851 bool subStepping; 8852 bool temporary; 8853 /* readonly */ 8854 StringHash type; 8855 /* readonly */ 8856 String typeName; 8857 bool updateEnabled; 8858 uint velocityIterations; 8859 bool warmStarting; 8860 /* readonly */ 8861 int weakRefs; 8862 }; 8863 8864 class Plane 8865 { 8866 public: 8867 Plane(); 8868 Plane(const Plane&in); 8869 Plane(const Vector3&in, const Vector3&in, const Vector3&in); 8870 Plane(const Vector3&in, const Vector3&in); 8871 Plane(const Vector4&in); 8872 // Methods: 8873 void Define(const Vector3&, const Vector3&); 8874 void Define(const Vector3&, const Vector3&, const Vector3&); 8875 void Define(const Vector4&); 8876 float Distance(const Vector3&) const; 8877 Vector3 Project(const Vector3&) const; 8878 Vector3 Reflect(const Vector3&) const; 8879 Vector4 ToVector4() const; 8880 void Transform(const Matrix3&); 8881 void Transform(const Matrix3x4&); 8882 void Transform(const Matrix4&); 8883 Plane Transformed(const Matrix3&) const; 8884 Plane Transformed(const Matrix3x4&) const; 8885 Plane Transformed(const Matrix4&) const; 8886 8887 // Properties: 8888 Vector3 absNormal; 8889 float d; 8890 Vector3 normal; 8891 /* readonly */ 8892 Matrix3x4 reflectionMatrix; 8893 }; 8894 8895 class Polyhedron 8896 { 8897 public: 8898 ~Polyhedron(); 8899 Polyhedron(); 8900 Polyhedron(const Polyhedron&in); 8901 Polyhedron(const BoundingBox&in); 8902 Polyhedron(const Frustum&in); 8903 // Methods: 8904 void AddFace(const Vector3&, const Vector3&, const Vector3&); 8905 void AddFace(const Vector3&, const Vector3&, const Vector3&, const Vector3&); 8906 void AddFace(const Array<Vector3>); 8907 void Clear(); 8908 void Clip(const BoundingBox&); 8909 void Clip(const Frustum&); 8910 void Define(const BoundingBox&); 8911 void Define(const Frustum&); 8912 void Transform(const Matrix3&); 8913 void Transform(const Matrix3x4&); 8914 Polyhedron Transformed(const Matrix3&) const; 8915 Polyhedron Transformed(const Matrix3x4&) const; 8916 8917 // Properties: 8918 /* readonly */ 8919 Array<Array<Vector3>> face; 8920 /* readonly */ 8921 uint numFaces; 8922 }; 8923 8924 class ProgressBar 8925 { 8926 public: 8927 // Methods: 8928 void ChangeValue(float); 8929 bool HasSubscribedToEvent(Object, const String&); 8930 bool HasSubscribedToEvent(const String&); 8931 void SendEvent(const String&, VariantMap& = VariantMap ( )); 8932 void SetLoadingPercentStyle(const String&); 8933 8934 // Properties: 8935 /* readonly */ 8936 String category; 8937 /* readonly */ 8938 BorderImage knob; 8939 Orientation orientation; 8940 float range; 8941 /* readonly */ 8942 int refs; 8943 bool showPercentText; 8944 /* readonly */ 8945 StringHash type; 8946 /* readonly */ 8947 String typeName; 8948 float value; 8949 /* readonly */ 8950 int weakRefs; 8951 }; 8952 8953 class PropertySet2D 8954 { 8955 public: 8956 // Methods: 8957 bool HasProperty(const String&) const; 8958 const String& GetProperty(const String&) const; 8959 8960 // Properties: 8961 /* readonly */ 8962 int refs; 8963 /* readonly */ 8964 int weakRefs; 8965 }; 8966 8967 class Quaternion 8968 { 8969 public: 8970 Quaternion(); 8971 Quaternion(const Quaternion&in); 8972 Quaternion(float, float, float, float); 8973 Quaternion(float, const Vector3&in); 8974 Quaternion(float); 8975 Quaternion(float, float, float); 8976 Quaternion(const Vector3&in); 8977 Quaternion(const Vector3&in, const Vector3&in); 8978 Quaternion(const Vector3&in, const Vector3&in, const Vector3&in); 8979 Quaternion(const Matrix3&in); 8980 // Methods: 8981 Quaternion Conjugate() const; 8982 float DotProduct(const Quaternion&) const; 8983 bool Equals(const Quaternion&) const; 8984 void FromAngleAxis(float, const Vector3&); 8985 void FromAxes(const Vector3&, const Vector3&, const Vector3&); 8986 void FromEulerAngles(float, float, float); 8987 bool FromLookRotation(const Vector3&, const Vector3& = Vector3 ( 0.0 , 1.0 , 0.0 )); 8988 void FromRotationMatrix(const Matrix3&); 8989 void FromRotationTo(const Vector3&, const Vector3&); 8990 Quaternion Inverse() const; 8991 bool IsNaN() const; 8992 float LengthSquared() const; 8993 Quaternion Nlerp(const Quaternion&, float, bool) const; 8994 void Normalize(); 8995 Quaternion Normalized() const; 8996 Quaternion Slerp(const Quaternion&, float) const; 8997 String ToString() const; 8998 8999 // Properties: 9000 /* readonly */ 9001 float angle; 9002 /* readonly */ 9003 Vector3 axis; 9004 /* readonly */ 9005 Vector3 eulerAngles; 9006 /* readonly */ 9007 float pitch; 9008 /* readonly */ 9009 float roll; 9010 /* readonly */ 9011 Matrix3 rotationMatrix; 9012 float w; 9013 float x; 9014 float y; 9015 /* readonly */ 9016 float yaw; 9017 float z; 9018 }; 9019 9020 class Ray 9021 { 9022 public: 9023 Ray(); 9024 Ray(const Ray&in); 9025 Ray(const Vector3&in, const Vector3&in); 9026 // Methods: 9027 Vector3 ClosestPoint(const Ray&) const; 9028 void Define(const Vector3&, const Vector3&); 9029 float Distance(const Vector3&) const; 9030 float HitDistance(const BoundingBox&) const; 9031 float HitDistance(const Frustum&, bool = true) const; 9032 float HitDistance(const Plane&) const; 9033 float HitDistance(const Sphere&) const; 9034 float HitDistance(const Vector3&, const Vector3&, const Vector3&) const; 9035 Vector3 Project(const Vector3&) const; 9036 Ray Transformed(const Matrix3x4&) const; 9037 9038 // Properties: 9039 Vector3 direction; 9040 Vector3 origin; 9041 }; 9042 9043 class RayQueryResult 9044 { 9045 public: 9046 RayQueryResult(); 9047 9048 // Properties: 9049 float distance; 9050 /* readonly */ 9051 Drawable drawable; 9052 /* readonly */ 9053 Node node; 9054 Vector3 normal; 9055 Vector3 position; 9056 uint subObject; 9057 Vector2 textureUV; 9058 }; 9059 9060 class RaycastVehicle 9061 { 9062 public: 9063 // Methods: 9064 void AddWheel(Node, Vector3, Vector3, float, float, bool); 9065 void ApplyAttributes(); 9066 void DrawDebugGeometry(DebugRenderer, bool); 9067 Variant GetAttribute(const String&) const; 9068 ValueAnimation GetAttributeAnimation(const String&) const; 9069 float GetAttributeAnimationSpeed(const String&) const; 9070 float GetAttributeAnimationTime(const String&) const; 9071 WrapMode GetAttributeAnimationWrapMode(const String&) const; 9072 Variant GetAttributeDefault(const String&) const; 9073 float GetBrake(int); 9074 Vector3 GetContactNormal(int); 9075 Vector3 GetContactPosition(int); 9076 float GetEngineForce(int); 9077 bool GetInterceptNetworkUpdate(const String&) const; 9078 float GetMaxSuspensionTravel(int); 9079 float GetSteeringValue(int); 9080 Vector3 GetWheelAxle(int); 9081 Vector3 GetWheelConnectionPoint(int); 9082 float GetWheelDampingCompression(int); 9083 float GetWheelDampingRelaxation(int); 9084 Vector3 GetWheelDirection(int); 9085 float GetWheelFrictionSlip(int); 9086 Node GetWheelNode(int); 9087 Vector3 GetWheelPosition(int); 9088 float GetWheelRadius(int); 9089 float GetWheelRestLength(int); 9090 float GetWheelRollInfluence(int); 9091 Vector3 GetWheelRotation(int); 9092 float GetWheelSideSlipSpeed(int); 9093 float GetWheelSkidInfo(int); 9094 float GetWheelSkidInfoCumulative(int); 9095 float GetWheelSuspensionStiffness(int); 9096 bool HasSubscribedToEvent(Object, const String&); 9097 bool HasSubscribedToEvent(const String&); 9098 void Init(); 9099 bool IsFrontWheel(int); 9100 bool Load(File, bool = false); 9101 bool Load(VectorBuffer&, bool = false); 9102 bool LoadJSON(const JSONValue&, bool = false); 9103 bool LoadXML(const XMLElement&, bool = false); 9104 void MarkNetworkUpdate() const; 9105 void Remove(); 9106 void RemoveAttributeAnimation(const String&); 9107 void RemoveInstanceDefault(); 9108 void RemoveObjectAnimation(); 9109 void ResetSuspension(); 9110 void ResetToDefault(); 9111 void ResetWheels(); 9112 bool Save(File) const; 9113 bool Save(VectorBuffer&) const; 9114 bool SaveJSON(JSONValue&) const; 9115 bool SaveXML(XMLElement&) const; 9116 void SendEvent(const String&, VariantMap& = VariantMap ( )); 9117 void SetAnimationTime(float); 9118 bool SetAttribute(const String&, const Variant&); 9119 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 9120 void SetAttributeAnimationSpeed(const String&, float); 9121 void SetAttributeAnimationTime(const String&, float); 9122 void SetAttributeAnimationWrapMode(const String&, WrapMode); 9123 void SetBrake(int, float); 9124 void SetEngineForce(int, float); 9125 void SetInterceptNetworkUpdate(const String&, bool); 9126 void SetMaxSuspensionTravel(int, float); 9127 void SetSteeringValue(int, float); 9128 void SetWheelAxle(int, Vector3); 9129 void SetWheelDampingCompression(int, float); 9130 void SetWheelDampingRelaxation(int, float); 9131 void SetWheelDirection(int, Vector3); 9132 void SetWheelFrictionSlip(int, float); 9133 void SetWheelRadius(int, float); 9134 void SetWheelRestLength(int, float); 9135 void SetWheelRollInfluence(int, float); 9136 void SetWheelSkidInfo(int, float); 9137 void SetWheelSkidInfoCumulative(int, float); 9138 void SetWheelSuspensionStiffness(int, float); 9139 void UpdateWheelTransform(int, bool); 9140 bool WheelIsGrounded(int); 9141 9142 // Properties: 9143 bool animationEnabled; 9144 /* readonly */ 9145 Array<Variant> attributeDefaults; 9146 /* readonly */ 9147 Array<AttributeInfo> attributeInfos; 9148 Array<Variant> attributes; 9149 /* readonly */ 9150 String category; 9151 bool enabled; 9152 /* readonly */ 9153 bool enabledEffective; 9154 /* readonly */ 9155 uint id; 9156 float inAirRPM; 9157 float maxSideSlipSpeed; 9158 /* readonly */ 9159 Node node; 9160 /* readonly */ 9161 uint numAttributes; 9162 /* readonly */ 9163 int numWheels; 9164 ObjectAnimation objectAnimation; 9165 /* readonly */ 9166 int refs; 9167 bool temporary; 9168 /* readonly */ 9169 StringHash type; 9170 /* readonly */ 9171 String typeName; 9172 /* readonly */ 9173 int weakRefs; 9174 }; 9175 9176 class Rect 9177 { 9178 public: 9179 Rect(); 9180 Rect(const Rect&in); 9181 Rect(float, float, float, float); 9182 Rect(const Vector2&in, const Vector2&in); 9183 Rect(const Vector4&in); 9184 // Methods: 9185 void Clear(); 9186 void Clip(const Rect&); 9187 void Define(const Vector2&); 9188 void Define(const Vector2&, const Vector2&); 9189 bool Defined() const; 9190 bool Equals(const Rect&) const; 9191 Intersection IsInside(const Rect&) const; 9192 Intersection IsInside(const Vector2&) const; 9193 void Merge(const Rect&); 9194 void Merge(const Vector2&); 9195 Vector4 ToVector4() const; 9196 9197 // Properties: 9198 float bottom; 9199 /* readonly */ 9200 Vector2 center; 9201 /* readonly */ 9202 Vector2 halfSize; 9203 float left; 9204 Vector2 max; 9205 Vector2 min; 9206 float right; 9207 /* readonly */ 9208 Vector2 size; 9209 float top; 9210 }; 9211 9212 class RefCounted 9213 { 9214 public: 9215 9216 // Properties: 9217 /* readonly */ 9218 int refs; 9219 /* readonly */ 9220 int weakRefs; 9221 }; 9222 9223 class RenderPath 9224 { 9225 public: 9226 RenderPath(); 9227 // Methods: 9228 void AddCommand(const RenderPathCommand&); 9229 void AddRenderTarget(const RenderTargetInfo&); 9230 bool Append(XMLFile); 9231 RenderPath Clone(); 9232 void InsertCommand(uint, const RenderPathCommand&); 9233 bool Load(XMLFile); 9234 void RemoveCommand(uint); 9235 void RemoveCommands(const String&); 9236 void RemoveRenderTarget(const String&); 9237 void RemoveRenderTarget(uint); 9238 void RemoveRenderTargts(const String&); 9239 void SetEnabled(const String&, bool); 9240 void ToggleEnabled(const String&); 9241 9242 // Properties: 9243 Array<RenderPathCommand> commands; 9244 /* readonly */ 9245 uint numCommands; 9246 /* readonly */ 9247 uint numRenderTargets; 9248 /* readonly */ 9249 int refs; 9250 Array<RenderTargetInfo> renderTargets; 9251 Array<Variant> shaderParameters; 9252 /* readonly */ 9253 int weakRefs; 9254 }; 9255 9256 class RenderPathCommand 9257 { 9258 public: 9259 ~RenderPathCommand(); 9260 RenderPathCommand(); 9261 RenderPathCommand(const RenderPathCommand&in); 9262 // Methods: 9263 void RemoveShaderParameter(const String&); 9264 void SetOutput(uint, const String&, CubeMapFace = FACE_POSITIVE_X); 9265 9266 // Properties: 9267 BlendMode blendMode; 9268 Color clearColor; 9269 float clearDepth; 9270 uint clearFlags; 9271 uint clearStencil; 9272 String depthStencilName; 9273 bool enabled; 9274 String eventName; 9275 bool markToStencil; 9276 String metadata; 9277 uint numOutputs; 9278 Array<CubeMapFace> outputFaces; 9279 Array<String> outputNames; 9280 String pass; 9281 String pixelShaderDefines; 9282 String pixelShaderName; 9283 Array<Variant> shaderParameters; 9284 RenderCommandSortMode sortMode; 9285 String tag; 9286 Array<String> textureNames; 9287 RenderCommandType type; 9288 bool useFogColor; 9289 bool useLitBase; 9290 bool vertexLights; 9291 String vertexShaderDefines; 9292 String vertexShaderName; 9293 }; 9294 9295 class RenderSurface 9296 { 9297 public: 9298 // Methods: 9299 void QueueUpdate(); 9300 9301 // Properties: 9302 /* readonly */ 9303 int height; 9304 RenderSurface linkedDepthStencil; 9305 RenderSurface linkedRenderTarget; 9306 uint numViewports; 9307 /* readonly */ 9308 Texture parentTexture; 9309 /* readonly */ 9310 bool resolveDirty; 9311 RenderSurfaceUpdateMode updateMode; 9312 /* readonly */ 9313 TextureUsage usage; 9314 Array<Viewport> viewports; 9315 /* readonly */ 9316 int width; 9317 }; 9318 9319 class RenderTargetInfo 9320 { 9321 public: 9322 ~RenderTargetInfo(); 9323 RenderTargetInfo(); 9324 RenderTargetInfo(const RenderTargetInfo&in); 9325 9326 // Properties: 9327 bool autoResolve; 9328 bool cubemap; 9329 bool enabled; 9330 bool filtered; 9331 uint format; 9332 int multiSample; 9333 String name; 9334 bool persistent; 9335 bool sRGB; 9336 Vector2 size; 9337 RenderTargetSizeMode sizeMode; 9338 String tag; 9339 }; 9340 9341 class Renderer 9342 { 9343 public: 9344 // Methods: 9345 void DrawDebugGeometry(bool) const; 9346 bool HasSubscribedToEvent(Object, const String&); 9347 bool HasSubscribedToEvent(const String&); 9348 void ReloadShaders() const; 9349 void SendEvent(const String&, VariantMap& = VariantMap ( )); 9350 void SetDefaultRenderPath(XMLFile); 9351 void SetVSMShadowParameters(float, float); 9352 9353 // Properties: 9354 /* readonly */ 9355 String category; 9356 /* readonly */ 9357 Material defaultLightRamp; 9358 /* readonly */ 9359 Material defaultLightSpot; 9360 /* readonly */ 9361 Material defaultMaterial; 9362 RenderPath defaultRenderPath; 9363 Technique defaultTechnique; 9364 /* readonly */ 9365 Zone defaultZone; 9366 bool drawShadows; 9367 bool dynamicInstancing; 9368 bool hdrRendering; 9369 int materialQuality; 9370 int maxOccluderTriangles; 9371 int maxShadowMaps; 9372 int maxSortedInstances; 9373 int minInstances; 9374 float mobileNormalOffsetMul; 9375 float mobileShadowBiasAdd; 9376 float mobileShadowBiasMul; 9377 /* readonly */ 9378 uint numBatches; 9379 int numExtraInstancingBufferElements; 9380 /* readonly */ 9381 Array<uint> numGeometries; 9382 /* readonly */ 9383 Array<uint> numLights; 9384 /* readonly */ 9385 Array<uint> numOccluders; 9386 /* readonly */ 9387 uint numPrimitives; 9388 /* readonly */ 9389 Array<uint> numShadowMaps; 9390 uint numViewports; 9391 /* readonly */ 9392 uint numViews; 9393 float occluderSizeThreshold; 9394 int occlusionBufferSize; 9395 /* readonly */ 9396 int refs; 9397 bool reuseShadowMaps; 9398 int shadowMapSize; 9399 ShadowQuality shadowQuality; 9400 float shadowSoftness; 9401 bool specularLighting; 9402 int textureAnisotropy; 9403 TextureFilterMode textureFilterMode; 9404 int textureQuality; 9405 bool threadedOcclusion; 9406 /* readonly */ 9407 StringHash type; 9408 /* readonly */ 9409 String typeName; 9410 Array<Viewport> viewports; 9411 int vsmMultiSample; 9412 Vector2 vsmShadowParameters; 9413 /* readonly */ 9414 int weakRefs; 9415 }; 9416 9417 class Resource 9418 { 9419 public: 9420 // Methods: 9421 bool HasSubscribedToEvent(Object, const String&); 9422 bool HasSubscribedToEvent(const String&); 9423 bool Load(File); 9424 bool Load(VectorBuffer&); 9425 bool Load(const String&); 9426 bool Save(File) const; 9427 bool Save(VectorBuffer&) const; 9428 bool Save(const String&) const; 9429 void SendEvent(const String&, VariantMap& = VariantMap ( )); 9430 9431 // Properties: 9432 /* readonly */ 9433 String category; 9434 /* readonly */ 9435 uint memoryUse; 9436 String name; 9437 /* readonly */ 9438 int refs; 9439 /* readonly */ 9440 StringHash type; 9441 /* readonly */ 9442 String typeName; 9443 /* readonly */ 9444 uint useTimer; 9445 /* readonly */ 9446 int weakRefs; 9447 }; 9448 9449 class ResourceCache 9450 { 9451 public: 9452 // Methods: 9453 bool AddManualResource(Resource); 9454 bool AddPackageFile(PackageFile, uint = M_MAX_UNSIGNED); 9455 bool AddPackageFile(const String&, uint = M_MAX_UNSIGNED); 9456 bool AddResourceDir(const String&, uint = M_MAX_UNSIGNED); 9457 bool BackgroundLoadResource(const String&, const String&, bool = true); 9458 bool Exists(const String&) const; 9459 Resource GetExistingResource(StringHash, const String&); 9460 Resource GetExistingResource(const String&, const String&); 9461 File GetFile(const String&); 9462 String GetPreferredResourceDir(const String&) const; 9463 Resource GetResource(StringHash, const String&, bool = true); 9464 Resource GetResource(const String&, const String&, bool = true); 9465 String GetResourceFileName(const String&) const; 9466 Array<Resource> GetResources(StringHash); 9467 Array<Resource> GetResources(const String&); 9468 bool HasSubscribedToEvent(Object, const String&); 9469 bool HasSubscribedToEvent(const String&); 9470 void ReleaseAllResources(bool = false); 9471 void ReleaseResource(const String&, const String&, bool = false); 9472 void ReleaseResources(StringHash, bool = false); 9473 void ReleaseResources(const String&, bool = false); 9474 void ReleaseResources(const String&, const String&, bool = false); 9475 bool ReloadResource(Resource); 9476 void ReloadResourceWithDependencies(const String&); 9477 void RemovePackageFile(PackageFile, bool = true, bool = false); 9478 void RemovePackageFile(const String&, bool = true, bool = false); 9479 void RemoveResourceDir(const String&); 9480 String SanitateResourceDirName(const String&) const; 9481 String SanitateResourceName(const String&) const; 9482 void SendEvent(const String&, VariantMap& = VariantMap ( )); 9483 9484 // Properties: 9485 bool autoReloadResources; 9486 /* readonly */ 9487 String category; 9488 int finishBackgroundResourcesMs; 9489 Array<uint64> memoryBudget; 9490 /* readonly */ 9491 Array<uint64> memoryUse; 9492 /* readonly */ 9493 uint numBackgroundLoadResources; 9494 /* readonly */ 9495 Array<PackageFile> packageFiles; 9496 /* readonly */ 9497 int refs; 9498 /* readonly */ 9499 Array<String> resourceDirs; 9500 bool returnFailedResources; 9501 /* readonly */ 9502 bool seachPackagesFirst; 9503 /* writeonly */ 9504 bool searchPackagesFirst; 9505 /* readonly */ 9506 uint64 totalMemoryUse; 9507 /* readonly */ 9508 StringHash type; 9509 /* readonly */ 9510 String typeName; 9511 /* readonly */ 9512 int weakRefs; 9513 }; 9514 9515 class ResourceRef 9516 { 9517 public: 9518 ~ResourceRef(); 9519 ResourceRef(); 9520 ResourceRef(const ResourceRef&in); 9521 ResourceRef(const String&in, const String&in); 9522 9523 // Properties: 9524 String name; 9525 StringHash type; 9526 }; 9527 9528 class ResourceRefList 9529 { 9530 public: 9531 ~ResourceRefList(); 9532 ResourceRefList(); 9533 ResourceRefList(const ResourceRefList&in); 9534 // Methods: 9535 void Resize(uint); 9536 9537 // Properties: 9538 /* readonly */ 9539 bool empty; 9540 /* readonly */ 9541 uint length; 9542 Array<String> names; 9543 StringHash type; 9544 }; 9545 9546 class RibbonTrail 9547 { 9548 public: 9549 // Methods: 9550 void ApplyAttributes(); 9551 void Commit(); 9552 void DrawDebugGeometry(DebugRenderer, bool); 9553 Variant GetAttribute(const String&) const; 9554 ValueAnimation GetAttributeAnimation(const String&) const; 9555 float GetAttributeAnimationSpeed(const String&) const; 9556 float GetAttributeAnimationTime(const String&) const; 9557 WrapMode GetAttributeAnimationWrapMode(const String&) const; 9558 Variant GetAttributeDefault(const String&) const; 9559 bool GetInterceptNetworkUpdate(const String&) const; 9560 bool HasSubscribedToEvent(Object, const String&); 9561 bool HasSubscribedToEvent(const String&); 9562 bool IsInView(Camera) const; 9563 bool Load(File, bool = false); 9564 bool Load(VectorBuffer&, bool = false); 9565 bool LoadJSON(const JSONValue&, bool = false); 9566 bool LoadXML(const XMLElement&, bool = false); 9567 void MarkNetworkUpdate() const; 9568 void Remove(); 9569 void RemoveAttributeAnimation(const String&); 9570 void RemoveInstanceDefault(); 9571 void RemoveObjectAnimation(); 9572 void ResetToDefault(); 9573 bool Save(File) const; 9574 bool Save(VectorBuffer&) const; 9575 bool SaveJSON(JSONValue&) const; 9576 bool SaveXML(XMLElement&) const; 9577 void SendEvent(const String&, VariantMap& = VariantMap ( )); 9578 void SetAnimationTime(float); 9579 bool SetAttribute(const String&, const Variant&); 9580 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 9581 void SetAttributeAnimationSpeed(const String&, float); 9582 void SetAttributeAnimationTime(const String&, float); 9583 void SetAttributeAnimationWrapMode(const String&, WrapMode); 9584 void SetInterceptNetworkUpdate(const String&, bool); 9585 9586 // Properties: 9587 bool animationEnabled; 9588 float animationLodBias; 9589 /* readonly */ 9590 Array<Variant> attributeDefaults; 9591 /* readonly */ 9592 Array<AttributeInfo> attributeInfos; 9593 Array<Variant> attributes; 9594 /* readonly */ 9595 BoundingBox boundingBox; 9596 bool castShadows; 9597 /* readonly */ 9598 String category; 9599 float drawDistance; 9600 bool emitting; 9601 bool enabled; 9602 /* readonly */ 9603 bool enabledEffective; 9604 Color endColor; 9605 float endScale; 9606 /* readonly */ 9607 uint id; 9608 /* readonly */ 9609 bool inView; 9610 float lifetime; 9611 uint lightMask; 9612 float lodBias; 9613 Material material; 9614 uint maxLights; 9615 /* readonly */ 9616 Node node; 9617 /* readonly */ 9618 uint numAttributes; 9619 ObjectAnimation objectAnimation; 9620 bool occludee; 9621 bool occluder; 9622 /* readonly */ 9623 int refs; 9624 float shadowDistance; 9625 uint shadowMask; 9626 bool sorted; 9627 Color startColor; 9628 float startScale; 9629 uint tailColumn; 9630 bool temporary; 9631 TrailType trailType; 9632 /* readonly */ 9633 StringHash type; 9634 /* readonly */ 9635 String typeName; 9636 bool updateInvisible; 9637 float vertexDistance; 9638 uint viewMask; 9639 /* readonly */ 9640 int weakRefs; 9641 float width; 9642 /* readonly */ 9643 BoundingBox worldBoundingBox; 9644 /* readonly */ 9645 Zone zone; 9646 uint zoneMask; 9647 }; 9648 9649 class RigidBody 9650 { 9651 public: 9652 // Methods: 9653 void Activate(); 9654 void ApplyAttributes(); 9655 void ApplyForce(const Vector3&); 9656 void ApplyForce(const Vector3&, const Vector3&); 9657 void ApplyImpulse(const Vector3&); 9658 void ApplyImpulse(const Vector3&, const Vector3&); 9659 void ApplyTorque(const Vector3&); 9660 void ApplyTorqueImpulse(const Vector3&); 9661 void DisableMassUpdate(); 9662 void DrawDebugGeometry(DebugRenderer, bool); 9663 void EnableMassUpdate(); 9664 Variant GetAttribute(const String&) const; 9665 ValueAnimation GetAttributeAnimation(const String&) const; 9666 float GetAttributeAnimationSpeed(const String&) const; 9667 float GetAttributeAnimationTime(const String&) const; 9668 WrapMode GetAttributeAnimationWrapMode(const String&) const; 9669 Variant GetAttributeDefault(const String&) const; 9670 bool GetInterceptNetworkUpdate(const String&) const; 9671 Vector3 GetVelocityAtPoint(const Vector3&) const; 9672 bool HasSubscribedToEvent(Object, const String&); 9673 bool HasSubscribedToEvent(const String&); 9674 bool Load(File, bool = false); 9675 bool Load(VectorBuffer&, bool = false); 9676 bool LoadJSON(const JSONValue&, bool = false); 9677 bool LoadXML(const XMLElement&, bool = false); 9678 void MarkNetworkUpdate() const; 9679 void ReAddBodyToWorld(); 9680 void Remove(); 9681 void RemoveAttributeAnimation(const String&); 9682 void RemoveInstanceDefault(); 9683 void RemoveObjectAnimation(); 9684 void ResetForces(); 9685 void ResetToDefault(); 9686 bool Save(File) const; 9687 bool Save(VectorBuffer&) const; 9688 bool SaveJSON(JSONValue&) const; 9689 bool SaveXML(XMLElement&) const; 9690 void SendEvent(const String&, VariantMap& = VariantMap ( )); 9691 void SetAnimationTime(float); 9692 bool SetAttribute(const String&, const Variant&); 9693 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 9694 void SetAttributeAnimationSpeed(const String&, float); 9695 void SetAttributeAnimationTime(const String&, float); 9696 void SetAttributeAnimationWrapMode(const String&, WrapMode); 9697 void SetCollisionLayerAndMask(uint, uint); 9698 void SetInterceptNetworkUpdate(const String&, bool); 9699 void SetTransform(const Vector3&, const Quaternion&); 9700 9701 // Properties: 9702 /* readonly */ 9703 bool active; 9704 float angularDamping; 9705 Vector3 angularFactor; 9706 float angularRestThreshold; 9707 Vector3 angularVelocity; 9708 bool animationEnabled; 9709 Vector3 anisotropicFriction; 9710 /* readonly */ 9711 Array<Variant> attributeDefaults; 9712 /* readonly */ 9713 Array<AttributeInfo> attributeInfos; 9714 Array<Variant> attributes; 9715 /* readonly */ 9716 String category; 9717 float ccdMotionThreshold; 9718 float ccdRadius; 9719 /* readonly */ 9720 Vector3 centerOfMass; 9721 /* readonly */ 9722 Array<RigidBody> collidingBodies; 9723 CollisionEventMode collisionEventMode; 9724 uint collisionLayer; 9725 uint collisionMask; 9726 float contactProcessingThreshold; 9727 bool enabled; 9728 /* readonly */ 9729 bool enabledEffective; 9730 float friction; 9731 Vector3 gravityOverride; 9732 /* readonly */ 9733 uint id; 9734 bool kinematic; 9735 float linearDamping; 9736 Vector3 linearFactor; 9737 float linearRestThreshold; 9738 Vector3 linearVelocity; 9739 float mass; 9740 /* readonly */ 9741 Node node; 9742 /* readonly */ 9743 uint numAttributes; 9744 ObjectAnimation objectAnimation; 9745 Vector3 position; 9746 /* readonly */ 9747 int refs; 9748 float restitution; 9749 float rollingFriction; 9750 Quaternion rotation; 9751 bool temporary; 9752 bool trigger; 9753 /* readonly */ 9754 StringHash type; 9755 /* readonly */ 9756 String typeName; 9757 bool useGravity; 9758 /* readonly */ 9759 int weakRefs; 9760 }; 9761 9762 class RigidBody2D 9763 { 9764 public: 9765 // Methods: 9766 void ApplyAngularImpulse(float, bool); 9767 void ApplyAttributes(); 9768 void ApplyForce(const Vector2&, const Vector2&, bool); 9769 void ApplyForceToCenter(const Vector2&, bool); 9770 void ApplyLinearImpulse(const Vector2&, const Vector2&, bool); 9771 void ApplyLinearImpulseToCenter(const Vector2&, bool); 9772 void ApplyTorque(float, bool); 9773 void DrawDebugGeometry(DebugRenderer, bool); 9774 Variant GetAttribute(const String&) const; 9775 ValueAnimation GetAttributeAnimation(const String&) const; 9776 float GetAttributeAnimationSpeed(const String&) const; 9777 float GetAttributeAnimationTime(const String&) const; 9778 WrapMode GetAttributeAnimationWrapMode(const String&) const; 9779 Variant GetAttributeDefault(const String&) const; 9780 bool GetInterceptNetworkUpdate(const String&) const; 9781 bool HasSubscribedToEvent(Object, const String&); 9782 bool HasSubscribedToEvent(const String&); 9783 bool Load(File, bool = false); 9784 bool Load(VectorBuffer&, bool = false); 9785 bool LoadJSON(const JSONValue&, bool = false); 9786 bool LoadXML(const XMLElement&, bool = false); 9787 void MarkNetworkUpdate() const; 9788 void Remove(); 9789 void RemoveAttributeAnimation(const String&); 9790 void RemoveInstanceDefault(); 9791 void RemoveObjectAnimation(); 9792 void ResetToDefault(); 9793 bool Save(File) const; 9794 bool Save(VectorBuffer&) const; 9795 bool SaveJSON(JSONValue&) const; 9796 bool SaveXML(XMLElement&) const; 9797 void SendEvent(const String&, VariantMap& = VariantMap ( )); 9798 void SetAnimationTime(float); 9799 bool SetAttribute(const String&, const Variant&); 9800 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 9801 void SetAttributeAnimationSpeed(const String&, float); 9802 void SetAttributeAnimationTime(const String&, float); 9803 void SetAttributeAnimationWrapMode(const String&, WrapMode); 9804 void SetInterceptNetworkUpdate(const String&, bool); 9805 9806 // Properties: 9807 bool allowSleep; 9808 float angularDamping; 9809 bool animationEnabled; 9810 /* readonly */ 9811 Array<Variant> attributeDefaults; 9812 /* readonly */ 9813 Array<AttributeInfo> attributeInfos; 9814 Array<Variant> attributes; 9815 bool awake; 9816 BodyType2D bodyType; 9817 bool bullet; 9818 /* readonly */ 9819 String category; 9820 bool enabled; 9821 /* readonly */ 9822 bool enabledEffective; 9823 bool fixedRotation; 9824 float gravityScale; 9825 /* readonly */ 9826 uint id; 9827 float inertia; 9828 float linearDamping; 9829 Vector2 linearVelocity; 9830 float mass; 9831 Vector2 massCenter; 9832 /* readonly */ 9833 Node node; 9834 /* readonly */ 9835 uint numAttributes; 9836 ObjectAnimation objectAnimation; 9837 /* readonly */ 9838 int refs; 9839 bool temporary; 9840 /* readonly */ 9841 StringHash type; 9842 /* readonly */ 9843 String typeName; 9844 bool useFixtureMass; 9845 /* readonly */ 9846 int weakRefs; 9847 }; 9848 9849 class Scene 9850 { 9851 public: 9852 Scene(); 9853 Scene(const String&in); 9854 // Methods: 9855 void AddChild(Node, uint = M_MAX_UNSIGNED); 9856 void AddRequiredPackageFile(PackageFile); 9857 void AddTag(const String&); 9858 void AddTags(const String&, int8 = ';'); 9859 void ApplyAttributes(); 9860 void Clear(bool = true, bool = true); 9861 void ClearRequiredPackageFiles(); 9862 Component CloneComponent(Component, CreateMode, uint = 0); 9863 Component CloneComponent(Component, uint = 0); 9864 Node CreateChild(const String& = String ( ), CreateMode = REPLICATED, uint = 0, bool = false); 9865 Component CreateComponent(const String&, CreateMode = REPLICATED, uint = 0); 9866 ScriptObject CreateScriptObject(ScriptFile, const String&, CreateMode = REPLICATED); 9867 ScriptObject CreateScriptObject(const String&, const String&, CreateMode = REPLICATED); 9868 Node CreateTemporaryChild(const String& = String ( ), CreateMode = REPLICATED, uint = 0); 9869 Variant GetAttribute(const String&) const; 9870 ValueAnimation GetAttributeAnimation(const String&) const; 9871 float GetAttributeAnimationSpeed(const String&) const; 9872 float GetAttributeAnimationTime(const String&) const; 9873 WrapMode GetAttributeAnimationWrapMode(const String&) const; 9874 Variant GetAttributeDefault(const String&) const; 9875 Node GetChild(const String&, bool = false) const; 9876 Array<Node> GetChildren(bool = false) const; 9877 Array<Node> GetChildrenWithComponent(const String&, bool = false) const; 9878 Array<Node> GetChildrenWithScript(bool = false) const; 9879 Array<Node> GetChildrenWithScript(const String&, bool = false) const; 9880 Array<Node> GetChildrenWithTag(const String&, bool = false) const; 9881 Component GetComponent(const String&, bool = false) const; 9882 Component GetComponent(uint) const; 9883 Array<Component> GetComponents() const; 9884 Array<Component> GetComponents(const String&, bool = false) const; 9885 bool GetInterceptNetworkUpdate(const String&) const; 9886 Node GetNode(uint) const; 9887 Array<Node> GetNodesWithTag(const String&) const; 9888 Component GetOrCreateComponent(const String&, CreateMode = REPLICATED, uint = 0); 9889 Component GetParentComponent(const String&, bool = false) const; 9890 ScriptObject GetScriptObject() const; 9891 ScriptObject GetScriptObject(const String&) const; 9892 bool HasComponent(const String&) const; 9893 bool HasSubscribedToEvent(Object, const String&); 9894 bool HasSubscribedToEvent(const String&); 9895 bool HasTag(const String&); 9896 Node Instantiate(File, const Vector3&, const Quaternion&, CreateMode = REPLICATED); 9897 Node Instantiate(VectorBuffer&, const Vector3&, const Quaternion&, CreateMode = REPLICATED); 9898 Node InstantiateJSON(File, const Vector3&, const Quaternion&, CreateMode = REPLICATED); 9899 Node InstantiateJSON(JSONFile, const Vector3&, const Quaternion&, CreateMode = REPLICATED); 9900 Node InstantiateJSON(VectorBuffer&, const Vector3&, const Quaternion&, CreateMode = REPLICATED); 9901 Node InstantiateJSON(const JSONValue&, const Vector3&, const Quaternion&, CreateMode = REPLICATED); 9902 Node InstantiateXML(File, const Vector3&, const Quaternion&, CreateMode = REPLICATED); 9903 Node InstantiateXML(VectorBuffer&, const Vector3&, const Quaternion&, CreateMode = REPLICATED); 9904 Node InstantiateXML(XMLFile, const Vector3&, const Quaternion&, CreateMode = REPLICATED); 9905 Node InstantiateXML(const XMLElement&, const Vector3&, const Quaternion&, CreateMode = REPLICATED); 9906 bool IsChildOf(Node) const; 9907 bool Load(File, bool = false); 9908 bool Load(VectorBuffer&, bool = false); 9909 bool LoadAsync(File, LoadMode = LOAD_SCENE_AND_RESOURCES); 9910 bool LoadAsyncXML(File, LoadMode = LOAD_SCENE_AND_RESOURCES); 9911 bool LoadJSON(File); 9912 bool LoadJSON(VectorBuffer&); 9913 bool LoadJSON(const JSONValue&, bool = false); 9914 bool LoadXML(File); 9915 bool LoadXML(VectorBuffer&); 9916 bool LoadXML(const XMLElement&, bool = false); 9917 Vector3 LocalToWorld(const Vector3&) const; 9918 Vector3 LocalToWorld(const Vector4&) const; 9919 Vector2 LocalToWorld2D(const Vector2&) const; 9920 bool LookAt(const Vector3&, const Vector3& = Vector3 ( 0 , 1 , 0 ), TransformSpace = TS_WORLD); 9921 void MarkNetworkUpdate() const; 9922 void Pitch(float, TransformSpace = TS_LOCAL); 9923 void RegisterVar(const String&); 9924 void Remove(); 9925 void RemoveAllChildren(); 9926 void RemoveAllComponents(); 9927 void RemoveAllTags(); 9928 void RemoveAttributeAnimation(const String&); 9929 void RemoveChild(Node); 9930 void RemoveChildren(bool, bool, bool); 9931 void RemoveComponent(Component); 9932 void RemoveComponent(const String&); 9933 void RemoveComponents(bool, bool); 9934 void RemoveComponents(const String&); 9935 void RemoveInstanceDefault(); 9936 void RemoveObjectAnimation(); 9937 bool RemoveTag(const String&); 9938 void ReorderComponent(Component, uint); 9939 void ResetToDefault(); 9940 void Roll(float, TransformSpace = TS_LOCAL); 9941 void Rotate(const Quaternion&, TransformSpace = TS_LOCAL); 9942 void Rotate2D(float, TransformSpace = TS_LOCAL); 9943 void RotateAround(const Vector3&, const Quaternion&, TransformSpace = TS_LOCAL); 9944 void RotateAround2D(const Vector2&, float, TransformSpace = TS_LOCAL); 9945 bool Save(File) const; 9946 bool Save(VectorBuffer&) const; 9947 bool SaveJSON(File, const String& = "\t"); 9948 bool SaveJSON(JSONValue&) const; 9949 bool SaveJSON(VectorBuffer&, const String& = "\t"); 9950 bool SaveXML(File, const String& = "\t"); 9951 bool SaveXML(VectorBuffer&, const String& = "\t"); 9952 bool SaveXML(XMLElement&) const; 9953 void Scale(const Vector3&); 9954 void Scale(float); 9955 void Scale2D(const Vector2&); 9956 void SendEvent(const String&, VariantMap& = VariantMap ( )); 9957 void SetAnimationTime(float); 9958 bool SetAttribute(const String&, const Variant&); 9959 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 9960 void SetAttributeAnimationSpeed(const String&, float); 9961 void SetAttributeAnimationTime(const String&, float); 9962 void SetAttributeAnimationWrapMode(const String&, WrapMode); 9963 void SetInterceptNetworkUpdate(const String&, bool); 9964 void SetPosition2D(float, float); 9965 void SetScale(float); 9966 void SetScale2D(float, float); 9967 void SetTransform(const Matrix3x4&); 9968 void SetTransform(const Vector3&, const Quaternion&); 9969 void SetTransform(const Vector3&, const Quaternion&, const Vector3&); 9970 void SetTransform(const Vector3&, const Quaternion&, float); 9971 void SetTransform2D(const Vector2&, float); 9972 void SetTransform2D(const Vector2&, float, const Vector2&); 9973 void SetTransform2D(const Vector2&, float, float); 9974 void SetWorldTransform(const Vector3&, const Quaternion&); 9975 void SetWorldTransform(const Vector3&, const Quaternion&, const Vector3&); 9976 void SetWorldTransform(const Vector3&, const Quaternion&, float); 9977 void SetWorldTransform2D(const Vector2&, float); 9978 void SetWorldTransform2D(const Vector2&, float, const Vector2&); 9979 void SetWorldTransform2D(const Vector2&, float, float); 9980 void StopAsyncLoading(); 9981 const String& GetVarName(StringHash) const; 9982 void Translate(const Vector3&, TransformSpace = TS_LOCAL); 9983 void Translate2D(const Vector2&, TransformSpace = TS_LOCAL); 9984 void UnregisterAllVars(const String&); 9985 void UnregisterVar(const String&); 9986 void Update(float); 9987 Vector3 WorldToLocal(const Vector3&) const; 9988 Vector3 WorldToLocal(const Vector4&) const; 9989 Vector2 WorldToLocal2D(const Vector2&) const; 9990 void Yaw(float, TransformSpace = TS_LOCAL); 9991 9992 // Properties: 9993 /* readonly */ 9994 Array<Node> allChildrenByName; 9995 bool animationEnabled; 9996 /* readonly */ 9997 LoadMode asyncLoadMode; 9998 /* readonly */ 9999 bool asyncLoading; 10000 int asyncLoadingMs; 10001 /* readonly */ 10002 float asyncProgress; 10003 /* readonly */ 10004 Array<Variant> attributeDefaults; 10005 /* readonly */ 10006 Array<AttributeInfo> attributeInfos; 10007 Array<Variant> attributes; 10008 /* readonly */ 10009 String category; 10010 /* readonly */ 10011 uint checksum; 10012 /* readonly */ 10013 Array<Node> children; 10014 /* readonly */ 10015 Array<Node> childrenByName; 10016 /* readonly */ 10017 Array<Component> components; 10018 /* readonly */ 10019 DebugRenderer debugRenderer; 10020 Vector3 direction; 10021 float elapsedTime; 10022 /* readonly */ 10023 String fileName; 10024 uint id; 10025 String name; 10026 /* readonly */ 10027 uint numAllChildren; 10028 /* readonly */ 10029 uint numAttributes; 10030 /* readonly */ 10031 uint numChildren; 10032 /* readonly */ 10033 uint numComponents; 10034 ObjectAnimation objectAnimation; 10035 /* readonly */ 10036 Octree octree; 10037 Node parent; 10038 /* readonly */ 10039 PhysicsWorld physicsWorld; 10040 /* readonly */ 10041 PhysicsWorld2D physicsWorld2D; 10042 Vector3 position; 10043 Vector2 position2D; 10044 /* readonly */ 10045 int refs; 10046 /* readonly */ 10047 Array<PackageFile> requiredPackageFiles; 10048 /* readonly */ 10049 Vector3 right; 10050 Quaternion rotation; 10051 float rotation2D; 10052 Vector3 scale; 10053 Vector2 scale2D; 10054 /* readonly */ 10055 ScriptObject scriptObject; 10056 /* readonly */ 10057 Vector3 signedWorldScale; 10058 float smoothingConstant; 10059 float snapThreshold; 10060 /* readonly */ 10061 Array<String> tags; 10062 bool temporary; 10063 float timeScale; 10064 /* readonly */ 10065 Matrix3x4 transform; 10066 /* readonly */ 10067 StringHash type; 10068 /* readonly */ 10069 String typeName; 10070 /* readonly */ 10071 Vector3 up; 10072 bool updateEnabled; 10073 /* readonly */ 10074 VariantMap vars; 10075 /* readonly */ 10076 int weakRefs; 10077 Vector3 worldDirection; 10078 Vector3 worldPosition; 10079 Vector2 worldPosition2D; 10080 /* readonly */ 10081 Vector3 worldRight; 10082 Quaternion worldRotation; 10083 float worldRotation2D; 10084 Vector3 worldScale; 10085 Vector2 worldScale2D; 10086 /* readonly */ 10087 Matrix3x4 worldTransform; 10088 /* readonly */ 10089 Vector3 worldUp; 10090 }; 10091 10092 class Script 10093 { 10094 public: 10095 // Methods: 10096 void DumpAPI(DumpMode = DOXYGEN, const String& = String ( )); 10097 bool Execute(const String&); 10098 bool HasSubscribedToEvent(Object, const String&); 10099 bool HasSubscribedToEvent(const String&); 10100 void SendEvent(const String&, VariantMap& = VariantMap ( )); 10101 10102 // Properties: 10103 /* readonly */ 10104 String category; 10105 Scene defaultScene; 10106 ScriptFile defaultScriptFile; 10107 bool executeConsoleCommands; 10108 /* readonly */ 10109 int refs; 10110 /* readonly */ 10111 StringHash type; 10112 /* readonly */ 10113 String typeName; 10114 /* readonly */ 10115 int weakRefs; 10116 }; 10117 10118 class ScriptFile 10119 { 10120 public: 10121 ScriptFile(); 10122 ScriptFile(const String&in); 10123 // Methods: 10124 void ClearDelayedExecute(const String& = String ( )); 10125 void DelayedExecute(float, bool, const String&, const Array<Variant> = null); 10126 bool Execute(const String&, const Array<Variant> = null); 10127 bool HasSubscribedToEvent(Object, const String&); 10128 bool HasSubscribedToEvent(const String&); 10129 bool Load(File); 10130 bool Load(VectorBuffer&); 10131 bool Load(const String&); 10132 bool Save(File) const; 10133 bool Save(VectorBuffer&) const; 10134 bool Save(const String&) const; 10135 void SendEvent(const String&, VariantMap& = VariantMap ( )); 10136 10137 // Properties: 10138 /* readonly */ 10139 String category; 10140 /* readonly */ 10141 bool compiled; 10142 /* readonly */ 10143 uint memoryUse; 10144 String name; 10145 /* readonly */ 10146 int refs; 10147 /* readonly */ 10148 StringHash type; 10149 /* readonly */ 10150 String typeName; 10151 /* readonly */ 10152 uint useTimer; 10153 /* readonly */ 10154 int weakRefs; 10155 }; 10156 10157 class ScriptInstance 10158 { 10159 public: 10160 // Methods: 10161 void ApplyAttributes(); 10162 void ClearDelayedExecute(const String& = String ( )); 10163 bool CreateObject(ScriptFile, const String&); 10164 void DelayedExecute(float, bool, const String&, const Array<Variant> = null); 10165 void DrawDebugGeometry(DebugRenderer, bool); 10166 bool Execute(const String&, const Array<Variant> = null); 10167 Variant GetAttribute(const String&) const; 10168 ValueAnimation GetAttributeAnimation(const String&) const; 10169 float GetAttributeAnimationSpeed(const String&) const; 10170 float GetAttributeAnimationTime(const String&) const; 10171 WrapMode GetAttributeAnimationWrapMode(const String&) const; 10172 Variant GetAttributeDefault(const String&) const; 10173 bool GetInterceptNetworkUpdate(const String&) const; 10174 bool HasMethod(const String&) const; 10175 bool HasSubscribedToEvent(Object, const String&); 10176 bool HasSubscribedToEvent(const String&); 10177 bool IsA(const String&) const; 10178 bool Load(File, bool = false); 10179 bool Load(VectorBuffer&, bool = false); 10180 bool LoadJSON(const JSONValue&, bool = false); 10181 bool LoadXML(const XMLElement&, bool = false); 10182 void MarkNetworkUpdate() const; 10183 void Remove(); 10184 void RemoveAttributeAnimation(const String&); 10185 void RemoveInstanceDefault(); 10186 void RemoveObjectAnimation(); 10187 void ResetToDefault(); 10188 bool Save(File) const; 10189 bool Save(VectorBuffer&) const; 10190 bool SaveJSON(JSONValue&) const; 10191 bool SaveXML(XMLElement&) const; 10192 void SendEvent(const String&, VariantMap& = VariantMap ( )); 10193 void SetAnimationTime(float); 10194 bool SetAttribute(const String&, const Variant&); 10195 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 10196 void SetAttributeAnimationSpeed(const String&, float); 10197 void SetAttributeAnimationTime(const String&, float); 10198 void SetAttributeAnimationWrapMode(const String&, WrapMode); 10199 void SetInterceptNetworkUpdate(const String&, bool); 10200 10201 // Properties: 10202 bool animationEnabled; 10203 /* readonly */ 10204 Array<Variant> attributeDefaults; 10205 /* readonly */ 10206 Array<AttributeInfo> attributeInfos; 10207 Array<Variant> attributes; 10208 /* readonly */ 10209 String category; 10210 String className; 10211 bool enabled; 10212 /* readonly */ 10213 bool enabledEffective; 10214 /* readonly */ 10215 uint id; 10216 /* readonly */ 10217 Node node; 10218 /* readonly */ 10219 uint numAttributes; 10220 ObjectAnimation objectAnimation; 10221 /* readonly */ 10222 int refs; 10223 ScriptFile scriptFile; 10224 /* readonly */ 10225 ScriptObject scriptObject; 10226 bool temporary; 10227 /* readonly */ 10228 StringHash type; 10229 /* readonly */ 10230 String typeName; 10231 /* readonly */ 10232 int weakRefs; 10233 }; 10234 10235 class ScriptObject 10236 { 10237 public: 10238 }; 10239 10240 class ScrollBar 10241 { 10242 public: 10243 ScrollBar(); 10244 ScrollBar(const String&in); 10245 // Methods: 10246 void AddChild(UIElement); 10247 void AddTag(const String&); 10248 void AddTags(const String&, int8 = ';'); 10249 void ApplyAttributes(); 10250 void BringToFront(); 10251 void ChangeValue(float); 10252 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 10253 void DisableLayoutUpdate(); 10254 IntVector2 ElementToScreen(const IntVector2&); 10255 void EnableLayoutUpdate(); 10256 uint FindChild(UIElement) const; 10257 Variant GetAttribute(const String&) const; 10258 ValueAnimation GetAttributeAnimation(const String&) const; 10259 float GetAttributeAnimationSpeed(const String&) const; 10260 float GetAttributeAnimationTime(const String&) const; 10261 WrapMode GetAttributeAnimationWrapMode(const String&) const; 10262 Variant GetAttributeDefault(const String&) const; 10263 UIElement GetChild(const String&, bool = false) const; 10264 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 10265 Array<UIElement> GetChildren(bool = false) const; 10266 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 10267 UIElement GetElementEventSender() const; 10268 bool GetInterceptNetworkUpdate(const String&) const; 10269 uint GetNumChildren(bool) const; 10270 bool HasSubscribedToEvent(Object, const String&); 10271 bool HasSubscribedToEvent(const String&); 10272 bool HasTag(const String&) const; 10273 void InsertChild(uint, UIElement); 10274 bool IsInside(IntVector2, bool); 10275 bool IsInsideCombined(IntVector2, bool); 10276 bool Load(File, bool = false); 10277 bool Load(VectorBuffer&, bool = false); 10278 UIElement LoadChildXML(XMLFile, XMLFile = null); 10279 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 10280 bool LoadJSON(const JSONValue&, bool = false); 10281 bool LoadXML(File); 10282 bool LoadXML(VectorBuffer&); 10283 bool LoadXML(XMLFile, XMLFile); 10284 bool LoadXML(const XMLElement&, XMLFile, bool = false); 10285 bool LoadXML(const XMLElement&, bool = false); 10286 void MarkNetworkUpdate() const; 10287 void Remove(); 10288 void RemoveAllChildren(); 10289 void RemoveAllTags(); 10290 void RemoveAttributeAnimation(const String&); 10291 void RemoveChild(UIElement, uint = 0); 10292 void RemoveChild(uint); 10293 void RemoveInstanceDefault(); 10294 void RemoveObjectAnimation(); 10295 bool RemoveTag(const String&); 10296 void ResetDeepEnabled(); 10297 void ResetToDefault(); 10298 bool Save(File) const; 10299 bool Save(VectorBuffer&) const; 10300 bool SaveJSON(JSONValue&) const; 10301 bool SaveXML(File, const String& = "\t"); 10302 bool SaveXML(VectorBuffer&, const String& = "\t"); 10303 bool SaveXML(XMLElement&) const; 10304 IntVector2 ScreenToElement(const IntVector2&); 10305 void SendEvent(const String&, VariantMap& = VariantMap ( )); 10306 void SetAlignment(HorizontalAlignment, VerticalAlignment); 10307 void SetAnimationTime(float); 10308 bool SetAttribute(const String&, const Variant&); 10309 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 10310 void SetAttributeAnimationSpeed(const String&, float); 10311 void SetAttributeAnimationTime(const String&, float); 10312 void SetAttributeAnimationWrapMode(const String&, WrapMode); 10313 void SetDeepEnabled(bool); 10314 void SetEnabledRecursive(bool); 10315 void SetFixedHeight(int); 10316 void SetFixedSize(int, int); 10317 void SetFixedWidth(int); 10318 void SetInterceptNetworkUpdate(const String&, bool); 10319 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 10320 void SetMaxAnchor(float, float); 10321 void SetMaxSize(int, int); 10322 void SetMinAnchor(float, float); 10323 void SetMinSize(int, int); 10324 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 10325 void SetPivot(float, float); 10326 void SetPosition(int, int); 10327 void SetSize(int, int); 10328 bool SetStyle(const String&, XMLFile = null); 10329 bool SetStyle(const XMLElement&); 10330 bool SetStyleAuto(XMLFile = null); 10331 void StepBack(); 10332 void StepForward(); 10333 void UpdateLayout(); 10334 const Variant& GetVar(const StringHash&); 10335 10336 // Properties: 10337 bool animationEnabled; 10338 /* readonly */ 10339 Array<Variant> attributeDefaults; 10340 /* readonly */ 10341 Array<AttributeInfo> attributeInfos; 10342 Array<Variant> attributes; 10343 /* readonly */ 10344 Button backButton; 10345 bool bringToBack; 10346 bool bringToFront; 10347 /* readonly */ 10348 String category; 10349 /* readonly */ 10350 IntVector2 childOffset; 10351 /* readonly */ 10352 Array<UIElement> children; 10353 IntRect clipBorder; 10354 bool clipChildren; 10355 /* writeonly */ 10356 Color color; 10357 /* readonly */ 10358 bool colorGradient; 10359 Array<Color> colors; 10360 /* readonly */ 10361 IntRect combinedScreenRect; 10362 XMLFile defaultStyle; 10363 /* readonly */ 10364 float derivedOpacity; 10365 /* readonly */ 10366 uint dragButtonCombo; 10367 /* readonly */ 10368 int dragButtonCount; 10369 uint dragDropMode; 10370 bool editable; 10371 /* readonly */ 10372 float effectiveScrollStep; 10373 bool elementEventSender; 10374 bool enableAnchor; 10375 bool enabled; 10376 /* readonly */ 10377 bool enabledSelf; 10378 /* readonly */ 10379 bool fixedHeight; 10380 /* readonly */ 10381 bool fixedSize; 10382 /* readonly */ 10383 bool fixedWidth; 10384 bool focus; 10385 FocusMode focusMode; 10386 /* readonly */ 10387 Button forwardButton; 10388 int height; 10389 HorizontalAlignment horizontalAlignment; 10390 /* readonly */ 10391 bool hovering; 10392 int indent; 10393 int indentSpacing; 10394 /* readonly */ 10395 int indentWidth; 10396 bool internal; 10397 IntRect layoutBorder; 10398 Vector2 layoutFlexScale; 10399 LayoutMode layoutMode; 10400 int layoutSpacing; 10401 Vector2 maxAnchor; 10402 int maxHeight; 10403 IntVector2 maxOffset; 10404 IntVector2 maxSize; 10405 int maxWidth; 10406 Vector2 minAnchor; 10407 int minHeight; 10408 IntVector2 minOffset; 10409 IntVector2 minSize; 10410 int minWidth; 10411 String name; 10412 /* readonly */ 10413 uint numAllChildren; 10414 /* readonly */ 10415 uint numAttributes; 10416 /* readonly */ 10417 uint numChildren; 10418 ObjectAnimation objectAnimation; 10419 float opacity; 10420 Orientation orientation; 10421 UIElement parent; 10422 Vector2 pivot; 10423 IntVector2 position; 10424 int priority; 10425 float range; 10426 /* readonly */ 10427 int refs; 10428 /* readonly */ 10429 UIElement root; 10430 /* readonly */ 10431 IntVector2 screenPosition; 10432 float scrollStep; 10433 bool selected; 10434 IntVector2 size; 10435 /* readonly */ 10436 Slider slider; 10437 bool sortChildren; 10438 float stepFactor; 10439 String style; 10440 /* readonly */ 10441 Array<String> tags; 10442 bool temporary; 10443 TraversalMode traversalMode; 10444 /* readonly */ 10445 StringHash type; 10446 /* readonly */ 10447 String typeName; 10448 bool useDerivedOpacity; 10449 float value; 10450 /* readonly */ 10451 VariantMap vars; 10452 VerticalAlignment verticalAlignment; 10453 bool visible; 10454 /* readonly */ 10455 bool visibleEffective; 10456 /* readonly */ 10457 int weakRefs; 10458 int width; 10459 }; 10460 10461 class ScrollView 10462 { 10463 public: 10464 ScrollView(); 10465 ScrollView(const String&in); 10466 // Methods: 10467 void AddChild(UIElement); 10468 void AddTag(const String&); 10469 void AddTags(const String&, int8 = ';'); 10470 void ApplyAttributes(); 10471 void BringToFront(); 10472 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 10473 void DisableLayoutUpdate(); 10474 IntVector2 ElementToScreen(const IntVector2&); 10475 void EnableLayoutUpdate(); 10476 uint FindChild(UIElement) const; 10477 Variant GetAttribute(const String&) const; 10478 ValueAnimation GetAttributeAnimation(const String&) const; 10479 float GetAttributeAnimationSpeed(const String&) const; 10480 float GetAttributeAnimationTime(const String&) const; 10481 WrapMode GetAttributeAnimationWrapMode(const String&) const; 10482 Variant GetAttributeDefault(const String&) const; 10483 UIElement GetChild(const String&, bool = false) const; 10484 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 10485 Array<UIElement> GetChildren(bool = false) const; 10486 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 10487 UIElement GetElementEventSender() const; 10488 bool GetInterceptNetworkUpdate(const String&) const; 10489 uint GetNumChildren(bool) const; 10490 bool HasSubscribedToEvent(Object, const String&); 10491 bool HasSubscribedToEvent(const String&); 10492 bool HasTag(const String&) const; 10493 void InsertChild(uint, UIElement); 10494 bool IsInside(IntVector2, bool); 10495 bool IsInsideCombined(IntVector2, bool); 10496 bool Load(File, bool = false); 10497 bool Load(VectorBuffer&, bool = false); 10498 UIElement LoadChildXML(XMLFile, XMLFile = null); 10499 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 10500 bool LoadJSON(const JSONValue&, bool = false); 10501 bool LoadXML(File); 10502 bool LoadXML(VectorBuffer&); 10503 bool LoadXML(XMLFile, XMLFile); 10504 bool LoadXML(const XMLElement&, XMLFile, bool = false); 10505 bool LoadXML(const XMLElement&, bool = false); 10506 void MarkNetworkUpdate() const; 10507 void Remove(); 10508 void RemoveAllChildren(); 10509 void RemoveAllTags(); 10510 void RemoveAttributeAnimation(const String&); 10511 void RemoveChild(UIElement, uint = 0); 10512 void RemoveChild(uint); 10513 void RemoveInstanceDefault(); 10514 void RemoveObjectAnimation(); 10515 bool RemoveTag(const String&); 10516 void ResetDeepEnabled(); 10517 void ResetToDefault(); 10518 bool Save(File) const; 10519 bool Save(VectorBuffer&) const; 10520 bool SaveJSON(JSONValue&) const; 10521 bool SaveXML(File, const String& = "\t"); 10522 bool SaveXML(VectorBuffer&, const String& = "\t"); 10523 bool SaveXML(XMLElement&) const; 10524 IntVector2 ScreenToElement(const IntVector2&); 10525 void SendEvent(const String&, VariantMap& = VariantMap ( )); 10526 void SetAlignment(HorizontalAlignment, VerticalAlignment); 10527 void SetAnimationTime(float); 10528 bool SetAttribute(const String&, const Variant&); 10529 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 10530 void SetAttributeAnimationSpeed(const String&, float); 10531 void SetAttributeAnimationTime(const String&, float); 10532 void SetAttributeAnimationWrapMode(const String&, WrapMode); 10533 void SetDeepEnabled(bool); 10534 void SetEnabledRecursive(bool); 10535 void SetFixedHeight(int); 10536 void SetFixedSize(int, int); 10537 void SetFixedWidth(int); 10538 void SetInterceptNetworkUpdate(const String&, bool); 10539 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 10540 void SetMaxAnchor(float, float); 10541 void SetMaxSize(int, int); 10542 void SetMinAnchor(float, float); 10543 void SetMinSize(int, int); 10544 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 10545 void SetPivot(float, float); 10546 void SetPosition(int, int); 10547 void SetScrollBarsVisible(bool, bool); 10548 void SetSize(int, int); 10549 bool SetStyle(const String&, XMLFile = null); 10550 bool SetStyle(const XMLElement&); 10551 bool SetStyleAuto(XMLFile = null); 10552 void SetViewPosition(int, int); 10553 void UpdateLayout(); 10554 const Variant& GetVar(const StringHash&); 10555 10556 // Properties: 10557 bool animationEnabled; 10558 /* readonly */ 10559 Array<Variant> attributeDefaults; 10560 /* readonly */ 10561 Array<AttributeInfo> attributeInfos; 10562 Array<Variant> attributes; 10563 bool autoDisableChildren; 10564 float autoDisableThreshold; 10565 bool bringToBack; 10566 bool bringToFront; 10567 /* readonly */ 10568 String category; 10569 /* readonly */ 10570 IntVector2 childOffset; 10571 /* readonly */ 10572 Array<UIElement> children; 10573 IntRect clipBorder; 10574 bool clipChildren; 10575 /* writeonly */ 10576 Color color; 10577 /* readonly */ 10578 bool colorGradient; 10579 Array<Color> colors; 10580 /* readonly */ 10581 IntRect combinedScreenRect; 10582 UIElement contentElement; 10583 XMLFile defaultStyle; 10584 /* readonly */ 10585 float derivedOpacity; 10586 /* readonly */ 10587 uint dragButtonCombo; 10588 /* readonly */ 10589 int dragButtonCount; 10590 uint dragDropMode; 10591 bool editable; 10592 bool elementEventSender; 10593 bool enableAnchor; 10594 bool enabled; 10595 /* readonly */ 10596 bool enabledSelf; 10597 /* readonly */ 10598 bool fixedHeight; 10599 /* readonly */ 10600 bool fixedSize; 10601 /* readonly */ 10602 bool fixedWidth; 10603 bool focus; 10604 FocusMode focusMode; 10605 int height; 10606 HorizontalAlignment horizontalAlignment; 10607 /* readonly */ 10608 ScrollBar horizontalScrollBar; 10609 /* readonly */ 10610 bool hovering; 10611 int indent; 10612 int indentSpacing; 10613 /* readonly */ 10614 int indentWidth; 10615 bool internal; 10616 IntRect layoutBorder; 10617 Vector2 layoutFlexScale; 10618 LayoutMode layoutMode; 10619 int layoutSpacing; 10620 Vector2 maxAnchor; 10621 int maxHeight; 10622 IntVector2 maxOffset; 10623 IntVector2 maxSize; 10624 int maxWidth; 10625 Vector2 minAnchor; 10626 int minHeight; 10627 IntVector2 minOffset; 10628 IntVector2 minSize; 10629 int minWidth; 10630 String name; 10631 /* readonly */ 10632 uint numAllChildren; 10633 /* readonly */ 10634 uint numAttributes; 10635 /* readonly */ 10636 uint numChildren; 10637 ObjectAnimation objectAnimation; 10638 float opacity; 10639 float pageStep; 10640 UIElement parent; 10641 Vector2 pivot; 10642 IntVector2 position; 10643 int priority; 10644 /* readonly */ 10645 int refs; 10646 /* readonly */ 10647 UIElement root; 10648 /* readonly */ 10649 IntVector2 screenPosition; 10650 bool scrollBarsAutoVisible; 10651 float scrollDeceleration; 10652 /* readonly */ 10653 BorderImage scrollPanel; 10654 float scrollSnapEpsilon; 10655 float scrollStep; 10656 bool selected; 10657 IntVector2 size; 10658 bool sortChildren; 10659 String style; 10660 /* readonly */ 10661 Array<String> tags; 10662 bool temporary; 10663 TraversalMode traversalMode; 10664 /* readonly */ 10665 StringHash type; 10666 /* readonly */ 10667 String typeName; 10668 bool useDerivedOpacity; 10669 /* readonly */ 10670 VariantMap vars; 10671 VerticalAlignment verticalAlignment; 10672 /* readonly */ 10673 ScrollBar verticalScrollBar; 10674 IntVector2 viewPosition; 10675 bool visible; 10676 /* readonly */ 10677 bool visibleEffective; 10678 /* readonly */ 10679 int weakRefs; 10680 int width; 10681 }; 10682 10683 class Serializable 10684 { 10685 public: 10686 // Methods: 10687 void ApplyAttributes(); 10688 Variant GetAttribute(const String&) const; 10689 Variant GetAttributeDefault(const String&) const; 10690 bool GetInterceptNetworkUpdate(const String&) const; 10691 bool HasSubscribedToEvent(Object, const String&); 10692 bool HasSubscribedToEvent(const String&); 10693 bool Load(File, bool = false); 10694 bool Load(VectorBuffer&, bool = false); 10695 bool LoadJSON(const JSONValue&, bool = false); 10696 bool LoadXML(const XMLElement&, bool = false); 10697 void MarkNetworkUpdate() const; 10698 void RemoveInstanceDefault(); 10699 void ResetToDefault(); 10700 bool Save(File) const; 10701 bool Save(VectorBuffer&) const; 10702 bool SaveJSON(JSONValue&) const; 10703 bool SaveXML(XMLElement&) const; 10704 void SendEvent(const String&, VariantMap& = VariantMap ( )); 10705 bool SetAttribute(const String&, const Variant&); 10706 void SetInterceptNetworkUpdate(const String&, bool); 10707 10708 // Properties: 10709 /* readonly */ 10710 Array<Variant> attributeDefaults; 10711 /* readonly */ 10712 Array<AttributeInfo> attributeInfos; 10713 Array<Variant> attributes; 10714 /* readonly */ 10715 String category; 10716 /* readonly */ 10717 uint numAttributes; 10718 /* readonly */ 10719 int refs; 10720 bool temporary; 10721 /* readonly */ 10722 StringHash type; 10723 /* readonly */ 10724 String typeName; 10725 /* readonly */ 10726 int weakRefs; 10727 }; 10728 10729 class Serializer 10730 { 10731 public: 10732 // Methods: 10733 uint Write(Array<uint8>); 10734 bool WriteBool(bool); 10735 bool WriteBoundingBox(const BoundingBox&); 10736 bool WriteByte(int8); 10737 bool WriteColor(const Color&); 10738 bool WriteDouble(double); 10739 bool WriteFileID(const String&); 10740 bool WriteFloat(float); 10741 bool WriteInt(int); 10742 bool WriteInt64(int64); 10743 bool WriteIntRect(const IntRect&); 10744 bool WriteIntVector2(const IntVector2&); 10745 bool WriteLine(const String&); 10746 bool WriteMatrix3(const Matrix3&); 10747 bool WriteMatrix3x4(const Matrix3x4&); 10748 bool WriteMatrix4(const Matrix4&); 10749 bool WriteNetID(uint); 10750 bool WritePackedQuaternion(const Quaternion&); 10751 bool WritePackedVector3(const Vector3&, float); 10752 bool WriteQuaternion(const Quaternion&); 10753 bool WriteShort(int16); 10754 bool WriteString(const String&); 10755 bool WriteStringHash(const StringHash&); 10756 bool WriteUByte(uint8); 10757 bool WriteUInt(uint); 10758 bool WriteUInt64(uint64); 10759 bool WriteUShort(uint16); 10760 bool WriteVLE(uint); 10761 bool WriteVariant(const Variant&); 10762 bool WriteVariantMap(const VariantMap&); 10763 bool WriteVector2(const Vector2&); 10764 bool WriteVector3(const Vector3&); 10765 bool WriteVector4(const Vector4&); 10766 bool WriteVectorBuffer(const VectorBuffer&); 10767 }; 10768 10769 class Skeleton 10770 { 10771 public: 10772 // Methods: 10773 Bone GetBone(const String&) const; 10774 void Reset(); 10775 10776 // Properties: 10777 /* readonly */ 10778 Array<Bone> bones; 10779 /* readonly */ 10780 uint numBones; 10781 /* readonly */ 10782 Bone rootBone; 10783 }; 10784 10785 class Skybox 10786 { 10787 public: 10788 // Methods: 10789 void ApplyAttributes(); 10790 void ApplyMaterialList(const String& = String ( )); 10791 void DrawDebugGeometry(DebugRenderer, bool); 10792 Variant GetAttribute(const String&) const; 10793 ValueAnimation GetAttributeAnimation(const String&) const; 10794 float GetAttributeAnimationSpeed(const String&) const; 10795 float GetAttributeAnimationTime(const String&) const; 10796 WrapMode GetAttributeAnimationWrapMode(const String&) const; 10797 Variant GetAttributeDefault(const String&) const; 10798 bool GetInterceptNetworkUpdate(const String&) const; 10799 bool HasSubscribedToEvent(Object, const String&); 10800 bool HasSubscribedToEvent(const String&); 10801 bool IsInView(Camera) const; 10802 bool Load(File, bool = false); 10803 bool Load(VectorBuffer&, bool = false); 10804 bool LoadJSON(const JSONValue&, bool = false); 10805 bool LoadXML(const XMLElement&, bool = false); 10806 void MarkNetworkUpdate() const; 10807 void Remove(); 10808 void RemoveAttributeAnimation(const String&); 10809 void RemoveInstanceDefault(); 10810 void RemoveObjectAnimation(); 10811 void ResetToDefault(); 10812 bool Save(File) const; 10813 bool Save(VectorBuffer&) const; 10814 bool SaveJSON(JSONValue&) const; 10815 bool SaveXML(XMLElement&) const; 10816 void SendEvent(const String&, VariantMap& = VariantMap ( )); 10817 void SetAnimationTime(float); 10818 bool SetAttribute(const String&, const Variant&); 10819 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 10820 void SetAttributeAnimationSpeed(const String&, float); 10821 void SetAttributeAnimationTime(const String&, float); 10822 void SetAttributeAnimationWrapMode(const String&, WrapMode); 10823 void SetInterceptNetworkUpdate(const String&, bool); 10824 10825 // Properties: 10826 bool animationEnabled; 10827 /* readonly */ 10828 Array<Variant> attributeDefaults; 10829 /* readonly */ 10830 Array<AttributeInfo> attributeInfos; 10831 Array<Variant> attributes; 10832 /* readonly */ 10833 BoundingBox boundingBox; 10834 bool castShadows; 10835 /* readonly */ 10836 String category; 10837 float drawDistance; 10838 bool enabled; 10839 /* readonly */ 10840 bool enabledEffective; 10841 /* readonly */ 10842 uint id; 10843 /* readonly */ 10844 bool inView; 10845 uint lightMask; 10846 float lodBias; 10847 /* writeonly */ 10848 Material material; 10849 Array<Material> materials; 10850 uint maxLights; 10851 Model model; 10852 /* readonly */ 10853 Node node; 10854 /* readonly */ 10855 uint numAttributes; 10856 /* readonly */ 10857 uint numGeometries; 10858 ObjectAnimation objectAnimation; 10859 bool occludee; 10860 bool occluder; 10861 /* readonly */ 10862 int refs; 10863 float shadowDistance; 10864 uint shadowMask; 10865 bool temporary; 10866 /* readonly */ 10867 StringHash type; 10868 /* readonly */ 10869 String typeName; 10870 uint viewMask; 10871 /* readonly */ 10872 int weakRefs; 10873 /* readonly */ 10874 BoundingBox worldBoundingBox; 10875 /* readonly */ 10876 Zone zone; 10877 uint zoneMask; 10878 }; 10879 10880 class Slider 10881 { 10882 public: 10883 Slider(); 10884 Slider(const String&in); 10885 // Methods: 10886 void AddChild(UIElement); 10887 void AddTag(const String&); 10888 void AddTags(const String&, int8 = ';'); 10889 void ApplyAttributes(); 10890 void BringToFront(); 10891 void ChangeValue(float); 10892 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 10893 void DisableLayoutUpdate(); 10894 IntVector2 ElementToScreen(const IntVector2&); 10895 void EnableLayoutUpdate(); 10896 uint FindChild(UIElement) const; 10897 Variant GetAttribute(const String&) const; 10898 ValueAnimation GetAttributeAnimation(const String&) const; 10899 float GetAttributeAnimationSpeed(const String&) const; 10900 float GetAttributeAnimationTime(const String&) const; 10901 WrapMode GetAttributeAnimationWrapMode(const String&) const; 10902 Variant GetAttributeDefault(const String&) const; 10903 UIElement GetChild(const String&, bool = false) const; 10904 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 10905 Array<UIElement> GetChildren(bool = false) const; 10906 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 10907 UIElement GetElementEventSender() const; 10908 bool GetInterceptNetworkUpdate(const String&) const; 10909 uint GetNumChildren(bool) const; 10910 bool HasSubscribedToEvent(Object, const String&); 10911 bool HasSubscribedToEvent(const String&); 10912 bool HasTag(const String&) const; 10913 void InsertChild(uint, UIElement); 10914 bool IsInside(IntVector2, bool); 10915 bool IsInsideCombined(IntVector2, bool); 10916 bool Load(File, bool = false); 10917 bool Load(VectorBuffer&, bool = false); 10918 UIElement LoadChildXML(XMLFile, XMLFile = null); 10919 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 10920 bool LoadJSON(const JSONValue&, bool = false); 10921 bool LoadXML(File); 10922 bool LoadXML(VectorBuffer&); 10923 bool LoadXML(XMLFile, XMLFile); 10924 bool LoadXML(const XMLElement&, XMLFile, bool = false); 10925 bool LoadXML(const XMLElement&, bool = false); 10926 void MarkNetworkUpdate() const; 10927 void Remove(); 10928 void RemoveAllChildren(); 10929 void RemoveAllTags(); 10930 void RemoveAttributeAnimation(const String&); 10931 void RemoveChild(UIElement, uint = 0); 10932 void RemoveChild(uint); 10933 void RemoveInstanceDefault(); 10934 void RemoveObjectAnimation(); 10935 bool RemoveTag(const String&); 10936 void ResetDeepEnabled(); 10937 void ResetToDefault(); 10938 bool Save(File) const; 10939 bool Save(VectorBuffer&) const; 10940 bool SaveJSON(JSONValue&) const; 10941 bool SaveXML(File, const String& = "\t"); 10942 bool SaveXML(VectorBuffer&, const String& = "\t"); 10943 bool SaveXML(XMLElement&) const; 10944 IntVector2 ScreenToElement(const IntVector2&); 10945 void SendEvent(const String&, VariantMap& = VariantMap ( )); 10946 void SetAlignment(HorizontalAlignment, VerticalAlignment); 10947 void SetAnimationTime(float); 10948 bool SetAttribute(const String&, const Variant&); 10949 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 10950 void SetAttributeAnimationSpeed(const String&, float); 10951 void SetAttributeAnimationTime(const String&, float); 10952 void SetAttributeAnimationWrapMode(const String&, WrapMode); 10953 void SetDeepEnabled(bool); 10954 void SetEnabledRecursive(bool); 10955 void SetFixedHeight(int); 10956 void SetFixedSize(int, int); 10957 void SetFixedWidth(int); 10958 void SetFullImageRect(); 10959 void SetHoverOffset(int, int); 10960 void SetInterceptNetworkUpdate(const String&, bool); 10961 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 10962 void SetMaxAnchor(float, float); 10963 void SetMaxSize(int, int); 10964 void SetMinAnchor(float, float); 10965 void SetMinSize(int, int); 10966 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 10967 void SetPivot(float, float); 10968 void SetPosition(int, int); 10969 void SetSize(int, int); 10970 bool SetStyle(const String&, XMLFile = null); 10971 bool SetStyle(const XMLElement&); 10972 bool SetStyleAuto(XMLFile = null); 10973 void UpdateLayout(); 10974 const Variant& GetVar(const StringHash&); 10975 10976 // Properties: 10977 bool animationEnabled; 10978 /* readonly */ 10979 Array<Variant> attributeDefaults; 10980 /* readonly */ 10981 Array<AttributeInfo> attributeInfos; 10982 Array<Variant> attributes; 10983 BlendMode blendMode; 10984 IntRect border; 10985 bool bringToBack; 10986 bool bringToFront; 10987 /* readonly */ 10988 String category; 10989 /* readonly */ 10990 IntVector2 childOffset; 10991 /* readonly */ 10992 Array<UIElement> children; 10993 IntRect clipBorder; 10994 bool clipChildren; 10995 /* writeonly */ 10996 Color color; 10997 /* readonly */ 10998 bool colorGradient; 10999 Array<Color> colors; 11000 /* readonly */ 11001 IntRect combinedScreenRect; 11002 XMLFile defaultStyle; 11003 /* readonly */ 11004 float derivedOpacity; 11005 /* readonly */ 11006 uint dragButtonCombo; 11007 /* readonly */ 11008 int dragButtonCount; 11009 uint dragDropMode; 11010 bool editable; 11011 bool elementEventSender; 11012 bool enableAnchor; 11013 bool enabled; 11014 /* readonly */ 11015 bool enabledSelf; 11016 /* readonly */ 11017 bool fixedHeight; 11018 /* readonly */ 11019 bool fixedSize; 11020 /* readonly */ 11021 bool fixedWidth; 11022 bool focus; 11023 FocusMode focusMode; 11024 int height; 11025 HorizontalAlignment horizontalAlignment; 11026 IntVector2 hoverOffset; 11027 /* readonly */ 11028 bool hovering; 11029 IntRect imageBorder; 11030 IntRect imageRect; 11031 int indent; 11032 int indentSpacing; 11033 /* readonly */ 11034 int indentWidth; 11035 bool internal; 11036 /* readonly */ 11037 BorderImage knob; 11038 IntRect layoutBorder; 11039 Vector2 layoutFlexScale; 11040 LayoutMode layoutMode; 11041 int layoutSpacing; 11042 Vector2 maxAnchor; 11043 int maxHeight; 11044 IntVector2 maxOffset; 11045 IntVector2 maxSize; 11046 int maxWidth; 11047 Vector2 minAnchor; 11048 int minHeight; 11049 IntVector2 minOffset; 11050 IntVector2 minSize; 11051 int minWidth; 11052 String name; 11053 /* readonly */ 11054 uint numAllChildren; 11055 /* readonly */ 11056 uint numAttributes; 11057 /* readonly */ 11058 uint numChildren; 11059 ObjectAnimation objectAnimation; 11060 float opacity; 11061 Orientation orientation; 11062 UIElement parent; 11063 Vector2 pivot; 11064 IntVector2 position; 11065 int priority; 11066 float range; 11067 /* readonly */ 11068 int refs; 11069 float repeatRate; 11070 /* readonly */ 11071 UIElement root; 11072 /* readonly */ 11073 IntVector2 screenPosition; 11074 bool selected; 11075 IntVector2 size; 11076 bool sortChildren; 11077 String style; 11078 /* readonly */ 11079 Array<String> tags; 11080 bool temporary; 11081 Texture texture; 11082 bool tiled; 11083 TraversalMode traversalMode; 11084 /* readonly */ 11085 StringHash type; 11086 /* readonly */ 11087 String typeName; 11088 bool useDerivedOpacity; 11089 float value; 11090 /* readonly */ 11091 VariantMap vars; 11092 VerticalAlignment verticalAlignment; 11093 bool visible; 11094 /* readonly */ 11095 bool visibleEffective; 11096 /* readonly */ 11097 int weakRefs; 11098 int width; 11099 }; 11100 11101 class SmoothedTransform 11102 { 11103 public: 11104 // Methods: 11105 void ApplyAttributes(); 11106 void DrawDebugGeometry(DebugRenderer, bool); 11107 Variant GetAttribute(const String&) const; 11108 ValueAnimation GetAttributeAnimation(const String&) const; 11109 float GetAttributeAnimationSpeed(const String&) const; 11110 float GetAttributeAnimationTime(const String&) const; 11111 WrapMode GetAttributeAnimationWrapMode(const String&) const; 11112 Variant GetAttributeDefault(const String&) const; 11113 bool GetInterceptNetworkUpdate(const String&) const; 11114 bool HasSubscribedToEvent(Object, const String&); 11115 bool HasSubscribedToEvent(const String&); 11116 bool Load(File, bool = false); 11117 bool Load(VectorBuffer&, bool = false); 11118 bool LoadJSON(const JSONValue&, bool = false); 11119 bool LoadXML(const XMLElement&, bool = false); 11120 void MarkNetworkUpdate() const; 11121 void Remove(); 11122 void RemoveAttributeAnimation(const String&); 11123 void RemoveInstanceDefault(); 11124 void RemoveObjectAnimation(); 11125 void ResetToDefault(); 11126 bool Save(File) const; 11127 bool Save(VectorBuffer&) const; 11128 bool SaveJSON(JSONValue&) const; 11129 bool SaveXML(XMLElement&) const; 11130 void SendEvent(const String&, VariantMap& = VariantMap ( )); 11131 void SetAnimationTime(float); 11132 bool SetAttribute(const String&, const Variant&); 11133 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 11134 void SetAttributeAnimationSpeed(const String&, float); 11135 void SetAttributeAnimationTime(const String&, float); 11136 void SetAttributeAnimationWrapMode(const String&, WrapMode); 11137 void SetInterceptNetworkUpdate(const String&, bool); 11138 void Update(float, float); 11139 11140 // Properties: 11141 bool animationEnabled; 11142 /* readonly */ 11143 Array<Variant> attributeDefaults; 11144 /* readonly */ 11145 Array<AttributeInfo> attributeInfos; 11146 Array<Variant> attributes; 11147 /* readonly */ 11148 String category; 11149 bool enabled; 11150 /* readonly */ 11151 bool enabledEffective; 11152 /* readonly */ 11153 uint id; 11154 /* readonly */ 11155 bool inProgress; 11156 /* readonly */ 11157 Node node; 11158 /* readonly */ 11159 uint numAttributes; 11160 ObjectAnimation objectAnimation; 11161 /* readonly */ 11162 int refs; 11163 Vector3 targetPosition; 11164 Quaternion targetRotation; 11165 Vector3 targetWorldPosition; 11166 Quaternion targetWorldRotation; 11167 bool temporary; 11168 /* readonly */ 11169 StringHash type; 11170 /* readonly */ 11171 String typeName; 11172 /* readonly */ 11173 int weakRefs; 11174 }; 11175 11176 class Sound 11177 { 11178 public: 11179 Sound(); 11180 Sound(const String&in); 11181 // Methods: 11182 void AddMetadata(const String&, const Variant&); 11183 bool HasSubscribedToEvent(Object, const String&); 11184 bool HasSubscribedToEvent(const String&); 11185 bool Load(File); 11186 bool Load(VectorBuffer&); 11187 bool Load(const String&); 11188 void RemoveAllMetadata(); 11189 void RemoveMetadata(const String&); 11190 bool Save(File) const; 11191 bool Save(VectorBuffer&) const; 11192 bool Save(const String&) const; 11193 void SendEvent(const String&, VariantMap& = VariantMap ( )); 11194 11195 // Properties: 11196 /* readonly */ 11197 String category; 11198 /* readonly */ 11199 bool compressed; 11200 /* readonly */ 11201 float frequency; 11202 /* readonly */ 11203 bool hasMetadata; 11204 /* readonly */ 11205 float length; 11206 bool looped; 11207 /* readonly */ 11208 uint memoryUse; 11209 Array<Variant> metadata; 11210 String name; 11211 /* readonly */ 11212 int refs; 11213 /* readonly */ 11214 uint sampleSize; 11215 /* readonly */ 11216 bool sixteenBit; 11217 /* readonly */ 11218 bool stereo; 11219 /* readonly */ 11220 StringHash type; 11221 /* readonly */ 11222 String typeName; 11223 /* readonly */ 11224 uint useTimer; 11225 /* readonly */ 11226 int weakRefs; 11227 }; 11228 11229 class SoundListener 11230 { 11231 public: 11232 // Methods: 11233 void ApplyAttributes(); 11234 void DrawDebugGeometry(DebugRenderer, bool); 11235 Variant GetAttribute(const String&) const; 11236 ValueAnimation GetAttributeAnimation(const String&) const; 11237 float GetAttributeAnimationSpeed(const String&) const; 11238 float GetAttributeAnimationTime(const String&) const; 11239 WrapMode GetAttributeAnimationWrapMode(const String&) const; 11240 Variant GetAttributeDefault(const String&) const; 11241 bool GetInterceptNetworkUpdate(const String&) const; 11242 bool HasSubscribedToEvent(Object, const String&); 11243 bool HasSubscribedToEvent(const String&); 11244 bool Load(File, bool = false); 11245 bool Load(VectorBuffer&, bool = false); 11246 bool LoadJSON(const JSONValue&, bool = false); 11247 bool LoadXML(const XMLElement&, bool = false); 11248 void MarkNetworkUpdate() const; 11249 void Remove(); 11250 void RemoveAttributeAnimation(const String&); 11251 void RemoveInstanceDefault(); 11252 void RemoveObjectAnimation(); 11253 void ResetToDefault(); 11254 bool Save(File) const; 11255 bool Save(VectorBuffer&) const; 11256 bool SaveJSON(JSONValue&) const; 11257 bool SaveXML(XMLElement&) const; 11258 void SendEvent(const String&, VariantMap& = VariantMap ( )); 11259 void SetAnimationTime(float); 11260 bool SetAttribute(const String&, const Variant&); 11261 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 11262 void SetAttributeAnimationSpeed(const String&, float); 11263 void SetAttributeAnimationTime(const String&, float); 11264 void SetAttributeAnimationWrapMode(const String&, WrapMode); 11265 void SetInterceptNetworkUpdate(const String&, bool); 11266 11267 // Properties: 11268 bool animationEnabled; 11269 /* readonly */ 11270 Array<Variant> attributeDefaults; 11271 /* readonly */ 11272 Array<AttributeInfo> attributeInfos; 11273 Array<Variant> attributes; 11274 /* readonly */ 11275 String category; 11276 bool enabled; 11277 /* readonly */ 11278 bool enabledEffective; 11279 /* readonly */ 11280 uint id; 11281 /* readonly */ 11282 Node node; 11283 /* readonly */ 11284 uint numAttributes; 11285 ObjectAnimation objectAnimation; 11286 /* readonly */ 11287 int refs; 11288 bool temporary; 11289 /* readonly */ 11290 StringHash type; 11291 /* readonly */ 11292 String typeName; 11293 /* readonly */ 11294 int weakRefs; 11295 }; 11296 11297 class SoundSource 11298 { 11299 public: 11300 SoundSource(); 11301 // Methods: 11302 void ApplyAttributes(); 11303 void DrawDebugGeometry(DebugRenderer, bool); 11304 Variant GetAttribute(const String&) const; 11305 ValueAnimation GetAttributeAnimation(const String&) const; 11306 float GetAttributeAnimationSpeed(const String&) const; 11307 float GetAttributeAnimationTime(const String&) const; 11308 WrapMode GetAttributeAnimationWrapMode(const String&) const; 11309 Variant GetAttributeDefault(const String&) const; 11310 bool GetInterceptNetworkUpdate(const String&) const; 11311 bool HasSubscribedToEvent(Object, const String&); 11312 bool HasSubscribedToEvent(const String&); 11313 bool Load(File, bool = false); 11314 bool Load(VectorBuffer&, bool = false); 11315 bool LoadJSON(const JSONValue&, bool = false); 11316 bool LoadXML(const XMLElement&, bool = false); 11317 void MarkNetworkUpdate() const; 11318 void Play(Sound); 11319 void Play(Sound, float); 11320 void Play(Sound, float, float); 11321 void Play(Sound, float, float, float); 11322 void Remove(); 11323 void RemoveAttributeAnimation(const String&); 11324 void RemoveInstanceDefault(); 11325 void RemoveObjectAnimation(); 11326 void ResetToDefault(); 11327 bool Save(File) const; 11328 bool Save(VectorBuffer&) const; 11329 bool SaveJSON(JSONValue&) const; 11330 bool SaveXML(XMLElement&) const; 11331 void Seek(float); 11332 void SendEvent(const String&, VariantMap& = VariantMap ( )); 11333 void SetAnimationTime(float); 11334 bool SetAttribute(const String&, const Variant&); 11335 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 11336 void SetAttributeAnimationSpeed(const String&, float); 11337 void SetAttributeAnimationTime(const String&, float); 11338 void SetAttributeAnimationWrapMode(const String&, WrapMode); 11339 void SetInterceptNetworkUpdate(const String&, bool); 11340 void Stop(); 11341 11342 // Properties: 11343 bool animationEnabled; 11344 /* readonly */ 11345 float attenuation; 11346 /* readonly */ 11347 Array<Variant> attributeDefaults; 11348 /* readonly */ 11349 Array<AttributeInfo> attributeInfos; 11350 Array<Variant> attributes; 11351 AutoRemoveMode autoRemoveMode; 11352 /* readonly */ 11353 String category; 11354 bool enabled; 11355 /* readonly */ 11356 bool enabledEffective; 11357 float frequency; 11358 float gain; 11359 /* readonly */ 11360 uint id; 11361 /* readonly */ 11362 Node node; 11363 /* readonly */ 11364 uint numAttributes; 11365 ObjectAnimation objectAnimation; 11366 float panning; 11367 /* readonly */ 11368 bool playing; 11369 /* readonly */ 11370 int refs; 11371 /* readonly */ 11372 Sound sound; 11373 String soundType; 11374 bool temporary; 11375 /* readonly */ 11376 float timePosition; 11377 /* readonly */ 11378 StringHash type; 11379 /* readonly */ 11380 String typeName; 11381 /* readonly */ 11382 int weakRefs; 11383 }; 11384 11385 class SoundSource3D 11386 { 11387 public: 11388 // Methods: 11389 void ApplyAttributes(); 11390 void DrawDebugGeometry(DebugRenderer, bool); 11391 Variant GetAttribute(const String&) const; 11392 ValueAnimation GetAttributeAnimation(const String&) const; 11393 float GetAttributeAnimationSpeed(const String&) const; 11394 float GetAttributeAnimationTime(const String&) const; 11395 WrapMode GetAttributeAnimationWrapMode(const String&) const; 11396 Variant GetAttributeDefault(const String&) const; 11397 bool GetInterceptNetworkUpdate(const String&) const; 11398 bool HasSubscribedToEvent(Object, const String&); 11399 bool HasSubscribedToEvent(const String&); 11400 bool Load(File, bool = false); 11401 bool Load(VectorBuffer&, bool = false); 11402 bool LoadJSON(const JSONValue&, bool = false); 11403 bool LoadXML(const XMLElement&, bool = false); 11404 void MarkNetworkUpdate() const; 11405 void Play(Sound); 11406 void Play(Sound, float); 11407 void Play(Sound, float, float); 11408 void Play(Sound, float, float, float); 11409 void Remove(); 11410 void RemoveAttributeAnimation(const String&); 11411 void RemoveInstanceDefault(); 11412 void RemoveObjectAnimation(); 11413 void ResetToDefault(); 11414 bool Save(File) const; 11415 bool Save(VectorBuffer&) const; 11416 bool SaveJSON(JSONValue&) const; 11417 bool SaveXML(XMLElement&) const; 11418 void Seek(float); 11419 void SendEvent(const String&, VariantMap& = VariantMap ( )); 11420 void SetAngleAttenuation(float, float); 11421 void SetAnimationTime(float); 11422 bool SetAttribute(const String&, const Variant&); 11423 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 11424 void SetAttributeAnimationSpeed(const String&, float); 11425 void SetAttributeAnimationTime(const String&, float); 11426 void SetAttributeAnimationWrapMode(const String&, WrapMode); 11427 void SetDistanceAttenuation(float, float, float); 11428 void SetInterceptNetworkUpdate(const String&, bool); 11429 void Stop(); 11430 11431 // Properties: 11432 bool animationEnabled; 11433 /* readonly */ 11434 float attenuation; 11435 /* readonly */ 11436 Array<Variant> attributeDefaults; 11437 /* readonly */ 11438 Array<AttributeInfo> attributeInfos; 11439 Array<Variant> attributes; 11440 AutoRemoveMode autoRemoveMode; 11441 /* readonly */ 11442 String category; 11443 bool enabled; 11444 /* readonly */ 11445 bool enabledEffective; 11446 float farDistance; 11447 float frequency; 11448 float gain; 11449 /* readonly */ 11450 uint id; 11451 float innerAngle; 11452 float nearDistance; 11453 /* readonly */ 11454 Node node; 11455 /* readonly */ 11456 uint numAttributes; 11457 ObjectAnimation objectAnimation; 11458 float outerAngle; 11459 float panning; 11460 /* readonly */ 11461 bool playing; 11462 /* readonly */ 11463 int refs; 11464 float rolloffFactor; 11465 /* readonly */ 11466 Sound sound; 11467 String soundType; 11468 bool temporary; 11469 /* readonly */ 11470 float timePosition; 11471 /* readonly */ 11472 StringHash type; 11473 /* readonly */ 11474 String typeName; 11475 /* readonly */ 11476 int weakRefs; 11477 }; 11478 11479 class Sphere 11480 { 11481 public: 11482 Sphere(); 11483 Sphere(const Sphere&in); 11484 Sphere(const Vector3&in, float); 11485 Sphere(const BoundingBox&in); 11486 Sphere(const Frustum&in); 11487 Sphere(const Polyhedron&in); 11488 // Methods: 11489 void Clear(); 11490 void Define(const BoundingBox&); 11491 void Define(const Frustum&); 11492 void Define(const Polyhedron&); 11493 void Define(const Sphere&); 11494 void Define(const Vector3&, float); 11495 bool Defined() const; 11496 float Distance(const Vector3&) const; 11497 Vector3 GetLocalPoint(float, float) const; 11498 Vector3 GetPoint(float, float) const; 11499 Intersection IsInside(const BoundingBox&) const; 11500 Intersection IsInside(const Sphere&) const; 11501 Intersection IsInside(const Vector3&) const; 11502 Intersection IsInsideFast(const BoundingBox&) const; 11503 Intersection IsInsideFast(const Sphere&) const; 11504 void Merge(const BoundingBox&); 11505 void Merge(const Frustum&); 11506 void Merge(const Sphere&); 11507 void Merge(const Vector3&); 11508 11509 // Properties: 11510 Vector3 center; 11511 float radius; 11512 }; 11513 11514 class Spline 11515 { 11516 public: 11517 Spline(); 11518 Spline(InterpolationMode); 11519 Spline(Variant[]@, InterpolationMode = BEZIER_CURVE); 11520 Spline(const Spline&in); 11521 // Methods: 11522 void AddKnot(const Variant&); 11523 void AddKnot(const Variant&, uint); 11524 void Clear(); 11525 Variant GetPoint(float); 11526 void RemoveKnot(); 11527 void RemoveKnot(uint); 11528 11529 // Properties: 11530 InterpolationMode interpolationMode; 11531 Array<Variant> knot; 11532 Array<Variant> knots; 11533 }; 11534 11535 class SplinePath 11536 { 11537 public: 11538 // Methods: 11539 void AddControlPoint(Node, uint = M_MAX_UNSIGNED); 11540 void ApplyAttributes(); 11541 void ClearControlPoints(); 11542 void DrawDebugGeometry(DebugRenderer, bool); 11543 Variant GetAttribute(const String&) const; 11544 ValueAnimation GetAttributeAnimation(const String&) const; 11545 float GetAttributeAnimationSpeed(const String&) const; 11546 float GetAttributeAnimationTime(const String&) const; 11547 WrapMode GetAttributeAnimationWrapMode(const String&) const; 11548 Variant GetAttributeDefault(const String&) const; 11549 bool GetInterceptNetworkUpdate(const String&) const; 11550 Vector3 GetPoint(float) const; 11551 Vector3 GetPosition() const; 11552 bool HasSubscribedToEvent(Object, const String&); 11553 bool HasSubscribedToEvent(const String&); 11554 bool Load(File, bool = false); 11555 bool Load(VectorBuffer&, bool = false); 11556 bool LoadJSON(const JSONValue&, bool = false); 11557 bool LoadXML(const XMLElement&, bool = false); 11558 void MarkNetworkUpdate() const; 11559 void Move(float); 11560 void Remove(); 11561 void RemoveAttributeAnimation(const String&); 11562 void RemoveControlPoint(Node); 11563 void RemoveInstanceDefault(); 11564 void RemoveObjectAnimation(); 11565 void Reset(); 11566 void ResetToDefault(); 11567 bool Save(File) const; 11568 bool Save(VectorBuffer&) const; 11569 bool SaveJSON(JSONValue&) const; 11570 bool SaveXML(XMLElement&) const; 11571 void SendEvent(const String&, VariantMap& = VariantMap ( )); 11572 void SetAnimationTime(float); 11573 bool SetAttribute(const String&, const Variant&); 11574 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 11575 void SetAttributeAnimationSpeed(const String&, float); 11576 void SetAttributeAnimationTime(const String&, float); 11577 void SetAttributeAnimationWrapMode(const String&, WrapMode); 11578 void SetInterceptNetworkUpdate(const String&, bool); 11579 void SetPosition(float); 11580 11581 // Properties: 11582 bool animationEnabled; 11583 /* readonly */ 11584 Array<Variant> attributeDefaults; 11585 /* readonly */ 11586 Array<AttributeInfo> attributeInfos; 11587 Array<Variant> attributes; 11588 /* readonly */ 11589 String category; 11590 Node controlledNode; 11591 bool enabled; 11592 /* readonly */ 11593 bool enabledEffective; 11594 /* readonly */ 11595 uint id; 11596 InterpolationMode interpolationMode; 11597 /* readonly */ 11598 bool isFinished; 11599 /* readonly */ 11600 float length; 11601 /* readonly */ 11602 Node node; 11603 /* readonly */ 11604 uint numAttributes; 11605 ObjectAnimation objectAnimation; 11606 /* readonly */ 11607 int refs; 11608 float speed; 11609 bool temporary; 11610 /* readonly */ 11611 StringHash type; 11612 /* readonly */ 11613 String typeName; 11614 /* readonly */ 11615 int weakRefs; 11616 }; 11617 11618 class Sprite 11619 { 11620 public: 11621 Sprite(); 11622 Sprite(const String&in); 11623 // Methods: 11624 void AddChild(UIElement); 11625 void AddTag(const String&); 11626 void AddTags(const String&, int8 = ';'); 11627 void ApplyAttributes(); 11628 void BringToFront(); 11629 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 11630 void DisableLayoutUpdate(); 11631 IntVector2 ElementToScreen(const IntVector2&); 11632 void EnableLayoutUpdate(); 11633 uint FindChild(UIElement) const; 11634 Variant GetAttribute(const String&) const; 11635 ValueAnimation GetAttributeAnimation(const String&) const; 11636 float GetAttributeAnimationSpeed(const String&) const; 11637 float GetAttributeAnimationTime(const String&) const; 11638 WrapMode GetAttributeAnimationWrapMode(const String&) const; 11639 Variant GetAttributeDefault(const String&) const; 11640 UIElement GetChild(const String&, bool = false) const; 11641 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 11642 Array<UIElement> GetChildren(bool = false) const; 11643 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 11644 UIElement GetElementEventSender() const; 11645 bool GetInterceptNetworkUpdate(const String&) const; 11646 uint GetNumChildren(bool) const; 11647 bool HasSubscribedToEvent(Object, const String&); 11648 bool HasSubscribedToEvent(const String&); 11649 bool HasTag(const String&) const; 11650 void InsertChild(uint, UIElement); 11651 bool IsInside(IntVector2, bool); 11652 bool IsInsideCombined(IntVector2, bool); 11653 bool Load(File, bool = false); 11654 bool Load(VectorBuffer&, bool = false); 11655 UIElement LoadChildXML(XMLFile, XMLFile = null); 11656 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 11657 bool LoadJSON(const JSONValue&, bool = false); 11658 bool LoadXML(File); 11659 bool LoadXML(VectorBuffer&); 11660 bool LoadXML(XMLFile, XMLFile); 11661 bool LoadXML(const XMLElement&, XMLFile, bool = false); 11662 bool LoadXML(const XMLElement&, bool = false); 11663 void MarkNetworkUpdate() const; 11664 void Remove(); 11665 void RemoveAllChildren(); 11666 void RemoveAllTags(); 11667 void RemoveAttributeAnimation(const String&); 11668 void RemoveChild(UIElement, uint = 0); 11669 void RemoveChild(uint); 11670 void RemoveInstanceDefault(); 11671 void RemoveObjectAnimation(); 11672 bool RemoveTag(const String&); 11673 void ResetDeepEnabled(); 11674 void ResetToDefault(); 11675 bool Save(File) const; 11676 bool Save(VectorBuffer&) const; 11677 bool SaveJSON(JSONValue&) const; 11678 bool SaveXML(File, const String& = "\t"); 11679 bool SaveXML(VectorBuffer&, const String& = "\t"); 11680 bool SaveXML(XMLElement&) const; 11681 IntVector2 ScreenToElement(const IntVector2&); 11682 void SendEvent(const String&, VariantMap& = VariantMap ( )); 11683 void SetAlignment(HorizontalAlignment, VerticalAlignment); 11684 void SetAnimationTime(float); 11685 bool SetAttribute(const String&, const Variant&); 11686 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 11687 void SetAttributeAnimationSpeed(const String&, float); 11688 void SetAttributeAnimationTime(const String&, float); 11689 void SetAttributeAnimationWrapMode(const String&, WrapMode); 11690 void SetDeepEnabled(bool); 11691 void SetEnabledRecursive(bool); 11692 void SetFixedHeight(int); 11693 void SetFixedSize(int, int); 11694 void SetFixedWidth(int); 11695 void SetFullImageRect(); 11696 void SetHotSpot(int, int); 11697 void SetInterceptNetworkUpdate(const String&, bool); 11698 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 11699 void SetMaxAnchor(float, float); 11700 void SetMaxSize(int, int); 11701 void SetMinAnchor(float, float); 11702 void SetMinSize(int, int); 11703 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 11704 void SetPivot(float, float); 11705 void SetPosition(float, float); 11706 void SetScale(float); 11707 void SetScale(float, float); 11708 void SetSize(int, int); 11709 bool SetStyle(const String&, XMLFile = null); 11710 bool SetStyle(const XMLElement&); 11711 bool SetStyleAuto(XMLFile = null); 11712 void UpdateLayout(); 11713 const Variant& GetVar(const StringHash&); 11714 11715 // Properties: 11716 bool animationEnabled; 11717 /* readonly */ 11718 Array<Variant> attributeDefaults; 11719 /* readonly */ 11720 Array<AttributeInfo> attributeInfos; 11721 Array<Variant> attributes; 11722 BlendMode blendMode; 11723 bool bringToBack; 11724 bool bringToFront; 11725 /* readonly */ 11726 String category; 11727 /* readonly */ 11728 IntVector2 childOffset; 11729 /* readonly */ 11730 Array<UIElement> children; 11731 IntRect clipBorder; 11732 bool clipChildren; 11733 /* writeonly */ 11734 Color color; 11735 /* readonly */ 11736 bool colorGradient; 11737 Array<Color> colors; 11738 /* readonly */ 11739 IntRect combinedScreenRect; 11740 XMLFile defaultStyle; 11741 /* readonly */ 11742 float derivedOpacity; 11743 /* readonly */ 11744 uint dragButtonCombo; 11745 /* readonly */ 11746 int dragButtonCount; 11747 uint dragDropMode; 11748 bool editable; 11749 bool elementEventSender; 11750 bool enableAnchor; 11751 bool enabled; 11752 /* readonly */ 11753 bool enabledSelf; 11754 /* readonly */ 11755 bool fixedHeight; 11756 /* readonly */ 11757 bool fixedSize; 11758 /* readonly */ 11759 bool fixedWidth; 11760 bool focus; 11761 FocusMode focusMode; 11762 int height; 11763 HorizontalAlignment horizontalAlignment; 11764 IntVector2 hotSpot; 11765 /* readonly */ 11766 bool hovering; 11767 IntRect imageRect; 11768 int indent; 11769 int indentSpacing; 11770 /* readonly */ 11771 int indentWidth; 11772 bool internal; 11773 IntRect layoutBorder; 11774 Vector2 layoutFlexScale; 11775 LayoutMode layoutMode; 11776 int layoutSpacing; 11777 Vector2 maxAnchor; 11778 int maxHeight; 11779 IntVector2 maxOffset; 11780 IntVector2 maxSize; 11781 int maxWidth; 11782 Vector2 minAnchor; 11783 int minHeight; 11784 IntVector2 minOffset; 11785 IntVector2 minSize; 11786 int minWidth; 11787 String name; 11788 /* readonly */ 11789 uint numAllChildren; 11790 /* readonly */ 11791 uint numAttributes; 11792 /* readonly */ 11793 uint numChildren; 11794 ObjectAnimation objectAnimation; 11795 float opacity; 11796 UIElement parent; 11797 Vector2 pivot; 11798 Vector2 position; 11799 int priority; 11800 /* readonly */ 11801 int refs; 11802 /* readonly */ 11803 UIElement root; 11804 float rotation; 11805 Vector2 scale; 11806 /* readonly */ 11807 IntVector2 screenPosition; 11808 bool selected; 11809 IntVector2 size; 11810 bool sortChildren; 11811 String style; 11812 /* readonly */ 11813 Array<String> tags; 11814 bool temporary; 11815 Texture texture; 11816 TraversalMode traversalMode; 11817 /* readonly */ 11818 StringHash type; 11819 /* readonly */ 11820 String typeName; 11821 bool useDerivedOpacity; 11822 /* readonly */ 11823 VariantMap vars; 11824 VerticalAlignment verticalAlignment; 11825 bool visible; 11826 /* readonly */ 11827 bool visibleEffective; 11828 /* readonly */ 11829 int weakRefs; 11830 int width; 11831 }; 11832 11833 class Sprite2D 11834 { 11835 public: 11836 Sprite2D(); 11837 Sprite2D(const String&in); 11838 // Methods: 11839 bool HasSubscribedToEvent(Object, const String&); 11840 bool HasSubscribedToEvent(const String&); 11841 bool Load(File); 11842 bool Load(VectorBuffer&); 11843 bool Load(const String&); 11844 bool Save(File) const; 11845 bool Save(VectorBuffer&) const; 11846 bool Save(const String&) const; 11847 void SendEvent(const String&, VariantMap& = VariantMap ( )); 11848 11849 // Properties: 11850 /* readonly */ 11851 String category; 11852 Vector2 hotSpot; 11853 /* readonly */ 11854 uint memoryUse; 11855 String name; 11856 IntVector2 offset; 11857 IntRect rectangle; 11858 /* readonly */ 11859 int refs; 11860 Texture2D texture; 11861 float textureEdgeOffset; 11862 /* readonly */ 11863 StringHash type; 11864 /* readonly */ 11865 String typeName; 11866 /* readonly */ 11867 uint useTimer; 11868 /* readonly */ 11869 int weakRefs; 11870 }; 11871 11872 class SpriteSheet2D 11873 { 11874 public: 11875 SpriteSheet2D(); 11876 SpriteSheet2D(const String&in); 11877 // Methods: 11878 void DefineSprite(const String&, const IntRect&, const Vector2& = Vector2 ( 0.5f , 0.5f ), const IntVector2& = IntVector2 :: ZERO); 11879 Sprite2D GetSprite(const String&); 11880 bool HasSubscribedToEvent(Object, const String&); 11881 bool HasSubscribedToEvent(const String&); 11882 bool Load(File); 11883 bool Load(VectorBuffer&); 11884 bool Load(const String&); 11885 bool Save(File) const; 11886 bool Save(VectorBuffer&) const; 11887 bool Save(const String&) const; 11888 void SendEvent(const String&, VariantMap& = VariantMap ( )); 11889 11890 // Properties: 11891 /* readonly */ 11892 String category; 11893 /* readonly */ 11894 uint memoryUse; 11895 String name; 11896 /* readonly */ 11897 int refs; 11898 Texture2D texture; 11899 /* readonly */ 11900 StringHash type; 11901 /* readonly */ 11902 String typeName; 11903 /* readonly */ 11904 uint useTimer; 11905 /* readonly */ 11906 int weakRefs; 11907 }; 11908 11909 class StaticModel 11910 { 11911 public: 11912 // Methods: 11913 void ApplyAttributes(); 11914 void ApplyMaterialList(const String& = String ( )); 11915 void DrawDebugGeometry(DebugRenderer, bool); 11916 Variant GetAttribute(const String&) const; 11917 ValueAnimation GetAttributeAnimation(const String&) const; 11918 float GetAttributeAnimationSpeed(const String&) const; 11919 float GetAttributeAnimationTime(const String&) const; 11920 WrapMode GetAttributeAnimationWrapMode(const String&) const; 11921 Variant GetAttributeDefault(const String&) const; 11922 bool GetInterceptNetworkUpdate(const String&) const; 11923 bool HasSubscribedToEvent(Object, const String&); 11924 bool HasSubscribedToEvent(const String&); 11925 bool IsInView(Camera) const; 11926 bool IsInside(const Vector3&) const; 11927 bool IsInsideLocal(const Vector3&) const; 11928 bool Load(File, bool = false); 11929 bool Load(VectorBuffer&, bool = false); 11930 bool LoadJSON(const JSONValue&, bool = false); 11931 bool LoadXML(const XMLElement&, bool = false); 11932 void MarkNetworkUpdate() const; 11933 void Remove(); 11934 void RemoveAttributeAnimation(const String&); 11935 void RemoveInstanceDefault(); 11936 void RemoveObjectAnimation(); 11937 void ResetToDefault(); 11938 bool Save(File) const; 11939 bool Save(VectorBuffer&) const; 11940 bool SaveJSON(JSONValue&) const; 11941 bool SaveXML(XMLElement&) const; 11942 void SendEvent(const String&, VariantMap& = VariantMap ( )); 11943 void SetAnimationTime(float); 11944 bool SetAttribute(const String&, const Variant&); 11945 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 11946 void SetAttributeAnimationSpeed(const String&, float); 11947 void SetAttributeAnimationTime(const String&, float); 11948 void SetAttributeAnimationWrapMode(const String&, WrapMode); 11949 void SetInterceptNetworkUpdate(const String&, bool); 11950 11951 // Properties: 11952 bool animationEnabled; 11953 /* readonly */ 11954 Array<Variant> attributeDefaults; 11955 /* readonly */ 11956 Array<AttributeInfo> attributeInfos; 11957 Array<Variant> attributes; 11958 /* readonly */ 11959 BoundingBox boundingBox; 11960 bool castShadows; 11961 /* readonly */ 11962 String category; 11963 float drawDistance; 11964 bool enabled; 11965 /* readonly */ 11966 bool enabledEffective; 11967 /* readonly */ 11968 uint id; 11969 /* readonly */ 11970 bool inView; 11971 uint lightMask; 11972 float lodBias; 11973 /* writeonly */ 11974 Material material; 11975 Array<Material> materials; 11976 uint maxLights; 11977 Model model; 11978 /* readonly */ 11979 Node node; 11980 /* readonly */ 11981 uint numAttributes; 11982 /* readonly */ 11983 uint numGeometries; 11984 ObjectAnimation objectAnimation; 11985 bool occludee; 11986 bool occluder; 11987 uint occlusionLodLevel; 11988 /* readonly */ 11989 int refs; 11990 float shadowDistance; 11991 uint shadowMask; 11992 bool temporary; 11993 /* readonly */ 11994 StringHash type; 11995 /* readonly */ 11996 String typeName; 11997 uint viewMask; 11998 /* readonly */ 11999 int weakRefs; 12000 /* readonly */ 12001 BoundingBox worldBoundingBox; 12002 uint zoneMask; 12003 }; 12004 12005 class StaticModelGroup 12006 { 12007 public: 12008 // Methods: 12009 void AddInstanceNode(Node); 12010 void ApplyAttributes(); 12011 void ApplyMaterialList(const String& = String ( )); 12012 void DrawDebugGeometry(DebugRenderer, bool); 12013 Variant GetAttribute(const String&) const; 12014 ValueAnimation GetAttributeAnimation(const String&) const; 12015 float GetAttributeAnimationSpeed(const String&) const; 12016 float GetAttributeAnimationTime(const String&) const; 12017 WrapMode GetAttributeAnimationWrapMode(const String&) const; 12018 Variant GetAttributeDefault(const String&) const; 12019 bool GetInterceptNetworkUpdate(const String&) const; 12020 bool HasSubscribedToEvent(Object, const String&); 12021 bool HasSubscribedToEvent(const String&); 12022 bool IsInView(Camera) const; 12023 bool Load(File, bool = false); 12024 bool Load(VectorBuffer&, bool = false); 12025 bool LoadJSON(const JSONValue&, bool = false); 12026 bool LoadXML(const XMLElement&, bool = false); 12027 void MarkNetworkUpdate() const; 12028 void Remove(); 12029 void RemoveAllInstanceNodes(); 12030 void RemoveAttributeAnimation(const String&); 12031 void RemoveInstanceDefault(); 12032 void RemoveInstanceNode(Node); 12033 void RemoveObjectAnimation(); 12034 void ResetToDefault(); 12035 bool Save(File) const; 12036 bool Save(VectorBuffer&) const; 12037 bool SaveJSON(JSONValue&) const; 12038 bool SaveXML(XMLElement&) const; 12039 void SendEvent(const String&, VariantMap& = VariantMap ( )); 12040 void SetAnimationTime(float); 12041 bool SetAttribute(const String&, const Variant&); 12042 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 12043 void SetAttributeAnimationSpeed(const String&, float); 12044 void SetAttributeAnimationTime(const String&, float); 12045 void SetAttributeAnimationWrapMode(const String&, WrapMode); 12046 void SetInterceptNetworkUpdate(const String&, bool); 12047 12048 // Properties: 12049 bool animationEnabled; 12050 /* readonly */ 12051 Array<Variant> attributeDefaults; 12052 /* readonly */ 12053 Array<AttributeInfo> attributeInfos; 12054 Array<Variant> attributes; 12055 /* readonly */ 12056 BoundingBox boundingBox; 12057 bool castShadows; 12058 /* readonly */ 12059 String category; 12060 float drawDistance; 12061 bool enabled; 12062 /* readonly */ 12063 bool enabledEffective; 12064 /* readonly */ 12065 uint id; 12066 /* readonly */ 12067 bool inView; 12068 /* readonly */ 12069 Array<Node> instanceNodes; 12070 uint lightMask; 12071 float lodBias; 12072 /* writeonly */ 12073 Material material; 12074 Array<Material> materials; 12075 uint maxLights; 12076 Model model; 12077 /* readonly */ 12078 Node node; 12079 /* readonly */ 12080 uint numAttributes; 12081 /* readonly */ 12082 uint numGeometries; 12083 /* readonly */ 12084 uint numInstanceNodes; 12085 ObjectAnimation objectAnimation; 12086 bool occludee; 12087 bool occluder; 12088 uint occlusionLodLevel; 12089 /* readonly */ 12090 int refs; 12091 float shadowDistance; 12092 uint shadowMask; 12093 bool temporary; 12094 /* readonly */ 12095 StringHash type; 12096 /* readonly */ 12097 String typeName; 12098 uint viewMask; 12099 /* readonly */ 12100 int weakRefs; 12101 /* readonly */ 12102 BoundingBox worldBoundingBox; 12103 /* readonly */ 12104 Zone zone; 12105 uint zoneMask; 12106 }; 12107 12108 class StaticSprite2D 12109 { 12110 public: 12111 // Methods: 12112 void ApplyAttributes(); 12113 void DrawDebugGeometry(DebugRenderer, bool); 12114 Variant GetAttribute(const String&) const; 12115 ValueAnimation GetAttributeAnimation(const String&) const; 12116 float GetAttributeAnimationSpeed(const String&) const; 12117 float GetAttributeAnimationTime(const String&) const; 12118 WrapMode GetAttributeAnimationWrapMode(const String&) const; 12119 Variant GetAttributeDefault(const String&) const; 12120 bool GetInterceptNetworkUpdate(const String&) const; 12121 bool HasSubscribedToEvent(Object, const String&); 12122 bool HasSubscribedToEvent(const String&); 12123 bool IsInView(Camera) const; 12124 bool Load(File, bool = false); 12125 bool Load(VectorBuffer&, bool = false); 12126 bool LoadJSON(const JSONValue&, bool = false); 12127 bool LoadXML(const XMLElement&, bool = false); 12128 void MarkNetworkUpdate() const; 12129 void Remove(); 12130 void RemoveAttributeAnimation(const String&); 12131 void RemoveInstanceDefault(); 12132 void RemoveObjectAnimation(); 12133 void ResetToDefault(); 12134 bool Save(File) const; 12135 bool Save(VectorBuffer&) const; 12136 bool SaveJSON(JSONValue&) const; 12137 bool SaveXML(XMLElement&) const; 12138 void SendEvent(const String&, VariantMap& = VariantMap ( )); 12139 void SetAnimationTime(float); 12140 bool SetAttribute(const String&, const Variant&); 12141 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 12142 void SetAttributeAnimationSpeed(const String&, float); 12143 void SetAttributeAnimationTime(const String&, float); 12144 void SetAttributeAnimationWrapMode(const String&, WrapMode); 12145 void SetFlip(bool, bool); 12146 void SetInterceptNetworkUpdate(const String&, bool); 12147 12148 // Properties: 12149 float alpha; 12150 bool animationEnabled; 12151 /* readonly */ 12152 Array<Variant> attributeDefaults; 12153 /* readonly */ 12154 Array<AttributeInfo> attributeInfos; 12155 Array<Variant> attributes; 12156 BlendMode blendMode; 12157 /* readonly */ 12158 BoundingBox boundingBox; 12159 bool castShadows; 12160 /* readonly */ 12161 String category; 12162 Color color; 12163 Material customMaterial; 12164 float drawDistance; 12165 Rect drawRect; 12166 bool enabled; 12167 /* readonly */ 12168 bool enabledEffective; 12169 bool flipX; 12170 bool flipY; 12171 Vector2 hotSpot; 12172 /* readonly */ 12173 uint id; 12174 /* readonly */ 12175 bool inView; 12176 int layer; 12177 uint lightMask; 12178 float lodBias; 12179 uint maxLights; 12180 /* readonly */ 12181 Node node; 12182 /* readonly */ 12183 uint numAttributes; 12184 ObjectAnimation objectAnimation; 12185 bool occludee; 12186 bool occluder; 12187 int orderInLayer; 12188 /* readonly */ 12189 int refs; 12190 float shadowDistance; 12191 uint shadowMask; 12192 Sprite2D sprite; 12193 bool temporary; 12194 Rect textureRect; 12195 /* readonly */ 12196 StringHash type; 12197 /* readonly */ 12198 String typeName; 12199 bool useDrawRect; 12200 bool useHotSpot; 12201 bool useTextureRect; 12202 uint viewMask; 12203 /* readonly */ 12204 int weakRefs; 12205 /* readonly */ 12206 BoundingBox worldBoundingBox; 12207 uint zoneMask; 12208 }; 12209 12210 class String 12211 { 12212 public: 12213 ~String(); 12214 String(); 12215 String(const String&in); 12216 String(int); 12217 String(uint); 12218 String(float); 12219 String(double); 12220 String(bool); 12221 String(const char*); 12222 // Methods: 12223 void AppendUTF8(uint); 12224 uint AtUTF8(uint) const; 12225 uint ByteOffsetUTF8(uint) const; 12226 void Clear(); 12227 int Compare(const String&, bool = true) const; 12228 bool Contains(const String&, bool = true) const; 12229 bool Contains(uint8, bool = true) const; 12230 bool EndsWith(const String&, bool = true) const; 12231 uint Find(const String&, uint = 0, bool = true) const; 12232 uint Find(uint8, uint = 0, bool = true) const; 12233 uint FindLast(const String&, uint = 0xffffffff, bool = true) const; 12234 uint FindLast(uint8, uint = 0xffffffff, bool = true) const; 12235 void Join(Array<String>&, const String&); 12236 uint NextUTF8Char(uint&) const; 12237 void Replace(const String&, const String&, bool = true); 12238 void Replace(uint8, uint8, bool = true); 12239 void ReplaceUTF8(uint, uint); 12240 String Replaced(const String&, const String&, bool = true) const; 12241 String Replaced(uint8, uint8, bool = true) const; 12242 void Resize(uint); 12243 void SetUTF8FromLatin1(const String&); 12244 Array<String> Split(uint8, bool = false) const; 12245 bool StartsWith(const String&, bool = true) const; 12246 String Substring(uint) const; 12247 String Substring(uint, uint) const; 12248 String SubstringUTF8(uint) const; 12249 String SubstringUTF8(uint, uint) const; 12250 bool ToBool() const; 12251 Color ToColor() const; 12252 double ToDouble() const; 12253 float ToFloat() const; 12254 int ToInt(int = 10) const; 12255 int64 ToInt64(int = 10) const; 12256 IntRect ToIntRect() const; 12257 IntVector2 ToIntVector2() const; 12258 IntVector3 ToIntVector3() const; 12259 String ToLower() const; 12260 Matrix3 ToMatrix3() const; 12261 Matrix3x4 ToMatrix3x4() const; 12262 Matrix4 ToMatrix4() const; 12263 Quaternion ToQuaternion() const; 12264 uint ToUInt(int = 10) const; 12265 uint64 ToUInt64(int = 10) const; 12266 String ToUpper() const; 12267 Vector2 ToVector2() const; 12268 Vector3 ToVector3() const; 12269 Vector4 ToVector4(bool = false) const; 12270 Variant ToVectorVariant() const; 12271 String Trimmed() const; 12272 12273 // Properties: 12274 /* readonly */ 12275 bool empty; 12276 /* readonly */ 12277 uint length; 12278 /* readonly */ 12279 uint utf8Length; 12280 }; 12281 12282 class StringHash 12283 { 12284 public: 12285 StringHash(); 12286 StringHash(const StringHash&in); 12287 StringHash(const String&in); 12288 StringHash(uint); 12289 // Methods: 12290 String ToString() const; 12291 12292 // Properties: 12293 /* readonly */ 12294 uint value; 12295 }; 12296 12297 class Technique 12298 { 12299 public: 12300 Technique(); 12301 Technique(const String&in); 12302 // Methods: 12303 Technique Clone(const String& = String ( )) const; 12304 Pass CreatePass(const String&); 12305 Pass GetPass(const String&); 12306 Pass GetSupportedPass(const String&); 12307 bool HasPass(const String&) const; 12308 bool HasSubscribedToEvent(Object, const String&); 12309 bool HasSubscribedToEvent(const String&); 12310 bool Load(File); 12311 bool Load(VectorBuffer&); 12312 bool Load(const String&); 12313 void RemovePass(const String&); 12314 bool Save(File) const; 12315 bool Save(VectorBuffer&) const; 12316 bool Save(const String&) const; 12317 void SendEvent(const String&, VariantMap& = VariantMap ( )); 12318 12319 // Properties: 12320 /* readonly */ 12321 String category; 12322 bool desktop; 12323 /* readonly */ 12324 uint memoryUse; 12325 String name; 12326 /* readonly */ 12327 uint numPasses; 12328 /* readonly */ 12329 Array<String> passNames; 12330 /* readonly */ 12331 Array<Pass> passes; 12332 /* readonly */ 12333 int refs; 12334 /* readonly */ 12335 bool supported; 12336 /* readonly */ 12337 StringHash type; 12338 /* readonly */ 12339 String typeName; 12340 /* readonly */ 12341 uint useTimer; 12342 /* readonly */ 12343 int weakRefs; 12344 }; 12345 12346 class TechniqueEntry 12347 { 12348 public: 12349 ~TechniqueEntry(); 12350 TechniqueEntry(); 12351 TechniqueEntry(const TechniqueEntry&in); 12352 12353 // Properties: 12354 float lodDistance; 12355 int qualityLevel; 12356 Technique technique; 12357 }; 12358 12359 class Terrain 12360 { 12361 public: 12362 // Methods: 12363 void ApplyAttributes(); 12364 void ApplyHeightMap(); 12365 void DrawDebugGeometry(DebugRenderer, bool); 12366 Variant GetAttribute(const String&) const; 12367 ValueAnimation GetAttributeAnimation(const String&) const; 12368 float GetAttributeAnimationSpeed(const String&) const; 12369 float GetAttributeAnimationTime(const String&) const; 12370 WrapMode GetAttributeAnimationWrapMode(const String&) const; 12371 Variant GetAttributeDefault(const String&) const; 12372 float GetHeight(const Vector3&) const; 12373 bool GetInterceptNetworkUpdate(const String&) const; 12374 TerrainPatch GetNeighborPatch(int, int) const; 12375 Vector3 GetNormal(const Vector3&) const; 12376 TerrainPatch GetPatch(int, int) const; 12377 bool HasSubscribedToEvent(Object, const String&); 12378 bool HasSubscribedToEvent(const String&); 12379 Vector3 HeightMapToWorld(const IntVector2&) const; 12380 bool Load(File, bool = false); 12381 bool Load(VectorBuffer&, bool = false); 12382 bool LoadJSON(const JSONValue&, bool = false); 12383 bool LoadXML(const XMLElement&, bool = false); 12384 void MarkNetworkUpdate() const; 12385 void Remove(); 12386 void RemoveAttributeAnimation(const String&); 12387 void RemoveInstanceDefault(); 12388 void RemoveObjectAnimation(); 12389 void ResetToDefault(); 12390 bool Save(File) const; 12391 bool Save(VectorBuffer&) const; 12392 bool SaveJSON(JSONValue&) const; 12393 bool SaveXML(XMLElement&) const; 12394 void SendEvent(const String&, VariantMap& = VariantMap ( )); 12395 void SetAnimationTime(float); 12396 bool SetAttribute(const String&, const Variant&); 12397 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 12398 void SetAttributeAnimationSpeed(const String&, float); 12399 void SetAttributeAnimationTime(const String&, float); 12400 void SetAttributeAnimationWrapMode(const String&, WrapMode); 12401 void SetInterceptNetworkUpdate(const String&, bool); 12402 void SetNeighbors(Terrain, Terrain, Terrain, Terrain); 12403 IntVector2 WorldToHeightMap(const Vector3&) const; 12404 12405 // Properties: 12406 bool animationEnabled; 12407 /* readonly */ 12408 Array<Variant> attributeDefaults; 12409 /* readonly */ 12410 Array<AttributeInfo> attributeInfos; 12411 Array<Variant> attributes; 12412 bool castShadows; 12413 /* readonly */ 12414 String category; 12415 float drawDistance; 12416 Terrain eastNeighbor; 12417 bool enabled; 12418 /* readonly */ 12419 bool enabledEffective; 12420 Image heightMap; 12421 /* readonly */ 12422 uint id; 12423 uint lightMask; 12424 float lodBias; 12425 Material material; 12426 uint maxLights; 12427 uint maxLodLevels; 12428 /* readonly */ 12429 Node node; 12430 Terrain northNeighbor; 12431 /* readonly */ 12432 uint numAttributes; 12433 /* readonly */ 12434 IntVector2 numPatches; 12435 /* readonly */ 12436 IntVector2 numVertices; 12437 ObjectAnimation objectAnimation; 12438 bool occludee; 12439 bool occluder; 12440 uint occlusionLodLevel; 12441 int patchSize; 12442 /* readonly */ 12443 Array<TerrainPatch> patches; 12444 /* readonly */ 12445 int refs; 12446 float shadowDistance; 12447 uint shadowMask; 12448 bool smoothing; 12449 Terrain southNeighbor; 12450 Vector3 spacing; 12451 bool temporary; 12452 /* readonly */ 12453 StringHash type; 12454 /* readonly */ 12455 String typeName; 12456 uint viewMask; 12457 /* readonly */ 12458 int weakRefs; 12459 Terrain westNeighbor; 12460 uint zoneMask; 12461 }; 12462 12463 class TerrainPatch 12464 { 12465 public: 12466 // Methods: 12467 void ApplyAttributes(); 12468 void DrawDebugGeometry(DebugRenderer, bool); 12469 Variant GetAttribute(const String&) const; 12470 ValueAnimation GetAttributeAnimation(const String&) const; 12471 float GetAttributeAnimationSpeed(const String&) const; 12472 float GetAttributeAnimationTime(const String&) const; 12473 WrapMode GetAttributeAnimationWrapMode(const String&) const; 12474 Variant GetAttributeDefault(const String&) const; 12475 bool GetInterceptNetworkUpdate(const String&) const; 12476 bool HasSubscribedToEvent(Object, const String&); 12477 bool HasSubscribedToEvent(const String&); 12478 bool IsInView(Camera) const; 12479 bool Load(File, bool = false); 12480 bool Load(VectorBuffer&, bool = false); 12481 bool LoadJSON(const JSONValue&, bool = false); 12482 bool LoadXML(const XMLElement&, bool = false); 12483 void MarkNetworkUpdate() const; 12484 void Remove(); 12485 void RemoveAttributeAnimation(const String&); 12486 void RemoveInstanceDefault(); 12487 void RemoveObjectAnimation(); 12488 void ResetToDefault(); 12489 bool Save(File) const; 12490 bool Save(VectorBuffer&) const; 12491 bool SaveJSON(JSONValue&) const; 12492 bool SaveXML(XMLElement&) const; 12493 void SendEvent(const String&, VariantMap& = VariantMap ( )); 12494 void SetAnimationTime(float); 12495 bool SetAttribute(const String&, const Variant&); 12496 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 12497 void SetAttributeAnimationSpeed(const String&, float); 12498 void SetAttributeAnimationTime(const String&, float); 12499 void SetAttributeAnimationWrapMode(const String&, WrapMode); 12500 void SetInterceptNetworkUpdate(const String&, bool); 12501 12502 // Properties: 12503 bool animationEnabled; 12504 /* readonly */ 12505 Array<Variant> attributeDefaults; 12506 /* readonly */ 12507 Array<AttributeInfo> attributeInfos; 12508 Array<Variant> attributes; 12509 /* readonly */ 12510 BoundingBox boundingBox; 12511 bool castShadows; 12512 /* readonly */ 12513 String category; 12514 float drawDistance; 12515 bool enabled; 12516 /* readonly */ 12517 bool enabledEffective; 12518 /* readonly */ 12519 uint id; 12520 /* readonly */ 12521 bool inView; 12522 uint lightMask; 12523 float lodBias; 12524 uint maxLights; 12525 /* readonly */ 12526 Node node; 12527 /* readonly */ 12528 uint numAttributes; 12529 ObjectAnimation objectAnimation; 12530 bool occludee; 12531 bool occluder; 12532 /* readonly */ 12533 int refs; 12534 float shadowDistance; 12535 uint shadowMask; 12536 bool temporary; 12537 /* readonly */ 12538 StringHash type; 12539 /* readonly */ 12540 String typeName; 12541 uint viewMask; 12542 /* readonly */ 12543 int weakRefs; 12544 /* readonly */ 12545 BoundingBox worldBoundingBox; 12546 uint zoneMask; 12547 }; 12548 12549 class Text 12550 { 12551 public: 12552 Text(); 12553 Text(const String&in); 12554 // Methods: 12555 void AddChild(UIElement); 12556 void AddTag(const String&); 12557 void AddTags(const String&, int8 = ';'); 12558 void ApplyAttributes(); 12559 void BringToFront(); 12560 void ClearSelection(); 12561 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 12562 void DisableLayoutUpdate(); 12563 IntVector2 ElementToScreen(const IntVector2&); 12564 void EnableLayoutUpdate(); 12565 uint FindChild(UIElement) const; 12566 Variant GetAttribute(const String&) const; 12567 ValueAnimation GetAttributeAnimation(const String&) const; 12568 float GetAttributeAnimationSpeed(const String&) const; 12569 float GetAttributeAnimationTime(const String&) const; 12570 WrapMode GetAttributeAnimationWrapMode(const String&) const; 12571 Variant GetAttributeDefault(const String&) const; 12572 UIElement GetChild(const String&, bool = false) const; 12573 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 12574 Array<UIElement> GetChildren(bool = false) const; 12575 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 12576 UIElement GetElementEventSender() const; 12577 bool GetInterceptNetworkUpdate(const String&) const; 12578 uint GetNumChildren(bool) const; 12579 bool HasSubscribedToEvent(Object, const String&); 12580 bool HasSubscribedToEvent(const String&); 12581 bool HasTag(const String&) const; 12582 void InsertChild(uint, UIElement); 12583 bool IsInside(IntVector2, bool); 12584 bool IsInsideCombined(IntVector2, bool); 12585 bool Load(File, bool = false); 12586 bool Load(VectorBuffer&, bool = false); 12587 UIElement LoadChildXML(XMLFile, XMLFile = null); 12588 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 12589 bool LoadJSON(const JSONValue&, bool = false); 12590 bool LoadXML(File); 12591 bool LoadXML(VectorBuffer&); 12592 bool LoadXML(XMLFile, XMLFile); 12593 bool LoadXML(const XMLElement&, XMLFile, bool = false); 12594 bool LoadXML(const XMLElement&, bool = false); 12595 void MarkNetworkUpdate() const; 12596 void Remove(); 12597 void RemoveAllChildren(); 12598 void RemoveAllTags(); 12599 void RemoveAttributeAnimation(const String&); 12600 void RemoveChild(UIElement, uint = 0); 12601 void RemoveChild(uint); 12602 void RemoveInstanceDefault(); 12603 void RemoveObjectAnimation(); 12604 bool RemoveTag(const String&); 12605 void ResetDeepEnabled(); 12606 void ResetToDefault(); 12607 bool Save(File) const; 12608 bool Save(VectorBuffer&) const; 12609 bool SaveJSON(JSONValue&) const; 12610 bool SaveXML(File, const String& = "\t"); 12611 bool SaveXML(VectorBuffer&, const String& = "\t"); 12612 bool SaveXML(XMLElement&) const; 12613 IntVector2 ScreenToElement(const IntVector2&); 12614 void SendEvent(const String&, VariantMap& = VariantMap ( )); 12615 void SetAlignment(HorizontalAlignment, VerticalAlignment); 12616 void SetAnimationTime(float); 12617 bool SetAttribute(const String&, const Variant&); 12618 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 12619 void SetAttributeAnimationSpeed(const String&, float); 12620 void SetAttributeAnimationTime(const String&, float); 12621 void SetAttributeAnimationWrapMode(const String&, WrapMode); 12622 void SetDeepEnabled(bool); 12623 void SetEnabledRecursive(bool); 12624 void SetFixedHeight(int); 12625 void SetFixedSize(int, int); 12626 void SetFixedWidth(int); 12627 bool SetFont(Font, float); 12628 bool SetFont(const String&, int); 12629 void SetInterceptNetworkUpdate(const String&, bool); 12630 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 12631 void SetMaxAnchor(float, float); 12632 void SetMaxSize(int, int); 12633 void SetMinAnchor(float, float); 12634 void SetMinSize(int, int); 12635 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 12636 void SetPivot(float, float); 12637 void SetPosition(int, int); 12638 void SetSelection(uint, uint = M_MAX_UNSIGNED); 12639 void SetSize(int, int); 12640 bool SetStyle(const String&, XMLFile = null); 12641 bool SetStyle(const XMLElement&); 12642 bool SetStyleAuto(XMLFile = null); 12643 void UpdateLayout(); 12644 const Variant& GetVar(const StringHash&); 12645 12646 // Properties: 12647 bool animationEnabled; 12648 /* readonly */ 12649 Array<Variant> attributeDefaults; 12650 /* readonly */ 12651 Array<AttributeInfo> attributeInfos; 12652 Array<Variant> attributes; 12653 bool autoLocalizable; 12654 bool bringToBack; 12655 bool bringToFront; 12656 /* readonly */ 12657 String category; 12658 /* readonly */ 12659 Array<Vector2> charPositions; 12660 /* readonly */ 12661 Array<Vector2> charSizes; 12662 /* readonly */ 12663 IntVector2 childOffset; 12664 /* readonly */ 12665 Array<UIElement> children; 12666 IntRect clipBorder; 12667 bool clipChildren; 12668 /* writeonly */ 12669 Color color; 12670 /* readonly */ 12671 bool colorGradient; 12672 Array<Color> colors; 12673 /* readonly */ 12674 IntRect combinedScreenRect; 12675 XMLFile defaultStyle; 12676 /* readonly */ 12677 float derivedOpacity; 12678 /* readonly */ 12679 uint dragButtonCombo; 12680 /* readonly */ 12681 int dragButtonCount; 12682 uint dragDropMode; 12683 bool editable; 12684 Color effectColor; 12685 bool effectRoundStroke; 12686 IntVector2 effectShadowOffset; 12687 int effectStrokeThickness; 12688 bool elementEventSender; 12689 bool enableAnchor; 12690 bool enabled; 12691 /* readonly */ 12692 bool enabledSelf; 12693 /* readonly */ 12694 bool fixedHeight; 12695 /* readonly */ 12696 bool fixedSize; 12697 /* readonly */ 12698 bool fixedWidth; 12699 bool focus; 12700 FocusMode focusMode; 12701 /* readonly */ 12702 Font font; 12703 float fontSize; 12704 int height; 12705 HorizontalAlignment horizontalAlignment; 12706 Color hoverColor; 12707 /* readonly */ 12708 bool hovering; 12709 int indent; 12710 int indentSpacing; 12711 /* readonly */ 12712 int indentWidth; 12713 bool internal; 12714 IntRect layoutBorder; 12715 Vector2 layoutFlexScale; 12716 LayoutMode layoutMode; 12717 int layoutSpacing; 12718 Vector2 maxAnchor; 12719 int maxHeight; 12720 IntVector2 maxOffset; 12721 IntVector2 maxSize; 12722 int maxWidth; 12723 Vector2 minAnchor; 12724 int minHeight; 12725 IntVector2 minOffset; 12726 IntVector2 minSize; 12727 int minWidth; 12728 String name; 12729 /* readonly */ 12730 uint numAllChildren; 12731 /* readonly */ 12732 uint numAttributes; 12733 /* readonly */ 12734 uint numChars; 12735 /* readonly */ 12736 uint numChildren; 12737 /* readonly */ 12738 uint numRows; 12739 ObjectAnimation objectAnimation; 12740 float opacity; 12741 UIElement parent; 12742 Vector2 pivot; 12743 IntVector2 position; 12744 int priority; 12745 /* readonly */ 12746 int refs; 12747 /* readonly */ 12748 UIElement root; 12749 /* readonly */ 12750 float rowHeight; 12751 float rowSpacing; 12752 /* readonly */ 12753 Array<float> rowWidths; 12754 /* readonly */ 12755 IntVector2 screenPosition; 12756 bool selected; 12757 Color selectionColor; 12758 /* readonly */ 12759 uint selectionLength; 12760 /* readonly */ 12761 uint selectionStart; 12762 IntVector2 size; 12763 bool sortChildren; 12764 String style; 12765 /* readonly */ 12766 Array<String> tags; 12767 bool temporary; 12768 String text; 12769 HorizontalAlignment textAlignment; 12770 TextEffect textEffect; 12771 TraversalMode traversalMode; 12772 /* readonly */ 12773 StringHash type; 12774 /* readonly */ 12775 String typeName; 12776 bool useDerivedOpacity; 12777 /* readonly */ 12778 VariantMap vars; 12779 VerticalAlignment verticalAlignment; 12780 bool visible; 12781 /* readonly */ 12782 bool visibleEffective; 12783 /* readonly */ 12784 int weakRefs; 12785 int width; 12786 bool wordwrap; 12787 }; 12788 12789 class Text3D 12790 { 12791 public: 12792 // Methods: 12793 void ApplyAttributes(); 12794 void DrawDebugGeometry(DebugRenderer, bool); 12795 Variant GetAttribute(const String&) const; 12796 ValueAnimation GetAttributeAnimation(const String&) const; 12797 float GetAttributeAnimationSpeed(const String&) const; 12798 float GetAttributeAnimationTime(const String&) const; 12799 WrapMode GetAttributeAnimationWrapMode(const String&) const; 12800 Variant GetAttributeDefault(const String&) const; 12801 bool GetInterceptNetworkUpdate(const String&) const; 12802 bool HasSubscribedToEvent(Object, const String&); 12803 bool HasSubscribedToEvent(const String&); 12804 bool IsInView(Camera) const; 12805 bool Load(File, bool = false); 12806 bool Load(VectorBuffer&, bool = false); 12807 bool LoadJSON(const JSONValue&, bool = false); 12808 bool LoadXML(const XMLElement&, bool = false); 12809 void MarkNetworkUpdate() const; 12810 void Remove(); 12811 void RemoveAttributeAnimation(const String&); 12812 void RemoveInstanceDefault(); 12813 void RemoveObjectAnimation(); 12814 void ResetToDefault(); 12815 bool Save(File) const; 12816 bool Save(VectorBuffer&) const; 12817 bool SaveJSON(JSONValue&) const; 12818 bool SaveXML(XMLElement&) const; 12819 void SendEvent(const String&, VariantMap& = VariantMap ( )); 12820 void SetAlignment(HorizontalAlignment, VerticalAlignment); 12821 void SetAnimationTime(float); 12822 bool SetAttribute(const String&, const Variant&); 12823 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 12824 void SetAttributeAnimationSpeed(const String&, float); 12825 void SetAttributeAnimationTime(const String&, float); 12826 void SetAttributeAnimationWrapMode(const String&, WrapMode); 12827 bool SetFont(Font, float); 12828 bool SetFont(const String&, float); 12829 void SetInterceptNetworkUpdate(const String&, bool); 12830 12831 // Properties: 12832 bool animationEnabled; 12833 /* readonly */ 12834 Array<Variant> attributeDefaults; 12835 /* readonly */ 12836 Array<AttributeInfo> attributeInfos; 12837 Array<Variant> attributes; 12838 /* readonly */ 12839 BoundingBox boundingBox; 12840 bool castShadows; 12841 /* readonly */ 12842 String category; 12843 /* readonly */ 12844 Array<Vector2> charPositions; 12845 /* readonly */ 12846 Array<Vector2> charSizes; 12847 /* writeonly */ 12848 Color color; 12849 Array<Color> colors; 12850 float drawDistance; 12851 Color effectColor; 12852 float effectDepthBias; 12853 bool effectRoundStroke; 12854 IntVector2 effectShadowOffset; 12855 int effectStrokeThickness; 12856 bool enabled; 12857 /* readonly */ 12858 bool enabledEffective; 12859 FaceCameraMode faceCameraMode; 12860 bool fixedScreenSize; 12861 /* readonly */ 12862 Font font; 12863 float fontSize; 12864 /* readonly */ 12865 int height; 12866 HorizontalAlignment horizontalAlignment; 12867 /* readonly */ 12868 uint id; 12869 /* readonly */ 12870 bool inView; 12871 uint lightMask; 12872 float lodBias; 12873 Material material; 12874 uint maxLights; 12875 /* readonly */ 12876 Node node; 12877 /* readonly */ 12878 uint numAttributes; 12879 /* readonly */ 12880 uint numChars; 12881 /* readonly */ 12882 uint numRows; 12883 ObjectAnimation objectAnimation; 12884 bool occludee; 12885 bool occluder; 12886 float opacity; 12887 /* readonly */ 12888 int refs; 12889 /* readonly */ 12890 float rowHeight; 12891 float rowSpacing; 12892 /* readonly */ 12893 Array<float> rowWidths; 12894 float shadowDistance; 12895 uint shadowMask; 12896 bool temporary; 12897 String text; 12898 HorizontalAlignment textAlignment; 12899 TextEffect textEffect; 12900 /* readonly */ 12901 StringHash type; 12902 /* readonly */ 12903 String typeName; 12904 VerticalAlignment verticalAlignment; 12905 uint viewMask; 12906 /* readonly */ 12907 int weakRefs; 12908 int width; 12909 bool wordwrap; 12910 /* readonly */ 12911 BoundingBox worldBoundingBox; 12912 uint zoneMask; 12913 }; 12914 12915 class Texture 12916 { 12917 public: 12918 Texture(); 12919 Texture(const String&in); 12920 // Methods: 12921 void AddMetadata(const String&, const Variant&); 12922 void ClearDataLost(); 12923 bool HasSubscribedToEvent(Object, const String&); 12924 bool HasSubscribedToEvent(const String&); 12925 bool Load(File); 12926 bool Load(VectorBuffer&); 12927 bool Load(const String&); 12928 void RemoveAllMetadata(); 12929 void RemoveMetadata(const String&); 12930 bool Save(File) const; 12931 bool Save(VectorBuffer&) const; 12932 bool Save(const String&) const; 12933 void SendEvent(const String&, VariantMap& = VariantMap ( )); 12934 void SetNumLevels(uint); 12935 12936 // Properties: 12937 Array<TextureAddressMode> addressMode; 12938 uint anisotropy; 12939 /* readonly */ 12940 bool autoResolve; 12941 Texture backupTexture; 12942 Color borderColor; 12943 /* readonly */ 12944 String category; 12945 /* readonly */ 12946 uint components; 12947 /* readonly */ 12948 bool compressed; 12949 /* readonly */ 12950 bool dataLost; 12951 TextureFilterMode filterMode; 12952 /* readonly */ 12953 uint format; 12954 /* readonly */ 12955 bool hasMetadata; 12956 /* readonly */ 12957 int height; 12958 /* readonly */ 12959 Array<int> levelHeight; 12960 /* readonly */ 12961 Array<int> levelWidth; 12962 /* readonly */ 12963 uint levels; 12964 /* readonly */ 12965 bool levelsDirty; 12966 /* readonly */ 12967 uint memoryUse; 12968 Array<Variant> metadata; 12969 Array<int> mipsToSkip; 12970 /* readonly */ 12971 int multiSample; 12972 String name; 12973 /* readonly */ 12974 int refs; 12975 /* readonly */ 12976 bool resolveDirty; 12977 bool sRGB; 12978 /* readonly */ 12979 StringHash type; 12980 /* readonly */ 12981 String typeName; 12982 /* readonly */ 12983 TextureUsage usage; 12984 /* readonly */ 12985 uint useTimer; 12986 /* readonly */ 12987 int weakRefs; 12988 /* readonly */ 12989 int width; 12990 }; 12991 12992 class Texture2D 12993 { 12994 public: 12995 Texture2D(); 12996 Texture2D(const String&in); 12997 // Methods: 12998 void AddMetadata(const String&, const Variant&); 12999 void ClearDataLost(); 13000 Image GetImage() const; 13001 bool HasSubscribedToEvent(Object, const String&); 13002 bool HasSubscribedToEvent(const String&); 13003 bool Load(File); 13004 bool Load(VectorBuffer&); 13005 bool Load(const String&); 13006 void RemoveAllMetadata(); 13007 void RemoveMetadata(const String&); 13008 bool Save(File) const; 13009 bool Save(VectorBuffer&) const; 13010 bool Save(const String&) const; 13011 void SendEvent(const String&, VariantMap& = VariantMap ( )); 13012 bool SetData(Image, bool = false); 13013 void SetNumLevels(uint); 13014 bool SetSize(int, int, uint, TextureUsage = TEXTURE_STATIC, int = 1, bool = true); 13015 13016 // Properties: 13017 Array<TextureAddressMode> addressMode; 13018 uint anisotropy; 13019 /* readonly */ 13020 bool autoResolve; 13021 Texture backupTexture; 13022 Color borderColor; 13023 /* readonly */ 13024 String category; 13025 /* readonly */ 13026 uint components; 13027 /* readonly */ 13028 bool compressed; 13029 /* readonly */ 13030 bool dataLost; 13031 TextureFilterMode filterMode; 13032 /* readonly */ 13033 uint format; 13034 /* readonly */ 13035 bool hasMetadata; 13036 /* readonly */ 13037 int height; 13038 /* readonly */ 13039 Array<int> levelHeight; 13040 /* readonly */ 13041 Array<int> levelWidth; 13042 /* readonly */ 13043 uint levels; 13044 /* readonly */ 13045 bool levelsDirty; 13046 /* readonly */ 13047 uint memoryUse; 13048 Array<Variant> metadata; 13049 Array<int> mipsToSkip; 13050 /* readonly */ 13051 int multiSample; 13052 String name; 13053 /* readonly */ 13054 int refs; 13055 /* readonly */ 13056 RenderSurface renderSurface; 13057 /* readonly */ 13058 bool resolveDirty; 13059 bool sRGB; 13060 /* readonly */ 13061 StringHash type; 13062 /* readonly */ 13063 String typeName; 13064 /* readonly */ 13065 TextureUsage usage; 13066 /* readonly */ 13067 uint useTimer; 13068 /* readonly */ 13069 int weakRefs; 13070 /* readonly */ 13071 int width; 13072 }; 13073 13074 class Texture2DArray 13075 { 13076 public: 13077 Texture2DArray(); 13078 Texture2DArray(const String&in); 13079 // Methods: 13080 void AddMetadata(const String&, const Variant&); 13081 void ClearDataLost(); 13082 bool HasSubscribedToEvent(Object, const String&); 13083 bool HasSubscribedToEvent(const String&); 13084 bool Load(File); 13085 bool Load(VectorBuffer&); 13086 bool Load(const String&); 13087 void RemoveAllMetadata(); 13088 void RemoveMetadata(const String&); 13089 bool Save(File) const; 13090 bool Save(VectorBuffer&) const; 13091 bool Save(const String&) const; 13092 void SendEvent(const String&, VariantMap& = VariantMap ( )); 13093 bool SetData(uint, Image, bool = false); 13094 void SetNumLevels(uint); 13095 bool SetSize(uint, int, int, uint, TextureUsage = TEXTURE_STATIC); 13096 13097 // Properties: 13098 Array<TextureAddressMode> addressMode; 13099 uint anisotropy; 13100 /* readonly */ 13101 bool autoResolve; 13102 Texture backupTexture; 13103 Color borderColor; 13104 /* readonly */ 13105 String category; 13106 /* readonly */ 13107 uint components; 13108 /* readonly */ 13109 bool compressed; 13110 /* readonly */ 13111 bool dataLost; 13112 TextureFilterMode filterMode; 13113 /* readonly */ 13114 uint format; 13115 /* readonly */ 13116 bool hasMetadata; 13117 /* readonly */ 13118 int height; 13119 uint layers; 13120 /* readonly */ 13121 Array<int> levelHeight; 13122 /* readonly */ 13123 Array<int> levelWidth; 13124 /* readonly */ 13125 uint levels; 13126 /* readonly */ 13127 bool levelsDirty; 13128 /* readonly */ 13129 uint memoryUse; 13130 Array<Variant> metadata; 13131 Array<int> mipsToSkip; 13132 /* readonly */ 13133 int multiSample; 13134 String name; 13135 /* readonly */ 13136 int refs; 13137 /* readonly */ 13138 RenderSurface renderSurface; 13139 /* readonly */ 13140 bool resolveDirty; 13141 bool sRGB; 13142 /* readonly */ 13143 StringHash type; 13144 /* readonly */ 13145 String typeName; 13146 /* readonly */ 13147 TextureUsage usage; 13148 /* readonly */ 13149 uint useTimer; 13150 /* readonly */ 13151 int weakRefs; 13152 /* readonly */ 13153 int width; 13154 }; 13155 13156 class Texture3D 13157 { 13158 public: 13159 Texture3D(); 13160 Texture3D(const String&in); 13161 // Methods: 13162 void AddMetadata(const String&, const Variant&); 13163 void ClearDataLost(); 13164 bool HasSubscribedToEvent(Object, const String&); 13165 bool HasSubscribedToEvent(const String&); 13166 bool Load(File); 13167 bool Load(VectorBuffer&); 13168 bool Load(const String&); 13169 void RemoveAllMetadata(); 13170 void RemoveMetadata(const String&); 13171 bool Save(File) const; 13172 bool Save(VectorBuffer&) const; 13173 bool Save(const String&) const; 13174 void SendEvent(const String&, VariantMap& = VariantMap ( )); 13175 bool SetData(Image, bool = false); 13176 void SetNumLevels(uint); 13177 bool SetSize(int, int, int, uint, TextureUsage = TEXTURE_STATIC); 13178 13179 // Properties: 13180 Array<TextureAddressMode> addressMode; 13181 uint anisotropy; 13182 /* readonly */ 13183 bool autoResolve; 13184 Texture backupTexture; 13185 Color borderColor; 13186 /* readonly */ 13187 String category; 13188 /* readonly */ 13189 uint components; 13190 /* readonly */ 13191 bool compressed; 13192 /* readonly */ 13193 bool dataLost; 13194 TextureFilterMode filterMode; 13195 /* readonly */ 13196 uint format; 13197 /* readonly */ 13198 bool hasMetadata; 13199 /* readonly */ 13200 int height; 13201 /* readonly */ 13202 Array<int> levelHeight; 13203 /* readonly */ 13204 Array<int> levelWidth; 13205 /* readonly */ 13206 uint levels; 13207 /* readonly */ 13208 bool levelsDirty; 13209 /* readonly */ 13210 uint memoryUse; 13211 Array<Variant> metadata; 13212 Array<int> mipsToSkip; 13213 /* readonly */ 13214 int multiSample; 13215 String name; 13216 /* readonly */ 13217 int refs; 13218 /* readonly */ 13219 bool resolveDirty; 13220 bool sRGB; 13221 /* readonly */ 13222 StringHash type; 13223 /* readonly */ 13224 String typeName; 13225 /* readonly */ 13226 TextureUsage usage; 13227 /* readonly */ 13228 uint useTimer; 13229 /* readonly */ 13230 int weakRefs; 13231 /* readonly */ 13232 int width; 13233 }; 13234 13235 class TextureCube 13236 { 13237 public: 13238 TextureCube(); 13239 TextureCube(const String&in); 13240 // Methods: 13241 void AddMetadata(const String&, const Variant&); 13242 void ClearDataLost(); 13243 Image GetImage(CubeMapFace) const; 13244 bool HasSubscribedToEvent(Object, const String&); 13245 bool HasSubscribedToEvent(const String&); 13246 bool Load(File); 13247 bool Load(VectorBuffer&); 13248 bool Load(const String&); 13249 void RemoveAllMetadata(); 13250 void RemoveMetadata(const String&); 13251 bool Save(File) const; 13252 bool Save(VectorBuffer&) const; 13253 bool Save(const String&) const; 13254 void SendEvent(const String&, VariantMap& = VariantMap ( )); 13255 bool SetData(CubeMapFace, Image, bool = false); 13256 void SetNumLevels(uint); 13257 bool SetSize(int, uint, TextureUsage = TEXTURE_STATIC, int = 1); 13258 13259 // Properties: 13260 Array<TextureAddressMode> addressMode; 13261 uint anisotropy; 13262 /* readonly */ 13263 bool autoResolve; 13264 Texture backupTexture; 13265 Color borderColor; 13266 /* readonly */ 13267 String category; 13268 /* readonly */ 13269 uint components; 13270 /* readonly */ 13271 bool compressed; 13272 /* readonly */ 13273 bool dataLost; 13274 TextureFilterMode filterMode; 13275 /* readonly */ 13276 uint format; 13277 /* readonly */ 13278 bool hasMetadata; 13279 /* readonly */ 13280 int height; 13281 /* readonly */ 13282 Array<int> levelHeight; 13283 /* readonly */ 13284 Array<int> levelWidth; 13285 /* readonly */ 13286 uint levels; 13287 /* readonly */ 13288 bool levelsDirty; 13289 /* readonly */ 13290 uint memoryUse; 13291 Array<Variant> metadata; 13292 Array<int> mipsToSkip; 13293 /* readonly */ 13294 int multiSample; 13295 String name; 13296 /* readonly */ 13297 int refs; 13298 /* readonly */ 13299 Array<RenderSurface> renderSurfaces; 13300 /* readonly */ 13301 bool resolveDirty; 13302 bool sRGB; 13303 /* readonly */ 13304 StringHash type; 13305 /* readonly */ 13306 String typeName; 13307 /* readonly */ 13308 TextureUsage usage; 13309 /* readonly */ 13310 uint useTimer; 13311 /* readonly */ 13312 int weakRefs; 13313 /* readonly */ 13314 int width; 13315 }; 13316 13317 class TextureFrame 13318 { 13319 public: 13320 13321 // Properties: 13322 float time; 13323 Rect uv; 13324 }; 13325 13326 class Tile2D 13327 { 13328 public: 13329 // Methods: 13330 bool HasProperty(const String&) const; 13331 const String& GetProperty(const String&) const; 13332 13333 // Properties: 13334 /* readonly */ 13335 int gid; 13336 /* readonly */ 13337 int refs; 13338 /* readonly */ 13339 Sprite2D sprite; 13340 /* readonly */ 13341 int weakRefs; 13342 }; 13343 13344 class TileMap2D 13345 { 13346 public: 13347 // Methods: 13348 void ApplyAttributes(); 13349 void DrawDebugGeometry(DebugRenderer, bool); 13350 Variant GetAttribute(const String&) const; 13351 ValueAnimation GetAttributeAnimation(const String&) const; 13352 float GetAttributeAnimationSpeed(const String&) const; 13353 float GetAttributeAnimationTime(const String&) const; 13354 WrapMode GetAttributeAnimationWrapMode(const String&) const; 13355 Variant GetAttributeDefault(const String&) const; 13356 bool GetInterceptNetworkUpdate(const String&) const; 13357 TileMapLayer2D GetLayer(uint) const; 13358 Array<TileMapObject2D> GetTileCollisionShapes(int) const; 13359 bool HasSubscribedToEvent(Object, const String&); 13360 bool HasSubscribedToEvent(const String&); 13361 bool Load(File, bool = false); 13362 bool Load(VectorBuffer&, bool = false); 13363 bool LoadJSON(const JSONValue&, bool = false); 13364 bool LoadXML(const XMLElement&, bool = false); 13365 void MarkNetworkUpdate() const; 13366 bool PositionToTileIndex(int&, int&, const Vector2&) const; 13367 void Remove(); 13368 void RemoveAttributeAnimation(const String&); 13369 void RemoveInstanceDefault(); 13370 void RemoveObjectAnimation(); 13371 void ResetToDefault(); 13372 bool Save(File) const; 13373 bool Save(VectorBuffer&) const; 13374 bool SaveJSON(JSONValue&) const; 13375 bool SaveXML(XMLElement&) const; 13376 void SendEvent(const String&, VariantMap& = VariantMap ( )); 13377 void SetAnimationTime(float); 13378 bool SetAttribute(const String&, const Variant&); 13379 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 13380 void SetAttributeAnimationSpeed(const String&, float); 13381 void SetAttributeAnimationTime(const String&, float); 13382 void SetAttributeAnimationWrapMode(const String&, WrapMode); 13383 void SetInterceptNetworkUpdate(const String&, bool); 13384 Vector2 TileIndexToPosition(int, int) const; 13385 13386 // Properties: 13387 bool animationEnabled; 13388 /* readonly */ 13389 Array<Variant> attributeDefaults; 13390 /* readonly */ 13391 Array<AttributeInfo> attributeInfos; 13392 Array<Variant> attributes; 13393 /* readonly */ 13394 String category; 13395 bool enabled; 13396 /* readonly */ 13397 bool enabledEffective; 13398 /* readonly */ 13399 uint id; 13400 /* readonly */ 13401 TileMapInfo2D info; 13402 /* readonly */ 13403 Node node; 13404 /* readonly */ 13405 uint numAttributes; 13406 /* readonly */ 13407 uint numLayers; 13408 ObjectAnimation objectAnimation; 13409 /* readonly */ 13410 int refs; 13411 bool temporary; 13412 TmxFile2D tmxFile; 13413 /* readonly */ 13414 StringHash type; 13415 /* readonly */ 13416 String typeName; 13417 /* readonly */ 13418 int weakRefs; 13419 }; 13420 13421 class TileMapInfo2D 13422 { 13423 public: 13424 13425 // Properties: 13426 int height; 13427 /* readonly */ 13428 float mapHeight; 13429 /* readonly */ 13430 float mapWidth; 13431 Orientation2D orientation; 13432 float tileHeight; 13433 float tileWidth; 13434 int width; 13435 }; 13436 13437 class TileMapLayer2D 13438 { 13439 public: 13440 // Methods: 13441 void ApplyAttributes(); 13442 void DrawDebugGeometry(DebugRenderer, bool); 13443 Variant GetAttribute(const String&) const; 13444 ValueAnimation GetAttributeAnimation(const String&) const; 13445 float GetAttributeAnimationSpeed(const String&) const; 13446 float GetAttributeAnimationTime(const String&) const; 13447 WrapMode GetAttributeAnimationWrapMode(const String&) const; 13448 Variant GetAttributeDefault(const String&) const; 13449 bool GetInterceptNetworkUpdate(const String&) const; 13450 TileMapObject2D GetObject(uint) const; 13451 Node GetObjectNode(uint) const; 13452 Tile2D GetTile(int, int) const; 13453 Node GetTileNode(int, int) const; 13454 bool HasProperty(const String&) const; 13455 bool HasSubscribedToEvent(Object, const String&); 13456 bool HasSubscribedToEvent(const String&); 13457 bool Load(File, bool = false); 13458 bool Load(VectorBuffer&, bool = false); 13459 bool LoadJSON(const JSONValue&, bool = false); 13460 bool LoadXML(const XMLElement&, bool = false); 13461 void MarkNetworkUpdate() const; 13462 void Remove(); 13463 void RemoveAttributeAnimation(const String&); 13464 void RemoveInstanceDefault(); 13465 void RemoveObjectAnimation(); 13466 void ResetToDefault(); 13467 bool Save(File) const; 13468 bool Save(VectorBuffer&) const; 13469 bool SaveJSON(JSONValue&) const; 13470 bool SaveXML(XMLElement&) const; 13471 void SendEvent(const String&, VariantMap& = VariantMap ( )); 13472 void SetAnimationTime(float); 13473 bool SetAttribute(const String&, const Variant&); 13474 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 13475 void SetAttributeAnimationSpeed(const String&, float); 13476 void SetAttributeAnimationTime(const String&, float); 13477 void SetAttributeAnimationWrapMode(const String&, WrapMode); 13478 void SetInterceptNetworkUpdate(const String&, bool); 13479 const String& GetProperty(const String&) const; 13480 13481 // Properties: 13482 bool animationEnabled; 13483 /* readonly */ 13484 Array<Variant> attributeDefaults; 13485 /* readonly */ 13486 Array<AttributeInfo> attributeInfos; 13487 Array<Variant> attributes; 13488 /* readonly */ 13489 String category; 13490 int drawOrder; 13491 bool enabled; 13492 /* readonly */ 13493 bool enabledEffective; 13494 /* readonly */ 13495 int height; 13496 /* readonly */ 13497 uint id; 13498 /* readonly */ 13499 Node imageNode; 13500 /* readonly */ 13501 TileMapLayerType2D layerType; 13502 /* readonly */ 13503 Node node; 13504 /* readonly */ 13505 uint numAttributes; 13506 /* readonly */ 13507 uint numObjects; 13508 ObjectAnimation objectAnimation; 13509 /* readonly */ 13510 int refs; 13511 bool temporary; 13512 /* readonly */ 13513 StringHash type; 13514 /* readonly */ 13515 String typeName; 13516 bool visible; 13517 /* readonly */ 13518 int weakRefs; 13519 /* readonly */ 13520 int width; 13521 }; 13522 13523 class TileMapObject2D 13524 { 13525 public: 13526 // Methods: 13527 bool HasProperty(const String&) const; 13528 const String& GetProperty(const String&) const; 13529 const Vector2& GetPoint(uint) const; 13530 13531 // Properties: 13532 /* readonly */ 13533 String name; 13534 /* readonly */ 13535 uint numPoints; 13536 /* readonly */ 13537 TileObjectType2D objectType; 13538 /* readonly */ 13539 Vector2 position; 13540 /* readonly */ 13541 int refs; 13542 /* readonly */ 13543 Vector2 size; 13544 /* readonly */ 13545 int tileGid; 13546 /* readonly */ 13547 Sprite2D tileSprite; 13548 /* readonly */ 13549 String type; 13550 /* readonly */ 13551 int weakRefs; 13552 }; 13553 13554 class Time 13555 { 13556 public: 13557 // Methods: 13558 bool HasSubscribedToEvent(Object, const String&); 13559 bool HasSubscribedToEvent(const String&); 13560 void SendEvent(const String&, VariantMap& = VariantMap ( )); 13561 13562 // Properties: 13563 /* readonly */ 13564 String category; 13565 /* readonly */ 13566 float elapsedTime; 13567 /* readonly */ 13568 uint frameNumber; 13569 /* readonly */ 13570 int refs; 13571 /* readonly */ 13572 uint systemTime; 13573 /* readonly */ 13574 uint timeSinceEpoch; 13575 /* readonly */ 13576 String timeStamp; 13577 /* readonly */ 13578 float timeStep; 13579 /* readonly */ 13580 StringHash type; 13581 /* readonly */ 13582 String typeName; 13583 /* readonly */ 13584 int weakRefs; 13585 }; 13586 13587 class Timer 13588 { 13589 public: 13590 Timer(); 13591 // Methods: 13592 uint GetMSec(bool); 13593 void Reset(); 13594 }; 13595 13596 class TmxFile2D 13597 { 13598 public: 13599 TmxFile2D(); 13600 TmxFile2D(const String&in); 13601 // Methods: 13602 bool HasSubscribedToEvent(Object, const String&); 13603 bool HasSubscribedToEvent(const String&); 13604 bool Load(File); 13605 bool Load(VectorBuffer&); 13606 bool Load(const String&); 13607 bool Save(File) const; 13608 bool Save(VectorBuffer&) const; 13609 bool Save(const String&) const; 13610 void SendEvent(const String&, VariantMap& = VariantMap ( )); 13611 13612 // Properties: 13613 /* readonly */ 13614 String category; 13615 /* readonly */ 13616 uint memoryUse; 13617 String name; 13618 /* readonly */ 13619 int refs; 13620 /* readonly */ 13621 StringHash type; 13622 /* readonly */ 13623 String typeName; 13624 /* readonly */ 13625 uint useTimer; 13626 /* readonly */ 13627 int weakRefs; 13628 }; 13629 13630 class ToolTip 13631 { 13632 public: 13633 ToolTip(); 13634 ToolTip(const String&in); 13635 // Methods: 13636 void AddChild(UIElement); 13637 void AddTag(const String&); 13638 void AddTags(const String&, int8 = ';'); 13639 void ApplyAttributes(); 13640 void BringToFront(); 13641 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 13642 void DisableLayoutUpdate(); 13643 IntVector2 ElementToScreen(const IntVector2&); 13644 void EnableLayoutUpdate(); 13645 uint FindChild(UIElement) const; 13646 Variant GetAttribute(const String&) const; 13647 ValueAnimation GetAttributeAnimation(const String&) const; 13648 float GetAttributeAnimationSpeed(const String&) const; 13649 float GetAttributeAnimationTime(const String&) const; 13650 WrapMode GetAttributeAnimationWrapMode(const String&) const; 13651 Variant GetAttributeDefault(const String&) const; 13652 UIElement GetChild(const String&, bool = false) const; 13653 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 13654 Array<UIElement> GetChildren(bool = false) const; 13655 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 13656 UIElement GetElementEventSender() const; 13657 bool GetInterceptNetworkUpdate(const String&) const; 13658 uint GetNumChildren(bool) const; 13659 bool HasSubscribedToEvent(Object, const String&); 13660 bool HasSubscribedToEvent(const String&); 13661 bool HasTag(const String&) const; 13662 void InsertChild(uint, UIElement); 13663 bool IsInside(IntVector2, bool); 13664 bool IsInsideCombined(IntVector2, bool); 13665 bool Load(File, bool = false); 13666 bool Load(VectorBuffer&, bool = false); 13667 UIElement LoadChildXML(XMLFile, XMLFile = null); 13668 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 13669 bool LoadJSON(const JSONValue&, bool = false); 13670 bool LoadXML(File); 13671 bool LoadXML(VectorBuffer&); 13672 bool LoadXML(XMLFile, XMLFile); 13673 bool LoadXML(const XMLElement&, XMLFile, bool = false); 13674 bool LoadXML(const XMLElement&, bool = false); 13675 void MarkNetworkUpdate() const; 13676 void Remove(); 13677 void RemoveAllChildren(); 13678 void RemoveAllTags(); 13679 void RemoveAttributeAnimation(const String&); 13680 void RemoveChild(UIElement, uint = 0); 13681 void RemoveChild(uint); 13682 void RemoveInstanceDefault(); 13683 void RemoveObjectAnimation(); 13684 bool RemoveTag(const String&); 13685 void ResetDeepEnabled(); 13686 void ResetToDefault(); 13687 bool Save(File) const; 13688 bool Save(VectorBuffer&) const; 13689 bool SaveJSON(JSONValue&) const; 13690 bool SaveXML(File, const String& = "\t"); 13691 bool SaveXML(VectorBuffer&, const String& = "\t"); 13692 bool SaveXML(XMLElement&) const; 13693 IntVector2 ScreenToElement(const IntVector2&); 13694 void SendEvent(const String&, VariantMap& = VariantMap ( )); 13695 void SetAlignment(HorizontalAlignment, VerticalAlignment); 13696 void SetAnimationTime(float); 13697 bool SetAttribute(const String&, const Variant&); 13698 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 13699 void SetAttributeAnimationSpeed(const String&, float); 13700 void SetAttributeAnimationTime(const String&, float); 13701 void SetAttributeAnimationWrapMode(const String&, WrapMode); 13702 void SetDeepEnabled(bool); 13703 void SetEnabledRecursive(bool); 13704 void SetFixedHeight(int); 13705 void SetFixedSize(int, int); 13706 void SetFixedWidth(int); 13707 void SetInterceptNetworkUpdate(const String&, bool); 13708 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 13709 void SetMaxAnchor(float, float); 13710 void SetMaxSize(int, int); 13711 void SetMinAnchor(float, float); 13712 void SetMinSize(int, int); 13713 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 13714 void SetPivot(float, float); 13715 void SetPosition(int, int); 13716 void SetSize(int, int); 13717 bool SetStyle(const String&, XMLFile = null); 13718 bool SetStyle(const XMLElement&); 13719 bool SetStyleAuto(XMLFile = null); 13720 void UpdateLayout(); 13721 const Variant& GetVar(const StringHash&); 13722 13723 // Properties: 13724 bool animationEnabled; 13725 /* readonly */ 13726 Array<Variant> attributeDefaults; 13727 /* readonly */ 13728 Array<AttributeInfo> attributeInfos; 13729 Array<Variant> attributes; 13730 bool bringToBack; 13731 bool bringToFront; 13732 /* readonly */ 13733 String category; 13734 /* readonly */ 13735 IntVector2 childOffset; 13736 /* readonly */ 13737 Array<UIElement> children; 13738 IntRect clipBorder; 13739 bool clipChildren; 13740 /* writeonly */ 13741 Color color; 13742 /* readonly */ 13743 bool colorGradient; 13744 Array<Color> colors; 13745 /* readonly */ 13746 IntRect combinedScreenRect; 13747 XMLFile defaultStyle; 13748 float delay; 13749 /* readonly */ 13750 float derivedOpacity; 13751 /* readonly */ 13752 uint dragButtonCombo; 13753 /* readonly */ 13754 int dragButtonCount; 13755 uint dragDropMode; 13756 bool editable; 13757 bool elementEventSender; 13758 bool enableAnchor; 13759 bool enabled; 13760 /* readonly */ 13761 bool enabledSelf; 13762 /* readonly */ 13763 bool fixedHeight; 13764 /* readonly */ 13765 bool fixedSize; 13766 /* readonly */ 13767 bool fixedWidth; 13768 bool focus; 13769 FocusMode focusMode; 13770 int height; 13771 HorizontalAlignment horizontalAlignment; 13772 /* readonly */ 13773 bool hovering; 13774 int indent; 13775 int indentSpacing; 13776 /* readonly */ 13777 int indentWidth; 13778 bool internal; 13779 IntRect layoutBorder; 13780 Vector2 layoutFlexScale; 13781 LayoutMode layoutMode; 13782 int layoutSpacing; 13783 Vector2 maxAnchor; 13784 int maxHeight; 13785 IntVector2 maxOffset; 13786 IntVector2 maxSize; 13787 int maxWidth; 13788 Vector2 minAnchor; 13789 int minHeight; 13790 IntVector2 minOffset; 13791 IntVector2 minSize; 13792 int minWidth; 13793 String name; 13794 /* readonly */ 13795 uint numAllChildren; 13796 /* readonly */ 13797 uint numAttributes; 13798 /* readonly */ 13799 uint numChildren; 13800 ObjectAnimation objectAnimation; 13801 float opacity; 13802 UIElement parent; 13803 Vector2 pivot; 13804 IntVector2 position; 13805 int priority; 13806 /* readonly */ 13807 int refs; 13808 /* readonly */ 13809 UIElement root; 13810 /* readonly */ 13811 IntVector2 screenPosition; 13812 bool selected; 13813 IntVector2 size; 13814 bool sortChildren; 13815 String style; 13816 /* readonly */ 13817 Array<String> tags; 13818 bool temporary; 13819 TraversalMode traversalMode; 13820 /* readonly */ 13821 StringHash type; 13822 /* readonly */ 13823 String typeName; 13824 bool useDerivedOpacity; 13825 /* readonly */ 13826 VariantMap vars; 13827 VerticalAlignment verticalAlignment; 13828 bool visible; 13829 /* readonly */ 13830 bool visibleEffective; 13831 /* readonly */ 13832 int weakRefs; 13833 int width; 13834 }; 13835 13836 class TouchState 13837 { 13838 public: 13839 13840 // Properties: 13841 IntVector2 delta; 13842 IntVector2 lastPosition; 13843 IntVector2 position; 13844 float pressure; 13845 int touchID; 13846 /* readonly */ 13847 UIElement touchedElement; 13848 }; 13849 13850 class UI 13851 { 13852 public: 13853 // Methods: 13854 void Clear(); 13855 void DebugDraw(UIElement); 13856 UIElement GetElementAt(const IntVector2&, bool = true); 13857 UIElement GetElementAt(int, int, bool = true); 13858 bool HasModalElement() const; 13859 bool HasSubscribedToEvent(Object, const String&); 13860 bool HasSubscribedToEvent(const String&); 13861 bool IsDragging() const; 13862 UIElement LoadLayout(File); 13863 UIElement LoadLayout(File, XMLFile); 13864 UIElement LoadLayout(VectorBuffer&); 13865 UIElement LoadLayout(VectorBuffer&, XMLFile); 13866 UIElement LoadLayout(XMLFile); 13867 UIElement LoadLayout(XMLFile, XMLFile); 13868 bool SaveLayout(File, UIElement); 13869 bool SaveLayout(VectorBuffer&, UIElement); 13870 void SendEvent(const String&, VariantMap& = VariantMap ( )); 13871 void SetCustomSize(int, int); 13872 void SetFocusElement(UIElement, bool = false); 13873 void SetHeight(float); 13874 void SetWidth(float); 13875 const Array<UIElement> GetDragElements(); 13876 13877 // Properties: 13878 /* readonly */ 13879 String category; 13880 String clipBoardText; 13881 Cursor cursor; 13882 /* readonly */ 13883 IntVector2 cursorPosition; 13884 IntVector2 customSize; 13885 float defaultToolTipDelay; 13886 float doubleClickInterval; 13887 int dragBeginDistance; 13888 float dragBeginInterval; 13889 UIElement focusElement; 13890 FontHintLevel fontHintLevel; 13891 int fontOversampling; 13892 float fontSubpixelThreshold; 13893 bool forceAutoHint; 13894 /* readonly */ 13895 UIElement frontElement; 13896 int maxFontTextureSize; 13897 /* readonly */ 13898 UIElement modalRoot; 13899 bool nonFocusedMouseWheel; 13900 /* readonly */ 13901 int refs; 13902 /* readonly */ 13903 UIElement root; 13904 float scale; 13905 /* readonly */ 13906 StringHash type; 13907 /* readonly */ 13908 String typeName; 13909 bool useMutableGlyphs; 13910 bool useScreenKeyboard; 13911 bool useSystemClipboard; 13912 /* readonly */ 13913 int weakRefs; 13914 }; 13915 13916 class UIElement 13917 { 13918 public: 13919 UIElement(); 13920 UIElement(const String&in); 13921 // Methods: 13922 void AddChild(UIElement); 13923 void AddTag(const String&); 13924 void AddTags(const String&, int8 = ';'); 13925 void ApplyAttributes(); 13926 void BringToFront(); 13927 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 13928 void DisableLayoutUpdate(); 13929 IntVector2 ElementToScreen(const IntVector2&); 13930 void EnableLayoutUpdate(); 13931 uint FindChild(UIElement) const; 13932 Variant GetAttribute(const String&) const; 13933 ValueAnimation GetAttributeAnimation(const String&) const; 13934 float GetAttributeAnimationSpeed(const String&) const; 13935 float GetAttributeAnimationTime(const String&) const; 13936 WrapMode GetAttributeAnimationWrapMode(const String&) const; 13937 Variant GetAttributeDefault(const String&) const; 13938 UIElement GetChild(const String&, bool = false) const; 13939 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 13940 Array<UIElement> GetChildren(bool = false) const; 13941 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 13942 UIElement GetElementEventSender() const; 13943 bool GetInterceptNetworkUpdate(const String&) const; 13944 uint GetNumChildren(bool) const; 13945 bool HasSubscribedToEvent(Object, const String&); 13946 bool HasSubscribedToEvent(const String&); 13947 bool HasTag(const String&) const; 13948 void InsertChild(uint, UIElement); 13949 bool IsInside(IntVector2, bool); 13950 bool IsInsideCombined(IntVector2, bool); 13951 bool Load(File, bool = false); 13952 bool Load(VectorBuffer&, bool = false); 13953 UIElement LoadChildXML(XMLFile, XMLFile = null); 13954 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 13955 bool LoadJSON(const JSONValue&, bool = false); 13956 bool LoadXML(File); 13957 bool LoadXML(VectorBuffer&); 13958 bool LoadXML(XMLFile, XMLFile); 13959 bool LoadXML(const XMLElement&, XMLFile, bool = false); 13960 bool LoadXML(const XMLElement&, bool = false); 13961 void MarkNetworkUpdate() const; 13962 void Remove(); 13963 void RemoveAllChildren(); 13964 void RemoveAllTags(); 13965 void RemoveAttributeAnimation(const String&); 13966 void RemoveChild(UIElement, uint = 0); 13967 void RemoveChild(uint); 13968 void RemoveInstanceDefault(); 13969 void RemoveObjectAnimation(); 13970 bool RemoveTag(const String&); 13971 void ResetDeepEnabled(); 13972 void ResetToDefault(); 13973 bool Save(File) const; 13974 bool Save(VectorBuffer&) const; 13975 bool SaveJSON(JSONValue&) const; 13976 bool SaveXML(File, const String& = "\t"); 13977 bool SaveXML(VectorBuffer&, const String& = "\t"); 13978 bool SaveXML(XMLElement&) const; 13979 IntVector2 ScreenToElement(const IntVector2&); 13980 void SendEvent(const String&, VariantMap& = VariantMap ( )); 13981 void SetAlignment(HorizontalAlignment, VerticalAlignment); 13982 void SetAnimationTime(float); 13983 bool SetAttribute(const String&, const Variant&); 13984 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 13985 void SetAttributeAnimationSpeed(const String&, float); 13986 void SetAttributeAnimationTime(const String&, float); 13987 void SetAttributeAnimationWrapMode(const String&, WrapMode); 13988 void SetDeepEnabled(bool); 13989 void SetEnabledRecursive(bool); 13990 void SetFixedHeight(int); 13991 void SetFixedSize(int, int); 13992 void SetFixedWidth(int); 13993 void SetInterceptNetworkUpdate(const String&, bool); 13994 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 13995 void SetMaxAnchor(float, float); 13996 void SetMaxSize(int, int); 13997 void SetMinAnchor(float, float); 13998 void SetMinSize(int, int); 13999 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 14000 void SetPivot(float, float); 14001 void SetPosition(int, int); 14002 void SetSize(int, int); 14003 bool SetStyle(const String&, XMLFile = null); 14004 bool SetStyle(const XMLElement&); 14005 bool SetStyleAuto(XMLFile = null); 14006 void UpdateLayout(); 14007 const Variant& GetVar(const StringHash&); 14008 14009 // Properties: 14010 bool animationEnabled; 14011 /* readonly */ 14012 Array<Variant> attributeDefaults; 14013 /* readonly */ 14014 Array<AttributeInfo> attributeInfos; 14015 Array<Variant> attributes; 14016 bool bringToBack; 14017 bool bringToFront; 14018 /* readonly */ 14019 String category; 14020 /* readonly */ 14021 IntVector2 childOffset; 14022 /* readonly */ 14023 Array<UIElement> children; 14024 IntRect clipBorder; 14025 bool clipChildren; 14026 /* writeonly */ 14027 Color color; 14028 /* readonly */ 14029 bool colorGradient; 14030 Array<Color> colors; 14031 /* readonly */ 14032 IntRect combinedScreenRect; 14033 XMLFile defaultStyle; 14034 /* readonly */ 14035 float derivedOpacity; 14036 /* readonly */ 14037 uint dragButtonCombo; 14038 /* readonly */ 14039 int dragButtonCount; 14040 uint dragDropMode; 14041 bool editable; 14042 bool elementEventSender; 14043 bool enableAnchor; 14044 bool enabled; 14045 /* readonly */ 14046 bool enabledSelf; 14047 /* readonly */ 14048 bool fixedHeight; 14049 /* readonly */ 14050 bool fixedSize; 14051 /* readonly */ 14052 bool fixedWidth; 14053 bool focus; 14054 FocusMode focusMode; 14055 int height; 14056 HorizontalAlignment horizontalAlignment; 14057 /* readonly */ 14058 bool hovering; 14059 int indent; 14060 int indentSpacing; 14061 /* readonly */ 14062 int indentWidth; 14063 bool internal; 14064 IntRect layoutBorder; 14065 Vector2 layoutFlexScale; 14066 LayoutMode layoutMode; 14067 int layoutSpacing; 14068 Vector2 maxAnchor; 14069 int maxHeight; 14070 IntVector2 maxOffset; 14071 IntVector2 maxSize; 14072 int maxWidth; 14073 Vector2 minAnchor; 14074 int minHeight; 14075 IntVector2 minOffset; 14076 IntVector2 minSize; 14077 int minWidth; 14078 String name; 14079 /* readonly */ 14080 uint numAllChildren; 14081 /* readonly */ 14082 uint numAttributes; 14083 /* readonly */ 14084 uint numChildren; 14085 ObjectAnimation objectAnimation; 14086 float opacity; 14087 UIElement parent; 14088 Vector2 pivot; 14089 IntVector2 position; 14090 int priority; 14091 /* readonly */ 14092 int refs; 14093 /* readonly */ 14094 UIElement root; 14095 /* readonly */ 14096 IntVector2 screenPosition; 14097 bool selected; 14098 IntVector2 size; 14099 bool sortChildren; 14100 String style; 14101 /* readonly */ 14102 Array<String> tags; 14103 bool temporary; 14104 TraversalMode traversalMode; 14105 /* readonly */ 14106 StringHash type; 14107 /* readonly */ 14108 String typeName; 14109 bool useDerivedOpacity; 14110 /* readonly */ 14111 VariantMap vars; 14112 VerticalAlignment verticalAlignment; 14113 bool visible; 14114 /* readonly */ 14115 bool visibleEffective; 14116 /* readonly */ 14117 int weakRefs; 14118 int width; 14119 }; 14120 14121 class ValueAnimation 14122 { 14123 public: 14124 ValueAnimation(); 14125 ValueAnimation(const String&in); 14126 // Methods: 14127 bool HasSubscribedToEvent(Object, const String&); 14128 bool HasSubscribedToEvent(const String&); 14129 bool Load(File); 14130 bool Load(VectorBuffer&); 14131 bool Load(const String&); 14132 bool Save(File) const; 14133 bool Save(VectorBuffer&) const; 14134 bool Save(const String&) const; 14135 void SendEvent(const String&, VariantMap& = VariantMap ( )); 14136 void SetEventFrame(float, const String&, const VariantMap& = VariantMap ( )); 14137 void SetKeyFrame(float, const Variant&); 14138 14139 // Properties: 14140 /* readonly */ 14141 String category; 14142 InterpMethod interpolationMethod; 14143 /* readonly */ 14144 uint memoryUse; 14145 String name; 14146 /* readonly */ 14147 int refs; 14148 float splineTension; 14149 /* readonly */ 14150 StringHash type; 14151 /* readonly */ 14152 String typeName; 14153 /* readonly */ 14154 uint useTimer; 14155 VariantType valueType; 14156 /* readonly */ 14157 int weakRefs; 14158 }; 14159 14160 class Variant 14161 { 14162 public: 14163 ~Variant(); 14164 Variant(); 14165 Variant(const Variant&in); 14166 Variant(int); 14167 Variant(uint); 14168 Variant(int64); 14169 Variant(uint64); 14170 Variant(const StringHash&in); 14171 Variant(bool); 14172 Variant(float); 14173 Variant(double); 14174 Variant(const Vector2&in); 14175 Variant(const Vector3&in); 14176 Variant(const Vector4&in); 14177 Variant(const Quaternion&in); 14178 Variant(const Color&in); 14179 Variant(const String&in); 14180 Variant(const ResourceRef&in); 14181 Variant(const ResourceRefList&in); 14182 Variant(const Variant[]@); 14183 Variant(const String[]@); 14184 Variant(const VariantMap&in); 14185 Variant(const Rect&in); 14186 Variant(const IntRect&in); 14187 Variant(const IntVector2&in); 14188 Variant(const IntVector3&in); 14189 Variant(RefCounted@); 14190 Variant(ScriptObject@); 14191 Variant(const Matrix3&in); 14192 Variant(const Matrix3x4&in); 14193 Variant(const Matrix4&in); 14194 Variant(const String&in, const String&in); 14195 Variant(VariantType, const String&in); 14196 Variant(const VectorBuffer&in); 14197 // Methods: 14198 void Clear(); 14199 const Color& GetColor() const; 14200 void FromString(VariantType, const String&); 14201 void FromString(const String&, const String&); 14202 bool GetBool() const; 14203 VectorBuffer GetBuffer() const; 14204 double GetDouble() const; 14205 float GetFloat() const; 14206 int GetInt() const; 14207 int GetInt64() const; 14208 RefCounted GetPtr() const; 14209 ScriptObject GetScriptObject() const; 14210 StringHash GetStringHash() const; 14211 Array<String> GetStringVector() const; 14212 uint GetUInt() const; 14213 uint64 GetUInt64() const; 14214 Array<Variant> GetVariantVector() const; 14215 const IntRect& GetIntRect() const; 14216 const IntVector2& GetIntVector2() const; 14217 const IntVector3& GetIntVector3() const; 14218 const Matrix3& GetMatrix3() const; 14219 const Matrix3x4& GetMatrix3x4() const; 14220 const Matrix4& GetMatrix4() const; 14221 const Quaternion& GetQuaternion() const; 14222 const Rect& GetRect() const; 14223 const ResourceRef& GetResourceRef() const; 14224 const ResourceRefList& GetResourceRefList() const; 14225 const String& GetString() const; 14226 String ToString() const; 14227 const VariantMap& GetVariantMap() const; 14228 const Vector2& GetVector2() const; 14229 const Vector3& GetVector3() const; 14230 const Vector4& GetVector4() const; 14231 14232 // Properties: 14233 /* readonly */ 14234 bool empty; 14235 /* readonly */ 14236 VariantType type; 14237 /* readonly */ 14238 String typeName; 14239 /* readonly */ 14240 bool zero; 14241 }; 14242 14243 class VariantMap 14244 { 14245 public: 14246 ~VariantMap(); 14247 VariantMap(); 14248 VariantMap(const VariantMap&in); 14249 // Methods: 14250 void Clear(); 14251 bool Contains(StringHash) const; 14252 bool Contains(const String&) const; 14253 bool Erase(StringHash); 14254 bool Erase(const String&); 14255 14256 // Properties: 14257 /* readonly */ 14258 Array<StringHash> keys; 14259 /* readonly */ 14260 uint length; 14261 /* readonly */ 14262 Array<Variant> values; 14263 }; 14264 14265 class Vector2 14266 { 14267 public: 14268 Vector2(); 14269 Vector2(const Vector2&in); 14270 Vector2(const IntVector2&in); 14271 Vector2(float, float); 14272 Vector2(float[]&inout); 14273 // Methods: 14274 Vector2 Abs() const; 14275 float AbsDotProduct(const Vector2&) const; 14276 float Angle(const Vector2&) const; 14277 float DotProduct(const Vector2&) const; 14278 bool Equals(const Vector2&) const; 14279 bool IsNaN() const; 14280 Vector2 Lerp(const Vector2&, float) const; 14281 void Normalize(); 14282 Vector2 Normalized() const; 14283 float ProjectOntoAxis(const Vector2&) const; 14284 String ToString() const; 14285 14286 // Properties: 14287 /* readonly */ 14288 Array<float> data; 14289 /* readonly */ 14290 float length; 14291 /* readonly */ 14292 float lengthSquared; 14293 float x; 14294 float y; 14295 14296 // Constants: 14297 static const Vector2 DOWN; 14298 static const Vector2 LEFT; 14299 static const Vector2 ONE; 14300 static const Vector2 RIGHT; 14301 static const Vector2 UP; 14302 static const Vector2 ZERO; 14303 }; 14304 14305 class Vector3 14306 { 14307 public: 14308 Vector3(); 14309 Vector3(const Vector3&in); 14310 Vector3(const Vector2&in, float); 14311 Vector3(const Vector2&in); 14312 Vector3(const IntVector3&in); 14313 Vector3(float, float, float); 14314 Vector3(float, float); 14315 Vector3(float[]&inout); 14316 // Methods: 14317 Vector3 Abs() const; 14318 float AbsDotProduct(const Vector3&) const; 14319 float Angle(const Vector3&) const; 14320 Vector3 CrossProduct(const Vector3&) const; 14321 float DotProduct(const Vector3&) const; 14322 bool Equals(const Vector3&) const; 14323 bool IsNaN() const; 14324 Vector3 Lerp(const Vector3&, float) const; 14325 void Normalize(); 14326 Vector3 Normalized() const; 14327 Vector3 Orthogonalize(const Vector3&) const; 14328 float ProjectOntoAxis(const Vector3&) const; 14329 String ToString() const; 14330 14331 // Properties: 14332 /* readonly */ 14333 Array<float> data; 14334 /* readonly */ 14335 float length; 14336 /* readonly */ 14337 float lengthSquared; 14338 float x; 14339 float y; 14340 float z; 14341 14342 // Constants: 14343 static const Vector3 BACK; 14344 static const Vector3 DOWN; 14345 static const Vector3 FORWARD; 14346 static const Vector3 LEFT; 14347 static const Vector3 ONE; 14348 static const Vector3 RIGHT; 14349 static const Vector3 UP; 14350 static const Vector3 ZERO; 14351 }; 14352 14353 class Vector4 14354 { 14355 public: 14356 Vector4(); 14357 Vector4(const Vector4&in); 14358 Vector4(float, float, float, float); 14359 Vector4(const Vector3&in, float); 14360 Vector4(float[]&inout); 14361 // Methods: 14362 Vector4 Abs() const; 14363 float AbsDotProduct(const Vector4&) const; 14364 float DotProduct(const Vector4&) const; 14365 bool Equals(const Vector4&) const; 14366 bool IsNaN() const; 14367 Vector4 Lerp(const Vector4&, float) const; 14368 float ProjectOntoAxis(const Vector3&) const; 14369 String ToString() const; 14370 14371 // Properties: 14372 /* readonly */ 14373 Array<float> data; 14374 float w; 14375 float x; 14376 float y; 14377 float z; 14378 }; 14379 14380 class VectorBuffer 14381 { 14382 public: 14383 ~VectorBuffer(); 14384 VectorBuffer(); 14385 VectorBuffer(const VectorBuffer&in); 14386 VectorBuffer(Deserializer@, uint); 14387 // Methods: 14388 void Clear(); 14389 Array<uint8> Read(uint); 14390 bool ReadBool(); 14391 BoundingBox ReadBoundingBox(); 14392 int8 ReadByte(); 14393 Color ReadColor(); 14394 double ReadDouble(); 14395 String ReadFileID(); 14396 float ReadFloat(); 14397 int ReadInt(); 14398 int64 ReadInt64(); 14399 IntRect ReadIntRect(); 14400 IntVector2 ReadIntVector2(); 14401 String ReadLine(); 14402 Matrix3 ReadMatrix3(); 14403 Matrix3x4 ReadMatrix3x4(); 14404 Matrix4 ReadMatrix4(); 14405 uint ReadNetID(); 14406 Quaternion ReadPackedQuaternion(); 14407 Vector3 ReadPackedVector3(float); 14408 Quaternion ReadQuaternion(); 14409 int16 ReadShort(); 14410 String ReadString(); 14411 StringHash ReadStringHash(); 14412 uint8 ReadUByte(); 14413 uint ReadUInt(); 14414 uint64 ReadUInt64(); 14415 uint16 ReadUShort(); 14416 uint ReadVLE(); 14417 Variant ReadVariant(); 14418 VariantMap ReadVariantMap(); 14419 Vector2 ReadVector2(); 14420 Vector3 ReadVector3(); 14421 Vector4 ReadVector4(); 14422 VectorBuffer ReadVectorBuffer(uint); 14423 void Resize(uint); 14424 uint Seek(uint); 14425 uint SeekRelative(int); 14426 void SetData(Deserializer, uint); 14427 uint Tell() const; 14428 uint Write(Array<uint8>); 14429 bool WriteBool(bool); 14430 bool WriteBoundingBox(const BoundingBox&); 14431 bool WriteByte(int8); 14432 bool WriteColor(const Color&); 14433 bool WriteDouble(double); 14434 bool WriteFileID(const String&); 14435 bool WriteFloat(float); 14436 bool WriteInt(int); 14437 bool WriteInt64(int64); 14438 bool WriteIntRect(const IntRect&); 14439 bool WriteIntVector2(const IntVector2&); 14440 bool WriteLine(const String&); 14441 bool WriteMatrix3(const Matrix3&); 14442 bool WriteMatrix3x4(const Matrix3x4&); 14443 bool WriteMatrix4(const Matrix4&); 14444 bool WriteNetID(uint); 14445 bool WritePackedQuaternion(const Quaternion&); 14446 bool WritePackedVector3(const Vector3&, float); 14447 bool WriteQuaternion(const Quaternion&); 14448 bool WriteShort(int16); 14449 bool WriteString(const String&); 14450 bool WriteStringHash(const StringHash&); 14451 bool WriteUByte(uint8); 14452 bool WriteUInt(uint); 14453 bool WriteUInt64(uint64); 14454 bool WriteUShort(uint16); 14455 bool WriteVLE(uint); 14456 bool WriteVariant(const Variant&); 14457 bool WriteVariantMap(const VariantMap&); 14458 bool WriteVector2(const Vector2&); 14459 bool WriteVector3(const Vector3&); 14460 bool WriteVector4(const Vector4&); 14461 bool WriteVectorBuffer(const VectorBuffer&); 14462 14463 // Properties: 14464 /* readonly */ 14465 uint checksum; 14466 /* readonly */ 14467 bool eof; 14468 /* readonly */ 14469 String name; 14470 /* readonly */ 14471 uint position; 14472 /* readonly */ 14473 uint size; 14474 }; 14475 14476 class VertexBuffer 14477 { 14478 public: 14479 VertexBuffer(); 14480 // Methods: 14481 VectorBuffer GetData() const; 14482 uint GetElementOffset(VertexElementSemantic, uint8 = 0) const; 14483 uint GetElementOffset(VertexElementType, VertexElementSemantic, uint8 = 0) const; 14484 bool HasElement(VertexElementSemantic, uint8 = 0) const; 14485 bool HasElement(VertexElementType, VertexElementSemantic, uint8 = 0) const; 14486 bool HasSubscribedToEvent(Object, const String&); 14487 bool HasSubscribedToEvent(const String&); 14488 void SendEvent(const String&, VariantMap& = VariantMap ( )); 14489 bool SetData(VectorBuffer&); 14490 bool SetDataRange(VectorBuffer&, uint, uint, bool = false); 14491 void SetSize(uint, Array<VertexElement>, bool = false); 14492 void SetSize(uint, uint, bool = false); 14493 14494 // Properties: 14495 /* readonly */ 14496 String category; 14497 /* readonly */ 14498 bool dynamic; 14499 /* readonly */ 14500 uint elementMask; 14501 /* readonly */ 14502 Array<VertexElement> elements; 14503 /* readonly */ 14504 int refs; 14505 bool shadowed; 14506 /* readonly */ 14507 StringHash type; 14508 /* readonly */ 14509 String typeName; 14510 /* readonly */ 14511 uint vertexCount; 14512 /* readonly */ 14513 uint vertexSize; 14514 /* readonly */ 14515 int weakRefs; 14516 }; 14517 14518 class VertexElement 14519 { 14520 public: 14521 ~VertexElement(); 14522 VertexElement(); 14523 VertexElement(const VertexElement&in); 14524 VertexElement(VertexElementType, VertexElementSemantic, uint8 index = 0, bool perInstance = false); 14525 14526 // Properties: 14527 uint8 index; 14528 uint offset; 14529 bool perInstance; 14530 VertexElementSemantic semantic; 14531 VertexElementType type; 14532 }; 14533 14534 class View3D 14535 { 14536 public: 14537 View3D(); 14538 View3D(const String&in); 14539 // Methods: 14540 void AddChild(UIElement); 14541 void AddTag(const String&); 14542 void AddTags(const String&, int8 = ';'); 14543 void ApplyAttributes(); 14544 void BringToFront(); 14545 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 14546 void DisableLayoutUpdate(); 14547 IntVector2 ElementToScreen(const IntVector2&); 14548 void EnableLayoutUpdate(); 14549 uint FindChild(UIElement) const; 14550 Variant GetAttribute(const String&) const; 14551 ValueAnimation GetAttributeAnimation(const String&) const; 14552 float GetAttributeAnimationSpeed(const String&) const; 14553 float GetAttributeAnimationTime(const String&) const; 14554 WrapMode GetAttributeAnimationWrapMode(const String&) const; 14555 Variant GetAttributeDefault(const String&) const; 14556 UIElement GetChild(const String&, bool = false) const; 14557 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 14558 Array<UIElement> GetChildren(bool = false) const; 14559 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 14560 UIElement GetElementEventSender() const; 14561 bool GetInterceptNetworkUpdate(const String&) const; 14562 uint GetNumChildren(bool) const; 14563 bool HasSubscribedToEvent(Object, const String&); 14564 bool HasSubscribedToEvent(const String&); 14565 bool HasTag(const String&) const; 14566 void InsertChild(uint, UIElement); 14567 bool IsInside(IntVector2, bool); 14568 bool IsInsideCombined(IntVector2, bool); 14569 bool Load(File, bool = false); 14570 bool Load(VectorBuffer&, bool = false); 14571 UIElement LoadChildXML(XMLFile, XMLFile = null); 14572 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 14573 bool LoadJSON(const JSONValue&, bool = false); 14574 bool LoadXML(File); 14575 bool LoadXML(VectorBuffer&); 14576 bool LoadXML(XMLFile, XMLFile); 14577 bool LoadXML(const XMLElement&, XMLFile, bool = false); 14578 bool LoadXML(const XMLElement&, bool = false); 14579 void MarkNetworkUpdate() const; 14580 void QueueUpdate(); 14581 void Remove(); 14582 void RemoveAllChildren(); 14583 void RemoveAllTags(); 14584 void RemoveAttributeAnimation(const String&); 14585 void RemoveChild(UIElement, uint = 0); 14586 void RemoveChild(uint); 14587 void RemoveInstanceDefault(); 14588 void RemoveObjectAnimation(); 14589 bool RemoveTag(const String&); 14590 void ResetDeepEnabled(); 14591 void ResetToDefault(); 14592 bool Save(File) const; 14593 bool Save(VectorBuffer&) const; 14594 bool SaveJSON(JSONValue&) const; 14595 bool SaveXML(File, const String& = "\t"); 14596 bool SaveXML(VectorBuffer&, const String& = "\t"); 14597 bool SaveXML(XMLElement&) const; 14598 IntVector2 ScreenToElement(const IntVector2&); 14599 void SendEvent(const String&, VariantMap& = VariantMap ( )); 14600 void SetAlignment(HorizontalAlignment, VerticalAlignment); 14601 void SetAnimationTime(float); 14602 bool SetAttribute(const String&, const Variant&); 14603 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 14604 void SetAttributeAnimationSpeed(const String&, float); 14605 void SetAttributeAnimationTime(const String&, float); 14606 void SetAttributeAnimationWrapMode(const String&, WrapMode); 14607 void SetDeepEnabled(bool); 14608 void SetEnabledRecursive(bool); 14609 void SetFixedHeight(int); 14610 void SetFixedSize(int, int); 14611 void SetFixedWidth(int); 14612 void SetFullImageRect(); 14613 void SetHoverOffset(int, int); 14614 void SetInterceptNetworkUpdate(const String&, bool); 14615 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 14616 void SetMaxAnchor(float, float); 14617 void SetMaxSize(int, int); 14618 void SetMinAnchor(float, float); 14619 void SetMinSize(int, int); 14620 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 14621 void SetPivot(float, float); 14622 void SetPosition(int, int); 14623 void SetSize(int, int); 14624 bool SetStyle(const String&, XMLFile = null); 14625 bool SetStyle(const XMLElement&); 14626 bool SetStyleAuto(XMLFile = null); 14627 void SetView(Scene, Camera, bool = true); 14628 void UpdateLayout(); 14629 const Variant& GetVar(const StringHash&); 14630 14631 // Properties: 14632 bool animationEnabled; 14633 /* readonly */ 14634 Array<Variant> attributeDefaults; 14635 /* readonly */ 14636 Array<AttributeInfo> attributeInfos; 14637 Array<Variant> attributes; 14638 bool autoUpdate; 14639 BlendMode blendMode; 14640 IntRect border; 14641 bool bringToBack; 14642 bool bringToFront; 14643 /* readonly */ 14644 Node cameraNode; 14645 /* readonly */ 14646 String category; 14647 /* readonly */ 14648 IntVector2 childOffset; 14649 /* readonly */ 14650 Array<UIElement> children; 14651 IntRect clipBorder; 14652 bool clipChildren; 14653 /* writeonly */ 14654 Color color; 14655 /* readonly */ 14656 bool colorGradient; 14657 Array<Color> colors; 14658 /* readonly */ 14659 IntRect combinedScreenRect; 14660 XMLFile defaultStyle; 14661 /* readonly */ 14662 Texture2D depthTexture; 14663 /* readonly */ 14664 float derivedOpacity; 14665 /* readonly */ 14666 uint dragButtonCombo; 14667 /* readonly */ 14668 int dragButtonCount; 14669 uint dragDropMode; 14670 bool editable; 14671 bool elementEventSender; 14672 bool enableAnchor; 14673 bool enabled; 14674 /* readonly */ 14675 bool enabledSelf; 14676 /* readonly */ 14677 bool fixedHeight; 14678 bool fixedHeightResizing; 14679 /* readonly */ 14680 bool fixedSize; 14681 /* readonly */ 14682 bool fixedWidth; 14683 bool fixedWidthResizing; 14684 bool focus; 14685 FocusMode focusMode; 14686 uint format; 14687 int height; 14688 HorizontalAlignment horizontalAlignment; 14689 IntVector2 hoverOffset; 14690 /* readonly */ 14691 bool hovering; 14692 IntRect imageBorder; 14693 IntRect imageRect; 14694 int indent; 14695 int indentSpacing; 14696 /* readonly */ 14697 int indentWidth; 14698 bool internal; 14699 IntRect layoutBorder; 14700 Vector2 layoutFlexScale; 14701 LayoutMode layoutMode; 14702 int layoutSpacing; 14703 Vector2 maxAnchor; 14704 int maxHeight; 14705 IntVector2 maxOffset; 14706 IntVector2 maxSize; 14707 int maxWidth; 14708 Vector2 minAnchor; 14709 int minHeight; 14710 IntVector2 minOffset; 14711 IntVector2 minSize; 14712 int minWidth; 14713 bool modal; 14714 bool modalAutoDismiss; 14715 Color modalFrameColor; 14716 IntVector2 modalFrameSize; 14717 Color modalShadeColor; 14718 bool movable; 14719 String name; 14720 /* readonly */ 14721 uint numAllChildren; 14722 /* readonly */ 14723 uint numAttributes; 14724 /* readonly */ 14725 uint numChildren; 14726 ObjectAnimation objectAnimation; 14727 float opacity; 14728 UIElement parent; 14729 Vector2 pivot; 14730 IntVector2 position; 14731 int priority; 14732 /* readonly */ 14733 int refs; 14734 /* readonly */ 14735 Texture2D renderTexture; 14736 bool resizable; 14737 IntRect resizeBorder; 14738 /* readonly */ 14739 UIElement root; 14740 /* readonly */ 14741 Scene scene; 14742 /* readonly */ 14743 IntVector2 screenPosition; 14744 bool selected; 14745 IntVector2 size; 14746 bool sortChildren; 14747 String style; 14748 /* readonly */ 14749 Array<String> tags; 14750 bool temporary; 14751 Texture texture; 14752 bool tiled; 14753 TraversalMode traversalMode; 14754 /* readonly */ 14755 StringHash type; 14756 /* readonly */ 14757 String typeName; 14758 bool useDerivedOpacity; 14759 /* readonly */ 14760 VariantMap vars; 14761 VerticalAlignment verticalAlignment; 14762 /* readonly */ 14763 Viewport viewport; 14764 bool visible; 14765 /* readonly */ 14766 bool visibleEffective; 14767 /* readonly */ 14768 int weakRefs; 14769 int width; 14770 }; 14771 14772 class Viewport 14773 { 14774 public: 14775 Viewport(); 14776 Viewport(Scene&, Camera&, RenderPath& renderPath = null); 14777 Viewport(Scene&, Camera&, const IntRect&in, RenderPath& renderPath = null); 14778 // Methods: 14779 Ray GetScreenRay(int, int) const; 14780 bool HasSubscribedToEvent(Object, const String&); 14781 bool HasSubscribedToEvent(const String&); 14782 Vector3 ScreenToWorldPoint(int, int, float) const; 14783 void SendEvent(const String&, VariantMap& = VariantMap ( )); 14784 void SetRenderPath(XMLFile); 14785 IntVector2 WorldToScreenPoint(const Vector3&) const; 14786 14787 // Properties: 14788 Camera camera; 14789 /* readonly */ 14790 String category; 14791 Camera cullCamera; 14792 bool drawDebug; 14793 IntRect rect; 14794 /* readonly */ 14795 int refs; 14796 RenderPath renderPath; 14797 Scene scene; 14798 /* readonly */ 14799 StringHash type; 14800 /* readonly */ 14801 String typeName; 14802 /* readonly */ 14803 int weakRefs; 14804 }; 14805 14806 class WeakHandle 14807 { 14808 public: 14809 ~WeakHandle(); 14810 WeakHandle(); 14811 WeakHandle(const WeakHandle&in); 14812 WeakHandle(RefCounted@); 14813 // Methods: 14814 RefCounted Get() const; 14815 14816 // Properties: 14817 /* readonly */ 14818 bool expired; 14819 /* readonly */ 14820 int refs; 14821 /* readonly */ 14822 int weakRefs; 14823 }; 14824 14825 class Window 14826 { 14827 public: 14828 Window(); 14829 Window(const String&in); 14830 // Methods: 14831 void AddChild(UIElement); 14832 void AddTag(const String&); 14833 void AddTags(const String&, int8 = ';'); 14834 void ApplyAttributes(); 14835 void BringToFront(); 14836 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED); 14837 void DisableLayoutUpdate(); 14838 IntVector2 ElementToScreen(const IntVector2&); 14839 void EnableLayoutUpdate(); 14840 uint FindChild(UIElement) const; 14841 Variant GetAttribute(const String&) const; 14842 ValueAnimation GetAttributeAnimation(const String&) const; 14843 float GetAttributeAnimationSpeed(const String&) const; 14844 float GetAttributeAnimationTime(const String&) const; 14845 WrapMode GetAttributeAnimationWrapMode(const String&) const; 14846 Variant GetAttributeDefault(const String&) const; 14847 UIElement GetChild(const String&, bool = false) const; 14848 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const; 14849 Array<UIElement> GetChildren(bool = false) const; 14850 Array<UIElement> GetChildrenWithTag(const String&, bool = false) const; 14851 UIElement GetElementEventSender() const; 14852 bool GetInterceptNetworkUpdate(const String&) const; 14853 uint GetNumChildren(bool) const; 14854 bool HasSubscribedToEvent(Object, const String&); 14855 bool HasSubscribedToEvent(const String&); 14856 bool HasTag(const String&) const; 14857 void InsertChild(uint, UIElement); 14858 bool IsInside(IntVector2, bool); 14859 bool IsInsideCombined(IntVector2, bool); 14860 bool Load(File, bool = false); 14861 bool Load(VectorBuffer&, bool = false); 14862 UIElement LoadChildXML(XMLFile, XMLFile = null); 14863 UIElement LoadChildXML(const XMLElement&, XMLFile = null, bool = false); 14864 bool LoadJSON(const JSONValue&, bool = false); 14865 bool LoadXML(File); 14866 bool LoadXML(VectorBuffer&); 14867 bool LoadXML(XMLFile, XMLFile); 14868 bool LoadXML(const XMLElement&, XMLFile, bool = false); 14869 bool LoadXML(const XMLElement&, bool = false); 14870 void MarkNetworkUpdate() const; 14871 void Remove(); 14872 void RemoveAllChildren(); 14873 void RemoveAllTags(); 14874 void RemoveAttributeAnimation(const String&); 14875 void RemoveChild(UIElement, uint = 0); 14876 void RemoveChild(uint); 14877 void RemoveInstanceDefault(); 14878 void RemoveObjectAnimation(); 14879 bool RemoveTag(const String&); 14880 void ResetDeepEnabled(); 14881 void ResetToDefault(); 14882 bool Save(File) const; 14883 bool Save(VectorBuffer&) const; 14884 bool SaveJSON(JSONValue&) const; 14885 bool SaveXML(File, const String& = "\t"); 14886 bool SaveXML(VectorBuffer&, const String& = "\t"); 14887 bool SaveXML(XMLElement&) const; 14888 IntVector2 ScreenToElement(const IntVector2&); 14889 void SendEvent(const String&, VariantMap& = VariantMap ( )); 14890 void SetAlignment(HorizontalAlignment, VerticalAlignment); 14891 void SetAnimationTime(float); 14892 bool SetAttribute(const String&, const Variant&); 14893 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 14894 void SetAttributeAnimationSpeed(const String&, float); 14895 void SetAttributeAnimationTime(const String&, float); 14896 void SetAttributeAnimationWrapMode(const String&, WrapMode); 14897 void SetDeepEnabled(bool); 14898 void SetEnabledRecursive(bool); 14899 void SetFixedHeight(int); 14900 void SetFixedSize(int, int); 14901 void SetFixedWidth(int); 14902 void SetFullImageRect(); 14903 void SetHoverOffset(int, int); 14904 void SetInterceptNetworkUpdate(const String&, bool); 14905 void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 )); 14906 void SetMaxAnchor(float, float); 14907 void SetMaxSize(int, int); 14908 void SetMinAnchor(float, float); 14909 void SetMinSize(int, int); 14910 void SetParent(UIElement, uint = M_MAX_UNSIGNED); 14911 void SetPivot(float, float); 14912 void SetPosition(int, int); 14913 void SetSize(int, int); 14914 bool SetStyle(const String&, XMLFile = null); 14915 bool SetStyle(const XMLElement&); 14916 bool SetStyleAuto(XMLFile = null); 14917 void UpdateLayout(); 14918 const Variant& GetVar(const StringHash&); 14919 14920 // Properties: 14921 bool animationEnabled; 14922 /* readonly */ 14923 Array<Variant> attributeDefaults; 14924 /* readonly */ 14925 Array<AttributeInfo> attributeInfos; 14926 Array<Variant> attributes; 14927 BlendMode blendMode; 14928 IntRect border; 14929 bool bringToBack; 14930 bool bringToFront; 14931 /* readonly */ 14932 String category; 14933 /* readonly */ 14934 IntVector2 childOffset; 14935 /* readonly */ 14936 Array<UIElement> children; 14937 IntRect clipBorder; 14938 bool clipChildren; 14939 /* writeonly */ 14940 Color color; 14941 /* readonly */ 14942 bool colorGradient; 14943 Array<Color> colors; 14944 /* readonly */ 14945 IntRect combinedScreenRect; 14946 XMLFile defaultStyle; 14947 /* readonly */ 14948 float derivedOpacity; 14949 /* readonly */ 14950 uint dragButtonCombo; 14951 /* readonly */ 14952 int dragButtonCount; 14953 uint dragDropMode; 14954 bool editable; 14955 bool elementEventSender; 14956 bool enableAnchor; 14957 bool enabled; 14958 /* readonly */ 14959 bool enabledSelf; 14960 /* readonly */ 14961 bool fixedHeight; 14962 bool fixedHeightResizing; 14963 /* readonly */ 14964 bool fixedSize; 14965 /* readonly */ 14966 bool fixedWidth; 14967 bool fixedWidthResizing; 14968 bool focus; 14969 FocusMode focusMode; 14970 int height; 14971 HorizontalAlignment horizontalAlignment; 14972 IntVector2 hoverOffset; 14973 /* readonly */ 14974 bool hovering; 14975 IntRect imageBorder; 14976 IntRect imageRect; 14977 int indent; 14978 int indentSpacing; 14979 /* readonly */ 14980 int indentWidth; 14981 bool internal; 14982 IntRect layoutBorder; 14983 Vector2 layoutFlexScale; 14984 LayoutMode layoutMode; 14985 int layoutSpacing; 14986 Vector2 maxAnchor; 14987 int maxHeight; 14988 IntVector2 maxOffset; 14989 IntVector2 maxSize; 14990 int maxWidth; 14991 Vector2 minAnchor; 14992 int minHeight; 14993 IntVector2 minOffset; 14994 IntVector2 minSize; 14995 int minWidth; 14996 bool modal; 14997 bool modalAutoDismiss; 14998 Color modalFrameColor; 14999 IntVector2 modalFrameSize; 15000 Color modalShadeColor; 15001 bool movable; 15002 String name; 15003 /* readonly */ 15004 uint numAllChildren; 15005 /* readonly */ 15006 uint numAttributes; 15007 /* readonly */ 15008 uint numChildren; 15009 ObjectAnimation objectAnimation; 15010 float opacity; 15011 UIElement parent; 15012 Vector2 pivot; 15013 IntVector2 position; 15014 int priority; 15015 /* readonly */ 15016 int refs; 15017 bool resizable; 15018 IntRect resizeBorder; 15019 /* readonly */ 15020 UIElement root; 15021 /* readonly */ 15022 IntVector2 screenPosition; 15023 bool selected; 15024 IntVector2 size; 15025 bool sortChildren; 15026 String style; 15027 /* readonly */ 15028 Array<String> tags; 15029 bool temporary; 15030 Texture texture; 15031 bool tiled; 15032 TraversalMode traversalMode; 15033 /* readonly */ 15034 StringHash type; 15035 /* readonly */ 15036 String typeName; 15037 bool useDerivedOpacity; 15038 /* readonly */ 15039 VariantMap vars; 15040 VerticalAlignment verticalAlignment; 15041 bool visible; 15042 /* readonly */ 15043 bool visibleEffective; 15044 /* readonly */ 15045 int weakRefs; 15046 int width; 15047 }; 15048 15049 class XMLElement 15050 { 15051 public: 15052 ~XMLElement(); 15053 XMLElement(); 15054 XMLElement(const XMLElement&in); 15055 // Methods: 15056 XMLElement CreateChild(const String&); 15057 String GetAttribute(const String& = String ( )) const; 15058 String GetAttributeLower(const String&) const; 15059 Array<String> GetAttributeNames() const; 15060 String GetAttributeUpper(const String&) const; 15061 bool GetBool(const String&) const; 15062 BoundingBox GetBoundingBox() const; 15063 XMLElement GetChild(const String& = String ( )) const; 15064 Color GetColor(const String&) const; 15065 double GetDouble(const String&) const; 15066 float GetFloat(const String&) const; 15067 int GetInt(const String&) const; 15068 int64 GetInt64(const String&) const; 15069 IntRect GetIntRect(const String&) const; 15070 IntVector2 GetIntVector2(const String&) const; 15071 IntVector3 GetIntVector3(const String&) const; 15072 Matrix3 GetMatrix3(const String&) const; 15073 Matrix3x4 GetMatrix3x4(const String&) const; 15074 Matrix4 GetMatrix4(const String&) const; 15075 XMLElement GetNext(const String& = String ( )) const; 15076 XMLElement GetOrCreateChild(const String&); 15077 Quaternion GetQuaternion(const String&) const; 15078 ResourceRef GetResourceRef() const; 15079 ResourceRefList GetResourceRefList() const; 15080 uint GetUInt(const String&) const; 15081 uint64 GetUInt64(const String&) const; 15082 String GetValue() const; 15083 Variant GetVariant() const; 15084 VariantMap GetVariantMap() const; 15085 Array<Variant> GetVariantVector() const; 15086 Vector2 GetVector2(const String&) const; 15087 Vector3 GetVector3(const String&) const; 15088 Vector4 GetVector4(const String&) const; 15089 Variant GetVectorVariant(const String&) const; 15090 bool HasAttribute(const String&) const; 15091 bool HasChild(const String&) const; 15092 bool RemoveAttribute(const String& = String ( )); 15093 bool RemoveChild(const String&); 15094 bool RemoveChild(const XMLElement&); 15095 bool RemoveChildren(const String& = String ( )); 15096 XPathResultSet Select(const String&); 15097 XPathResultSet SelectPrepared(const XPathQuery&); 15098 XMLElement SelectSingle(const String&); 15099 XMLElement SelectSinglePrepared(const XPathQuery&); 15100 bool SetAttribute(const String&); 15101 bool SetAttribute(const String&, const String&); 15102 bool SetBool(const String&, bool); 15103 bool SetBoundingBox(const BoundingBox&); 15104 bool SetColor(const String&, const Color&); 15105 bool SetDouble(const String&, double); 15106 bool SetFloat(const String&, float); 15107 bool SetInt(const String&, int); 15108 bool SetInt64(const String&, int64); 15109 bool SetIntRect(const String&, const IntRect&); 15110 bool SetIntVector2(const String&, const IntVector2&); 15111 bool SetIntVector3(const String&, const IntVector3&); 15112 bool SetMatrix3(const String&, const Matrix3&); 15113 bool SetMatrix3x4(const String&, const Matrix3x4&); 15114 bool SetMatrix4(const String&, const Matrix4&); 15115 bool SetQuaternion(const String&, const Quaternion&); 15116 bool SetResourceRef(const String&, const ResourceRef&); 15117 bool SetResourceRefList(const String&, const ResourceRefList&); 15118 bool SetUInt(const String&, uint); 15119 bool SetUInt64(const String&, uint64); 15120 bool SetValue(const String&); 15121 bool SetVariant(const Variant&); 15122 bool SetVariantMap(const VariantMap&); 15123 bool SetVariantVector(Array<Variant>); 15124 bool SetVector2(const String&, const Vector2&); 15125 bool SetVector3(const String&, const Vector3&); 15126 bool SetVector4(const String&, const Vector4&); 15127 bool SetVectorVariant(const String&, const Variant&); 15128 15129 // Properties: 15130 /* readonly */ 15131 XMLFile file; 15132 /* readonly */ 15133 bool isNull; 15134 /* readonly */ 15135 String name; 15136 /* readonly */ 15137 XMLElement nextResult; 15138 /* readonly */ 15139 bool notNull; 15140 /* readonly */ 15141 uint numAttributes; 15142 /* readonly */ 15143 XMLElement parent; 15144 String value; 15145 }; 15146 15147 class XMLFile 15148 { 15149 public: 15150 XMLFile(); 15151 XMLFile(const String&in); 15152 // Methods: 15153 XMLElement CreateRoot(const String&); 15154 bool FromString(const String&); 15155 XMLElement GetOrCreateRoot(const String&); 15156 XMLElement GetRoot(const String& = String ( )); 15157 bool HasSubscribedToEvent(Object, const String&); 15158 bool HasSubscribedToEvent(const String&); 15159 bool Load(File); 15160 bool Load(VectorBuffer&); 15161 bool Load(const String&); 15162 void Patch(XMLElement); 15163 void Patch(XMLFile); 15164 bool Save(File) const; 15165 bool Save(File, const String&) const; 15166 bool Save(VectorBuffer&) const; 15167 bool Save(const String&) const; 15168 void SendEvent(const String&, VariantMap& = VariantMap ( )); 15169 String ToString(const String& = String ( "\t" )) const; 15170 15171 // Properties: 15172 /* readonly */ 15173 String category; 15174 /* readonly */ 15175 uint memoryUse; 15176 String name; 15177 /* readonly */ 15178 int refs; 15179 /* readonly */ 15180 XMLElement root; 15181 /* readonly */ 15182 StringHash type; 15183 /* readonly */ 15184 String typeName; 15185 /* readonly */ 15186 uint useTimer; 15187 /* readonly */ 15188 int weakRefs; 15189 }; 15190 15191 class XPathQuery 15192 { 15193 public: 15194 ~XPathQuery(); 15195 XPathQuery(); 15196 XPathQuery(const String&in, const String&inout arg1 = String ( )); 15197 // Methods: 15198 void Bind(); 15199 void Clear(); 15200 XPathResultSet Evaluate(XMLElement); 15201 bool EvaluateToBool(XMLElement); 15202 float EvaluateToFloat(XMLElement); 15203 String EvaluateToString(XMLElement); 15204 bool SetQuery(const String&, const String& = String ( ), bool = true); 15205 bool SetVariable(const String&, bool); 15206 bool SetVariable(const String&, const String&); 15207 bool SetVariable(const String&, const XPathResultSet&); 15208 bool SetVariable(const String&, float); 15209 15210 // Properties: 15211 String query; 15212 }; 15213 15214 class XPathResultSet 15215 { 15216 public: 15217 ~XPathResultSet(); 15218 XPathResultSet(); 15219 XPathResultSet(const XPathResultSet&in); 15220 15221 // Properties: 15222 /* readonly */ 15223 bool empty; 15224 /* readonly */ 15225 XMLElement firstResult; 15226 /* readonly */ 15227 uint size; 15228 }; 15229 15230 class Zone 15231 { 15232 public: 15233 // Methods: 15234 void ApplyAttributes(); 15235 void DrawDebugGeometry(DebugRenderer, bool); 15236 Variant GetAttribute(const String&) const; 15237 ValueAnimation GetAttributeAnimation(const String&) const; 15238 float GetAttributeAnimationSpeed(const String&) const; 15239 float GetAttributeAnimationTime(const String&) const; 15240 WrapMode GetAttributeAnimationWrapMode(const String&) const; 15241 Variant GetAttributeDefault(const String&) const; 15242 bool GetInterceptNetworkUpdate(const String&) const; 15243 bool HasSubscribedToEvent(Object, const String&); 15244 bool HasSubscribedToEvent(const String&); 15245 bool IsInView(Camera) const; 15246 bool Load(File, bool = false); 15247 bool Load(VectorBuffer&, bool = false); 15248 bool LoadJSON(const JSONValue&, bool = false); 15249 bool LoadXML(const XMLElement&, bool = false); 15250 void MarkNetworkUpdate() const; 15251 void Remove(); 15252 void RemoveAttributeAnimation(const String&); 15253 void RemoveInstanceDefault(); 15254 void RemoveObjectAnimation(); 15255 void ResetToDefault(); 15256 bool Save(File) const; 15257 bool Save(VectorBuffer&) const; 15258 bool SaveJSON(JSONValue&) const; 15259 bool SaveXML(XMLElement&) const; 15260 void SendEvent(const String&, VariantMap& = VariantMap ( )); 15261 void SetAnimationTime(float); 15262 bool SetAttribute(const String&, const Variant&); 15263 void SetAttributeAnimation(const String&, ValueAnimation, WrapMode = WM_LOOP, float = 1.0f); 15264 void SetAttributeAnimationSpeed(const String&, float); 15265 void SetAttributeAnimationTime(const String&, float); 15266 void SetAttributeAnimationWrapMode(const String&, WrapMode); 15267 void SetInterceptNetworkUpdate(const String&, bool); 15268 15269 // Properties: 15270 Color ambientColor; 15271 /* readonly */ 15272 Color ambientEndColor; 15273 bool ambientGradient; 15274 /* readonly */ 15275 Color ambientStartColor; 15276 bool animationEnabled; 15277 /* readonly */ 15278 Array<Variant> attributeDefaults; 15279 /* readonly */ 15280 Array<AttributeInfo> attributeInfos; 15281 Array<Variant> attributes; 15282 BoundingBox boundingBox; 15283 bool castShadows; 15284 /* readonly */ 15285 String category; 15286 float drawDistance; 15287 bool enabled; 15288 /* readonly */ 15289 bool enabledEffective; 15290 Color fogColor; 15291 float fogEnd; 15292 float fogHeight; 15293 float fogHeightScale; 15294 float fogStart; 15295 bool heightFog; 15296 /* readonly */ 15297 uint id; 15298 /* readonly */ 15299 bool inView; 15300 /* readonly */ 15301 Matrix3x4 inverseWorldTransform; 15302 uint lightMask; 15303 float lodBias; 15304 uint maxLights; 15305 /* readonly */ 15306 Node node; 15307 /* readonly */ 15308 uint numAttributes; 15309 ObjectAnimation objectAnimation; 15310 bool occludee; 15311 bool occluder; 15312 bool override; 15313 int priority; 15314 /* readonly */ 15315 int refs; 15316 float shadowDistance; 15317 uint shadowMask; 15318 bool temporary; 15319 /* readonly */ 15320 StringHash type; 15321 /* readonly */ 15322 String typeName; 15323 uint viewMask; 15324 /* readonly */ 15325 int weakRefs; 15326 /* readonly */ 15327 BoundingBox worldBoundingBox; 15328 uint zoneMask; 15329 Texture zoneTexture; 15330 }; 15331 15332 // Enumerations 15333 15334 enum AnimationBlendMode 15335 { 15336 ABM_LERP, 15337 ABM_ADDITIVE, 15338 }; 15339 15340 enum AutoRemoveMode 15341 { 15342 REMOVE_DISABLED, 15343 REMOVE_COMPONENT, 15344 REMOVE_NODE, 15345 }; 15346 15347 enum BlendMode 15348 { 15349 BLEND_REPLACE, 15350 BLEND_ADD, 15351 BLEND_MULTIPLY, 15352 BLEND_ALPHA, 15353 BLEND_ADDALPHA, 15354 BLEND_PREMULALPHA, 15355 BLEND_INVDESTALPHA, 15356 BLEND_SUBTRACT, 15357 BLEND_SUBTRACTALPHA, 15358 }; 15359 15360 enum BodyType2D 15361 { 15362 BT_STATIC, 15363 BT_KINEMATIC, 15364 BT_DYNAMIC, 15365 }; 15366 15367 enum CollisionEventMode 15368 { 15369 COLLISION_NEVER, 15370 COLLISION_ACTIVE, 15371 COLLISION_ALWAYS, 15372 }; 15373 15374 enum CompareMode 15375 { 15376 CMP_ALWAYS, 15377 CMP_EQUAL, 15378 CMP_NOTEQUAL, 15379 CMP_LESS, 15380 CMP_LESSEQUAL, 15381 CMP_GREATER, 15382 CMP_GREATEREQUAL, 15383 }; 15384 15385 enum CompressedFormat 15386 { 15387 CF_NONE, 15388 CF_RGBA, 15389 CF_DXT1, 15390 CF_DXT3, 15391 CF_DXT5, 15392 CF_ETC1, 15393 CF_PVRTC_RGB_2BPP, 15394 CF_PVRTC_RGBA_2BPP, 15395 CF_PVRTC_RGB_4BPP, 15396 CF_PVRTC_RGBA_4BPP, 15397 }; 15398 15399 enum ConstraintType 15400 { 15401 CONSTRAINT_POINT, 15402 CONSTRAINT_HINGE, 15403 CONSTRAINT_SLIDER, 15404 CONSTRAINT_CONETWIST, 15405 }; 15406 15407 enum Corner 15408 { 15409 C_TOPLEFT, 15410 C_TOPRIGHT, 15411 C_BOTTOMLEFT, 15412 C_BOTTOMRIGHT, 15413 }; 15414 15415 enum CreateMode 15416 { 15417 REPLICATED, 15418 LOCAL, 15419 }; 15420 15421 enum CrowdAgentRequestedTarget 15422 { 15423 CA_REQUESTEDTARGET_NONE, 15424 CA_REQUESTEDTARGET_POSITION, 15425 CA_REQUESTEDTARGET_VELOCITY, 15426 }; 15427 15428 enum CrowdAgentState 15429 { 15430 CA_STATE_INVALID, 15431 CA_STATE_WALKING, 15432 CA_STATE_OFFMESH, 15433 }; 15434 15435 enum CrowdAgentTargetState 15436 { 15437 CA_TARGET_NONE, 15438 CA_TARGET_FAILED, 15439 CA_TARGET_VALID, 15440 CA_TARGET_REQUESTING, 15441 CA_TARGET_WAITINGFORQUEUE, 15442 CA_TARGET_WAITINGFORPATH, 15443 CA_TARGET_VELOCITY, 15444 }; 15445 15446 enum CubeMapFace 15447 { 15448 FACE_POSITIVE_X, 15449 FACE_NEGATIVE_X, 15450 FACE_POSITIVE_Y, 15451 FACE_NEGATIVE_Y, 15452 FACE_POSITIVE_Z, 15453 FACE_NEGATIVE_Z, 15454 }; 15455 15456 enum CullMode 15457 { 15458 CULL_NONE, 15459 CULL_CCW, 15460 CULL_CW, 15461 }; 15462 15463 enum CursorShape 15464 { 15465 CS_NORMAL, 15466 CS_IBEAM, 15467 CS_CROSS, 15468 CS_RESIZEVERTICAL, 15469 CS_RESIZEDIAGONAL_TOPRIGHT, 15470 CS_RESIZEHORIZONTAL, 15471 CS_RESIZEDIAGONAL_TOPLEFT, 15472 CS_RESIZE_ALL, 15473 CS_ACCEPTDROP, 15474 CS_REJECTDROP, 15475 CS_BUSY, 15476 CS_BUSY_ARROW, 15477 }; 15478 15479 enum DBAPI 15480 { 15481 DBAPI_SQLITE, 15482 DBAPI_ODBC, 15483 }; 15484 15485 enum DumpMode 15486 { 15487 DOXYGEN, 15488 C_HEADER, 15489 }; 15490 15491 enum EmitterType 15492 { 15493 EMITTER_SPHERE, 15494 EMITTER_BOX, 15495 }; 15496 15497 enum EmitterType2D 15498 { 15499 EMITTER_TYPE_GRAVITY, 15500 EMITTER_TYPE_RADIAL, 15501 }; 15502 15503 enum FaceCameraMode 15504 { 15505 FC_NONE, 15506 FC_ROTATE_XYZ, 15507 FC_ROTATE_Y, 15508 FC_LOOKAT_XYZ, 15509 FC_LOOKAT_Y, 15510 FC_LOOKAT_MIXED, 15511 FC_DIRECTION, 15512 }; 15513 15514 enum FileMode 15515 { 15516 FILE_READ, 15517 FILE_WRITE, 15518 FILE_READWRITE, 15519 }; 15520 15521 enum FillMode 15522 { 15523 FILL_SOLID, 15524 FILL_WIREFRAME, 15525 FILL_POINT, 15526 }; 15527 15528 enum FocusMode 15529 { 15530 FM_NOTFOCUSABLE, 15531 FM_RESETFOCUS, 15532 FM_FOCUSABLE, 15533 FM_FOCUSABLE_DEFOCUSABLE, 15534 }; 15535 15536 enum FontHintLevel 15537 { 15538 FONT_HINT_LEVEL_NONE, 15539 FONT_HINT_LEVEL_LIGHT, 15540 FONT_HINT_LEVEL_NORMAL, 15541 }; 15542 15543 enum FontType 15544 { 15545 FONT_NONE, 15546 FONT_FREETYPE, 15547 FONT_BITMAP, 15548 }; 15549 15550 enum HighlightMode 15551 { 15552 HM_NEVER, 15553 HM_FOCUS, 15554 HM_ALWAYS, 15555 }; 15556 15557 enum HorizontalAlignment 15558 { 15559 HA_LEFT, 15560 HA_CENTER, 15561 HA_RIGHT, 15562 HA_CUSTOM, 15563 }; 15564 15565 enum HttpRequestState 15566 { 15567 HTTP_INITIALIZING, 15568 HTTP_ERROR, 15569 HTTP_OPEN, 15570 HTTP_CLOSED, 15571 }; 15572 15573 enum IKAlgorithm 15574 { 15575 ONE_BONE, 15576 TWO_BONE, 15577 FABRIK, 15578 }; 15579 15580 enum InterpMethod 15581 { 15582 IM_NONE, 15583 IM_LINEAR, 15584 IM_SPLINE, 15585 }; 15586 15587 enum InterpolationMode 15588 { 15589 BEZIER_CURVE, 15590 CATMULL_ROM_CURVE, 15591 LINEAR_CURVE, 15592 CATMULL_ROM_FULL_CURVE, 15593 }; 15594 15595 enum Intersection 15596 { 15597 OUTSIDE, 15598 INTERSECTS, 15599 INSIDE, 15600 }; 15601 15602 enum JSONNumberType 15603 { 15604 JSONNT_NAN, 15605 JSONNT_INT, 15606 JSONNT_UINT, 15607 JSONNT_FLOAT_DOUBLE, 15608 }; 15609 15610 enum JSONValueType 15611 { 15612 JSON_NULL, 15613 JSON_BOOL, 15614 JSON_NUMBER, 15615 JSON_STRING, 15616 JSON_ARRAY, 15617 JSON_OBJECT, 15618 }; 15619 15620 enum LayoutMode 15621 { 15622 LM_FREE, 15623 LM_HORIZONTAL, 15624 LM_VERTICAL, 15625 }; 15626 15627 enum LightType 15628 { 15629 LIGHT_DIRECTIONAL, 15630 LIGHT_SPOT, 15631 LIGHT_POINT, 15632 }; 15633 15634 enum LoadMode 15635 { 15636 LOAD_RESOURCES_ONLY, 15637 LOAD_SCENE, 15638 LOAD_SCENE_AND_RESOURCES, 15639 }; 15640 15641 enum LoopMode2D 15642 { 15643 LM_DEFAULT, 15644 LM_FORCE_LOOPED, 15645 LM_FORCE_CLAMPED, 15646 }; 15647 15648 enum MouseMode 15649 { 15650 MM_ABSOLUTE, 15651 MM_RELATIVE, 15652 MM_WRAP, 15653 MM_FREE, 15654 }; 15655 15656 enum NavigationPushiness 15657 { 15658 NAVIGATIONPUSHINESS_LOW, 15659 NAVIGATIONPUSHINESS_MEDIUM, 15660 NAVIGATIONPUSHINESS_HIGH, 15661 NAVIGATIONPUSHINESS_NONE, 15662 }; 15663 15664 enum NavigationQuality 15665 { 15666 NAVIGATIONQUALITY_LOW, 15667 NAVIGATIONQUALITY_MEDIUM, 15668 NAVIGATIONQUALITY_HIGH, 15669 }; 15670 15671 enum NavmeshPartitionType 15672 { 15673 NAVMESH_PARTITION_WATERSHED, 15674 NAVMESH_PARTITION_MONOTONE, 15675 }; 15676 15677 enum Orientation 15678 { 15679 O_HORIZONTAL, 15680 O_VERTICAL, 15681 }; 15682 15683 enum Orientation2D 15684 { 15685 O_ORTHOGONAL, 15686 O_ISOMETRIC, 15687 O_STAGGERED, 15688 O_HEXAGONAL, 15689 }; 15690 15691 enum PassLightingMode 15692 { 15693 LIGHTING_UNLIT, 15694 LIGHTING_PERVERTEX, 15695 LIGHTING_PERPIXEL, 15696 }; 15697 15698 enum PrimitiveType 15699 { 15700 TRIANGLE_LIST, 15701 LINE_LIST, 15702 POINT_LIST, 15703 TRIANGLE_STRIP, 15704 LINE_STRIP, 15705 TRIANGLE_FAN, 15706 }; 15707 15708 enum RayQueryLevel 15709 { 15710 RAY_AABB, 15711 RAY_OBB, 15712 RAY_TRIANGLE, 15713 RAY_TRIANGLE_UV, 15714 }; 15715 15716 enum RenderCommandSortMode 15717 { 15718 SORT_FRONTTOBACK, 15719 SORT_BACKTOFRONT, 15720 }; 15721 15722 enum RenderCommandType 15723 { 15724 CMD_NONE, 15725 CMD_CLEAR, 15726 CMD_SCENEPASS, 15727 CMD_QUAD, 15728 CMD_FORWARDLIGHTS, 15729 CMD_LIGHTVOLUMES, 15730 CMD_RENDERUI, 15731 CMD_SENDEVENT, 15732 }; 15733 15734 enum RenderSurfaceUpdateMode 15735 { 15736 SURFACE_MANUALUPDATE, 15737 SURFACE_UPDATEVISIBLE, 15738 SURFACE_UPDATEALWAYS, 15739 }; 15740 15741 enum RenderTargetSizeMode 15742 { 15743 SIZE_ABSOLUTE, 15744 SIZE_VIEWPORTDIVISOR, 15745 SIZE_VIEWPORTMULTIPLIER, 15746 }; 15747 15748 enum ShadowQuality 15749 { 15750 SHADOWQUALITY_SIMPLE_16BIT, 15751 SHADOWQUALITY_SIMPLE_24BIT, 15752 SHADOWQUALITY_PCF_16BIT, 15753 SHADOWQUALITY_PCF_24BIT, 15754 SHADOWQUALITY_VSM, 15755 SHADOWQUALITY_BLUR_VSM, 15756 }; 15757 15758 enum ShapeType 15759 { 15760 SHAPE_BOX, 15761 SHAPE_SPHERE, 15762 SHAPE_STATICPLANE, 15763 SHAPE_CYLINDER, 15764 SHAPE_CAPSULE, 15765 SHAPE_CONE, 15766 SHAPE_TRIANGLEMESH, 15767 SHAPE_CONVEXHULL, 15768 SHAPE_TERRAIN, 15769 }; 15770 15771 enum TextEffect 15772 { 15773 TE_NONE, 15774 TE_SHADOW, 15775 TE_STROKE, 15776 }; 15777 15778 enum TextureAddressMode 15779 { 15780 ADDRESS_WRAP, 15781 ADDRESS_MIRROR, 15782 ADDRESS_CLAMP, 15783 ADDRESS_BORDER, 15784 }; 15785 15786 enum TextureCoordinate 15787 { 15788 COORD_U, 15789 COORD_V, 15790 COORD_W, 15791 }; 15792 15793 enum TextureFilterMode 15794 { 15795 FILTER_NEAREST, 15796 FILTER_BILINEAR, 15797 FILTER_TRILINEAR, 15798 FILTER_ANISOTROPIC, 15799 FILTER_NEAREST_ANISOTROPIC, 15800 FILTER_DEFAULT, 15801 }; 15802 15803 enum TextureUnit 15804 { 15805 TU_DIFFUSE, 15806 TU_ALBEDOBUFFER, 15807 TU_NORMAL, 15808 TU_NORMALBUFFER, 15809 TU_SPECULAR, 15810 TU_EMISSIVE, 15811 TU_ENVIRONMENT, 15812 TU_LIGHTRAMP, 15813 TU_LIGHTSHAPE, 15814 TU_SHADOWMAP, 15815 TU_CUSTOM1, 15816 TU_CUSTOM2, 15817 TU_VOLUMEMAP, 15818 TU_FACESELECT, 15819 TU_INDIRECTION, 15820 TU_DEPTHBUFFER, 15821 TU_LIGHTBUFFER, 15822 TU_ZONE, 15823 MAX_MATERIAL_TEXTURE_UNITS, 15824 MAX_TEXTURE_UNITS, 15825 }; 15826 15827 enum TextureUsage 15828 { 15829 TEXTURE_STATIC, 15830 TEXTURE_DYNAMIC, 15831 TEXTURE_RENDERTARGET, 15832 TEXTURE_DEPTHSTENCIL, 15833 }; 15834 15835 enum TileMapLayerType2D 15836 { 15837 LT_TILE_LAYER, 15838 LT_OBJECT_GROUP, 15839 LT_IMAGE_LAYER, 15840 LT_INVALID, 15841 }; 15842 15843 enum TileObjectType2D 15844 { 15845 OT_RECTANGLE, 15846 OT_ELLIPSE, 15847 OT_POLYGON, 15848 OT_POLYLINE, 15849 OT_TILE, 15850 OT_INVALID, 15851 }; 15852 15853 enum TrailType 15854 { 15855 TT_FACE_CAMERA, 15856 TT_BONE, 15857 }; 15858 15859 enum TransformSpace 15860 { 15861 TS_LOCAL, 15862 TS_PARENT, 15863 TS_WORLD, 15864 }; 15865 15866 enum TraversalMode 15867 { 15868 TM_BREADTH_FIRST, 15869 TM_DEPTH_FIRST, 15870 }; 15871 15872 enum VariantType 15873 { 15874 VAR_NONE, 15875 VAR_INT, 15876 VAR_BOOL, 15877 VAR_FLOAT, 15878 VAR_VECTOR2, 15879 VAR_VECTOR3, 15880 VAR_VECTOR4, 15881 VAR_QUATERNION, 15882 VAR_COLOR, 15883 VAR_STRING, 15884 VAR_BUFFER, 15885 VAR_VOIDPTR, 15886 VAR_RESOURCEREF, 15887 VAR_RESOURCEREFLIST, 15888 VAR_VARIANTVECTOR, 15889 VAR_VARIANTMAP, 15890 VAR_INTRECT, 15891 VAR_INTVECTOR2, 15892 VAR_INTVECTOR3, 15893 VAR_PTR, 15894 VAR_MATRIX3, 15895 VAR_MATRIX3X4, 15896 VAR_MATRIX4, 15897 VAR_DOUBLE, 15898 VAR_STRINGVECTOR, 15899 VAR_RECT, 15900 }; 15901 15902 enum VertexElementSemantic 15903 { 15904 SEM_POSITION, 15905 SEM_NORMAL, 15906 SEM_BINORMAL, 15907 SEM_TANGENT, 15908 SEM_TEXCOORD, 15909 SEM_COLOR, 15910 SEM_BLENDWEIGHTS, 15911 SEM_BLENDINDICES, 15912 SEM_OBJECTINDEX, 15913 MAX_VERTEX_ELEMENT_SEMANTICS, 15914 }; 15915 15916 enum VertexElementType 15917 { 15918 TYPE_INT, 15919 TYPE_FLOAT, 15920 TYPE_VECTOR2, 15921 TYPE_VECTOR3, 15922 TYPE_VECTOR4, 15923 TYPE_UBYTE4, 15924 TYPE_UBYTE4_NORM, 15925 MAX_VERTEX_ELEMENT_TYPES, 15926 }; 15927 15928 enum VerticalAlignment 15929 { 15930 VA_TOP, 15931 VA_CENTER, 15932 VA_BOTTOM, 15933 VA_CUSTOM, 15934 }; 15935 15936 enum WrapMode 15937 { 15938 WM_LOOP, 15939 WM_ONCE, 15940 WM_CLAMP, 15941 }; 15942 15943 // Global functions 15944 float Abs(float); 15945 float Acos(float); 15946 String AddTrailingSlash(const String&); 15947 float Asin(float); 15948 float Atan(float); 15949 float Atan2(float, float); 15950 float Ceil(float); 15951 int CeilToInt(float); 15952 float Clamp(float, float, float); 15953 int Clamp(int, int, int); 15954 void ClearDelayedExecute(const String& = String ( )); 15955 VectorBuffer CompressVectorBuffer(VectorBuffer&); 15956 float Cos(float); 15957 uint CountSetBits(uint); 15958 Object CreateObject(const String&); 15959 VectorBuffer DecompressVectorBuffer(VectorBuffer&); 15960 void DelayedExecute(float, bool, const String&, const Array<Variant> = null); 15961 bool Equals(float, float); 15962 void ErrorDialog(const String&, const String&); 15963 float Floor(float); 15964 int FloorToInt(float); 15965 float Fract(float); 15966 uint GetAlphaFormat(); 15967 Array<String> GetArguments(); 15968 String GetConsoleInput(); 15969 uint GetDepthStencilFormat(); 15970 Object GetEventSender(); 15971 String GetExtension(const String&, bool = true); 15972 String GetFileName(const String&); 15973 String GetFileNameAndExtension(const String&, bool = false); 15974 String GetFileSizeString(uint64); 15975 uint GetFloat16Format(); 15976 uint GetFloat32Format(); 15977 uint GetFormat(const String&); 15978 Variant GetGlobalVar(const String&); 15979 String GetHostName(); 15980 String GetInternalPath(const String&); 15981 uint GetLinearDepthFormat(); 15982 String GetLoginName(); 15983 uint GetLuminanceAlphaFormat(); 15984 uint GetLuminanceFormat(); 15985 uint GetMaxBones(); 15986 String GetMiniDumpDir(); 15987 uint GetNumLogicalCPUs(); 15988 uint GetNumPhysicalCPUs(); 15989 String GetOSVersion(); 15990 Array<AttributeInfo> GetObjectAttributeInfos(const String&); 15991 Array<String> GetObjectCategories(); 15992 Array<String> GetObjectsByCategory(const String&); 15993 String GetParentPath(const String&); 15994 String GetPath(const String&); 15995 String GetPlatform(); 15996 uint GetRG16Format(); 15997 uint GetRGBA16Format(); 15998 uint GetRGBAFloat16Format(); 15999 uint GetRGBAFloat32Format(); 16000 uint GetRGBAFormat(); 16001 uint GetRGBFormat(); 16002 uint GetRGFloat16Format(); 16003 uint GetRGFloat32Format(); 16004 uint GetRandomSeed(); 16005 uint GetReadableDepthFormat(); 16006 String GetTextureUnitName(TextureUnit); 16007 uint64 GetTotalMemory(); 16008 VariantType GetVariantTypeFromName(const String&); 16009 String GetVariantTypeName(VariantType); 16010 bool HasSubscribedToEvent(Object, const String&); 16011 bool HasSubscribedToEvent(const String&); 16012 float InverseLerp(float, float, float); 16013 bool IsAbsolutePath(const String&); 16014 bool IsAlpha(uint); 16015 bool IsDigit(uint); 16016 bool IsNaN(float); 16017 bool IsPowerOfTwo(uint); 16018 String Join(Array<String>&, const String&); 16019 float Lerp(float, float, float); 16020 float Ln(float); 16021 uint LogBaseTwo(uint); 16022 void MarkNetworkUpdate(); 16023 float Max(float, float); 16024 int Max(int, int); 16025 float Min(float, float); 16026 int Min(int, int); 16027 float Mod(float, float); 16028 uint NextPowerOfTwo(uint); 16029 void OpenConsoleWindow(); 16030 float Pow(float, float); 16031 void Print(bool, bool = false); 16032 void Print(const String&, bool = false); 16033 void Print(const Variant&, bool = false); 16034 void Print(float, bool = false); 16035 void Print(int, bool = false); 16036 void Print(int64, bool = false); 16037 void Print(uint, bool = false); 16038 void Print(uint64, bool = false); 16039 void PrintCallStack(bool = false); 16040 float Random(); 16041 float Random(float); 16042 float Random(float, float); 16043 int RandomInt(); 16044 int RandomInt(int); 16045 int RandomInt(int, int); 16046 float RandomNormal(float, float); 16047 void RegisterEventName(const String&); 16048 void Remove(); 16049 String RemoveTrailingSlash(const String&); 16050 String ReplaceExtension(const String&, const String&); 16051 float Round(float); 16052 int RoundToInt(float); 16053 uint SDBMHash(uint, uint8); 16054 void SendEvent(const String&, VariantMap& = VariantMap ( )); 16055 void SetGlobalVar(const String&, Variant&); 16056 void SetMiniDumpDir(const String&); 16057 void SetRandomSeed(uint); 16058 float Sign(float); 16059 float Sin(float); 16060 float SmoothStep(float, float, float); 16061 float Sqrt(float); 16062 float StableRandom(const Vector2&); 16063 float StableRandom(const Vector3&); 16064 float StableRandom(float); 16065 const String& GetTypeName(StringHash); 16066 void SubscribeToEvent(Object, const String&, const String&); 16067 void SubscribeToEvent(const String&, const String&); 16068 float Tan(float); 16069 uint ToLower(uint); 16070 String ToStringHex(int); 16071 uint ToUpper(uint); 16072 void UnsubscribeFromAllEvents(); 16073 void UnsubscribeFromAllEventsExcept(Array<String>); 16074 void UnsubscribeFromEvent(Object, const String&); 16075 void UnsubscribeFromEvent(const String&); 16076 void UnsubscribeFromEvents(Object); 16077 Vector2 VectorCeil(const Vector2&); 16078 Vector3 VectorCeil(const Vector3&); 16079 Vector4 VectorCeil(const Vector4&); 16080 IntVector2 VectorCeilToInt(const Vector2&); 16081 IntVector3 VectorCeilToInt(const Vector3&); 16082 Vector2 VectorFloor(const Vector2&); 16083 Vector3 VectorFloor(const Vector3&); 16084 Vector4 VectorFloor(const Vector4&); 16085 IntVector2 VectorFloorToInt(const Vector2&); 16086 IntVector3 VectorFloorToInt(const Vector3&); 16087 Vector2 VectorLerp(const Vector2&, const Vector2&, const Vector2&); 16088 Vector3 VectorLerp(const Vector3&, const Vector3&, const Vector3&); 16089 Vector4 VectorLerp(const Vector4&, const Vector4&, const Vector4&); 16090 IntVector2 VectorMax(const IntVector2&, const IntVector2&); 16091 IntVector3 VectorMax(const IntVector3&, const IntVector3&); 16092 Vector2 VectorMax(const Vector2&, const Vector2&); 16093 Vector3 VectorMax(const Vector3&, const Vector3&); 16094 Vector4 VectorMax(const Vector4&, const Vector4&); 16095 IntVector2 VectorMin(const IntVector2&, const IntVector2&); 16096 IntVector3 VectorMin(const IntVector3&, const IntVector3&); 16097 Vector2 VectorMin(const Vector2&, const Vector2&); 16098 Vector3 VectorMin(const Vector3&, const Vector3&); 16099 Vector4 VectorMin(const Vector4&, const Vector4&); 16100 Vector2 VectorRound(const Vector2&); 16101 Vector3 VectorRound(const Vector3&); 16102 Vector4 VectorRound(const Vector4&); 16103 IntVector2 VectorRoundToInt(const Vector2&); 16104 IntVector3 VectorRoundToInt(const Vector3&); 16105 bool WriteDrawablesToOBJ(Array<Drawable>, File, bool, bool, bool = false); 16106 16107 // Global properties 16108 DBAPI DBAPI; 16109 Audio audio; 16110 ResourceCache cache; 16111 Console console; 16112 Database database; 16113 DebugHud debugHud; 16114 DebugRenderer debugRenderer; 16115 Engine engine; 16116 FileSystem fileSystem; 16117 VariantMap globalVars; 16118 Graphics graphics; 16119 Input input; 16120 Localization localization; 16121 Log log; 16122 Network network; 16123 Node node; 16124 Octree octree; 16125 PhysicsWorld physicsWorld; 16126 PhysicsWorld2D physicsWorld2D; 16127 Renderer renderer; 16128 ResourceCache resourceCache; 16129 Scene scene; 16130 Script script; 16131 ScriptFile scriptFile; 16132 ScriptInstance self; 16133 Time time; 16134 UI ui; 16135 16136 // Global constants 16137 uint AM_COMPONENTID; 16138 uint AM_DEFAULT; 16139 uint AM_FILE; 16140 uint AM_FILEREADONLY; 16141 uint AM_LATESTDATA; 16142 uint AM_NET; 16143 uint AM_NODEID; 16144 uint AM_NODEIDVECTOR; 16145 uint AM_NOEDIT; 16146 Color BLACK; 16147 Color BLUE; 16148 uint8 CHANNEL_POSITION; 16149 uint8 CHANNEL_ROTATION; 16150 uint8 CHANNEL_SCALE; 16151 uint CLEAR_COLOR; 16152 uint CLEAR_DEPTH; 16153 uint CLEAR_STENCIL; 16154 int CONTROLLER_AXIS_LEFTX; 16155 int CONTROLLER_AXIS_LEFTY; 16156 int CONTROLLER_AXIS_RIGHTX; 16157 int CONTROLLER_AXIS_RIGHTY; 16158 int CONTROLLER_AXIS_TRIGGERLEFT; 16159 int CONTROLLER_AXIS_TRIGGERRIGHT; 16160 int CONTROLLER_BUTTON_A; 16161 int CONTROLLER_BUTTON_B; 16162 int CONTROLLER_BUTTON_BACK; 16163 int CONTROLLER_BUTTON_DPAD_DOWN; 16164 int CONTROLLER_BUTTON_DPAD_LEFT; 16165 int CONTROLLER_BUTTON_DPAD_RIGHT; 16166 int CONTROLLER_BUTTON_DPAD_UP; 16167 int CONTROLLER_BUTTON_GUIDE; 16168 int CONTROLLER_BUTTON_LEFTSHOULDER; 16169 int CONTROLLER_BUTTON_LEFTSTICK; 16170 int CONTROLLER_BUTTON_RIGHTSHOULDER; 16171 int CONTROLLER_BUTTON_RIGHTSTICK; 16172 int CONTROLLER_BUTTON_START; 16173 int CONTROLLER_BUTTON_X; 16174 int CONTROLLER_BUTTON_Y; 16175 Color CYAN; 16176 uint DD_DISABLED; 16177 uint DD_SOURCE; 16178 uint DD_SOURCE_AND_TARGET; 16179 uint DD_TARGET; 16180 uint DEBUGHUD_SHOW_ALL; 16181 uint DEBUGHUD_SHOW_EVENTPROFILER; 16182 uint DEBUGHUD_SHOW_MEMORY; 16183 uint DEBUGHUD_SHOW_MODE; 16184 uint DEBUGHUD_SHOW_NONE; 16185 uint DEBUGHUD_SHOW_PROFILER; 16186 uint DEBUGHUD_SHOW_STATS; 16187 uint DEFAULT_LIGHTMASK; 16188 uint DEFAULT_VIEWMASK; 16189 uint DRAWABLE_ANY; 16190 uint DRAWABLE_GEOMETRY; 16191 uint DRAWABLE_GEOMETRY2D; 16192 uint DRAWABLE_LIGHT; 16193 uint DRAWABLE_ZONE; 16194 uint FIRST_LOCAL_ID; 16195 uint FIRST_REPLICATED_ID; 16196 Color GRAY; 16197 Color GREEN; 16198 int HAT_CENTER; 16199 int HAT_DOWN; 16200 int HAT_LEFT; 16201 int HAT_RIGHT; 16202 int HAT_UP; 16203 int KEY_0; 16204 int KEY_1; 16205 int KEY_2; 16206 int KEY_3; 16207 int KEY_4; 16208 int KEY_5; 16209 int KEY_6; 16210 int KEY_7; 16211 int KEY_8; 16212 int KEY_9; 16213 int KEY_A; 16214 int KEY_ALT; 16215 int KEY_APPLICATION; 16216 int KEY_B; 16217 int KEY_BACKSPACE; 16218 int KEY_C; 16219 int KEY_CAPSLOCK; 16220 int KEY_CTRL; 16221 int KEY_D; 16222 int KEY_DELETE; 16223 int KEY_DOWN; 16224 int KEY_E; 16225 int KEY_END; 16226 int KEY_ESCAPE; 16227 int KEY_F; 16228 int KEY_F1; 16229 int KEY_F10; 16230 int KEY_F11; 16231 int KEY_F12; 16232 int KEY_F13; 16233 int KEY_F14; 16234 int KEY_F15; 16235 int KEY_F16; 16236 int KEY_F17; 16237 int KEY_F18; 16238 int KEY_F19; 16239 int KEY_F2; 16240 int KEY_F20; 16241 int KEY_F21; 16242 int KEY_F22; 16243 int KEY_F23; 16244 int KEY_F24; 16245 int KEY_F3; 16246 int KEY_F4; 16247 int KEY_F5; 16248 int KEY_F6; 16249 int KEY_F7; 16250 int KEY_F8; 16251 int KEY_F9; 16252 int KEY_G; 16253 int KEY_GUI; 16254 int KEY_H; 16255 int KEY_HOME; 16256 int KEY_I; 16257 int KEY_INSERT; 16258 int KEY_J; 16259 int KEY_K; 16260 int KEY_KP_0; 16261 int KEY_KP_1; 16262 int KEY_KP_2; 16263 int KEY_KP_3; 16264 int KEY_KP_4; 16265 int KEY_KP_5; 16266 int KEY_KP_6; 16267 int KEY_KP_7; 16268 int KEY_KP_8; 16269 int KEY_KP_9; 16270 int KEY_KP_DIVIDE; 16271 int KEY_KP_ENTER; 16272 int KEY_KP_MINUS; 16273 int KEY_KP_MULTIPLY; 16274 int KEY_KP_PERIOD; 16275 int KEY_KP_PLUS; 16276 int KEY_L; 16277 int KEY_LALT; 16278 int KEY_LCTRL; 16279 int KEY_LEFT; 16280 int KEY_LGUI; 16281 int KEY_LSHIFT; 16282 int KEY_M; 16283 int KEY_N; 16284 int KEY_NUMLOCKCLEAR; 16285 int KEY_O; 16286 int KEY_P; 16287 int KEY_PAGEDOWN; 16288 int KEY_PAGEUP; 16289 int KEY_PAUSE; 16290 int KEY_PRINTSCREEN; 16291 int KEY_Q; 16292 int KEY_R; 16293 int KEY_RALT; 16294 int KEY_RCTRL; 16295 int KEY_RETURN; 16296 int KEY_RETURN2; 16297 int KEY_RGUI; 16298 int KEY_RIGHT; 16299 int KEY_RSHIFT; 16300 int KEY_S; 16301 int KEY_SCROLLLOCK; 16302 int KEY_SELECT; 16303 int KEY_SHIFT; 16304 int KEY_SPACE; 16305 int KEY_T; 16306 int KEY_TAB; 16307 int KEY_U; 16308 int KEY_UNKNOWN; 16309 int KEY_UP; 16310 int KEY_V; 16311 int KEY_W; 16312 int KEY_X; 16313 int KEY_Y; 16314 int KEY_Z; 16315 uint LAST_LOCAL_ID; 16316 uint LAST_REPLICATED_ID; 16317 int LOG_DEBUG; 16318 int LOG_ERROR; 16319 int LOG_INFO; 16320 int LOG_NONE; 16321 int LOG_WARNING; 16322 Color MAGENTA; 16323 uint MASK_BLENDINDICES; 16324 uint MASK_BLENDWEIGHTS; 16325 uint MASK_COLOR; 16326 uint MASK_CUBETEXCOORD1; 16327 uint MASK_CUBETEXCOORD2; 16328 uint MASK_INSTANCEMATRIX1; 16329 uint MASK_INSTANCEMATRIX2; 16330 uint MASK_INSTANCEMATRIX3; 16331 uint MASK_NONE; 16332 uint MASK_NORMAL; 16333 uint MASK_OBJECTINDEX; 16334 uint MASK_POSITION; 16335 uint MASK_TANGENT; 16336 uint MASK_TEXCOORD1; 16337 uint MASK_TEXCOORD2; 16338 int MOUSEB_LEFT; 16339 int MOUSEB_MIDDLE; 16340 int MOUSEB_RIGHT; 16341 float M_DEGTORAD; 16342 float M_DEGTORAD_2; 16343 float M_EPSILON; 16344 float M_HALF_PI; 16345 float M_INFINITY; 16346 float M_LARGE_EPSILON; 16347 float M_LARGE_VALUE; 16348 int M_MAX_INT; 16349 uint M_MAX_UNSIGNED; 16350 int M_MIN_INT; 16351 uint M_MIN_UNSIGNED; 16352 float M_PI; 16353 float M_RADTODEG; 16354 uint NPOS; 16355 float PIXEL_SIZE; 16356 int QUALITY_HIGH; 16357 int QUALITY_LOW; 16358 int QUALITY_MAX; 16359 int QUALITY_MEDIUM; 16360 int QUAL_ALT; 16361 int QUAL_ANY; 16362 int QUAL_CTRL; 16363 int QUAL_SHIFT; 16364 Color RED; 16365 int SCANCODE_0; 16366 int SCANCODE_1; 16367 int SCANCODE_2; 16368 int SCANCODE_3; 16369 int SCANCODE_4; 16370 int SCANCODE_5; 16371 int SCANCODE_6; 16372 int SCANCODE_7; 16373 int SCANCODE_8; 16374 int SCANCODE_9; 16375 int SCANCODE_A; 16376 int SCANCODE_AC_BACK; 16377 int SCANCODE_AC_BOOKMARKS; 16378 int SCANCODE_AC_FORWARD; 16379 int SCANCODE_AC_HOME; 16380 int SCANCODE_AC_REFRESH; 16381 int SCANCODE_AC_SEARCH; 16382 int SCANCODE_AC_STOP; 16383 int SCANCODE_AGAIN; 16384 int SCANCODE_ALT; 16385 int SCANCODE_ALTERASE; 16386 int SCANCODE_APOSTROPHE; 16387 int SCANCODE_APP1; 16388 int SCANCODE_APP2; 16389 int SCANCODE_APPLICATION; 16390 int SCANCODE_AUDIOMUTE; 16391 int SCANCODE_AUDIONEXT; 16392 int SCANCODE_AUDIOPLAY; 16393 int SCANCODE_AUDIOPREV; 16394 int SCANCODE_AUDIOSTOP; 16395 int SCANCODE_B; 16396 int SCANCODE_BACKSLASH; 16397 int SCANCODE_BACKSPACE; 16398 int SCANCODE_BRIGHTNESSDOWN; 16399 int SCANCODE_BRIGHTNESSUP; 16400 int SCANCODE_C; 16401 int SCANCODE_CALCULATOR; 16402 int SCANCODE_CANCEL; 16403 int SCANCODE_CAPSLOCK; 16404 int SCANCODE_CLEAR; 16405 int SCANCODE_CLEARAGAIN; 16406 int SCANCODE_COMMA; 16407 int SCANCODE_COMPUTER; 16408 int SCANCODE_COPY; 16409 int SCANCODE_CRSEL; 16410 int SCANCODE_CTRL; 16411 int SCANCODE_CURRENCYSUBUNIT; 16412 int SCANCODE_CURRENCYUNIT; 16413 int SCANCODE_CUT; 16414 int SCANCODE_D; 16415 int SCANCODE_DECIMALSEPARATOR; 16416 int SCANCODE_DELETE; 16417 int SCANCODE_DISPLAYSWITCH; 16418 int SCANCODE_DOWN; 16419 int SCANCODE_E; 16420 int SCANCODE_EJECT; 16421 int SCANCODE_END; 16422 int SCANCODE_EQUALS; 16423 int SCANCODE_ESCAPE; 16424 int SCANCODE_EXECUTE; 16425 int SCANCODE_EXSEL; 16426 int SCANCODE_F; 16427 int SCANCODE_F1; 16428 int SCANCODE_F10; 16429 int SCANCODE_F11; 16430 int SCANCODE_F12; 16431 int SCANCODE_F13; 16432 int SCANCODE_F14; 16433 int SCANCODE_F15; 16434 int SCANCODE_F16; 16435 int SCANCODE_F17; 16436 int SCANCODE_F18; 16437 int SCANCODE_F19; 16438 int SCANCODE_F2; 16439 int SCANCODE_F20; 16440 int SCANCODE_F21; 16441 int SCANCODE_F22; 16442 int SCANCODE_F23; 16443 int SCANCODE_F24; 16444 int SCANCODE_F3; 16445 int SCANCODE_F4; 16446 int SCANCODE_F5; 16447 int SCANCODE_F6; 16448 int SCANCODE_F7; 16449 int SCANCODE_F8; 16450 int SCANCODE_F9; 16451 int SCANCODE_FIND; 16452 int SCANCODE_G; 16453 int SCANCODE_GRAVE; 16454 int SCANCODE_GUI; 16455 int SCANCODE_H; 16456 int SCANCODE_HELP; 16457 int SCANCODE_HOME; 16458 int SCANCODE_I; 16459 int SCANCODE_INSERT; 16460 int SCANCODE_INTERNATIONAL1; 16461 int SCANCODE_INTERNATIONAL2; 16462 int SCANCODE_INTERNATIONAL3; 16463 int SCANCODE_INTERNATIONAL4; 16464 int SCANCODE_INTERNATIONAL5; 16465 int SCANCODE_INTERNATIONAL6; 16466 int SCANCODE_INTERNATIONAL7; 16467 int SCANCODE_INTERNATIONAL8; 16468 int SCANCODE_INTERNATIONAL9; 16469 int SCANCODE_J; 16470 int SCANCODE_K; 16471 int SCANCODE_KBDILLUMDOWN; 16472 int SCANCODE_KBDILLUMTOGGLE; 16473 int SCANCODE_KBDILLUMUP; 16474 int SCANCODE_KP_0; 16475 int SCANCODE_KP_00; 16476 int SCANCODE_KP_000; 16477 int SCANCODE_KP_1; 16478 int SCANCODE_KP_2; 16479 int SCANCODE_KP_3; 16480 int SCANCODE_KP_4; 16481 int SCANCODE_KP_5; 16482 int SCANCODE_KP_6; 16483 int SCANCODE_KP_7; 16484 int SCANCODE_KP_8; 16485 int SCANCODE_KP_9; 16486 int SCANCODE_KP_A; 16487 int SCANCODE_KP_AMPERSAND; 16488 int SCANCODE_KP_AT; 16489 int SCANCODE_KP_B; 16490 int SCANCODE_KP_BACKSPACE; 16491 int SCANCODE_KP_BINARY; 16492 int SCANCODE_KP_C; 16493 int SCANCODE_KP_CLEAR; 16494 int SCANCODE_KP_CLEARENTRY; 16495 int SCANCODE_KP_COLON; 16496 int SCANCODE_KP_COMMA; 16497 int SCANCODE_KP_D; 16498 int SCANCODE_KP_DBLAMPERSAND; 16499 int SCANCODE_KP_DBLVERTICALBAR; 16500 int SCANCODE_KP_DECIMAL; 16501 int SCANCODE_KP_DIVIDE; 16502 int SCANCODE_KP_E; 16503 int SCANCODE_KP_ENTER; 16504 int SCANCODE_KP_EQUALS; 16505 int SCANCODE_KP_EQUALSAS400; 16506 int SCANCODE_KP_EXCLAM; 16507 int SCANCODE_KP_F; 16508 int SCANCODE_KP_GREATER; 16509 int SCANCODE_KP_HASH; 16510 int SCANCODE_KP_HEXADECIMAL; 16511 int SCANCODE_KP_LEFTBRACE; 16512 int SCANCODE_KP_LEFTPAREN; 16513 int SCANCODE_KP_LESS; 16514 int SCANCODE_KP_MEMADD; 16515 int SCANCODE_KP_MEMCLEAR; 16516 int SCANCODE_KP_MEMDIVIDE; 16517 int SCANCODE_KP_MEMMULTIPLY; 16518 int SCANCODE_KP_MEMRECALL; 16519 int SCANCODE_KP_MEMSTORE; 16520 int SCANCODE_KP_MEMSUBTRACT; 16521 int SCANCODE_KP_MINUS; 16522 int SCANCODE_KP_MULTIPLY; 16523 int SCANCODE_KP_OCTAL; 16524 int SCANCODE_KP_PERCENT; 16525 int SCANCODE_KP_PERIOD; 16526 int SCANCODE_KP_PLUS; 16527 int SCANCODE_KP_PLUSMINUS; 16528 int SCANCODE_KP_POWER; 16529 int SCANCODE_KP_RIGHTBRACE; 16530 int SCANCODE_KP_RIGHTPAREN; 16531 int SCANCODE_KP_SPACE; 16532 int SCANCODE_KP_TAB; 16533 int SCANCODE_KP_VERTICALBAR; 16534 int SCANCODE_KP_XOR; 16535 int SCANCODE_L; 16536 int SCANCODE_LALT; 16537 int SCANCODE_LANG1; 16538 int SCANCODE_LANG2; 16539 int SCANCODE_LANG3; 16540 int SCANCODE_LANG4; 16541 int SCANCODE_LANG5; 16542 int SCANCODE_LANG6; 16543 int SCANCODE_LANG7; 16544 int SCANCODE_LANG8; 16545 int SCANCODE_LANG9; 16546 int SCANCODE_LCTRL; 16547 int SCANCODE_LEFT; 16548 int SCANCODE_LEFTBRACKET; 16549 int SCANCODE_LGUI; 16550 int SCANCODE_LSHIFT; 16551 int SCANCODE_M; 16552 int SCANCODE_MAIL; 16553 int SCANCODE_MEDIASELECT; 16554 int SCANCODE_MENU; 16555 int SCANCODE_MINUS; 16556 int SCANCODE_MODE; 16557 int SCANCODE_MUTE; 16558 int SCANCODE_N; 16559 int SCANCODE_NONUSBACKSLASH; 16560 int SCANCODE_NONUSHASH; 16561 int SCANCODE_NUMLOCKCLEAR; 16562 int SCANCODE_O; 16563 int SCANCODE_OPER; 16564 int SCANCODE_OUT; 16565 int SCANCODE_P; 16566 int SCANCODE_PAGEDOWN; 16567 int SCANCODE_PAGEUP; 16568 int SCANCODE_PASTE; 16569 int SCANCODE_PAUSE; 16570 int SCANCODE_PERIOD; 16571 int SCANCODE_POWER; 16572 int SCANCODE_PRINTSCREEN; 16573 int SCANCODE_PRIOR; 16574 int SCANCODE_Q; 16575 int SCANCODE_R; 16576 int SCANCODE_RALT; 16577 int SCANCODE_RCTRL; 16578 int SCANCODE_RETURN; 16579 int SCANCODE_RETURN2; 16580 int SCANCODE_RGUI; 16581 int SCANCODE_RIGHT; 16582 int SCANCODE_RIGHTBRACKET; 16583 int SCANCODE_RSHIFT; 16584 int SCANCODE_S; 16585 int SCANCODE_SCROLLLOCK; 16586 int SCANCODE_SELECT; 16587 int SCANCODE_SEMICOLON; 16588 int SCANCODE_SEPARATOR; 16589 int SCANCODE_SHIFT; 16590 int SCANCODE_SLASH; 16591 int SCANCODE_SLEEP; 16592 int SCANCODE_SPACE; 16593 int SCANCODE_STOP; 16594 int SCANCODE_SYSREQ; 16595 int SCANCODE_T; 16596 int SCANCODE_TAB; 16597 int SCANCODE_THOUSANDSSEPARATOR; 16598 int SCANCODE_U; 16599 int SCANCODE_UNDO; 16600 int SCANCODE_UNKNOWN; 16601 int SCANCODE_UP; 16602 int SCANCODE_V; 16603 int SCANCODE_VOLUMEDOWN; 16604 int SCANCODE_VOLUMEUP; 16605 int SCANCODE_W; 16606 int SCANCODE_WWW; 16607 int SCANCODE_X; 16608 int SCANCODE_Y; 16609 int SCANCODE_Z; 16610 uint SCAN_DIRS; 16611 uint SCAN_FILES; 16612 uint SCAN_HIDDEN; 16613 String SOUND_AMBIENT; 16614 String SOUND_EFFECT; 16615 String SOUND_MASTER; 16616 String SOUND_MUSIC; 16617 String SOUND_VOICE; 16618 Color TRANSPARENT; 16619 uint VO_DISABLE_OCCLUSION; 16620 uint VO_DISABLE_SHADOWS; 16621 uint VO_LOW_MATERIAL_QUALITY; 16622 uint VO_NONE; 16623 Color WHITE; 16624 Color YELLOW; 16625