Esempio n. 1
0
        public override void Load()
        {
            Root.AddChild(new Image(0, 0, Globals.WIDTH, Globals.HEIGHT, new game.Sprite("data/sprites/locations/rocks/bar.jpg")));
            Root.AddChild(new Button(Globals.WIDTH / 3f + 20, 40, 200, 40, "Start minigame", () => { NetworkManager.Instance.StartMinigame2(); }));
            Root.AddChild(chatInstance    = new ChatElement(0, 0, Globals.WIDTH / 3f, Globals.HEIGHT));
            Root.AddChild(jukeboxInstance = new JukeboxElement(0, 0, Globals.WIDTH, Globals.HEIGHT, "data/sprites/locations/rocks/jukebox.png",
                                                               new [] { "Song6", "Song7", "Song8", "Song9", "Song10" },
                                                               new List <Rectangle> {
                new Rectangle(1392, 178, 112, 106),
                new Rectangle(616, 315, 637, 111),
                new Rectangle(616, 437, 637, 111),
                new Rectangle(616, 560, 637, 111),
                new Rectangle(616, 683, 637, 111),
                new Rectangle(616, 806, 637, 111),
                new Rectangle(1292, 796, 128, 121)
            }));
            var brownColor  = Color.FromArgb(255, 64, 51, 31);
            var lightColor  = Color.FromArgb(255, 239, 237, 225);
            var lightColor2 = Color.FromArgb(255, 215, 213, 201);

            Root.AddChild(minigame2Element = new Minigame2Element(730f, 500f, 1100f, 450f, LabelStyle.Default.Alter(textSizeNormal: 24f, textAlignmentNormal: FontLoader.CenterCenterAlignment, textColorNormal: brownColor), LabelStyle.Default.Alter(textColorNormal: lightColor, textSizeNormal: 24f), LabelStyle.Default.Alter(textColorNormal: lightColor, textAlignmentNormal: FontLoader.CenterCenterAlignment), LabelStyle.Default.Alter(textAlignmentNormal: FontLoader.CenterCenterAlignment, textColorNormal: lightColor), LabelStyle.Default.Alter(textSizeNormal: 18f, textAlignmentNormal: FontLoader.CenterCenterAlignment, textColorNormal: brownColor), ButtonStyle.Transparent, ButtonStyle.Transparent.Alter(backgroundColorNormal: lightColor, backgroundColorHover: lightColor2, backgroundColorPressed: lightColor2)));
            Root.AddChild(new Button(788, 207, 295, 300, "Open jukebox", ButtonStyle.Transparent, () => { jukeboxInstance.Initialize(); }));
            Root.AddChild(new Button(10, 10, Globals.WIDTH / 3f - 20f, 40, "Leave room", () => {
                SoundManager.Instance.StopPlaying(jukeboxInstance.CurrentlyPlaying);
                NetworkManager.Instance.LeaveRoom();
            }));
            ChatElement.ActiveChat          = chatInstance;
            JukeboxElement.ActiveJukebox    = jukeboxInstance;
            Minigame2Element.ActiveMinigame = minigame2Element;
            IsLoaded = true;
        }
        private void SetupSocket_Minigames_2()
        {
            socket.On("started_minigame_2", data => {
                Debug.LogInfo($"Socket.IO: 'started_minigame_2', received data:\n{data?.ToString()}\n", "NETWORK");
                var minigameData = (JObject)data;
                ActiveMinigame2  = new NetworkWouldYouRather(minigameData.Value <string>("gameGuid"), minigameData.Value <string>("ownerGuid"));
                startedMinigame2 = true;
            });
            socket.On("voted_minigame_2", data => {
                Debug.LogInfo($"Socket.IO: 'voted_minigame_2', received data:\n{data?.ToString()}\n", "NETWORK");
                var minigameData = (JObject)data;
                var redirect     = minigameData.TryGetValue("redirect", out _);
                ActiveMinigame2.SetVote(minigameData.Value <string>("guid"), minigameData.Value <string>("vote"));
                if (redirect)
                {
                    return;
                }
                if (ActiveMinigame2.Owner == PlayerData.GUID && ActiveMinigame2.IsQuestionDone)
                {
                    socket.Emit("results_minigame_2", "");
                    Debug.LogInfo($"Socket.IO Emit: 'results_minigame_2', sent data: \"\"", "NETWORK");
                    showResultsMinigame2 = true;
                }
                else
                {
                    newVoteMinigame2 = true;
                }
            });

            socket.On("request_minigame_2", data => {
                Debug.LogInfo($"Socket.IO: 'request_minigame_2', received data:\n{data?.ToString()}\n", "NETWORK");
                var minigameData  = (JObject)data;
                var questionIndex = minigameData.Value <int>("question");
                var question      = Minigame2Element.GetQuestion(questionIndex);
                ActiveMinigame2.StartNewQuestion(question);
                newQuestionMinigame2 = true;
            });
            socket.On("results_minigame_2", data => {
                Debug.LogInfo($"Socket.IO: 'results_minigame_2', received data:\n{data?.ToString()}\n", "NETWORK");
                showResultsMinigame2 = true;
            });
            socket.On("finished_minigame_2", data => {
                Debug.LogInfo($"Socket.IO: 'finished_minigame_2', received data:\n{data?.ToString()}\n", "NETWORK");
                finishedMinigame2 = true;
            });
        }