Ejemplo n.º 1
0
    private void OnTriggerEnter(Collider other)
    {
        DroppedSpell droppedSpell = other.gameObject.GetComponent <DroppedSpell>();

        if (droppedSpell)
        {
            SpellsEnum type = droppedSpell.spellType;
            if (!playerSpells.Contains(type))
            {
                playerSpells.Add(type);
                Destroy(other.gameObject);
            }
        }
    }
Ejemplo n.º 2
0
    void Start()
    {
        _playerController     = FindObjectOfType <PlayerController>();
        _playerState          = _playerController.GetComponent <CharacterState>();
        _playerSpellbookState = _playerController.GetComponent <SpellbookState>();

        Debugger.Default.Display($"Cheats/GOD mode", () =>
        {
            _playerState.ApplyModifier(ModificationParameter.HpFlat, 10000, _playerState, null);
            _playerState.ApplyModifier(ModificationParameter.MaxHpFlat, 10000, _playerState, null);
        });

        Debugger.Default.Display($"Cheats/WTF mode", () =>
        {
            _playerSpellbookState.NoCooldowns = !_playerSpellbookState.NoCooldowns;
        });

        if (Buffs != null)
        {
            foreach (var buff in Buffs)
            {
                if (buff == null)
                {
                    continue;
                }

                Debugger.Default.Display($"Cheats/Apply Buffs/{buff.name}",
                                         () => { _playerState.ApplyBuff(buff, _playerState, 1); });
            }
        }

        foreach (var spell in Spells)
        {
            if (spell == null)
            {
                continue;
            }

            Debugger.Default.Display($"Cheats/Pickup Spell/{spell.name}", () => { _playerState.Pickup(spell, 1); });

            Debugger.Default.Display($"Cheats/Drop Spell/{spell.name}",
                                     () =>
            {
                DroppedSpell.InstantiateDroppedSpell(spell,
                                                     _playerState.GetNodeTransform(CharacterState.NodeRole.Chest).transform.position);
            });
        }

        foreach (var item in Items)
        {
            if (item == null)
            {
                continue;
            }

            Debugger.Default.Display($"Cheats/Pickup Item/{item.name}", () => { _playerState.Pickup(item, 1); });
        }

        foreach (var enemy in Enemies)
        {
            if (enemy == null)
            {
                continue;
            }

            Debugger.Default.Display($"Cheats/Spawn Enemy/{enemy.name}",
                                     () => { GameObject.Instantiate(enemy, _playerState.transform.position, Quaternion.identity); });
            Debugger.Default.Display($"Cheats/Spawn Enemy/{enemy.name}/x10",
                                     () =>
            {
                for (var i = 0; i < 10; ++i)
                {
                    var offset = Random.onUnitSphere;
                    offset.y   = 0;
                    offset     = offset.normalized;
                    GameObject.Instantiate(enemy, _playerState.transform.position + offset * 2f, Quaternion.identity);
                }
            });
        }

#if UNITY_EDITOR
        foreach (var scene in EditorBuildSettings.scenes)
        {
            if (scene.enabled)
            {
                Debugger.Default.Display($"Cheats/Load scene (Editor)/{scene.path}", () =>
                {
                    SceneManager.LoadScene(scene.path);
                });
            }
        }
#endif

        for (var i = 0; i < SceneManager.sceneCountInBuildSettings; i++)
        {
            var scenePath = UnityEngine.SceneManagement.SceneUtility.GetScenePathByBuildIndex(i);
            var sceneName = System.IO.Path.GetFileNameWithoutExtension(scenePath);
            Debugger.Default.Display($"Cheats/Load Scene/{i} {sceneName}", () =>
            {
                SceneManager.LoadScene(sceneName);
            });
        }
    }