fix: timer, providing api for listeners
This commit is contained in:
@@ -21,10 +21,10 @@ internal class RoomListHandler: IHandler
|
|||||||
{
|
{
|
||||||
var id = reader.ReadString();
|
var id = reader.ReadString();
|
||||||
var scene = reader.ReadString();
|
var scene = reader.ReadString();
|
||||||
var players = reader.ReadUShort();
|
|
||||||
var maxPlayers = reader.ReadUShort();
|
var maxPlayers = reader.ReadUShort();
|
||||||
var minPlayers = reader.ReadUShort();
|
var minPlayers = reader.ReadUShort();
|
||||||
|
var players = reader.ReadUShort();
|
||||||
|
|
||||||
var roomInfo = new RagonRoomInformation()
|
var roomInfo = new RagonRoomInformation()
|
||||||
{
|
{
|
||||||
Id = id,
|
Id = id,
|
||||||
|
|||||||
@@ -179,6 +179,7 @@ namespace Ragon.Client
|
|||||||
public void AddListener(IRagonSceneListener listener) => _listeners.Add(listener);
|
public void AddListener(IRagonSceneListener listener) => _listeners.Add(listener);
|
||||||
public void AddListener(IRagonSceneRequestListener listener) => _listeners.Add(listener);
|
public void AddListener(IRagonSceneRequestListener listener) => _listeners.Add(listener);
|
||||||
public void AddListener(IRagonDataListener listener) => _listeners.Add(listener);
|
public void AddListener(IRagonDataListener listener) => _listeners.Add(listener);
|
||||||
|
public void AddListener(IRagonRoomListListener listener) => _listeners.Add(listener);
|
||||||
public void RemoveListener(IRagonListener listener) => _listeners.Remove(listener);
|
public void RemoveListener(IRagonListener listener) => _listeners.Remove(listener);
|
||||||
public void RemoveListener(IRagonAuthorizationListener listener) => _listeners.Remove(listener);
|
public void RemoveListener(IRagonAuthorizationListener listener) => _listeners.Remove(listener);
|
||||||
public void RemoveListener(IRagonConnectionListener listener) => _listeners.Remove(listener);
|
public void RemoveListener(IRagonConnectionListener listener) => _listeners.Remove(listener);
|
||||||
@@ -191,6 +192,7 @@ namespace Ragon.Client
|
|||||||
public void RemoveListener(IRagonSceneListener listener) => _listeners.Remove(listener);
|
public void RemoveListener(IRagonSceneListener listener) => _listeners.Remove(listener);
|
||||||
public void RemoveListener(IRagonSceneRequestListener listener) => _listeners.Remove(listener);
|
public void RemoveListener(IRagonSceneRequestListener listener) => _listeners.Remove(listener);
|
||||||
public void RemoveListener(IRagonDataListener listener) => _listeners.Remove(listener);
|
public void RemoveListener(IRagonDataListener listener) => _listeners.Remove(listener);
|
||||||
|
public void RemoveListener(IRagonRoomListListener listener) => _listeners.Remove(listener);
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
@@ -132,6 +132,11 @@ namespace Ragon.Client
|
|||||||
_playerLeftListeners.Add(listener);
|
_playerLeftListeners.Add(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Add(IRagonRoomListListener listener)
|
||||||
|
{
|
||||||
|
_roomListListeners.Add(listener);
|
||||||
|
}
|
||||||
|
|
||||||
public void Remove(IRagonDataListener listener)
|
public void Remove(IRagonDataListener listener)
|
||||||
{
|
{
|
||||||
_delayedActions.Add(() => _dataListeners.Remove(listener));
|
_delayedActions.Add(() => _dataListeners.Remove(listener));
|
||||||
@@ -186,6 +191,11 @@ namespace Ragon.Client
|
|||||||
{
|
{
|
||||||
_delayedActions.Add(() => _playerLeftListeners.Remove(listener));
|
_delayedActions.Add(() => _playerLeftListeners.Remove(listener));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Remove(IRagonRoomListListener listener)
|
||||||
|
{
|
||||||
|
_delayedActions.Add(() => _roomListListeners.Remove(listener));
|
||||||
|
}
|
||||||
|
|
||||||
public void OnAuthorizationSuccess(string playerId, string playerName, string payload)
|
public void OnAuthorizationSuccess(string playerId, string playerName, string payload)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ public class RagonLobbyDispatcher
|
|||||||
public void Write(RagonBuffer writer)
|
public void Write(RagonBuffer writer)
|
||||||
{
|
{
|
||||||
writer.Clear();
|
writer.Clear();
|
||||||
writer.Write((byte)RagonOperation.ROOM_LIST_UPDATED);
|
writer.WriteOperation(RagonOperation.ROOM_LIST_UPDATED);
|
||||||
var rooms = _lobby.Rooms;
|
var rooms = _lobby.Rooms;
|
||||||
|
|
||||||
writer.WriteUShort((ushort)rooms.Count);
|
writer.WriteUShort((ushort)rooms.Count);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ namespace Ragon.Server.Logging
|
|||||||
{
|
{
|
||||||
public class LoggerManager
|
public class LoggerManager
|
||||||
{
|
{
|
||||||
private static IRagonLoggerFactory _factory;
|
private static IRagonLoggerFactory _factory = null!;
|
||||||
|
|
||||||
public static void SetLoggerFactory(IRagonLoggerFactory loggerFactory)
|
public static void SetLoggerFactory(IRagonLoggerFactory loggerFactory)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ public class RagonServer : IRagonServer, INetworkListener
|
|||||||
if (_timer.ElapsedMilliseconds > _tickRate)
|
if (_timer.ElapsedMilliseconds > _tickRate)
|
||||||
{
|
{
|
||||||
_timer.Restart();
|
_timer.Restart();
|
||||||
_scheduler.Update(_timer.ElapsedMilliseconds / 1000.0f);
|
_scheduler.Update(_tickRate);
|
||||||
|
|
||||||
SendTimestamp();
|
SendTimestamp();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,9 @@ public class RagonActionTimer: IRagonAction
|
|||||||
{
|
{
|
||||||
_timer += dt;
|
_timer += dt;
|
||||||
if (_timer >= _time)
|
if (_timer >= _time)
|
||||||
|
{
|
||||||
_callback?.Invoke();
|
_callback?.Invoke();
|
||||||
|
_timer = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user