/** * Load from Xml * */ void Load() { TextAsset textAsset = (TextAsset) Resources.Load("Entities/"+definition); if (!textAsset) Debug.Log("failed to load xml resource"); var doc = new XmlDocument(); doc.LoadXml (textAsset.text); XmlNodeList entity = doc.SelectNodes ("entity"); var atlist = entity.Item(0).Attributes.GetNamedItem("attrib").Value.Split(' '); int count = 0; foreach (string atr in atlist) { attrib[count] = new BaseAttrib(); attrib[count].baseValue = int.Parse(atr); count++; } level = int.Parse (entity.Item (0).Attributes.GetNamedItem ("level").Value); profession = entity.Item (0).Attributes.GetNamedItem ("class").Value; XmlNodeList myskills = doc.SelectNodes ("entity/skills/skill"); foreach (XmlNode node in myskills) { //Debug.Log("skill "+node.Attributes.GetNamedItem("id").Value); BaseSkill s = new BaseSkill(); s.Name = node.Attributes.GetNamedItem("id").Value; s.baseValue = int.Parse(node.Attributes.GetNamedItem("level").Value); skills.Add(s); } XmlNodeList myabilities = doc.SelectNodes ("entity/skills/abilities"); foreach (XmlNode node in myabilities) { //Debug.Log("skill "+node.Attributes.GetNamedItem("id").Value); BaseAbility a = new BaseAbility(); a.Name = node.Attributes.GetNamedItem("id").Value; abilities.Add(a); } XmlNodeList myitems = doc.SelectNodes ("entity/inventory/item"); foreach (XmlNode node in myitems) { //Debug.Log("item "+node.Attributes.GetNamedItem("id").Value); var item = GameInstance.ItFactory.CreateItem(node.Attributes.GetNamedItem("id").Value); int idx = UnityEngine.Random.Range(100,90000); if (inventory.ContainsKey(idx)) idx = UnityEngine.Random.Range(90000,200000); inventory[idx] = item; } }
void Awake() { DontDestroyOnLoad (this); attrib = new BaseAttrib[Enum.GetValues (typeof(Attributes)).Length]; for (int i=0;i<5;i++) attrib [i] = new BaseAttrib(); equip = new BaseItem[Enum.GetValues (typeof(ItemSlot)).Length]; HitPoints = new float[2]; HitPoints [0] = 30; EnergyPoints = new float[2]; inventory = new Dictionary<int, BaseItem>(); quests = new List<Quest> (); skills = new List<BaseSkill> (); abilities = new List<BaseAbility> (); equip = new BaseItem[9]; actions = new ActionQueue (); }