/// <summary> /// 移除组 /// </summary> /// <param name="name"></param> public void RemoveGroup(string name) { MVPGroup _group = FindGroup(name); if (_group == null) { throw new Exception("Have not Add Group " + name); } else { _group.module = null; _ecs.UnSubscribeEnity(_group.enity); _ecs.UnSubscribeSystem(_group.sensor); _ecs.UnSubscribeSystem(_group.policy); _ecs.UnSubscribeSystem(_group.executor); _ecs.UnSubscribeSystem(_group.view); _group.sensor.message = null; _group.policy.message = null; _group.executor.message = null; _group.view.message = null; _groupmap.Remove(name); } }
/// <summary> /// 添加组 /// </summary> /// <param name="group"></param> public void AddGroup(MVPGroup group) { MVPGroup _group = FindGroup(name); if (_group != null) { throw new Exception("Have Add Group " + group.name); } else { group.module = this; _groupmap.Add(group.name, group); group.sensor.message = _message; group.policy.message = _message; group.executor.message = _message; group.view.message = _message; _ecs.SubscribeEnity(group.enity); _ecs.SubscribeSystem(group.sensor); _ecs.SubscribeSystem(group.policy); _ecs.SubscribeSystem(group.executor); _ecs.SubscribeSystem(group.view); } }
/// <summary> /// 移除组 /// </summary> /// <param name="group"></param> public void RemoveGroup(MVPGroup group) { RemoveGroup(group.name); }