예제 #1
0
    private bool UpdateMouseLeftClick()
    {
        bool flag = false;

        if (UniversalInputManager.Get().GetMouseButtonDown(0))
        {
            flag = true;
            if (this.m_currentElement.GetCursorDown() != PegCursor.Mode.NONE)
            {
                PegCursor.Get().SetMode(this.m_currentElement.GetCursorDown());
            }
            else
            {
                PegCursor.Get().SetMode(PegCursor.Mode.DOWN);
            }
            if (UniversalInputManager.Get().IsTouchMode() && this.m_currentElement.GetReceiveOverWithMouseDown())
            {
                this.m_currentElement.TriggerOver();
            }
            this.m_currentElement.TriggerPress();
            this.m_lastClickPosition = UniversalInputManager.Get().GetMousePosition();
            this.m_mouseDownElement  = this.m_currentElement;
        }
        if (UniversalInputManager.Get().GetMouseButtonUp(0))
        {
            flag = true;
            if (((this.m_lastClickTimer > 0f) && (this.m_lastClickTimer <= 0.7f)) && this.m_currentElement.GetDoubleClickEnabled())
            {
                this.m_currentElement.TriggerDoubleClick();
                this.m_lastClickTimer = -1f;
            }
            else
            {
                if ((this.m_mouseDownElement == this.m_currentElement) || this.m_currentElement.GetReceiveReleaseWithoutMouseDown())
                {
                    this.m_currentElement.TriggerRelease();
                }
                if (this.m_currentElement.GetReceiveOverWithMouseDown())
                {
                    this.m_currentElement.TriggerOut();
                }
                if (this.m_mouseDownElement != null)
                {
                    this.m_lastClickTimer = 0f;
                    this.m_mouseDownElement.TriggerReleaseAll(this.m_currentElement == this.m_mouseDownElement);
                    this.m_mouseDownElement = null;
                }
            }
            if (this.m_currentElement.GetCursorOver() != PegCursor.Mode.NONE)
            {
                PegCursor.Get().SetMode(this.m_currentElement.GetCursorOver());
            }
            else
            {
                PegCursor.Get().SetMode(PegCursor.Mode.OVER);
            }
            this.m_lastClickPosition = Vector3.zero;
        }
        return(flag);
    }
예제 #2
0
    private void Awake()
    {
        PegUIElement component = base.gameObject.GetComponent <PegUIElement>();

        if (component != null)
        {
            component.AddEventListener(UIEventType.ROLLOVER, delegate(UIEvent e) {
                if (this.m_EnableResponse)
                {
                    this.OnRollOver();
                }
            });
            component.AddEventListener(UIEventType.ROLLOUT, delegate(UIEvent e) {
                if (this.m_EnableResponse)
                {
                    this.OnRollOut();
                }
            });
            component.AddEventListener(UIEventType.RELEASE, delegate(UIEvent e) {
                if (this.m_EnableResponse)
                {
                    this.OnRelease();
                }
            });
        }
    }
예제 #3
0
    private void SetupRarity()
    {
        GameObject obj2 = UnityEngine.Object.Instantiate <GameObject>(this.m_rarityInfo.gameObject);

        if (obj2 != null)
        {
            obj2.transform.parent = this.m_CardParent.transform;
            this.m_rarityInfo     = obj2.GetComponent <PackOpeningCardRarityInfo>();
            this.m_rarityInfo.m_RarityObject.SetActive(true);
            this.m_rarityInfo.m_HiddenCardObject.SetActive(true);
            Vector3 localPosition = this.m_rarityInfo.m_HiddenCardObject.transform.localPosition;
            this.m_rarityInfo.m_HiddenCardObject.transform.parent        = this.m_CardParent.transform;
            this.m_rarityInfo.m_HiddenCardObject.transform.localPosition = localPosition;
            this.m_rarityInfo.m_HiddenCardObject.transform.localRotation = Quaternion.identity;
            this.m_rarityInfo.m_HiddenCardObject.transform.localScale    = new Vector3(7.646f, 7.646f, 7.646f);
            TransformUtil.AttachAndPreserveLocalTransform(this.m_rarityInfo.m_RarityObject.transform, this.m_CardParent.transform);
            this.m_spell        = this.m_rarityInfo.m_RarityObject.GetComponent <Spell>();
            this.m_revealButton = this.m_rarityInfo.m_RarityObject.GetComponent <PegUIElement>();
            if (UniversalInputManager.Get().IsTouchMode())
            {
                this.m_revealButton.SetReceiveReleaseWithoutMouseDown(true);
            }
            this.m_SharedHiddenCardObject.transform.parent = this.m_rarityInfo.m_HiddenCardObject.transform;
            TransformUtil.Identity(this.m_SharedHiddenCardObject.transform);
        }
    }
예제 #4
0
    private void InitInputBlocker()
    {
        GameObject obj2 = CameraUtils.CreateInputBlocker(CameraUtils.FindFirstByLayer(base.gameObject.layer), "RecruitAFriendInputBlocker", this);

        obj2.transform.position = this.m_Bones.m_InputBlocker.position;
        this.m_inputBlocker     = obj2.AddComponent <PegUIElement>();
        this.m_inputBlocker.AddEventListener(UIEventType.RELEASE, new UIEvent.Handler(this.OnInputBlockerReleased));
    }
예제 #5
0
    private void InitInputBlocker()
    {
        Camera camera      = CameraUtils.FindFirstByLayer(base.gameObject.layer);
        float  worldOffset = this.m_Bones.m_InputBlocker.position.z - base.transform.position.z;

        this.m_inputBlocker = CameraUtils.CreateInputBlocker(camera, "QuickChatInputBlocker", this, worldOffset).AddComponent <PegUIElement>();
        this.m_inputBlocker.AddEventListener(UIEventType.RELEASE, new UIEvent.Handler(this.OnInputBlockerReleased));
    }
    public void Awake()
    {
        PegUIElement component = base.gameObject.GetComponent <PegUIElement>();

        if (component != null)
        {
            component.AddEventListener(UIEventType.RELEASE, e => this.OnRelease());
        }
    }
    private void InitInputBlocker()
    {
        GameObject obj2 = CameraUtils.CreateInputBlocker(CameraUtils.FindFirstByLayer(base.gameObject.layer), "AddFriendInputBlocker");

        obj2.transform.parent = base.transform.parent;
        this.m_inputBlocker   = obj2.AddComponent <PegUIElement>();
        this.m_inputBlocker.AddEventListener(UIEventType.RELEASE, new UIEvent.Handler(this.OnInputBlockerReleased));
        TransformUtil.SetPosZ(this.m_inputBlocker, base.transform.position.z + 1f);
    }
 protected override void Awake()
 {
     base.Awake();
     CollectionPageManager component = base.GetComponent<CollectionPageManager>();
     this.pageLeftRegion = component.m_pageLeftClickableRegion;
     this.pageRightRegion = component.m_pageRightClickableRegion;
     this.pageDragRegion = component.m_pageDraggableRegion;
     this.pageDragRegion.gameObject.SetActive(true);
     this.pageDragRegion.AddEventListener(UIEventType.PRESS, new UIEvent.Handler(this.OnPageDraggableRegionDown));
 }
예제 #9
0
 public void DoMouseDown(PegUIElement element, Vector3 mouseDownPos)
 {
     this.m_currentElement   = element;
     this.m_mouseDownElement = element;
     this.m_currentElement.TriggerPress();
     this.m_lastClickPosition = mouseDownPos;
     if (Vector3.Distance(this.m_lastClickPosition, UniversalInputManager.Get().GetMousePosition()) > this.m_currentElement.GetDragTolerance())
     {
         this.m_currentElement.TriggerHold();
     }
 }
    protected virtual void Awake()
    {
        GameObject obj2 = (GameObject)GameUtils.InstantiateGameObject(this.m_menuDefPrefab, null, false);

        this.m_menu = obj2.GetComponent <ButtonListMenuDef>();
        OverlayUI.Get().AddGameObject(base.gameObject, CanvasAnchor.CENTER, false, CanvasScaleMode.HEIGHT);
        this.SetTransform();
        this.m_blocker = CameraUtils.CreateInputBlocker(CameraUtils.FindFirstByLayer(obj2.layer), "GameMenuInputBlocker", this, obj2.transform, 10f).AddComponent <PegUIElement>();
        FatalErrorMgr.Get().AddErrorListener(new FatalErrorMgr.ErrorCallback(this.OnFatalError));
        this.m_blocker.AddEventListener(UIEventType.RELEASE, new UIEvent.Handler(this.OnBlockerRelease));
    }
    private void Awake()
    {
        PegUIElement component = base.gameObject.GetComponent <PegUIElement>();

        if (component != null)
        {
            component.AddEventListener(UIEventType.ROLLOVER, e => this.OnRollOver(false));
            component.AddEventListener(UIEventType.PRESS, e => this.OnPress(true));
            component.AddEventListener(UIEventType.RELEASE, e => this.OnRelease());
            component.AddEventListener(UIEventType.ROLLOUT, e => this.OnRollOut(false));
            this.ResetState();
        }
    }
예제 #12
0
 public void Destroy()
 {
     this.m_ready = false;
     if (this.m_actor != null)
     {
         this.m_actor.Destroy();
         this.m_actor = null;
     }
     this.m_rarityInfo   = null;
     this.m_spell        = null;
     this.m_revealButton = null;
     this.m_revealed     = false;
 }
예제 #13
0
 protected override void Awake()
 {
     this.ResetScrollStartPosition();
     if ((this.m_ScrollTrack != null) && (UniversalInputManager.UsePhoneUI == null))
     {
         PegUIElement component = this.m_ScrollTrack.GetComponent <PegUIElement>();
         if (component != null)
         {
             component.AddEventListener(UIEventType.PRESS, e => this.StartDragging());
         }
     }
     if (this.m_OverridePegUI)
     {
         base.Awake();
     }
 }
    public void Init(SeasonEndInfo info)
    {
        this.m_seasonEndInfo = info;
        this.m_header.Text   = this.GetSeasonName(info.m_seasonID);
        if ((info.m_rankedRewards != null) && (info.m_rankedRewards.Count > 0))
        {
            this.m_earnedRewardChest = true;
        }
        else
        {
            this.m_earnedRewardChest = false;
        }
        this.m_medal.SetMedal(new MedalInfoTranslator(info.m_rank, info.m_legendIndex), false);
        this.m_rankName.Text = this.m_medal.GetMedal().name;
        this.m_bonusStars    = info.m_bonusStars;
        string rankPercentile = GetRankPercentile(this.m_seasonEndInfo.m_rank);

        if (rankPercentile.Length > 0)
        {
            this.m_rankPercentile.gameObject.SetActive(true);
            object[] args = new object[] { rankPercentile };
            this.m_rankPercentile.Text = GameStrings.Format("GLOBAL_SEASON_END_PERCENTILE_LABEL", args);
        }
        else
        {
            this.m_rankPercentile.gameObject.SetActive(false);
        }
        foreach (PegUIElement element in this.m_rewardChests)
        {
            element.gameObject.SetActive(false);
        }
        int chestIndexFromRank = RankedRewardChest.GetChestIndexFromRank(this.m_seasonEndInfo.m_chestRank);

        if (chestIndexFromRank >= 0)
        {
            this.m_rewardChest = this.m_rewardChests[chestIndexFromRank];
            this.m_rewardChest.gameObject.SetActive(true);
            this.m_medalPlayMaker.FsmVariables.GetFsmGameObject("RankChest").Value = this.m_rewardChest.gameObject;
            UberText[] componentsInChildren = this.m_rewardChest.GetComponentsInChildren <UberText>(true);
            if (componentsInChildren.Length > 0)
            {
                componentsInChildren[0].Text = info.m_chestRank.ToString();
            }
            this.m_rewardChestHeader.Text = RankedRewardChest.GetChestEarnedFromRank(this.m_seasonEndInfo.m_chestRank);
        }
        this.m_rewardChest.AddEventListener(UIEventType.RELEASE, new UIEvent.Handler(this.ChestButtonReleased));
    }
예제 #15
0
 private void OnMouseOnOrOffScreen(bool onScreen)
 {
     if (!onScreen)
     {
         this.m_lastClickPosition = Vector3.zero;
         if (this.m_currentElement != null)
         {
             this.m_currentElement.TriggerOut();
             this.m_currentElement = null;
         }
         PegCursor.Get().SetMode(PegCursor.Mode.UP);
         if (this.m_prevElement != null)
         {
             this.m_prevElement.TriggerOut();
             this.m_prevElement = null;
         }
         this.m_lastClickTimer = -1f;
     }
 }
 private bool HandleSwipeGesture()
 {
     this.m_swipeRect = CameraUtils.CreateGUIScreenRect(Camera.main, (Component)this.m_upperLeftBone, (Component)this.m_lowerRightBone);
     if (UniversalInputManager.Get().GetMouseButtonDown(0) && this.InSwipeRect(UniversalInputManager.Get().GetMousePosition()))
     {
         this.m_checkingPossibleSwipe = true;
         this.m_swipeDetectTimer      = 0f;
         this.m_swipeStart            = UniversalInputManager.Get().GetMousePosition();
         this.m_swipeElement          = PegUI.Get().FindHitElement();
         return(true);
     }
     if (this.m_checkingPossibleSwipe)
     {
         this.m_swipeDetectTimer += UnityEngine.Time.deltaTime;
         if (UniversalInputManager.Get().GetMouseButtonUp(0))
         {
             this.m_checkingPossibleSwipe = false;
             if ((!this.CheckSwipe() && (this.m_swipeElement != null)) && (this.m_swipeElement == PegUI.Get().FindHitElement()))
             {
                 this.m_swipeElement.TriggerPress();
                 this.m_swipeElement.TriggerRelease();
             }
             return(true);
         }
         if (this.m_swipeDetectTimer < 0.1f)
         {
             return(true);
         }
         this.m_checkingPossibleSwipe = false;
         if (this.CheckSwipe())
         {
             return(true);
         }
         if (this.m_swipeElement != null)
         {
             PegUI.Get().DoMouseDown(this.m_swipeElement, this.m_swipeStart);
         }
     }
     return(false);
 }
 public UIEvent(UIEventType eventType, PegUIElement element)
 {
     this.m_eventType = eventType;
     this.m_element   = element;
 }
예제 #18
0
 private void MouseInputUpdate()
 {
     if (this.m_UICam != null)
     {
         bool flag = false;
         foreach (PegUICustomBehavior behavior in this.m_customBehaviors)
         {
             if (behavior.UpdateUI())
             {
                 flag = true;
                 break;
             }
         }
         if (flag)
         {
             if (this.m_mouseDownElement != null)
             {
                 this.m_mouseDownElement.TriggerOut();
             }
             this.m_mouseDownElement = null;
         }
         else
         {
             if ((UniversalInputManager.Get().GetMouseButton(0) && (this.m_mouseDownElement != null)) && ((this.m_lastClickPosition != Vector3.zero) && (Vector3.Distance(this.m_lastClickPosition, UniversalInputManager.Get().GetMousePosition()) > this.m_mouseDownElement.GetDragTolerance())))
             {
                 this.m_mouseDownElement.TriggerHold();
             }
             if (this.m_lastClickTimer != -1f)
             {
                 this.m_lastClickTimer += UnityEngine.Time.deltaTime;
             }
             PegUIElement element = this.FindHitElement();
             this.m_prevElement = this.m_currentElement;
             if ((element != null) && element.IsEnabled())
             {
                 this.m_currentElement = element;
             }
             else
             {
                 this.m_currentElement = null;
             }
             if ((this.m_prevElement != null) && (this.m_currentElement != this.m_prevElement))
             {
                 PegCursor.Get().SetMode(PegCursor.Mode.UP);
                 this.m_prevElement.TriggerOut();
             }
             if (this.m_currentElement == null)
             {
                 if (UniversalInputManager.Get().GetMouseButtonDown(0))
                 {
                     PegCursor.Get().SetMode(PegCursor.Mode.DOWN);
                 }
                 else if (!UniversalInputManager.Get().GetMouseButton(0))
                 {
                     PegCursor.Get().SetMode(PegCursor.Mode.UP);
                 }
                 if ((this.m_mouseDownElement != null) && UniversalInputManager.Get().GetMouseButtonUp(0))
                 {
                     this.m_mouseDownElement.TriggerReleaseAll(false);
                     this.m_mouseDownElement = null;
                 }
             }
             else if (!this.UpdateMouseLeftClick() && (!this.UpdateMouseLeftHold() && !this.UpdateMouseRightClick()))
             {
                 this.UpdateMouseOver();
             }
         }
     }
 }
예제 #19
0
 public UIReleaseAllEvent(bool mouseIsOver, PegUIElement element) : base(UIEventType.RELEASEALL, element)
 {
     this.m_mouseIsOver = mouseIsOver;
 }