public static bool GetMouseButtonUp(EMyMouseButtons monoMouseButton) { if (Input.myMouseStates.TryGetValue(monoMouseButton, out EMyInputState myInputState)) { return(myInputState == EMyInputState.GetMouseButtonUp); } else { return(false); } }
// Handle mouse button release private static void MouseDown(List <EMyMouseButtons> monoPressedMouseButtons) { var myMouseStatesNew = new Dictionary <EMyMouseButtons, EMyInputState>(Input.myMouseStates); // Copy states foreach (KeyValuePair <EMyMouseButtons, EMyInputState> amaInputStatePairInLoop in Input.myMouseStates) { EMyMouseButtons monoMouseButtonInLoop = amaInputStatePairInLoop.Key; if (false == monoPressedMouseButtons.Contains(monoMouseButtonInLoop)) { if (amaInputStatePairInLoop.Value == EMyInputState.GetMouseButton || amaInputStatePairInLoop.Value == EMyInputState.GetMouseButtonDown) { myMouseStatesNew[monoMouseButtonInLoop] = EMyInputState.GetMouseButtonUp; } else { myMouseStatesNew.Remove(monoMouseButtonInLoop); } } } Input.myMouseStates.Clear(); Input.myMouseStates = myMouseStatesNew; }