Example #1
0
    public void Clone(Critter originalCritter, Hex habitat)
    {
        name = "Bob " + num; num++;
        GameObject newCreature = originalCritter.gameObject;
        EvolutionList originList = originalCritter.GetComponent<EvolutionList>();

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

        creature.name = name;
        critter.SetName (name);
        critter.SetNumber(critterCount);
        critter.CloneStats(originalCritter);

        baseFoodValue = (size * size) * 10;
        critter.SetBaseFoodValue(baseFoodValue);
        critter.SetTokenSprite(SelectSprite());
        critter.SetTokenColor(originalCritter.GetTokenColor());
        critter.GenerateDiet();
        critter.GenerateLocomotion();
        critter.SetIsPlayer(false);

        critter.ResetAllXP();

        critter.adultPopulations.Clear();
        critter.cubPopulations.Clear();
        critter.babyPopulations.Clear();
        critter.ClearTokenList();
        critter.habitats.Clear();

        CreateCritterLists(critterCount);
        AddToLocalCritterList(critter, habitat);

        critter.adultPopulations.Add(.5f * startPop);
        critter.babyPopulations.Add(.2f * startPop);
        critter.cubPopulations.Add(.1f * startPop);

        critter.GenerateTokens();

        creature.GetComponent<EvolutionList>().ClearChildren();
        originList.AddNewChild(critter, TurnTimer.currentTurn);

        critter.SetSplinterEvoStart();
        critter.InitializePopsList();

        critterCount++;
    }