private void Awake() { m_Transform = GetComponent <Transform>(); // what even is dependency injection lmao m_Camera = Camera.main; m_UpgradeController = FindObjectOfType <UpgradeMenuController>(true); m_ConstructionController = FindObjectOfType <BuildingListFlyoutController>(); m_Map = FindObjectOfType <Map>(); m_Ctrl = FindObjectOfType <GameController>(); // Create new instance so we don't touch the one maintained by the editor m_SpectralBuildingMaterial = Instantiate(m_SpectralBuildingMaterial); m_CursorSelected = Instantiate(m_CursorSelectedPrefab, Vector3.zero, Quaternion.identity).GetComponent <Transform>(); m_CursorSelected.gameObject.SetActive(false); }
private void OnSceneGUI() { UpgradeMenuController upgradeMenuController = target as UpgradeMenuController; Vector3 menuCenter = upgradeMenuController.transform.position; float crossScreenSize = HandleUtility.GetHandleSize(menuCenter) * 0.1f; Handles.DrawLine( menuCenter + new Vector3(-crossScreenSize, crossScreenSize), menuCenter + new Vector3(crossScreenSize, -crossScreenSize)); Handles.DrawLine( menuCenter + new Vector3(-crossScreenSize, -crossScreenSize), menuCenter + new Vector3(crossScreenSize, crossScreenSize)); Vector3 oldMenuRadiusHandleWorldPoint = upgradeMenuController.GetMenuRadiusHandleWorldPoint(); Handles.DrawDottedLine( menuCenter, oldMenuRadiusHandleWorldPoint, -4.0f); float handleScreenSize = HandleUtility.GetHandleSize(oldMenuRadiusHandleWorldPoint) * 0.1f; Vector3 newMenuRadiusHandleWorldPoint = Handles.FreeMoveHandle( oldMenuRadiusHandleWorldPoint, Quaternion.identity, handleScreenSize, pointSnap, Handles.DotHandleCap); if (oldMenuRadiusHandleWorldPoint != newMenuRadiusHandleWorldPoint) { Undo.RecordObject(upgradeMenuController, "Update Upgrade Position"); upgradeMenuController.SetMenuRadiusHandleWorldPoint( newMenuRadiusHandleWorldPoint); GameObject[] upgrades = upgradeMenuController.upgrades; for ( int upgradeIndex = 0; upgradeIndex < upgrades.Length; ++upgradeIndex) { GameObject upgrade = upgrades[upgradeIndex]; if (upgrade == null) { continue; } RectTransform upgradeRectTransform = upgrades[upgradeIndex].GetComponent <RectTransform>(); Undo.RecordObject(upgradeRectTransform, "Update Upgrade Position"); } upgradeMenuController.UpdateUpgradePositions(); } }