bool InitializeCachedReferences() { if (floor == null) { floor = LevelBrush.GetFloor(); } if (wall == null) { wall = LevelBrush.GetWall(); } if (gi == null) { gi = GetComponentInParent <GridInformation>(); } if (tintTexture == null) { tintTexture = new Texture2D(256, 256, TextureFormat.ARGB32, false); tintTexture.wrapMode = TextureWrapMode.Clamp; tintTexture.filterMode = FilterMode.Bilinear; } colorArray = new Color32[tintTexture.width * tintTexture.height]; LevelBrush.InitializeLevelCacheIfNecessary(); return(floor && wall & gi & tintTexture); }
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); }