private void KeyboardHandle(PressedKeysKeeperComponent keysKeeper) { foreach (var e in Enum.GetValues(typeof(KeyCode))) { var key = (KeyCode)e; if (Input.GetKeyUp(key)) { if (keysKeeper.pressedKeyCodeEvents.ContainsKey(key)) { keysKeeper.pressedKeyCodeEvents[key].Destroy(); keysKeeper.pressedKeyCodeEvents.Remove(key); } } if (Input.GetKeyDown(key)) { if (keysKeeper.pressedKeyCodeEvents.ContainsKey(key)) { keysKeeper.pressedKeyCodeEvents[key].Destroy(); keysKeeper.pressedKeyCodeEvents.Remove(key); } keysKeeper.pressedKeyCodeEvents.Add(key, world.NewEntityWith(out PressKeyEvent pressEvent)); pressEvent.Code = key; } } }
private void MouseHandle(PressedKeysKeeperComponent keysKeeper) { for (var i = 0; i < keysKeeper.mouseButtonCount; i++) { if (Input.GetMouseButtonDown(i)) { keysKeeper.previousClickEvents[i] = world.NewEntityWith(out ClickEvent click); click.ButtonNumber = i; click.IsBlocked = false; } if (Input.GetMouseButtonUp(i)) { keysKeeper.previousClickEvents[i].Destroy(); } } }