private void DrawColonistMouseAttachment(int index, Vector2 dragStartPos, int entryGroup) { Pawn pawn = null; Vector2 vector = default(Vector2); int num = 0; for (int i = 0; i < this.cachedEntries.Count; i++) { if (this.cachedEntries[i].group == entryGroup && this.cachedEntries[i].pawn != null) { if (num == index) { pawn = this.cachedEntries[i].pawn; vector = this.cachedDrawLocs[i]; break; } num++; } } if (pawn != null) { RenderTexture renderTexture = PortraitsCache.Get(pawn, ColonistBarColonistDrawer.PawnTextureSize, ColonistBarColonistDrawer.PawnTextureCameraOffset, 1.28205f); Rect rect = new Rect(vector.x, vector.y, this.Size.x, this.Size.y); Rect pawnTextureRect = this.drawer.GetPawnTextureRect(rect.position); pawnTextureRect.position += Event.current.mousePosition - dragStartPos; RenderTexture iconTex = renderTexture; Rect? customRect = new Rect?(pawnTextureRect); GenUI.DrawMouseAttachment(iconTex, string.Empty, 0f, default(Vector2), customRect); } }
public void DrawColonistMouseAttachment(int index, Vector2 dragStartPos, int entryGroup) { Pawn pawn = null; Vector2 vector = default(Vector2); int num = 0; for (int i = 0; i < cachedEntries.Count; i++) { if (cachedEntries[i].group == entryGroup && cachedEntries[i].pawn != null) { if (num == index) { pawn = cachedEntries[i].pawn; vector = cachedDrawLocs[i]; break; } num++; } } if (pawn != null) { RenderTexture iconTex = PortraitsCache.Get(pawn, ColonistBarColonistDrawer.PawnTextureSize, ColonistBarColonistDrawer.PawnTextureCameraOffset, 1.28205f); Rect rect = new Rect(vector.x, vector.y, Size.x, Size.y); Rect pawnTextureRect = drawer.GetPawnTextureRect(rect.position); pawnTextureRect.position += Event.current.mousePosition - dragStartPos; GenUI.DrawMouseAttachment(iconTex, "", 0f, default(Vector2), pawnTextureRect); } }
public void DrawColonist(Rect rect, Pawn colonist, Map pawnMap, bool highlight, bool reordering) { float num = this.ColonistBar.GetEntryRectAlpha(rect); this.ApplyEntryInAnotherMapAlphaFactor(pawnMap, ref num); if (reordering) { num *= 0.5f; } Color color = new Color(1f, 1f, 1f, num); GUI.color = color; GUI.DrawTexture(rect, ColonistBar.BGTex); if (colonist.needs != null && colonist.needs.mood != null) { Rect position = rect.ContractedBy(2f); float num2 = position.height * colonist.needs.mood.CurLevelPercentage; position.yMin = position.yMax - num2; position.height = num2; GUI.DrawTexture(position, ColonistBarColonistDrawer.MoodBGTex); } if (highlight) { int thickness = (rect.width > 22f) ? 3 : 2; GUI.color = Color.white; Widgets.DrawBox(rect, thickness); GUI.color = color; } Rect rect2 = rect.ContractedBy(-2f * this.ColonistBar.Scale); bool flag = (!colonist.Dead) ? Find.Selector.SelectedObjects.Contains(colonist) : Find.Selector.SelectedObjects.Contains(colonist.Corpse); if (flag && !WorldRendererUtility.WorldRenderedNow) { this.DrawSelectionOverlayOnGUI(colonist, rect2); } else if (WorldRendererUtility.WorldRenderedNow && colonist.IsCaravanMember() && Find.WorldSelector.IsSelected(colonist.GetCaravan())) { this.DrawCaravanSelectionOverlayOnGUI(colonist.GetCaravan(), rect2); } GUI.DrawTexture(this.GetPawnTextureRect(rect.position), PortraitsCache.Get(colonist, ColonistBarColonistDrawer.PawnTextureSize, ColonistBarColonistDrawer.PawnTextureCameraOffset, 1.28205f)); GUI.color = new Color(1f, 1f, 1f, num * 0.8f); this.DrawIcons(rect, colonist); GUI.color = color; if (colonist.Dead) { GUI.DrawTexture(rect, ColonistBarColonistDrawer.DeadColonistTex); } float num3 = 4f * this.ColonistBar.Scale; Vector2 pos = new Vector2(rect.center.x, rect.yMax - num3); GenMapUI.DrawPawnLabel(colonist, pos, num, rect.width + this.ColonistBar.SpaceBetweenColonistsHorizontal - 2f, this.pawnLabelsCache, GameFont.Tiny, true, true); Text.Font = GameFont.Small; GUI.color = Color.white; }
public void DrawColonist(Rect rect, Pawn colonist, Map pawnMap, bool highlight, bool reordering) { float alpha = ColonistBar.GetEntryRectAlpha(rect); ApplyEntryInAnotherMapAlphaFactor(pawnMap, ref alpha); if (reordering) { alpha *= 0.5f; } Color color2 = (GUI.color = new Color(1f, 1f, 1f, alpha)); GUI.DrawTexture(rect, ColonistBar.BGTex); if (colonist.needs != null && colonist.needs.mood != null) { Rect position = rect.ContractedBy(2f); float num = position.height * colonist.needs.mood.CurLevelPercentage; position.yMin = position.yMax - num; position.height = num; GUI.DrawTexture(position, MoodBGTex); } if (highlight) { int thickness = ((rect.width <= 22f) ? 2 : 3); GUI.color = Color.white; Widgets.DrawBox(rect, thickness); GUI.color = color2; } Rect rect2 = rect.ContractedBy(-2f * ColonistBar.Scale); if ((colonist.Dead ? Find.Selector.SelectedObjects.Contains(colonist.Corpse) : Find.Selector.SelectedObjects.Contains(colonist)) && !WorldRendererUtility.WorldRenderedNow) { DrawSelectionOverlayOnGUI(colonist, rect2); } else if (WorldRendererUtility.WorldRenderedNow && colonist.IsCaravanMember() && Find.WorldSelector.IsSelected(colonist.GetCaravan())) { DrawCaravanSelectionOverlayOnGUI(colonist.GetCaravan(), rect2); } GUI.DrawTexture(GetPawnTextureRect(rect.position), PortraitsCache.Get(colonist, PawnTextureSize, PawnTextureCameraOffset, 1.28205f)); GUI.color = new Color(1f, 1f, 1f, alpha * 0.8f); DrawIcons(rect, colonist); GUI.color = color2; if (colonist.Dead) { GUI.DrawTexture(rect, DeadColonistTex); } float num2 = 4f * ColonistBar.Scale; Vector2 pos = new Vector2(rect.center.x, rect.yMax - num2); GenMapUI.DrawPawnLabel(colonist, pos, alpha, rect.width + ColonistBar.SpaceBetweenColonistsHorizontal - 2f, pawnLabelsCache); Text.Font = GameFont.Small; GUI.color = Color.white; }
public void DrawColonist(Rect rect, Pawn colonist, Map pawnMap) { float entryRectAlpha = this.ColonistBar.GetEntryRectAlpha(rect); this.ApplyEntryInAnotherMapAlphaFactor(pawnMap, ref entryRectAlpha); bool flag = (!colonist.Dead) ? Find.Selector.SelectedObjects.Contains(colonist) : Find.Selector.SelectedObjects.Contains(colonist.Corpse); Color color2 = GUI.color = new Color(1f, 1f, 1f, entryRectAlpha); GUI.DrawTexture(rect, ColonistBar.BGTex); if (colonist.needs != null && colonist.needs.mood != null) { Rect position = rect.ContractedBy(2f); float num = position.height * colonist.needs.mood.CurLevelPercentage; position.yMin = position.yMax - num; position.height = num; GUI.DrawTexture(position, ColonistBarColonistDrawer.MoodBGTex); } Rect rect2 = rect.ContractedBy((float)(-2.0 * this.ColonistBar.Scale)); if (flag && !WorldRendererUtility.WorldRenderedNow) { this.DrawSelectionOverlayOnGUI(colonist, rect2); } else if (WorldRendererUtility.WorldRenderedNow && colonist.IsCaravanMember() && Find.WorldSelector.IsSelected(colonist.GetCaravan())) { this.DrawCaravanSelectionOverlayOnGUI(colonist.GetCaravan(), rect2); } GUI.DrawTexture(this.GetPawnTextureRect(rect.x, rect.y), PortraitsCache.Get(colonist, ColonistBarColonistDrawer.PawnTextureSize, ColonistBarColonistDrawer.PawnTextureCameraOffset, 1.28205f)); GUI.color = new Color(1f, 1f, 1f, (float)(entryRectAlpha * 0.800000011920929)); this.DrawIcons(rect, colonist); GUI.color = color2; if (colonist.Dead) { GUI.DrawTexture(rect, ColonistBarColonistDrawer.DeadColonistTex); } float num2 = (float)(4.0 * this.ColonistBar.Scale); Vector2 center = rect.center; Vector2 pos = new Vector2(center.x, rect.yMax - num2); GenMapUI.DrawPawnLabel(colonist, pos, entryRectAlpha, (float)(rect.width + this.ColonistBar.SpaceBetweenColonistsHorizontal - 2.0), this.pawnLabelsCache, GameFont.Tiny, true, true); Text.Font = GameFont.Small; GUI.color = Color.white; }
private void DrawColonistMouseAttachment(int index, Vector2 dragStartPos, int entryGroup) { Pawn pawn = null; Vector2 vector = default(Vector2); int num = 0; for (int i = 0; i < cachedEntries.Count; i++) { Entry entry = cachedEntries[i]; if (entry.group == entryGroup) { Entry entry2 = cachedEntries[i]; if (entry2.pawn != null) { if (num == index) { Entry entry3 = cachedEntries[i]; pawn = entry3.pawn; vector = cachedDrawLocs[i]; break; } num++; } } } if (pawn != null) { RenderTexture renderTexture = PortraitsCache.Get(pawn, ColonistBarColonistDrawer.PawnTextureSize, ColonistBarColonistDrawer.PawnTextureCameraOffset, 1.28205f); float x = vector.x; float y = vector.y; Vector2 size = Size; float x2 = size.x; Vector2 size2 = Size; Rect rect = new Rect(x, y, x2, size2.y); Rect pawnTextureRect = drawer.GetPawnTextureRect(rect.position); pawnTextureRect.position += Event.current.mousePosition - dragStartPos; RenderTexture iconTex = renderTexture; Rect? customRect = pawnTextureRect; GenUI.DrawMouseAttachment(iconTex, string.Empty, 0f, default(Vector2), customRect); } }
private void DrawPortraitArea(Rect rect) { Widgets.DrawMenuSection(rect); rect = rect.ContractedBy(17f); Vector2 center = rect.center; float x = center.x; Vector2 pawnPortraitSize = Page_ConfigureStartingPawns.PawnPortraitSize; double x2 = x - pawnPortraitSize.x / 2.0; double y = rect.yMin - 20.0; Vector2 pawnPortraitSize2 = Page_ConfigureStartingPawns.PawnPortraitSize; float x3 = pawnPortraitSize2.x; Vector2 pawnPortraitSize3 = Page_ConfigureStartingPawns.PawnPortraitSize; GUI.DrawTexture(new Rect((float)x2, (float)y, x3, pawnPortraitSize3.y), PortraitsCache.Get(this.curPawn, Page_ConfigureStartingPawns.PawnPortraitSize, default(Vector3), 1f)); Rect rect2 = rect; rect2.width = 500f; CharacterCardUtility.DrawCharacterCard(rect2, this.curPawn, this.RandomizeCurPawn, rect); Rect rect3 = rect; rect3.yMin += 100f; rect3.xMin = (float)(rect2.xMax + 5.0); rect3.height = 200f; Text.Font = GameFont.Medium; Widgets.Label(rect3, "Health".Translate()); Text.Font = GameFont.Small; rect3.yMin += 35f; HealthCardUtility.DrawHediffListing(rect3, this.curPawn, true); Rect rect4 = new Rect(rect3.x, rect3.yMax, rect3.width, 200f); Text.Font = GameFont.Medium; Widgets.Label(rect4, "Relations".Translate()); Text.Font = GameFont.Small; rect4.yMin += 35f; SocialCardUtility.DrawRelationsAndOpinions(rect4, this.curPawn); }
private void DrawPortraitArea(Rect rect) { Widgets.DrawMenuSection(rect); rect = rect.ContractedBy(17f); Vector2 center = rect.center; float x = center.x; Vector2 pawnPortraitSize = PawnPortraitSize; float x2 = x - pawnPortraitSize.x / 2f; float y = rect.yMin - 20f; Vector2 pawnPortraitSize2 = PawnPortraitSize; float x3 = pawnPortraitSize2.x; Vector2 pawnPortraitSize3 = PawnPortraitSize; GUI.DrawTexture(new Rect(x2, y, x3, pawnPortraitSize3.y), PortraitsCache.Get(curPawn, PawnPortraitSize)); Rect rect2 = rect; rect2.width = 500f; CharacterCardUtility.DrawCharacterCard(rect2, curPawn, RandomizeCurPawn, rect); Rect rect3 = rect; rect3.yMin += 100f; rect3.xMin = rect2.xMax + 5f; rect3.height = 200f; Text.Font = GameFont.Medium; Widgets.Label(rect3, "Health".Translate()); Text.Font = GameFont.Small; rect3.yMin += 35f; HealthCardUtility.DrawHediffListing(rect3, curPawn, showBloodLoss: true); Rect rect4 = new Rect(rect3.x, rect3.yMax, rect3.width, 200f); Text.Font = GameFont.Medium; Widgets.Label(rect4, "Relations".Translate()); Text.Font = GameFont.Small; rect4.yMin += 35f; SocialCardUtility.DrawRelationsAndOpinions(rect4, curPawn); }
private void DrawPawnList(Rect rect) { Rect rect2 = rect; rect2.height = 60f; rect2 = rect2.ContractedBy(4f); int groupID = ReorderableWidget.NewGroup(delegate(int from, int to) { if (TutorSystem.AllowAction("ReorderPawn")) { Pawn item = Find.GameInitData.startingAndOptionalPawns[from]; Find.GameInitData.startingAndOptionalPawns.Insert(to, item); Find.GameInitData.startingAndOptionalPawns.RemoveAt((from < to) ? from : (from + 1)); TutorSystem.Notify_Event("ReorderPawn"); if (to < Find.GameInitData.startingPawnCount && from >= Find.GameInitData.startingPawnCount) { TutorSystem.Notify_Event("ReorderPawnOptionalToStarting"); } } }, ReorderableDirection.Vertical); rect2.y += 15f; DrawPawnListLabelAbove(rect2, "StartingPawnsSelected".Translate()); for (int i = 0; i < Find.GameInitData.startingAndOptionalPawns.Count; i++) { if (i == Find.GameInitData.startingPawnCount) { rect2.y += 30f; DrawPawnListLabelAbove(rect2, "StartingPawnsLeftBehind".Translate()); } Pawn pawn = Find.GameInitData.startingAndOptionalPawns[i]; GUI.BeginGroup(rect2); Rect rect3 = new Rect(Vector2.zero, rect2.size); Widgets.DrawOptionBackground(rect3, curPawn == pawn); MouseoverSounds.DoRegion(rect3); GUI.color = new Color(1f, 1f, 1f, 0.2f); GUI.DrawTexture(new Rect(110f - PawnSelectorPortraitSize.x / 2f, 40f - PawnSelectorPortraitSize.y / 2f, PawnSelectorPortraitSize.x, PawnSelectorPortraitSize.y), PortraitsCache.Get(pawn, PawnSelectorPortraitSize)); GUI.color = Color.white; Rect rect4 = rect3.ContractedBy(4f).Rounded(); NameTriple nameTriple = pawn.Name as NameTriple; Widgets.Label(label: (nameTriple == null) ? pawn.LabelShort : (string.IsNullOrEmpty(nameTriple.Nick) ? nameTriple.First : nameTriple.Nick), rect: rect4.TopPart(0.5f).Rounded()); if (Text.CalcSize(pawn.story.TitleCap).x > rect4.width) { Widgets.Label(rect4.BottomPart(0.5f).Rounded(), pawn.story.TitleShortCap); } else { Widgets.Label(rect4.BottomPart(0.5f).Rounded(), pawn.story.TitleCap); } if (Event.current.type == EventType.MouseDown && Mouse.IsOver(rect3)) { curPawn = pawn; SoundDefOf.Tick_Tiny.PlayOneShotOnCamera(); } GUI.EndGroup(); if (ReorderableWidget.Reorderable(groupID, rect2.ExpandedBy(4f))) { Widgets.DrawRectFast(rect2, Widgets.WindowBGFillColor * new Color(1f, 1f, 1f, 0.5f)); } if (Mouse.IsOver(rect2)) { TooltipHandler.TipRegion(rect2, new TipSignal("DragToReorder".Translate(), pawn.GetHashCode() * 3499)); } rect2.y += 60f; } }
private void DrawPawnList(Rect rect) { Rect rect2 = rect; rect2.height = 60f; rect2 = rect2.ContractedBy(4f); int groupID = ReorderableWidget.NewGroup(delegate(int from, int to) { if (TutorSystem.AllowAction("ReorderPawn")) { Pawn item = Find.GameInitData.startingPawns[from]; Find.GameInitData.startingPawns.RemoveAt(from); Find.GameInitData.startingPawns.Insert(to, item); TutorSystem.Notify_Event("ReorderPawn"); } }); rect2.y += 15f; this.DrawPawnListLabelAbove(rect2, "StartingPawnsSelected".Translate()); for (int i = 0; i < Find.GameInitData.startingPawns.Count; i++) { if (i == Find.GameInitData.startingPawnCount) { rect2.y += 30f; this.DrawPawnListLabelAbove(rect2, "StartingPawnsLeftBehind".Translate()); } Pawn pawn = Find.GameInitData.startingPawns[i]; GUI.BeginGroup(rect2); Rect rect3 = new Rect(Vector2.zero, rect2.size); Widgets.DrawOptionBackground(rect3, this.curPawn == pawn); MouseoverSounds.DoRegion(rect3); GUI.color = new Color(1f, 1f, 1f, 0.2f); Vector2 pawnSelectorPortraitSize = Page_ConfigureStartingPawns.PawnSelectorPortraitSize; double x = 110.0 - pawnSelectorPortraitSize.x / 2.0; Vector2 pawnSelectorPortraitSize2 = Page_ConfigureStartingPawns.PawnSelectorPortraitSize; double y = 40.0 - pawnSelectorPortraitSize2.y / 2.0; Vector2 pawnSelectorPortraitSize3 = Page_ConfigureStartingPawns.PawnSelectorPortraitSize; float x2 = pawnSelectorPortraitSize3.x; Vector2 pawnSelectorPortraitSize4 = Page_ConfigureStartingPawns.PawnSelectorPortraitSize; GUI.DrawTexture(new Rect((float)x, (float)y, x2, pawnSelectorPortraitSize4.y), PortraitsCache.Get(pawn, Page_ConfigureStartingPawns.PawnSelectorPortraitSize, default(Vector3), 1f)); GUI.color = Color.white; Rect rect4 = rect3.ContractedBy(4f).Rounded(); NameTriple nameTriple = pawn.Name as NameTriple; string label = (nameTriple == null) ? pawn.LabelShort : ((!string.IsNullOrEmpty(nameTriple.Nick)) ? nameTriple.Nick : nameTriple.First); Widgets.Label(rect4.TopPart(0.5f).Rounded(), label); Vector2 vector = Text.CalcSize(pawn.story.Title); if (vector.x > rect4.width) { Widgets.Label(rect4.BottomPart(0.5f).Rounded(), pawn.story.TitleShort); } else { Widgets.Label(rect4.BottomPart(0.5f).Rounded(), pawn.story.Title); } if (Event.current.type == EventType.MouseDown && Mouse.IsOver(rect3)) { this.curPawn = pawn; SoundDefOf.TickTiny.PlayOneShotOnCamera(null); } GUI.EndGroup(); if (ReorderableWidget.Reorderable(groupID, rect2.ExpandedBy(4f))) { Widgets.DrawRectFast(rect2, Widgets.WindowBGFillColor * new Color(1f, 1f, 1f, 0.5f), null); } TooltipHandler.TipRegion(rect2, new TipSignal("DragToReorder".Translate(), pawn.GetHashCode() * 3499)); rect2.y += 60f; } }
private void DrawPortraitArea(Rect rect) { Widgets.DrawMenuSection(rect); rect = rect.ContractedBy(17f); GUI.DrawTexture(new Rect(rect.center.x - Page_ConfigureStartingPawns.PawnPortraitSize.x / 2f, rect.yMin - 20f, Page_ConfigureStartingPawns.PawnPortraitSize.x, Page_ConfigureStartingPawns.PawnPortraitSize.y), PortraitsCache.Get(this.curPawn, Page_ConfigureStartingPawns.PawnPortraitSize, default(Vector3), 1f)); Rect rect2 = rect; rect2.width = 500f; CharacterCardUtility.DrawCharacterCard(rect2, this.curPawn, new Action(this.RandomizeCurPawn), rect); Rect rect3 = rect; rect3.yMin += 100f; rect3.xMin = rect2.xMax + 5f; rect3.height = 200f; Text.Font = GameFont.Medium; Widgets.Label(rect3, "Health".Translate()); Text.Font = GameFont.Small; rect3.yMin += 35f; HealthCardUtility.DrawHediffListing(rect3, this.curPawn, true); Rect rect4 = new Rect(rect3.x, rect3.yMax, rect3.width, 200f); Text.Font = GameFont.Medium; Widgets.Label(rect4, "Relations".Translate()); Text.Font = GameFont.Small; rect4.yMin += 35f; SocialCardUtility.DrawRelationsAndOpinions(rect4, this.curPawn); }