EnvironmentObject(Dwarrowdelf.TerrainGen.TerrainData terrain, VisibilityMode visMode, IntVector3 startLocation) : base(ObjectType.Environment) { this.Version = 1; this.VisibilityMode = visMode; terrain.GetData(out m_tileGrid, out m_levelMap); this.Size = terrain.Size; this.StartLocation = startLocation; InitFlags(); VerifyLevelMap(); m_contentArray = new KeyedObjectCollection[this.Depth]; for (int i = 0; i < this.Depth; ++i) m_contentArray[i] = new KeyedObjectCollection(); m_originalNumTrees = ParallelEnumerable.Range(0, this.Size.Depth).Sum(z => { int sum = 0; for (int y = 0; y < this.Size.Height; ++y) for (int x = 0; x < this.Size.Width; ++x) if (GetTileData(x, y, z).HasTree) sum++; return sum; }); }
void m_conn_ReceiveEvent(Dwarrowdelf.Messages.Message obj) { m_msgsReceived++; if (m_msgsReceived < Program.NUM_MSGS) return; m_sw.Stop(); Console.WriteLine("Received {0} msgs, {1} bytes, in {2} ms", m_conn.ReceivedMessages, m_conn.ReceivedBytes, m_sw.ElapsedMilliseconds); Program.Event.Set(); }
public void AddIPMessage(Dwarrowdelf.Messages.IPOutputMessage msg) { if (m_ipMessages.Count > 100) m_ipMessages.RemoveAt(0); m_ipMessages.Add(msg); }
public void HandleChangeMessage(Dwarrowdelf.Messages.ChangeMessage msg) { var change = msg.ChangeData; var method = s_changeHandlerMap[change.GetType()]; method(this, change); }
public void SetAI(Dwarrowdelf.AI.IAI ai) { m_ai = ai; var aai = m_ai as Dwarrowdelf.AI.AssignmentAI; if (aai != null) aai.AssignmentChanged += OnAIAssignmentChanged; }
public void HandleReportMessage(Dwarrowdelf.Messages.ReportMessage msg) { var report = msg.Report; var method = s_reportHandlerMap[report.GetType()]; method(this, report); }
public static EnvironmentObject Create(World world, Dwarrowdelf.TerrainGen.TerrainData terrain, VisibilityMode visMode, IntVector3 startLocation) { var ob = new EnvironmentObject(terrain, visMode, startLocation); ob.Initialize(world); return ob; }