//创建行为树 private void CreateBev(BevTrees BevTrees) { //实体 foreach (string key in BevTrees.EntityTrees.Keys) { EntityReqId reqId = (EntityReqId)Enum.Parse(typeof(EntityReqId), key); //创建树 NodeDataJson nodeJson = BevTrees.EntityTrees[key]; Node rootNode = Node.CreateNodeInstance(nodeJson); Node.CreateNodeRelation(rootNode, nodeJson.ChildNodes); BaseEntityBehavior request = new BaseEntityBehavior(rootNode); EntityBevDict.Add((int)reqId, request); } //世界 foreach (string key in BevTrees.WorldTrees.Keys) { WorldReqId reqId = (WorldReqId)Enum.Parse(typeof(WorldReqId), key); //创建树 NodeDataJson nodeJson = BevTrees.WorldTrees[key]; Node rootNode = Node.CreateNodeInstance(nodeJson); Node.CreateNodeRelation(rootNode, nodeJson.ChildNodes); BaseWorldBehavior request = new BaseWorldBehavior(rootNode); WorldBevDict.Add((int)reqId, request); } }
//获取请求参数 public ParamData GetReqParam(EntityReqId reqId) { if (!ReqParamData.ContainsKey(reqId)) { ReqParamData.Add(reqId, new ParamData()); } return(ReqParamData[reqId]); }
private string GetReqIdName(int reqId) { if (ShowEntityReq) { EntityReqId req = (EntityReqId)reqId; return(req.ToString()); } else { WorldReqId req = (WorldReqId)reqId; return(req.ToString()); } }
private int GetEntityRequestWeight(EntityReqId reqId) { if (reqWeightConf == null) { return(0); } for (int i = 0; i < reqWeightConf.EntityReqWeight.Count; i++) { WeightJson json = reqWeightConf.EntityReqWeight[i]; if (json.Key == (int)reqId) { return(json.Weight); } } ECSLocate.ECSLog.LogR("有实体请求没有设置权重>>>>", reqId.ToString()); return(0); }
//请求 public void PushPlayerReq(EntityReqId reqId) { ECSLayerLocate.Request.PushEntityRequest(playerEntity.GetHashCode(), reqId); }
//请求参数 public ParamData GetReqParam(EntityReqId reqId) { return(playerWorkData.GetReqParam(reqId)); }
public EntityRequestAttribute(EntityReqId reqId) { this.reqId = reqId; }
public Node GetEntityBevNode(EntityReqId bevId) { return(behaviorCenter.GetEntityBevNode((int)bevId)); }
public void PushEntityRequest(int entityId, EntityReqId reqId) { requestCenter.PushEntityRequest(entityId, (int)reqId); }