//Replaces current attack with this one public virtual void InitState(Character chr) { CS_Attack oldState = chr.GetAttackState(attackType); if (oldState != null) { chr.cStates.Remove(oldState); } }
public CS_Attack GetAttackState(EAttackType attackType) { CS_Attack returnState = null; for (int i = 0; i < cStates.Count; i++) { if (cStates[i] is CS_Attack) { CS_Attack checkAttackType = (CS_Attack)cStates[i]; if (checkAttackType.attackType == attackType) { returnState = (CS_Attack)cStates[i]; } } } return(returnState); }
private void AttackOver(CS_Attack cs_attack) { aiMachine.ChangeState(aiWalk); }
protected bool ChangeState(EAttackType attackType) { CS_Attack newState = chr.GetAttackState(attackType); return(ChangeState(newState)); }