public void ApplyApparelColor(Apparel a) { #if DEBUG || DEBUG_APPAREL_COLOR Log.Warning("Start PawnOutfitTracker.ApplyApparelColor (Apparel: " + a.Label + ")"); #endif int layer = Util.ToInt(this.GetOuterMostLayer(a)); if (this.ApparelColors != null && this.ApparelColors.Count > layer) { SlotColor slotColor = this.ApparelColors[layer]; //a.DrawColor = slotColor.Color; CompColorableUtility.SetColor(a, slotColor.Color, true); /*foreach (ApparelLayerDef layer in a.def.apparel.layers) * { * SlotColor slotColor = this.ApparelColors[(int)layer]; * if (slotColor.IsAssigned) * { * a.DrawColor = slotColor.Color; #if DEBUG || DEBUG_APPAREL_COLOR * Log.Warning(" Setting layer " + layer + " color to: " + slotColor.Color); #endif * break; * } #if DEBUG || DEBUG_APPAREL_COLOR * else * { * Log.Warning(" No color assigned for layer " + layer); * } #endif * }*/ } #if DEBUG || DEBUG_APPAREL_COLOR Log.Warning("End PawnOutfitTracker.ApplyApparelColor (Apparel: " + a.Label + ")"); #endif }
private void UpdatePawn(object sender, object value) { if (sender != null) { Pawn pawn = this.dresserDto.Pawn; if (sender is ApparelColorSelectionDTO) { if (this.ApparelWithColorChange != null) { ApparelColorSelectionDTO dto = (ApparelColorSelectionDTO)sender; CompColorableUtility.SetColor(dto.Apparel, dto.SelectedColor, true); if (!this.ApparelWithColorChange.Contains(dto.Apparel)) { this.ApparelWithColorChange.Add(dto.Apparel); } } } if (sender is BodyTypeSelectionDTO) { pawn.story.bodyType = (BodyTypeDef)value; } else if (sender is GenderSelectionDTO) { pawn.gender = (Gender)value; } else if (sender is HairColorSelectionDTO) { pawn.story.hairColor = (Color)value; } else if (sender is HairStyleSelectionDTO) { pawn.story.hairDef = (HairDef)value; } else if (sender is HeadTypeSelectionDTO) { if (value.ToString().IndexOf("Narrow") >= 0 || value.ToString().IndexOf("narrow") >= 0) { dresserDto.Pawn.story.crownType = CrownType.Narrow; } else { dresserDto.Pawn.story.crownType = CrownType.Average; } typeof(Pawn_StoryTracker).GetField("headGraphicPath", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(dresserDto.Pawn.story, value); } else if (sender is SliderWidgetDTO) { pawn.story.melanin = (float)value; } } rerenderPawn = true; }
private void UpdatePawn(object sender, object value) { if (sender != null) { Pawn pawn = this.dresserDto.Pawn; if (sender is ApparelColorSelectionDTO) { ApparelColorSelectionDTO dto = (ApparelColorSelectionDTO)sender; CompColorableUtility.SetColor(dto.Apparel, dto.SelectedColor, true); } if (sender is BodyTypeSelectionDTO) { pawn.story.bodyType = (BodyType)value; } else if (sender is GenderSelectionDTO) { pawn.gender = (Gender)value; } else if (sender is HairColorSelectionDTO) { pawn.story.hairColor = (Color)value; } else if (sender is HairStyleSelectionDTO) { pawn.story.hairDef = (HairDef)value; } else if (sender is HeadTypeSelectionDTO) { typeof(Pawn_StoryTracker).GetField("headGraphicPath", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(dresserDto.Pawn.story, value); } else if (sender is SliderWidgetDTO) { pawn.story.melanin = (float)value; } } rerenderPawn = true; }
private void UpdatePawn(object sender, object value) { if (sender != null) { Pawn pawn = this.dresserDto.Pawn; if (sender is ApparelColorSelectionDTO) { if (this.ApparelWithColorChange == null) { this.ApparelWithColorChange = new List <Apparel>(); } ApparelColorSelectionDTO dto = (ApparelColorSelectionDTO)sender; CompColorableUtility.SetColor(dto.Apparel, dto.SelectedColor, true); if (!this.ApparelWithColorChange.Contains(dto.Apparel)) { this.ApparelWithColorChange.Add(dto.Apparel); } } else if (sender is ApparelLayerColorSelectionDTO) { if (this.ApparelWithColorChange == null) { this.ApparelWithColorChange = new List <Apparel>(); } ApparelLayerColorSelectionDTO dto = (ApparelLayerColorSelectionDTO)sender; foreach (Apparel a in this.dresserDto.Pawn.apparel.WornApparel) { Color c = a.DrawColor; if (a.DrawColor != c && !this.ApparelWithColorChange.Contains(a)) { this.ApparelWithColorChange.Add(a); } } } else if (sender is BodyTypeSelectionDTO) { pawn.story.bodyType = (BodyTypeDef)value; } else if (sender is GenderSelectionDTO) { pawn.gender = (Gender)value; } else if (sender is HairColorSelectionDTO) { if ((sender as HairColorSelectionDTO).IsGradientEnabled) { GradientHairColorUtil.SetGradientHair(pawn, true, (Color)value); } else { pawn.story.hairColor = (Color)value; } } else if (sender is HairStyleSelectionDTO) { pawn.story.hairDef = (HairDef)value; } else if (sender is HeadTypeSelectionDTO) { dresserDto.SetCrownType(value); } else if (sender is SliderWidgetDTO) { pawn.story.melanin = (float)value; } } rerenderPawn = true; }
private void UpdatePawn(object sender, object value) { if (sender != null) { Pawn pawn = this.dresserDto.Pawn; if (sender is ApparelColorSelectionDTO) { if (this.ApparelWithColorChange == null) { this.ApparelWithColorChange = new List <Apparel>(); } ApparelColorSelectionDTO dto = (ApparelColorSelectionDTO)sender; CompColorableUtility.SetColor(dto.Apparel, dto.SelectedColor, true); if (!this.ApparelWithColorChange.Contains(dto.Apparel)) { this.ApparelWithColorChange.Add(dto.Apparel); } } else if (sender is ApparelLayerColorSelectionDTO) { if (this.ApparelWithColorChange == null) { this.ApparelWithColorChange = new List <Apparel>(); } ApparelLayerColorSelectionDTO dto = (ApparelLayerColorSelectionDTO)sender; dto.PawnOutfitTracker.SetLayerColor(dto.ApparelLayerDef, dto.SelectedColor); foreach (Apparel a in this.dresserDto.Pawn.apparel.WornApparel) { Color c = a.DrawColor; dto.PawnOutfitTracker.ApplyApparelColor(a); if (a.DrawColor != c && !this.ApparelWithColorChange.Contains(a)) { this.ApparelWithColorChange.Add(a); } } } else if (sender is BodyTypeSelectionDTO) { pawn.story.bodyType = (BodyTypeDef)value; } else if (sender is GenderSelectionDTO) { pawn.gender = (Gender)value; } else if (sender is HairColorSelectionDTO) { if ((sender as HairColorSelectionDTO).IsGradientEnabled) { GradientHairColorUtil.SetGradientHair(pawn, true, (Color)value); } else { pawn.story.hairColor = (Color)value; } } else if (sender is HairStyleSelectionDTO) { pawn.story.hairDef = (HairDef)value; } else if (sender is HeadTypeSelectionDTO) { if (value.ToString().IndexOf("Narrow") >= 0 || value.ToString().IndexOf("narrow") >= 0) { dresserDto.Pawn.story.crownType = CrownType.Narrow; } else { dresserDto.Pawn.story.crownType = CrownType.Average; } typeof(Pawn_StoryTracker).GetField("headGraphicPath", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(dresserDto.Pawn.story, value); } else if (sender is SliderWidgetDTO) { pawn.story.melanin = (float)value; } } rerenderPawn = true; }