feat: split interface IRagonListener
This commit is contained in:
@@ -18,9 +18,16 @@ namespace Ragon.Client
|
|||||||
{
|
{
|
||||||
internal class RagonListenerList
|
internal class RagonListenerList
|
||||||
{
|
{
|
||||||
public int Count => _listeners.Count;
|
private readonly RagonClient _client;
|
||||||
private List<IRagonListener> _listeners = new();
|
private readonly List<IRagonAuthorizationListener> _authorizationListeners = new();
|
||||||
private RagonClient _client;
|
private readonly List<IRagonConnectedListener> _connectionListeners = new();
|
||||||
|
private readonly List<IRagonFailedListener> _failedListeners = new();
|
||||||
|
private readonly List<IRagonJoinListener> _joinListeners = new();
|
||||||
|
private readonly List<IRagonLeftListener> _leftListeners = new();
|
||||||
|
private readonly List<IRagonLevelListener> _levelListeners = new();
|
||||||
|
private readonly List<IRagonOwnershipChangedListener> _ownershipChangedListeners = new();
|
||||||
|
private readonly List<IRagonPlayerJoinListener> _playerJoinListeners = new();
|
||||||
|
private readonly List<IRagonPlayerLeftListener> _playerLeftListeners = new();
|
||||||
|
|
||||||
public RagonListenerList(RagonClient client)
|
public RagonListenerList(RagonClient client)
|
||||||
{
|
{
|
||||||
@@ -29,77 +36,183 @@ namespace Ragon.Client
|
|||||||
|
|
||||||
public void Add(IRagonListener listener)
|
public void Add(IRagonListener listener)
|
||||||
{
|
{
|
||||||
_listeners.Add(listener);
|
_authorizationListeners.Add(listener);
|
||||||
|
_connectionListeners.Add(listener);
|
||||||
|
_failedListeners.Add(listener);
|
||||||
|
_joinListeners.Add(listener);
|
||||||
|
_leftListeners.Add(listener);
|
||||||
|
_levelListeners.Add(listener);
|
||||||
|
_ownershipChangedListeners.Add(listener);
|
||||||
|
_playerJoinListeners.Add(listener);
|
||||||
|
_playerLeftListeners.Add(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Remove(IRagonListener listener)
|
public void Remove(IRagonListener listener)
|
||||||
{
|
{
|
||||||
_listeners.Remove(listener);
|
_authorizationListeners.Remove(listener);
|
||||||
|
_connectionListeners.Remove(listener);
|
||||||
|
_failedListeners.Remove(listener);
|
||||||
|
_joinListeners.Remove(listener);
|
||||||
|
_leftListeners.Remove(listener);
|
||||||
|
_levelListeners.Remove(listener);
|
||||||
|
_ownershipChangedListeners.Remove(listener);
|
||||||
|
_playerJoinListeners.Remove(listener);
|
||||||
|
_playerLeftListeners.Remove(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Add(IRagonAuthorizationListener listener)
|
||||||
|
{
|
||||||
|
_authorizationListeners.Add(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Add(IRagonConnectedListener listener)
|
||||||
|
{
|
||||||
|
_connectionListeners.Add(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Add(IRagonFailedListener listener)
|
||||||
|
{
|
||||||
|
_failedListeners.Add(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Add(IRagonJoinListener listener)
|
||||||
|
{
|
||||||
|
_joinListeners.Add(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Add(IRagonLeftListener listener)
|
||||||
|
{
|
||||||
|
_leftListeners.Add(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Add(IRagonLevelListener listener)
|
||||||
|
{
|
||||||
|
_levelListeners.Add(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Add(IRagonOwnershipChangedListener listener)
|
||||||
|
{
|
||||||
|
_ownershipChangedListeners.Add(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Add(IRagonPlayerJoinListener listener)
|
||||||
|
{
|
||||||
|
_playerJoinListeners.Add(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Add(IRagonPlayerLeftListener listener)
|
||||||
|
{
|
||||||
|
_playerLeftListeners.Add(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Remove(IRagonAuthorizationListener listener)
|
||||||
|
{
|
||||||
|
_authorizationListeners.Remove(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Remove(IRagonConnectedListener listener)
|
||||||
|
{
|
||||||
|
_connectionListeners.Remove(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Remove(IRagonFailedListener listener)
|
||||||
|
{
|
||||||
|
_failedListeners.Remove(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Remove(IRagonJoinListener listener)
|
||||||
|
{
|
||||||
|
_joinListeners.Remove(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Remove(IRagonLeftListener listener)
|
||||||
|
{
|
||||||
|
_leftListeners.Remove(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Remove(IRagonLevelListener listener)
|
||||||
|
{
|
||||||
|
_levelListeners.Remove(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Remove(IRagonOwnershipChangedListener listener)
|
||||||
|
{
|
||||||
|
_ownershipChangedListeners.Remove(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Remove(IRagonPlayerJoinListener listener)
|
||||||
|
{
|
||||||
|
_playerJoinListeners.Remove(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Remove(IRagonPlayerLeftListener listener)
|
||||||
|
{
|
||||||
|
_playerLeftListeners.Remove(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnAuthorizationSuccess(string playerId, string playerName)
|
public void OnAuthorizationSuccess(string playerId, string playerName)
|
||||||
{
|
{
|
||||||
foreach (var listener in _listeners)
|
foreach (var listener in _authorizationListeners)
|
||||||
listener.OnAuthorizationSuccess(_client, playerId, playerName);
|
listener.OnAuthorizationSuccess(_client, playerId, playerName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnAuthorizationFailed(string message)
|
public void OnAuthorizationFailed(string message)
|
||||||
{
|
{
|
||||||
foreach (var listener in _listeners)
|
foreach (var listener in _authorizationListeners)
|
||||||
listener.OnAuthorizationFailed(_client, message);
|
listener.OnAuthorizationFailed(_client, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnLeft()
|
public void OnLeft()
|
||||||
{
|
{
|
||||||
foreach (var listener in _listeners)
|
foreach (var listener in _leftListeners)
|
||||||
listener.OnLeft(_client);
|
listener.OnLeft(_client);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnFailed(string message)
|
public void OnFailed(string message)
|
||||||
{
|
{
|
||||||
foreach (var listener in _listeners)
|
foreach (var listener in _failedListeners)
|
||||||
listener.OnFailed(_client, message);
|
listener.OnFailed(_client, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnOwnershipChanged(RagonPlayer player)
|
public void OnOwnershipChanged(RagonPlayer player)
|
||||||
{
|
{
|
||||||
foreach (var listener in _listeners)
|
foreach (var listener in _ownershipChangedListeners)
|
||||||
listener.OnOwnershipChanged(_client, player);
|
listener.OnOwnershipChanged(_client, player);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnPlayerLeft(RagonPlayer player)
|
public void OnPlayerLeft(RagonPlayer player)
|
||||||
{
|
{
|
||||||
foreach (var listener in _listeners)
|
foreach (var listener in _playerLeftListeners)
|
||||||
listener.OnPlayerLeft(_client, player);
|
listener.OnPlayerLeft(_client, player);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnPlayerJoined(RagonPlayer player)
|
public void OnPlayerJoined(RagonPlayer player)
|
||||||
{
|
{
|
||||||
foreach (var listener in _listeners)
|
foreach (var listener in _playerJoinListeners)
|
||||||
listener.OnPlayerJoined(_client, player);
|
listener.OnPlayerJoined(_client, player);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnLevel(string sceneName)
|
public void OnLevel(string sceneName)
|
||||||
{
|
{
|
||||||
foreach (var listener in _listeners)
|
foreach (var listener in _levelListeners)
|
||||||
listener.OnLevel(_client, sceneName);
|
listener.OnLevel(_client, sceneName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnJoined()
|
public void OnJoined()
|
||||||
{
|
{
|
||||||
foreach (var listener in _listeners)
|
foreach (var listener in _joinListeners)
|
||||||
listener.OnJoined(_client);
|
listener.OnJoined(_client);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnConnected()
|
public void OnConnected()
|
||||||
{
|
{
|
||||||
foreach (var listener in _listeners)
|
foreach (var listener in _connectionListeners)
|
||||||
listener.OnConnected(_client);
|
listener.OnConnected(_client);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnDisconnected()
|
public void OnDisconnected()
|
||||||
{
|
{
|
||||||
foreach (var listener in _listeners)
|
foreach (var listener in _connectionListeners)
|
||||||
listener.OnDisconnected(_client);
|
listener.OnDisconnected(_client);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user