Beispiel #1
0
        public override bool OnKeyDown(Keys key)
        {
            if (DisableKeyboard)
            {
                return(false);
            }
            else if (key == Keys.Enter)
            {
                if (ClientProtocol.Join(PlayerName))
                {
                    // Disables keyboard
                    DisableKeyboard = !DisableKeyboard;

                    // Adds player name to domain
                    EntityUtility.CreateMessage(Domain, PlayerName, 0, 0, 16);

                    // Enablers state change after delay
                    Task.Factory.StartNew(async() =>
                    {
                        await Task.Delay(2000);
                        ChangeState = true;
                    });

                    // Display a message to the client
                    var input = InputBox.GetComponent <Input>();
                    input.Message = "Joined server succesful";
                }
                else
                {
                    PlayerName = string.Empty;
                    var input = InputBox.GetComponent <Input>();
                    input.Message = "Invalid username";
                }
                return(true);
            }
            else if (key == Keys.Back)
            {
                if (PlayerName.Length > 0)
                {
                    PlayerName = PlayerName.Remove(PlayerName.Length - 1);
                    var input = InputBox.GetComponent <Input>();
                    input.Message = PlayerName;
                }
                return(true);
            }
            else if (key == Keys.Space)
            {
                PlayerName += " ";
                var input = InputBox.GetComponent <Input>();
                input.Message = PlayerName;
                return(true);
            }
            else
            {
                string keyData = key.ToString();
                if (KeyboardInputValidator.isValid(keyData) && PlayerName.Length < 20)
                {
                    PlayerName = (KeyboardInputValidator.dict.ContainsKey(keyData) ? PlayerName += KeyboardInputValidator.dict[keyData] : PlayerName += keyData);
                    var input = InputBox.GetComponent <Input>();
                    input.Message = PlayerName;
                    return(true);
                }
                return(false);
            }
        }