private void DeserializeRover(Dictionary <string, IPowerable> powerableMap) { Rovers.RoverInput rovIn = GameObject.FindObjectOfType <Rovers.RoverInput>(); rovIn.Data = this.RoverData; rovIn.transform.position = this.RoverData.Position; rovIn.transform.rotation = this.RoverData.Rotation; powerableMap.Add(rovIn.PowerableInstanceID, rovIn); }
public void OnBeforeSerialize() { #if UNITY_EDITOR reflectionRuns = 0; reflectionCheckTime.Reset(); reflectionPropertyTime.Reset(); #endif this._MarshalManyFromScene <ResourceComponent, CrateData>((crates) => this.Crates = crates); this._MarshalManyFromScene <ConstructionZone, ConstructionData>((zones) => this.ConstructionZones = zones); this._MarshalManyFromScene <ResourcelessGameplay, ResourcelessModuleData>((modules) => this.ResourcelessData = modules); this._MarshalManyFromScene <MultipleResourceModuleGameplay, MultipleResourceModuleData>((modules) => this.MultiResourceContainerData = modules); this._MarshalManyFromScene <SingleResourceModuleGameplay, SingleResourceModuleData>((modules) => this.SingleResourceContainerData = modules); this._MarshalManyFromScene <Pipe, PipelineData>((pipes) => this.PipeData = pipes); this._MarshalManyFromScene <Powerline, PowerlineData>((powerline) => this.PowerData = powerline); this._MarshalManyFromScene <IceDrill, IceDrillData>((drill) => this.IceDrillData = drill); this._MarshalManyFromScene <PowerCube, PowerCubeData>((power) => this.PowerCubeData = power); this._MarshalManyFromScene <MobileSolarPanel, MobileSolarPanelData>((panel) => this.MobileSolarPanelData = panel); this._MarshalManyFromScene <Pump, FacingData>((pump) => this.PumpData = pump); this._MarshalManyFromScene <Toolbox, ToolboxData>((box) => this.ToolboxData = box); this._MarshalManyFromScene <Minilab, MinilabData>((lab) => this.MinilabData = lab); this._MarshalManyFromScene <Deposit, DepositData>((dep) => this.Deposits = dep); this._MarshalManyFromScene <CargoLander, CargoLanderData>((lander) => this.CargoLanders = lander); this._MarshalManyFromScene <LandingZone, LandingZoneData>((lz) => this.LandingZones = lz); this._MarshalHabitats(); Rovers.RoverInput rovIn = GameObject.FindObjectOfType <Rovers.RoverInput>(); if (rovIn != null) { this.RoverData = (RoverData)rovIn.Data.Marshal(rovIn.transform); } #if UNITY_EDITOR UnityEngine.Debug.Log(String.Format("serialize reflection: {0} run, type checks: {1}ms, property reflection: {2}ms", reflectionRuns, reflectionCheckTime.ElapsedMilliseconds, reflectionPropertyTime.ElapsedMilliseconds)); #endif }