ChangeHierarchyUpdateClasses
This commit is contained in:
parent
91d15a9de5
commit
a2df1b746a
15 changed files with 36 additions and 42 deletions
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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"; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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"; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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"; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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"; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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"; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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"; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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"; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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"; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
}
|
||||
|
|
|
@ -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; } //тип обновления
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue