1
This commit is contained in:
50
Src/Unity/Socket/UnitySocketService.cs
Normal file
50
Src/Unity/Socket/UnitySocketService.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using AYellowpaper.SerializedCollections;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BITKit.GameSocket
|
||||
{
|
||||
public class UnitySocketService : MonoBehaviour,ISocketService
|
||||
{
|
||||
private readonly Dictionary<string, ISocketComponent> _sockets=new();
|
||||
public void Initialize()
|
||||
{
|
||||
_sockets.Clear();
|
||||
foreach (var x in GetComponentsInChildren<ISocketComponent>())
|
||||
{
|
||||
_sockets.Add(x.Name, x);
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerator<KeyValuePair<string, ISocketComponent>> GetEnumerator()
|
||||
{
|
||||
return _sockets.GetEnumerator();
|
||||
}
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return _sockets.GetEnumerator();
|
||||
}
|
||||
|
||||
public int Count => _sockets.Count;
|
||||
|
||||
public bool ContainsKey(string key)
|
||||
{
|
||||
return _sockets.ContainsKey(key);
|
||||
}
|
||||
|
||||
public bool TryGetValue(string key, out ISocketComponent value)
|
||||
{
|
||||
return _sockets.TryGetValue(key, out value);
|
||||
}
|
||||
|
||||
public ISocketComponent this[string key] => _sockets[key];
|
||||
|
||||
public IEnumerable<string> Keys => _sockets.Keys;
|
||||
|
||||
public IEnumerable<ISocketComponent> Values => _sockets.Values;
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user