// I realize the "weaknesses" and "strengths" terminology is a little backwards here // but being hit by a "weakness" has an advantageous effect (usually) and being hit // by a "strength" has a disadvantageous effect (usually) public override void Interact(int potionFlags) { foreach (Elements element in weaknesses) { if (PersistentInteraction.Recognized(potionFlags, element)) { SpriteRenderer sprite = transform.Find("Light").GetComponent <SpriteRenderer>(); if (!sprite.enabled) { sprite.enabled = true; OnLight(); } } } foreach (Elements element in strengths) { if (PersistentInteraction.Recognized(potionFlags, element)) { SpriteRenderer sprite = transform.Find("Light").GetComponent <SpriteRenderer>(); if (sprite.enabled) { sprite.enabled = false; OnFizzle(); } } } }
public virtual void Interact(int potionFlags) { foreach (Elements element in weaknesses) { if (PersistentInteraction.Recognized(potionFlags, element)) { Damage(1); } } }
protected virtual void OnCollisionStay2D(Collision2D other) { HomebrewFlags flagData = other.gameObject.GetComponent <HomebrewFlags>(); if (flagData != null) { foreach (Elements element in weaknesses) { if (PersistentInteraction.Recognized(flagData.Flags, element)) { OnStay(flagData.Flags); } } } }