Пример #1
0
 void Start()
 {
     ai = GetComponentInParent <AISlime>();
 }
Пример #2
0
    public void Initialize()
    {
        deckSingleton = GameObject.FindGameObjectWithTag("Deck").GetComponent <CharacterDeck>();

        switch (type)
        {
        case unitType.EVOKER:
            hp           = 5;
            maxhp        = hp;
            InitialValue = 4;
            avatar       = FindObjectOfType <TOManager>().avatars[0];
            break;

        case unitType.BATTLEMAGE:
            hp           = 10;
            maxhp        = hp;
            InitialValue = 5;
            avatar       = FindObjectOfType <TOManager>().avatars[1];
            break;

        case unitType.WHITEMAGE:
            hp           = 7;
            maxhp        = hp;
            InitialValue = 6;
            avatar       = FindObjectOfType <TOManager>().avatars[2];
            break;

        case unitType.SLIME:
            hp           = 7;
            maxhp        = hp;
            InitialValue = Random.Range(2, 6);
            checkCustomInit();
            avatar       = FindObjectOfType <TOManager>().avatars[3];
            enemyAI      = new AISlime(gameObject, predictDisplay, skillTextObject);
            enemyAI.unit = GetComponent <Unit>();
            enemySkill   = new ASEmptySkill();
            break;

        case unitType.SKELETON:
            hp           = 6;
            maxhp        = hp;
            InitialValue = Random.Range(5, 10);
            checkCustomInit();
            avatar       = FindObjectOfType <TOManager>().avatars[4];
            enemyAI      = new AISkeleton(gameObject, predictDisplay, Projectile, skillTextObject);
            enemyAI.unit = GetComponent <Unit>();
            enemySkill   = new ASEmptySkill();
            break;

        case unitType.DARK_RIFT:
            hp           = 20;
            maxhp        = hp;
            InitialValue = 1;
            checkCustomInit();
            avatar       = FindObjectOfType <TOManager>().avatars[5];
            enemyAI      = new AIDarkRift(gameObject, predictDisplay, AbyssalEye, HandofChaos, skillTextObject);
            enemyAI.unit = GetComponent <Unit>();
            enemySkill   = new ASEmptySkill();
            break;

        case unitType.ABYSSAL_EYE:
            hp           = 3;
            maxhp        = 10;
            InitialValue = Random.Range(9, 12);
            checkCustomInit();
            avatar = FindObjectOfType <TOManager>().avatars[6];
            if (DarkRift == null)
            {
                Unit[] allUnits = FindObjectsOfType <Unit>();
                foreach (Unit unit in allUnits)
                {
                    if (unit.type == unitType.DARK_RIFT)
                    {
                        hp       = 10;
                        maxhp    = 10;
                        DarkRift = unit.gameObject;
                    }
                }
            }
            enemyAI      = new AIAbyssalEye(gameObject, predictDisplay, DarkRift, Projectile, skillTextObject);
            enemyAI.unit = GetComponent <Unit>();
            enemySkill   = new ASEmptySkill();

            break;

        case unitType.HAND_OF_CHAOS:
            hp           = 5;
            maxhp        = 12;
            InitialValue = Random.Range(5, 7);
            checkCustomInit();
            avatar = FindObjectOfType <TOManager>().avatars[7];
            if (DarkRift == null)
            {
                Unit[] allUnits = FindObjectsOfType <Unit>();
                foreach (Unit unit in allUnits)
                {
                    if (unit.type == unitType.DARK_RIFT)
                    {
                        hp       = 12;
                        maxhp    = 12;
                        DarkRift = unit.gameObject;
                    }
                }
            }
            enemyAI      = new AIHandofChaos(gameObject, predictDisplay, DarkRift, skillTextObject);
            enemyAI.unit = GetComponent <Unit>();
            enemySkill   = new ASEmptySkill();
            break;
        }


        if (CompareTag("Player"))
        {
            hp            += deckSingleton.bonusHPCharacter01;
            InitialValue  += deckSingleton.bonusInitiativeCharacter01;
            StartInitValue = InitialValue;
            maxhp          = hp;
        }

        GameObject tempObj = Instantiate(HealthBar, Vector3.zero, Quaternion.Euler(0, 0, 0));

        tempObj.transform.GetChild(1).GetComponent <HealthBar>().Initialize(gameObject);
    }