void Update() { if (!Collected) { SendMessage("BlinkColor", SpecialFX.GetDefaultOptionsBlink(Renderer), SendMessageOptions.DontRequireReceiver); } else { Renderer.enabled = BeingUsed && !HideWhenShoot && (EquipType == EquipableType.Weapon || EquipType == EquipableType.Shield); if (Owner && Owner.transform) { transform.position = new Vector2(Owner.transform.position.x + (Owner.transform.localScale.x / WeaponXScaleEquiped), Owner.transform.position.y + WeaponYOffsetEquiped); if (!OwnerIsEnemy) { transform.localScale = new Vector2(Owner.transform.localScale.x < 0 ? -1f * Mathf.Abs(transform.localScale.x) : Mathf.Abs(transform.localScale.x), transform.localScale.y); } if (transform.rotation.eulerAngles.z != 0f) { transform.rotation = Quaternion.Euler(new Vector3(0f, 0f, Mathf.Sign(Owner.transform.localScale.x) < 0f ? 45f : -45f)); } } } }
public static BaseSpecialEffect CreateInstance( this SpecialFX type, IPoint3D start, Map map, int range = 5, int repeat = 0, TimeSpan?interval = null, Action <EffectInfo> effectHandler = null, Action callback = null) { switch (type) { case SpecialFX.None: return(null); case SpecialFX.FirePentagram: return(new FirePentagramEffect(start, map, range, repeat, interval, effectHandler, callback)); /*case SpecialFX.FireSpiral: * return new FireSpiralEffect(start, map, range, repeat, interval, effectHandler, callback);*/ default: { var rfx = (SpecialFX[])Enum.GetValues(typeof(SpecialFX)); do { type = rfx.GetRandom(); }while (type == SpecialFX.Random || type == SpecialFX.None); return(CreateInstance(type, start, map, range, repeat, interval, effectHandler, callback)); } } }
void Update() { if (!IsOpen) { SendMessage("BlinkColor", SpecialFX.GetDefaultOptionsBlink(rend), SendMessageOptions.DontRequireReceiver); } }