/// <summary>
 /// Construct a GameEvent that will be fired after timeToSend has elapsed
 /// </summary>
 /// <param name="src"></param>
 /// <param name="dst"></param>
 /// <param name="args"></param>
 /// <param name="timeToSend"></param>
 public GameEvent(GameObject src, GameObject dst, GameEventArgs args, float timeToSend)
 {
     this.src = src;
     this.dst = dst;
     this.args = args;
     this.timeToSend = timeToSend;
     HasFired = timeToSend < 0 ? true : false;
 }
 /// <summary>
 /// Handle a GameEvent from a GameObject (can be self)
 /// </summary>
 /// <param name="src"></param>
 /// <param name="args"></param>
 public virtual void OnGameEvent(GameObject src, GameEventArgs args)
 {
 }