Exemplo n.º 1
0
 public void UpdateAnim(UnitAnimType animType, int angle, float frameRateMod, V_UnitSkeleton.OnAnimComplete onAnimComplete, V_UnitSkeleton.OnAnimTrigger onAnimTrigger, V_UnitSkeleton.OnAnimInterrupted onAnimInterrupted)
 {
     // Update animation if different angle
     if (animType == activeAnimType)
     {
         // Same anim, check angle
         if (activeAngle == angle)
         {
             // Same angle, ignore
             return;
         }
         else
         {
             // Different angle
             activeAngle = angle;
             UnitAnim unitAnim = activeAnimType.GetUnitAnim(activeAngle);
             activeAnim = unitAnim;
             unitSkeleton.PlayAnimContinueFrames(unitAnim, frameRateMod, onAnimComplete, onAnimTrigger, onAnimInterrupted);
         }
     }
     else
     {
         // Different anim
         PlayAnim(animType, angle, frameRateMod, onAnimComplete, onAnimTrigger, onAnimInterrupted);
     }
 }
Exemplo n.º 2
0
        public void PlayAnimForced(UnitAnim unitAnim, float frameRateMod, V_UnitSkeleton.OnAnimComplete onAnimComplete, V_UnitSkeleton.OnAnimTrigger onAnimTrigger, V_UnitSkeleton.OnAnimInterrupted onAnimInterrupted)
        {
            // Forcefully play animation no matter what is currently playing
            activeAnimType = unitAnim.GetUnitAnimType();
            activeAnim     = unitAnim;

            unitSkeleton.PlayAnim(unitAnim, frameRateMod, onAnimComplete, onAnimTrigger, onAnimInterrupted);
        }
Exemplo n.º 3
0
        public static V_Object CreateSkeletonPresetAnim(Vector3 position, Material material, UnitAnimType unitAnimType, Vector3 dir, float frameRateMod)
        {
            V_Object instancedObject = CreateSkeleton(position, material);

            V_UnitSkeleton.OnAnimComplete onAnimComplete = delegate(UnitAnim unitAnim) {
                instancedObject.DestroySelf();
            };
            instancedObject.GetLogic <V_UnitAnimation>().PlayAnimForced(unitAnimType, dir, frameRateMod, onAnimComplete, null, null);
            return(instancedObject);
        }
Exemplo n.º 4
0
        public void PlayAnim(UnitAnim unitAnim, float frameRateMod, V_UnitSkeleton.OnAnimComplete onAnimComplete, V_UnitSkeleton.OnAnimTrigger onAnimTrigger, V_UnitSkeleton.OnAnimInterrupted onAnimInterrupted)
        {
            // Ignores if same animType, same angle and same frameRateMod

            if (unitAnim == activeAnim)
            {
                // Same anim, same angle
                return;
            }
            PlayAnimForced(unitAnim, frameRateMod, onAnimComplete, onAnimTrigger, onAnimInterrupted);
        }
Exemplo n.º 5
0
        public static V_Object CreateSkeletonPresetAnim(Vector3 position, Material material, UnitAnimType unitAnimType, Vector3 dir, float frameRateMod, Vector3 rotatePrefabDir, Vector3 scalePrefab)
        {
            V_Object instancedObject = CreateSkeleton(position, material);

            V_UnitSkeleton.OnAnimComplete onAnimComplete = delegate(UnitAnim unitAnim) {
                instancedObject.DestroySelf();
            };
            instancedObject.GetLogic <V_UnitAnimation>().PlayAnimForced(unitAnimType, dir, frameRateMod, onAnimComplete, null, null);
            instancedObject.GetLogic <V_IObjectTransform>().SetEulerZ(GetAngleFromVector(rotatePrefabDir));
            instancedObject.GetLogic <V_IObjectTransform>().SetScale(scalePrefab);
            return(instancedObject);
        }
Exemplo n.º 6
0
        public static V_Object CreateSkeletonPresetAnim(Vector3 position, Material material, UnitAnim unitAnim, float frameRateMod, Vector3 rotatePrefabDir, Vector3 scalePrefab, int sortingOrderOffset)
        {
            V_Object instancedObject = CreateSkeleton(position, material);

            V_UnitSkeleton.OnAnimComplete onAnimComplete = delegate(UnitAnim u) {
                instancedObject.DestroySelf();
            };
            instancedObject.GetLogic <V_IObjectTransform>().GetTransform().GetComponent <CodeMonkey.MonoBehaviours.PositionRendererSorter>().SetOffset(sortingOrderOffset);
            instancedObject.GetLogic <V_UnitAnimation>().PlayAnimForced(unitAnim, frameRateMod, onAnimComplete, null, null);
            instancedObject.GetLogic <V_IObjectTransform>().SetEulerZ(GetAngleFromVector(rotatePrefabDir));
            instancedObject.GetLogic <V_IObjectTransform>().SetScale(scalePrefab);
            return(instancedObject);
        }
Exemplo n.º 7
0
        public void PlayAnimIdleIfOnCompleteMatches(Vector3 dir, V_UnitSkeleton.OnAnimComplete OnAnimComplete, UnitAnimType idleAnimType)
        {
            int      angle    = GetAngleFromVector(dir);
            UnitAnim unitAnim = idleAnimType.GetUnitAnim(angle);

            if (unitSkeleton.PlayAnimIfOnCompleteMatches(unitAnim, OnAnimComplete))
            {
                // Playing anim
                activeAnimType = idleAnimType;
                activeAnim     = unitAnim;
                activeAngle    = angle;
            }
        }
Exemplo n.º 8
0
        public void PlayAnim(UnitAnimType animType, int angle, float frameRateMod, V_UnitSkeleton.OnAnimComplete onAnimComplete, V_UnitSkeleton.OnAnimTrigger onAnimTrigger, V_UnitSkeleton.OnAnimInterrupted onAnimInterrupted)
        {
            // Ignores if same animType, same angle and same frameRateMod

            // 8 angles
            if (animType == activeAnimType && activeAngle == angle)
            {
                // Same anim, same angle
                return;
            }
            else
            {
                if (animType != activeAnimType)
                {
                    // Different anim, same angle
                }
                else
                {
                    // Different angle, same anim
                }
            }
            PlayAnimForced(animType, angle, frameRateMod, onAnimComplete, onAnimTrigger, onAnimInterrupted);
        }
Exemplo n.º 9
0
 public void PlayAnim(UnitAnim unitAnim, V_UnitSkeleton.OnAnimComplete onAnimComplete, V_UnitSkeleton.OnAnimTrigger onAnimTrigger)
 {
     playerBase.GetUnitAnimation().PlayAnim(unitAnim, 1f, onAnimComplete, onAnimTrigger, null);
 }
Exemplo n.º 10
0
        public void PlayAnim(UnitAnimType animType, Vector3 dir, float frameRateMod, V_UnitSkeleton.OnAnimComplete onAnimComplete, V_UnitSkeleton.OnAnimTrigger onAnimTrigger, V_UnitSkeleton.OnAnimInterrupted onAnimInterrupted)
        {
            int angle = GetAngleFromVector(dir);

            PlayAnim(animType, angle, frameRateMod, onAnimComplete, onAnimTrigger, onAnimInterrupted);
        }
Exemplo n.º 11
0
 public void PlayAnim(UnitAnimType animType, float frameRateMod, V_UnitSkeleton.OnAnimComplete onAnimComplete, V_UnitSkeleton.OnAnimTrigger onAnimTrigger, V_UnitSkeleton.OnAnimInterrupted onAnimInterrupted)
 {
     PlayAnim(animType, activeAngle, frameRateMod, onAnimComplete, onAnimTrigger, onAnimInterrupted);
 }