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);
    }
Example #4
0
            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);
                }
            }