Exemplo n.º 1
0
Arquivo: NPC.cs Projeto: rogerdv/keyw
    /**
     * 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;
        }
    }
Exemplo n.º 2
0
    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 ();
    }