Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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;
        }