private void InitMonster() { var monster = new MonsterModule(); monster.Name = "xfj"; monster.Attributes.BulletLevel = 1; monster.Attributes.MaxHp = 10; monster.Attributes.Hp = 10; monsterPool.Add(monster); }
public void NextTick() { secondCount++; if (secondCount >= room.Stage.stageLevel.GetRefreshTime() * (1000 / gameTick)) { var monster = new MonsterModule(); monster.Id = Guid.NewGuid().ToString(); monster.Name = monsterPool[0].Name; monster.Attributes.Hp = monsterPool[0].Attributes.Hp; monster.Attributes.MaxHp = monsterPool[0].Attributes.MaxHp; monster.Attributes.BulletLevel = monsterPool[0].Attributes.BulletLevel; monster.MonsterX = G.GetRandomInt(330, 30); room.Stage.AddMonster(monster); secondCount = 0; try { foreach (var item in room.Players) { item.Value.newMonsterPool.Add(monster); } } catch { } } var count = room.Stage.monsters.Count(); var deadMonster = new List <MonsterModule>(); for (var i = 0; i < count; i++) { if (room.Stage.monsters[i].Attributes.Hp <= 0) { deadMonster.Add(room.Stage.monsters[i]); } } count = deadMonster.Count(); for (var i = 0; i < count; i++) { try { foreach (var item in room.Players) { item.Value.removeMonsterPool.Add(deadMonster[i]); } } catch { } room.Stage.monsters.Remove(deadMonster[i]); } }
void Update() { //0:왼쪽, 1 : right, 2: wheel click if (Input.GetMouseButtonDown(0)) { Vector3 worldPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); Instantiate(prefab, worldPosition, Quaternion.identity); } else if (Input.GetMouseButtonDown(1)) { Vector3 worldPos = Camera.main.ScreenToWorldPoint(Input.mousePosition); RaycastHit2D hit = Physics2D.Raycast( worldPos, Vector2.zero); if (hit.collider != null && hit.collider.tag == "Monster") { MonsterModule m = hit.collider.GetComponent <MonsterModule>(); m.Death(); } } }
public static void AddMonster(this StageModule stage, MonsterModule monster) { stage.monsters.Add(monster); }