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); }
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); }
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); }
public void RemoveAbility(PlayerAbilityType abilityType) { Destroy(trayItems[abilityType]); trayItems.Remove(abilityType); }
public void AbilityActivated(PlayerAbilityType abilityType, float duration) { trayItems[abilityType].StartTimer(duration); }
public AbilityDeactivatedEvent(PlayerAbilityType abilityType) { this.abilityType = abilityType; }
public AbilityActivatedEvent(PlayerAbilityType abilityType, float duration) { this.abilityType = abilityType; this.duration = duration; }
public GrantAbilityEvent(PlayerAbilityType abilityType) { this.abilityType = abilityType; }