public void ExposeData() { if (Scribe.mode == LoadSaveMode.Saving) { Controller.GetArchiver.ValidateArchiveTarget(this); } Scribe_Values.Look(ref this.type, "type"); Scribe_Values.Look(ref this.pinned, "pinned", false); Scribe_Values.Look(ref this.dateDayofSeason, "dateDayofSeason", -1); Scribe_Values.Look(ref this.dateQuadrum, "dateQuadrum", Quadrum.Undefined); Scribe_Values.Look(ref this.dateYear, "dateYear", -1); Scribe_Deep.Look(ref this.letter, "letter"); Scribe_TargetInfo.Look(ref this.lookTarget, "lookTarget"); Scribe_Values.Look(ref this.text, "text"); }
public override void ExposeData() // Added new variables, removed bool loaded (not used in CE) { base.ExposeData(); // New variables Scribe_Deep.Look(ref gunInt, "gunInt"); InitGun(); Scribe_Values.Look(ref isReloading, "isReloading", false); Scribe_Values.Look(ref ticksUntilAutoReload, "ticksUntilAutoReload", 0); //lastSurroundingAmmoCheck should never be saved Scribe_Values.Look <int>(ref this.burstCooldownTicksLeft, "burstCooldownTicksLeft", 0, false); Scribe_Values.Look <int>(ref this.burstWarmupTicksLeft, "burstWarmupTicksLeft", 0, false); Scribe_TargetInfo.Look(ref this.currentTargetInt, "currentTarget"); Scribe_Values.Look <bool>(ref this.holdFire, "holdFire", false, false); Scribe_Values.Look <bool>(ref this.everSpawned, "everSpawned", false, false); BackCompatibility.PostExposeData(this); }
public override void ExposeData() { base.ExposeData(); Scribe_TargetInfo.Look(ref localTarget, "localTarget", LocalTargetInfo.Invalid); Scribe_TargetInfo.Look(ref globalTarget, "globalTarget", GlobalTargetInfo.Invalid); Scribe_Values.Look(ref CooldownTicks, "cooldownTicks"); Scribe_Values.Look(ref PoweringUpTicks, "powerUpTicks"); Scribe_Values.Look(ref isChargingUp, "isChargingUp"); Scribe_Values.Look(ref lastKnownThingLoc, "lastKnownThingLoc"); Scribe_Deep.Look(ref gun, "gun", Array.Empty <object>()); BackCompatibility.PostExposeData(this); if (Scribe.mode == LoadSaveMode.PostLoadInit) { this.UpdateGunVerbs(); } }
public override void ExposeData() { base.ExposeData(); Scribe_Deep.Look <Thing>(ref gun, "activeGun"); Scribe_Values.Look <bool>(ref collectingGunAllowed, "collectingGunAllowed"); Scribe_Values.Look <int>(ref burstCooldownTicksLeft, "burstCooldownTicksLeft", 0, false); Scribe_Values.Look <int>(ref this.burstWarmupTicksLeft, "burstWarmupTicksLeft", 0, false); Scribe_TargetInfo.Look(ref this.currentTargetInt, "currentTarget"); Scribe_Values.Look <bool>(ref this.loaded, "loaded", false, false); Scribe_Values.Look <bool>(ref this.holdFire, "holdFire", false, false); if (gun != null) { forceCreateGunAndTop = true; } }
public override void ExposeData() { base.ExposeData(); Scribe_Deep.Look <StunHandler>(ref this.stunner, "stunner", new object[] { this }); Scribe_Values.Look <bool>(ref this.isInstalled, "isInstalled", false, false); Scribe_Values.Look <string>(ref this.assignedSlotName, "assignedSlotName"); Scribe_Values.Look <Vector3>(ref this.drawPosOffset, "drawPosOffset"); Scribe_Values.Look <WeaponSystemType>(ref this.weaponSystemType, "weaponSystemType"); Scribe_TargetInfo.Look(ref this.forcedTarget, "forcedTarget"); if (this.slotToInstall != null) { Scribe_References.Look <ShipWeaponSlot>(ref this.slotToInstall, "slotToInstall"); } }
public void ExposeData() { if (Scribe.mode == LoadSaveMode.Saving && this.activeJobs != null) { this.activeJobs.RemoveAll(x => x == null); } Scribe_TargetInfo.Look(ref targetDest, "targetDest"); Scribe_Collections.Look(ref this.activeJobs, "activeJobs", LookMode.Deep); Scribe_References.Look(ref this.mainJob, "mainJob"); Scribe_Values.Look(ref searchingJobsNow, "searchingJobsNow", false); Scribe_References.Look(ref oldMap, "oldMap"); Scribe_Values.Look(ref forceGoToDestMap, "forceGoToDestMap", false); Scribe_References.Look(ref target, "target"); Scribe_References.Look(ref mapDest, "mapDest"); Scribe_Values.Look(ref forceGoToDestMap, "failIfTargetMapIsNotDest", false); Scribe_Collections.Look(ref reservedThings, "reservedThings", LookMode.LocalTargetInfo); Scribe_Collections.Look(ref reservedCells, "reservedCells", LookMode.LocalTargetInfo); Scribe_Collections.Look(ref lookedAtLocalCellMap, "lookedAtLocalCellMap", LookMode.Value, LookMode.Reference, ref intVec3Keys, ref mapValues); }
public override void ExposeData() { base.ExposeData(); Scribe_Values.Look <int>(ref this.burstCooldownTicksLeft, "burstCooldownTicksLeft", 0, false); Scribe_Values.Look <int>(ref this.burstWarmupTicksLeft, "burstWarmupTicksLeft", 0, false); Scribe_TargetInfo.Look(ref this.currentTargetInt, "currentTarget"); Scribe_Values.Look <bool>(ref this.holdFire, "holdFire", false, false); Scribe_Deep.Look <Thing>(ref this.gun, "gun", new object[0]); Scribe_Values.Look <float>(ref this.turretBurstCooldownTime, "turretBurstCooldownTime", -1, false); // added if (Scribe.mode == LoadSaveMode.PostLoadInit) { if (this.gun == null) { this.MakeGun(); // replacent of BackCompatibility.TurretPostLoadInit(this); } this.UpdateGunVerbs(); } }
public void ExposeData() { Scribe_Defs.Look(ref def, "def"); Scribe_Deep.Look(ref travelTracker, "travelTracker", new object[] { def.travelSettings }); Scribe_Deep.Look(ref thingTracker, "thingTracker", new object[] { def.targetSettings }); Scribe_References.Look(ref parentMission, "parent"); Scribe_Values.Look(ref startedOnce, "startedOnce"); Scribe_Values.Look(ref finishedOnce, "finishedOnce"); Scribe_Values.Look(ref failedOnce, "failedOnce"); Scribe_Values.Look(ref workDone, "workDone"); Scribe_Values.Look(ref timer, "timer"); Scribe_TargetInfo.Look(ref lastTarget, "lastTarget"); }
public void ExposeData() { var loadReferenceable = (ILoadReferenceable)commTarget; Scribe_References.Look(ref loadReferenceable, "commTarget", false); commTarget = (ICommunicable)loadReferenceable; Scribe_References.Look(ref verbToUse, "verbToUse", false); Scribe_References.Look(ref bill, "bill", false); Scribe_References.Look(ref lord, "lord", false); Scribe_Defs.Look(ref def, "def"); Scribe_TargetInfo.Look(ref targetA, "targetA"); Scribe_TargetInfo.Look(ref targetB, "targetB"); Scribe_TargetInfo.Look(ref targetC, "targetC"); Scribe_Collections.Look(ref targetQueueA, "targetQueueA", LookMode.Undefined); Scribe_Collections.Look(ref targetQueueB, "targetQueueB", LookMode.Undefined); Scribe_Values.Look(ref count, "count", -1, false); Scribe_Collections.Look(ref countQueue, "countQueue", LookMode.Undefined); Scribe_Values.Look(ref startTick, "startTick", -1, false); Scribe_Values.Look(ref expiryInterval, "expiryInterval", -1, false); Scribe_Values.Look(ref checkOverrideOnExpire, "checkOverrideOnExpire", false, false); Scribe_Values.Look(ref playerForced, "playerForced", false, false); Scribe_Collections.Look(ref placedThings, "placedThings", LookMode.Undefined); Scribe_Values.Look(ref maxNumMeleeAttacks, "maxNumMeleeAttacks", 2147483647, false); Scribe_Values.Look(ref maxNumStaticAttacks, "maxNumStaticAttacks", 2147483647, false); Scribe_Values.Look(ref exitMapOnArrival, "exitMapOnArrival", false, false); Scribe_Values.Look(ref failIfCantJoinOrCreateCaravan, "failIfCantJoinOrCreateCaravan", false, false); Scribe_Values.Look(ref killIncappedTarget, "killIncappedTarget", false, false); Scribe_Values.Look(ref haulOpportunisticDuplicates, "haulOpportunisticDuplicates", false, false); Scribe_Values.Look(ref haulMode, "haulMode", HaulMode.Undefined, false); Scribe_Defs.Look(ref plantDefToSow, "plantDefToSow"); Scribe_Values.Look(ref locomotionUrgency, "locomotionUrgency", LocomotionUrgency.Jog, false); Scribe_Values.Look(ref ignoreDesignations, "ignoreDesignations", false, false); Scribe_Values.Look(ref canBash, "canBash", false, false); Scribe_Values.Look(ref haulDroppedApparel, "haulDroppedApparel", false, false); Scribe_Values.Look(ref restUntilHealed, "restUntilHealed", false, false); Scribe_Values.Look(ref ignoreJoyTimeAssignment, "ignoreJoyTimeAssignment", false, false); Scribe_Values.Look(ref overeat, "overeat", false, false); Scribe_Values.Look(ref attackDoorIfTargetLost, "attackDoorIfTargetLost", false, false); Scribe_Values.Look(ref takeExtraIngestibles, "takeExtraIngestibles", 0, false); Scribe_Values.Look(ref expireRequiresEnemiesNearby, "expireRequiresEnemiesNearby", false, false); Scribe_Values.Look(ref collideWithCaravans, "collideWithCaravans", false, false); }
public void ExposeData() { var loadReferenceable = (ILoadReferenceable)commTarget; Scribe_References.Look(ref loadReferenceable, nameof(commTarget)); commTarget = (ICommunicable)loadReferenceable; Scribe_References.Look(ref verbToUse, nameof(verbToUse)); Scribe_References.Look(ref bill, nameof(bill)); Scribe_References.Look(ref lord, nameof(lord)); Scribe_Defs.Look(ref def, nameof(def)); Scribe_TargetInfo.Look(ref targetA, nameof(targetA)); Scribe_TargetInfo.Look(ref targetB, nameof(targetB)); Scribe_TargetInfo.Look(ref targetC, nameof(targetC)); Scribe_Collections.Look(ref targetQueueA, nameof(targetQueueA), LookMode.GlobalTargetInfo); Scribe_Collections.Look(ref targetQueueB, nameof(targetQueueB), LookMode.GlobalTargetInfo); Scribe_Values.Look(ref count, nameof(count), -1); Scribe_Collections.Look(ref countQueue, nameof(countQueue), LookMode.Value); Scribe_Values.Look(ref startTick, nameof(startTick), -1); Scribe_Values.Look(ref expiryInterval, nameof(expiryInterval), -1); Scribe_Values.Look(ref checkOverrideOnExpire, nameof(checkOverrideOnExpire)); Scribe_Values.Look(ref playerForced, nameof(playerForced)); Scribe_Collections.Look(ref placedThings, nameof(placedThings), LookMode.Deep); Scribe_Values.Look(ref maxNumMeleeAttacks, nameof(maxNumMeleeAttacks), int.MaxValue); Scribe_Values.Look(ref maxNumStaticAttacks, nameof(maxNumStaticAttacks), int.MaxValue); Scribe_Values.Look(ref exitMapOnArrival, nameof(exitMapOnArrival)); Scribe_Values.Look(ref failIfCantJoinOrCreateCaravan, nameof(failIfCantJoinOrCreateCaravan)); Scribe_Values.Look(ref killIncappedTarget, nameof(killIncappedTarget)); Scribe_Values.Look(ref haulOpportunisticDuplicates, nameof(haulOpportunisticDuplicates)); Scribe_Values.Look(ref haulMode, nameof(haulMode)); Scribe_Defs.Look(ref plantDefToSow, nameof(plantDefToSow)); Scribe_Values.Look(ref locomotionUrgency, nameof(locomotionUrgency), LocomotionUrgency.Jog); Scribe_Values.Look(ref ignoreDesignations, nameof(ignoreDesignations)); Scribe_Values.Look(ref canBash, nameof(canBash)); Scribe_Values.Look(ref haulDroppedApparel, nameof(haulDroppedApparel)); Scribe_Values.Look(ref restUntilHealed, nameof(restUntilHealed)); Scribe_Values.Look(ref ignoreJoyTimeAssignment, nameof(ignoreJoyTimeAssignment)); Scribe_Values.Look(ref overeat, nameof(overeat)); Scribe_Values.Look(ref attackDoorIfTargetLost, nameof(attackDoorIfTargetLost)); Scribe_Values.Look(ref takeExtraIngestibles, nameof(takeExtraIngestibles)); Scribe_Values.Look(ref expireRequiresEnemiesNearby, nameof(expireRequiresEnemiesNearby)); Scribe_Values.Look(ref collideWithCaravans, nameof(collideWithCaravans)); }
public void ExposeData() { ILoadReferenceable loadReferenceable = (ILoadReferenceable)this.commTarget; Scribe_References.Look <ILoadReferenceable>(ref loadReferenceable, "commTarget", false); this.commTarget = (ICommunicable)loadReferenceable; Scribe_References.Look <Verb>(ref this.verbToUse, "verbToUse", false); Scribe_References.Look <Bill>(ref this.bill, "bill", false); Scribe_References.Look <Lord>(ref this.lord, "lord", false); Scribe_Defs.Look <CaravanJobDef>(ref this.def, "def"); Scribe_TargetInfo.Look(ref this.targetA, "targetA"); Scribe_TargetInfo.Look(ref this.targetB, "targetB"); Scribe_TargetInfo.Look(ref this.targetC, "targetC"); Scribe_Collections.Look <GlobalTargetInfo>(ref this.targetQueueA, "targetQueueA", LookMode.Undefined, new object[0]); Scribe_Collections.Look <GlobalTargetInfo>(ref this.targetQueueB, "targetQueueB", LookMode.Undefined, new object[0]); Scribe_Values.Look <int>(ref this.count, "count", -1, false); Scribe_Collections.Look <int>(ref this.countQueue, "countQueue", LookMode.Undefined, new object[0]); Scribe_Values.Look <int>(ref this.startTick, "startTick", -1, false); Scribe_Values.Look <int>(ref this.expiryInterval, "expiryInterval", -1, false); Scribe_Values.Look <bool>(ref this.checkOverrideOnExpire, "checkOverrideOnExpire", false, false); Scribe_Values.Look <bool>(ref this.playerForced, "playerForced", false, false); Scribe_Collections.Look <ThingStackPartClass>(ref this.placedThings, "placedThings", LookMode.Undefined, new object[0]); Scribe_Values.Look <int>(ref this.maxNumMeleeAttacks, "maxNumMeleeAttacks", 2147483647, false); Scribe_Values.Look <int>(ref this.maxNumStaticAttacks, "maxNumStaticAttacks", 2147483647, false); Scribe_Values.Look <bool>(ref this.exitMapOnArrival, "exitMapOnArrival", false, false); Scribe_Values.Look <bool>(ref this.failIfCantJoinOrCreateCaravan, "failIfCantJoinOrCreateCaravan", false, false); Scribe_Values.Look <bool>(ref this.killIncappedTarget, "killIncappedTarget", false, false); Scribe_Values.Look <bool>(ref this.haulOpportunisticDuplicates, "haulOpportunisticDuplicates", false, false); Scribe_Values.Look <HaulMode>(ref this.haulMode, "haulMode", HaulMode.Undefined, false); Scribe_Defs.Look <ThingDef>(ref this.plantDefToSow, "plantDefToSow"); Scribe_Values.Look <LocomotionUrgency>(ref this.locomotionUrgency, "locomotionUrgency", LocomotionUrgency.Jog, false); Scribe_Values.Look <bool>(ref this.ignoreDesignations, "ignoreDesignations", false, false); Scribe_Values.Look <bool>(ref this.canBash, "canBash", false, false); Scribe_Values.Look <bool>(ref this.haulDroppedApparel, "haulDroppedApparel", false, false); Scribe_Values.Look <bool>(ref this.restUntilHealed, "restUntilHealed", false, false); Scribe_Values.Look <bool>(ref this.ignoreJoyTimeAssignment, "ignoreJoyTimeAssignment", false, false); Scribe_Values.Look <bool>(ref this.overeat, "overeat", false, false); Scribe_Values.Look <bool>(ref this.attackDoorIfTargetLost, "attackDoorIfTargetLost", false, false); Scribe_Values.Look <int>(ref this.takeExtraIngestibles, "takeExtraIngestibles", 0, false); Scribe_Values.Look <bool>(ref this.expireRequiresEnemiesNearby, "expireRequiresEnemiesNearby", false, false); Scribe_Values.Look <bool>(ref this.collideWithCaravans, "collideWithCaravans", false, false); }
public void ExposeData() { if (!TargetsDone.Values.ToList().NullOrEmpty()) { tempInts = TargetsDone.Values.ToList(); } Scribe_Values.Look(ref type, "type"); Scribe_Values.Look(ref count, "count"); Scribe_Collections.Look(ref tempInts, "tempInts", LookMode.Value); Scribe_Collections.Look <Thing, int>(ref CurrentlyOwnedTargets, "TempOwned", LookMode.Deep, LookMode.Value); Scribe_Collections.Look(ref trackedPawns, "trackedPawns", LookMode.Value); Scribe_TargetInfo.Look(ref LastTarget, "lastTarget"); if (Scribe.mode == LoadSaveMode.LoadingVars) { for (int i = 0; i < targetSettings.targets.Count; i++) { TargetsDone.Add(targetSettings.targets[i], tempInts[i]); } } }
public override void PostExposeData() { base.PostExposeData(); Scribe_TargetInfo.Look(ref this.forcedTarget, "forcedTarget" + Props.gizmoID); Scribe_TargetInfo.Look(ref this.lastAttackedTarget, "lastAttackedTarget" + Props.gizmoID); Scribe_Deep.Look <ThingOwner>(ref this.innerContainer, "innerContainer" + Props.gizmoID, new object[] { this }); Scribe_Values.Look <int>(ref this.lastAttackTargetTick, "lastAttackTargetTick" + Props.gizmoID, 0, false); Scribe_Values.Look <int>(ref this.stunedticks, "stunedticks" + Props.gizmoID, 0, false); Scribe_Values.Look <int>(ref this.remainingCharges, "remainingCharges" + Props.gizmoID, -999, false); Scribe_Deep.Look <VerbTracker>(ref this.verbTracker, "verbTracker" + Props.gizmoID, new object[] { this }); if (Scribe.mode == LoadSaveMode.PostLoadInit && this.remainingCharges == -999) { this.remainingCharges = this.MaxCharges; } }
public override void ExposeData() { base.ExposeData(); Scribe_Values.Look(ref FireTicks, "coil_fireTicks", -1); Scribe_Values.Look(ref CurrentState, "coil_state", State.Idle); Scribe_TargetInfo.Look(ref CurrentTargetInfo, "coil_target", LocalTargetInfo.Invalid); Scribe_Values.Look(ref LastKnowPos, "coil_lastKnownPos"); Scribe_Values.Look(ref Recoil, "coil_recoil"); Scribe_Values.Look(ref RecoilVel, "coil_recoilVel"); Scribe_Values.Look(ref ticksSinceCapacitorRefresh, "coil_ticksSinceCapRefresh"); Scribe_Collections.Look(ref rawCapacitors, "coil_rawCaps", LookMode.Reference); rawCapacitors ??= new List <Building_Capacitor>(); Scribe_Defs.Look(ref shellDef, "coil_shellDef"); if (Scribe.mode == LoadSaveMode.LoadingVars) { ReplaceFuelProps(GetComp <CompRefuelable>()); } CurrentShellDef = shellDef; }
public void ExposeData() { Scribe_Defs.Look <CannonDef>(ref cannonDef, "cannonDef"); Scribe_Values.Look(ref uniqueID, "uniqueID", -1); Scribe_Values.Look(ref cooldownTicks, "cooldownTicks"); Scribe_Values.Look(ref cannonRenderOffset, "cannonRenderOffset"); Scribe_Values.Look(ref cannonRenderLocation, "cannonRenderLocation"); Scribe_Values.Look(ref currentRotation, "currentRotation", defaultAngleRotated - 90); Scribe_Values.Look(ref rotationTargeted, "rotationTargeted", defaultAngleRotated - 90); Scribe_Values.Look(ref targetPersists, "targetPersists"); Scribe_Values.Look(ref autoTargeting, "autoTargeting"); Scribe_Values.Look(ref manualTargeting, "manualTargeting"); Scribe_Values.Look(ref aimPieOffset, "aimPieOffset"); Scribe_Values.Look(ref angleRestricted, "angleRestricted"); Scribe_Values.Look(ref baseCannonRenderLocation, "baseCannonRenderLocation"); Scribe_Values.Look(ref cannonTurretDrawSize, "cannonTurretDrawSize"); Scribe_Values.Look(ref baseCannonDrawSize, "baseCannonDrawSize"); Scribe_Values.Look(ref drawLayer, "drawLayer"); Scribe_Values.Look(ref parentKey, "parentKey"); Scribe_Values.Look(ref key, "key"); Scribe_References.Look(ref pawn, "pawn"); Scribe_Defs.Look(ref loadedAmmo, "loadedAmmo"); Scribe_Defs.Look(ref savedAmmoType, "savedAmmoType"); Scribe_Values.Look(ref shellCount, "shellCount"); Scribe_Values.Look(ref gizmoLabel, "gizmoLabel"); Scribe_Collections.Look(ref cannonGroupDict, "cannonGroupDict"); Scribe_TargetInfo.Look(ref cannonTarget, "cannonTarget", LocalTargetInfo.Invalid); }
/* * *** End of class variables *** */ #region Methods #region Expose /// <summary> /// Saves new variables shotAngle, shotHeight, shotSpeed. /// </summary> public override void ExposeData() { base.ExposeData(); if (Scribe.mode == LoadSaveMode.Saving && launcher != null && launcher.Destroyed) { launcher = null; } Scribe_Values.Look <Vector2>(ref origin, "origin", default(Vector2), true); Scribe_Values.Look <int>(ref ticksToImpact, "ticksToImpact", 0, true); Scribe_TargetInfo.Look(ref intendedTarget, "intendedTarget"); Scribe_References.Look <Thing>(ref launcher, "launcher"); Scribe_Defs.Look <ThingDef>(ref equipmentDef, "equipmentDef"); Scribe_Values.Look <bool>(ref landed, "landed"); //Here be new variables Scribe_Values.Look(ref shotAngle, "shotAngle", 0f, true); Scribe_Values.Look(ref shotRotation, "shotRotation", 0f, true); Scribe_Values.Look(ref shotHeight, "shotHeight", 0f, true); Scribe_Values.Look(ref shotSpeed, "shotSpeed", 0f, true); Scribe_Values.Look <bool>(ref canTargetSelf, "canTargetSelf"); Scribe_Values.Look <bool>(ref logMisses, "logMisses", true); Scribe_Values.Look <bool>(ref castShadow, "castShadow", true); // To insure saves don't get affected.. Thing target = null; if (Scribe.mode != LoadSaveMode.Saving) { Scribe_References.Look <Thing>(ref target, "intendedTarget"); if (target != null) { intendedTarget = new LocalTargetInfo(target); } } }
public void ExposeData() { if (Scribe.mode == LoadSaveMode.Saving) { this.lastJobGiverKey = ((this.lastJobGiver == null) ? -1 : this.lastJobGiver.UniqueSaveKey); } Scribe_Values.Look <int>(ref this.lastJobGiverKey, "lastJobGiverKey", -1, false); if (Scribe.mode == LoadSaveMode.PostLoadInit && this.lastJobGiverKey != -1 && !this.lastJobGiverThinkTree.TryGetThinkNodeWithSaveKey(this.lastJobGiverKey, out this.lastJobGiver)) { Log.Warning("Could not find think node with key " + this.lastJobGiverKey); } Scribe_References.Look <Pawn>(ref this.meleeThreat, "meleeThreat", false); Scribe_References.Look <Thing>(ref this.enemyTarget, "enemyTarget", false); Scribe_References.Look <Thing>(ref this.knownExploder, "knownExploder", false); Scribe_References.Look <Thing>(ref this.lastMannedThing, "lastMannedThing", false); Scribe_Defs.Look <ThinkTreeDef>(ref this.lastJobGiverThinkTree, "lastJobGiverThinkTree"); Scribe_TargetInfo.Look(ref this.lastAttackedTarget, "lastAttackedTarget"); Scribe_Collections.Look <int, int>(ref this.thinkData, "thinkData", LookMode.Value, LookMode.Value); Scribe_Values.Look <bool>(ref this.activeInt, "active", true, false); Scribe_Values.Look <JobTag>(ref this.lastJobTag, "lastJobTag", JobTag.Misc, false); Scribe_Values.Look <int>(ref this.lastIngestTick, "lastIngestTick", -99999, false); Scribe_Values.Look <int>(ref this.nextApparelOptimizeTick, "nextApparelOptimizeTick", -99999, false); Scribe_Values.Look <int>(ref this.lastEngageTargetTick, "lastEngageTargetTick", 0, false); Scribe_Values.Look <int>(ref this.lastAttackTargetTick, "lastAttackTargetTick", 0, false); Scribe_Values.Look <bool>(ref this.canFleeIndividual, "canFleeIndividual", false, false); Scribe_Values.Look <int>(ref this.exitMapAfterTick, "exitMapAfterTick", -99999, false); Scribe_Values.Look <IntVec3>(ref this.forcedGotoPosition, "forcedGotoPosition", IntVec3.Invalid, false); Scribe_Values.Look <int>(ref this.lastMeleeThreatHarmTick, "lastMeleeThreatHarmTick", 0, false); Scribe_Values.Look <int>(ref this.lastAssignedInteractTime, "lastAssignedInteractTime", -99999, false); Scribe_Values.Look <int>(ref this.lastInventoryRawFoodUseTick, "lastInventoryRawFoodUseTick", 0, false); Scribe_Values.Look <int>(ref this.lastDisturbanceTick, "lastDisturbanceTick", -99999, false); Scribe_Values.Look <bool>(ref this.wantsToTradeWithColony, "wantsToTradeWithColony", false, false); Scribe_Values.Look <int>(ref this.canLovinTick, "canLovinTick", -99999, false); Scribe_Values.Look <int>(ref this.canSleepTick, "canSleepTick", -99999, false); Scribe_Values.Look <bool>(ref this.nextMoveOrderIsWait, "nextMoveOrderIsWait", true, false); Scribe_Values.Look <int>(ref this.lastTakeCombatEnhancingDrugTick, "lastTakeCombatEnhancingDrugTick", -99999, false); Scribe_Values.Look <int>(ref this.lastHarmTick, "lastHarmTick", -99999, false); Scribe_Values.Look <bool>(ref this.anyCloseHostilesRecently, "anyCloseHostilesRecently", false, false); Scribe_Deep.Look <PawnDuty>(ref this.duty, "duty", new object[0]); Scribe_Deep.Look <MentalStateHandler>(ref this.mentalStateHandler, "mentalStateHandler", new object[] { this.pawn }); Scribe_Deep.Look <MentalBreaker>(ref this.mentalBreaker, "mentalBreaker", new object[] { this.pawn }); Scribe_Deep.Look <InspirationHandler>(ref this.inspirationHandler, "inspirationHandler", new object[] { this.pawn }); Scribe_Deep.Look <PriorityWork>(ref this.priorityWork, "priorityWork", new object[] { this.pawn }); Scribe_Values.Look <int>(ref this.applyBedThoughtsTick, "applyBedThoughtsTick", 0, false); Scribe_Values.Look <bool>(ref this.applyBedThoughtsOnLeave, "applyBedThoughtsOnLeave", false, false); Scribe_Values.Look <bool>(ref this.willJoinColonyIfRescued, "willJoinColonyIfRescued", false, false); Scribe_Values.Look <bool>(ref this.wildManEverReachedOutside, "wildManEverReachedOutside", false, false); if (Scribe.mode == LoadSaveMode.PostLoadInit) { BackCompatibility.MindStatePostLoadInit(this); } }
public override void PostExposeData() { Scribe_Values.Look <int>(ref warmupTicksLeft, "warmupTicksLeft"); Scribe_TargetInfo.Look(ref targetedTile, "targetedTile"); base.PostExposeData(); }
public void ExposeData() { ILoadReferenceable refee = (ILoadReferenceable)commTarget; Scribe_References.Look(ref refee, "commTarget"); commTarget = (ICommunicable)refee; Scribe_References.Look(ref verbToUse, "verbToUse"); Scribe_References.Look(ref bill, "bill"); Scribe_References.Look(ref lord, "lord"); Scribe_References.Look(ref quest, "quest"); Scribe_Defs.Look(ref def, "def"); //Scribe_Values.Look(ref loadID, "loadID", 0); Scribe_TargetInfo.Look(ref targetA, "targetA"); Scribe_TargetInfo.Look(ref targetB, "targetB"); Scribe_TargetInfo.Look(ref targetC, "targetC"); Scribe_TargetInfo.Look(ref globalTarget, "globalTarget"); Scribe_Collections.Look(ref targetQueueA, "targetQueueA", LookMode.Undefined); Scribe_Collections.Look(ref targetQueueB, "targetQueueB", LookMode.Undefined); Scribe_Values.Look(ref count, "count", -1); Scribe_Collections.Look(ref countQueue, "countQueue", LookMode.Undefined); Scribe_Values.Look(ref startTick, "startTick", -1); Scribe_Values.Look(ref expiryInterval, "expiryInterval", -1); Scribe_Values.Look(ref checkOverrideOnExpire, "checkOverrideOnExpire", defaultValue: false); Scribe_Values.Look(ref playerForced, "playerForced", defaultValue: false); Scribe_Collections.Look(ref placedThings, "placedThings", LookMode.Undefined); Scribe_Values.Look(ref maxNumMeleeAttacks, "maxNumMeleeAttacks", int.MaxValue); Scribe_Values.Look(ref maxNumStaticAttacks, "maxNumStaticAttacks", int.MaxValue); Scribe_Values.Look(ref exitMapOnArrival, "exitMapOnArrival", defaultValue: false); Scribe_Values.Look(ref failIfCantJoinOrCreateCaravan, "failIfCantJoinOrCreateCaravan", defaultValue: false); Scribe_Values.Look(ref killIncappedTarget, "killIncappedTarget", defaultValue: false); Scribe_Values.Look(ref haulOpportunisticDuplicates, "haulOpportunisticDuplicates", defaultValue: false); Scribe_Values.Look(ref haulMode, "haulMode", HaulMode.Undefined); Scribe_Defs.Look(ref plantDefToSow, "plantDefToSow"); Scribe_Values.Look(ref locomotionUrgency, "locomotionUrgency", LocomotionUrgency.Jog); Scribe_Values.Look(ref ignoreDesignations, "ignoreDesignations", defaultValue: false); Scribe_Values.Look(ref canBash, "canBash", defaultValue: false); Scribe_Values.Look(ref canUseRangedWeapon, "canUseRangedWeapon", defaultValue: true); Scribe_Values.Look(ref haulDroppedApparel, "haulDroppedApparel", defaultValue: false); Scribe_Values.Look(ref restUntilHealed, "restUntilHealed", defaultValue: false); Scribe_Values.Look(ref ignoreJoyTimeAssignment, "ignoreJoyTimeAssignment", defaultValue: false); Scribe_Values.Look(ref overeat, "overeat", defaultValue: false); Scribe_Values.Look(ref attackDoorIfTargetLost, "attackDoorIfTargetLost", defaultValue: false); Scribe_Values.Look(ref takeExtraIngestibles, "takeExtraIngestibles", 0); Scribe_Values.Look(ref expireRequiresEnemiesNearby, "expireRequiresEnemiesNearby", defaultValue: false); Scribe_Values.Look(ref collideWithPawns, "collideWithPawns", defaultValue: false); Scribe_Values.Look(ref forceSleep, "forceSleep", defaultValue: false); Scribe_Defs.Look(ref interaction, "interaction"); Scribe_Values.Look(ref endIfCantShootTargetFromCurPos, "endIfCantShootTargetFromCurPos", defaultValue: false); Scribe_Values.Look(ref endIfCantShootInMelee, "endIfCantShootInMelee", defaultValue: false); Scribe_Values.Look(ref checkEncumbrance, "checkEncumbrance", defaultValue: false); Scribe_Values.Look(ref followRadius, "followRadius", 0f); Scribe_Values.Look(ref endAfterTendedOnce, "endAfterTendedOnce", defaultValue: false); Scribe_Defs.Look(ref workGiverDef, "workGiverDef"); //Scribe_Defs.Look(ref jobGiverThinkTree, "jobGiverThinkTree"); Scribe_Values.Look(ref doUntilGatheringEnded, "doUntilGatheringEnded", defaultValue: false); Scribe_Values.Look(ref psyfocusTargetLast, "psyfocusTargetLast", 0f); Scribe_Values.Look(ref wasOnMeditationTimeAssignment, "wasOnMeditationTimeAssignment", defaultValue: false); Scribe_Values.Look(ref reactingToMeleeThreat, "reactingToMeleeThreat", defaultValue: false); Scribe_References.Look(ref ability, "ability"); //if (Scribe.mode == LoadSaveMode.Saving) //{ // jobGiverKey = ((jobGiver != null) ? jobGiver.UniqueSaveKey : (-1)); //} //Scribe_Values.Look(ref jobGiverKey, "lastJobGiverKey", -1); //if (Scribe.mode == LoadSaveMode.PostLoadInit && jobGiverKey != -1 && !jobGiverThinkTree.TryGetThinkNodeWithSaveKey(jobGiverKey, out jobGiver)) //{ // Log.Warning("Could not find think node with key " + jobGiverKey); //} if (Scribe.mode == LoadSaveMode.PostLoadInit && verbToUse != null && verbToUse.BuggedAfterLoading) { verbToUse = null; Log.Warning(string.Concat(GetType(), " had a bugged verbToUse after loading.")); } }
public static void Look <T>(ref ThreadSafeLinkedList <T> list, bool saveDestroyedThings, string label, LookMode lookMode = LookMode.Undefined, params object[] ctorArgs) { if (lookMode == LookMode.Undefined && !Scribe_Universal.TryResolveLookMode(typeof(T), out lookMode)) { Log.Error(string.Concat("LookList call with a list of ", typeof(T), " must have lookMode set explicitly.")); } else if (Scribe.EnterNode(label)) { try { if (Scribe.mode == LoadSaveMode.Saving) { if (list == null) { Scribe.saver.WriteAttribute("IsNull", "True"); return; } foreach (T item8 in list) { switch (lookMode) { case LookMode.Value: { T value5 = item8; Scribe_Values.Look(ref value5, "li", default(T), forceSave: true); break; } case LookMode.LocalTargetInfo: { LocalTargetInfo value4 = (LocalTargetInfo)(object)item8; Scribe_TargetInfo.Look(ref value4, saveDestroyedThings, "li"); break; } case LookMode.TargetInfo: { TargetInfo value3 = (TargetInfo)(object)item8; Scribe_TargetInfo.Look(ref value3, saveDestroyedThings, "li"); break; } case LookMode.GlobalTargetInfo: { GlobalTargetInfo value2 = (GlobalTargetInfo)(object)item8; Scribe_TargetInfo.Look(ref value2, saveDestroyedThings, "li"); break; } case LookMode.Def: { Def value = (Def)(object)item8; Scribe_Defs.Look(ref value, "li"); break; } case LookMode.BodyPart: { BodyPartRecord part = (BodyPartRecord)(object)item8; Scribe_BodyParts.Look(ref part, "li"); break; } case LookMode.Deep: { T target = item8; Scribe_Deep.Look(ref target, saveDestroyedThings, "li", ctorArgs); break; } case LookMode.Reference: { ILoadReferenceable refee = (ILoadReferenceable)(object)item8; Scribe_References.Look(ref refee, "li", saveDestroyedThings); break; } } } } else if (Scribe.mode == LoadSaveMode.LoadingVars) { XmlNode curXmlParent = Scribe.loader.curXmlParent; XmlAttribute xmlAttribute = curXmlParent.Attributes["IsNull"]; if (xmlAttribute != null && xmlAttribute.Value.ToLower() == "true") { if (lookMode == LookMode.Reference) { Scribe.loader.crossRefs.loadIDs.RegisterLoadIDListReadFromXml(null, null); } list = null; return; } switch (lookMode) { case LookMode.Value: list = new ThreadSafeLinkedList <T>(curXmlParent.ChildNodes.Count); foreach (XmlNode childNode in curXmlParent.ChildNodes) { T item = ScribeExtractor.ValueFromNode(childNode, default(T)); list.Add(item); } break; case LookMode.Deep: list = new ThreadSafeLinkedList <T>(curXmlParent.ChildNodes.Count); foreach (XmlNode childNode2 in curXmlParent.ChildNodes) { T item7 = ScribeExtractor.SaveableFromNode <T>(childNode2, ctorArgs); list.Add(item7); } break; case LookMode.Def: list = new ThreadSafeLinkedList <T>(curXmlParent.ChildNodes.Count); foreach (XmlNode childNode3 in curXmlParent.ChildNodes) { T item6 = ScribeExtractor.DefFromNodeUnsafe <T>(childNode3); list.Add(item6); } break; case LookMode.BodyPart: { list = new ThreadSafeLinkedList <T>(curXmlParent.ChildNodes.Count); int num4 = 0; foreach (XmlNode childNode4 in curXmlParent.ChildNodes) { T item5 = (T)(object)ScribeExtractor.BodyPartFromNode(childNode4, num4.ToString(), null); list.Add(item5); num4++; } break; } case LookMode.LocalTargetInfo: { list = new ThreadSafeLinkedList <T>(curXmlParent.ChildNodes.Count); int num3 = 0; foreach (XmlNode childNode5 in curXmlParent.ChildNodes) { T item4 = (T)(object)ScribeExtractor.LocalTargetInfoFromNode(childNode5, num3.ToString(), LocalTargetInfo.Invalid); list.Add(item4); num3++; } break; } case LookMode.TargetInfo: { list = new ThreadSafeLinkedList <T>(curXmlParent.ChildNodes.Count); int num2 = 0; foreach (XmlNode childNode6 in curXmlParent.ChildNodes) { T item3 = (T)(object)ScribeExtractor.TargetInfoFromNode(childNode6, num2.ToString(), TargetInfo.Invalid); list.Add(item3); num2++; } break; } case LookMode.GlobalTargetInfo: { list = new ThreadSafeLinkedList <T>(curXmlParent.ChildNodes.Count); int num = 0; foreach (XmlNode childNode7 in curXmlParent.ChildNodes) { T item2 = (T)(object)ScribeExtractor.GlobalTargetInfoFromNode(childNode7, num.ToString(), GlobalTargetInfo.Invalid); list.Add(item2); num++; } break; } case LookMode.Reference: { List <string> list2 = new List <string>(curXmlParent.ChildNodes.Count); foreach (XmlNode childNode8 in curXmlParent.ChildNodes) { list2.Add(childNode8.InnerText); } Scribe.loader.crossRefs.loadIDs.RegisterLoadIDListReadFromXml(list2, ""); break; } } } else { if (Scribe.mode != LoadSaveMode.ResolvingCrossRefs) { return; } switch (lookMode) { case LookMode.Reference: list = TakeResolvedRefList <T>(Scribe.loader.crossRefs, ""); break; case LookMode.LocalTargetInfo: if (list != null) { for (int j = 0; j < list.Count; j++) { list[j] = (T)(object)ScribeExtractor.ResolveLocalTargetInfo((LocalTargetInfo)(object)list[j], j.ToString()); } } break; case LookMode.TargetInfo: if (list != null) { for (int k = 0; k < list.Count; k++) { list[k] = (T)(object)ScribeExtractor.ResolveTargetInfo((TargetInfo)(object)list[k], k.ToString()); } } break; case LookMode.GlobalTargetInfo: if (list != null) { for (int i = 0; i < list.Count; i++) { list[i] = (T)(object)ScribeExtractor.ResolveGlobalTargetInfo((GlobalTargetInfo)(object)list[i], i.ToString()); } } break; } return; } } finally { Scribe.ExitNode(); } } else if (Scribe.mode == LoadSaveMode.LoadingVars) { if (lookMode == LookMode.Reference) { Scribe.loader.crossRefs.loadIDs.RegisterLoadIDListReadFromXml(null, label); } list = null; } }