Mem leak fixed, now to fix botmon randomly vanishing

This commit is contained in:
CWX 2023-01-17 21:46:54 +00:00
parent 55f12324f5
commit 65ba110674
2 changed files with 13 additions and 23 deletions

View File

@ -20,6 +20,7 @@ namespace CWX_DebuggingTool
private List<BotZone> _zones = null; private List<BotZone> _zones = null;
private GameWorld _gameWorld = null; private GameWorld _gameWorld = null;
private IBotGame _botGame; private IBotGame _botGame;
private Rect _rect;
private BotmonClass() private BotmonClass()
{ {
@ -84,6 +85,8 @@ namespace CWX_DebuggingTool
} }
} }
_rect = new Rect(0, 60, 0, 0);
_botGame.BotsController.BotSpawner.OnBotCreated += owner => _botGame.BotsController.BotSpawner.OnBotCreated += owner =>
{ {
Player player = owner.GetPlayer; Player player = owner.GetPlayer;
@ -110,17 +113,17 @@ namespace CWX_DebuggingTool
_guiContent = new GUIContent(); _guiContent = new GUIContent();
} }
_stringBuilder.Clear(); string content = null;
if (_zoneAndPlayers != null) if (_zoneAndPlayers != null)
{ {
_stringBuilder.AppendLine($"Total = {_gameWorld.AllPlayers.Count - 1}"); content += $"Total = {_gameWorld.AllPlayers.Count - 1}\n";
foreach (var zone in _zoneAndPlayers) foreach (var zone in _zoneAndPlayers)
{ {
if (_zoneAndPlayers[zone.Key].Count > 0) if (_zoneAndPlayers[zone.Key].Count > 0)
{ {
_stringBuilder.AppendLine($"{zone.Key} = {_zoneAndPlayers[zone.Key].Count}"); content += $"{zone.Key} = {_zoneAndPlayers[zone.Key].Count}\n";
} }
foreach (var player in _zoneAndPlayers[zone.Key]) foreach (var player in _zoneAndPlayers[zone.Key])
@ -131,16 +134,20 @@ namespace CWX_DebuggingTool
} }
var distance = Vector3.Distance(player.Position, _player.Position); var distance = Vector3.Distance(player.Position, _player.Position);
_stringBuilder.AppendLine($"> [{distance:n2}m] [{player.Profile.Info.Settings.Role}] [{player.Profile.Side}] [{player.Profile.Info.Settings.BotDifficulty}]{player.Profile.Nickname}"); content += $"> [{distance:n2}m] [{player.Profile.Info.Settings.Role}] [{player.Profile.Side}] [{player.Profile.Info.Settings.BotDifficulty}]{player.Profile.Nickname}\n";
} }
} }
} }
_guiContent.text = _stringBuilder.ToString(); _guiContent.text = content;
var size = _textStyle.CalcSize(_guiContent); var size = _textStyle.CalcSize(_guiContent);
GUI.Box(new Rect(Screen.width - size.x - 5f, 60f, size.x, size.y), _guiContent, _textStyle); _rect.x = Screen.width - size.x - 5f;
_rect.width = size.x;
_rect.height = size.y;
GUI.Box(_rect, _guiContent, _textStyle);
} }
} }
} }

View File

@ -1,17 +0,0 @@
using System.Text;
namespace CWX_DebuggingTool
{
public static class MyExtensions
{
public static StringBuilder Prepend(this StringBuilder sb, string content)
{
return sb.Insert(0, content);
}
public static StringBuilder PrependLine(this StringBuilder sb, string content)
{
return sb.Insert(0, content + "\n");
}
}
}