Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
EntityDataList.cs
浏览该文件的文档.
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Xml.Linq;
5using Engine;
6using XmlUtilities;
7
8namespace GameEntitySystem {
9 public class EntityDataList {
10 public List<EntityData> EntitiesData;
11
12 public EntityDataList() { }
13
14 public EntityDataList(GameDatabase gameDatabase, XElement entitiesNode, bool ignoreInvalidEntities) {
15 EntitiesData = new List<EntityData>(entitiesNode.Elements().Count());
16 foreach (XElement item in entitiesNode.Elements()) {
17 try {
18 EntitiesData.Add(new EntityData(gameDatabase, item));
19 }
20 catch (Exception ex) {
21 if (!ignoreInvalidEntities) {
22 throw;
23 }
24 Log.Warning("Ignoring invalid entity. Reason: {0}", ex);
25 }
26 }
27 }
28
29 public void Save(XElement entitiesNode, int nextEntityID) {
30 XmlUtils.SetAttributeValue(entitiesNode, "NextID", nextEntityID);
31 //Log.Information("Save NextEntityID: " + nextEntityID);
32 foreach (EntityData entitiesDatum in EntitiesData) {
33 XElement entityNode = XmlUtils.AddElement(entitiesNode, "Entity");
34 entitiesDatum.Save(entityNode);
35 }
36 }
37 }
38}
static void Warning(object message)
定义 Log.cs:68
void Save(XElement entityNode)
EntityDataList(GameDatabase gameDatabase, XElement entitiesNode, bool ignoreInvalidEntities)
void Save(XElement entitiesNode, int nextEntityID)
static void SetAttributeValue(XElement node, string attributeName, object value)
static XElement AddElement(XElement parentNode, string name)