コード例 #1
0
 public void ActivateInputField(NodeAddedEvent e, InputFieldNode inputFieldNode, [JoinByScreen] ChatUINode chatUI)
 {
     inputFieldNode.inputField.Input = string.Empty;
     inputFieldNode.inputField.InputField.Select();
     inputFieldNode.inputField.InputField.ActivateInputField();
     chatUI.chatUI.SendMessage("RefreshCurve", SendMessageOptions.DontRequireReceiver);
 }
コード例 #2
0
 public void SendMessageOnEnterPressed(UpdateEvent e, InputFieldNode inputFieldNode, [JoinByScreen] ChatUINode chatUI, [JoinByScreen] ChatNode chat)
 {
     if (Input.GetKeyDown(KeyCode.Return) || Input.GetKeyDown(KeyCode.KeypadEnter))
     {
         this.SendMessage(chat.Entity, chatUI, inputFieldNode);
     }
 }
コード例 #3
0
 public void SaveInputMessage(InputFieldValueChangedEvent e, InputFieldNode inputFieldNode, [JoinByScreen] BattleChatGUINode battleChatGUINode)
 {
     if (inputFieldNode.inputField.InputField.isFocused)
     {
         battleChatGUINode.chatUI.SavedInputMessage = inputFieldNode.inputField.Input;
     }
 }
コード例 #4
0
 public void CheckBattleChatInputFocus(BattleChatFocusCheckEvent e, Node any, [JoinAll, Combine] InputFieldNode inputField)
 {
     if (inputField.inputField.InputField.isFocused)
     {
         e.InputIsFocused = true;
     }
 }
コード例 #5
0
        public void SetMessageLength(InputFieldValueChangedEvent e, InputFieldNode input, [JoinByScreen] ChatNode chat)
        {
            string str = input.inputField.Input;
            int    maxMessageLength = chat.chatConfig.MaxMessageLength;

            if (str.Length > maxMessageLength)
            {
                input.inputField.Input = str.Remove(maxMessageLength);
            }
        }
コード例 #6
0
        private void SendMessage(Entity chat, ChatUINode chatUI, InputFieldNode inputFieldNode)
        {
            string[] tags = new string[] { RichTextTags.COLOR, RichTextTags.SIZE };
            string   str  = ChatMessageUtil.RemoveTags(ChatMessageUtil.RemoveWhiteSpaces(inputFieldNode.inputField.Input), tags);

            if (!string.IsNullOrEmpty(str))
            {
                base.ScheduleEvent(new SendChatMessageEvent(str), chat);
                inputFieldNode.inputField.Input = string.Empty;
                inputFieldNode.inputField.InputField.Select();
                inputFieldNode.inputField.InputField.ActivateInputField();
                chatUI.chatUI.SavedInputMessage = string.Empty;
            }
        }
コード例 #7
0
        public void InputChangedWithDelay(InputPausedEvent e, InputFieldNode inputField, [JoinAll] SelfUserNode selfUser)
        {
            string str = inputField.inputField.Input.Trim();

            if (!string.IsNullOrEmpty(str))
            {
                inputField.esm.Esm.ChangeState <InputFieldStates.AwaitState>();
                inputField.interactivityPrerequisiteESM.Esm.ChangeState <InteractivityPrerequisiteStates.NotAcceptableState>();
                base.Log.InfoFormat("InputChangedWithDelay {0}", str);
                CheckPromoCodeEvent eventInstance = new CheckPromoCodeEvent {
                    Code = str
                };
                base.ScheduleEvent(eventInstance, selfUser);
            }
        }
コード例 #8
0
        public void ActivatePromoCode(ButtonClickEvent e, ActivateButtonNode button, [JoinByScreen] InputFieldNode inputField, [JoinAll] SelfUserNode selfUser)
        {
            string str = inputField.inputField.Input.Trim();

            if (str.StartsWith(LINK_PREFIX))
            {
                base.Log.InfoFormat("NavigateLink {0}", str);
                NavigateLinkEvent eventInstance = new NavigateLinkEvent {
                    Link = str.Substring(LINK_PREFIX.Length)
                };
                base.ScheduleEvent(eventInstance, button);
            }
            else
            {
                base.Log.InfoFormat("ActivatePromoCode {0}", str);
                ActivatePromoCodeEvent eventInstance = new ActivatePromoCodeEvent {
                    Code = str
                };
                base.ScheduleEvent(eventInstance, selfUser);
                button.buttonMapping.Button.interactable = false;
                inputField.inputField.Input = string.Empty;
            }
        }
コード例 #9
0
        public void ShowCheckResult(PromoCodeCheckResultEvent e, SelfUserNode selfUser, [JoinAll] InputFieldNode inputField, [JoinAll] SingleNode <PromoCodesScreenLocalizationComponent> promoCodesScreen)
        {
            string str = inputField.inputField.Input.Trim();

            base.Log.InfoFormat("ShowCheckResult {0}", e.Result);
            if (str.StartsWith(LINK_PREFIX))
            {
                base.Log.InfoFormat("ShowCheckResult IsLink {0}", str);
                inputField.esm.Esm.ChangeState <InputFieldStates.ValidState>();
                inputField.interactivityPrerequisiteESM.Esm.ChangeState <InteractivityPrerequisiteStates.AcceptableState>();
            }
            else
            {
                inputField.inputField.ErrorMessage = string.IsNullOrEmpty(str) ? string.Empty : promoCodesScreen.component.InputStateTexts[e.Result.ToString()].ToString();
                if (e.Code.Equals(str, StringComparison.OrdinalIgnoreCase))
                {
                    if (e.Result == PromoCodeCheckResult.VALID)
                    {
                        inputField.esm.Esm.ChangeState <InputFieldStates.ValidState>();
                        inputField.interactivityPrerequisiteESM.Esm.ChangeState <InteractivityPrerequisiteStates.AcceptableState>();
                    }
                    else
                    {
                        inputField.esm.Esm.ChangeState <InputFieldStates.InvalidState>();
                        inputField.interactivityPrerequisiteESM.Esm.ChangeState <InteractivityPrerequisiteStates.NotAcceptableState>();
                    }
                }
            }
        }
コード例 #10
0
 public void InputDisabled(NodeRemoveEvent e, InputFieldNode inputNode)
 {
     inputNode.inputField.Input = string.Empty;
 }
コード例 #11
0
 public void InputChanged(InputFieldValueChangedEvent e, InputFieldNode inputField, [JoinAll] SelfUserNode selfUser)
 {
     inputField.esm.Esm.ChangeState <InputFieldStates.AwaitState>();
     inputField.interactivityPrerequisiteESM.Esm.ChangeState <InteractivityPrerequisiteStates.NotAcceptableState>();
     base.Log.InfoFormat("InputChanged", new object[0]);
 }
コード例 #12
0
 public void SendMessageOnButtonClick(ButtonClickEvent e, SingleNode <SendMessageButtonComponent> sendMessageButton, [JoinByScreen] InputFieldNode inputFieldNode, [JoinByScreen] ChatUINode chatUI, [JoinByScreen] ChatNode chat)
 {
     this.SendMessage(chat.Entity, chatUI, inputFieldNode);
 }
コード例 #13
0
 public void SetMaxMessageLength(NodeAddedEvent e, InputFieldNode inputFieldNode, [JoinByScreen, Combine] ChatNode chatNode)
 {
     inputFieldNode.inputField.InputField.characterLimit = chatNode.chatConfig.MaxMessageLength;
 }