From 4a151b569aca13520f8bdf3a6a66fe62e5a5c467 Mon Sep 17 00:00:00 2001 From: Gabriel Slomka Date: Wed, 15 May 2024 21:56:11 +0100 Subject: [PATCH 1/2] Wip --- .../Assets/Plugins/ClientSDK.dll | 2 +- .../LisergyClient/Assets/Plugins/Game.dll | 4 +- .../Game/Engine/DataTypes/TimeBlock.cs | 8 +- LisergyServer/Game/GameLogic.cs | 3 + LisergyServer/Game/GameSystems.cs | 3 + .../Packets/ClientPackets/TakeTurnPacket.cs | 12 +++ .../ActionPoints/ActionPointsComponent.cs | 13 +++ .../Systems/ActionPoints/ActionPointsLogic.cs | 19 ++++ .../ActionPoints/ActionPointsSystem.cs | 36 ++++++++ .../ActionPoints/PlayerTurnsComponent.cs | 11 +++ .../Game/Systems/Course/CourseEvents.cs | 15 +++- .../Game/Systems/Course/CourseLogic.cs | 16 ++++ .../Systems/Harvesting/HarvestingLogic.cs | 2 - .../Game/Systems/Party/PartyEntity.cs | 1 + .../Game/Systems/Player/PlayerEntity.cs | 2 + .../Game/Systems/Player/PlayerLogic.cs | 13 ++- .../Game/Systems/Player/PlayerSystem.cs | 8 ++ .../ServerTests/Unit/Stubs/StubGame.cs | 2 + .../ServerTests/Unit/Stubs/StubPlayer.cs | 2 + .../ServerTests/Unit/TestActionPoints.cs | 90 +++++++++++++++++++ LisergyServer/ServerTests/Unit/TestCourses.cs | 3 + .../ServerTests/Unit/TestHarvesting.cs | 4 +- 22 files changed, 258 insertions(+), 11 deletions(-) create mode 100644 LisergyServer/Game/Packets/ClientPackets/TakeTurnPacket.cs create mode 100644 LisergyServer/Game/Systems/ActionPoints/ActionPointsComponent.cs create mode 100644 LisergyServer/Game/Systems/ActionPoints/ActionPointsLogic.cs create mode 100644 LisergyServer/Game/Systems/ActionPoints/ActionPointsSystem.cs create mode 100644 LisergyServer/Game/Systems/ActionPoints/PlayerTurnsComponent.cs create mode 100644 LisergyServer/ServerTests/Unit/TestActionPoints.cs diff --git a/LisergyClient/LisergyClient/Assets/Plugins/ClientSDK.dll b/LisergyClient/LisergyClient/Assets/Plugins/ClientSDK.dll index e90bb68f3..f60d6d820 100644 --- a/LisergyClient/LisergyClient/Assets/Plugins/ClientSDK.dll +++ b/LisergyClient/LisergyClient/Assets/Plugins/ClientSDK.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:040e6a91a2e2814bcc41e81bc02ff57ac7867ba86d9fc73f7064dd17b9d923fd +oid sha256:bc050f347b4072ead6d8e7008c1c03b899a1fe0809ead700f3a6e5465342fb70 size 33792 diff --git a/LisergyClient/LisergyClient/Assets/Plugins/Game.dll b/LisergyClient/LisergyClient/Assets/Plugins/Game.dll index f503f9286..fb058a288 100644 --- a/LisergyClient/LisergyClient/Assets/Plugins/Game.dll +++ b/LisergyClient/LisergyClient/Assets/Plugins/Game.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b68d60e2575510e7677fbef3b0b208cffeaa471f939a1cc83a079fa639c36a41 -size 185344 +oid sha256:d891d64c556f855d28bb8464dc293980678f86ae43acb98af2e7be4f8696242a +size 187392 diff --git a/LisergyServer/Game/Engine/DataTypes/TimeBlock.cs b/LisergyServer/Game/Engine/DataTypes/TimeBlock.cs index cf349cad2..00df2eef3 100644 --- a/LisergyServer/Game/Engine/DataTypes/TimeBlock.cs +++ b/LisergyServer/Game/Engine/DataTypes/TimeBlock.cs @@ -21,6 +21,11 @@ public struct TimeBlock /// Gets the total time required for this task /// public TimeSpan TotalBlockTime => EndTime - StartTime; + + public override string ToString() + { + return $""; + } } /// @@ -72,9 +77,8 @@ public static TimeBlockSnapshot GetCurrentSnapshot(this TimeBlock block, DateTim snap.TimeInBlock = now - block.StartTime; snap.TimeUntilEndOfblock = block.EndTime - now; snap.TimeBlock = block; - snap.Percentagage = Math.Max(1, snap.TimeInBlock / block.TotalBlockTime); + snap.Percentagage = Math.Min(1, snap.TimeInBlock / block.TotalBlockTime); return snap; } - } } diff --git a/LisergyServer/Game/GameLogic.cs b/LisergyServer/Game/GameLogic.cs index 1d050a308..fe494387f 100644 --- a/LisergyServer/Game/GameLogic.cs +++ b/LisergyServer/Game/GameLogic.cs @@ -2,6 +2,7 @@ using Game.Systems.Battler; using Game.Systems.Map; using Game.Systems.Movement; +using Game.Systems.Party; using Game.Systems.Player; using Game.Systems.Resources; @@ -18,6 +19,7 @@ public interface IEntityLogic public CourseLogic Movement { get; } public HarvestingLogic Harvesting { get; } public CargoLogic Cargo { get; } + public ActionPointsLogic ActionPoints { get; } } /// @@ -31,6 +33,7 @@ public class EntityLogic : IEntityLogic public CourseLogic Movement => _systems.EntityMovement.GetLogic(_entity); public HarvestingLogic Harvesting => _systems.Harvesting.GetLogic(_entity); public CargoLogic Cargo => _systems.Cargo.GetLogic(_entity); + public ActionPointsLogic ActionPoints => _systems.ActionPoints.GetLogic(_entity); private ISystems _systems; private IEntity _entity; diff --git a/LisergyServer/Game/GameSystems.cs b/LisergyServer/Game/GameSystems.cs index 8d2aead76..0e8cbaf79 100644 --- a/LisergyServer/Game/GameSystems.cs +++ b/LisergyServer/Game/GameSystems.cs @@ -34,6 +34,7 @@ public interface ISystems { HarvestingSystem Harvesting { get; } ResourceSystem Resources { get; } CargoSystem Cargo { get; } + ActionsPointSystem ActionPoints { get; } void CallEvent(IEntity entity, IBaseEvent ev); } @@ -60,6 +61,7 @@ public GameSystems(LisergyGame game) AddSystem(Harvesting = new HarvestingSystem(game)); AddSystem(Resources = new ResourceSystem(game)); AddSystem(Cargo = new CargoSystem(game)); + AddSystem(ActionPoints = new ActionsPointSystem(game)); } public MapSystem Map { get; private set; } @@ -76,6 +78,7 @@ public GameSystems(LisergyGame game) public HarvestingSystem Harvesting { get; private set; } public ResourceSystem Resources { get; private set; } public CargoSystem Cargo { get; private set; } + public ActionsPointSystem ActionPoints { get; private set; } private void AddSystem(GameSystem system) where ComponentType : unmanaged, IComponent { diff --git a/LisergyServer/Game/Packets/ClientPackets/TakeTurnPacket.cs b/LisergyServer/Game/Packets/ClientPackets/TakeTurnPacket.cs new file mode 100644 index 000000000..a9212e4db --- /dev/null +++ b/LisergyServer/Game/Packets/ClientPackets/TakeTurnPacket.cs @@ -0,0 +1,12 @@ +using Game.Engine.Network; +using Game.Systems.Movement; +using Game.World; +using System; +using System.Collections.Generic; + +namespace Game.Network.ClientPackets +{ + [Serializable] + public class TakeTurnPacket : BasePacket, IClientPacket + { } +} diff --git a/LisergyServer/Game/Systems/ActionPoints/ActionPointsComponent.cs b/LisergyServer/Game/Systems/ActionPoints/ActionPointsComponent.cs new file mode 100644 index 000000000..cf0317052 --- /dev/null +++ b/LisergyServer/Game/Systems/ActionPoints/ActionPointsComponent.cs @@ -0,0 +1,13 @@ +using Game.ECS; +using System; + +namespace Game.Systems.Party +{ + [Serializable] + public struct ActionPointsComponent : IComponent + { + public byte ActionPoints; + + public override string ToString() => $""; + } +} diff --git a/LisergyServer/Game/Systems/ActionPoints/ActionPointsLogic.cs b/LisergyServer/Game/Systems/ActionPoints/ActionPointsLogic.cs new file mode 100644 index 000000000..615f60cfe --- /dev/null +++ b/LisergyServer/Game/Systems/ActionPoints/ActionPointsLogic.cs @@ -0,0 +1,19 @@ +using Game.Engine.ECS; +using Game.Systems.Party; + +namespace Game.Systems.Resources +{ + public unsafe class ActionPointsLogic : BaseEntityLogic + { + public int GetActionPoints() + { + return Entity.Get().ActionPoints; + } + + public void SetActionPoints(byte amt) + { + var c = Entity.Components.GetPointer(); + c->ActionPoints = amt; + } + } +} \ No newline at end of file diff --git a/LisergyServer/Game/Systems/ActionPoints/ActionPointsSystem.cs b/LisergyServer/Game/Systems/ActionPoints/ActionPointsSystem.cs new file mode 100644 index 000000000..db2057e02 --- /dev/null +++ b/LisergyServer/Game/Systems/ActionPoints/ActionPointsSystem.cs @@ -0,0 +1,36 @@ +using Game.Engine.ECS; +using Game.Engine.Events.Bus; +using Game.Systems.Course; +using Game.Systems.Map; +using Game.Systems.Resources; + +namespace Game.Systems.Party +{ + public class ActionsPointSystem : LogicSystem, IEventListener + { + public ActionsPointSystem(LisergyGame game) : base(game) + { + } + + public override void RegisterListeners() + { + EntityEvents.On(OnCourseIntent); + EntityEvents.On(OnEntityMoveIn); + } + + private void OnEntityMoveIn(IEntity e, EntityMoveInEvent ev) + { + var actionPoints = ev.Entity.EntityLogic.ActionPoints.GetActionPoints(); + if (actionPoints == 0) return; + ev.Entity.EntityLogic.ActionPoints.SetActionPoints((byte) (actionPoints - 1)); + } + + private void OnCourseIntent(IEntity e, CourseIntentionEvent ev) + { + if (ev.Entity.EntityLogic.ActionPoints.GetActionPoints() == 0) + { + ev.Cancelled = true; + } + } + } +} \ No newline at end of file diff --git a/LisergyServer/Game/Systems/ActionPoints/PlayerTurnsComponent.cs b/LisergyServer/Game/Systems/ActionPoints/PlayerTurnsComponent.cs new file mode 100644 index 000000000..bf38257dd --- /dev/null +++ b/LisergyServer/Game/Systems/ActionPoints/PlayerTurnsComponent.cs @@ -0,0 +1,11 @@ +using System; +using Game.ECS; + +namespace Game.Systems.ActionPoints +{ + [Serializable] + public struct PlayerTurnsComponent : IComponent + { + public ulong Turns; + } +} \ No newline at end of file diff --git a/LisergyServer/Game/Systems/Course/CourseEvents.cs b/LisergyServer/Game/Systems/Course/CourseEvents.cs index b8f5994ef..ee7292805 100644 --- a/LisergyServer/Game/Systems/Course/CourseEvents.cs +++ b/LisergyServer/Game/Systems/Course/CourseEvents.cs @@ -1,11 +1,22 @@ -using Game.Engine.ECS; +using System.Collections.Generic; +using Game.Engine.ECS; using Game.Engine.Events; -using Game.Systems.Battler; using Game.Systems.Movement; using Game.Tile; +using Game.World; namespace Game.Systems.Course { + public class CourseIntentionEvent : IGameEvent + { + public IEntity Entity; + public CourseIntent Intent; + public List Path; + public bool Cancelled; + + public override string ToString() => $""; + } + /// /// Whenever a course finishes its last tile movement /// diff --git a/LisergyServer/Game/Systems/Course/CourseLogic.cs b/LisergyServer/Game/Systems/Course/CourseLogic.cs index 4e4c08568..96ed779df 100644 --- a/LisergyServer/Game/Systems/Course/CourseLogic.cs +++ b/LisergyServer/Game/Systems/Course/CourseLogic.cs @@ -6,6 +6,7 @@ using Game.Engine.ECS; using Game.Engine.DataTypes; using Game.Engine.Scheduler; +using Game.Systems.Party; using Game.World; namespace Game.Systems.Movement @@ -15,6 +16,21 @@ public unsafe class CourseLogic : BaseEntityLogic public bool TryStartMovement(List sentPath, CourseIntent intent) { var owner = Game.Players.GetPlayer(Entity.OwnerID); + + var courseIntent = EventPool.Get(); + courseIntent.Intent = intent; + courseIntent.Path = sentPath; + courseIntent.Entity = Entity; + courseIntent.Cancelled = false; + Entity.Components.CallEvent(courseIntent); + EventPool.Return(courseIntent); + + if (courseIntent.Cancelled) + { + Game.Log.Debug("Course Cancelled by other system"); + return false; + } + foreach (var position in sentPath) { var tile = Game.World.Map.GetTile(position.X, position.Y); diff --git a/LisergyServer/Game/Systems/Harvesting/HarvestingLogic.cs b/LisergyServer/Game/Systems/Harvesting/HarvestingLogic.cs index 1cdc6cca9..1db43db73 100644 --- a/LisergyServer/Game/Systems/Harvesting/HarvestingLogic.cs +++ b/LisergyServer/Game/Systems/Harvesting/HarvestingLogic.cs @@ -128,8 +128,6 @@ public HarvestingTaskState CalculateCurrentState() var harvesting = Entity.Components.Get(); var tile = Game.World.Map.GetTile(harvesting.Tile.X, harvesting.Tile.Y); var startTime = DateTime.FromBinary(harvesting.StartedAt); - - // var tileSpec = Game.Specs.Tiles[tile.SpecId]; if (!tileSpec.ResourceSpotSpecId.HasValue) { diff --git a/LisergyServer/Game/Systems/Party/PartyEntity.cs b/LisergyServer/Game/Systems/Party/PartyEntity.cs index 697f48417..c67570572 100644 --- a/LisergyServer/Game/Systems/Party/PartyEntity.cs +++ b/LisergyServer/Game/Systems/Party/PartyEntity.cs @@ -24,6 +24,7 @@ public PartyEntity(IGame game, GameId owner) : base(game, owner) Components.Add(); Components.Add(); Components.Add(); + Components.Add(); Components.Add(); Components.Get().MaxWeight = game.Specs.Harvesting.StartingPartyCargoWeight; Components.Get().MoveDelay = TimeSpan.FromSeconds(1); diff --git a/LisergyServer/Game/Systems/Player/PlayerEntity.cs b/LisergyServer/Game/Systems/Player/PlayerEntity.cs index 3f32d9e53..8960e642d 100644 --- a/LisergyServer/Game/Systems/Player/PlayerEntity.cs +++ b/LisergyServer/Game/Systems/Player/PlayerEntity.cs @@ -11,6 +11,7 @@ using System.Collections.Generic; using System.Linq; using System.Xml.Linq; +using Game.Systems.ActionPoints; namespace Game.Systems.Player { @@ -33,6 +34,7 @@ public PlayerEntity(PlayerProfile profile, IGame game) Game = game; Components = new ComponentSet(this); Components.Add(); + Components.Add(); Components.AddReference(new PlayerData()); Components.AddReference(new VisibilityReferences()); Profile = profile; diff --git a/LisergyServer/Game/Systems/Player/PlayerLogic.cs b/LisergyServer/Game/Systems/Player/PlayerLogic.cs index a6cb308fd..b8cc95a81 100644 --- a/LisergyServer/Game/Systems/Player/PlayerLogic.cs +++ b/LisergyServer/Game/Systems/Player/PlayerLogic.cs @@ -9,13 +9,14 @@ using GameData; using GameData.Specs; using System.Collections.Generic; +using Game.Systems.ActionPoints; namespace Game.Systems.Player { /// /// Interacts with player specific data /// - public class PlayerLogic : BaseEntityLogic + public unsafe class PlayerLogic : BaseEntityLogic { private PlayerData Data => Entity.Components.GetReference(); @@ -80,6 +81,16 @@ public void PlaceNewPlayer(TileEntity t) return; } + public void TakeTurn() + { + var p = Entity as PlayerEntity; + foreach (var party in p.Parties) + { + party.EntityLogic.ActionPoints.SetActionPoints(1); + } + p.Components.GetPointer()->Turns++; + } + /// /// Record a battle header of a battle that happened for this player /// diff --git a/LisergyServer/Game/Systems/Player/PlayerSystem.cs b/LisergyServer/Game/Systems/Player/PlayerSystem.cs index 6e6668360..e02a1e182 100644 --- a/LisergyServer/Game/Systems/Player/PlayerSystem.cs +++ b/LisergyServer/Game/Systems/Player/PlayerSystem.cs @@ -1,5 +1,7 @@ using Game.Engine.ECS; +using Game.Network.ClientPackets; using Game.Network.ServerPackets; +using Game.Systems.ActionPoints; using Game.Systems.FogOfWar; namespace Game.Systems.Player @@ -13,9 +15,15 @@ public PlayerSystem(LisergyGame game) : base(game) public override void RegisterListeners() { Game.Network.On(OnBattleResultPacket); + Game.Network.On(TakeTurn); EntityEvents.On(OnTileVisibilityChanged); } + + private static void TakeTurn(TakeTurnPacket p) + { + p.Sender.EntityLogic.Player.TakeTurn(); + } /// /// Received from battle server diff --git a/LisergyServer/ServerTests/Unit/Stubs/StubGame.cs b/LisergyServer/ServerTests/Unit/Stubs/StubGame.cs index 885e7c00c..85bcfcdb8 100644 --- a/LisergyServer/ServerTests/Unit/Stubs/StubGame.cs +++ b/LisergyServer/ServerTests/Unit/Stubs/StubGame.cs @@ -12,6 +12,7 @@ using System; using System.Collections.Generic; using System.Xml.Linq; +using Game.Systems.Party; namespace ServerTests { @@ -95,6 +96,7 @@ public TestServerPlayer CreatePlayer(in int x = 10, in int y = 10) var tile = World.Map.GetTile(x, y); player.EntityLogic.Player.PlaceNewPlayer(World.Map.GetTile(x, y)); Entities.DeltaCompression.SendDeltaPackets(player); + //player.Parties[0].Components.Remove(); return player; } diff --git a/LisergyServer/ServerTests/Unit/Stubs/StubPlayer.cs b/LisergyServer/ServerTests/Unit/Stubs/StubPlayer.cs index 5efc8012b..76385838f 100644 --- a/LisergyServer/ServerTests/Unit/Stubs/StubPlayer.cs +++ b/LisergyServer/ServerTests/Unit/Stubs/StubPlayer.cs @@ -56,7 +56,9 @@ public void SendTestPacket(EventType ev) where EventType : BasePacket public void SendMoveRequest(PartyEntity p, TileEntity t, CourseIntent intent) { + var path = t.Chunk.Map.FindPath(p.Tile, t).Select(pa => new Location(pa.X, pa.Y)).ToList(); + p.EntityLogic.ActionPoints.SetActionPoints((byte)path.Count); var ev = new MoveRequestPacket() { Path = path, PartyIndex = p.PartyIndex, Intent = intent }; ev.Sender = this; _network.IncomingPackets.Call(ev); diff --git a/LisergyServer/ServerTests/Unit/TestActionPoints.cs b/LisergyServer/ServerTests/Unit/TestActionPoints.cs new file mode 100644 index 000000000..6f95b99f0 --- /dev/null +++ b/LisergyServer/ServerTests/Unit/TestActionPoints.cs @@ -0,0 +1,90 @@ +using Game.Engine.DataTypes; +using Game.Events.ServerEvents; +using Game.Network.ClientPackets; +using Game.Systems.Battler; +using Game.Systems.FogOfWar; +using Game.Systems.Map; +using Game.Systems.Movement; +using Game.Systems.Party; +using Game.World; +using NUnit.Framework; +using ServerTests; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace UnitTests +{ + public class TestActionPoints + { + private TestGame _game; + private List _path; + private TestServerPlayer _player; + private PartyEntity _party; + + [SetUp] + public void Setup() + { + _game = new TestGame(); + _player = _game.GetTestPlayer(); + _path = new List(); + _party = _player.GetParty(0); + } + + private void SendMoveRequest() + { + var ev = new MoveRequestPacket() { Path = _path, PartyIndex = _party.PartyIndex }; + ev.Sender = _player; + _game.HandleClientEvent(_player, ev); + } + + [Test] + public void TestCourseNoActionPoint() + { + var tile = _party.Tile; + var next = tile.GetNeighbor(Direction.SOUTH); + _path.Add(new Location(next.X, next.Y)); + + SendMoveRequest(); + + Assert.AreEqual(0, _game.GameScheduler.PendingTasks); + } + + [Test] + public void TestCourseAfterActionPoint() + { + var tile = _party.Tile; + var next = tile.GetNeighbor(Direction.SOUTH); + _path.Add(new Location(next.X, next.Y)); + + _party.EntityLogic.ActionPoints.SetActionPoints(1); + SendMoveRequest(); + + Assert.AreEqual(1, _game.GameScheduler.PendingTasks); + Assert.IsTrue(_party.Course != null); + } + + [Test] + public void TestActionPointDeducted() + { + var tile = _party.Tile; + var next = tile.GetNeighbor(Direction.SOUTH); + _path.Add(new Location(next.X, next.Y)); + + _party.EntityLogic.ActionPoints.SetActionPoints(1); + SendMoveRequest(); + + Assert.AreEqual(0, _party.EntityLogic.ActionPoints.GetActionPoints()); + } + + [Test] + public void TestTakingTurnIncreaseActionPoint() + { + Assert.AreEqual(0, _party.EntityLogic.ActionPoints.GetActionPoints()); + + _player.EntityLogic.Player.TakeTurn(); + + Assert.AreEqual(1, _party.EntityLogic.ActionPoints.GetActionPoints()); + } + } +} \ No newline at end of file diff --git a/LisergyServer/ServerTests/Unit/TestCourses.cs b/LisergyServer/ServerTests/Unit/TestCourses.cs index cbd35cc0e..c2e23b826 100644 --- a/LisergyServer/ServerTests/Unit/TestCourses.cs +++ b/LisergyServer/ServerTests/Unit/TestCourses.cs @@ -29,10 +29,12 @@ public void Setup() _player = _game.GetTestPlayer(); _path = new List(); _party = _player.GetParty(0); + _party.EntityLogic.ActionPoints.SetActionPoints(255); } private void SendMoveRequest() { + _party.EntityLogic.ActionPoints.SetActionPoints((byte)_path.Count); var ev = new MoveRequestPacket() { Path = _path, PartyIndex = _party.PartyIndex }; ev.Sender = _player; _game.HandleClientEvent(_player, ev); @@ -92,6 +94,7 @@ public void TestMoveOutsidePlayerVision() _player.ReceivedPackets.Clear(); // Moving player2 to 5 7 which is slightly outside p1 vision + player2.EntityLogic.Player.TakeTurn(); _path.Add(new Location(5, 7)); _game.HandleClientEvent(player2, new MoveRequestPacket() { Path = _path, PartyIndex = player2Party.PartyIndex }); _game.GameScheduler.Tick(_game.GameScheduler.Now + player2Party.Course.Delay); diff --git a/LisergyServer/ServerTests/Unit/TestHarvesting.cs b/LisergyServer/ServerTests/Unit/TestHarvesting.cs index 94d9c3172..337102544 100644 --- a/LisergyServer/ServerTests/Unit/TestHarvesting.cs +++ b/LisergyServer/ServerTests/Unit/TestHarvesting.cs @@ -34,8 +34,10 @@ public void Setup() _party = _player.GetParty(0); _logs = _game.TestMap.GetTile(5, 5); _party.EntityLogic.Map.SetPosition(_logs.GetNeighbor(Direction.SOUTH)); + _party.EntityLogic.ActionPoints.SetActionPoints(255); _scheduler = _game.Scheduler as GameScheduler; _logs.SpecId = TestTiles.FOREST.ID; + } [Test] @@ -181,7 +183,7 @@ public void TestFinishHarvestingHalfTwice() { var tileResourceBefore = _logs.Get(); - _party.EntityLogic.Harvesting.StartHarvesting(_logs); + Assert.IsTrue(_party.EntityLogic.Harvesting.StartHarvesting(_logs)); var totalTime = _logs.HarvestPointSpec.ResourceAmount * _logs.HarvestPointSpec.HarvestTimePerUnit; // Advance half of the harvesting time From 78a48a7d6d73032bda78c2e4bdb051f52394de25 Mon Sep 17 00:00:00 2001 From: Gabriel Slomka Date: Thu, 16 May 2024 08:46:53 +0100 Subject: [PATCH 2/2] Fix pipe? --- .../Assets/Plugins/ClientSDK.dll | 2 +- .../LisergyClient/Assets/Plugins/Game.dll | 2 +- .../LisergyClient/Assets/Plugins/GameData.dll | 2 +- LisergyServer/ClientSDK/ClientNetwork.cs | 2 +- LisergyServer/Game/Engine/DataTypes/GameId.cs | 2 +- .../Game/Engine/Scheduler/GameScheduler.cs | 2 +- LisergyServer/LisergyServer.sln | 8 ++++- .../Integration => SmokeTests}/SanityTest.cs | 32 +----------------- LisergyServer/SmokeTests/SmokeTests.csproj | 25 ++++++++++++++ .../Stubs/TestGameClient.cs | 0 .../TwoPlayersTest.cs | 2 ++ .../{ServerTests => UnitTests}/.gitignore | 0 .../Unit => UnitTests}/GlobalTestSetup.cs | 0 .../Properties/launchSettings.json | 0 .../Unit => UnitTests}/Stubs/StubBattle.cs | 0 .../Stubs/StubBigMapGame.cs | 0 .../Unit => UnitTests}/Stubs/StubGame.cs | 0 .../Unit => UnitTests}/Stubs/StubPlayer.cs | 0 .../Unit => UnitTests}/TestActionPoints.cs | 0 .../Unit => UnitTests}/TestAutoBattle.cs | 0 .../Unit => UnitTests}/TestBattleActions.cs | 0 .../Unit => UnitTests}/TestBattleGroup.cs | 0 .../Unit => UnitTests}/TestBattleListener.cs | 0 .../Unit => UnitTests}/TestBattleMemory.cs | 0 .../Unit => UnitTests}/TestBuilding.cs | 0 .../Unit => UnitTests}/TestCargo.cs | 0 .../Unit => UnitTests}/TestChunk.cs | 0 .../Unit => UnitTests}/TestCourses.cs | 0 .../Unit => UnitTests}/TestDungeon.cs | 0 .../Unit => UnitTests}/TestECS.cs | 0 .../Unit => UnitTests}/TestEventBus.cs | 0 .../TestFastScheduler.cs | 0 .../Unit => UnitTests}/TestGameIds.cs | 0 .../Unit => UnitTests}/TestHarvesting.cs | 0 .../Unit => UnitTests}/TestJoiningWorld.cs | 0 .../Unit => UnitTests}/TestLineOfSight.cs | 0 .../Unit => UnitTests}/TestMap.cs | 0 .../Unit => UnitTests}/TestParty.cs | 0 .../Unit => UnitTests}/TestPathfinding.cs | 0 .../Unit => UnitTests}/TestPerformance.cs | 0 .../Unit => UnitTests}/TestPersistence.cs | 0 .../Unit => UnitTests}/TestResources.cs | 0 .../Unit => UnitTests}/TestScheduler.cs | 0 .../Unit => UnitTests}/TestSerialization.cs | 0 .../Unit => UnitTests}/TestSimpleBattle.cs | 0 .../Unit => UnitTests}/TestSpecs.cs | 0 .../Unit => UnitTests}/TestTileComponents.cs | 0 .../Unit => UnitTests}/TestTiles.cs | 0 .../Unit => UnitTests}/TestUnit.cs | 0 .../Unit => UnitTests}/TestUtils.cs | 0 .../Unit => UnitTests}/TestWorld.cs | 0 .../Unit => UnitTests}/TestWorldEvents.cs | 0 .../UnitTests.csproj} | 2 ++ Tools/.DS_Store | Bin 0 -> 6148 bytes lfs/.DS_Store | Bin 0 -> 6148 bytes 55 files changed, 43 insertions(+), 38 deletions(-) rename LisergyServer/{ServerTests/Integration => SmokeTests}/SanityTest.cs (85%) create mode 100644 LisergyServer/SmokeTests/SmokeTests.csproj rename LisergyServer/{ServerTests/Integration => SmokeTests}/Stubs/TestGameClient.cs (100%) rename LisergyServer/{ServerTests/Integration => SmokeTests}/TwoPlayersTest.cs (99%) rename LisergyServer/{ServerTests => UnitTests}/.gitignore (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/GlobalTestSetup.cs (100%) rename LisergyServer/{ServerTests => UnitTests}/Properties/launchSettings.json (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/Stubs/StubBattle.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/Stubs/StubBigMapGame.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/Stubs/StubGame.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/Stubs/StubPlayer.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestActionPoints.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestAutoBattle.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestBattleActions.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestBattleGroup.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestBattleListener.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestBattleMemory.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestBuilding.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestCargo.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestChunk.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestCourses.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestDungeon.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestECS.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestEventBus.cs (100%) rename LisergyServer/{ServerTests => UnitTests}/TestFastScheduler.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestGameIds.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestHarvesting.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestJoiningWorld.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestLineOfSight.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestMap.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestParty.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestPathfinding.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestPerformance.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestPersistence.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestResources.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestScheduler.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestSerialization.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestSimpleBattle.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestSpecs.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestTileComponents.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestTiles.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestUnit.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestUtils.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestWorld.cs (100%) rename LisergyServer/{ServerTests/Unit => UnitTests}/TestWorldEvents.cs (100%) rename LisergyServer/{ServerTests/ServerTests.csproj => UnitTests/UnitTests.csproj} (93%) create mode 100644 Tools/.DS_Store create mode 100644 lfs/.DS_Store diff --git a/LisergyClient/LisergyClient/Assets/Plugins/ClientSDK.dll b/LisergyClient/LisergyClient/Assets/Plugins/ClientSDK.dll index f60d6d820..0d2891547 100644 --- a/LisergyClient/LisergyClient/Assets/Plugins/ClientSDK.dll +++ b/LisergyClient/LisergyClient/Assets/Plugins/ClientSDK.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bc050f347b4072ead6d8e7008c1c03b899a1fe0809ead700f3a6e5465342fb70 +oid sha256:7ae2da284c13e7a0fd33a96dd8f4472d8c21f4e838a7520d17f87f1eeb0e8711 size 33792 diff --git a/LisergyClient/LisergyClient/Assets/Plugins/Game.dll b/LisergyClient/LisergyClient/Assets/Plugins/Game.dll index fb058a288..7819176de 100644 --- a/LisergyClient/LisergyClient/Assets/Plugins/Game.dll +++ b/LisergyClient/LisergyClient/Assets/Plugins/Game.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d891d64c556f855d28bb8464dc293980678f86ae43acb98af2e7be4f8696242a +oid sha256:ba890608a75f452f98f882a2bdc8aca0101b3860ace2490f82621ee391d3ee1d size 187392 diff --git a/LisergyClient/LisergyClient/Assets/Plugins/GameData.dll b/LisergyClient/LisergyClient/Assets/Plugins/GameData.dll index d96eaf9f5..e6cd988c5 100644 --- a/LisergyClient/LisergyClient/Assets/Plugins/GameData.dll +++ b/LisergyClient/LisergyClient/Assets/Plugins/GameData.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ccb58be41d6d84dd7c6afd39ca64a635192eb0583c695f1af80949b93a1ca9ac +oid sha256:b11a3bce9bafb63626b071a422849e666b3a9e06c9db8dff5265730b659dac86 size 11776 diff --git a/LisergyServer/ClientSDK/ClientNetwork.cs b/LisergyServer/ClientSDK/ClientNetwork.cs index da1996a83..31024ee95 100644 --- a/LisergyServer/ClientSDK/ClientNetwork.cs +++ b/LisergyServer/ClientSDK/ClientNetwork.cs @@ -10,7 +10,7 @@ using System.Runtime.CompilerServices; using Telepathy; -[assembly: InternalsVisibleTo("ServerTests")] +[assembly: InternalsVisibleTo("UnitTests")] namespace ClientSDK { public class ClientNetwork : IGameNetwork, IEventListener diff --git a/LisergyServer/Game/Engine/DataTypes/GameId.cs b/LisergyServer/Game/Engine/DataTypes/GameId.cs index 883ada63c..8c64a8f7d 100644 --- a/LisergyServer/Game/Engine/DataTypes/GameId.cs +++ b/LisergyServer/Game/Engine/DataTypes/GameId.cs @@ -20,7 +20,7 @@ public unsafe struct GameId : IEquatable, IEqualityComparer /// 0 = disabled. /// This is just during initial development later can think a better solution for debugging /// - internal static ulong DEBUG_MODE = 0; + public static ulong DEBUG_MODE = 0; /// /// Sets whats to be the next generated game id diff --git a/LisergyServer/Game/Engine/Scheduler/GameScheduler.cs b/LisergyServer/Game/Engine/Scheduler/GameScheduler.cs index f66a80e5c..f1f949cc2 100644 --- a/LisergyServer/Game/Engine/Scheduler/GameScheduler.cs +++ b/LisergyServer/Game/Engine/Scheduler/GameScheduler.cs @@ -5,7 +5,7 @@ using System.Linq; using System.Runtime.CompilerServices; -[assembly: InternalsVisibleTo("ServerTests")] +[assembly: InternalsVisibleTo("UnitTests")] namespace Game.Engine.Scheduler { /// diff --git a/LisergyServer/LisergyServer.sln b/LisergyServer/LisergyServer.sln index 20c51b8df..6fd115234 100644 --- a/LisergyServer/LisergyServer.sln +++ b/LisergyServer/LisergyServer.sln @@ -9,7 +9,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Game", "Game\Game.csproj", EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GameData", "GameData\GameData.csproj", "{5B793397-7989-4CAE-A572-5AC909B8F91F}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ServerTests", "ServerTests\ServerTests.csproj", "{4584F2EF-E15F-479C-BEC9-3DEDDC525658}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnitTests", "UnitTests\UnitTests.csproj", "{4584F2EF-E15F-479C-BEC9-3DEDDC525658}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GameDataTest", "GameDataTest\GameDataTest.csproj", "{C243FA12-2F86-4682-8FB9-BFE65D0C3337}" EndProject @@ -30,6 +30,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GameServices", "GameService EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SDL", "RedisMagic\SDL.csproj", "{FC963FB0-0E8C-4A83-837A-948CD48EDAEC}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SmokeTests", "SmokeTests\SmokeTests.csproj", "{483A5A4E-2B2C-4A7C-B82F-26EECD4B7FC7}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -80,6 +82,10 @@ Global {FC963FB0-0E8C-4A83-837A-948CD48EDAEC}.Debug|Any CPU.Build.0 = Debug|Any CPU {FC963FB0-0E8C-4A83-837A-948CD48EDAEC}.Release|Any CPU.ActiveCfg = Release|Any CPU {FC963FB0-0E8C-4A83-837A-948CD48EDAEC}.Release|Any CPU.Build.0 = Release|Any CPU + {483A5A4E-2B2C-4A7C-B82F-26EECD4B7FC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {483A5A4E-2B2C-4A7C-B82F-26EECD4B7FC7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {483A5A4E-2B2C-4A7C-B82F-26EECD4B7FC7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {483A5A4E-2B2C-4A7C-B82F-26EECD4B7FC7}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/LisergyServer/ServerTests/Integration/SanityTest.cs b/LisergyServer/SmokeTests/SanityTest.cs similarity index 85% rename from LisergyServer/ServerTests/Integration/SanityTest.cs rename to LisergyServer/SmokeTests/SanityTest.cs index aaa63c8fc..3c1657ccc 100644 --- a/LisergyServer/ServerTests/Integration/SanityTest.cs +++ b/LisergyServer/SmokeTests/SanityTest.cs @@ -49,37 +49,7 @@ public async Task TestDisconnection() var result = await _client.WaitFor(); Assert.IsNull(result); } - - [Test] - [NonParallelizable] - public async Task TestReconnection() - { - var mapPlacementUpdates = new List(); - _client.Modules.Components.OnComponentUpdate((e, oldValue, newValue) => - { - mapPlacementUpdates.Add(e); - }); - _client.Modules.Account.SendAuthenticationPacket("abc", "def"); - var result = await _client.WaitFor(); - Assert.NotNull(result); - - _client.Network.Disconnect(); - _client.ReceivedPackets.Clear(); - _client.Network.Tick(); - mapPlacementUpdates.Clear(); - - _client.Modules.Account.SendAuthenticationPacket("abc", "def"); - result = await _client.WaitFor(); - Assert.AreEqual(true, result.Success); - - await _client.WaitFor(e => e.Type == EntityType.Party); - await _client.WaitFor(e => e.Type == EntityType.Dungeon); - await _client.WaitFor(e => e.Type == EntityType.Building); - - Assert.AreEqual(2, mapPlacementUpdates.Count); // Party, Dungeon - Assert.AreEqual(1, mapPlacementUpdates.Count(c => c is PartyEntity)); - } - + [Test] [NonParallelizable] public async Task SmokeTestFlow() diff --git a/LisergyServer/SmokeTests/SmokeTests.csproj b/LisergyServer/SmokeTests/SmokeTests.csproj new file mode 100644 index 000000000..63b5d0960 --- /dev/null +++ b/LisergyServer/SmokeTests/SmokeTests.csproj @@ -0,0 +1,25 @@ + + + + net6.0 + enable + + false + + + + + + + + + + + + + + + + + + diff --git a/LisergyServer/ServerTests/Integration/Stubs/TestGameClient.cs b/LisergyServer/SmokeTests/Stubs/TestGameClient.cs similarity index 100% rename from LisergyServer/ServerTests/Integration/Stubs/TestGameClient.cs rename to LisergyServer/SmokeTests/Stubs/TestGameClient.cs diff --git a/LisergyServer/ServerTests/Integration/TwoPlayersTest.cs b/LisergyServer/SmokeTests/TwoPlayersTest.cs similarity index 99% rename from LisergyServer/ServerTests/Integration/TwoPlayersTest.cs rename to LisergyServer/SmokeTests/TwoPlayersTest.cs index b2b6e496e..6c4749611 100644 --- a/LisergyServer/ServerTests/Integration/TwoPlayersTest.cs +++ b/LisergyServer/SmokeTests/TwoPlayersTest.cs @@ -8,6 +8,7 @@ namespace ServerTests.Integration { + /* public class TwoPlayerTest { StandaloneServer _server; @@ -84,4 +85,5 @@ public async Task SmokeTestP1Disconnects() Assert.NotNull(p2Received); } } + */ } diff --git a/LisergyServer/ServerTests/.gitignore b/LisergyServer/UnitTests/.gitignore similarity index 100% rename from LisergyServer/ServerTests/.gitignore rename to LisergyServer/UnitTests/.gitignore diff --git a/LisergyServer/ServerTests/Unit/GlobalTestSetup.cs b/LisergyServer/UnitTests/GlobalTestSetup.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/GlobalTestSetup.cs rename to LisergyServer/UnitTests/GlobalTestSetup.cs diff --git a/LisergyServer/ServerTests/Properties/launchSettings.json b/LisergyServer/UnitTests/Properties/launchSettings.json similarity index 100% rename from LisergyServer/ServerTests/Properties/launchSettings.json rename to LisergyServer/UnitTests/Properties/launchSettings.json diff --git a/LisergyServer/ServerTests/Unit/Stubs/StubBattle.cs b/LisergyServer/UnitTests/Stubs/StubBattle.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/Stubs/StubBattle.cs rename to LisergyServer/UnitTests/Stubs/StubBattle.cs diff --git a/LisergyServer/ServerTests/Unit/Stubs/StubBigMapGame.cs b/LisergyServer/UnitTests/Stubs/StubBigMapGame.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/Stubs/StubBigMapGame.cs rename to LisergyServer/UnitTests/Stubs/StubBigMapGame.cs diff --git a/LisergyServer/ServerTests/Unit/Stubs/StubGame.cs b/LisergyServer/UnitTests/Stubs/StubGame.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/Stubs/StubGame.cs rename to LisergyServer/UnitTests/Stubs/StubGame.cs diff --git a/LisergyServer/ServerTests/Unit/Stubs/StubPlayer.cs b/LisergyServer/UnitTests/Stubs/StubPlayer.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/Stubs/StubPlayer.cs rename to LisergyServer/UnitTests/Stubs/StubPlayer.cs diff --git a/LisergyServer/ServerTests/Unit/TestActionPoints.cs b/LisergyServer/UnitTests/TestActionPoints.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestActionPoints.cs rename to LisergyServer/UnitTests/TestActionPoints.cs diff --git a/LisergyServer/ServerTests/Unit/TestAutoBattle.cs b/LisergyServer/UnitTests/TestAutoBattle.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestAutoBattle.cs rename to LisergyServer/UnitTests/TestAutoBattle.cs diff --git a/LisergyServer/ServerTests/Unit/TestBattleActions.cs b/LisergyServer/UnitTests/TestBattleActions.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestBattleActions.cs rename to LisergyServer/UnitTests/TestBattleActions.cs diff --git a/LisergyServer/ServerTests/Unit/TestBattleGroup.cs b/LisergyServer/UnitTests/TestBattleGroup.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestBattleGroup.cs rename to LisergyServer/UnitTests/TestBattleGroup.cs diff --git a/LisergyServer/ServerTests/Unit/TestBattleListener.cs b/LisergyServer/UnitTests/TestBattleListener.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestBattleListener.cs rename to LisergyServer/UnitTests/TestBattleListener.cs diff --git a/LisergyServer/ServerTests/Unit/TestBattleMemory.cs b/LisergyServer/UnitTests/TestBattleMemory.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestBattleMemory.cs rename to LisergyServer/UnitTests/TestBattleMemory.cs diff --git a/LisergyServer/ServerTests/Unit/TestBuilding.cs b/LisergyServer/UnitTests/TestBuilding.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestBuilding.cs rename to LisergyServer/UnitTests/TestBuilding.cs diff --git a/LisergyServer/ServerTests/Unit/TestCargo.cs b/LisergyServer/UnitTests/TestCargo.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestCargo.cs rename to LisergyServer/UnitTests/TestCargo.cs diff --git a/LisergyServer/ServerTests/Unit/TestChunk.cs b/LisergyServer/UnitTests/TestChunk.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestChunk.cs rename to LisergyServer/UnitTests/TestChunk.cs diff --git a/LisergyServer/ServerTests/Unit/TestCourses.cs b/LisergyServer/UnitTests/TestCourses.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestCourses.cs rename to LisergyServer/UnitTests/TestCourses.cs diff --git a/LisergyServer/ServerTests/Unit/TestDungeon.cs b/LisergyServer/UnitTests/TestDungeon.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestDungeon.cs rename to LisergyServer/UnitTests/TestDungeon.cs diff --git a/LisergyServer/ServerTests/Unit/TestECS.cs b/LisergyServer/UnitTests/TestECS.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestECS.cs rename to LisergyServer/UnitTests/TestECS.cs diff --git a/LisergyServer/ServerTests/Unit/TestEventBus.cs b/LisergyServer/UnitTests/TestEventBus.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestEventBus.cs rename to LisergyServer/UnitTests/TestEventBus.cs diff --git a/LisergyServer/ServerTests/TestFastScheduler.cs b/LisergyServer/UnitTests/TestFastScheduler.cs similarity index 100% rename from LisergyServer/ServerTests/TestFastScheduler.cs rename to LisergyServer/UnitTests/TestFastScheduler.cs diff --git a/LisergyServer/ServerTests/Unit/TestGameIds.cs b/LisergyServer/UnitTests/TestGameIds.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestGameIds.cs rename to LisergyServer/UnitTests/TestGameIds.cs diff --git a/LisergyServer/ServerTests/Unit/TestHarvesting.cs b/LisergyServer/UnitTests/TestHarvesting.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestHarvesting.cs rename to LisergyServer/UnitTests/TestHarvesting.cs diff --git a/LisergyServer/ServerTests/Unit/TestJoiningWorld.cs b/LisergyServer/UnitTests/TestJoiningWorld.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestJoiningWorld.cs rename to LisergyServer/UnitTests/TestJoiningWorld.cs diff --git a/LisergyServer/ServerTests/Unit/TestLineOfSight.cs b/LisergyServer/UnitTests/TestLineOfSight.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestLineOfSight.cs rename to LisergyServer/UnitTests/TestLineOfSight.cs diff --git a/LisergyServer/ServerTests/Unit/TestMap.cs b/LisergyServer/UnitTests/TestMap.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestMap.cs rename to LisergyServer/UnitTests/TestMap.cs diff --git a/LisergyServer/ServerTests/Unit/TestParty.cs b/LisergyServer/UnitTests/TestParty.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestParty.cs rename to LisergyServer/UnitTests/TestParty.cs diff --git a/LisergyServer/ServerTests/Unit/TestPathfinding.cs b/LisergyServer/UnitTests/TestPathfinding.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestPathfinding.cs rename to LisergyServer/UnitTests/TestPathfinding.cs diff --git a/LisergyServer/ServerTests/Unit/TestPerformance.cs b/LisergyServer/UnitTests/TestPerformance.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestPerformance.cs rename to LisergyServer/UnitTests/TestPerformance.cs diff --git a/LisergyServer/ServerTests/Unit/TestPersistence.cs b/LisergyServer/UnitTests/TestPersistence.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestPersistence.cs rename to LisergyServer/UnitTests/TestPersistence.cs diff --git a/LisergyServer/ServerTests/Unit/TestResources.cs b/LisergyServer/UnitTests/TestResources.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestResources.cs rename to LisergyServer/UnitTests/TestResources.cs diff --git a/LisergyServer/ServerTests/Unit/TestScheduler.cs b/LisergyServer/UnitTests/TestScheduler.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestScheduler.cs rename to LisergyServer/UnitTests/TestScheduler.cs diff --git a/LisergyServer/ServerTests/Unit/TestSerialization.cs b/LisergyServer/UnitTests/TestSerialization.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestSerialization.cs rename to LisergyServer/UnitTests/TestSerialization.cs diff --git a/LisergyServer/ServerTests/Unit/TestSimpleBattle.cs b/LisergyServer/UnitTests/TestSimpleBattle.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestSimpleBattle.cs rename to LisergyServer/UnitTests/TestSimpleBattle.cs diff --git a/LisergyServer/ServerTests/Unit/TestSpecs.cs b/LisergyServer/UnitTests/TestSpecs.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestSpecs.cs rename to LisergyServer/UnitTests/TestSpecs.cs diff --git a/LisergyServer/ServerTests/Unit/TestTileComponents.cs b/LisergyServer/UnitTests/TestTileComponents.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestTileComponents.cs rename to LisergyServer/UnitTests/TestTileComponents.cs diff --git a/LisergyServer/ServerTests/Unit/TestTiles.cs b/LisergyServer/UnitTests/TestTiles.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestTiles.cs rename to LisergyServer/UnitTests/TestTiles.cs diff --git a/LisergyServer/ServerTests/Unit/TestUnit.cs b/LisergyServer/UnitTests/TestUnit.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestUnit.cs rename to LisergyServer/UnitTests/TestUnit.cs diff --git a/LisergyServer/ServerTests/Unit/TestUtils.cs b/LisergyServer/UnitTests/TestUtils.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestUtils.cs rename to LisergyServer/UnitTests/TestUtils.cs diff --git a/LisergyServer/ServerTests/Unit/TestWorld.cs b/LisergyServer/UnitTests/TestWorld.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestWorld.cs rename to LisergyServer/UnitTests/TestWorld.cs diff --git a/LisergyServer/ServerTests/Unit/TestWorldEvents.cs b/LisergyServer/UnitTests/TestWorldEvents.cs similarity index 100% rename from LisergyServer/ServerTests/Unit/TestWorldEvents.cs rename to LisergyServer/UnitTests/TestWorldEvents.cs diff --git a/LisergyServer/ServerTests/ServerTests.csproj b/LisergyServer/UnitTests/UnitTests.csproj similarity index 93% rename from LisergyServer/ServerTests/ServerTests.csproj rename to LisergyServer/UnitTests/UnitTests.csproj index 5bee94785..9dc036f6f 100644 --- a/LisergyServer/ServerTests/ServerTests.csproj +++ b/LisergyServer/UnitTests/UnitTests.csproj @@ -6,6 +6,8 @@ false true + + ServerTests diff --git a/Tools/.DS_Store b/Tools/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b9c6f24eaf3f6eb9af6010d0082d934f1b425244 GIT binary patch literal 6148 zcmeH~u};HK3`MV@LnT1!$oPJNKZr`ZvB3u*XoZj>A~i5{%f@eWZNH+Fl$8NpSAI9o zvGbHO#5Dk0er#@l1%Nr-6`#IL&F{NU?5svyEuOK%3--80i`Pl^>44W>;g0z|wiwrM z@rL(J|J*)xUF*e{Khhr1@z=77tLHszWLxG|N(ImRcP#EXx@$HLs~Uq-HrRPUds! z$yO&6i_;k|kq&E8wTgfU91}Rt?ZW&2n*PiDe_W)U2#CPHB4D%C{c6cqs=amca^7nT t{gHk!=0-Y~XvNfM#oTx+z8>Wjzvlg>>W~`cj7K?De*~P1Oa%Udz!&8P9wq<) literal 0 HcmV?d00001 diff --git a/lfs/.DS_Store b/lfs/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..7fdc0a6d16ebc50e44317bf54e66a87902816817 GIT binary patch literal 6148 zcmeHK%SyyR5UkdK3wzn4$N2^SAS~+__yf!CiXed;R_{6aU4EL?55y3HCofVBJvGzQ zHN(^)od#h0_savY1F)ex;=_lf`M&$YZYttve#Yf`9!}#pEHc*v&h0Q@#0#!J`F9MR z@QP=g@iyODKTSJQKnh3!DIf);z;6n$X1i^+i5jJV6p#Yn3i$V-(H;B3DKS1B9HIpv zb_|Dc9=!yyd4Sj#PKk`rEUCn#TD2IKbjDld^@USn(qVBk ZOIuwiB8E=se>k~Cf z0Vyz7;5L^#um6wqmHvND(n<XUx_F$|+D1RpJ?E3|#(7XUL^&o# iIp)I4@qHv^Uh_Hk`@$(P=!^%QsGkAXMJ5IQT7fU$ei|?U literal 0 HcmV?d00001