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}"); } }
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); }