public void EnterState(EActionState eState, params object[] paramList) { if (m_currState != null) { if (m_currState.GetState() == eState) { return; } } EActionState eLastState = EActionState.None; if (m_currState != null) { eLastState = m_currState.GetState(); m_currState.BreakState(eState); } for (int i = 0; i < m_lstState.Count; ++i) { if (m_lstState[i].GetState() == eState) { m_currState = m_lstState[i]; m_lstState[i].EnterState(eLastState, paramList); } } }
public void Invoke(EActionState eventType, IAction action) { foreach (OnAction callback in GetList(eventType, action.GetIndex())) { callback.Invoke(action); } }
public override void EnterState(EActionState eState) { base.EnterState(eState); int randomIndex = Random.Range(1, 3); m_tk2DSpriteAnimator.Play("Behit" + randomIndex.ToString()); }
public virtual void Execute() { me.TriggerAction(this); timer.key = 0f; cooldown = true; state = EActionState.RUNNING; }
public override void EnterState(EActionState eState) { base.EnterState(eState); m_owner.CanJumpAttack = true; m_fV0 = m_owner.GetAttr(EActorAttr.JumpSpeed).Value; m_fGravity = m_owner.GetAttr(EActorAttr.JumpGravity).Value; m_fOffset = 0; m_tk2DSpriteAnimator.Play("Jump_Up"); }
public override void EnterState(EActionState eState) { base.EnterState(eState); //这里先进行预设,后面最好根据配置表在具体的状态中来设置这些状态。 m_owner.CanMove = true; m_owner.CanJump = true; m_owner.CanAttack = true; m_owner.CanSkill = true; }
public BaseState(Actor actor, EActionState eState) { m_owner = actor; m_eState = eState; if (m_inputAbility == null) { m_inputAbility = m_owner.GetAbility <HeroInputAbility>(); } }
public override void EnterState(EActionState eState, params object[] paramList) { base.EnterState(eState, paramList); m_tk2DSpriteAnimator.Play("Jump_Fall"); if (paramList.Length > 0) { m_fV0 = (float)paramList.GetValue(0); m_fOffset = (float)paramList.GetValue(1); } m_fGravity = m_owner.GetAttr(EActorAttr.JumpGravity).Value; }
public BaseState GetState(EActionState eState) { for (int i = 0; i < m_lstState.Count; ++i) { if (m_lstState[i].GetState() == eState) { return(m_lstState[i]); } } return(null); }
protected List <OnAction> GetList(EActionState eventType, int actionIndex) { if (callbacks.ContainsKey(actionIndex) == false) { callbacks[actionIndex] = new Dictionary <EActionState, List <OnAction> >(); } if (callbacks[actionIndex].ContainsKey(eventType) == false) { callbacks[actionIndex][eventType] = new List <OnAction>(); } return(callbacks[actionIndex][eventType]); }
/// <summary> /// /// </summary> /// <param name="eState">进入新状态后上一个状态</param> public virtual void EnterState(EActionState eState) { if (m_tk2DSpriteAnimator == null) { m_tk2DSpriteAnimator = m_owner.GetAbility <AnimationAbility>().GetTk2dSpriteAnimator(); } if (m_stateManager == null) { m_stateManager = m_owner.GetStateMgr(); } m_tk2DSpriteAnimator.AnimationCompleted = OnAnimationComplete; }
public override void EnterState(EActionState eState) { base.EnterState(eState); m_owner.CanMove = true; m_owner.CanJump = false; m_owner.CanAttack = false; m_owner.CanSkill = false; m_owner.IsJump = true; if (m_animationTrans == null) { m_animationTrans = m_owner.GetAbility <AnimationAbility>().m_animationTrans; } }
public void Stop() { if (null != m_lstActionFrames) { foreach (AbstractActionFrame frame in m_lstActionFrames) { if (null == frame) { continue; } frame.Stop(); } } m_eActionState = EActionState.Stop; //Destory(); }
public override void EnterState(EActionState eState) { base.EnterState(eState); m_tk2DSpriteAnimator.ClipFps = m_owner.GetAttr(EActorAttr.AttackSpeed).Value; if (m_owner is Hero) { if (Input.GetAxisRaw("Horizontal") > 0) { m_owner.Direction = 1; m_fAttackMoveSpeed *= 4f; } else if (Input.GetAxisRaw("Horizontal") < 0) { m_owner.Direction = -1; m_fAttackMoveSpeed *= 4f; } } }
public override void EnterState(EActionState eState) { base.EnterState(eState); if (m_bHasInit) { return; } if (m_skillLoader == null) { m_skillLoader = ConfigManager.Instance.GetLoader <SkillLoader>(); } if (m_lstFixedEffectId == null) { m_lstFixedEffectId = m_skillLoader.GetFixedEffectIdList(m_skillData.Id); } if (m_lstFixedEffectId != null && m_lstFixedEffectId.Count > 0) { for (int i = 0; i < m_lstFixedEffectId.Count; i++) { var fixedEffectLoaderData = ConfigManager.Instance.GetData <FixedEffectLoader, FixedEffectLoader.Data>(m_lstFixedEffectId[i]); GameObject m_effectObj = new GameObject("effect_" + m_skillData.ActionName + "_" + fixedEffectLoaderData.Id); m_effectObj.transform.parent = m_tk2DSpriteAnimator.transform.Find("Effect"); m_effectObj.transform.localPosition = Vector3.zero; tk2dSprite m_effectSprite = Common.GetOrAddComponent <tk2dSprite>(m_effectObj); tk2dSpriteCollectionData tk2DSpriteCollectionData = tk2dSystem.LoadResourceByName <tk2dSpriteCollectionData>(fixedEffectLoaderData.CollectionName); m_effectSprite.SetSprite(tk2DSpriteCollectionData, 0); m_effectSprite.SortingLevel = 3; m_effectObj.SetActive(false); m_lstEffectObj.Add(m_effectObj); m_lstEffectSprite.Add(m_effectSprite); m_lstStartFramName.Add(int.Parse(fixedEffectLoaderData.StartFrameName)); m_lstEndFramName.Add(int.Parse(fixedEffectLoaderData.EndFrameName)); } } m_bHasInit = true; }
public void Reset() { m_fStartTime = TimeManager.Instance.GetTime(); m_fRunTime = 0f; m_eActionState = EActionState.Play; m_lstActionFrames.Clear(); if (m_ActionFileData != null && m_ActionFileData.FrameDatalist != null) { for (int iIndex = m_ActionFileData.FrameDatalist.Count - 1; iIndex >= 0; --iIndex) { ActionFrameData inputData = m_ActionFileData.FrameDatalist[iIndex]; AbstractActionFrame skillFrame = ActionFrameFactory.CreateActionFrame(this, inputData); m_lstActionFrames.Add(skillFrame); } } // Stop Char Move StopCharMove(); //DisableAI(); }
public override void EnterState(EActionState eLastState) { base.EnterState(eLastState); GetSkillData(); m_eSkillType = ConfigManager.Instance.GetLoader <SkillLoader>().GetSKillType(m_nSkillId); m_fAttackMoveSpeed = m_skillData.MoveSpeed; m_fAttackMoveFriction = m_skillData.MoveFriction; m_owner.CanMove = false; m_owner.CanJump = false; m_owner.CanAttack = false; m_owner.CanSkill = false; m_inputAbility.MoveX(0); //播放动画 m_tk2DSpriteAnimator.Play(m_skillData.ActionName); //暂时设定在Update中只造成一次伤害 m_bCanHit = true; m_bCanCreateEffect = true; m_lstSkillEffectId = ConfigManager.Instance.GetLoader <SkillLoader>().GetSkillEffectIdList(m_nSkillId); }
public override void EnterState(EActionState eState, params object[] paramList) { base.EnterState(eState); m_owner.CanMove = true; m_owner.CanJump = false; m_owner.CanAttack = false; m_owner.CanSkill = false; m_owner.IsJump = true; m_owner.CanJumpAttack = false; m_tk2DSpriteAnimator.Play("JumpAttack"); if (paramList.Length > 0) { m_fV0 = (float)paramList.GetValue(0); m_fOffset = (float)paramList.GetValue(1); } m_fGravity = m_owner.GetAttr(EActorAttr.JumpGravity).Value; if (m_animationTrans == null) { m_animationTrans = m_owner.GetAbility <AnimationAbility>().m_animationTrans; } }
public override void EnterState(EActionState eState) { base.EnterState(eState); m_tk2DSpriteAnimator.ClipFps = m_owner.GetAttr(EActorAttr.AttackSpeed).Value; }
public override void EnterState(EActionState eState) { base.EnterState(eState); }
public void Stop() { actionState = EActionState.stop; if (Model != null) Model.Stop(); }
public void Resume() { actionState = EActionState.playing; if (Model != null) Model.Resume(); }
public void Pause() { actionState = EActionState.pause; if (Model != null) Model.Pause(); }
public void Pause() { actionState = EActionState.pause; Speed = 0f; }
public void Stop() { actionState = EActionState.stop; }
public void Pause() { m_eActionState = EActionState.Pause; }
public BaseJumpState(Actor actor, EActionState eState) : base(actor, eState) { }
public override void BreakState(EActionState eState) { base.BreakState(eState); }
public override void BreakState(EActionState eState) { base.BreakState(eState); m_animationTrans.localPosition = new Vector2(m_animationTrans.localPosition.x, 0); }
public virtual void EnterState(EActionState eState, params object[] paramList) { EnterState(eState); }
public void EnterState(string strStateName) { EActionState eState = (EActionState)Enum.Parse(typeof(EActionState), strStateName); EnterState(eState); }
public void Play() { m_eActionState = EActionState.Play; }
public BaseSkillState(Actor actor, EActionState eActionState) : base(actor, eActionState) { }
public void Resume() { actionState = EActionState.playing; Speed = 1f; }
public override void EnterState(EActionState eState) { base.EnterState(eState); m_owner.CanJumpAttack = false; m_tk2DSpriteAnimator.Play("Jump_Down"); }
/// <summary> /// /// </summary> /// <param name="eState">退出后下一个状态</param> public virtual void BreakState(EActionState eState) { }