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); } } }
// initialization void Awake() { _anims.Add("ungrab"); if (PlayerPrefs.GetInt("control_layout", 0) == 1) { _anims.Add("direct_arm"); _anims.Add("direct_leg"); _anims.Add("group_arm"); _anims.Add("group_leg"); _anims.Add("roll"); _anims.Add("relax"); _anims.Add("how2roll"); _anims.Add("how2jump"); _anims.Add("how2fly"); _anims.Add("how2grab"); _anims.Add("how2swing"); } else { _anims.Add("direct_all"); _anims.Add("jump"); _anims.Add("roll2"); _anims.Add("relax"); _anims.Add("relax"); //reserve copy for next index _anims.Add("relax"); //reserve copy for next index _anims.Add("how2roll2"); _anims.Add("how2jump2"); _anims.Add("how2fly"); _anims.Add("how2grab"); _anims.Add("how2swing2"); } _xml.load_text_asset("_tutorial"); // мультиязычный текст и файла txt_continue.text = _xml.get_single_node("root/help/continue"); _pause = FindObjectOfType <als_game_manage>(); _visibility = transform.GetChild(0).gameObject; _anim = _visibility.GetComponent <Animator>(); }
// заполнение 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); } }
// заполнение вычисляемых полей 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()