Пример #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);
        }
    }
Пример #2
0
 private string GetReqIdName(int reqId)
 {
     if (ShowEntityReq)
     {
         EntityReqId req = (EntityReqId)reqId;
         return(req.ToString());
     }
     else
     {
         WorldReqId req = (WorldReqId)reqId;
         return(req.ToString());
     }
 }
Пример #3
0
 private int GetWorldRequestWeight(WorldReqId reqId)
 {
     if (reqWeightConf == null)
     {
         return(0);
     }
     for (int i = 0; i < reqWeightConf.WorldReqWeight.Count; i++)
     {
         WeightJson json = reqWeightConf.WorldReqWeight[i];
         if (json.Key == (int)reqId)
         {
             return(json.Weight);
         }
     }
     ECSLocate.ECSLog.LogR("有世界请求没有设置权重>>>>", reqId.ToString());
     return(0);
 }
Пример #4
0
 public WorldRequestAttribute(WorldReqId reqId)
 {
     this.reqId = reqId;
 }
Пример #5
0
 public Node GetWorldBevNode(WorldReqId bevId)
 {
     return(behaviorCenter.GetWorldBevNode((int)bevId));
 }
Пример #6
0
 public void PushWorldRequest(int worldId, WorldReqId reqId)
 {
     requestCenter.PushWorldRequest(worldId, (int)reqId);
 }