public FactoriesController(IFactoryCreateService factoryCreateService, IFactoryManager factoryManager, IHubContext <FactoryHub, IFactoryHub> hubContext, ICraftingService craftingService, ILogger <FactoriesController> logger) { _logger = logger; _factoryCreateService = factoryCreateService; _factoryManager = factoryManager; _hubContext = hubContext; _craftingService = craftingService; }
public override void ProcessPacket(ReformPasteEventPacket packet, INebulaConnection conn) { PlanetData planet = GameMain.galaxy.PlanetById(packet.PlanetId); if (planet.factory == null) { return; } PlayerAction_Build pab = GameMain.mainPlayer.controller != null ? GameMain.mainPlayer.controller.actionBuild : null; BuildTool_BlueprintPaste buildTool = pab.blueprintPasteTool; IFactoryManager factoryManager = NebulaModAPI.MultiplayerSession.Factories; if (buildTool == null) { return; } factoryManager.TargetPlanet = packet.PlanetId; factoryManager.PacketAuthor = packet.AuthorId; PlanetFactory tmpFactory = null; bool loadExternalPlanetData = GameMain.localPlanet?.id != planet.id; if (loadExternalPlanetData) { tmpFactory = buildTool.factory; factoryManager.AddPlanetTimer(packet.PlanetId); } factoryManager.EventFactory = planet.factory; buildTool.factory = planet.factory; pab.factory = planet.factory; using (factoryManager.IsIncomingRequest.On()) { packet.GetData(out List <ReformData> reforms, out Color[] colors); BlueprintPasteExtension.CalculatePositions(buildTool, reforms, colors); } if (loadExternalPlanetData) { buildTool.factory = tmpFactory; pab.factory = tmpFactory; } GameMain.mainPlayer.mecha.buildArea = Configs.freeMode.mechaBuildArea; factoryManager.EventFactory = null; factoryManager.TargetPlanet = NebulaModAPI.PLANET_NONE; factoryManager.PacketAuthor = NebulaModAPI.AUTHOR_NONE; }
private GameObject GetObject(string objectTypeName, IFactoryManager manager, SpriteDefinition spriteDef, XElement xmlNode) { GameObject obj = null; switch (objectTypeName) { case "Sprite": case "AnimatedSprite": obj = LoadSprite(spriteDef, xmlNode); break; } return(obj); }
public static PlayerUndo GetCurrentPlayerData() { if (NebulaModAPI.IsMultiplayerActive) { IFactoryManager factoryManager = NebulaModAPI.MultiplayerSession.Factories; if (factoryManager.IsIncomingRequest.Value) { ushort playerId = (ushort)factoryManager.PacketAuthor; return(undos[playerId]); } } return(undos[GetLocalUserId()]); }
public IScene GetScene(string objectTypeName, IFactoryManager manager, Module.Module module, XElement xmlNode) { IScene scene = null; if (manager is OrionEngine) { OrionEngine engine = (OrionEngine)manager; Camera2D camera = engine.GetComponent <Camera2D>(); if (camera != null) { if (objectTypeName.Equals("Scene")) { scene = new Scene(engine.GraphicsDM.GraphicsDevice, camera); } else if (objectTypeName.Equals("ParallaxScene")) { scene = new ParallaxScene(engine.GraphicsDM.GraphicsDevice, camera); } } if (scene != null) { foreach (XElement sceneNode in xmlNode.Elements()) { switch (sceneNode.Name.LocalName) { case "Header": if (scene is Scene) { LoadHeader(module, sceneNode, scene as Scene); } else if (scene is ParallaxScene) { LoadHeader(module, sceneNode, scene as ParallaxScene); } break; case "EntityList": LoadEntityList(module, manager, sceneNode, scene); break; } } } } return(scene); }
public GameObject GetObject(string objectTypeName, IFactoryManager manager, Module.Module module, XElement xmlNode) { GameObject obj = null; SpriteDefinition spriteDef = null; string tag = string.Empty; string name = string.Empty; Guid id = Guid.Empty; foreach (XAttribute attribNode in xmlNode.Attributes()) { switch (attribNode.Name.LocalName) { case "Id": try { id = Guid.Parse(attribNode.Value); } catch (Exception) { } break; case "Name": name = attribNode.Value; break; case "Tag": tag = attribNode.Value; break; case "Ref": spriteDef = SpriteDefinition.LoadFromModule(module, attribNode.Value); break; } } obj = GetObject(objectTypeName, manager, spriteDef, xmlNode); obj.Id = id; obj.Name = name; obj.Tag = tag; return(obj); }
private void LoadEntityList(Module.Module module, IFactoryManager manager, XElement xmlNode, IScene scene) { foreach (XElement entityNode in xmlNode.Elements()) { if (entityNode.Name.LocalName == "Entity") { string objectTypeName = string.Empty; foreach (XAttribute attrib in entityNode.Attributes()) { if (attrib.Name.LocalName.Equals("Type")) { objectTypeName = attrib.Value; break; } } IObjectFactory fac = manager.GetFactoryFor <IObjectFactory>(objectTypeName); scene.Add(fac.GetObject(objectTypeName, manager, module, entityNode)); } } }
public FactoryAppService(IFactoryRepository factoryRepository, ICityRepository cityRepository, IFactoryManager factoryManager) { _factoryRepository = factoryRepository; _cityRepository = cityRepository; _factoryManager = factoryManager; }
public CraftingService(IFactoryManager factoryManager) { _factoryManager = factoryManager; }
public FactoryController() { _aManager = new FactoryManager(); }
public CityRepository(IFactoryManager factoryManager, IDbContextProvider <IoTDbContext> dbContextProvider) : base(dbContextProvider) { _factoryManager = factoryManager; }