Beispiel #1
0
 public void RemoveEntityDecision(int decId, int entityId)
 {
     //清理旧的
     if (decDict.ContainsKey(entityId))
     {
         BaseDecisionServerObj server = GetServer(decDict[entityId]);
         server.RemoveEntity(decId, entityId);
         decDict.Remove(entityId);
     }
 }
Beispiel #2
0
        public void AddEntityDecision(DecisionGroup decisionGroup, int decId, int entityId)
        {
            EntityWorkData entityWorkData = ECSLayerLocate.Info.GetEntityWorkData(entityId);

            //清理旧的
            RemoveEntityDecision(decId, entityWorkData.Id);
            //加新的
            BaseDecisionServerObj newServer = GetServer(decisionGroup);

            if (!newServer.HasTree(decId))
            {
                DecisionTree tree = LoadDecision(decId);
                if (tree == null)
                {
                    return;
                }
                newServer.AddTree(tree);
            }
            newServer.AddEntity(decId, entityWorkData);
            decDict.Add(entityWorkData.Id, decisionGroup);
        }