Пример #1
0
        public void NavigateLink(NavigateLinkEvent e, Node node)
        {
            ParseLinkEvent eventInstance = new ParseLinkEvent {
                Link = e.Link
            };

            base.ScheduleEvent(eventInstance, node);
            if (!this.IsParsed(eventInstance))
            {
                if (eventInstance.ParseMessage != null)
                {
                    base.Log.ErrorFormat("Link parse error: {0}, ParseMessage: {1}", e.Link, eventInstance.ParseMessage);
                }
                else
                {
                    base.Log.ErrorFormat("Link parse error: {0}", e.Link);
                }
            }
            else if (eventInstance.CustomNavigationEvent != null)
            {
                eventInstance.CustomNavigationEvent.Schedule();
            }
            else
            {
                ShowScreenEvent event4 = new ShowScreenEvent(eventInstance.ScreenType, AnimationDirection.LEFT);
                if (eventInstance.ScreenContext != null)
                {
                    event4.SetContext(eventInstance.ScreenContext, eventInstance.ScreenContextAutoDelete);
                }
                base.ScheduleEvent(event4, node);
            }
        }
Пример #2
0
        public void OnClick(ButtonClickEvent e, NewsItemWithUINode newsItem, [JoinAll] UserNode user, [JoinByUser] SingleNode <ClientLocaleComponent> clientLocale)
        {
            CheckForTutorialEvent eventInstance = new CheckForTutorialEvent();

            base.ScheduleEvent(eventInstance, newsItem);
            if (!eventInstance.TutorialIsActive)
            {
                base.Log.InfoFormat("OnClickNewsItem: {0}", newsItem);
                if (!string.IsNullOrEmpty(newsItem.newsItem.Data.InternalUrl))
                {
                    NavigateLinkEvent event3 = new NavigateLinkEvent {
                        Link = newsItem.newsItem.Data.InternalUrl
                    };
                    base.ScheduleEvent(event3, newsItem);
                }
                else
                {
                    string externalUrl = newsItem.newsItem.Data.ExternalUrl;
                    if (!string.IsNullOrEmpty(externalUrl))
                    {
                        Application.OpenURL(externalUrl.Replace(ID, user.Entity.Id.ToString()).Replace(RANK, user.userRank.Rank.ToString()).Replace(UID, user.userUid.Uid).Replace(LOCALE, clientLocale.component.LocaleCode));
                    }
                }
            }
        }
Пример #3
0
        public void NavigateLink(ButtonClickEvent e, SingleNode <LinkButtonComponent> button)
        {
            NavigateLinkEvent eventInstance = new NavigateLinkEvent {
                Link = button.component.Link
            };

            base.ScheduleEvent(eventInstance, button);
        }
Пример #4
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;
            }
        }