ChangeHierarchyUpdateClasses

This commit is contained in:
rawer470 2024-08-16 22:11:10 +03:00
parent 91d15a9de5
commit a2df1b746a
15 changed files with 36 additions and 42 deletions

View file

@ -25,7 +25,7 @@ namespace ZoFo.GameCore
public void OnDataSend(string data)
{
List<IUpdateData> updateDatas = JsonSerializer.Deserialize<List<IUpdateData>>(data);
List<UpdateData> updateDatas = JsonSerializer.Deserialize<List<UpdateData>>(data);
// тут будет switch
foreach (var item in updateDatas)
{

View file

@ -18,7 +18,7 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager
private int port = 7632;
private EndPoint endPoint;
private Socket socket;
List<IUpdateData> updates = new List<IUpdateData>();
List<UpdateData> updates = new List<UpdateData>();
public delegate void OnDataSent(string Data);
public event OnDataSent GetDataSent; // event
public bool IsConnected { get { return socket.Connected; } }
@ -39,7 +39,7 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager
socket.Send(bytes);
}
public void AddData(IUpdateData UpdateData)
public void AddData(UpdateData UpdateData)
{
updates.Add(UpdateData);
}

View file

@ -21,7 +21,7 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager
private IPEndPoint endPoint;
private Socket socket;
private List<Socket> clients;
private List<IUpdateData> updates;
private List<UpdateData> updates;
public delegate void OnDataSend(string data);
public event OnDataSend GetDataSend; // event
Dictionary<Socket, Thread> managerThread;
@ -38,7 +38,7 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
managerThread = new Dictionary<Socket, Thread>();
clients = new List<Socket>();
updates = new List<IUpdateData>();
updates = new List<UpdateData>();
managerThread = new Dictionary<Socket, Thread>();
socket.Bind(endPoint);
}
@ -60,7 +60,7 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager
/// добавляет в лист updates новую data
/// </summary>
/// <param name="data"></param>
public void AddData(IUpdateData data)
public void AddData(UpdateData data)
{
updates.Add(data);
}

View file

@ -6,9 +6,12 @@ using System.Threading.Tasks;
namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ClientToServer
{
public class UpdateInput :IUpdateData
public class UpdateInput :UpdateData
{
public int IdEntity { get; set; }
public string UpdateType { get; set; }
// public int IdEntity { get; set; }
public UpdateInput()
{
UpdateType = "UpdateInput";
}
}
}

View file

@ -6,9 +6,8 @@ using System.Threading.Tasks;
namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ClientToServer
{
public class UpdatePlayerExit : IUpdateData
public class UpdatePlayerExit : UpdateData
{
public int IdEntity { get; set; }
public string UpdateType { get; set; }
public UpdatePlayerExit() { UpdateType = "UpdatePlayerExit"; }
}
}

View file

@ -6,9 +6,8 @@ using System.Threading.Tasks;
namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient
{
public class UpdateAnimation : IUpdateData //хранит новую анимации
public class UpdateAnimation : UpdateData //хранит новую анимации
{
public int IdEntity { get; set; }
public string UpdateType { get; set; }
public UpdateAnimation() { UpdateType = "UpdateAnimation"; }
}
}

View file

@ -6,9 +6,8 @@ using System.Threading.Tasks;
namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient
{
public class UpdateEntityHealth : IUpdateData//хранит новое хп entity
public class UpdateEntityHealth : UpdateData//хранит новое хп entity
{
public int IdEntity { get; set; }
public string UpdateType { get; set; }
public UpdateEntityHealth() { UpdateType = "UpdateEntityHealth"; }
}
}

View file

@ -6,9 +6,8 @@ using System.Threading.Tasks;
namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient
{
public class UpdateGameEnded : IUpdateData //хранит полученый лут и уведомляет о конце игры
public class UpdateGameEnded : UpdateData //хранит полученый лут и уведомляет о конце игры
{
public int IdEntity { get; set; }
public string UpdateType { get; set; }
public UpdateGameEnded() { UpdateType = "UpdateGameEnded"; }
}
}

View file

@ -6,9 +6,8 @@ using System.Threading.Tasks;
namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient
{
public class UpdateGameObjectCreated : IUpdateData //Хранит объект, который только отправили
public class UpdateGameObjectCreated : UpdateData //Хранит объект, который только отправили
{
public int IdEntity { get; set; }
public string UpdateType { get; set; }
public UpdateGameObjectCreated() { UpdateType = "UpdateGameObjectCreated"; }
}
}

View file

@ -6,9 +6,8 @@ using System.Threading.Tasks;
namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient
{
public class UpdateLoot : IUpdateData //Хранит лут
public class UpdateLoot : UpdateData //Хранит лут
{
public int IdEntity { get; set; }
public string UpdateType { get; set; }
public UpdateLoot() { UpdateType = "UpdateLoot"; }
}
}

View file

@ -6,9 +6,8 @@ using System.Threading.Tasks;
namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient
{
public class UpdatePlayerParametrs : IUpdateData //Хранит хп, радиацию
public class UpdatePlayerParametrs : UpdateData //Хранит хп, радиацию
{
public int IdEntity { get; set; }
public string UpdateType { get; set; }
public UpdatePlayerParametrs() { UpdateType = "UpdatePlayerParametrs"; }
}
}

View file

@ -6,9 +6,8 @@ using System.Threading.Tasks;
namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient
{
public class UpdatePosition : IUpdateData //Хранит новую позицию
public class UpdatePosition : UpdateData //Хранит новую позицию
{
public int IdEntity { get; set; }
public string UpdateType { get; set; }
public UpdatePosition() { UpdateType = "UpdatePosition"; }
}
}

View file

@ -10,11 +10,10 @@ using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ClientToServer;
namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient
{
public class UpdateTileCreated : IUpdateData
public class UpdateTileCreated : UpdateData
{
public int IdEntity { get; set; }
public string UpdateType { get; set; }
public UpdateTileCreated() { UpdateType = "UpdateTileCreated"; }
public Texture2D TextureTile { get; set; }
public Vector2 Position { get; set; }
}

View file

@ -20,10 +20,10 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates
[JsonDerivedType(typeof(UpdateTileCreated))]
[JsonDerivedType(typeof(UpdateInput))]
[JsonDerivedType(typeof(UpdatePlayerExit))]
public interface IUpdateData
public class UpdateData
{
public int IdEntity { get; set; } //Id объекта
public string UpdateType { get; set; } //тип обновления
public string UpdateType { get; protected set; } //тип обновления
}
}

View file

@ -24,7 +24,7 @@ namespace ZoFo.GameCore
}
public void OnDataSend(string data)
{
List<IUpdateData> updateDatas = JsonSerializer.Deserialize<List<IUpdateData>>(data);
List<UpdateData> updateDatas = JsonSerializer.Deserialize<List<UpdateData>>(data);
//ТУТ Switch case будет честное слово
}
@ -32,7 +32,7 @@ namespace ZoFo.GameCore
/// Для красоты) Отдел Серверов
/// </summary>
/// <param name="data"></param>
public void AddData(IUpdateData data)//добавляет в лист updates новую data
public void AddData(UpdateData data)//добавляет в лист updates новую data
{
networkManager.AddData(data);
}