private void ProcessRuneSelectionTriggers(TriggersSet triggersSet) { if (IsSelectingRune) { if (UnlockedRunes.Count > 0) { int newInputLag = 10; if (triggersSet.Left && InputDelay <= 0) { InputDelay = newInputLag; SelectedRune = UnlockedRunes.Previous(SelectedRune); } if (triggersSet.Right && InputDelay <= 0) { InputDelay = newInputLag; SelectedRune = UnlockedRunes.Next(SelectedRune); } if (PlayerInput.ScrollWheelDelta > 0 && this.InputDelay <= 0) { SelectedRune = UnlockedRunes.Next(SelectedRune); } if (PlayerInput.ScrollWheelDelta < 0 && this.InputDelay <= 0) { SelectedRune = UnlockedRunes.Previous(SelectedRune); } } PlayerInput.ScrollWheelDelta = 0; } }
public void UnlockRune(Rune rune) { if (SelectedRune == null) { SelectedRune = rune; } UnlockedRunes.Add(rune); }
private void LoadRunes(TagCompound tag) { if (tag.ContainsKey(nameof(SelectedRune))) { SelectedRune = RuneManager.Instance[tag.GetString(nameof(SelectedRune))]; } List <string> runeNames = tag.GetList <string>(nameof(UnlockedRunes)) as List <string>; for (int i = 0; i < runeNames.Count; i++) { UnlockedRunes.Add(RuneManager.Instance[runeNames[i]]); } }