Example #1
0
    //Runs Generators to create values for each species.
    public void Generate(Hex hex, bool isPlayer)
    {
        name = "Bob " + num; num++;
        GenerateSize();

        GameObject creature = Instantiate(Creature, transform.position, Quaternion.identity) as GameObject;
        critter = creature.GetComponent<Critter>();

        //Assigns generated values for each Species after being Instantiated.
        creature.name = name;
        critter.SetName (name);
        critter.SetNumber(critterCount);

        critter.SetIsPlayer(isPlayer);
        critter.SetSize(size);
        baseFoodValue = (size*size) * 10;
        critter.SetBaseFoodValue(baseFoodValue);
        critter.SetSpeed(StatGenerator());
        critter.SetSneak(StatGenerator());
        critter.SetSense(StatGenerator());
        critter.SetOffense(StatGenerator());
        critter.SetDefense(StatGenerator());
        critter.ModifyEvoPts(startEvoPts);

        critter.adultPopulations.Add(startPop);
        critter.cubPopulations.Add(startPop * .25f);
        critter.babyPopulations.Add(startPop * .25f);
        CreateCritterLists(critterCount);
        AddToLocalCritterList(critter, hex);
        critter.InitializeSlots();
        critter.ResetPreferences();
        UnlockCritterStartEvos(critter);

        if (isPlayer){
            Player player = FindObjectOfType<Player>();

            critter.SetName(player.GetCritterName());
            critter.SetTokenSprite(player.GetCritterTokenSprite());
            critter.SetTokenColor(player.GetCritterTokenColor());
            player.SetCritter(critter);
            hex.SetPlayerHab(true);

        }else if(!isPlayer){
            critter.SetTokenSprite(SelectSprite());
            critter.SetTokenColor(GenerateColor());
            critter.GenerateTokens();
        }
        critter.InitializePopsList();

        critterCount++;
    }