public void OnConfirm(int button) { switch ((PanelMessageBox.BUTTON)button) { case PanelMessageBox.BUTTON.YES: { var pi = CommandManager.Instance.CurrentExecuter; if (pi != null) { var city = pi.CurrentCity; CityRemove output = new CityRemove() { RoomId = city.RoomId, OwnerId = city.OwnerId, CityId = city.CityId, }; GameRoomManager.Instance.SendMsg(ROOM.CityRemove, output.ToByteArray()); // 消耗行动点 long roomId = city.RoomId; long ownerId = city.OwnerId; long cityId = city.CityId; int commandId = (int)CommandManager.Instance.RunningCommandId; int actionPointCost = CommandManager.Instance.RunningCommandActionPoint; CmdAttack.TryCommand(roomId, ownerId, cityId, commandId, actionPointCost); } } break; case PanelMessageBox.BUTTON.NO: break; } Stop(); }
private void OnCityRemove(SocketAsyncEventArgs args, byte[] bytes) { CityRemove input = CityRemove.Parser.ParseFrom(bytes); if (input.RoomId != RoomId) { return; // 不是自己房间的消息,略过 } bool ret = UrbanManager.RemoveCity(input.CityId); CityRemoveReply output = new CityRemoveReply() { RoomId = input.RoomId, OwnerId = input.OwnerId, CityId = input.CityId, Ret = ret, }; BroadcastMsg(ROOM_REPLY.CityRemoveReply, output.ToByteArray()); }