コード例 #1
0
        void Awake()
        {
            var xml = new als_xml();

            if (xml.load_text_asset(text_asset_name))             // загрука из файла
            {
                foreach (var n in text_node)
                {
                    n.ui_txt.text = xml.get_single_node(n.node_path);
                }
            }
        }
コード例 #2
0
        // заполнение
        void fill()
        {
            var xd = new als_xml();

            xd.load_text_asset("_note");

            const int count = 256;

            _notes = new string[count];

            foreach (XmlNode n in xd.xml.SelectNodes("root/note"))
            {
                int id = n.get_int_attribute("id", int.MaxValue);
                if (id > count)
                {
                    continue;
                }
                _notes[id] = n.get_str_attribute("name", string.Empty);
            }
        }
コード例 #3
0
ファイル: als_save.cs プロジェクト: xxxCodexxx545/akpobatuka
        // заполнение вычисляемых полей
        public void fill()
        {
            var xd = new als_xml();

            xd.load_text_asset(_const_db_level[_current_player_id]);

            // item
            //int items_total_count = utils.str2int(xd.get_single_node_att("root/items", "count")); // кол-во предметов
            _item.Clear();
            foreach (XmlNode n in xd.xml.SelectNodes("root/items/item"))
            {
                int id = utils.str2int(n.Attributes.GetNamedItem("id").InnerText, -1);
                if (id < 0)
                {
                    continue;
                }
                var im = new s_item();
                im.id      = id;
                im.name_id = utils.str2int(n.Attributes.GetNamedItem("name").InnerText, -1);
                im.got     = (id == 0 || utils.get_bit(useable_items_got, id) ? 1 : 0);
                if (im.got > 0)
                {
                    ++_useable_items_got_count;
                }
                _item.Add(im);
            }
            _item.Sort();



            // level
            int level_count = utils.str2int(xd.get_single_node_att("root/levels", "count")); // кол-во уровней

            if (level_count < 1)
            {
                return;
            }
            if (level_arr == null)
            {
                level_arr = new s_level_save_arr();
            }
            level_arr.redim(level_count); //

            _token_green_got_count  = 0;
            _token_blue_got_count   = 0;
            _token_yellow_got_count = 0;


            // цикл по уровням
            foreach (XmlNode n in xd.xml.SelectNodes("root/levels/level"))
            {
                int level_id = n.get_int_attribute("id", -1);
                var lvl      = level_arr.level_at(level_id);
                lvl.name_id = n.get_int_attribute("name", -1);
                lvl.item_id = n.get_int_attribute("item_id", 0);

                var or = n.SelectSingleNode("open_reason");
                if (or == null)
                {
                    lvl.open_reason = new s_open_reason(-1, -1);
                    lvl.opened      = true;
                }
                else
                {
                    lvl.open_reason = new s_open_reason(
                        or.get_int_attribute("type", -1),
                        or.get_int_attribute("count", -1)
                        );
                }


                var blue = n.SelectSingleNode("blue");
                if (blue != null)
                {
                    lvl.token_blue_total_count = blue.get_int_attribute("count", -1);
                    foreach (XmlNode t in blue.SelectNodes("task"))
                    {
                        int task_id = t.get_int_attribute("id", -1);
                        int tm      = t.get_int_attribute("time", -1);
                        lvl.blue_token_time(task_id, tm);
                    }
                }

                var yellow = n.SelectSingleNode("yellow");
                if (yellow != null)
                {
                    lvl.token_yellow_total_count = yellow.get_int_attribute("count", -1);
                    foreach (XmlNode t in yellow.SelectNodes("task"))
                    {
                        int task_id = t.get_int_attribute("id", -1);
                        int name_id = t.get_int_attribute("name", -1);
                        lvl.yellow_token_id(task_id, name_id);
                    }
                }

                lvl.token_fill(); // заполнение полученныйх жетонов из сейва
                if (lvl.completed)
                {
                    ++_token_green_got_count;
                }
                _token_blue_got_count   += lvl.token_blue_got_count;
                _token_yellow_got_count += lvl.token_yellow_got_count;
            } // цикл по уровням
        }     // public void fill()