public ConstructJob(IJobObserver parent, ConstructMode mode, IItemObject[] items, IEnvironmentObject environment, IntVector3 location) : base(parent) { m_mode = mode; m_items = items; m_environment = environment; m_location = location; m_state = 0; DirectionSet positioning; switch (mode) { case ConstructMode.Floor: positioning = DirectionSet.Planar; break; case ConstructMode.Pavement: positioning = DirectionSet.Exact; break; case ConstructMode.Wall: positioning = DirectionSet.Planar; break; default: throw new Exception(); } AddSubJob(new FetchItems(this, m_environment, m_location, items, positioning)); }
public ConstructJob(IJobObserver parent, ConstructMode mode, IItemObject[] items, IEnvironmentObject environment, IntPoint3 location) : base(parent) { m_mode = mode; m_items = items; m_environment = environment; m_location = location; m_state = 0; DirectionSet positioning; switch (mode) { case ConstructMode.Floor: positioning = DirectionSet.Planar; break; case ConstructMode.Pavement: positioning = DirectionSet.Exact; break; case ConstructMode.Wall: positioning = DirectionSet.Planar; break; default: throw new Exception(); } AddSubJob(new FetchItems(this, m_environment, m_location, items, positioning)); }
public MoveConstructAssignment(IJobObserver parent, ConstructMode mode, IItemObject[] items, IEnvironmentObject environment, IntVector3 location) : base(parent, environment, items[0].Location) { m_mode = mode; m_items = items; m_environment = environment; m_location = location; }
public ConstructAssignment(IJobObserver parent, ConstructMode mode, IEnvironmentObject environment, IntPoint3 location, IItemObject[] items) : base(parent) { m_mode = mode; m_environment = environment; m_location = location; m_items = items; }
public ConstructAssignment(IJobObserver parent, ConstructMode mode, IEnvironmentObject environment, IntVector3 location, IItemObject[] items) : base(parent) { m_mode = mode; m_environment = environment; m_location = location; m_items = items; }
public void AddConstructJob(ConstructMode mode, IntGrid2Z area, IItemFilter userItemFilter) { var locations = area.Range().Where(p => m_environment.Contains(p)); ITerrainFilter filter; IItemFilter coreItemFilter; switch (mode) { case ConstructMode.Floor: filter = WorkHelpers.ConstructFloorTerrainFilter; coreItemFilter = WorkHelpers.ConstructFloorItemFilter; break; case ConstructMode.Pavement: filter = WorkHelpers.ConstructPavementTerrainFilter; coreItemFilter = WorkHelpers.ConstructPavementItemFilter; break; case ConstructMode.Wall: filter = WorkHelpers.ConstructWallTerrainFilter; coreItemFilter = WorkHelpers.ConstructWallItemFilter; break; default: throw new Exception(); } IItemFilter itemFilter; if (userItemFilter != null) { itemFilter = new AndItemFilter(coreItemFilter, userItemFilter); } else { itemFilter = coreItemFilter; } locations = locations.Where(p => filter.Match(m_environment.GetTileData(p))); foreach (var l in locations) { var data = new ConstructJobData() { Mode = mode, Location = l, ItemFilter = itemFilter, }; m_jobDataList.Add(data); } }
public void AddConstructJob(ConstructMode mode, IntGrid2Z area, IItemFilter userItemFilter) { var locations = area.Range().Where(p => m_environment.Contains(p)); ITerrainFilter filter; IItemFilter coreItemFilter; switch (mode) { case ConstructMode.Floor: filter = WorkHelpers.ConstructFloorTerrainFilter; coreItemFilter = WorkHelpers.ConstructFloorItemFilter; break; case ConstructMode.Pavement: filter = WorkHelpers.ConstructPavementTerrainFilter; coreItemFilter = WorkHelpers.ConstructPavementItemFilter; break; case ConstructMode.Wall: filter = WorkHelpers.ConstructWallTerrainFilter; coreItemFilter = WorkHelpers.ConstructWallItemFilter; break; default: throw new Exception(); } IItemFilter itemFilter; if (userItemFilter != null) itemFilter = new AndItemFilter(coreItemFilter, userItemFilter); else itemFilter = coreItemFilter; locations = locations.Where(p => filter.Match(m_environment.GetTileData(p))); foreach (var l in locations) { var data = new ConstructJobData() { Mode = mode, Location = l, ItemFilter = itemFilter, }; m_jobDataList.Add(data); } }
public ConstructActionReport(ILivingObject living, ConstructMode mode) : base(living) { this.Mode = mode; }
public ConstructAction(ConstructMode mode, IntVector3 location, IEnumerable <IItemObject> items) { this.Mode = mode; this.Location = location; this.ItemObjectIDs = items.Select(i => i.ObjectID).ToArray(); }
public ConstructAction(ConstructMode mode, IntPoint3 location, IEnumerable<IItemObject> items) { this.Mode = mode; this.Location = location; this.ItemObjectIDs = items.Select(i => i.ObjectID).ToArray(); }