//not present in CompChangeableProjectiles public void DrawBed() { if (blanketDef != null && blanket != null) { Building_Blanket blanket = this.blanket as Building_Blanket; bool invertedColorDisplay = (SoftWarmBedsSettings.colorDisplayOption == ColorDisplayOption.Blanket); if (invertedColorDisplay) { blanket.DrawColor = parent.Graphic.colorTwo; blanket.colorTwo = blanketStuff.stuffProps.color; } else { blanket.DrawColor = blanketStuff.stuffProps.color; if (parent.DrawColorTwo == parent.DrawColor) { blanket.colorTwo = BlanketDefaultColor; } else { blanket.colorTwo = parent.Graphic.colorTwo; } } this.blanket.Graphic.Draw(parent.DrawPos + Altitudes.AltIncVect, parent.Rotation, this.blanket); } }
//modified from CompChangeableProjectiles public void LoadBedding(ThingDef beddingDef, Thing bedding) { loaded = true; loadedBedding = beddingDef; blanketStuff = bedding.Stuff; //if (this.bedding.TryGetComp<CompColorable>().Active) //test //{ // blanketColor = bedding.TryGetComp<CompColorable>().Color; //} //else //{ // blanketColor = blanketStuff.stuffProps.color; //} if (blanketDef != null) { this.bedding = ThingMaker.MakeThing(blanketDef, blanketStuff); Building_Blanket blanket = this.bedding as Building_Blanket; //blanket.TryGetComp<CompColorable>().Color = blanketColor; //blanket.hasColor = true; DrawBed(); } parent.Notify_ColorChanged(); wantSwitchOn = true; switchOnInt = true; }
public override void PostSplitOff(Thing bedding) { if (blanketDef != null && this.blanket != null) { Building_Blanket blanket = this.blanket as Building_Blanket; //if (blanket.hasColor) //{ blanket.colorTwo = parent.Graphic.colorTwo; parent.Notify_ColorChanged(); //} } }
public override void PostExposeData() { Scribe_Values.Look <bool>(ref loaded, "loaded", false, false); Scribe_Defs.Look <ThingDef>(ref loadedBedding, "loadedBedding"); Scribe_Deep.Look <Thing>(ref bedding, "bedding", new object[0]); Scribe_Defs.Look <ThingDef>(ref blanketStuff, "blanketStuff"); if (loaded && blanketDef != null) { Building_Blanket blanket = bedding as Building_Blanket; //Scribe_Values.Look<bool>(ref blanket.hasColor, "hasColor", false, false); } Scribe_Deep.Look <StorageSettings>(ref settings, "settings", new object[] { this }); if (settings == null) { SetUpStorageSettings(); } }