public static void AddAxis2DDelegate(string inputHorizontal, string inputVertical, Axis2DDelegate axis2DDelegate) { if (isApplicationQuitting) { return; } if (instance == null) { InstantiateInstance(); } Axis2DDelegateKey key = new Axis2DDelegateKey(inputHorizontal, inputVertical); if (!dictAxis2DDelegates.ContainsKey(key)) { dictAxis2DDelegates.Add(key, axis2DDelegate); } else { dictAxis2DDelegates[key] += axis2DDelegate; } }
public static void RemoveAxis2DDelegate(string inputHorizontal, string inputVertical, Axis2DDelegate axis2DDelegate) { if (isApplicationQuitting || (instance == null)) { return; } Axis2DDelegateKey key = new Axis2DDelegateKey(inputHorizontal, inputVertical); if (dictAxis2DDelegates.ContainsKey(key)) { Axis2DDelegate dictDelegate = dictAxis2DDelegates[key]; dictDelegate -= axis2DDelegate; if (dictDelegate == null) { dictAxis2DDelegates.Remove(key); } else { dictAxis2DDelegates[key] = dictDelegate; } } }