void OnGUI() { if (GameMain.instance != null && GameMain.mainPlayer != null) { if (dysonPanel == null) { dysonPanel = GameObject.FindObjectOfType <UIDysonPanel>(); } if (dysonPanel != null && dysonPanel.active) { GUI.skin = DSPSkin; if (GUI.Button(startButtonRect, "蓝图")) { Show = !Show; } if (Show) { winRect = GUILayout.Window(666, winRect, WindowFunc, ""); } } else { Show = false; } } }
static void DspShow(UIDysonPanel __instance) { viewDsp = __instance.viewDysonSphere; if (viewDsp != null) { for (int i = 0; i < viewDsp.layersIdBased.Length; i++) { tempDsp[i] = null; } isShow = true; } }
private void Update() { if (GameMain.instance != null && GameMain.mainPlayer != null) { if (dysonPanel == null) { dysonPanel = GameObject.FindObjectOfType <UIDysonPanel>(); } if (dysonPanel != null && dysonPanel.active) { if (dsyonEditorTop == null) { dsyonEditorTop = UIRoot.instance.transform.Find("Always on Top/Overlay Canvas - Top/Dyson Editor Top") as RectTransform; } if (BPUI == null) { if (dsyonEditorTop != null) { BPUI = GameObject.Instantiate(UIPrefab, dsyonEditorTop).transform as RectTransform; BPUI.anchorMin = new Vector2(0, 1); BPUI.anchorMax = new Vector2(0, 1); BPUI.localPosition = targetPos; openBtn = BPUI.Find("BPOpenBtn").GetComponent <Button>(); openBtn.onClick.AddListener(OnOpenButtonClick); BPPanel = BPUI.Find("BPPanel") as RectTransform; saveBtn = BPPanel.Find("SaveBtn").GetComponent <Button>(); saveBtn.onClick.AddListener(OnSaveButtonClick); fileNameInput = BPPanel.Find("InputField").GetComponent <InputField>(); contentRT = BPPanel.Find("Scroll View/Viewport/Content").transform as RectTransform; VLG = contentRT.GetComponent <VerticalLayoutGroup>(); BPPanel.gameObject.SetActive(false); } } else { if (BPUI.localPosition != targetPos) { BPUI.localPosition = targetPos; } } } } }
public static void UIDysonPanel_OnUpdate_Postfix(UIDysonPanel __instance) { if (cellValue != null) { var dysonSphere = __instance.viewDysonSphere; if (dysonSphere != null) { // Structure Progress structValue.GetComponentInChildren <Text>().text = $"{dysonSphere.totalConstructedPoint} / {dysonSphere.totalStructurePoint}"; // Cell Progress int totalCp = 0, cpOrdered = 0, totalCpMax = 0; for (int i = 1; i < dysonSphere.layersIdBased.Length; i++) { if (dysonSphere.layersIdBased[i] != null && dysonSphere.layersIdBased[i].id == i) { for (int j = 1; j < dysonSphere.layersIdBased[i].nodeCursor; j++) { DysonNode dysonNode = dysonSphere.layersIdBased[i].nodePool[j]; if (dysonNode != null && dysonNode.id == j) { totalCp += dysonNode.totalCp; cpOrdered += dysonNode.cpOrdered; totalCpMax += dysonNode.totalCpMax; } } } } cellValue.GetComponentInChildren <Text>().text = $"{totalCp}/{cpOrdered}/{totalCpMax}"; } else { structValue.GetComponentInChildren <Text>().text = "-"; cellValue.GetComponentInChildren <Text>().text = "-"; } } }
static void DspShow(UIDysonPanel __instance) { isShow = true; }