/// <summary> /// To build up a listener monitoring cursorHovering property, a static method will be assigned in Start(). /// </summary> static void UpdateCursorHovering() { // Find what the cursor hits. RadiacPanel res = null; foreach (var i in all) { if (i.active && i.IsPointInsidePanel(VirtualCursor.position)) { if (res == null || i.gameObject.transform.position.z < res.gameObject.transform.position.z) { res = i; } } } // Set the hit and its parent objects "cursorHovering". foreach (var i in all) { i.cursorHovering = false; } while (res != null) { res.cursorHovering = true; res = res.gameObject.transform.parent.GetComponent <RadiacPanel>(); } }
void Awake() { if (instance != null) { Log.AddWarning("Radiac Environment replaced."); } instance = this; RadiacUpdates = () => { }; RadiacFixedUpdates = () => { }; RadiacGUICallback = () => { }; // Static initialization are placed here. LocalizationSupport.LoadLocalizationFile(); RadiacPanel.GlobalInit(); VirtualCamera.Init(); VirtualCursor.Init(); RadiacInputController.Init(); }