// Token: 0x06000001 RID: 1 RVA: 0x00002050 File Offset: 0x00000250 public override void DoEffect(Pawn usedBy) { base.DoEffect(usedBy); var pk = WarframeStaticMethods.GetAllWarframeKind().RandomElement(); if (pk != null) { var wf = WarframeStaticMethods.GetWarframePawn(pk); GenSpawn.Spawn(wf, usedBy.Position, usedBy.Map); } usedBy.story.traits.GainTrait(new Trait(TraitDef.Named("Warframe_Trait"))); FinishInstantly(); }
public override void DoWindowContents(Rect inRect) { if (refreshWarframePortrait) { // this.newWF.Drawer.renderer.graphics.ResolveAllGraphics(); // PortraitsCache.SetDirty(this.newWF); // PortraitsCache.PortraitsCacheUpdate(); refreshWarframePortrait = false; } var rect27 = new Rect(inRect) { width = 240f + 16f, height = 200f + 16f }; rect27 = rect27.CenteredOnXIn(inRect); rect27 = rect27.CenteredOnYIn(inRect); rect27.x -= 88f; rect27.y -= 32f; if (newWF != null) { //picture GUI.DrawTexture(rect27, ContentFinder <Texture2D> .Get("WFPicture/" + nowWarframeKind.defName.Replace("Warframe_", "")), ScaleMode.ScaleToFit); // Widgets.InfoCardButton(position.xMax - 16f, position.y, this.newWF); var rectsk = new Rect(rect27.x + rect27.width + 16, rect27.y, 50, 50); var recttx = new Rect(rectsk.x + 56, rectsk.y + 6, 160, 50); for (var i = 0; i < 4; i++) { var arect = new Rect(rectsk.x, rectsk.y + (i * 54f), 50, 50); Widgets.ButtonImage(arect, ContentFinder <Texture2D> .Get("Skills/" + nowWarframeKind.defName.Replace("Warframe_", "") + "Skill" + (i + 1))); var trect = new Rect(recttx.x, recttx.y + (i * 54f), 160, 50); Text.Font = GameFont.Medium; Widgets.Label(trect, (nowWarframeKind.defName.Replace("Warframe_", "") + "Skill" + (i + 1) + ".name").Translate()); Text.Font = GameFont.Small; TooltipHandler.TipRegion(arect, (nowWarframeKind.defName.Replace("Warframe_", "") + "Skill" + (i + 1) + ".desc").Translate()); } //title Text.Anchor = TextAnchor.MiddleCenter; Text.Font = GameFont.Medium; Widgets.Label(new Rect(0f, 0f, inRect.width, 32f), "CraftWarframe".Translate()); Text.Anchor = TextAnchor.UpperLeft; Text.Font = GameFont.Small; Text.Anchor = TextAnchor.MiddleCenter; var rect10 = new Rect(0 + 120, inRect.height * 0.75f, 240f, 24f); if (Widgets.ButtonText(rect10, nowWarframeKind.label, true, false)) { FloatMenuUtility.MakeMenu(WarframeStaticMethods.GetAllWarframeKind(), Kind => Kind.label, Kind => delegate { nowWarframeKind = Kind; newWF = getNewWF(); RefreshCosts(); }); } Text.Anchor = TextAnchor.UpperLeft; //click craft //float num2 = rect27.x + rect27.width + 16f + (inRect.width - 1); var rect9 = new Rect((inRect.width / 2) - 60, inRect.height - 32, 120, 32); Text.Font = GameFont.Medium; // Text.Anchor = TextAnchor.LowerCenter; if (Widgets.ButtonText(rect9, "WarframeStartCraft".Translate(), true, false)) { WFCraft.nowCraftKind = nowWarframeKind; WFCraft.tryDropAllParts(); WFCraft.fuelCost = fuelCost; WFCraft.curState = Building_WarframeCrafter.CraftState.Filling; Close(); } var recttime = new Rect(rect9.x, rect9.y - 60, 30, 30); Widgets.ButtonImage(recttime, ContentFinder <Texture2D> .Get("UI/Icons/ColonistBar/Idle")); var recttimec = new Rect(recttime.x + 30, recttime.y, 30, 30); Text.Font = GameFont.Small; Widgets.Label(recttimec, timeCost + "DaysLower".Translate()); TooltipHandler.TipRegion(recttime, "Time Cost"); var rectcostbase = new Rect(recttimec.x + 30, recttime.y, 30, 30); for (var j = 0; j < 3; j++) { var rrrect = new Rect(rectcostbase.x + (j * 30), rectcostbase.y, 30, 30); var nowpart = ""; switch (j) { case 0: nowpart = "_Head"; break; case 1: nowpart = "_Body"; break; case 2: nowpart = "_Inside"; break; } var apartDef = ThingDef.Named("WFPart_" + nowWarframeKind.defName.Replace("Warframe_", "") + nowpart); Widgets.ButtonImage(rrrect, apartDef.uiIcon); TooltipHandler.TipRegion(rrrect, apartDef.label + "\n" + apartDef.description); } //orokin cell icon draw var fuelRect = new Rect(rectcostbase.x + (3 * 30), rectcostbase.y, 30, 30); var ocpartDef = ThingDef.Named("WFItem_OrokinCell"); Widgets.ButtonImage(fuelRect, ocpartDef.uiIcon); TooltipHandler.TipRegion(fuelRect, ocpartDef.label + "\n" + ocpartDef.description); Text.Font = GameFont.Small; var costRect = new Rect(fuelRect.x + 30, fuelRect.y, 30, 30); Widgets.Label(costRect, fuelCost + ""); TooltipHandler.TipRegion(costRect, ocpartDef.label + "\n" + ocpartDef.description); if (Widgets.CloseButtonFor(new Rect(inRect.width - 30, 0, 30, 30))) { Close(); } } Text.Anchor = TextAnchor.UpperLeft; }