Пример #1
0
        public void AddNewAbility(PlayerAbilityType abilityType)
        {
            AbilityTrayItem trayItem = Instantiate(trayItemPref, transform).GetComponent <AbilityTrayItem>();

            trayItem.transform.localScale = Vector3.one;
            //TODO : Assign the relevant sprite to the item

            trayItem.Initialize(this);
            trayItems.Add(abilityType, trayItem);
        }
Пример #2
0
        private bool IsAbilityGranted(PlayerAbilityType abilityType)
        {
            switch (abilityType)
            {
            case PlayerAbilityType.SpeedMultiplier:
                return(GetComponent <SpeedMultiplierAbility>() != null);

            case PlayerAbilityType.DoubleJump:
                return(GetComponent <DoubleJumpAbility>() != null);

            case PlayerAbilityType.Invincibility:
                return(GetComponent <InvincibilityAbility>() != null);
            }

            return(false);
        }
Пример #3
0
        private bool IsAbilityActive(PlayerAbilityType abilityType)
        {
            switch (abilityType)
            {
            case PlayerAbilityType.SpeedMultiplier:
                if (!GetComponent <SpeedMultiplierAbility>())
                {
                    return(false);
                }
                else
                {
                    return(GetComponent <SpeedMultiplierAbility>().isActive);
                }

            case PlayerAbilityType.DoubleJump:
                if (!GetComponent <DoubleJumpAbility>())
                {
                    return(false);
                }
                else
                {
                    return(GetComponent <DoubleJumpAbility>().isActive);
                }

            case PlayerAbilityType.Invincibility:
                if (!GetComponent <InvincibilityAbility>())
                {
                    return(false);
                }
                else
                {
                    return(GetComponent <InvincibilityAbility>().isActive);
                }
            }

            return(false);
        }
Пример #4
0
 public void RemoveAbility(PlayerAbilityType abilityType)
 {
     Destroy(trayItems[abilityType]);
     trayItems.Remove(abilityType);
 }
Пример #5
0
 public void AbilityActivated(PlayerAbilityType abilityType, float duration)
 {
     trayItems[abilityType].StartTimer(duration);
 }
Пример #6
0
 public AbilityDeactivatedEvent(PlayerAbilityType abilityType)
 {
     this.abilityType = abilityType;
 }
Пример #7
0
 public AbilityActivatedEvent(PlayerAbilityType abilityType, float duration)
 {
     this.abilityType = abilityType;
     this.duration    = duration;
 }
Пример #8
0
 public GrantAbilityEvent(PlayerAbilityType abilityType)
 {
     this.abilityType = abilityType;
 }