Example #1
0
        public GameObject Spawn(MonsterStatsPanelController statsPanelController)
        {
            List <Humour> humours = new List <Humour>
            {
                new Aggressive(),
                new Contrarian(),
                new Pacifist(),
                new Lazy(),
                new Rebel(),
                new Obedient()
            };

            List <IMonsterType> monsterTypes = new List <IMonsterType>
            {
                new FallType(),
                new SpringType(),
                new SummerType(),
                new WinterType()
            };
            List <string> names = new List <string>
            {
                "Seu Bezerro",
                "Milkshake",
                "Zé",
                "Fubanga",
                "Fuleco",
                "Enel"
            };

            int          health   = rand.Next(5, 11);
            int          strength = rand.Next(0, 11);
            int          defense  = rand.Next(0, 11);
            int          speed    = rand.Next(0, 5);
            string       name     = names[rand.Next(0, names.Count)];
            Humour       humour   = humours[rand.Next(0, humours.Count)];
            IMonsterType type     = monsterTypes[rand.Next(0, monsterTypes.Count)];

            Monster monster = new Monster
            {
                Strength  = strength,
                Defense   = defense,
                MaxHealth = health,
                Health    = health,
                Speed     = speed,
                Type      = type,
                Humour    = humour,
                Name      = name,
                HasFled   = false
            };

            var prefabInstance = Instantiate(_monsterPrefab);

            prefabInstance.GetComponent <Image>().sprite = MonsterSprites[rand.Next(0, MonsterSprites.Count)];
            prefabInstance.GetComponent <MonsterController>().Init(monster, statsPanelController);

            return(prefabInstance);
        }
Example #2
0
        public void Init(MonsterSpawner monsterSpawner, Player player, MonsterStatsPanelController statsPanelController)
        {
            Player         = player;
            Monsters       = new List <GameObject>();
            MonsterSpawner = monsterSpawner;

            for (int i = 0; i < 6; i++)
            {
                GameObject monster = MonsterSpawner.Spawn(statsPanelController);
                monster.transform.SetParent(transform);
                Player.ChooseMonster(monster.GetComponent <MonsterController>().Monster);
                Monsters.Add(monster);
            }
        }
 public void Init(Monster monster, MonsterStatsPanelController statsPanelController)
 {
     Monster = monster;
     StatsPanelController = statsPanelController;
 }