public virtual TaskStatus OnUpdate() { if (this._missing) { this.Complete(); return((TaskStatus)2); } ActorAnimation animation = this.Agent.Animation; if (animation.PlayingActAnimation) { return((TaskStatus)3); } if (this.Agent.Schedule.enabled) { return((TaskStatus)3); } if (this._endAction != null) { this._endAction.OnNext(Unit.get_Default()); } if (animation.PlayingOutAnimation) { return((TaskStatus)3); } this.Complete(); return((TaskStatus)2); }
protected virtual void Awake() { m_ActorAnimation = GetComponent <ActorAnimation>(); m_Rigidbody = GetComponent <Rigidbody>(); health = actor.health; }
private static void SetAnimatorPost(ActorAnimation __instance) { if (__instance.Actor != null && __instance.Actor.ChaControl != null) { var ctrl = __instance.Actor.ChaControl.GetComponent <ReverseTrapController>(); ctrl?.RefreshOverrideAnimations(); } }
public override void OnEnd() { MerchantActor merchant = this.Merchant; ActorAnimation animation = merchant.Animation; animation.Targets.Clear(); animation.Animator.InterruptMatchTarget(false); merchant.NavMeshObstacle.set_carveOnlyStationary(true); base.OnEnd(); }
public static ActorAnimation Get(string textureName, string animation, int frames, bool continuous = true) { var anName = textureName + animation; if (animations.ContainsKey(anName)) { return(animations[anName]); } else { var anEntity = new ActorAnimation(animation, frames, ImagesManager.GetTexture(textureName), continuous); animations.Add(anName, anEntity); return(anEntity); } }
public virtual void OnStart() { ((Task)this).OnStart(); this._agent = this.Agent; this._animation = this._agent.Animation; this._agent.DeactivateNavMeshAgent(); if (this._notNeet = Object.op_Equality((Object)this._animation, (Object)null)) { return; } this._loopStateName = string.Empty; PoseKeyPair pair; if (!Singleton <Resources> .IsInstance() || !this.TryGetPoseID(this._agent.ChaControl.fileParam.personality, out pair)) { return; } PlayState info = Singleton <Resources> .Instance.Animation.AgentActionAnimTable[pair.postureID][pair.poseID]; this._loopStateName = info.MainStateInfo.InStateInfo.StateInfos.GetElement <PlayState.Info>(info.MainStateInfo.InStateInfo.StateInfos.Length - 1).stateName; AnimatorStateInfo animatorStateInfo = this._animation.Animator.GetCurrentAnimatorStateInfo(0); if (this._notNeet = ((AnimatorStateInfo) ref animatorStateInfo).IsName(this._loopStateName)) { return; } this._animation.InitializeStates(info); this._animation.LoadEventKeyTable(pair.postureID, pair.poseID); ActorAnimInfo actorAnimInfo1 = new ActorAnimInfo() { layer = info.Layer, inEnableBlend = info.MainStateInfo.InStateInfo.EnableFade, inBlendSec = info.MainStateInfo.InStateInfo.FadeSecond, outEnableBlend = info.MainStateInfo.OutStateInfo.EnableFade, outBlendSec = info.MainStateInfo.OutStateInfo.FadeSecond, directionType = info.DirectionType, isLoop = info.MainStateInfo.IsLoop }; this._animation.AnimInfo = actorAnimInfo1; ActorAnimInfo actorAnimInfo2 = actorAnimInfo1; this._animation.StopAllAnimCoroutine(); this._animation.PlayInAnimation(actorAnimInfo2.inEnableBlend, actorAnimInfo2.inBlendSec, actorAnimInfo2.inFadeOutTime, actorAnimInfo2.layer); }
private void CreateAnimation() { ActorAnimation animation = new ActorAnimation("Troop"); List <Sprite> sprites; if (animations == null) { animations = elementObject.GetComponent <Animator>(); } if (element.downSprites.Count > 0) { sprites = new List <Sprite>(element.downSprites); sprites.Add(element.downSprites[0]); animation.down = animation.ConstructAnimation(sprites, element.Id, "down", 30, true); animation.downIdle = animation.ConstructAnimation(element.downSprites[0], element.Id, "downIdle", 30, true); } if (element.leftSprites.Count > 0) { sprites = new List <Sprite>(element.leftSprites); sprites.Add(element.leftSprites[0]); animation.left = animation.ConstructAnimation(sprites, element.Id, "left", 30, true); animation.leftIdle = animation.ConstructAnimation(element.leftSprites[0], element.Id, "leftIdle", 30, true); } if (element.upSprites.Count > 0) { sprites = new List <Sprite>(element.upSprites); sprites.Add(element.upSprites[0]); animation.up = animation.ConstructAnimation(sprites, element.Id, "up", 30, true); animation.upIdle = animation.ConstructAnimation(element.upSprites[0], element.Id, "upIdle", 30, true); } if (element.rightSprites.Count > 0) { sprites = new List <Sprite>(element.rightSprites); sprites.Add(element.rightSprites[0]); animation.right = animation.ConstructAnimation(sprites, element.Id, "right", 30, true); animation.rightIdle = animation.ConstructAnimation(element.rightSprites[0], element.Id, "rightIdle", 30, true); } animations.runtimeAnimatorController = animation.ConstructAnimationControl(element.Id); }
public void StopBossAnimation(int v) { GameObject tmpBoss = GetBoss(); ActorAnimation aa = GetARequiredComponent <ActorAnimation>(tmpBoss); if (aa != null) { aa.DisableSelfWhenOnceActionFinished = true; if (v == 0) { aa.IsStop = false; } else { aa.enabled = true; aa.UpdateToCurrentAnImation(); aa.IsStop = true; } } }
public virtual void OnStart() { ((Task)this).OnStart(); this._agent = this.Agent; this._animation = this._agent.Animation; this._navMeshAgent = this._agent.NavMeshAgent; this._point = this.Agent.TargetStoryPoint; this._loopStateName = string.Empty; this._agent.TutorialCanTalk = false; if (this._missing = Object.op_Equality((Object)this._agent, (Object)null) || Object.op_Equality((Object)this._animation, (Object)null) || Object.op_Equality((Object)this._navMeshAgent, (Object)null) || Object.op_Equality((Object)this._point, (Object)null)) { return; } if (this._adjustAngle) { this.PlayTurnAnimation(); } else { this.PlayIdleAnimation(); } this._agent.DeactivateNavMeshAgent(); }
public void Start() { actorAI = GetComponent <ActorAI>(); waySpawn = FindObjectOfType <WaySpawn>(); anim = GetComponent <ActorAnimation>(); }
protected override void OnAwake(PlayerActor player) { player.EventKey = AIProject.EventType.Sleep; player.SetActiveOnEquipedItem(false); player.ChaControl.setAllLayerWeight(0.0f); Singleton <Manager.Input> .Instance.ReserveState(Manager.Input.ValidType.UI); Singleton <Manager.Input> .Instance.SetupState(); MapUIContainer.SetVisibleHUDExceptStoryUI(false); MapUIContainer.StorySupportUI.Close(); ObservableExtensions.Subscribe <long>((IObservable <M0>)Observable.Timer(TimeSpan.FromMilliseconds(1000.0)), (System.Action <M0>)(_ => this.OnStart(player))); int eventID = (int)AIProject.Definitions.Action.NameTable[AIProject.EventType.Sleep].Item1; DateActionPointInfo apInfo; player.CurrentPoint.TryGetPlayerDateActionPointInfo(player.ChaControl.sex, AIProject.EventType.Sleep, out apInfo); int poseIda = apInfo.poseIDA; player.PoseID = poseIda; int index = poseIda; Transform t1 = ((Component)player.CurrentPoint).get_transform().FindLoop(apInfo.baseNullNameA)?.get_transform() ?? ((Component)player.CurrentPoint).get_transform(); Transform t2 = ((Component)player.CurrentPoint).get_transform().FindLoop(apInfo.baseNullNameB)?.get_transform() ?? ((Component)player.CurrentPoint).get_transform(); GameObject loop1 = ((Component)player.CurrentPoint).get_transform().FindLoop(apInfo.recoveryNullNameA); player.Animation.RecoveryPoint = loop1?.get_transform(); GameObject loop2 = ((Component)player.CurrentPoint).get_transform().FindLoop(apInfo.recoveryNullNameB); ActorAnimation animation = player.Partner.Animation; Transform transform1 = loop2?.get_transform(); player.Partner.Animation.RecoveryPoint = transform1; Transform transform2 = transform1; animation.RecoveryPoint = transform2; PlayState playState1 = Singleton <Resources> .Instance.Animation.PlayerActionAnimTable[(int)player.ChaControl.sex][eventID][index]; player.Animation.LoadEventKeyTable(eventID, apInfo.poseIDA); player.LoadEventItems(playState1); player.LoadEventParticles(eventID, apInfo.poseIDA); player.Animation.InitializeStates(playState1); Actor partner = player.Partner; partner.Animation.LoadEventKeyTable(eventID, apInfo.poseIDB); PlayState playState2 = Singleton <Resources> .Instance.Animation.AgentActionAnimTable[eventID][apInfo.poseIDB]; partner.LoadEventItems(playState2); partner.LoadEventParticles(eventID, apInfo.poseIDB); partner.Animation.InitializeStates(playState2); ActorAnimInfo actorAnimInfo1 = new ActorAnimInfo() { layer = playState1.Layer, inEnableBlend = playState1.MainStateInfo.InStateInfo.EnableFade, inBlendSec = playState1.MainStateInfo.InStateInfo.FadeSecond, outEnableBlend = playState1.MainStateInfo.OutStateInfo.EnableFade, outBlendSec = playState1.MainStateInfo.OutStateInfo.FadeSecond, directionType = playState1.DirectionType, isLoop = playState1.MainStateInfo.IsLoop }; player.Partner.Animation.AnimInfo = actorAnimInfo1; ActorAnimInfo actorAnimInfo2 = actorAnimInfo1; player.Animation.AnimInfo = actorAnimInfo2; ActorAnimInfo actorAnimInfo3 = actorAnimInfo2; ActorAnimInfo actorAnimInfo4 = new ActorAnimInfo() { layer = playState2.Layer, inEnableBlend = playState2.MainStateInfo.InStateInfo.EnableFade, inBlendSec = playState2.MainStateInfo.InStateInfo.FadeSecond, outEnableBlend = playState2.MainStateInfo.OutStateInfo.EnableFade, outBlendSec = playState2.MainStateInfo.OutStateInfo.FadeSecond, directionType = playState2.DirectionType, isLoop = playState2.MainStateInfo.IsLoop, loopMinTime = playState1.MainStateInfo.LoopMin, loopMaxTime = playState1.MainStateInfo.LoopMax, hasAction = playState1.ActionInfo.hasAction }; partner.Animation.AnimInfo = actorAnimInfo4; ActorAnimInfo actorAnimInfo5 = actorAnimInfo4; player.DeactivateNavMeshAgent(); player.IsKinematic = true; partner.SetActiveOnEquipedItem(false); partner.ChaControl.setAllLayerWeight(0.0f); partner.DeactivateNavMeshAgent(); partner.IsKinematic = true; this._hasAction = playState1.ActionInfo.hasAction; if (this._hasAction) { this._loopStateName = playState1.MainStateInfo.InStateInfo.StateInfos.GetElement <PlayState.Info>(playState1.MainStateInfo.InStateInfo.StateInfos.Length - 1).stateName; this._randomCount = playState1.ActionInfo.randomCount; this._oldNormalizedTime = 0.0f; } player.Animation.PlayInAnimation(actorAnimInfo3.inEnableBlend, actorAnimInfo3.inBlendSec, playState1.MainStateInfo.FadeOutTime, actorAnimInfo3.layer); player.SetStand(t1, playState1.MainStateInfo.InStateInfo.EnableFade, playState1.MainStateInfo.InStateInfo.FadeSecond, playState1.DirectionType); partner.Animation.PlayInAnimation(actorAnimInfo3.inEnableBlend, actorAnimInfo3.inBlendSec, playState2.MainStateInfo.FadeOutTime, actorAnimInfo3.layer); partner.SetStand(t2, actorAnimInfo5.inEnableBlend, actorAnimInfo5.inBlendSec, actorAnimInfo3.layer); ObservableExtensions.Subscribe <long>(Observable.Take <long>(Observable.Skip <long>((IObservable <M0>)Observable.EveryLateUpdate(), 1), 1), (System.Action <M0>)(_ => { if (apInfo.pointID == 501) { ADV.ChangeADVFixedAngleCamera((Actor)player, 5); } else { if (apInfo.pointID != 500) { return; } ADV.ChangeADVFixedAngleCamera(partner, 5); } })); bool enabled = ((Behaviour)player.HandsHolder).get_enabled(); player.OldEnabledHoldingHand = enabled; if (enabled) { ((Behaviour)player.HandsHolder).set_enabled(false); if (player.HandsHolder.EnabledHolding) { player.HandsHolder.EnabledHolding = false; } } player.CameraControl.SetShotTypeForce(ShotType.Near); }
private void ActivateTransferImmediate(PlayerActor player, Actor partner) { EquipEventItemInfo itemInfo = (EquipEventItemInfo)null; PlayState info; this.LoadLocomotionAnimation(player, out info, ref itemInfo); player.ResetEquipEventItem(itemInfo); partner.Position = player.Position; partner.Rotation = player.Rotation; int onbuStateId = Singleton <Resources> .Instance.DefinePack.AnimatorState.OnbuStateID; PlayState playState = Singleton <Resources> .Instance.Animation.PlayerLocomotionStateTable[(int)player.ChaControl.sex][onbuStateId]; ActorAnimation animation1 = player.Animation; ActorAnimation animation2 = partner.Animation; animation1.InStates.Clear(); animation1.OutStates.Clear(); animation1.ActionStates.Clear(); partner.Animation.InStates.Clear(); partner.Animation.OutStates.Clear(); partner.Animation.ActionStates.Clear(); PlayState.Info element1 = playState.MainStateInfo.InStateInfo.StateInfos.GetElement <PlayState.Info>(playState.MainStateInfo.InStateInfo.StateInfos.Length - 1); if (info != null) { PlayState.Info element2 = info.MainStateInfo.InStateInfo.StateInfos.GetElement <PlayState.Info>(info.MainStateInfo.InStateInfo.StateInfos.Length - 1); player.Animation.InStates.Enqueue(element2); if (!info.MainStateInfo.OutStateInfo.StateInfos.IsNullOrEmpty <PlayState.Info>()) { foreach (PlayState.Info stateInfo in info.MainStateInfo.OutStateInfo.StateInfos) { player.Animation.OutStates.Enqueue(stateInfo); } } partner.Animation.InStates.Enqueue(element1); if (!playState.MainStateInfo.OutStateInfo.StateInfos.IsNullOrEmpty <PlayState.Info>()) { foreach (PlayState.Info stateInfo in playState.MainStateInfo.OutStateInfo.StateInfos) { partner.Animation.OutStates.Enqueue(stateInfo); } } ActorAnimInfo animInfo = player.Animation.AnimInfo; int layer = info.Layer; player.Animation.StopAllAnimCoroutine(); player.Animation.PlayInLocoAnimation(animInfo.inEnableBlend, animInfo.inBlendSec, layer); partner.Animation.StopAllAnimCoroutine(); partner.Animation.PlayInLocoAnimation(animInfo.inEnableBlend, animInfo.inBlendSec, layer); } else { for (int index = 1; index < animation1.Animator.get_layerCount(); ++index) { animation1.Animator.SetLayerWeight(index, 0.0f); } player.Animation.InStates.Enqueue(element1); if (!playState.MainStateInfo.OutStateInfo.StateInfos.IsNullOrEmpty <PlayState.Info>()) { foreach (PlayState.Info stateInfo in playState.MainStateInfo.OutStateInfo.StateInfos) { player.Animation.OutStates.Enqueue(stateInfo); } } partner.Animation.InStates.Enqueue(element1); if (!playState.MainStateInfo.OutStateInfo.StateInfos.IsNullOrEmpty <PlayState.Info>()) { foreach (PlayState.Info stateInfo in playState.MainStateInfo.OutStateInfo.StateInfos) { partner.Animation.OutStates.Enqueue(stateInfo); } } ActorAnimInfo animInfo = player.Animation.AnimInfo; int layer = playState.Layer; player.Animation.StopAllAnimCoroutine(); player.Animation.PlayInLocoAnimation(animInfo.inEnableBlend, animInfo.inBlendSec, layer); partner.Animation.StopAllAnimCoroutine(); partner.Animation.PlayInLocoAnimation(animInfo.inEnableBlend, animInfo.inBlendSec, layer); } if (player.NavMeshAgent.get_isStopped()) { player.NavMeshAgent.set_isStopped(false); } if (!player.IsKinematic) { return; } player.IsKinematic = false; }
private void ActivateTransfer(PlayerActor player, Actor partner) { EquipEventItemInfo itemInfo = (EquipEventItemInfo)null; PlayState info1; this.LoadLocomotionAnimation(player, out info1, ref itemInfo); player.ResetEquipEventItem(itemInfo); partner.Position = player.Position; partner.Rotation = player.Rotation; int onbuStateId = Singleton <Resources> .Instance.DefinePack.AnimatorState.OnbuStateID; PlayState info2 = Singleton <Resources> .Instance.Animation.PlayerLocomotionStateTable[(int)player.ChaControl.sex][onbuStateId]; ActorAnimation animation1 = player.Animation; ActorAnimation animation2 = partner.Animation; AnimatorStateInfo animatorStateInfo = animation1.Animator.GetCurrentAnimatorStateInfo(0); if (info1 != null) { animation1.InitializeStates(info1); animation2.InitializeStates(info2); bool flag = false; foreach (PlayState.Info stateInfo in info1.MainStateInfo.InStateInfo.StateInfos) { if (((AnimatorStateInfo) ref animatorStateInfo).get_shortNameHash() == stateInfo.ShortNameStateHash) { flag = true; break; } } if (flag) { if (info1.MaskStateInfo.layer > 0) { if ((double)animation1.Animator.GetLayerWeight(info1.MaskStateInfo.layer) == 0.0) { flag = false; } } else { for (int index = 1; index < animation1.Animator.get_layerCount(); ++index) { if ((double)animation1.Animator.GetLayerWeight(index) > 0.0) { flag = false; break; } } } } if (flag) { animation1.InStates.Clear(); animation1.OutStates.Clear(); animation1.ActionStates.Clear(); animation2.InStates.Clear(); animation2.OutStates.Clear(); animation2.ActionStates.Clear(); } else { int layer = info1.Layer; if (animation1.RefsActAnimInfo) { animation1.StopAllAnimCoroutine(); animation1.PlayInLocoAnimation(animation1.AnimInfo.outEnableBlend, animation1.AnimInfo.outBlendSec, layer); animation2.StopAllAnimCoroutine(); animation2.PlayInLocoAnimation(animation1.AnimInfo.outEnableBlend, animation1.AnimInfo.outBlendSec, layer); animation1.RefsActAnimInfo = false; } else { bool enableFade = info1.MainStateInfo.InStateInfo.EnableFade; float fadeSecond = info1.MainStateInfo.InStateInfo.FadeSecond; animation1.StopAllAnimCoroutine(); animation1.PlayInLocoAnimation(enableFade, fadeSecond, layer); animation2.StopAllAnimCoroutine(); animation2.PlayInLocoAnimation(enableFade, fadeSecond, layer); } } } else { for (int index = 1; index < animation1.Animator.get_layerCount(); ++index) { animation1.Animator.SetLayerWeight(index, 0.0f); } animation1.InitializeStates(info2); animation2.InitializeStates(info2); int layer = info2.Layer; if (animation1.RefsActAnimInfo) { animation1.StopAllAnimCoroutine(); animation1.PlayInLocoAnimation(animation1.AnimInfo.endEnableBlend, animation1.AnimInfo.endBlendSec, layer); animation2.StopAllAnimCoroutine(); animation2.PlayInLocoAnimation(animation1.AnimInfo.inEnableBlend, animation1.AnimInfo.inBlendSec, layer); animation1.RefsActAnimInfo = false; } else { ActorAnimInfo actorAnimInfo1 = new ActorAnimInfo() { layer = info2.Layer, inEnableBlend = info2.MainStateInfo.InStateInfo.EnableFade, inBlendSec = info2.MainStateInfo.InStateInfo.FadeSecond }; player.Animation.AnimInfo = actorAnimInfo1; ActorAnimInfo actorAnimInfo2 = actorAnimInfo1; bool inEnableBlend = actorAnimInfo2.inEnableBlend; float inBlendSec = actorAnimInfo2.inBlendSec; animation1.StopAllAnimCoroutine(); animation1.PlayInLocoAnimation(inEnableBlend, inBlendSec, layer); animation2.StopAllAnimCoroutine(); animation2.PlayInLocoAnimation(inEnableBlend, inBlendSec, layer); } } if (player.NavMeshAgent.get_isStopped()) { player.NavMeshAgent.set_isStopped(false); } if (!player.IsKinematic) { return; } player.IsKinematic = false; }
public static void CreateAnimations() { /*** * * IMPS * */ { // Imp idle { var anim1 = new AnimationEntry("impidle1", TimeSpan.FromMilliseconds(200)); var anim2 = new AnimationEntry("impidle2", TimeSpan.FromMilliseconds(200)); var animList = new List<AnimationEntry>() {anim1, anim2}; var impIdle = new ActorAnimation(animList, true, "Prototype"); ActorAnimationManager.RegisterAnimation("impidle", impIdle); } // Imp shoot { var anim1 = new AnimationEntry("impshoot1", TimeSpan.FromMilliseconds(200)); var anim2 = new AnimationEntry("impshoot2", TimeSpan.FromMilliseconds(200)); var anim3 = new AnimationEntry("impshoot3", TimeSpan.FromMilliseconds(200)); var animList = new List<AnimationEntry>() {anim1, anim2, anim3}; var impShoot = new ActorAnimation(animList, false, "Prototype"); ActorAnimationManager.RegisterAnimation("impshoot", impShoot); } // imp pain { var anim1 = new AnimationEntry("imppain", TimeSpan.FromMilliseconds(300)); var animList = new List<AnimationEntry>() {anim1}; var impPain = new ActorAnimation(animList, false, "Prototype"); ActorAnimationManager.RegisterAnimation("imppain", impPain); } // imp death { var anim1 = new AnimationEntry("impdeath1", TimeSpan.FromMilliseconds(200)); var anim2 = new AnimationEntry("impdeath2", TimeSpan.FromMilliseconds(200)); var anim3 = new AnimationEntry("impdeath3", TimeSpan.FromMilliseconds(200)); var anim4 = new AnimationEntry("impdeath4", TimeSpan.FromMilliseconds(200)); var anim5 = new AnimationEntry("impdeath5", TimeSpan.FromMilliseconds(200)); var animList = new List<AnimationEntry>() {anim1, anim2, anim3, anim4, anim5}; var impDie = new ActorAnimation(animList, false, "Prototype"); ActorAnimationManager.RegisterAnimation("impdie", impDie); } // Imp fireball idle { var anim1 = new AnimationEntry("impfireball1", TimeSpan.FromMilliseconds(125)); var anim2 = new AnimationEntry("impfireball2", TimeSpan.FromMilliseconds(125)); var animList = new List<AnimationEntry>() {anim1, anim2}; ActorAnimationManager.RegisterAnimation("impfireballidle", new ActorAnimation(animList, true, "Prototype")); } // Imp fireball death { var anim1 = new AnimationEntry("impfireballdeath1", TimeSpan.FromMilliseconds(225)); var anim2 = new AnimationEntry("impfireballdeath2", TimeSpan.FromMilliseconds(225)); var anim3 = new AnimationEntry("impfireballdeath3", TimeSpan.FromMilliseconds(225)); var ballDeath = new ActorAnimation(new List<AnimationEntry>() {anim1, anim2, anim3}, false, "Prototype"); ActorAnimationManager.RegisterAnimation("impfireballdeath", ballDeath); } } /** * * CACODEMON * */ { // caco idle { var anim = new AnimationEntry("cacoidle", TimeSpan.Zero); var cacoIdle = new ActorAnimation(true, anim); ActorAnimationManager.RegisterAnimation("cacoidle", cacoIdle); } // caco shoot fireball { var anim1 = new AnimationEntry("cacoshoot1", TimeSpan.FromMilliseconds(125)); var anim2 = new AnimationEntry("cacoshoot2", TimeSpan.FromMilliseconds(125)); var anim3 = new AnimationEntry("cacoshoot3", TimeSpan.FromMilliseconds(350)); var cacoShoot = new ActorAnimation(false, anim1, anim2, anim3); ActorAnimationManager.RegisterAnimation("cacoshoot", cacoShoot); } // caco pain { var anim1 = new AnimationEntry("cacopain1", TimeSpan.FromMilliseconds(500)); var anim2 = new AnimationEntry("cacopain2", TimeSpan.FromMilliseconds(500)); var cacoPain = new ActorAnimation(false, anim1, anim2); ActorAnimationManager.RegisterAnimation("cacopain", cacoPain); } // caco death { var anim1 = new AnimationEntry("cacodeath1", TimeSpan.FromMilliseconds(120)); var anim2 = new AnimationEntry("cacodeath2", TimeSpan.FromMilliseconds(120)); var anim3 = new AnimationEntry("cacodeath3", TimeSpan.FromMilliseconds(120)); var anim4 = new AnimationEntry("cacodeath4", TimeSpan.FromMilliseconds(120)); var anim5 = new AnimationEntry("cacodeath5", TimeSpan.FromMilliseconds(120)); var anim6 = new AnimationEntry("cacodeath6", TimeSpan.FromMilliseconds(120)); var cacoDeath = new ActorAnimation(false, anim1, anim2, anim3, anim4, anim5, anim6); ActorAnimationManager.RegisterAnimation("cacodie", cacoDeath); } // caco fireball idle { var anim1 = new AnimationEntry("cacofireball1", TimeSpan.FromMilliseconds(125)); var anim2 = new AnimationEntry("cacofireball2", TimeSpan.FromMilliseconds(125)); var cacoBallIdle = new ActorAnimation(true, anim1, anim2); ActorAnimationManager.RegisterAnimation("cacofireballidle", cacoBallIdle); } // caco fireball death { var anim1 = new AnimationEntry("cacofireballdeath1", TimeSpan.FromMilliseconds(125)); var anim2 = new AnimationEntry("cacofireballdeath2", TimeSpan.FromMilliseconds(125)); var anim3 = new AnimationEntry("cacofireballdeath3", TimeSpan.FromMilliseconds(125)); var cacoFireballDeath = new ActorAnimation(false, anim1, anim2, anim3); ActorAnimationManager.RegisterAnimation("cacofireballdeath", cacoFireballDeath); } } }