Exemplo n.º 1
0
    private void InitializeSkills()
    {
        if (PhotonNetwork.offlineMode)
        {
            return;
        }

        var prevSkill = GetComponent <BaseSkill>();

        if (prevSkill != null)
        {
            Destroy(prevSkill);
        }

        int outParam = 0;

        photonView.TryGetValueToInt("SkillType", out outParam);

        if (outParam < 0)
        {
            outParam = 0;
        }
        SkillType equipSkill = (SkillType)outParam;

        Type skillType = typeof(PlayerPushHand);

        switch (equipSkill)
        {
        case SkillType.PushHand:
            skillType = typeof(PlayerPushHand);
            break;

        case SkillType.SelfExplosion:
            skillType = typeof(SelfExplosionSkill);
            break;

        case SkillType.SpawnVine:
            skillType = typeof(SpawnSkill);
            break;

        case SkillType.DoubleJump:
            skillType = typeof(DoubleJumpSkill);
            break;

        case SkillType.Teleport:
            skillType = typeof(TeleportSkill);
            break;

        case SkillType.Shield:
            skillType = typeof(ShieldSkill);
            break;
        }

        var baseSkill = gameObject.AddComponent(skillType) as BaseSkill;

        _playerSkill = baseSkill;
        _playerSkill.BindPlayerController(this);
    }