NetworkGameStartCommit
This commit is contained in:
parent
93125d97cd
commit
090a3dd3aa
4 changed files with 24 additions and 7 deletions
|
@ -52,8 +52,6 @@ public class WaitingForPlayersGUI : AbstractGUI
|
||||||
startButton.LeftButtonPressed += () =>
|
startButton.LeftButtonPressed += () =>
|
||||||
{
|
{
|
||||||
// start
|
// start
|
||||||
AppManager.Instance.ChangeState(GameState.HostPlaying);
|
|
||||||
AppManager.Instance.SetGUI(new HUD());////
|
|
||||||
AppManager.Instance.server.StartGame();
|
AppManager.Instance.server.StartGame();
|
||||||
// ваш код здесь
|
// ваш код здесь
|
||||||
};
|
};
|
||||||
|
@ -74,9 +72,6 @@ public class WaitingForPlayersGUI : AbstractGUI
|
||||||
waitButton.LeftButtonPressed += () =>
|
waitButton.LeftButtonPressed += () =>
|
||||||
{
|
{
|
||||||
// start
|
// start
|
||||||
AppManager.Instance.client.SendData();
|
|
||||||
AppManager.Instance.ChangeState(GameState.ClientPlaying);
|
|
||||||
AppManager.Instance.SetGUI(new HUD());
|
|
||||||
// ваш код здесь
|
// ваш код здесь
|
||||||
};
|
};
|
||||||
Elements.Add(waitButton);
|
Elements.Add(waitButton);
|
||||||
|
|
|
@ -13,6 +13,7 @@ using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using ZoFo.GameCore.GameManagers.NetworkManager.Updates;
|
using ZoFo.GameCore.GameManagers.NetworkManager.Updates;
|
||||||
using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient;
|
using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient;
|
||||||
|
using ZoFo.GameCore.GUI;
|
||||||
|
|
||||||
|
|
||||||
namespace ZoFo.GameCore.GameManagers.NetworkManager
|
namespace ZoFo.GameCore.GameManagers.NetworkManager
|
||||||
|
@ -71,12 +72,14 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager
|
||||||
JToken token = JToken.FromObject(jObj);
|
JToken token = JToken.FromObject(jObj);
|
||||||
JToken updateDatas = token["updateDatas"];
|
JToken updateDatas = token["updateDatas"];
|
||||||
Datagramm Dgramm = new Datagramm();
|
Datagramm Dgramm = new Datagramm();
|
||||||
|
Dgramm.isImportant = token["isImportant"].ToObject<bool>();
|
||||||
|
Dgramm.DatagrammId = token["DatagrammId"].ToObject<int>();
|
||||||
if (PlayerId == 0)
|
if (PlayerId == 0)
|
||||||
{
|
{
|
||||||
PlayerId = token["PlayerId"].ToObject<int>();
|
PlayerId = token["PlayerId"].ToObject<int>();
|
||||||
|
AppManager.Instance.ChangeState(GameState.ClientPlaying);
|
||||||
|
AppManager.Instance.SetGUI(new HUD());
|
||||||
}
|
}
|
||||||
Dgramm.isImportant = token["isImportant"].ToObject<bool>();
|
|
||||||
Dgramm.DatagrammId = token["DatagrammId"].ToObject<int>();
|
|
||||||
if (Dgramm.isImportant)
|
if (Dgramm.isImportant)
|
||||||
{
|
{
|
||||||
if (Dgramm.DatagrammId == currentServerDatagrammId + 1)
|
if (Dgramm.DatagrammId == currentServerDatagrammId + 1)
|
||||||
|
|
|
@ -14,6 +14,7 @@ using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using ZoFo.GameCore.GameManagers.NetworkManager.Updates;
|
using ZoFo.GameCore.GameManagers.NetworkManager.Updates;
|
||||||
using ZoFo.GameCore.GameManagers.NetworkManager.SerializableDTO;
|
using ZoFo.GameCore.GameManagers.NetworkManager.SerializableDTO;
|
||||||
|
using ZoFo.GameCore.GUI;
|
||||||
|
|
||||||
namespace ZoFo.GameCore.GameManagers.NetworkManager
|
namespace ZoFo.GameCore.GameManagers.NetworkManager
|
||||||
{
|
{
|
||||||
|
@ -177,6 +178,23 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager
|
||||||
serverThread.IsBackground = true;
|
serverThread.IsBackground = true;
|
||||||
serverThread.Start();
|
serverThread.Start();
|
||||||
}
|
}
|
||||||
|
public void StartGame()
|
||||||
|
{
|
||||||
|
for (int i = 0; i < clientsEP.Count; i++)
|
||||||
|
{
|
||||||
|
Datagramm initDgramm = new Datagramm();
|
||||||
|
initDgramm.isImportant = true;
|
||||||
|
initDgramm.DatagrammId = currentDatagrammId;
|
||||||
|
initDgramm.PlayerId = i + 1;
|
||||||
|
sendedData.Add(initDgramm);
|
||||||
|
string data = JsonSerializer.Serialize(initDgramm);
|
||||||
|
byte[] buffer = Encoding.UTF8.GetBytes(data);
|
||||||
|
socket.SendTo(buffer, clientsEP[i]);
|
||||||
|
currentDatagrammId++;
|
||||||
|
}
|
||||||
|
AppManager.Instance.ChangeState(GameState.HostPlaying);
|
||||||
|
AppManager.Instance.SetGUI(new HUD());////
|
||||||
|
}
|
||||||
|
|
||||||
//Потоки Клиентов
|
//Потоки Клиентов
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -122,6 +122,7 @@ namespace ZoFo.GameCore
|
||||||
gameObjects = new List<GameObject>();
|
gameObjects = new List<GameObject>();
|
||||||
entities = new List<Entity>();
|
entities = new List<Entity>();
|
||||||
players = new List<Player>();
|
players = new List<Player>();
|
||||||
|
networkManager.StartGame();
|
||||||
new MapManager().LoadMap();
|
new MapManager().LoadMap();
|
||||||
|
|
||||||
//AppManager.Instance.server.RegisterGameObject(new EntittyForAnimationTests(new Vector2(0, 0)));
|
//AppManager.Instance.server.RegisterGameObject(new EntittyForAnimationTests(new Vector2(0, 0)));
|
||||||
|
|
Loading…
Add table
Reference in a new issue