Esempio n. 1
0
    /*public void SpawnEndPortal()
     * {
     *      endPortalEnemy = SpawnEnemy(endPortalPrefab, map.CenterPosition).GetComponentInChildren<EndPortal>();
     *      if (OnEndPortalSpawned != null)
     *              OnEndPortalSpawned();
     * }*/

    public GameObject SpawnEnemy(GameObject prefab, Vector3 pos)
    {
        GameObject o = Instantiate(prefab);

        o.transform.SetParent(transform);
        if (Random.value < 0.5f)
        {
            o.transform.position = new Vector3(Random.Range(0, 10), Map.size + 4);
        }
        else
        {
            o.transform.position = new Vector3(Random.Range(0, 10), -4);
        }

        Enemy e = o.GetComponentInChildren <Enemy> ();

        InitEnemy(e, pos);

        EnemyHealthBar healthBar = enemyHealthBarPool.GetPooledObject().GetComponent <EnemyHealthBar>();

        healthBar.Init(e);
        healthBar.GetComponent <UIFollow> ().Init(o.transform);
        healthBar.player = player;
        return(o);
    }
Esempio n. 2
0
    // Start is called before the first frame update
    void Start()
    {
        DefendDefense         = 0;
        EnemyDefendDefense    = 0;
        EnemyBarFill          = EnemyHealthBar.GetComponent <Image>();
        PlayerBarFill         = PlayerHealthBar.GetComponent <Image>();
        EnemySignatureCharges = Random.Range(1, 2);
        State      = States.Idle;
        PlayerTurn = true;

        playerDefense = PlayerPrefs.GetFloat("_Defense");
        Abilities[0]  = PlayerPrefs.GetInt("Ability_1");
        Abilities[1]  = PlayerPrefs.GetInt("Ability_2");
        Abilities[2]  = PlayerPrefs.GetInt("Ability_3");
        Abilities[3]  = PlayerPrefs.GetInt("Ability_4");

        if (Abilities[1] == 0)
        {
            Abilities[1] = 1;
        }
        if (Abilities[2] == 0)
        {
            Abilities[2] = 2;
        }
        if (Abilities[3] == 0)
        {
            Abilities[3] = 3;
        }

        PlayerAbilities[0] = AbilityList.Abilities[Abilities[0]];
        PlayerAbilities[1] = AbilityList.Abilities[Abilities[1]];
        PlayerAbilities[2] = AbilityList.Abilities[Abilities[2]];
        PlayerAbilities[3] = AbilityList.Abilities[Abilities[3]];

        _Ability1.GetComponentInChildren <TextMeshProUGUI>().text  = PlayerAbilities[0].ButtonText;
        _Ability1.GetComponentInChildren <TextMeshProUGUI>().color = PlayerAbilities[0].ButtonTextColor;
        _Ability2.GetComponentInChildren <TextMeshProUGUI>().text  = PlayerAbilities[1].ButtonText;
        _Ability2.GetComponentInChildren <TextMeshProUGUI>().color = PlayerAbilities[1].ButtonTextColor;
        _Ability3.GetComponentInChildren <TextMeshProUGUI>().text  = PlayerAbilities[2].ButtonText;
        _Ability3.GetComponentInChildren <TextMeshProUGUI>().color = PlayerAbilities[2].ButtonTextColor;
        _Ability4.GetComponentInChildren <TextMeshProUGUI>().text  = PlayerAbilities[3].ButtonText;
        _Ability4.GetComponentInChildren <TextMeshProUGUI>().color = PlayerAbilities[3].ButtonTextColor;

        int i = Random.Range(0, EnemyList.EnemyList.Length);

        StartingEnemy = EnemyList.EnemyList[i];
        EnemyTitle.GetComponent <TextMeshProUGUI>().text           = StartingEnemy.Name;
        EnemyTitle.GetComponent <TextMeshProUGUI>().color          = StartingEnemy.NameColor;
        _Enemy.GetComponent <Animator>().runtimeAnimatorController = StartingEnemy.DefaultAnimation;
        DefaultEnemyAnimation = StartingEnemy.DefaultAnimation;
        EnemyAbilities[0]     = StartingEnemy.BasicAttack;
        EnemyAbilities[1]     = StartingEnemy.DefenseAbility;
        EnemyAbilities[2]     = StartingEnemy.UtilityAbility;
        EnemyAbilities[3]     = StartingEnemy.SignatureAbility;
    }
Esempio n. 3
0
    public GameObject SpawnEnemyForcePosition(GameObject prefab, Vector3 pos)
    {
        //print (pos);
        GameObject o = Instantiate(prefab);

        o.transform.SetParent(transform);
        o.transform.position = pos;

        Enemy e = o.GetComponentInChildren <Enemy> ();

        e.spawnMethod = Enemy.SpawnMethod.None;             // no spawn animation
        InitEnemy(e, pos);

        EnemyHealthBar healthBar = enemyHealthBarPool.GetPooledObject().GetComponent <EnemyHealthBar>();

        healthBar.Init(e);
        healthBar.GetComponent <UIFollow> ().Init(o.transform);
        healthBar.player = player;
        return(o);
    }
Esempio n. 4
0
 public void SetValue(float value)
 {
     lifebar.GetComponent <Graphics.Sprite>().rect[1] = new Rectangle(lifebar.size, 0, (int)(lifebar.size * value), 1);
 }
Esempio n. 5
0
    void DecideEnemyAction()
    {
        if (EnemyHealthBar.GetComponent <Image>().fillAmount > .5)
        {
            if (Random.Range(0, 100) > 75)
            {
                EnemyDecidedAttack = 1;
                _EnemyParent.GetComponent <Animator>().runtimeAnimatorController = StartingEnemy.DefenseAbility.Animator;
                CombatDialogue.GetComponent <TextMeshProUGUI>().text             = StartingEnemy.DefenseAbility.CombatText;
                EnemyDefendDefense = 0.1f;
                if (StartingEnemy.DefenseAbility.Healing > 0)
                {
                    _EnemyParent.SendMessage("Heal", StartingEnemy.DefenseAbility.Healing);
                }
                PlayerTurn = true;
                State      = States.Idle;
                return;
            }
            else
            {
                EnemyDecidedAttack = 0;
                _EnemyParent.GetComponent <Animator>().runtimeAnimatorController = StartingEnemy.BasicAttack.Animator;
                CombatDialogue.GetComponent <TextMeshProUGUI>().text             = StartingEnemy.BasicAttack.CombatText;
                State      = States.Idle;
                PlayerTurn = true;
                return;
            }
        }

        if (EnemyHealthBar.GetComponent <Image>().fillAmount < .5)
        {
            if (EnemySignatureCharges > 0)
            {
                EnemyDecidedAttack = 3;
                EnemySignatureCharges--;
                _EnemyParent.GetComponent <Animator>().runtimeAnimatorController = StartingEnemy.SignatureAbility.Animator;
                CombatDialogue.GetComponent <TextMeshProUGUI>().text             = StartingEnemy.SignatureAbility.CombatText;
                if (StartingEnemy.SignatureAbility.Healing > 0)
                {
                    _EnemyParent.SendMessage("Heal", StartingEnemy.SignatureAbility.Healing);
                }
                PlayerTurn = true;
                State      = States.Idle;
                return;
            }
            if (EnemySignatureCharges <= 0)
            {
                if (Random.Range(0, 100) > 70)
                {
                    EnemyDecidedAttack = 2;
                    _EnemyParent.GetComponent <Animator>().runtimeAnimatorController = StartingEnemy.UtilityAbility.Animator;
                    CombatDialogue.GetComponent <TextMeshProUGUI>().text             = StartingEnemy.UtilityAbility.CombatText;
                    PlayerTurn = true;
                    State      = States.Idle;
                    return;
                }
                else
                {
                    EnemyDecidedAttack = 0;
                    _EnemyParent.GetComponent <Animator>().runtimeAnimatorController = StartingEnemy.BasicAttack.Animator;
                    CombatDialogue.GetComponent <TextMeshProUGUI>().text             = StartingEnemy.BasicAttack.CombatText;
                    State      = States.Idle;
                    PlayerTurn = true;
                    return;
                }
            }
        }
    }