public EnvironmentObject(World world, ObjectID objectID)
            : base(world, objectID)
        {
            this.Version = 1;

            m_tileGrid  = new GrowingTileGrid();
            m_objectMap = new Dictionary <IntVector3, List <MovableObject> >();

            m_areaElements    = new ObservableCollection <IAreaElement>();
            this.AreaElements = new ReadOnlyObservableCollection <IAreaElement>(m_areaElements);

            this.ItemTracker = new ItemTracker(this);

            this.Designations       = new Designation(this);
            this.InstallItemManager = new InstallItemManager(this);
            this.ConstructManager   = new ConstructManager(this);
        }
        public EnvironmentObject(World world, ObjectID objectID)
            : base(world, objectID)
        {
            this.Version = 1;

            m_tileGrid = new GrowingTileGrid();
            m_objectMap = new Dictionary<IntPoint3, List<MovableObject>>();

            m_areaElements = new ObservableCollection<IAreaElement>();
            this.AreaElements = new ReadOnlyObservableCollection<IAreaElement>(m_areaElements);

            this.ItemTracker = new ItemTracker(this);

            this.Designations = new Designation(this);
            this.InstallItemManager = new InstallItemManager(this);
            this.ConstructManager = new ConstructManager(this);
        }