public Actor AddActor(int startTime, Action <ActorFactory> initializer) { if (startTime < this.scene.ElapsedTime) { throw new ArgumentException("Cannot create actor before lock time"); } var actor = new Actor(this.scene, GetNextActorId(), startTime); this.scene.AddActor(actor); ActorFactory.Initiailize(actor, initializer); return(actor); }
internal static void Initiailize(Actor actor, Action <ActorFactory> initializer) { if (actor == null) { throw new ArgumentNullException("actor"); } if (initializer == null) { throw new ArgumentNullException("initializer"); } var factory = new ActorFactory(actor); initializer(factory); // Reset actor instance to avoid being initialized multiple times factory.actor = null; }
internal static void Initiailize(Actor actor, Action<ActorFactory> initializer) { if (actor == null) throw new ArgumentNullException("actor"); if (initializer == null) throw new ArgumentNullException("initializer"); var factory = new ActorFactory(actor); initializer(factory); // Reset actor instance to avoid being initialized multiple times factory.actor = null; }