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); } }
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); }
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); }
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); }
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); }
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); }
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; } }
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); }
public void PlayAnim(UnitAnim unitAnim, V_UnitSkeleton.OnAnimComplete onAnimComplete, V_UnitSkeleton.OnAnimTrigger onAnimTrigger) { playerBase.GetUnitAnimation().PlayAnim(unitAnim, 1f, onAnimComplete, onAnimTrigger, null); }
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); }
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); }