示例#1
0
        public virtual VMArchitectureMarshal Save()
        {
            var marshal = new VMArchitectureMarshal
            {
                Width   = Width,
                Height  = Height,
                Stories = Stories,
                Terrain = Terrain,

                Walls             = Walls,
                Floors            = Floors,
                FineBuildableArea = FineBuildableArea,

                WallsDirty  = WallsDirty,
                FloorsDirty = FloorsDirty,

                RoofPitch = RoofPitch,
                RoofStyle = RoofStyle,
                IDMap     = Context.VM.TS1 ? new VMResourceIDMarshal(Context.VM) : null,

                BuildBuyEnabled = BuildBuyEnabled
            };

            marshal.Preserialize(); //this must be done to keep async serialization thread safe.
            //in other places we just clone mutable state, but here there are so many deep
            //structures that it would cause a notable performance impact.
            return(marshal);
        }
示例#2
0
        public virtual void Load(VMArchitectureMarshal input)
        {
            Width   = input.Width;
            Height  = input.Height;
            Stories = input.Stories;

            Walls  = input.Walls;
            Floors = input.Floors;

            RegenWallsAt();
        }
示例#3
0
        public virtual void Load(VMArchitectureMarshal input)
        {
            Width   = input.Width;
            Height  = input.Height;
            Stories = input.Stories;
            Terrain = input.Terrain;

            Walls  = input.Walls;
            Floors = input.Floors;

            RoofPitch = input.RoofPitch;
            RoofStyle = input.RoofStyle;

            RegenWallsAt();
            SignalTerrainRedraw();
        }
示例#4
0
        public virtual void Load(VMArchitectureMarshal input)
        {
            Width   = input.Width;
            Height  = input.Height;
            Stories = input.Stories;
            Terrain = input.Terrain;

            Walls             = input.Walls;
            Floors            = input.Floors;
            FineBuildableArea = input.FineBuildableArea;
            if (VM.UseWorld)
            {
                WorldUI.FineArea = FineBuildableArea;
            }

            RoofPitch = input.RoofPitch;
            RoofStyle = input.RoofStyle;

            BuildBuyEnabled = input.BuildBuyEnabled;

            RegenWallsAt();
            SignalTerrainRedraw();
        }
示例#5
0
 public VMArchitecture(VMArchitectureMarshal input, VMContext context, Blueprint blueprint) : this(input.Width, input.Height, blueprint, context)
 {
     Load(input);
 }
示例#6
0
 public void WallDirtyState(VMArchitectureMarshal input)
 {
     WallsDirty  = input.WallsDirty;
     FloorsDirty = input.FloorsDirty;
     Redraw      = true;
 }
示例#7
0
        //variables for rotation transform

        public VMLotRotate(VMMarshal marshal)
        {
            Arch = marshal.Context.Architecture;
            Ents = marshal.Entities;
        }