private void Start() { activeStatusEffectsDisplays = new List <StatusEffectDisplay>(); statusEffectComponent = PlayerNetwork.LocalPlayer?.GetComponent <StatusEffectComponent>(); statusEffectComponent.OnstatusEffectAdded += AddNewStatusEffectDisplay; }
public virtual void AddStatusComponentsFromTemplate(StatusEffectTemplate template) { if (template.additionalComponents == null) { return; } for (int i = 0; i < template.additionalComponents.Length; i++) { StatusEffectComponent component = template.additionalComponents[i]; components[i].caster = caster; components[i].target = target; components[i].context = context; components.Add(component); } }
public override StatusEffectBase InitializeStatusEffect(StatusEffectComponent statusEffectComponent) { return(new HungerStatusEffect(this, statusEffectComponent)); }
public HealthStatusEffect(ScriptableStatusEffectData statusEffect, StatusEffectComponent statusEffectComponent) : base(statusEffect, statusEffectComponent) { healthComponent = statusEffectComponent.GetComponent <HealthComponent>(); healthStatusEffectData = (HealthStatusEffectData)statusEffect; }
public HungerStatusEffect(ScriptableStatusEffectData statusEffect, StatusEffectComponent statusEffectComponent) : base(statusEffect, statusEffectComponent) { hungerComponent = statusEffectComponent.GetComponent <HungerComponent>(); hungerStatusEffectData = (HungerStatusEffectData)statusEffect; }
public StatusEffectBase(ScriptableStatusEffectData statusEffect, StatusEffectComponent statusEffectComponent) { this.statusEffectComponent = statusEffectComponent; this.statusEffectData = statusEffect; this.timeRemaining = statusEffect.Duration; }
/// <summary> /// Returns a certain type of status effect based on this type. /// </summary> /// <param name="gameObj">Target object for the status effect.</param> public abstract StatusEffectBase InitializeStatusEffect(StatusEffectComponent statusEffectComponent);