private HashSet <AbstractCreature> lastTargets; // Used to keep targets betwen turns void Awake() { SpawnPlayer(); rb2d = GetComponent <Rigidbody2D>(); skillHandler = GetComponent <SkillHandler>(); keysFound = new HashSet <string>(); animator = GetComponent <Animator>(); PlayerLevelManager.Init(this, playerUIController); switch (playerClass) { case PlayerClass.Warrior: gameObject.AddComponent(typeof(BasicMelee)); gameObject.AddComponent(typeof(SlamAttack)); gameObject.AddComponent(typeof(WeakeningShout)); gameObject.AddComponent(typeof(Whirlwind)); break; case PlayerClass.Wizard: gameObject.AddComponent(typeof(Fireball)); //gameObject.AddComponent(typeof(GraspingRoots)); gameObject.AddComponent(typeof(LavaWave)); gameObject.AddComponent(typeof(ManaShield)); gameObject.AddComponent(typeof(StunningStrike)); break; case PlayerClass.Ranger: gameObject.AddComponent(typeof(BasicRanged)); gameObject.AddComponent(typeof(RicochetArrow)); gameObject.AddComponent(typeof(ImmolationArrow)); //gameObject.AddComponent(typeof(TacticalReposition)); //gameObject.AddComponent(typeof(ThrowTrap)); gameObject.AddComponent(typeof(Volley)); break; } skillHandler.InitSkills(); }