Example #1
0
    /// <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);
        }
    }
Example #2
0
    /// <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);
    }
Example #3
0
    /// <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);
    }