/// <summary> /// reset scroll wheel counters to 0 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void ResetScrolls(object sender, EventArgs e) { _scrollRemoveTimer.Stop(); _currentScrollCount["ScrUp"] = 0; _currentScrollCount["ScrDn"] = 0; _currentScrollCount["ScrLeft"] = 0; _currentScrollCount["ScrRight"] = 0; OnKeysChanged?.Invoke(this, new ChangeEventArgs(_currentlyPressed, _currentScrollCount)); }
/// <summary> /// Marks a key's pressed status /// </summary> /// <param name="key">the key</param> /// <param name="pressed">is it pressed?</param> void SetButtonAsPressed(int key, bool pressed) { string keyName; keyName = Keys.KeyNames.ContainsKey(key) ? Keys.KeyNames[key] : ("?" + key); if (pressed) { _currentlyPressed.Add(keyName); } else { _currentlyPressed.Remove(keyName); } OnKeysChanged?.Invoke(this, new ChangeEventArgs(_currentlyPressed, _currentScrollCount)); }
/// <summary> /// Increase scroll wheel counter by 1 /// </summary> /// <param name="directionId"></param> void AddScroll(int directionId) { string scrollDirectionName; if (Keys.KeyNames.ContainsKey(directionId)) { scrollDirectionName = Keys.KeyNames[directionId]; } else { scrollDirectionName = ("?" + directionId); } S.Dictionaries.IncrementValue(_currentScrollCount, scrollDirectionName, 1); _scrollRemoveTimer.Stop(); _scrollRemoveTimer.Start(); OnKeysChanged?.Invoke(this, new ChangeEventArgs(_currentlyPressed, _currentScrollCount)); }
private void Update() { if (SR.GameContextLoaded && !gameContextLoaded) { SR.MessageDir.RegisterBundlesListener(dir => OnBundlesAvailable?.Handle(args: new object[] { dir }, unique: true)); SR.InputDir.onKeysChanged += () => OnKeysChanged?.Handle(unique: true); SR.ProgressDir.onProgressChanged += () => OnProgressChanged?.Handle(unique: true); gameContextLoaded = true; } if (SR.SceneContextLoaded && !sceneContextLoaded) { SR.EcoDir.didUpdateDelegate += () => OnPricesReset?.Handle(unique: true); SR.EcoDir.onRegisterSold += id => OnRegisterSold?.Handle(args: new object[] { id }, unique: true); SR.SlimeAppDir.onSlimeAppearanceChanged += (def, app) => OnSlimeAppearanceChanged?.Handle(args: new object[] { def, app }, unique: true); SR.ExchangeDir.onOfferChanged += () => OnOfferChanged?.Handle(unique: true); SR.TimeDir.onFastForwardChanged += state => OnFastForward?.Handle(args: new object[] { state }, unique: true); sceneContextLoaded = true; } OnGameUpdate?.Invoke(SR.Game, SR.Scene); }
public void RemoveKey(Key.KeyType keyType) { keyList.Remove(keyType); OnKeysChanged?.Invoke(this, EventArgs.Empty); }
public void AddKey(Key.KeyType keyType) { Debug.Log("Added Key: " + keyType); keyList.Add(keyType); OnKeysChanged?.Invoke(this, EventArgs.Empty); }
public void AddKey(KeyScript.KeyType keyType) { keyList.Add(keyType); OnKeysChanged?.Invoke(this, EventArgs.Empty); }