示例#1
0
    public void OnSceneGUI()
    {
        Grid grid = BrushUtility.GetRootGrid(false);

        if (grid == null)
        {
            return;
        }

        if (brush.activeObject != null)
        {
            BrushEditorUtility.DrawMarquee(grid, grid.WorldToCell(brush.activeObject.transform.position), new Color(0.5f, 0.5f, 1f));
        }

        Teleport[] allTeleports = brush.allObjects;
        BrushEditorUtility.BeginLines(Color.blue);
        foreach (var teleport in allTeleports)
        {
            if (teleport != null && teleport.m_Target != null)
            {
                Vector3Int from = grid.WorldToCell(teleport.transform.position);
                Vector3Int to   = grid.WorldToCell(teleport.m_Target.transform.position);
                BrushEditorUtility.DrawLineBatched(grid, from, to);
            }
        }
        BrushEditorUtility.EndLines();
    }
示例#2
0
 public override void OnPaintInspectorGUI()
 {
     GUILayout.Space(5f);
     GUILayout.Label("This is the built-in default brush.");
     GUILayout.Label("It is generic brush for painting tiles and game objects.");
     if (!BrushEditorUtility.SceneIsPrepared())
     {
         BrushEditorUtility.UnpreparedSceneInspector();
     }
 }
示例#3
0
 public override void OnPaintInspectorGUI()
 {
     if (BrushEditorUtility.SceneIsPrepared())
     {
         base.OnPaintInspectorGUI();
     }
     else
     {
         BrushEditorUtility.UnpreparedSceneInspector();
     }
 }
    public override void OnPaintInspectorGUI()
    {
        GUILayout.Space(5f);
        GUILayout.Label("This brush is for painting the floorplan.");
        GUILayout.Space(5f);

        if (!BrushEditorUtility.SceneIsPrepared())
        {
            BrushEditorUtility.UnpreparedSceneInspector();
        }
    }
示例#5
0
 public override void OnPaintInspectorGUI()
 {
     if (BrushEditorUtility.SceneIsPrepared())
     {
         GUILayout.Label("Use this brush to place doors triggered by pressure plates");
         GUILayout.Label("First paint the door and then the corresponding pressure plate.");
     }
     else
     {
         BrushEditorUtility.UnpreparedSceneInspector();
     }
 }
 public override void OnPaintInspectorGUI()
 {
     if (BrushEditorUtility.SceneIsPrepared())
     {
         GUILayout.Space(5f);
         GUILayout.Label("Use paint tool to paint rails.");
         GUILayout.Label("Then paint again on the rails to place a turret.");
     }
     else
     {
         BrushEditorUtility.UnpreparedSceneInspector();
     }
 }
 public override void OnPaintInspectorGUI()
 {
     GUILayout.Space(5f);
     GUILayout.Label("This is built-in default brush.");
     GUILayout.Label("It is generic brush for painting tiles and game objects.");
     GUILayout.Space(5f);
     GUILayout.Label("You'll also find other brushes from the dropdown.");
     GUILayout.Label("They are custom made for this game.");
     if (!BrushEditorUtility.SceneIsPrepared())
     {
         BrushEditorUtility.UnpreparedSceneInspector();
     }
 }
示例#8
0
 public override void OnPaintInspectorGUI()
 {
     if (BrushEditorUtility.SceneIsPrepared())
     {
         GUILayout.Space(5f);
         GUILayout.Label("Paint to place a blue teleport.");
         GUILayout.Label("Then paint again to place it's orange target.");
     }
     else
     {
         BrushEditorUtility.UnpreparedSceneInspector();
     }
 }
示例#9
0
 public override void OnPaintInspectorGUI()
 {
     if (BrushEditorUtility.SceneIsPrepared())
     {
         brush.m_KeyColor = EditorGUILayout.ColorField("Key Color", brush.m_KeyColor);
         GUILayout.Space(5f);
         GUILayout.Label("Use this brush to place doors and keys.");
         GUILayout.Label("First paint the door and then the corresponding key.");
     }
     else
     {
         BrushEditorUtility.UnpreparedSceneInspector();
     }
 }
    public override void OnPaintSceneGUI(GridLayout grid, GameObject layer, BoundsInt position, GridBrushBase.Tool tool, bool executing)
    {
        LevelBrush.InitializeLevelCacheIfNecessary();
        var invalidFloors = LevelBrush.GetAllInvalidFloors();

        BrushEditorUtility.BeginQuads(new Color(1f, 0f, 0f, 0.5f));
        foreach (var pos in invalidFloors)
        {
            BrushEditorUtility.DrawQuadBatched(grid, pos);
        }
        BrushEditorUtility.EndQuads();

        base.OnPaintSceneGUI(grid, layer, position, tool, executing);
    }
示例#11
0
 public override void OnPaintInspectorGUI()
 {
     if (BrushEditorUtility.SceneIsPrepared())
     {
         brush.m_Color = EditorGUILayout.ColorField("Color", brush.m_Color);
         brush.m_Blend = EditorGUILayout.Slider("Blend", brush.m_Blend, 0f, 1f);
         GUILayout.Space(5f);
         GUILayout.Label("Use this brush to tint areas with a color.");
         GUILayout.Space(5f);
     }
     else
     {
         BrushEditorUtility.UnpreparedSceneInspector();
     }
 }
示例#12
0
    public void OnSceneGUI()
    {
        Grid grid = BrushUtility.GetRootGrid(false);

        if (grid != null)
        {
            if (brush.activeObject != null && brush.activeObject.m_Key != null)
            {
                Vector3Int keypos  = grid.WorldToCell(brush.activeObject.m_Key.transform.position);
                Vector3Int doorpos = grid.WorldToCell(brush.activeObject.transform.position);
                Color      color   = brush.activeObject.m_Key.color;
                BrushEditorUtility.DrawLine(grid, keypos, doorpos, new Color(color.r, color.g, color.b, 0.5f));
            }
        }
    }
 public override void OnPaintInspectorGUI()
 {
     if (BrushEditorUtility.SceneIsPrepared())
     {
         GUILayout.Space(5f);
         GUILayout.Label("Use paint tool to place a new laser tower.");
         GUILayout.Label("The new tower will connect to currently selected one.");
         GUILayout.Space(5f);
         GUILayout.Label("Select an existing laser via picking tool.");
     }
     else
     {
         BrushEditorUtility.UnpreparedSceneInspector();
     }
 }
示例#14
0
    public void OnSceneGUI()
    {
        Grid            grid = BrushUtility.GetRootGrid(true);
        GridInformation info = BrushUtility.GetRootGridInformation(false);

        if (info != null)
        {
            foreach (var pos in info.GetAllPositions(SwarmBrush.k_SwarmDifficultyProperty))
            {
                float difficulty = info.GetPositionProperty(pos, SwarmBrush.k_SwarmDifficultyProperty, 0f);
                Color col        = Color.Lerp(new Color(0f, 1f, 0f, 0.3f), new Color(1f, 0f, 0f, 0.3f), difficulty);
                BrushEditorUtility.DrawQuad(grid, pos, col);
            }
        }
    }
示例#15
0
 public override void OnPaintInspectorGUI()
 {
     if (BrushEditorUtility.SceneIsPrepared())
     {
         GUILayout.BeginHorizontal();
         brush.m_Difficulty = EditorGUILayout.Slider("Difficulty", brush.m_Difficulty, 0f, 1f);
         GUILayout.EndHorizontal();
         GUILayout.Space(5f);
         GUILayout.Label("Paint areas where you want minions spawning.");
         GUILayout.Label("Adjust difficulty slider for more and tougher minions.");
     }
     else
     {
         BrushEditorUtility.UnpreparedSceneInspector();
     }
 }
示例#16
0
    public void OnSceneGUI()
    {
        Grid grid = BrushUtility.GetRootGrid(false);
        PressurePlateGate gate = brush.activeObject;

        if (grid == null || gate == null || gate.PressurePlate == null)
        {
            return;
        }

        PressurePlate plate            = gate.PressurePlate;
        Vector3       pressurePlatePos = grid.WorldToCellCentered(plate.transform.position);
        Vector3       doorPos          = grid.WorldToCellCentered(gate.transform.position);
        Color         color            = Color.red;

        BrushEditorUtility.DrawLine(grid, pressurePlatePos, doorPos, new Color(color.r, color.g, color.b, 0.5f));
    }
示例#17
0
    public void OnSceneGUI()
    {
        Grid grid = BrushUtility.GetRootGrid(false);
        Door door = brush.activeObject;

        if (grid == null || door == null || door.Exit == null)
        {
            return;
        }

        Door    exit         = door.Exit;
        Vector3 exitPosition = grid.WorldToCellCentered(exit.transform.position);
        Vector3 doorPos      = grid.WorldToCellCentered(door.transform.position);
        Color   color        = Color.red;

        BrushEditorUtility.DrawLine(grid, exitPosition, doorPos, new Color(color.r, color.g, color.b, 0.5f));
    }
 public override void OnPaintInspectorGUI()
 {
     if (BrushEditorUtility.SceneIsPrepared())
     {
         brush.m_Tick      = Mathf.Max(EditorGUILayout.IntField("Tick", brush.m_Tick), 1);
         brush.m_TickDelay = Mathf.Max(EditorGUILayout.FloatField("Tick Length", brush.m_TickDelay), 0.1f);
         GUILayout.Space(5f);
         GUILayout.Label("Use paint tool to place sequence turrets.");
         GUILayout.Space(5f);
         GUILayout.Label("Then paint again to place it's target(s).");
         GUILayout.Label("Set different ticks to the targets to create sequences.");
         GUILayout.Label("Use picking tool to select existing turret.");
         GUILayout.Space(5f);
         GUILayout.Label("Hotkeys . and , to rotate the tick number.");
     }
     else
     {
         BrushEditorUtility.UnpreparedSceneInspector();
     }
 }
    public void OnSceneGUI()
    {
        Grid grid = BrushUtility.GetRootGrid(false);

        if (grid != null)
        {
            if (brush.activeObject != null)
            {
                Vector3Int worldTurret = grid.WorldToCell(brush.activeObject.transform.position);
                for (int i = 0; i < brush.activeObject.m_Targets.Count; i++)
                {
                    Vector3Int localPos = brush.activeObject.m_Targets[i];
                    Vector3Int worldPos = worldTurret + localPos;
                    int        tick     = brush.activeObject.m_Ticks[i];
                    Handles.Label(grid.CellToWorld(worldPos + Vector3Int.up), " " + tick.ToString());
                    BrushEditorUtility.DrawLine(grid, worldPos, grid.WorldToCell(brush.activeObject.transform.position), new Color(1f, 0f, 1f, 0.6f));
                    BrushEditorUtility.DrawQuad(grid, worldPos, new Color(1f, 0f, 1f, 0.4f));
                }
                BrushEditorUtility.DrawMarquee(grid, worldTurret, new Color(1f, 0f, 1f, 0.6f));
                Vector3 world = grid.CellToWorld(worldTurret);
                Handles.Label(world, " " + brush.activeObject.m_TickDelay.ToString("F"));
            }
        }
    }