예제 #1
0
    public void RefundEvo(Critter critter)
    {
        if (critter.activeEvos.Contains(this)) {
            if(cost > 0)
            {
                critter.ModifyEvoPts(cost - 1);
            }

            Deactivate(critter);
            UnlockEvo(critter);
        }

        critter.statUpdateQueued = true;
    }
예제 #2
0
    public void BuyEvo(Critter critter)
    {
        float pts = critter.GetEvoPts();

        if (pts >= cost && !critter.activeEvos.Contains(this)) {
            Activate(critter);

            critter.ModifyEvoPts(-cost);

            if(isMajor && !critter.GetIsPlayer()){
                EquipOpenSlot(critter);
            }
        }

        critter.statUpdateQueued = true;
    }
예제 #3
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++;
    }