private void OnMechDie(MechDieRequest r) { List <ModuleMech> dieMechs = new List <ModuleMech>(); foreach (int mechId in r.mechIds) { ModuleMech mech = SelfClientPlayer.BattlePlayer.BattleGroundManager.GetMech(mechId); if (mech != null) { dieMechs.Add(mech); } else { mech = EnemyClientPlayer.BattlePlayer.BattleGroundManager.GetMech(mechId); if (mech != null) { dieMechs.Add(mech); } } } foreach (ModuleMech moduleMech in dieMechs) { moduleMech.OnDie(); } BattleEffectsManager.Instance.Effect_Main.EffectsShow(Co_MechDieShock(dieMechs), "Co_MechDieShock"); }
public void SendAllDieInfos() { if (DieMechList.Count == 0) { return; } List <int> tmp = new List <int>(); foreach (int id in DieMechList) { tmp.Add(id); } tmp.Sort(); PlayerA.BattleGroundManager.RemoveMechs(tmp); PlayerB.BattleGroundManager.RemoveMechs(tmp); MechDieRequest request1 = new MechDieRequest(tmp); Broadcast_AddRequestToOperationResponse(request1); BattleGroundRemoveMechRequest request2 = new BattleGroundRemoveMechRequest(tmp); Broadcast_AddRequestToOperationResponse(request2); DieMechList.Clear(); }