protected override void OnActivateTool() { base.OnActivateTool(); Vector3 cursorPos = PlayerController.GetCursorPos(KInputManager.GetMousePos()); GameObject buildingPreview = def.BuildingPreview; Vector3 position = cursorPos; Grid.SceneLayer sceneLayer = Grid.SceneLayer.Ore; int gameLayer = LayerMask.NameToLayer("Place"); visualizer = GameUtil.KInstantiate(buildingPreview, position, sceneLayer, null, gameLayer); KBatchedAnimController component = visualizer.GetComponent <KBatchedAnimController>(); if ((Object)component != (Object)null) { component.visibilityType = KAnimControllerBase.VisibilityType.Always; component.isMovable = true; component.SetDirty(); } visualizer.SetActive(true); Play(visualizer, "None_Place"); BuildToolHoverTextCard component2 = GetComponent <BuildToolHoverTextCard>(); component2.currentDef = def; ResourceRemainingDisplayScreen.instance.ActivateDisplay(visualizer); IHaveUtilityNetworkMgr component3 = def.BuildingComplete.GetComponent <IHaveUtilityNetworkMgr>(); conduitMgr = component3.GetNetworkManager(); }
protected override void OnActivateTool() { active = true; base.OnActivateTool(); GameObject prefab = Assets.GetPrefab(previewTag); Grid.SceneLayer sceneLayer = Grid.SceneLayer.Front; int gameLayer = LayerMask.NameToLayer("Place"); visualizer = GameUtil.KInstantiate(prefab, sceneLayer, null, gameLayer); KBatchedAnimController component = visualizer.GetComponent <KBatchedAnimController>(); if ((Object)component != (Object)null) { component.visibilityType = KAnimControllerBase.VisibilityType.Always; component.isMovable = true; } visualizer.SetActive(true); ShowToolTip(); BuildToolHoverTextCard component2 = GetComponent <BuildToolHoverTextCard>(); component2.currentDef = null; ResourceRemainingDisplayScreen.instance.ActivateDisplay(visualizer); if ((Object)component == (Object)null) { visualizer.SetLayerRecursively(LayerMask.NameToLayer("Place")); } else { component.SetLayer(LayerMask.NameToLayer("Place")); } GridCompositor.Instance.ToggleMajor(true); }
protected override void OnActivateTool() { lastDragCell = -1; if ((Object)visualizer != (Object)null) { ClearTilePreview(); Object.Destroy(visualizer); } active = true; base.OnActivateTool(); buildingOrientation = Orientation.Neutral; placementPivot = def.placementPivot; Vector3 cursorPos = PlayerController.GetCursorPos(KInputManager.GetMousePos()); GameObject buildingPreview = def.BuildingPreview; Vector3 position = cursorPos; Grid.SceneLayer sceneLayer = Grid.SceneLayer.Ore; int gameLayer = LayerMask.NameToLayer("Place"); visualizer = GameUtil.KInstantiate(buildingPreview, position, sceneLayer, null, gameLayer); KBatchedAnimController component = visualizer.GetComponent <KBatchedAnimController>(); if ((Object)component != (Object)null) { component.visibilityType = KAnimControllerBase.VisibilityType.Always; component.isMovable = true; component.Offset = def.GetVisualizerOffset(); component.Offset += def.placementPivot; component.name = component.GetComponent <KPrefabID>().GetDebugName() + "_visualizer"; } visualizer.SetActive(true); UpdateVis(cursorPos); BuildToolHoverTextCard component2 = GetComponent <BuildToolHoverTextCard>(); component2.currentDef = def; ResourceRemainingDisplayScreen.instance.ActivateDisplay(visualizer); if ((Object)component == (Object)null) { visualizer.SetLayerRecursively(LayerMask.NameToLayer("Place")); } else { component.SetLayer(LayerMask.NameToLayer("Place")); } GridCompositor.Instance.ToggleMajor(true); }
public static void Postfix(HoverTextConfiguration __instance, HoverTextDrawer drawer) { if (__instance == null) { return; } if (!(__instance is BuildToolHoverTextCard)) { return; } BuildToolHoverTextCard hover_text_card = (BuildToolHoverTextCard)__instance; if (hover_text_card.currentDef == null) { return; } if (hover_text_card.currentDef.BuildingComplete == null) { return; } ZTransporter possible_ztransport = hover_text_card.currentDef.BuildingComplete.GetComponent <ZTransporter>(); if (possible_ztransport != null) { drawer.NewLine(26); // All the cool kids are doing it -SB drawer.AddIndent(8); // I LEARNED IT FROM WATCHING [Klei] -SB int x, y; var pos = KInputManager.GetMousePos(); var point = Camera.main.ScreenToWorldPoint(pos); var cell = Grid.PosToCell(point); Grid.CellToXY(cell, out x, out y); var coords_string = STRINGS.ZTRANSPORT.STATUSITEMS.ZCOORDINATES.NAME.Replace("{X}", x.ToString()).Replace("{Y}", y.ToString()); drawer.DrawText(coords_string, hover_text_card.Styles_Instruction.Standard); } }