예제 #1
0
 public void PostDraw(int x, int y)
 {
     if (FaceAnimation != null)
     {
         FaceAnimation.Draw(x, y, FaceAnimation.CurrentSprite.Width, FaceAnimation.CurrentSprite.Height);
     }
 }
 public void AddAnimation(FaceAnimation animation, Texture2D[] textures)
 {
     if (!animations.Contains(animation))
     {
         animations.Add(animation);
         var animationData = new AnimationData();
         animationData.textures = textures;
         this.animationData.Add(animationData);
     }
     else
     {
         Debug.LogErrorFormat("Face animation controller already contains animation {0}", animation);
     }
 }
        public void PlayAnimation(FaceAnimation animation, float framesPerSecond = 24.0f)
        {
            var animationIndex = animations.IndexOf(animation);

            if (animationIndex < 0)
            {
                Debug.LogErrorFormat("Face animation controller does not contatin animation {0}", animation);
                return;
            }

            if (framesPerSecond <= 0.0f)
            {
                Debug.LogError("Frames per second must be positive");
                return;
            }

            playing = true;
            currentAnimationData = animationData[animationIndex];
            currentFrame         = 0.0f;
            showingFrame         = -1;
            this.framesPerSecond = framesPerSecond;
        }
예제 #4
0
        public bool SetActivateUnitObject(int idx)
        {
            if (idx < 0 || idx >= this.mUnitObjectLists.Count)
            {
                return(false);
            }
            int index = 0;

            while (index < this.mUnitObjectLists.Count && !UnityEngine.Object.op_Equality((UnityEngine.Object) this.mUnitObject, (UnityEngine.Object) this.mUnitObjectLists[index]))
            {
                ++index;
            }
            using (List <GameObject> .Enumerator enumerator = this.mUnitObjectLists.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    enumerator.Current.SetActive(false);
                }
            }
            this.mUnitObject = this.mUnitObjectLists[idx];
            this.mUnitObject.SetActive(true);
            this.SetAnimationComponent((Animation)this.mUnitObject.GetComponent <Animation>());
            if (idx < this.mCharacterDataLists.Count)
            {
                this.mCharacterData = this.mCharacterDataLists[idx];
            }
            if (idx < this.mCharacterSettingsLists.Count)
            {
                this.mCharacterSettings = this.mCharacterSettingsLists[idx];
            }
            if (idx < this.mFaceAnimationLists.Count)
            {
                this.mFaceAnimation = this.mFaceAnimationLists[idx];
            }
            return(idx != index);
        }
 public bool HasAnimation(FaceAnimation animation)
 {
     return(animations.IndexOf(animation) >= 0);
 }