コード例 #1
0
        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));
        }
コード例 #2
0
 public BuildItemAssignment(IJobObserver parent, IItemObject workbench, string buildableItemKey, IItemObject[] items)
     : base(parent)
 {
     m_workbench        = workbench;
     m_items            = items;
     m_buildableItemKey = buildableItemKey;
 }
コード例 #3
0
 public JobProcessor(IProcessorObserver processorObserver, IJobObserver jobObserver)
 {
     this.processorObserver = processorObserver;
     this.jobObserver = jobObserver;
     jobScheduler = new EventLoopScheduler();
     CurrentState = new Created();
 }
コード例 #4
0
 public StoreToStockpileJob(IJobObserver parent, Stockpile stockpile, ItemObject item)
     : base(parent)
 {
     this.Item = item;
     m_stockpile = stockpile;
     m_state = State.MoveToItem;
 }
コード例 #5
0
 public StoreToStockpileJob(IJobObserver parent, Stockpile stockpile, ItemObject item)
     : base(parent)
 {
     this.Item   = item;
     m_stockpile = stockpile;
     m_state     = State.MoveToItem;
 }
コード例 #6
0
 public MoveInstallItemAssignment(IJobObserver parent, IItemObject item, InstallMode mode)
     : base(parent)
 {
     m_item = item;
     m_mode = mode;
     m_state = 0;
 }
コード例 #7
0
ファイル: ConstructJob.cs プロジェクト: Fulborg/dwarrowdelf
        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));
        }
コード例 #8
0
 public BuildItemAssignment(IJobObserver parent, IItemObject workbench, string buildableItemKey, IItemObject[] items)
     : base(parent)
 {
     m_workbench = workbench;
     m_items = items;
     m_buildableItemKey = buildableItemKey;
 }
コード例 #9
0
 protected MoveBaseAssignment(IJobObserver parent, IEnvironmentObject environment, IntVector3 location)
     : base(parent)
 {
     this.Environment = environment;
     this.Location    = location;
     m_state          = 0;
 }
コード例 #10
0
 protected MoveBaseAssignment(IJobObserver parent, IEnvironmentObject environment, IntVector3 location)
     : base(parent)
 {
     this.Environment = environment;
     this.Location = location;
     m_state = 0;
 }
コード例 #11
0
ファイル: MineAssignment.cs プロジェクト: tomba/dwarrowdelf
 public MineAssignment(IJobObserver parent, IEnvironmentObject environment, IntVector3 location, MineActionType mineActionType)
     : base(parent)
 {
     m_environment = environment;
     m_location = location;
     m_mineActionType = mineActionType;
 }
コード例 #12
0
 public MoveInstallItemAssignment(IJobObserver parent, IItemObject item, InstallMode mode)
     : base(parent)
 {
     m_item  = item;
     m_mode  = mode;
     m_state = 0;
 }
コード例 #13
0
 public MineAssignment(IJobObserver parent, IEnvironmentObject environment, IntVector3 location, MineActionType mineActionType)
     : base(parent)
 {
     m_environment    = environment;
     m_location       = location;
     m_mineActionType = mineActionType;
 }
コード例 #14
0
 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;
 }
コード例 #15
0
 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;
 }
コード例 #16
0
 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;
 }
コード例 #17
0
 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;
 }
コード例 #18
0
 internal ConversionJob(JobRequest request, IJobObserver jobObserver)
 {
     this.request = request;
     this.jobObserver = jobObserver;
     codec = new VideoCodec();
     transferrer = new WebClient();
     localInputFile = new FileInfo(Path.Combine(Path.GetTempPath(), $"{Id.ToString()}.input"));
     localOutputFile = new FileInfo(Path.Combine(Path.GetTempPath(), $"{Id.ToString()}.output"));
 }
コード例 #19
0
ファイル: JobGroup.cs プロジェクト: tomba/dwarrowdelf
        protected JobGroup(IJobObserver parent)
        {
            this.Parent = parent;

            m_subJobs = new ObservableCollection<IJob>();
            m_roSubJobs = new ReadOnlyObservableCollection<IJob>(m_subJobs);

            this.Status = JobStatus.Ok;
        }
コード例 #20
0
        protected JobGroup(IJobObserver parent)
        {
            this.Parent = parent;

            m_subJobs   = new ObservableCollection <IJob>();
            m_roSubJobs = new ReadOnlyObservableCollection <IJob>(m_subJobs);

            this.Status = JobStatus.Ok;
        }
コード例 #21
0
 public FetchItemAssignment(IJobObserver parent, IEnvironmentObject env, IntVector3 location, IItemObject item, DirectionSet positioning)
     : base(parent)
 {
     this.Item     = item;
     m_environment = env;
     m_location    = location;
     m_state       = State.None;
     m_positioning = positioning;
     this.LaborID  = Dwarrowdelf.LaborID.Hauling;
 }
コード例 #22
0
 public FetchItemAssignment(IJobObserver parent, IEnvironmentObject env, IntVector3 location, IItemObject item, DirectionSet positioning)
     : base(parent)
 {
     this.Item = item;
     m_environment = env;
     m_location = location;
     m_state = State.None;
     m_positioning = positioning;
     this.LaborID = Dwarrowdelf.LaborID.Hauling;
 }
コード例 #23
0
ファイル: InstallItemJob.cs プロジェクト: Fulborg/dwarrowdelf
        public InstallItemJob(IJobObserver parent, IItemObject item, IEnvironmentObject env, IntPoint3 location)
            : base(parent)
        {
            m_item = item;
            m_location = location;

            m_state = 0;

            AddSubJob(new AssignmentGroups.FetchItemAssignment(this, env, location, item));
        }
コード例 #24
0
        public InstallItemJob(IJobObserver parent, IItemObject item, IEnvironmentObject env, IntVector3 location)
            : base(parent)
        {
            m_item     = item;
            m_location = location;

            m_state = 0;

            AddSubJob(new AssignmentGroups.FetchItemAssignment(this, env, location, item));
        }
コード例 #25
0
        public MoveBuildItemAssignment(IJobObserver parent, IItemObject workplace, string buildableItemKey, IItemObject[] items)
            : base(parent, workplace.Environment, workplace.Location)
        {
            m_workplace = workplace;
            m_items = items;
            m_buildableItemKey = buildableItemKey;

            var bii = Workbenches.GetWorkbenchInfo(workplace.ItemID);
            var bi = bii.FindBuildableItem(buildableItemKey);
            this.LaborID = bi.LaborID;
        }
コード例 #26
0
ファイル: FetchItems.cs プロジェクト: Fulborg/dwarrowdelf
        public FetchItems(IJobObserver parent, IEnvironmentObject env, IntPoint3 location, IEnumerable<IItemObject> items, DirectionSet positioning)
            : base(parent)
        {
            foreach (var item in items)
            {
                var job = new AssignmentGroups.FetchItemAssignment(this, env, location, item, positioning);
                AddSubJob(job);
            }

            Debug.Assert(this.SubJobs.Count > 0);
        }
コード例 #27
0
        public FetchItems(IJobObserver parent, IEnvironmentObject env, IntVector3 location, IEnumerable <IItemObject> items, DirectionSet positioning)
            : base(parent)
        {
            foreach (var item in items)
            {
                var job = new AssignmentGroups.FetchItemAssignment(this, env, location, item, positioning);
                AddSubJob(job);
            }

            Debug.Assert(this.SubJobs.Count > 0);
        }
コード例 #28
0
        public BuildItemJob(IJobObserver parent, IItemObject workplace, string buildableItemKey, IEnumerable <IItemObject> sourceObjects)
            : base(parent)
        {
            m_workplace        = workplace;
            m_sourceObjects    = sourceObjects.ToArray();
            m_buildableItemKey = buildableItemKey;

            m_state = 0;

            AddSubJob(new FetchItems(this, m_workplace.Environment, m_workplace.Location, sourceObjects));
        }
コード例 #29
0
ファイル: BuildItemJob.cs プロジェクト: tomba/dwarrowdelf
        public BuildItemJob(IJobObserver parent, IItemObject workplace, string buildableItemKey, IEnumerable<IItemObject> sourceObjects)
            : base(parent)
        {
            m_workplace = workplace;
            m_sourceObjects = sourceObjects.ToArray();
            m_buildableItemKey = buildableItemKey;

            m_state = 0;

            AddSubJob(new FetchItems(this, m_workplace.Environment, m_workplace.Location, sourceObjects));
        }
コード例 #30
0
        public MoveBuildItemAssignment(IJobObserver parent, IItemObject workplace, string buildableItemKey, IItemObject[] items)
            : base(parent, workplace.Environment, workplace.Location)
        {
            m_workplace        = workplace;
            m_items            = items;
            m_buildableItemKey = buildableItemKey;

            var bii = Workbenches.GetWorkbenchInfo(workplace.ItemID);
            var bi  = bii.FindBuildableItem(buildableItemKey);

            this.LaborID = bi.LaborID;
        }
コード例 #31
0
ファイル: CleanAreaJob.cs プロジェクト: Fulborg/dwarrowdelf
        public CleanAreaJob(IJobObserver parent, EnvironmentObject env, IntGrid2Z area)
            : base(parent)
        {
            m_environment = env;
            m_area = area;

            m_map = new Dictionary<IntPoint3, IJob>();

            foreach (var p in m_area.Range())
                m_map[p] = null;

            m_environment.World.TickStarting += World_TickStarting;
        }
コード例 #32
0
        public CleanAreaJob(IJobObserver parent, EnvironmentObject env, IntGrid2Z area)
            : base(parent)
        {
            m_environment = env;
            m_area        = area;

            m_map = new Dictionary <IntVector3, IJob>();

            foreach (var p in m_area.Range())
            {
                m_map[p] = null;
            }

            m_environment.World.TickStarted += World_TickStarting;
        }
コード例 #33
0
ファイル: PatrolAssignment.cs プロジェクト: tomba/dwarrowdelf
 public PatrolAssignment(IJobObserver parent, IEnvironmentObject environment, IntVector3[] waypoints)
     : base(parent)
 {
     m_environment = environment;
     m_waypoints = waypoints;
 }
コード例 #34
0
 public MoveSleepAssignment(IJobObserver parent, IItemObject bed)
     : base(parent)
 {
     this.Bed = bed;
     m_state = 0;
 }
コード例 #35
0
 public RandomMoveAssignment(IJobObserver parent)
     : base(parent)
 {
 }
コード例 #36
0
 public FellTreeAssignment(IJobObserver parent, IEnvironmentObject environment, IntPoint3 location)
     : base(parent)
 {
     m_environment = environment;
     m_location = location;
 }
コード例 #37
0
ファイル: Assignment.cs プロジェクト: jaenudin86/dwarrowdelf
 protected Assignment(IJobObserver parent)
 {
     this.Parent = parent;
     this.Status = JobStatus.Ok;
 }
コード例 #38
0
 public MoveToAreaAssignment(IJobObserver parent, IEnvironmentObject environment, IntGrid3 destination, DirectionSet positioning)
     : base(parent, environment, positioning)
 {
     m_dest = destination;
 }
コード例 #39
0
 public HaulToAreaAssignment(IJobObserver parent, IEnvironmentObject environment, IntGrid3 destination, DirectionSet positioning, IItemObject hauledItem)
     : base(parent, environment, positioning, hauledItem)
 {
     m_dest = destination;
 }
コード例 #40
0
 public FetchItems(IJobObserver parent, IEnvironmentObject env, IntVector3 location, IEnumerable <IItemObject> items)
     : this(parent, env, location, items, DirectionSet.Exact)
 {
 }
コード例 #41
0
 public MoveSleepAssignment(IJobObserver parent, IItemObject bed)
     : base(parent)
 {
     this.Bed = bed;
     m_state  = 0;
 }
コード例 #42
0
ファイル: FetchItems.cs プロジェクト: Fulborg/dwarrowdelf
 public FetchItems(IJobObserver parent, IEnvironmentObject env, IntPoint3 location, IEnumerable<IItemObject> items)
     : this(parent, env, location, items, DirectionSet.Exact)
 {
 }
コード例 #43
0
 public GenericDebugAssignment(IJobObserver parent, GameAction action)
     : base(parent)
 {
     m_action = action;
 }
コード例 #44
0
 public FleeMoveAssignment(IJobObserver parent)
     : base(parent)
 {
 }
コード例 #45
0
 public MoveFellTreeAssignment(IJobObserver parent, IEnvironmentObject environment, IntPoint3 location)
     : base(parent, environment, location)
 {
 }
コード例 #46
0
 public GrazeMoveAssignment(IJobObserver parent, Group group)
     : base(parent)
 {
     m_group = group;
 }
コード例 #47
0
 public AttackAssignment(IJobObserver parent, ILivingObject target)
     : base(parent)
 {
     m_target = target;
 }
コード例 #48
0
 public GrazeMoveAssignment(IJobObserver parent, Group group)
     : base(parent)
 {
     m_group = group;
 }
コード例 #49
0
ファイル: HaulAssignment.cs プロジェクト: tomba/dwarrowdelf
 public HaulAssignment(IJobObserver parent, IEnvironmentObject environment, IntVector3 destination, DirectionSet positioning, IItemObject hauledItem)
     : base(parent, environment, positioning, hauledItem)
 {
     m_dest = destination;
 }
コード例 #50
0
 public GenericDebugAssignment(IJobObserver parent, GameAction action)
     : base(parent)
 {
     m_action = action;
 }
コード例 #51
0
 public DropItemAssignment(IJobObserver parent, IItemObject item)
     : base(parent)
 {
     m_item = item;
 }
コード例 #52
0
 protected MoveAssignmentBase(IJobObserver parent, IEnvironmentObject environment, DirectionSet positioning)
     : base(parent)
 {
     m_environment = environment;
     m_positioning = positioning;
 }
コード例 #53
0
 public FetchItemAssignment(IJobObserver parent, IEnvironmentObject env, IntVector3 location, IItemObject item)
     : this(parent, env, location, item, DirectionSet.Exact)
 {
 }
コード例 #54
0
 protected MoveAssignmentBase(IJobObserver parent, IEnvironmentObject environment, DirectionSet positioning, IItemObject hauledItem)
     : this(parent, environment, positioning)
 {
     this.HauledItem = hauledItem;
 }
コード例 #55
0
 public CarryItemAssignment(IJobObserver parent, IItemObject item)
     : base(parent)
 {
     m_item = item;
 }
コード例 #56
0
ファイル: SleepAssignment.cs プロジェクト: tomba/dwarrowdelf
 public SleepAssignment(IJobObserver parent, IItemObject bed)
     : base(parent)
 {
     m_bed = bed;
 }
コード例 #57
0
ファイル: Assignment.cs プロジェクト: tomba/dwarrowdelf
 protected Assignment(IJobObserver parent)
 {
     this.Parent = parent;
     this.Status = JobStatus.Ok;
 }
コード例 #58
0
 public WaitAssignment(IJobObserver parent, int turns)
     : base(parent)
 {
     m_turns = turns;
 }
コード例 #59
0
 public PatrolAssignment(IJobObserver parent, IEnvironmentObject environment, IntVector3[] waypoints)
     : base(parent)
 {
     m_environment = environment;
     m_waypoints   = waypoints;
 }
コード例 #60
0
 public MoveToAreaAssignment(IJobObserver parent, IEnvironmentObject environment, IntGrid3 destination, DirectionSet positioning)
     : base(parent, environment, positioning)
 {
     m_dest = destination;
 }