Exemplo n.º 1
0
    private void Awake()
    {
        //enemyTypes<enemy1> enemybill = new enemyTypes<enemy1>("Enemybill");
        //enemybill.scriptComponent.initialize(
        //    speed: 4,
        //    dir: Random.Range(0, 2) * 2 - 1,
        //    pos: new Vector3(1, 1, 1)
        //    );

        //enemyTypes<Enemy2> enemymask = new enemyTypes<Enemy2>("Enemymask");
        //enemymask.scriptComponent.initialize(
        //    speed:1,
        //    pos:new Vector3(1,1,1)
        //    );

        //enemyTypes<Enemy3> enemyghost = new enemyTypes<Enemy3>("Enemyghost");
        //enemyghost.scriptComponent.initialize(
        //    speed:2,
        //    pos:new Vector3(1,1,1)
        //    );


        //enemyTypes<Enemy4> enemylush = new enemyTypes<Enemy4>("Enemylush");
        //enemylush.scriptComponent.initialize(
        //    speed:Random.Range(6,18),
        //    pos:new Vector3(1,1,1)
        //    );


        //enemyTypes<Enemy5> enemytorque = new enemyTypes<Enemy5>("Enemytorque");
        //enemytorque.scriptComponent.initialize(
        //    speed:3,
        //    dir:Random.Range(0,2)*2-1,
        //    pos:new Vector3(1,1,1)
        //    );

        enemyTypes <Enemy6> enemytweek = new enemyTypes <Enemy6>("Enemytweek");

        enemytweek.scriptComponent.initialize(
            speed: 4,
            pos: new Vector3(1, 1, 1)
            );
    }
Exemplo n.º 2
0
    void SpawnEnemy(enemyTypes e, int amount)
    {
        // Also applicable to any item
        GameObject enemyObject = null;

        if (e == enemyTypes.toad)
        {
            enemyObject = toadObject;
        }
        else if (e == enemyTypes.eagle)
        {
            enemyObject = eagleObject;
        }
        else if (e == enemyTypes.pelican)
        {
            enemyObject = pelicanObject;
        }
        else if (e == enemyTypes.lion)
        {
            enemyObject = lionObject;
        }
        else if (e == enemyTypes.gold)
        {
            enemyObject = goldObject;
        }

        // don't spawn next to player, don't spawn on top of each other
        List <int> occupiedTiles = new List <int>();

        for (int i = 0; i < 12; i++)
        {
            if (pentagons[i].GetOccupier() != null)
            {
                occupiedTiles.Add(i);
            }
        }

        int attempts   = 40;
        int targetTile = Random.Range(0, 11);
        int created    = 0;

        // reroll if necessary
        while (created < amount)
        {
            while (ProximityCheck(0, targetTile) < 1 || occupiedTiles.Contains(targetTile))
            {
                attempts--;
                targetTile = Random.Range(1, 11);
            }

            GameObject newEnemy = Instantiate(enemyObject, pentagons[targetTile].GetTile().transform.position, Quaternion.identity) as GameObject;

            PlaceOnFace(newEnemy, targetTile, -0.05f);
            occupiedTiles.Add(targetTile);
            pentagons[targetTile].SetOccupied(true);
            pentagons[targetTile].SetOccupier(newEnemy);

            allOpponents.Add(newEnemy);

            created += 1;

            if (e == enemyTypes.toad)
            {
                toads.Add(newEnemy);
                Debug.Log("Creating toad on tile " + targetTile);
                string[] creationMessages =
                {
                    "A black toad appears.",
                    "Another black toad appears.",
                    "You feel the presence of a black toad nearby.",
                    "A black toad appears. You resolve to not fear that darkness.",
                    "Dark foamy spawn has grown into a full toad. It stares at you fixedly.",
                    "Some crack in the floor has brought forth a black toad.",
                    "You hear the bristly ribbit of a nearby black toad.",
                    "There is no shortage of black toads in this world and here comes another one.",
                    "A black toad takes its allotted place and lets out a mournful croak.",
                    "A loud, lustful song lets you know a black toad has appeared."
                };

                Log(creationMessages[Random.Range(0, creationMessages.Count())]);
            }
            if (e == enemyTypes.eagle)
            {
                eagles.Add(newEnemy);
                Debug.Log("Creating eagle on tile " + targetTile);
                string[] creationMessages =
                {
                    "A white eagle swoops down near you.",
                    "A wild eagle plumed in brilliant white lands nearby."
                };

                Log(creationMessages[Random.Range(0, creationMessages.Count())]);
            }
            if (e == enemyTypes.lion)
            {
                lions.Add(newEnemy);
                Debug.Log("Creating lion on tile " + targetTile);
                string[] creationMessages =
                {
                    "You see a green lion. Its strange figure is all the more terrifying for being somehow familiar.",
                    "A green lion is here, growling. It roars with bottomless hunger as if it could eat the sun.",
                    "The sound of heavy paws on stone alert you to the presence of a green lion"
                };
            }
            if (e == enemyTypes.pelican)
            {
                pelicans.Add(newEnemy);
                Debug.Log("Creating pelican on tile " + targetTile);
                string[] creationMessages =
                {
                    "You notice a pelican snorting loudly nearby, its chest covered in red entrails.",
                    "You suddenly smell fish and vomit. A red, flightless pelican is stepping towards you."
                };

                Log(creationMessages[Random.Range(0, creationMessages.Count())]);
            }


            if (attempts < 0)
            {
                break;
            }
        }
    }