Пример #1
0
    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();
    }
Пример #2
0
    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());
    }