Ejemplo n.º 1
0
        private void btnRoomsDelete_Click(object sender, EventArgs e)
        {
            if (activeForm == null)
            {
                return;
            }

            if (activeForm is AddRoom)
            {
                AddRoom addRoom = activeForm as AddRoom;
                Room    room    = addRoom.activRoom;

                interpretor.DeleteRoom(room);

                btnRoomsAdd.PerformClick();
            }
            else if (activeForm is Rooms)
            {
                Rooms addRoom = activeForm as Rooms;
                Room  room    = addRoom.activRoom;

                interpretor.DeleteRoom(room);

                btnRoomsShow.PerformClick();
            }
            else if (activeForm is EditRoom)
            {
                EditRoom addRoom = activeForm as EditRoom;
                Room     room    = addRoom.activRoom;

                interpretor.DeleteRoom(room);

                btnRoomsShow.PerformClick();
            }
        }
Ejemplo n.º 2
0
        private void btnRoomsEdit_Click(object sender, EventArgs e)
        {
            if (activeForm == null)
            {
                EditRoom edit = new EditRoom(null);
                openForm(edit);
            }

            if (activeForm is AddRoom)
            {
                AddRoom addRoom = activeForm as AddRoom;
                Room    room    = addRoom.activRoom;

                EditRoom edit = new EditRoom(room);
                openForm(edit);
            }
            else if (activeForm is Rooms)
            {
                Rooms addRoom = activeForm as Rooms;
                Room  room    = addRoom.activRoom;

                EditRoom edit = new EditRoom(room);
                openForm(edit);
            }
            else if (activeForm is EditRoom)
            {
                EditRoom addRoom = activeForm as EditRoom;
                Room     room    = addRoom.activRoom;

                EditRoom edit = new EditRoom(room);
                openForm(edit);
            }
        }
Ejemplo n.º 3
0
    public static void EnterEditRoom(ClubRoomInfo room, Action cb)
    {
        GameObject ob = GameObject.Find("PEditRoom");

        EditRoom er = ob.GetComponent <EditRoom> ();

        er.UpdateEvents += cb;
        er.enter(room);
    }
        private void ClearFieldsUpdate()
        {
            EditBuild.Clear();
            EditRoom.Clear();
            textBox3.Clear();

            comboBox2.ResetText();
            comboBox2.SelectedIndex = -1;

            LocID = 0;
        }
Ejemplo n.º 5
0
 private void Edit_Clicked(object sender, RoutedEventArgs e)
 {
     DataContext = new EditRoom();
 }
Ejemplo n.º 6
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseRouting();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapGet("/", async context =>
                {
                    await context.Response.WriteAsync("I'm alive");
                });
                endpoints.MapPost("/addmessage", async context =>
                {
                    MyDbContext _context = new MyDbContext();
                    var add = new AddMessage();

                    var dto = await context.Request.ReadFromJsonAsync <NewMessageDTO>();
                    var jwt = DecodeHeader.GetJwtToken(context.Request.Headers);

                    var result = await add.Add(dto, jwt.id, _context);
                    await context.Response.WriteAsJsonAsync(result);
                });
                endpoints.MapPost("/addroom", async context =>
                {
                    MyDbContext _context = new MyDbContext();
                    var add = new AddRoom();

                    var dto = await context.Request.ReadFromJsonAsync <NewRoomDTO>();
                    var jwt = DecodeHeader.GetJwtToken(context.Request.Headers);

                    if (jwt.admin == 0)
                    {
                        throw new Exception("You are not allowed to add a new room");
                    }

                    var result = await add.Add(dto, jwt.id, _context);
                });
                endpoints.MapPost("/editmessage", async context =>
                {
                    MyDbContext _context = new MyDbContext();
                    var edit             = new EditMessage();

                    var dto = await context.Request.ReadFromJsonAsync <EditMessageDTO>();
                    var jwt = DecodeHeader.GetJwtToken(context.Request.Headers);

                    var result = await edit.Edit(dto, jwt.id, _context);
                    await context.Response.WriteAsJsonAsync(result);
                });
                endpoints.MapPost("/editroom", async context =>
                {
                    MyDbContext _context = new MyDbContext();
                    var edit             = new EditRoom();

                    var dto = await context.Request.ReadFromJsonAsync <EditRoomDTO>();
                    var jwt = DecodeHeader.GetJwtToken(context.Request.Headers);

                    if (jwt.admin == 0)
                    {
                        throw new Exception("You are not allowed to edit room details");
                    }

                    var result = await edit.Edit(dto, jwt.id, _context);
                    await context.Response.WriteAsJsonAsync(result);
                });
                endpoints.MapPost("/deletemessage", async context =>
                {
                    MyDbContext _context = new MyDbContext();
                    var delete           = new DeleteMessage();

                    var dto = await context.Request.ReadFromJsonAsync <DeleteMessageDTO>();
                    var jwt = DecodeHeader.GetJwtToken(context.Request.Headers);

                    var result = await delete.Delete(dto.MessageId, jwt.id, _context);
                    await context.Response.WriteAsJsonAsync(result);
                });
                endpoints.MapPost("/closeroom", async context =>
                {
                    MyDbContext _context = new MyDbContext();
                    var close            = new CloseRoom();

                    var dto = await context.Request.ReadFromJsonAsync <CloseOpenRoomDTO>();
                    var jwt = DecodeHeader.GetJwtToken(context.Request.Headers);

                    if (jwt.admin == 0)
                    {
                        throw new Exception("You are not allowed to close a room");
                    }

                    var result = await close.Close(dto.RoomId, jwt.id, _context);
                    await context.Response.WriteAsJsonAsync(result);
                });
                endpoints.MapPost("/openroom", async context =>
                {
                    MyDbContext _context = new MyDbContext();
                    var open             = new OpenRoom();

                    var dto = await context.Request.ReadFromJsonAsync <CloseOpenRoomDTO>();
                    var jwt = DecodeHeader.GetJwtToken(context.Request.Headers);

                    if (jwt.admin == 0)
                    {
                        throw new Exception("You are not allowed to open a room");
                    }

                    var result = await open.Open(dto.RoomId, jwt.id, _context);
                    await context.Response.WriteAsJsonAsync(result);
                });
                endpoints.MapPost("/star", async context =>
                {
                    MyDbContext _context = new MyDbContext();
                    var star             = new StarMessage();

                    var dto = await context.Request.ReadFromJsonAsync <StarMessageDTO>();
                    var jwt = DecodeHeader.GetJwtToken(context.Request.Headers);

                    await star.Star(dto.MessageId, jwt.id, _context);
                    await context.Response.WriteAsJsonAsync(StatusCodes.Status200OK);
                });
                endpoints.MapPost("/unstar", async context =>
                {
                    MyDbContext _context = new MyDbContext();
                    var star             = new UnStarMessage();

                    var dto = await context.Request.ReadFromJsonAsync <StarMessageDTO>();
                    var jwt = DecodeHeader.GetJwtToken(context.Request.Headers);

                    await star.UnStar(dto.MessageId, jwt.id, _context);
                    await context.Response.WriteAsJsonAsync(StatusCodes.Status200OK);
                });
            });
        }
Ejemplo n.º 7
0
    void showRooms()
    {
        int    cnt = mRooms.Count;
        NetMgr nm  = NetMgr.GetInstance();
        int    uid = GameMgr.getUserMgr().userid;

        for (int i = 0; i < mRooms.Count; i++)
        {
            ClubRoomInfo room  = mRooms [i];
            Transform    item  = getItem(i);
            Transform    seats = item.Find("seats");
            bool         found = false;

            int readys   = 0;
            int nplayers = 0;

            bool idle = room.status == "idle";

            int j = 0;

            for (; j < room.players.Count && j < seats.childCount; j++)
            {
                ClubRoomPlayer p        = room.players [j];
                Transform      s        = seats.GetChild(j);
                GameObject     name     = s.Find("name").gameObject;
                GameObject     ready    = s.Find("ready").gameObject;
                GameObject     id       = s.Find("id").gameObject;
                GameObject     icon     = s.Find("icon").gameObject;
                GameObject     btn_kick = s.Find("btn_kick").gameObject;

                bool empty = p.id == 0;

                s.gameObject.SetActive(true);

                setActive(s, "icon", !empty);
                setActive(s, "name", !empty);
                setActive(s, "id", !empty);
                setActive(s, "ready", !empty && p.ready);
                setActive(s, "btn_kick", !empty && idle);

                if (!empty && idle)
                {
                    setBtnEvent(s, "btn_kick", () => {
                        onBtnKick(p.id, room.id, room.room_tag);
                    });
                }

                if (empty)
                {
                    continue;
                }

                nplayers += 1;
                if (p.ready)
                {
                    readys += 1;
                }

                setText(s, "name", p.name);
                setText(s, "id", "" + p.id);
                setIcon(s, "icon", p.id);

                if (p.id == uid)
                {
                    mRoomID = room.id;
                }
            }

            for (int k = j; k < seats.childCount; k++)
            {
                Transform s = seats.GetChild(k);
                s.gameObject.SetActive(false);
            }

            ClubRoomBaseInfo info = room.base_info;
            setText(item, "desc", info.huafen + "/" + info.huafen + (info.maima ? "带苍蝇" : "不带苍蝇") + info.maxGames + "局");
            setText(item, "progress", room.num_of_turns + " / " + info.maxGames);
            setText(item, "roomid", "ID:" + room.id);
            setText(item, "status", idle ? "开始" : "游戏中");

            Transform btn_play = item.Find("btn_play");
            btn_play.GetComponent <SpriteMgr> ().setIndex(idle ? 0 : 1);
            PUtils.onClick(btn_play, () => {
                if (room.status == "idle")
                {
                    if (readys != info.numOfSeats)
                    {
                        GameAlert.Show("玩家没有全部准备");
                        return;
                    }

                    nm.request_connector("start_room", "room_tag", room.room_tag, data => {
                        NormalReturn ret = JsonUtility.FromJson <NormalReturn> (data.ToString());
                        if (ret.errcode != 0)
                        {
                            Debug.Log("start room fail");
                            return;
                        }

                        refresh();
                    });
                }
                else
                {
                    nm.request_connector("stop_room", "room_tag", room.room_tag, data => {
                        NormalReturn ret = JsonUtility.FromJson <NormalReturn> (data.ToString());
                        if (ret.errcode != 0)
                        {
                            Debug.Log("stop room fail");
                            return;
                        }

                        refresh();
                    });
                }
            });

            setActive(item, "btn_edit", idle && nplayers == 0);
            setBtnEvent(item, "btn_edit", () => {
                EditRoom er = getPage <EditRoom>("PEditRoom");

                er.UpdateEvents += refresh;
                er.enter(room);
            });

            setActive(item, "btn_destroy", idle && nplayers == 0);
            setBtnEvent(item, "btn_destroy", () => {
                GameAlert.Show("确定解散房间吗?", () => {
                    JsonObject ob  = new JsonObject();
                    ob["roomid"]   = room.id;
                    ob["room_tag"] = room.room_tag;
                    ob["club_id"]  = room.club_id;

                    nm.request_apis("destroy_club_room", ob, data => {
                        NormalReturn ret = JsonUtility.FromJson <NormalReturn> (data.ToString());
                        if (ret.errcode != 0)
                        {
                            Debug.Log("destroy club room fail");
                            return;
                        }

                        refresh();
                    });
                }, true);
            });
        }

        updateItems(mRooms.Count);
    }