Example #1
0
        private void sendWordChoice(AdvancedNetworkLib.Client player, RoomInfo roomInfo)
        {
            var availableWords = this.wordList.Where(w => !roomInfo.ChoosenWordIndices.Contains(this.wordList.IndexOf(w))).ToList();

            var wordChoice = new WordChoice();

            for (int i = 0; i < 3; i++)
            {
                var randomWord = availableWords.ElementAt(Server.rand.Next(availableWords.Count));
                wordChoice.Words.Add(randomWord.Word);
                availableWords.Remove(randomWord);
            }
            player.send(wordChoice);
        }
Example #2
0
    public void SpawnWords(List <WordMapNode> nodes, UnityAction <WordMapNode> onChoose)
    {
        // Clear previous choices
        for (var i = _choiceObjects.Count - 1; i >= 0; i--)
        {
            WordChoice choiceObject = _choiceObjects[i];
            Destroy(choiceObject.gameObject);
            _choiceObjects.Remove(choiceObject);
        }

        // For each node, spawn a choice object and fill in its info
        foreach (WordMapNode wordMapNode in nodes)
        {
            var obj = Instantiate(_wordChoicePrefab).GetComponent <WordChoice>();
            _choiceObjects.Add(obj);
            obj.transform.SetParent(_wordChoiceParent);

            WordMapNode node = wordMapNode;
            obj.GetComponent <Button>().onClick.AddListener(() => onChoose(node));

            obj.SetNode(wordMapNode);
        }
    }
        public static void Open(Control parent, WordChoice wordChoice, EventHandler <WordChoosenEventArgs> wordChoosen)
        {
            // disable the page control
            foreach (Control control in parent.Controls)
            {
                if (control is Page)
                {
                    control.Enabled = false;
                }
            }

            var msg = new MessageWordChoice();

            msg.btnFirstWord.Text  = wordChoice.Words[0];
            msg.btnSecondWord.Text = wordChoice.Words[1];
            msg.btnThirdWord.Text  = wordChoice.Words[2];
            msg.WordChoosen       += wordChoosen;
            parent.SizeChanged    += msg.OnSizeChanged;
            parent.Controls.Add(msg);
            msg.Disposed += (s, e) => Msg_Disposed(parent, EventArgs.Empty);
            msg.OnSizeChanged(parent, EventArgs.Empty);
            msg.Show();
            msg.BringToFront();
        }