Пример #1
0
    public void OnConfirm(int button)
    {
        switch ((PanelMessageBox.BUTTON)button)
        {
        case PanelMessageBox.BUTTON.YES:
        {
            var pi = CommandManager.Instance.CurrentExecuter;
            if (pi == null || !pi.CurrentActor)
            {
                string msg = $"没有选中任何部队!";
                UIManager.Instance.SystemTips(msg, PanelSystemTips.MessageType.Error);
                return;
            }
            {
                var av = pi.CurrentActor;
                if (av)
                {
                    ActorRemove output = new ActorRemove()
                    {
                        RoomId  = av.RoomId,
                        OwnerId = av.OwnerId,
                        ActorId = av.ActorId,
                    };
                    GameRoomManager.Instance.SendMsg(ROOM.ActorRemove, output.ToByteArray());
                }
            }
        }
        break;

        case PanelMessageBox.BUTTON.NO:
            break;
        }

        Stop();
    }
Пример #2
0
    private void OnActorRemove(SocketAsyncEventArgs args, byte[] bytes)
    {
        ActorRemove input = ActorRemove.Parser.ParseFrom(bytes);

        if (input.RoomId != _roomId)
        {
            return;
        }

        bool ret = ActorManager.RemoveActor(input.ActorId);

        ActorRemoveReply output = new ActorRemoveReply()
        {
            RoomId  = input.RoomId,
            OwnerId = input.OwnerId,
            ActorId = input.ActorId,
            Ret     = ret,
        };

        BroadcastMsg(ROOM_REPLY.ActorRemoveReply, output.ToByteArray());
    }
Пример #3
0
    bool AskDestroyUnit()
    {
        HexCell cell = GetCellUnderCursor();

        if (cell && cell.Unit)
        {
            HexUnit hu = cell.Unit;
            var     av = hu.gameObject.GetComponent <ActorVisualizer>();
            if (av != null)
            {
                ActorRemove output = new ActorRemove()
                {
                    RoomId  = GameRoomManager.Instance.RoomId,
                    OwnerId = GameRoomManager.Instance.CurrentPlayer.TokenId,
                    ActorId = av.ActorId,
                };
                GameRoomManager.Instance.SendMsg(ROOM.ActorRemove, output.ToByteArray());
                return(true);
            }
        }

        return(false);
    }