예제 #1
0
            public static void Create()
            {
                try
                {
                    // Hide original healthBar
                    Hud.instance.transform.Find("hudroot").Find("healthpanel").gameObject.SetActive(false);

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

                    // Rotate this to 90
                    int rot = 90 - (Main.healthBarRotation.Value / 90 % 4 * 90);
                    healthBarRoot.localEulerAngles = new Vector3(0, 0, rot);

                    healthBarFast = healthBarRoot.Find("fast").GetComponent <GuiBar>();
                    healthBarSlow = healthBarRoot.Find("slow").GetComponent <GuiBar>();

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

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

                    // Resize to a more "slim" rectangle - authors preference
                    healthBarRoot.Find("border").GetComponent <RectTransform>().localScale = new Vector3(1f, 0.65f, 1f);
                    healthBarRoot.Find("bkg").GetComponent <RectTransform>().localScale    = new Vector3(1f, 0.65f, 1f);
                    healthBarFast.GetComponent <RectTransform>().localScale = new Vector3(1f, 0.65f, 1f);
                    healthBarSlow.GetComponent <RectTransform>().localScale = new Vector3(1f, 0.65f, 1f);
                }
                catch (Exception e)
                {
                    Debug.LogError($"HealthBar.Create() {e.Message}");
                }
            }
예제 #2
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}");
                }
            }