Exemple #1
0
            public static void Create()
            {
                try
                {
                    // Hide original staminaBar
                    Hud.instance.transform.Find("hudroot").Find("staminapanel").gameObject.SetActive(false);

                    staminaBarRoot = UnityEngine.Object.Instantiate(Hud.instance.m_healthBarRoot, Hud.instance.transform.Find("hudroot"));
                    staminaBarRoot.gameObject.name = objectName;

                    int rot = 90 - (Main.staminaBarRotation.Value / 90 % 4 * 90);
                    staminaBarRoot.localEulerAngles = new Vector3(0, 0, rot);

                    staminaBarFast = staminaBarRoot.Find("fast").GetComponent <GuiBar>();
                    staminaBarSlow = staminaBarRoot.Find("slow").GetComponent <GuiBar>();

                    staminaBarRoot.Find("fast").Find("bar").Find("HealthText").gameObject.SetActive(false);

                    staminaText = UnityEngine.Object.Instantiate(staminaBarRoot.Find("fast").Find("bar").Find("HealthText").GetComponent <Text>(), staminaBarRoot);
                    staminaText.GetComponent <RectTransform>().localEulerAngles = new Vector3(0, 0, -rot);
                    staminaText.GetComponent <RectTransform>().localScale       = new Vector3(0.65f, 0.65f, 1f);
                    staminaText.gameObject.SetActive(true);

                    staminaBarRoot.Find("border").GetComponent <RectTransform>().localScale = new Vector3(1f, 0.65f, 1f);
                    staminaBarRoot.Find("bkg").GetComponent <RectTransform>().localScale    = new Vector3(1f, 0.65f, 1f);
                    staminaBarFast.GetComponent <RectTransform>().localScale = new Vector3(1f, 0.65f, 1f);
                    staminaBarSlow.GetComponent <RectTransform>().localScale = new Vector3(1f, 0.65f, 1f);

                    staminaBarFast.m_originalColor = Hud.instance.m_staminaBar2Fast.m_bar.GetComponent <Image>().color;
                    staminaBarFast.ResetColor();
                    staminaBarSlow.m_originalColor = Hud.instance.m_staminaBar2Slow.m_bar.GetComponent <Image>().color;
                    staminaBarSlow.ResetColor();

                    staminaBarFast.m_smoothDrain = Hud.instance.m_staminaBar2Fast.m_smoothDrain;
                    staminaBarFast.m_changeDelay = Hud.instance.m_staminaBar2Fast.m_changeDelay;
                    staminaBarFast.m_smoothSpeed = Hud.instance.m_staminaBar2Fast.m_smoothSpeed;
                }
                catch (Exception e)
                {
                    Debug.LogError($"StaminaBar.Create() {e.Message}");
                }
            }
Exemple #2
0
        public static GuiBar Awake(Hud __instance)
        {
            Transform hudroot = Utils.FindChild(__instance.gameObject.transform, "hudroot");
            GuiBar    xp_bar  = UnityEngine.Object.Instantiate(Hud.instance.m_stealthBar, hudroot, true);

            xp_bar.m_barImage    = Hud.instance.m_stealthBar.m_bar.GetComponent <Image>();
            xp_bar.m_smoothFill  = smoothFill;
            xp_bar.m_smoothDrain = smoothDrain;
            xp_bar.m_smoothSpeed = smoothSpeed;
            xp_bar.Awake();

            xp_bar.name            = "BU_XP_BAR";
            xp_bar.m_originalColor = barColor;
            xp_bar.ResetColor();

            xp_bar.SetMaxValue(maxValue);
            xp_bar.SetValue(0f);

            RectTransform xpRect = (xp_bar.transform as RectTransform);

            xpRect.anchorMin        = Vector2.zero;
            xpRect.anchorMax        = new Vector2(1f, 0f);
            xpRect.anchoredPosition = Vector2.zero;

            xpRect.offsetMin = Vector2.zero;
            xpRect.offsetMax = Vector2.zero;
            xpRect.sizeDelta = new Vector2(0f, 5f);

            xp_bar.m_bar.anchorMin = Vector2.zero;
            xp_bar.m_bar.anchorMax = new Vector2(1f, 0.5f);
            xp_bar.m_bar.offsetMin = Vector2.zero;
            xp_bar.m_bar.offsetMax = Vector2.zero;

            xp_bar.m_bar.sizeDelta = new Vector2(xpRect.rect.width, 5f);
            // Render the XP Bar
            xp_bar.gameObject.SetActive(true);
            _xp_bar = xp_bar;

            return(xp_bar);
        }