WatcherFacade CreateWatcher(Type.Battle.Actor actor) { var watcher = watcherFactory.Create(actor); actors.Add(actor.Id, watcher); return(watcher); }
TorpedoFacade CreateTorpedo(Type.Battle.Actor actor) { var torpedo = torpedoFactory.Create(actor); actors.Add(actor.Id, torpedo); return(torpedo); }
SubmarineFacade CreateSubmarine(Type.Battle.Actor actor) { var isPlayerSubmarine = actor.UserId == userModel.LoggedInUser.Value.Id; var submarine = submarineFactory.Create(actor, isPlayerSubmarine); actors.Add(actor.Id, submarine); return(submarine); }
void OnActorRemove(Type.Battle.Actor actor) { ActorFacade actorFacade; if (actorContainer.TryDestroyActor(actor.Id, out actorFacade)) { actorDestroyEvent.Invoke(actorFacade); } }
public ActorFacade CreateActor(Type.Battle.Actor actor) { switch (actor.Type) { case Type.Battle.ActorType.Submarine: return(CreateSubmarine(actor)); case Type.Battle.ActorType.Torpedo: return(CreateTorpedo(actor)); case Type.Battle.ActorType.Watcher: return(CreateWatcher(actor)); default: throw new NotImplementedException("Unsupported actor type: " + actor.Type); } }
void OnActorAdd(Type.Battle.Actor actor) { var actorFacade = actorContainer.CreateActor(actor); actorCreateEvent.Invoke(actorFacade); }
public ActorMotor(IClock clock, Type.Battle.Actor actor) { this.clock = clock; SetMovement(actor.Movement); }
public void SendActor(TyphenApi.Type.Submarine.Battle.Actor actor) { session.Send((int)MessageType.Actor, actor); }