private static void OnRootConsoleRender(object sender, UpdateEventArgs e) { _rootConsole.Clear(); foreach (ICelestialObject ce in _currentSectorMap.CelestialObjects) { Cell cell = _currentSectorMap.SectorMap.GetCell(ce.X, ce.Y); _currentSectorMap.SectorMap.SetCellProperties(ce.X, ce.Y, false, false, cell.IsExplored); } _currentSectorMap.SectorMap.ComputeFov(Player.X, Player.Y, Player.SensorRange, true); foreach (var cell in _currentSectorMap.SectorMap.GetAllCells()) { if (cell.IsInFov) { _currentSectorMap.SectorMap.SetCellProperties(cell.X, cell.Y, cell.IsTransparent, cell.IsWalkable, true); if (cell.IsWalkable) { _rootConsole.Set(cell.X, cell.Y, RLColor.Gray, null, '.'); } else { _rootConsole.Set(cell.X, cell.Y, RLColor.LightGray, null, ' '); foreach (ICelestialObject ce in _currentSectorMap.CelestialObjects) { if (ce.X == cell.X && ce.Y == cell.Y) { _rootConsole.Set(ce.X, ce.Y, ce.Color, null, ce.Symbol); } } } } else if (cell.IsExplored) { if (cell.IsWalkable) { _rootConsole.Set(cell.X, cell.Y, new RLColor(30, 30, 30), null, '.'); } else { _rootConsole.Set(cell.X, cell.Y, RLColor.Gray, null, ' '); foreach (ICelestialObject ce in _currentSectorMap.CelestialObjects) { if (ce.X == cell.X && ce.Y == cell.Y) { _rootConsole.Set(ce.X, ce.Y, new RLColor(30, 30, 30), null, ce.Symbol); } } } } } // Set the player's symbol after the map symbol to make sure it is draw _rootConsole.Set(Player.X, Player.Y, RLColor.LightGreen, null, '@'); _rootConsole.Print(77, 1, "SpaceRL", RLColor.White); _rootConsole.Print(77, 3, "ShipName:", RLColor.White); _rootConsole.Print(78, 4, "Location : " + _currentSectorMap.Name, RLColor.White); _rootConsole.Print(78, 5, "Sensor Strength : " + Player.SensorRange, RLColor.White); _rootConsole.Print(78, 6, "Fuel : " + Player.Fuel + " / " + Player.MaxFuel, RLColor.White); _rootConsole.Print(78, 7, "Fuel Probes : " + Player.FuelProbes, RLColor.White); _rootConsole.Print(78, 8, "Cargo : " + Player.CargoHold + " / " + Player.CargoHoldMax, RLColor.White); _rootConsole.Print(78, 9, "Credits : " + Player.Credits, RLColor.White); _rootConsole.Print(78, 12, "Score : " + Player.Score, RLColor.Green); _rootConsole.Print(77, 40, _statusText, RLColor.Red); //Á : bottom-T //Â : top-T //Ã : left-T //Å : + //¿ : topright //Ù : bottomright //Ú : topleft //À : bottomleft //Ä : horizontal //³ : vertical DrawViewscreen(); DrawShipLog(); if (ActiveMenu) { PopupMenu.DrawMenu(_rootConsole); } _rootConsole.Draw(); }