コード例 #1
0
 bool CurrentHelperIsStillUnderCursor()
 {
     foreach (RaycastResult h in LevelBuilder.inst.objectsHit)
     {
         UIHoverHelp uh = h.gameObject.GetComponent <UIHoverHelp>();
         if (uh && uh == currentHelper)
         {
             return(true);
         }
     }
     return(false);
 }
    void Init()
    {
        if (initiated)
        {
            return;
        }
        initiated             = true;
        uib                   = GetComponent <LevelBuilderUIButton>();
        b                     = GetComponent <Button>();
        hh                    = GetComponent <UIHoverHelp>();
        hhOriginalTitle       = hh.title;
        hhOriginalDescription = hh.description;
        if (!hh)
        {
            hh             = gameObject.AddComponent <UIHoverHelp>();
            hh.title       = "";
            hh.description = "";
        }

        if (itemLevel > 1)
        {
            LockItem();
        }
    }
コード例 #3
0
    void Update()
    {
        // killtimer is the single most ugliest thing I've ever written
        // I wrote it because I don't understand how this hover helper bullshit i wrote works and I don't feel like relearning
        // this is to solve the issue of mouseleave not firing after a hoverhelper was executed on a ui element that was then destroyed, causing the hoverhelper to linger
        if (hoverShowing)
        {
            killTimer -= Time.deltaTime;
            if (killTimer < 0)
            {
//				Debug.Log("killtimer 0");
                if (currentHelper != null)
                {
                    foreach (RaycastResult rr in LevelBuilder.inst.objectsHit)
                    {
                        UIHoverHelp hh = rr.gameObject.GetComponent <UIHoverHelp>();
                        if (hh == currentHelper)
                        {
                            killTimer = 1.2f;
//							Debug.Log("found 0:"+hh);
                        }
                    }
                }
                if (killTimer < 0 && CurrentHelperIsStillUnderCursor())
                {
                    // if it wasn't reset by virtue of the fact we were still hovering over the same one....
                    HideHoverHelp();
                }
            }
        }
        float dt = Time.unscaledDeltaTime;

        fadeTimer -= dt;
        if (fading && fadeTimer < 0)
        {
            float fadeSpeed       = 10f;
            Color boardColor      = Color.Lerp(fadeImages[0].color, GameConfig.juneYellow, dt * fadeSpeed);
            Color textColor       = Color.Lerp(fadeText[0].color, GameConfig.darkGray, dt * fadeSpeed);
            Color backgroundColor = Color.Lerp(fadeBackgrounds[0].color, Color.black, dt * fadeSpeed);

            foreach (Image im in fadeImages)
            {
                im.color = boardColor;
            }
            foreach (Text t in fadeText)
            {
                t.color = textColor;
            }
            foreach (Image im in fadeBackgrounds)
            {
                im.color = backgroundColor;
            }

            if (boardColor.a > 0.98f)
            {
                foreach (Image im in fadeImages)
                {
                    im.color = GameConfig.juneYellow;
                }
                foreach (Text t in fadeText)
                {
                    t.color = GameConfig.darkGray;
                }
//				// commented Debug.Log("finished fading.");
                fading = false;
            }
        }

        if (smoothMoveHelperFocus)
        {
            float lerpSpeed = 6f;
            hoverParent.transform.position = Vector3.Lerp(hoverParent.transform.position, targetHoverTransform.position, dt * lerpSpeed);
            float deltaP = Vector3.SqrMagnitude(hoverParent.transform.position - targetHoverTransform.position);
            if (deltaP > 1.4f)
            {
                speechBubbleGraphicParent.SetActive(false);
            }
            else
            {
//				if (groupIndex < groups.Count && instructionsIndex < groups[groupIndex].instructions.Count) ResizeInputRestrictionPlane();
                hoverParent.transform.position = targetHoverTransform.position;
                speechBubbleGraphicParent.SetActive(true);
                FadeIn(0f);
                smoothMoveHelperFocus = false;
                TutorialManager.inst.currentTutorial.ResizeInputRestrictionPlane();
            }
        }
    }