Example #1
0
    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();
    }