public static BulletReleaseEventArgs Create(Bullet bullet) { BulletReleaseEventArgs e = ReferencePool.Acquire <BulletReleaseEventArgs>(); //new BulletReleaseEventArgs(); e.bullet = bullet; return(e); }
void OnBulletReleaseHandler(object sender, GameEventArgs args) { BulletReleaseEventArgs ne = args as BulletReleaseEventArgs; if (ne != null) { //Log.Debug("release bullet {0}", ne.bullet.Name); } }
protected internal override void Release(bool isShutdown) { //Log.Debug("bullet release"); BulletReleaseEventArgs args = BulletReleaseEventArgs.Create(this); GameEntry.Event.Fire(this, args); ReferencePool.Release(args); if (Target != null) { GameObject.Destroy(Target as GameObject); } ReferencePool.Release(this); }