/// <summary> /// 攻撃開始までの猶予処理 + 起動 /// </summary> /// <param name="wait"></param> /// <returns></returns> protected IEnumerator AttackStart(float wait) { yield return(new WaitForSeconds(wait)); AnimationAttack(); print("攻撃" + gameObject.name); MyAttackObj.SetEndCallback(AttackEnd); MyAttackObj.Activate(); if (ieAttackMode != null) { StopCoroutine(ieAttackMode); } }
/// <summary> /// 攻撃体勢に入る /// </summary> virtual protected void AttackPose() { var prefab = ResourceManager.Instance.Get <HitSeriesofAction>(ConstDirectry.DirPrefabsHitEnemyMin, ConstActionHitData.ActionEnemyMin1); MyAttackObj = Instantiate(prefab); MyAttackObj.Initialize(this.gameObject); IsAttacking = true; AnimationAttackPose(); if (ieAttackModeLimit != null) { StopCoroutine(ieAttackModeLimit); } ieAttackModeLimit = AttackStart(1f + attackIntervalTime); StartCoroutine(ieAttackModeLimit); StopMove(5f + NextAttackInterval); }
/// <summary> /// 攻撃体勢に入る /// </summary> override protected void AttackPose() { SelectAttackId(); var prefab = GetResource(); MyAttackObj = Instantiate(prefab); MyAttackObj.Initialize(this.gameObject); IsAttacking = true; AnimationAttackPose(); GroupCommand.NoticeEnemiesAttack(); if (ieAttackMode != null) { StopCoroutine(ieAttackMode); } ieAttackMode = AttackStart(0.5f + attackIntervalTime); StartCoroutine(ieAttackMode); StopMove(2f + NextAttackInterval); }