Example #1
0
        public WindowGame(UserDTO user, string game, string character)
        {
            InitializeComponent();

            tbCode.Text = game;

            callback.Count = 100;

            callback.PlayerDiedEvent       += Callback_PlayerDiedEvent;
            callback.MeImposterEvent       += Callback_MeImposterEvent;
            callback.NewDayEvent           += Callback_NewDayEvent;
            callback.GameStartEvent        += Callback_GameStartEvent;
            callback.PlayerChangedEvent    += Callback_PlayerChangedEvent;
            callback.DisconnectedEvent     += Callback_DisconnectedEvent;
            callback.StateEvent            += Callback_StateEvent;
            callback.MoveEvent             += Callback_MoveEvent;
            callback.NewPlayerArrivedEvent += Callback_NewPlayerArrivedEvent;

            elevenDays_GameServiceClient = new ElevenDays_GameServiceClient(new System.ServiceModel.InstanceContext(callback));

            elevenDays_GameServiceClient.StartByGameID(game, user, character);

            this.user      = user;
            this.game      = game;
            this.character = character;

            for (int i = 0; i < elevenDays_GameServiceClient.GetPlayersCount(game); i++)
            {
                string   str      = elevenDays_GameServiceClient.GetPlayerString(game, i);
                string   charact  = elevenDays_GameServiceClient.GetPlayerFruit(game, i);
                Position position = elevenDays_GameServiceClient.GetPlayerPosition(game, i);
                if (str != user.Login)
                {
                    Callback_NewPlayerArrivedEvent(position, str, charact, "chill");
                }
            }

            fruitControl = new FruitControl($"Images/{character}Ch2.png", new Position()
            {
                X = 0, Y = 0
            }, user.Login);
            fruitControl.Tag = user.Login;

            currRoom          = new StartRoom(fruitControl, fruitControls);
            fruitControl.Room = "chill";
            dockpanel.Children.Add((currRoom as StartRoom));

            elevenDays_GameServiceClient.GameBeginCheckAsync(game);
        }