Example #1
0
 public override void Show(bool b = true, bool useGroup = true, bool force = false)
 {
     if (b)
     {
         //所有的Tooltip均为互斥
         if (CurShow != null && CurShow != this)
         {
             CurShow.Show(false, true, true);
         }
         CurShow = this;
         RectTrans.SetAsLastSibling();
         closeInvoke?.Kill();
         base.Show(b, useGroup, force);
     }
     else
     {
         closeInvoke?.Kill();
         if (force)
         {
             base.Show(b, useGroup, force);
         }
         else
         {
             closeInvoke = Util.Invoke(() => base.Show(b, useGroup, force), 0.01f);
         }
     }
 }
Example #2
0
        public override void OnShow(bool b)
        {
            base.OnShow(b);
            Vector2 realTweenVec = Vector2.zero;

            if (RectTrans != null)
            {
                if (b)
                {
                    RectTrans.localScale = From;
                    realTweenVec         = To;
                }
                else
                {
                    RectTrans.localScale = To;
                    realTweenVec         = From;
                }

                if (b || IsEffClose)
                {
                    tweener = RectTrans.DOScale(realTweenVec, Duration)
                              .SetEase(GetEase(b))
                              .SetDelay(Delay);
                }
            }
        }
Example #3
0
 public bool SetFocus()
 {
     //将主界面等级并且有组的界面设置焦点
     if (Group != ViewGroup.None)
     {
         if (!UIMgr.GroupViews.ContainsKey(Group))
         {
             return(false);
         }
         List <UView> views = UIMgr.GroupViews[Group].OrderBy((x) => x.RectTrans.GetSiblingIndex()).ToList();
         if (views.Count == 0)
         {
             return(false);
         }
         int newIndex = views[views.Count - 1].RectTrans.GetSiblingIndex();
         if (newIndex == RectTrans.GetSiblingIndex())
         {
             return(false);
         }
         RectTrans.SetSiblingIndex(newIndex);
         SetDirtyAll();
         return(true);
     }
     return(false);
 }
Example #4
0
 public virtual void Attach(ViewLevel viewLevel, UView beAttchedView)
 {
     UIMgr = beAttchedView?.UIMgr;
     ParentView?.SubViews.Remove(this);
     if (viewLevel == ViewLevel.Root)
     {
         ParentView = beAttchedView;
         RootView   = beAttchedView;
         ViewLevel  = ViewLevel.Main;
         RectTrans.SetParent(RootView?.CanvasTrans);
         UIMgr.AddToMainViews(this);
         UIMgr.AddToGroupViews(this);
     }
     else if (viewLevel == ViewLevel.Main)
     {
         ParentView = beAttchedView;
         RootView   = beAttchedView.RootView;
         ViewLevel  = ViewLevel.Sub;
         RectTrans.SetParent(RootView?.CanvasTrans);
         UIMgr.AddToGroupViews(this);
         //移动到父节点下面
         Trans.SetSiblingIndex(ParentView.Trans.GetSiblingIndex() + ParentView.SubViews.Count + 1);
     }
     else
     {
         CLog.Error("无法挂载到:" + viewLevel);
     }
     ParentView.SubViews.Add(this);
 }
Example #5
0
        void Update()
        {
            if (RT == null)
            {
                return;
            }
            if (update)
            {
                rect = new RectTrans(this);
            }
            rect.pivot     = RT.pivot;
            rect.anchorMin = RT.anchorMin;
            rect.anchorMax = RT.anchorMax;

            _cornerRT = rect.cornerRT;
            _cornerLB = rect.cornerLB;
            _center   = rect.center;

            offsetMax   = RT.offsetMax;
            offsetMin   = RT.offsetMin;
            anchoredPos = RT.anchoredPosition;

            _offsetMax   = rect.offsetMax;
            _offsetMin   = rect.offsetMin;
            _anchoredPos = rect.anchoredPos;
        }
Example #6
0
 public void ShowPointer(UControl control, float rot = 90, bool maskOnce = true)
 {
     if (control == null)
     {
         return;
     }
     if (control.RectTrans == null)
     {
         return;
     }
     Show(true);
     UIPointer?.Show(true);
     UIRect?.gameObject.SetActive(false);
     UICircle?.gameObject.SetActive(false);
     if (UIPointer)
     {
         UIPointer.SetPosAndRot(RectTrans.InverseTransformPoint(control.RectTrans.position), new Vector3(0, 0, rot));
         IsMaskOnce     = maskOnce;
         PointedControl = control;
         if (maskOnce)
         {
             control.UIMgr.AddIgnoreBlockClickOnce(control);
         }
     }
 }
Example #7
0
        public static bool Hover(this MonoBehaviour mono)
        {
            var rt   = new RectTrans(mono);
            var rect = new Rect(rt.center, rt.sizeAbs);

            return(rect.Contains(UI.mousePosRef));
        }
Example #8
0
 public void ShowRawRect(UControl control, float x, float y, bool ignoreOnce = true)
 {
     if (control == null)
     {
         return;
     }
     if (control.RectTrans == null)
     {
         return;
     }
     if (!control.IsActiveSelf)
     {
         return;
     }
     if (!control.PUIView.IsShow)
     {
         CLog.Error("错误!,控件的父节点UIView没有显示");
         return;
     }
     Show(true);
     UIPointer?.Show(false);
     UICircle?.gameObject.SetActive(false);
     UIRect?.gameObject.SetActive(true);
     UIRect?.SetCenter(RectTrans.InverseTransformPoint(control.RectTrans.position));
     UIRect?.SetRect(x, y);
     IsMaskOnce    = ignoreOnce;
     MaskedControl = control;
     if (ignoreOnce)
     {
         control.UIMgr.AddIgnoreBlockClickOnce(control);
     }
 }
 public override void Enter()
 {
     showTime                   = DateTime.Now;
     RectTrans.localScale       = new Vector3(0, 1, 1);
     RectTrans.anchoredPosition = Vector3.zero;
     RectTrans.DOScaleX(1, UIEffectTime.FROM_LEFT_PULLED);
     RectTrans.DOAnchorPosX(RectTrans.sizeDelta.x / 2, UIEffectTime.FROM_LEFT_PULLED);
 }
Example #10
0
 public override void Enter()
 {
     SetSourcePosition();
     RectTrans.position   = sourcePosition;
     RectTrans.localScale = Vector3.zero;
     RectTrans.DOLocalMove(Vector3.zero, UIEffectTime.POP_FROM_UI);
     RectTrans.DOScale(1, UIEffectTime.POP_FROM_UI);
 }
Example #11
0
 public override void Exit()
 {
     RectTrans.DOMove(sourcePosition, UIEffectTime.POP_FROM_UI);
     RectTrans.DOScale(0, UIEffectTime.POP_FROM_UI).OnComplete(() =>
     {
         OnExitComplete();
     });
 }
 public override void Exit()
 {
     RectTrans.DOScaleX(0, UIEffectTime.OPEN_FROM_MIDDLE).OnComplete(() =>
     {
         OnExitComplete();
         OnExitComplete -= OnExitComplete;
     });
 }
Example #13
0
 public void Update()
 {
     if (TextMesh.text != _TempText)
     {
         _TempText = TextMesh.text;
         RectTrans.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, TextMesh.rectTransform.rect.width);
     }
 }
Example #14
0
 public void Init(string text, Action onClick = null)
 {
     RectTrans.Find("Text").GetComponent <Text>().text = text;
     if (onClick != null)
     {
         GetComponent <Button>().onClick.AddListener(new UnityAction(onClick));
     }
 }
Example #15
0
File: UIMap.cs Project: wjk17/WSA
 void Start()
 {
     this.AddInput(Input, 0);
     rt          = new RectTrans(this);
     rtSize      = rt.sizeAbs.RoundToInt();
     buffer      = new Color[rtSize.eleCount()];
     viewMapSize = texMap.Size();
     this.DestroyImages();
 }
Example #16
0
 protected override void Awake()
 {
     base.Awake();
     if (RectTrans == null)
     {
         return;
     }
     animator = RectTrans.GetComponent <Animator>();
 }
 public override void Exit()
 {
     RectTrans.DOScaleX(0, UIEffectTime.FROM_LEFT_PULLED);
     RectTrans.DOAnchorPosX(0 / 2, UIEffectTime.FROM_LEFT_PULLED).OnComplete(() =>
     {
         OnExitComplete();
         OnExitComplete -= OnExitComplete;
     });
 }
Example #18
0
        //private TweenerCore<float,> colorTween;

        protected override void Awake()
        {
            base.Awake();
            if (RectTrans != null)
            {
                CanvasGroup = RectTrans.GetComponent <CanvasGroup>();
                //if (CanvasGroup != null)
                //    CanvasGroup.alpha = From;
            }
        }
 public override void OnShow(bool b, bool isActiveByShow)
 {
     base.OnShow(b, isActiveByShow);
     if (RectTrans != null)
     {
         if (IsReset)
         {
             RectTrans.localScale = b ? FromScale : ToScale;
         }
         tweener = RectTrans.DOScale(b?ToScale:FromScale, Duration).SetEase(GetEase(b)).OnComplete(OnTweenComplete).SetDelay(Delay);
     }
 }
Example #20
0
File: UI_Desc.cs Project: wjk17/WSA
    void _Input()
    {
        var rtBg     = new RectTrans(BgRT);
        var rtTitle  = new RectTrans(titleRT);
        var rtDesc   = new RectTrans(descRT);
        var rtDescBg = new RectTrans(descBgRT);

        this.BeginOrtho();
        this.DrawBG();
        GLUI.DrawString(rtTitle.cornerLB, name);
        GLUI.DrawString(rtDesc.cornerLT - 24.Y(), desc);
    }
Example #21
0
    protected void ToLeft()
    {
        Vector2 targetAnchorPos = RectTrans.anchoredPosition - Vector2.right * offset;

        RectTrans.DOAnchorPos(targetAnchorPos, UIEffectTime.SLIDE_FROM_Right).SetEase(Ease.Linear).OnComplete(() =>
        {
            if (OnExitComplete != null)
            {
                OnExitComplete();
            }
        });
    }
Example #22
0
 protected void FromLeft()
 {
     InitPos();
     offset = DefaultScreenWidth + RectTrans.sizeDelta.x;
     RectTrans.anchoredPosition = DefaultAnchorPos - Vector2.right * offset;
     RectTrans.DOAnchorPos(DefaultAnchorPos, UIEffectTime.SLIDE_FROM_Right).SetEase(Ease.Linear).OnComplete(() =>
     {
         if (onEnterComplete != null)
         {
             onEnterComplete();
         }
     });
 }
Example #23
0
        protected override void Awake()
        {
            base.Awake();
            meshFilter   = GetComponent <MeshFilter>();
            meshRenderer = GetComponent <MeshRenderer>();
            aimPoint     = RectTrans.Find("aimPoint");
            ringMaterial = meshRenderer.material;
            color        = ringMaterial.GetColor("_Color");

            if (Detail > 2)
            {
                SetMesh(Detail);
            }
        }
Example #24
0
 public override void OnShow(bool b)
 {
     base.OnShow(b);
     if (RectTrans != null)
     {
         if (IsReset)
         {
             RectTrans.localScale = b ? From : To;
         }
         tweener = RectTrans.DOScale(b ? To : From, Duration)
                   .SetEase(GetEase(b))
                   .OnComplete(OnTweenComplete)
                   .SetDelay(Delay);
     }
 }
Example #25
0
 public void ShowOrHideBtns()
 {
     Init();
     if (this.gameObject.activeInHierarchy)
     {
         RectTrans.DOSizeDelta(new Vector2(205f, 0f), 0.7f).OnComplete(() => this.gameObject.SetActive(false));
         Cg.DOFade(0, 0.8f);
     }
     else
     {
         this.gameObject.SetActive(true);
         RectTrans.DOSizeDelta(new Vector2(205f, 930f), 0.7f);
         Cg.DOFade(1, 0.8f);
     }
 }
Example #26
0
    protected override void OnEnable()
    {
        if (_holder == null)
        {
            _holder = GetComponentInParent <InteractableUIHolder>();
        }

        RectTrans.localScale = Vector3.one;

        //OnMyEffectStart();

        Tweener tw = RectTrans.DOScale(Vector3.zero, .2f);

        tw.SetEase(_easeType).From();
        //tw.OnComplete(OnMyEffectOver);
    }
Example #27
0
 public void OnDrag(PointerEventData data)
 {
     if (IsDragable)
     {
         if (GO != BaseInputMgr.LastHitUI)
         {
             return;
         }
         if (RectTrans == null || ParentRectTrans == null)
         {
             return;
         }
         RectTrans.Translate(data.delta);
         ClampToWindow();
         IsDragged = true;
         // 限制当前面板在父节点中的区域位置
     }
 }
Example #28
0
        public override void OnShow(bool b, bool isActiveByShow)
        {
            base.OnShow(b, isActiveByShow);
            if (RectTrans != null)
            {
                if (CanvasGroup == null)
                {
                    CanvasGroup = RectTrans.GetComponent <CanvasGroup>();
                }

                if (IsReset)
                {
                    CanvasGroup.alpha = b?From:To;
                }

                tweener = DOTween.To(() => CanvasGroup.alpha, x => CanvasGroup.alpha = x, b ? To : From, Duration).SetEase(GetEase(b)).OnComplete(OnTweenComplete).SetDelay(Delay);
            }
        }
Example #29
0
    private void DoRun()
    {
        CancelInvoke();
        Graphic graphic  = GetComponent <Graphic>();
        Color   newColor = graphic.color;

        newColor.a = 0f;
        graphic.CrossFadeColor(newColor, _FlyTime * .7f, true, true);//*.7 means the color will change faster than position

        Graphic[] child_graphics = GetComponentsInChildren <Graphic>();
        for (int i = 0; i < child_graphics.Length; ++i)
        {
            child_graphics[i].CrossFadeColor(newColor, _FlyTime * .7f, true, true);
        }
        RectTrans.DOMoveY(transform.position.y + _FlyDistance, _FlyTime)
        .SetEase(_easeType)
        .OnComplete(TweenComplete);
    }
Example #30
0
        void Input()
        {
            if (Events.KeyDown(hotkey))
            {
                visible = !visible;
            }
            this.BeginOrtho();
            if (!visible)
            {
                return;
            }

            this.DrawBG();
            var rt     = new RectTrans(this);
            var center = (rt.cornerLT + rt.cornerRT) * 0.5f;
            var pos    = center - 15.Y();

            GLUI.DrawString("控制台(" + hotkey.ToString() + ")", pos, Vectors.half2d);

            var buttonSize = new Vector2(150, 45);

            if (EG.Button("遇战", center - 80.Y(), buttonSize))
            {
                Battle._Start();
            }
            else if (EG.Button("满状态", center - 140.Y(), buttonSize))
            {
                CharCtrl.I.P.hp = CharCtrl.I.P.hpMax;
                CharCtrl.I.P.mp = CharCtrl.I.P.mpMax;
            }
            //if (EG.Button("测试命令", center - 120.Y(), buttonSize))
            //{
            //    SkillMgr.GetSkill("flee").Cast();
            //}
            else if (EG.Button("X", rt.cornerRT - 24.XY() + 2.Y(), 24.XY()))
            {
                visible = !visible;
            }
            else
            {
                this.DoDragWindow();  // 可拖曳窗口
            }
        }