public PriorityLayer(PriorityGrid grid, SpatialPriority priority, Color color) { _priority = priority; _grid = grid; Color = color; _drawer = new CellBoolDrawer(this, grid.map.Size.x, grid.map.Size.z); Debug.Log($"Creating layer {priority} ({color})"); }
public override void ProcessInput(Event ev) { base.ProcessInput(ev); var options = new List <FloatMenuOption>(); foreach (var _priority in Manager.PriorityLevels) { var __priority = _priority; options.Add(new FloatMenuOption(__priority.ToString(), () => priority = __priority)); } Find.WindowStack.Add(new FloatMenu(options)); }
public PriorityGrid(Map map) : base(map) { grid = new SpatialPriority[map.Size.x * map.Size.z]; mapSizeX = map.Size.x; // initialize grid at normal. for (int i = 0; i < grid.Length; i++) { grid[i] = SpatialPriority.Normal; } // create layers var priorities = Enum.GetValues(typeof(SpatialPriority)).Cast <SpatialPriority>(); _layers = new List <PriorityLayer>(); foreach (var priority in priorities) { _layers.Add(new PriorityLayer(this, priority, priority == SpatialPriority.Normal ? new Color(0, 0, 0, 0) : Colour(priority))); } }
public static Texture2D Icon(SpatialPriority priority) => _priorityIcons[(int)priority];
public static Color Colour(SpatialPriority priority) => _colors[(int)priority];