GetAnimationStateData() public method

public GetAnimationStateData ( ) : Spine.AnimationStateData
return Spine.AnimationStateData
コード例 #1
0
        public void Initialize(bool overwrite)
        {
            if ((IsValid && !overwrite) || skeletonDataAsset == null)
            {
                return;
            }
            SkeletonData skeletonData = skeletonDataAsset.GetSkeletonData(quiet: false);

            if (skeletonData == null || skeletonDataAsset.atlasAssets.Length <= 0 || skeletonDataAsset.atlasAssets[0].materials.Length <= 0)
            {
                return;
            }
            state = new AnimationState(skeletonDataAsset.GetAnimationStateData());
            if (state == null)
            {
                Clear();
                return;
            }
            skeleton = new Skeleton(skeletonData)
            {
                flipX = initialFlipX,
                flipY = initialFlipY
            };
            meshBuffers = new DoubleBuffered <MeshRendererBuffers.SmartMesh>();
            base.canvasRenderer.SetTexture(mainTexture);
            if (!string.IsNullOrEmpty(initialSkinName))
            {
                skeleton.SetSkin(initialSkinName);
            }
            if (!string.IsNullOrEmpty(startingAnimation))
            {
                state.SetAnimation(0, startingAnimation, startingLoop);
                Update(0f);
            }
        }
コード例 #2
0
ファイル: SkeletonGraphic.cs プロジェクト: ZengHuiAn/sgk
        public void Initialize(bool overwrite)
        {
            if (this.IsValid && !overwrite)
            {
                return;
            }

            // Make sure none of the stuff is null
            if (this.skeletonDataAsset == null)
            {
                return;
            }
            if (this.skeletonDataAsset.atlasAssets.Length > 0)
            {
                material = skeletonDataAsset.atlasAssets[0].materials[0];
            }

            var skeletonData = this.skeletonDataAsset.GetSkeletonData(false);

            if (skeletonData == null)
            {
                return;
            }

            if (skeletonDataAsset.atlasAssets.Length <= 0 || skeletonDataAsset.atlasAssets[0].materials.Length <= 0)
            {
                return;
            }

            this.state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData());
            if (state == null)
            {
                Clear();
                return;
            }

            this.skeleton           = new Skeleton(skeletonData);
            this.spineMeshGenerator = new Spine.Unity.MeshGeneration.ArraysSimpleMeshGenerator();             // You can switch this out with any other implementer of Spine.Unity.MeshGeneration.ISimpleMeshGenerator
            this.spineMeshGenerator.PremultiplyVertexColors = true;

            // Set the initial Skin and Animation
            if (!string.IsNullOrEmpty(initialSkinName))
            {
                skeleton.SetSkin(initialSkinName);
            }

            if (!string.IsNullOrEmpty(startingAnimation))
            {
                state.SetAnimation(0, startingAnimation, startingLoop);
            }
        }
コード例 #3
0
 static int GetAnimationStateData(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         Spine.Unity.SkeletonDataAsset obj = (Spine.Unity.SkeletonDataAsset)ToLua.CheckObject <Spine.Unity.SkeletonDataAsset>(L, 1);
         Spine.AnimationStateData      o   = obj.GetAnimationStateData();
         ToLua.PushObject(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
コード例 #4
0
ファイル: SkeletonGraphic.cs プロジェクト: moto2002/Fish
		public void Initialize (bool overwrite) {
			if (this.IsValid && !overwrite) return;

			// Make sure none of the stuff is null
			if (this.skeletonDataAsset == null) return;
			var skeletonData = this.skeletonDataAsset.GetSkeletonData(false);
			if (skeletonData == null) return;

			if (skeletonDataAsset.atlasAssets.Length <= 0 || skeletonDataAsset.atlasAssets[0].materials.Length <= 0) return;

			this.state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData());
			if (state == null) {
				Clear();
				return;
			}

			this.skeleton = new Skeleton(skeletonData) {
				flipX = this.initialFlipX,
				flipY = this.initialFlipY
			};

			meshBuffers = new DoubleBuffered<MeshRendererBuffers.SmartMesh>();
			canvasRenderer.SetTexture(this.mainTexture); // Needed for overwriting initializations.

			// Set the initial Skin and Animation
			if (!string.IsNullOrEmpty(initialSkinName))
				skeleton.SetSkin(initialSkinName);

			#if UNITY_EDITOR
			if (!string.IsNullOrEmpty(startingAnimation)) {
				if (Application.isPlaying) {
					state.SetAnimation(0, startingAnimation, startingLoop);
				} else {
					// Assume SkeletonAnimation is valid for skeletonData and skeleton. Checked above.
					var animationObject = skeletonDataAsset.GetSkeletonData(false).FindAnimation(startingAnimation);
					if (animationObject != null)
						animationObject.PoseSkeleton(skeleton, 0);
				}
				Update(0);
			}
			#else
			if (!string.IsNullOrEmpty(startingAnimation)) {
				state.SetAnimation(0, startingAnimation, startingLoop);
				Update(0);
			}
			#endif
		}
コード例 #5
0
        public void Initialize(bool overwrite)
        {
            if (this.IsValid && !overwrite)
            {
                return;
            }

            // Make sure none of the stuff is null
            if (this.skeletonDataAsset == null)
            {
                return;
            }
            var skeletonData = this.skeletonDataAsset.GetSkeletonData(false);

            if (skeletonData == null)
            {
                return;
            }

            if (skeletonDataAsset.atlasAssets.Length <= 0 || skeletonDataAsset.atlasAssets[0].MaterialCount <= 0)
            {
                return;
            }

            this.state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData());
            if (state == null)
            {
                Clear();
                return;
            }

            this.skeleton = new Skeleton(skeletonData)
            {
                ScaleX = this.initialFlipX ? -1 : 1,
                ScaleY = this.initialFlipY ? -1 : 1
            };

            meshBuffers = new DoubleBuffered <MeshRendererBuffers.SmartMesh>();
            baseTexture = skeletonDataAsset.atlasAssets[0].PrimaryMaterial.mainTexture;
            canvasRenderer.SetTexture(this.mainTexture);             // Needed for overwriting initializations.

            // Set the initial Skin and Animation
            if (!string.IsNullOrEmpty(initialSkinName))
            {
                skeleton.SetSkin(initialSkinName);
            }

            separatorSlots.Clear();
            for (int i = 0; i < separatorSlotNames.Length; i++)
            {
                separatorSlots.Add(skeleton.FindSlot(separatorSlotNames[i]));
            }

            wasUpdatedAfterInit = false;
            if (!string.IsNullOrEmpty(startingAnimation))
            {
                var animationObject = skeletonDataAsset.GetSkeletonData(false).FindAnimation(startingAnimation);
                if (animationObject != null)
                {
                    state.SetAnimation(0, animationObject, startingLoop);
                                        #if UNITY_EDITOR
                    if (!Application.isPlaying)
                    {
                        Update(0f);
                    }
                                        #endif
                }
            }

            if (OnRebuild != null)
            {
                OnRebuild(this);
            }
        }
コード例 #6
0
        public void Initialize(bool overwrite)
        {
            if (this.IsValid && !overwrite)
            {
                return;
            }

            // Make sure none of the stuff is null
            if (this.skeletonDataAsset == null)
            {
                return;
            }
            var skeletonData = this.skeletonDataAsset.GetSkeletonData(false);

            if (skeletonData == null)
            {
                return;
            }

            if (skeletonDataAsset.atlasAssets.Length <= 0 || skeletonDataAsset.atlasAssets[0].MaterialCount <= 0)
            {
                return;
            }

            this.state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData());
            if (state == null)
            {
                Clear();
                return;
            }

            this.skeleton = new Skeleton(skeletonData)
            {
                scaleX = this.initialFlipX ? -1 : 1,
                scaleY = this.initialFlipY ? -1 : 1
            };

            meshBuffers = new DoubleBuffered <MeshRendererBuffers.SmartMesh>();
            canvasRenderer.SetTexture(this.mainTexture);             // Needed for overwriting initializations.

            // Set the initial Skin and Animation
            if (!string.IsNullOrEmpty(initialSkinName))
            {
                skeleton.SetSkin(initialSkinName);
            }

            if (!string.IsNullOrEmpty(startingAnimation))
            {
                var animationObject = skeletonDataAsset.GetSkeletonData(false).FindAnimation(startingAnimation);
                if (animationObject != null)
                {
                    animationObject.PoseSkeleton(skeleton, 0f);
                    skeleton.UpdateWorldTransform();

                                        #if UNITY_EDITOR
                    if (Application.isPlaying)
                    {
                                        #endif

                    // Make this block not run in Unity Editor edit mode.
                    state.SetAnimation(0, animationObject, startingLoop);

                                        #if UNITY_EDITOR
                }
                                        #endif
                }
            }
        }