//创建决策 private void CreateDec(DecTrees DecTrees) { //实体 foreach (string key in DecTrees.EntityTrees.Keys) { EntityDecGroup group = (EntityDecGroup)Enum.Parse(typeof(EntityDecGroup), key); //创建树 NodeDataJson nodeJson = DecTrees.EntityTrees[key]; Node rootNode = Node.CreateNodeInstance(nodeJson); Node.CreateNodeRelation(rootNode, nodeJson.ChildNodes); BaseEntityDecision decision = new BaseEntityDecision(rootNode);; EntityDesDict.Add((int)group, decision); } //世界 foreach (string key in DecTrees.WorldTrees.Keys) { WorldDecGroup group = (WorldDecGroup)Enum.Parse(typeof(WorldDecGroup), key); //创建树 NodeDataJson nodeJson = DecTrees.WorldTrees[key]; Node rootNode = Node.CreateNodeInstance(nodeJson); Node.CreateNodeRelation(rootNode, nodeJson.ChildNodes); BaseWorldDecision decision = new BaseWorldDecision(rootNode); WorldDesDict.Add((int)group, decision); } }
/// <summary> /// 获得决策实体 /// </summary> public EntityWorkData GetEntityWorkData(int entityId) { Entity entity = ECSLocate.ECS.GetEntity(entityId); EntityDecGroup group = entity.GetEntityDecGroup(); if (!EntityDesDict.ContainsKey((int)group)) { return(null); } BaseEntityDecision decision = EntityDesDict[(int)group]; return(decision.GetEntity(entityId)); }
//初始化 public void Init(int id, string entityName, EntityDecGroup group) { Id = id; EntityName = entityName; DecGroup = group; }
public void RemoveDecisionEntity(EntityDecGroup decId, int entityId) { decisionCenter.RemoveDecisionEntity((int)decId, entityId); }
public void AddDecisionEntity(EntityDecGroup decId, EntityWorkData workData) { decisionCenter.AddDecisionEntity((int)decId, workData); }
public void RegEntityDecision(EntityDecGroup decId, BaseEntityDecision decision) { decisionCenter.RegEntityDecision((int)decId, decision); }