Exemplo n.º 1
0
    //创建行为树
    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);
        }
    }
Exemplo n.º 2
0
 //获取请求参数
 public ParamData GetReqParam(EntityReqId reqId)
 {
     if (!ReqParamData.ContainsKey(reqId))
     {
         ReqParamData.Add(reqId, new ParamData());
     }
     return(ReqParamData[reqId]);
 }
Exemplo n.º 3
0
 private string GetReqIdName(int reqId)
 {
     if (ShowEntityReq)
     {
         EntityReqId req = (EntityReqId)reqId;
         return(req.ToString());
     }
     else
     {
         WorldReqId req = (WorldReqId)reqId;
         return(req.ToString());
     }
 }
Exemplo n.º 4
0
 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);
 }
Exemplo n.º 5
0
 //请求
 public void PushPlayerReq(EntityReqId reqId)
 {
     ECSLayerLocate.Request.PushEntityRequest(playerEntity.GetHashCode(), reqId);
 }
Exemplo n.º 6
0
 //请求参数
 public ParamData GetReqParam(EntityReqId reqId)
 {
     return(playerWorkData.GetReqParam(reqId));
 }
Exemplo n.º 7
0
 public EntityRequestAttribute(EntityReqId reqId)
 {
     this.reqId = reqId;
 }
Exemplo n.º 8
0
 public Node GetEntityBevNode(EntityReqId bevId)
 {
     return(behaviorCenter.GetEntityBevNode((int)bevId));
 }
Exemplo n.º 9
0
 public void PushEntityRequest(int entityId, EntityReqId reqId)
 {
     requestCenter.PushEntityRequest(entityId, (int)reqId);
 }