Esempio n. 1
0
    void Update()
    {
        // Update available characters, could be done with some death event
        _targetCharacters = FindObjectOfType <CharacterPositioning>().InstantiatedCharacters;

        //Choose which skill to use
        AbilityType chosenAbility;

        if (Random.value < 0.10)
        {
            chosenAbility = AbilityType.Nuke;
        }
        else if (Random.value < 0.30)
        {
            chosenAbility = AbilityType.Stun;
        }
        else
        {
            chosenAbility = AbilityType.Poke;
        }
        _boss.SetAbility(chosenAbility);
        if (AbilityCast != null && _boss.CanCastAbility && _targetCharacters.Count > 0)
        {
            var targetEnemy = _targetCharacters[(++_iteration) % _targetCharacters.Count];
            AbilityCast.Invoke(this, new AbilityCastEventArgs
            {
                //Position = Camera.main.ScreenToWorldPoint(Input.mousePosition),
                TargetEnemy = targetEnemy
            });
        }
    }