public override void OnTick(Health toAffect, WorldEffectInWorld inWorld) { for (int i = 0; i < effects.Length; i++) { toAffect.StatusEffectList.Add(Instantiate(effects[i]), inWorld.Inflicter); } }
public static WorldEffectInWorld Place(WorldEffectInWorld prefab, WorldEffect[] effects, Health inflicter, Vector3 position, Quaternion quaternion) { WorldEffectInWorld toSpawn = Instantiate(prefab, position, quaternion); toSpawn.Init(inflicter, effects); NetworkServer.Spawn(toSpawn.gameObject); return(toSpawn); }
public override void OnBulletImpacted(Vector3 position, Health inflicter, bool hitHealth) { if (NetworkServer.active == false) { return; } WorldEffectInWorld.Place(prefab, effects, inflicter, position, Quaternion.identity); }
public override void OnTick(Health toAffect, WorldEffectInWorld inWorld) { toAffect.Damage(damage, inWorld.Inflicter); }
/// <summary> /// Called when a health has exited the effect. /// </summary> /// <param name="toAffect">The health to be affected.</param> /// <param name="inWorld">The WorldEffectInWorld which holds additional data.</param> public virtual void OnExit(Health toAffect, WorldEffectInWorld inWorld) { }
private IEnumerator SpawnWorldEffect() { yield return(new WaitForSeconds(spawnAfterSeconds)); WorldEffectInWorld.Place(prefab, effects, spawnedPlayer.Health, transform.position, Quaternion.identity); }