public void updateCursorPosition(CursorPos cursorPosition) { KeymapOutConfig outConfig; if (this.config.TryGetValue("Pointer", out outConfig)) { foreach (IOutputHandler handler in outputHandlers) { ICursorHandler cursorHandler = handler as ICursorHandler; if (cursorHandler != null) { foreach (KeymapOutput output in outConfig.Stack) //Will normally be only one output config { if (output.Cursor) { if (cursorHandler.setPosition(output.Key, cursorPosition)) { break; // we will break for the first accepting handler, for each output key } } } } } } }
public void WhenInMenu() { if (_lastGameObject.IsNull()) { return; } _lastGameObject = null; }
private bool IfNoGOUIHit(ICursorHandler hit) { if (!hit.IsNull()) { return(false); } ExitLastObject(); return(true); }
private void ExitLastObject() { if (_lastGameObject.IsNull()) { return; } _lastGameObject.VirtualCursorExit(); _lastGameObject = null; }
private void OverGameObj(ICursorHandler hit) { if (IfNoGOUIHit(hit)) { return; } if (_lastGameObject.IsNotNull()) { if (_lastGameObject == hit) { return; } _lastGameObject.VirtualCursorExit(); } _lastGameObject = hit; hit.VirtualCursorEnter(); }