public void Pop(CoopLocalServerEnemy enemy) { int sid = stage.GenerateEnemyUniqId(); count++; enemy.Pop(sid); stage.socket.SendEnemyPop(enemy); }
public void SendEnemyPop(CoopLocalServerEnemy enemy) { Coop_Model_EnemyPop coop_Model_EnemyPop = new Coop_Model_EnemyPop(); coop_Model_EnemyPop.sid = enemy.sid; coop_Model_EnemyPop.ownerClientId = MonoBehaviourSingleton <CoopManager> .I.coopMyClient.clientId; coop_Model_EnemyPop.popIndex = enemy.popIndex; Send(coop_Model_EnemyPop, true); }
public void Out(int sid) { CoopLocalServerEnemy coopLocalServerEnemy = enemys.Find((CoopLocalServerEnemy e) => e.sid == sid); if (coopLocalServerEnemy != null) { float num = data.GeneratePopTime(); if (GetPopNum() < data.popNumMin) { num = 0f; } coopLocalServerEnemy.Out(Time.get_time() + num); } }
public void Start() { if (MonoBehaviourSingleton <StageObjectManager> .IsValid() && !isStart) { isStart = true; Action <StageObject> action = delegate(StageObject o) { Enemy enemy = o as Enemy; if (!(enemy == null) && enemy.enemyPopIndex == popIndex) { CoopLocalServerEnemy coopLocalServerEnemy = new CoopLocalServerEnemy(this, 0f); coopLocalServerEnemy.Pop(enemy.id); enemys.Add(coopLocalServerEnemy); } }; MonoBehaviourSingleton <StageObjectManager> .I.enemyList.ForEach(action); MonoBehaviourSingleton <StageObjectManager> .I.cacheList.ForEach(action); for (int i = enemys.Count; i < data.popNumMax; i++) { float pop_time = data.GeneratePopTime(); if (i < data.popNumInit) { pop_time = 0f; } else if (i < data.popNumMin) { pop_time = 0f; } CoopLocalServerEnemy item = new CoopLocalServerEnemy(this, pop_time); enemys.Add(item); } Update(); } }