예제 #1
0
    void SpawnUnits()
    {
        List <General> mobs = CreateGeneralEnemy.CreateEnemy(levelName, 0);

        for (int i = 0; i < mobs.Count; i++)
        {
            GameObject go     = Instantiate(mobs[i].prefab, spawnEnemy[i]);
            TurnEnemy  tEnemy = go.GetComponent <TurnEnemy>();
            if (tEnemy != null)
            {
                tEnemy.cellNum    = i;
                tEnemy.general    = mobs[i];
                tEnemy.text.color = Colors.GreenColor;
                enemyes.Add(tEnemy);
            }
        }
        List <General> mobsU = new List <General>();

        for (int i = 0; i < выбрГенерал.Count; i++)
        {
            if (выбрГенерал[i].general != null)
            {
                GameObject go    = Instantiate(выбрГенерал[i].general.prefab, spawnPlayer[i]);
                TurnUnit   tUnit = go.GetComponent <TurnUnit>();
                tUnit.general    = выбрГенерал[i].general;
                tUnit.cellNum    = i;
                tUnit.text.color = Colors.GreenColor;
                tUnit.text.text  = выбрГенерал[i].general.PARAMS[GENERAL_HP_CURRENT].ToString();
                units.Add(tUnit);
            }
        }
    }
예제 #2
0
    void UcVsEc()
    {
        float u;
        float e;

        if (unitsCurrent.Count > 0)
        {
            u = unitsCurrent[0].general.PARAMS[GENERAL_INITIATIVE_CURRENT];
        }

        else
        {
            u = 0;
        }

        if (enemyesCurrent.Count > 0)
        {
            e = enemyesCurrent[0].general.PARAMS[GENERAL_INITIATIVE_CURRENT];
        }
        else
        {
            e = 0;
        }

        if (u >= e && unitsCurrent.Count > 0 && enemyesCurrent.Count > 0)
        {
            selectedUnit = unitsCurrent[0];
            if (selectedEnemy == null)
            {
                selectedEnemy = enemyesCurrent[0];
            }
            selectedEnemy.Select();
            selectedUnit.Select();
            attack.interactable = true;
            WriteSkills();
        }
        else if (u < e && unitsCurrent.Count > 0 && enemyesCurrent.Count > 0)
        {
            if (selectedEnemy != null)
            {
                selectedEnemy.UnSelected();
            }
            if (selectedUnit != null)
            {
                selectedUnit.UnSelected();
            }
            TurnEnemy();
        }
        else if (unitsCurrent.Count > 0 && enemyesCurrent.Count == 0)
        {
            selectedUnit = unitsCurrent[0];
            if (selectedEnemy == null)
            {
                selectedEnemy = enemyes[0];
            }
            selectedEnemy.Select();
            selectedUnit.Select();
            attack.interactable = true;
            WriteSkills();
        }
        else if (unitsCurrent.Count == 0 && enemyesCurrent.Count > 0)
        {
            selectedEnemy.UnSelected();
            if (selectedUnit != null)
            {
                selectedUnit.UnSelected();
            }
            TurnEnemy();
        }
        else if (unitsCurrent.Count == 0 && enemyesCurrent.Count == 0)
        {
            for (int i = 0; i < units.Count; i++)
            {
                units[i].isEndTurn = false;
            }
            for (int i = 0; i < enemyes.Count; i++)
            {
                enemyes[i].isEndTurn = false;
            }
            unitsCurrent   = units;
            enemyesCurrent = enemyes;
            Sort();

            UcVsEc();
        }
    }