protected override void Attack() { GameObject attackTarget = GetAttackTarget(); if (null != attackTarget) { CastleUtility.LookAtTarget(transform, attackTarget.transform); if (CastleUtility.IsTargetInAttackRange(transform, attackTarget.transform, mAttackDistance)) { mAttack.AddTarget(attackTarget); mAttack.LaunchSkill(); mHeroState = HERO_STATE.AUTO_ATTACK; } else { // change hero state to move to target mHeroState = HERO_STATE.MOVE_TO_TARGET; } } else { mAttack.LaunchSkill(); } }
private void StateAutoAttackWorkInUpdate() { if (null == GetAttackTarget()) { mHeroState = HERO_STATE.NORMAL; } else { OnAttack(); } }
private void StateMoveToTargetWorkInUpdate() { GameObject attackTarget = GetAttackTarget(); if (null != attackTarget) { SetHeroToRunState(); } else { mHeroState = HERO_STATE.NORMAL; CancelHeroRunState(); } }
private void AutoMoveToTarget() { GameObject attackTarget = GetAttackTarget(); if (null != attackTarget) { if (CastleUtility.IsTargetInAttackRange(transform, attackTarget.transform, mAttackDistance)) { mHeroState = HERO_STATE.AUTO_ATTACK; } else { // move to target Vector3 direction = attackTarget.transform.position - transform.position; Vector2 correctDirection = new Vector2(direction.x, direction.z); Move(correctDirection); } } }
public void changeHeroState(HERO_STATE newState) { state = newState; switch (newState) { case HERO_STATE.MOVING: break; case HERO_STATE.DISABLED: rb2d.velocity = Vector2.zero; break; case HERO_STATE.IDLE: break; default: break; } }
private void Start() { mMaxHP = Config.HP; mHP = mMaxHP; mAttackDistance = Config.DISTANCE_ATTACK; mSpeed = Config.SPEED; mSpeedForce = Config.SPEED_FORCE; mHeroAnimator = transform.GetComponent <Animator>(); mHeroAudioSource = transform.GetComponent <AudioSource>(); mHeroRigidbody = transform.GetComponent <Rigidbody>(); mHPSlider = transform.Find(DataConfigure.PATH_HP_SLIDER).GetComponent <Slider>(); mHPSlider.value = 1f; mIsRunID = DataConfigure.IS_RUN_ID; mHeroState = HERO_STATE.NORMAL; InitPlayerSkills(); }
private void SelectSkill(SKILL skillIndex) { switch (skillIndex) { case SKILL.ATTACK: mSelectSkill = mAttack; break; case SKILL.ONE: mSelectSkill = mSkill1; break; case SKILL.TWO: mSelectSkill = mSkill2; break; case SKILL.THREE: mSelectSkill = mSkill3; break; default: mSelectSkill = null; break; } if (SKILL.ATTACK != skillIndex) { mHeroState = HERO_STATE.NORMAL; } }
public void OnMove(Vector2 direction) { mHeroState = HERO_STATE.NORMAL; Move(direction); }