Example #1
0
 public void DownStart()
 {
     downCount = 0;
     isWakeUp  = false;
     stateBase.ChangeSkillConstant(SkillConstants.Down, 0);
 }
Example #2
0

        
    //やられ
    public void HitStunStart()
    {
        isEndStun = false;
        FighterSkill.CustomHitBox box = stateBase.core.GetDamage;
        //硬直
        hitRigor = box.hitRigor;
        hitCount = 0;

        //ヒットストップ
        GameManager.Instance.SetHitStop(stateBase.core.PlayerNumber, box.hitStop);
        //相打ち時に受けたほうを優先する
        if (GameManager.Instance.GetHitStop(stateBase.core.EnemyNumber) <= 0)
        {
            GameManager.Instance.SetHitStop(stateBase.core.EnemyNumber, box.hitStop);
        }
        //立ちやられ
        if (stateBase.core.GetDamage.frameHitBoxes.Count > 0)
        {
            //ダメージ処理
            stateBase.core.HP -= box.damage;
            if (stateBase.core.HP < 0)
            {
                stateBase.core.HP = 0;
            }
            switch (box.hitPoint)
            {
            case HitPoint.Bottom:
                switch (box.hitStrength)
                {
                case HitStrength.Light:
                    stateBase.ChangeSkillConstant(SkillConstants.Stand_Light_Bottom_HitMotion, 0);
                    break;

                case HitStrength.Middle:
                    stateBase.ChangeSkillConstant(SkillConstants.Stand_Middle_Bottom_HitMotion, 0);
                    break;

                case HitStrength.Strong:
                    stateBase.ChangeSkillConstant(SkillConstants.Stand_Strong_Bottom_HitMotion, 0);
                    break;
                }
                break;

            case HitPoint.Middle:
                switch (box.hitStrength)
                {
                case HitStrength.Light:
                    stateBase.ChangeSkillConstant(SkillConstants.Stand_Light_Middle_HitMotion, 0);
                    break;

                case HitStrength.Middle:
                    stateBase.ChangeSkillConstant(SkillConstants.Stand_Middle_Middle_HitMotion, 0);
                    break;

                case HitStrength.Strong:
                    stateBase.ChangeSkillConstant(SkillConstants.Stand_Strong_Middle_HitMotion, 0);
                    break;
                }
                break;

            case HitPoint.Top:
                switch (box.hitStrength)
                {
                case HitStrength.Light:
                    stateBase.ChangeSkillConstant(SkillConstants.Stand_Light_Top_HitMotion, 0);
                    break;

                case HitStrength.Middle:
                    stateBase.ChangeSkillConstant(SkillConstants.Stand_Middle_Top_HitMotion, 0);
                    break;

                case HitStrength.Strong:
                    stateBase.ChangeSkillConstant(SkillConstants.Stand_Strong_Top_HitMotion, 0);
                    break;
                }
                break;
            }
        }
        //ノックバックのセット
        PlayerDirection tmpDir;

        //右向きにノックバックするか左向きにノックバックするか
        if (GameManager.Instance.GetPlayFighterCore(stateBase.core.EnemyNumber).Direction == PlayerDirection.Right)
        {
            tmpDir = PlayerDirection.Left;
        }
        else
        {
            tmpDir = PlayerDirection.Right;
        }
        //エフェクト再生
        BoxCollider _bCol = stateBase.core.GetDamageCollider;
        Transform   t     = _bCol.gameObject.transform;

        for (int i = 0; i < box.hitEffects.Count; i++)
        {
            if (box.hitEffects[i].effect != null)
            {
                if (GameManager.Instance.GetPlayFighterCore(stateBase.core.EnemyNumber).Direction == PlayerDirection.Right)
                {
                    Object.Instantiate(box.hitEffects[i].effect, new Vector3(t.position.x + _bCol.center.x + box.hitEffects[i].position.x, t.position.y + _bCol.center.y + box.hitEffects[i].position.y, t.position.z + _bCol.center.z + box.hitEffects[i].position.z), Quaternion.identity);
                }
                else if (GameManager.Instance.GetPlayFighterCore(stateBase.core.EnemyNumber).Direction == PlayerDirection.Left)
                {
                    Object.Instantiate(box.hitEffects[i].effect, new Vector3(t.position.x + _bCol.center.x + box.hitEffects[i].position.x, t.position.y + _bCol.center.y + box.hitEffects[i].position.y, t.position.z + _bCol.center.z + box.hitEffects[i].position.z), Quaternion.Euler(0, 180, 0));
                }
            }
        }

        stateBase.core.SetKnockBack(box.knockBack, stateBase.core.EnemyNumber, tmpDir);
        //ダメージを受けたのでリセット
        stateBase.core.SetDamage(new FighterSkill.CustomHitBox(), null);
    }
Example #4
0
    //ガード開始
    public void GuardStart()
    {
        isGuard    = false;
        isGuardEnd = false;
        FighterSkill.CustomHitBox box = stateBase.core.GetDamage;
        //硬直
        hitRigor = box.hitRigor;
        hitCount = 0;
        //ヒットストップ
        GameManager.Instance.SetHitStop(stateBase.core.PlayerNumber, box.hitStop);
        //相打ち時に受けたほうを優先する
        if (GameManager.Instance.GetHitStop(stateBase.core.EnemyNumber) <= 0)
        {
            GameManager.Instance.SetHitStop(stateBase.core.EnemyNumber, box.hitStop);
        }

        Direction inp = stateBase.input.GetPlayerMoveDirection(stateBase);

        if (inp == Direction.Back)
        {
            stateBase.ChangeSkillConstant(SkillConstants.Stand_Guard, 0);
        }
        else if (inp == Direction.DownBack)
        {
            stateBase.ChangeSkillConstant(SkillConstants.Crouching_Guard, 0);
        }
        //ノックバックのセット
        PlayerDirection tmpDir;

        //右向きにノックバックするか左向きにノックバックするか
        if (GameManager.Instance.GetPlayFighterCore(stateBase.core.EnemyNumber).Direction == PlayerDirection.Right)
        {
            tmpDir = PlayerDirection.Left;
        }
        else
        {
            tmpDir = PlayerDirection.Right;
        }

        //エフェクト再生
        BoxCollider _bCol = stateBase.core.GetDamageCollider;
        Transform   t     = _bCol.gameObject.transform;

        for (int i = 0; i < box.hitEffects.Count; i++)
        {
            if (box.hitEffects[i].guardEffect != null)
            {
                if (GameManager.Instance.GetPlayFighterCore(stateBase.core.EnemyNumber).Direction == PlayerDirection.Right)
                {
                    Object.Instantiate(box.hitEffects[i].guardEffect, new Vector3(t.position.x + _bCol.center.x + box.hitEffects[i].position.x, t.position.y + _bCol.center.y + box.hitEffects[i].position.y, t.position.z + _bCol.center.z + box.hitEffects[i].position.z), Quaternion.identity);
                }
                else if (GameManager.Instance.GetPlayFighterCore(stateBase.core.EnemyNumber).Direction == PlayerDirection.Left)
                {
                    Object.Instantiate(box.hitEffects[i].guardEffect, new Vector3(t.position.x + _bCol.center.x + box.hitEffects[i].position.x, t.position.y + _bCol.center.y + box.hitEffects[i].position.y, t.position.z + _bCol.center.z + box.hitEffects[i].position.z), Quaternion.Euler(0, 180, 0));
                }
            }
        }

        stateBase.core.SetKnockBack(box.guardKnockBack, stateBase.core.EnemyNumber, tmpDir);
        //ダメージを受けたのでリセット
        stateBase.core.SetDamage(new FighterSkill.CustomHitBox(), null);
    }
Example #5
0
    public void AttackStart()
    {
        string atk = stateBase.input.GetPlayerAtk();

        switch (atk)
        {
        case "_Atk1":
            if (stateBase.core.PlayerMoveStates == PlayerMoveState.Crouching)
            {
                stateBase.ChangeSkillConstant(SkillConstants.Crouching_Light_Jab, 0);
            }
            else
            {
                stateBase.ChangeSkillConstant(SkillConstants.Stand_Light_Jab, 0);
            }
            break;

        case "_Atk2":
            if (stateBase.core.PlayerMoveStates == PlayerMoveState.Crouching)
            {
                stateBase.ChangeSkillConstant(SkillConstants.Crouching_Middle_Jab, 0);
            }
            else
            {
                stateBase.ChangeSkillConstant(SkillConstants.Stand_Middle_Jab, 0);
            }
            break;

        case "_Atk3":
            if (stateBase.core.PlayerMoveStates == PlayerMoveState.Crouching)
            {
                stateBase.ChangeSkillConstant(SkillConstants.Crouching_Strong_Jab, 0);
            }
            else
            {
                stateBase.ChangeSkillConstant(SkillConstants.Stand_Strong_Jab, 0);
            }
            break;
        }
    }