Example #1
0
        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;
            }
        }
Example #2
0
        public void UnlockRune(Rune rune)
        {
            if (SelectedRune == null)
            {
                SelectedRune = rune;
            }

            UnlockedRunes.Add(rune);
        }
Example #3
0
        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]]);
            }
        }