예제 #1
0
        void AddNewJobs()
        {
            var c = this.SubJobs.Count;

            m_locs = m_area.Range().Where(p => !m_jobs.Any(i => i.Item1 == p) && m_environment.GetTileData(p).HasFellableTree).Take(3 - c);

            foreach (var p in m_locs)
            {
                var job = new AssignmentGroups.MoveFellTreeAssignment(this, m_environment, p);
                AddSubJob(job);
                m_jobs.Add(new Tuple<IntVector3, IJob>(p, job));
            }
        }
예제 #2
0
        void AddNewJobs()
        {
            var c = this.SubJobs.Count;

            m_locs = m_area.Range().Where(p => !m_jobs.Any(i => i.Item1 == p) && m_environment.GetInterior(p).ID == InteriorID.Tree).Take(3 - c);

            foreach (var p in m_locs)
            {
                var job = new AssignmentGroups.MoveFellTreeAssignment(this, m_environment, p);
                AddSubJob(job);
                m_jobs.Add(new Tuple<IntPoint3, IJob>(p, job));
            }
        }
예제 #3
0
        void AddNewJobs()
        {
            var c = this.SubJobs.Count;

            m_locs = m_area.Range().Where(p => !m_jobs.Any(i => i.Item1 == p) && m_environment.GetTileData(p).HasFellableTree).Take(3 - c);

            foreach (var p in m_locs)
            {
                var job = new AssignmentGroups.MoveFellTreeAssignment(this, m_environment, p);
                AddSubJob(job);
                m_jobs.Add(new Tuple <IntVector3, IJob>(p, job));
            }
        }