public void Init() { ListenComs = RegListenComs(); for (int i = 0; i < ListenComs.Count; i++) { if (ECSHelp.CheckComIsGlobal(ListenComs[i])) { ECSLocate.ECS.RegGlobalSingleComChangeCallBack(ListenComs[i], Excute); } } if (OpenTest) { stopwatch = new Stopwatch(); } }
//添加实体全局单一组件 private void AddEntityGlobalSingleCom(EntityJson conf, Entity entity) { for (int i = 0; i < conf.Coms.Count; i++) { BaseCom com = entity.GetCom(conf.Coms[i].ComName); if (ECSHelp.CheckComIsGlobal(com.GetType())) { if (globalSingleCom.ContainsKey(com.GetType())) { ECSLocate.ECSLog.LogError("有多个全局单个组件>>>>>>", conf.EntityName, com.GetType()); entity.Disable(); return; } globalSingleCom.Add(com.GetType(), com); } } }