Ejemplo n.º 1
0
        private void SpawnUnit(bool enemy, PlayerUnitManager.EUnitType type)
        {
            GameObject newUnit = null;

            if (enemy)
            {
                switch (type)
                {
                case PlayerUnitManager.EUnitType.Archer:
                    newUnit = Instantiate(_goEnemyArcherPrefab);
                    _goEnemyArchers.Add(newUnit);
                    break;

                case PlayerUnitManager.EUnitType.Spearman:
                    newUnit = Instantiate(_goEnemySpearmanPrefab);
                    _goEnemySpearmen.Add(newUnit);
                    break;

                case PlayerUnitManager.EUnitType.Swordsman:
                    newUnit = Instantiate(_goEnemySwordsmanPrefab);
                    _goEnemySwordsmen.Add(newUnit);
                    break;

                default: return;
                }
            }
            else
            {
                switch (type)
                {
                case PlayerUnitManager.EUnitType.Archer:
                    newUnit = Instantiate(_goPlayerArcherPrefab);
                    _goPlayerArchers.Add(newUnit);
                    break;

                case PlayerUnitManager.EUnitType.Spearman:
                    newUnit = Instantiate(_goPlayerSpearmanPrefab);
                    _goPlayerSpearmen.Add(newUnit);
                    break;

                case PlayerUnitManager.EUnitType.Swordsman:
                    newUnit = Instantiate(_goPlayerSwordsmanPrefab);
                    _goPlayerSwordsmen.Add(newUnit);
                    break;

                default: return;
                }
            }

            newUnit.transform.position = Vector3.zero;
            newUnit.transform.rotation = Quaternion.identity;

            newUnit.transform.SetParent(ThisGO.transform);

            newUnit.SetActive(false);
        }
Ejemplo n.º 2
0
        public void ReturnUnit(GameObject returned, bool enemy, PlayerUnitManager.EUnitType type)
        {
            returned.SetActive(false);

            if (enemy)
            {
                switch (type)
                {
                case PlayerUnitManager.EUnitType.Archer:
                    _goEnemyArchers.Add(returned);
                    break;

                case PlayerUnitManager.EUnitType.Spearman:
                    _goEnemySpearmen.Add(returned);
                    break;

                case PlayerUnitManager.EUnitType.Swordsman:
                    _goEnemySwordsmen.Add(returned);
                    break;
                }
            }
            else
            {
                switch (type)
                {
                case PlayerUnitManager.EUnitType.Archer:
                    _goPlayerArchers.Add(returned);
                    break;

                case PlayerUnitManager.EUnitType.Spearman:
                    _goPlayerSpearmen.Add(returned);
                    break;

                case PlayerUnitManager.EUnitType.Swordsman:
                    _goPlayerSwordsmen.Add(returned);
                    break;
                }
            }
        }
Ejemplo n.º 3
0
        public GameObject TakeUnit(bool enemy, PlayerUnitManager.EUnitType type)
        {
            GameObject returnedObject = null;

            if (enemy)
            {
                switch (type)
                {
                case PlayerUnitManager.EUnitType.Archer:

                    if (_goEnemyArchers.Count == 0)
                    {
                        SpawnUnit(true, PlayerUnitManager.EUnitType.Archer);
                    }

                    returnedObject = _goEnemyArchers[0];
                    _goEnemyArchers.Remove(returnedObject);

                    break;

                case PlayerUnitManager.EUnitType.Spearman:

                    if (_goEnemySpearmen.Count == 0)
                    {
                        SpawnUnit(true, PlayerUnitManager.EUnitType.Spearman);
                    }

                    returnedObject = _goEnemySpearmen[0];
                    _goEnemySpearmen.Remove(returnedObject);

                    break;

                case PlayerUnitManager.EUnitType.Swordsman:

                    if (_goEnemySwordsmen.Count == 0)
                    {
                        SpawnUnit(true, PlayerUnitManager.EUnitType.Swordsman);
                    }

                    returnedObject = _goEnemySwordsmen[0];
                    _goEnemySwordsmen.Remove(returnedObject);

                    break;

                default: return(null);
                }
            }
            else
            {
                switch (type)
                {
                case PlayerUnitManager.EUnitType.Archer:

                    if (_goPlayerArchers.Count == 0)
                    {
                        SpawnUnit(false, PlayerUnitManager.EUnitType.Archer);
                    }

                    returnedObject = _goPlayerArchers[0];
                    _goPlayerArchers.Remove(returnedObject);

                    break;

                case PlayerUnitManager.EUnitType.Spearman:

                    if (_goPlayerSpearmen.Count == 0)
                    {
                        SpawnUnit(false, PlayerUnitManager.EUnitType.Spearman);
                    }

                    returnedObject = _goPlayerSpearmen[0];
                    _goPlayerSpearmen.Remove(returnedObject);

                    break;

                case PlayerUnitManager.EUnitType.Swordsman:

                    if (_goPlayerSwordsmen.Count == 0)
                    {
                        SpawnUnit(false, PlayerUnitManager.EUnitType.Swordsman);
                    }

                    returnedObject = _goPlayerSwordsmen[0];
                    _goPlayerSwordsmen.Remove(returnedObject);

                    break;

                default: return(null);
                }
            }


            return(returnedObject);
        }