void placeObjects() { noObjects = false; Vector3[] verts = gameObject.GetComponent<MeshFilter>().mesh.vertices; // diese Zeile ist das Problem /*for (int i = 0; i < objCount; i++) { Vector3 pos = verts[Random.Range(0, verts.Length)] * transform.localScale.x; ShyMonster m = new ShyMonster(15, 100, 0.2f, 10); m.GameObject = Creator.Create("monster", pos, "ShyMonster"); gs.monsters.Add(m.GameObject, m); gs.creatures.Add (m.GameObject, m as Creature); }*/ for (int i = 0; i < objCount; i++) { Vector3 pos = verts[Random.Range(0, verts.Length)] * transform.localScale.x; PredatoryMonster m = new PredatoryMonster(7, 50, 0.3f, 7, false); m.GameObject = Creator.Create("monster_small", pos, "PredatoryMonster"); gs.monsters.Add(m.GameObject, m); gs.creatures.Add(m.GameObject, m as Creature); } }
void SpawnEvilMonsters() { int count = Random.Range(1, 3); Debug.Log("Spawning " + count + " Wolf-Monsters"); for (int i = 0; i < count; i++) { Vector3 pos = gs.MonsterSpawnPoints.Any() + new Vector3(Random.Range(-1f, 1f), Random.Range(-1f, 1f), Random.Range(-1f, 1f)); pos = CoordinateHelper.GroundPosition(pos); PredatoryMonster m = new PredatoryMonster(attack: 10, health: 125, speed: 3.25f, range: 8, contagious: false); DoSpawn(position: pos, monster: m, resName: "monster", ingameName: "EvilMonster"); } }
void DoPredatorSpawn(Vector3 pos) { Vector3 spawnPos = pos + new Vector3(Random.Range(-1f, 1f), Random.Range(-1f, 1f), Random.Range(-1f, 1f)); spawnPos = CoordinateHelper.GroundPosition(spawnPos); bool contagious = Random.Range(0f, 1f) < 0.15f; PredatoryMonster m = new PredatoryMonster(attack: 7, health: 50, speed: 3.5f, range: 10, contagious: contagious); DoSpawn(position: pos, monster: m, resName: "monster_small", ingameName: "PredatoryMonster"); if(contagious) m.GameObject.transform.Find("Infection").GetComponent<ParticleSystem>().Play(); }