// TODO: automate dispatchments using a hub public override Anim visualize(RlEvent ev) { switch (ev) { case RlEv.Hit hitEv: return(this.visualize(hitEv)); case RlEv.GiveDamage dmg: return(this.visualize(dmg)); case RlEv.MeleeAttack melee: return(this.visualize(melee)); case RlEv.Dodge dodge: return(this.visualize(dodge)); case RlEv.JustSwing swing: return(this.visualize(swing)); case RlEv.Miss miss: return(this.visualize(miss)); default: return(null); } }
public Anim visualize(RlEvent ev) { // TODO: combine multiple animations foreach (var view in this) { var anim = view.visualize(ev); if (anim != null) { return(anim); } } return(null); }
public override Anim visualize(RlEvent ev) { switch (ev) { case RlEv.PosChange posChange: return(this.onPosChange(posChange)); case RlEv.DirChange dirChange: return(this.onDirChange(dirChange)); default: return(null); } }
public static AnyTry wrap(RlEvent ev) { return(new AnyTry(ev)); }
public AnyTry(RlEvent ev) { this.ev = ev; }
Cause(RlEvent ev) { this.ev = ev; }
public static Cause ev_(RlEvent ev) { return(new Cause(ev)); }
public virtual Anim visualize(RlEvent ev) { return(null); }
public void resetAction() { this.action = null; }
public void setAction(RlEvent action) { this.action = action; }
public static Ev event_(RlEvent ev) => new Ev(ev);
public Ev(RlEvent ev) { this.ev = ev; }