public static FighterControllerState DetermineFighterControllerState(FighterController fighterController)
    {
        FighterControllerState fighterControllerState = null;

        if (fighterController.IsPlayerOne() || GameData.GetPlayers() == 2)
        {
            fighterControllerState = new PlayerControllerState();
        }
        else
        {
            switch (GameData.GetComputerDifficulty())
            {
            case Difficulty.Easy:
                fighterControllerState = new EasyAiControllerState();
                break;

            case Difficulty.Medium:
                fighterControllerState = new MediumAiControllerState();
                break;

            case Difficulty.Hard:
                fighterControllerState = new HardAiControllerState();
                break;
            }
        }

        fighterControllerState.Init(fighterController);
        return(fighterControllerState);
    }
Пример #2
0
    private void OnTriggerEnter(Collider other)
    {
        FighterController fighterController = other.transform.root.GetComponent <FighterController>();

        if (!dealtDamage && fighterController != null) //Hit fighter
        {
            if (!fighterController.SuccessfullyBlockedProjectile())
            {
                gameManager.DealDamageToFighter(damage, AttackType.Flinch, fighterController.IsPlayerOne());
            }
            dealtDamage = true;
        }
        Destroy(gameObject);
    }