12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
-
- using CommonLang;
- namespace ET.Client
- {
- public class UnitMgr : Singleton<UnitMgr>
- {
- public BattleActor Actor { get; set; }
- public uint ActorId
- {
- get
- {
- return Actor.Id;
- }
- }
- private HashMap<uint, BattleObject> UnitList = new();
- public HashMap<uint, BattleObject>.ValueCollection AllUnits
- {
- get { return UnitList.Values; }
- }
- public bool HasUnit(uint unitId)
- {
- return UnitList.ContainsKey(unitId);
- }
- public BattleObject GetUnit(uint id)
- {
- return UnitList.ContainsKey(id) ? UnitList[id] : null;
- }
- public void PutUnit(uint id, BattleObject obj)
- {
- if(UnitList.ContainsKey(id))
- {
- Log.Error($"Already exist unit({id}) @{obj}");
- UnitList.Remove(id);
- }
- UnitList[id] = obj;
- }
- public void RemoveUnit(uint id)
- {
- UnitList.Remove(id);
- }
- public void RecycleUnits()
- {
- foreach (var kp in UnitList)
- {
- kp.Value.OnSleep();
- }
- UnitList.Clear();
- }
- public void Clear()
- {
- UnitList.Clear();
- }
- }
- }
|