// Use this for initialization void Start() { _game_manage = FindObjectOfType <als_game_misc>(); }
// Use this for initialization void Awake() { _update_action = new UnityAction[] { update__idle, update__select, update__open_new }; _game_manage = FindObjectOfType <als_game_misc>(); _mini = GameObject.FindGameObjectWithTag("Player").transform; _camera_follow = GameObject.FindGameObjectWithTag("camera_follow").transform; _mini_token_green = Resources.Load("prefab/mini_token_green", typeof(GameObject)) as GameObject; _mini_token_blue = Resources.Load("prefab/mini_token_blue", typeof(GameObject)) as GameObject; _mini_token_yellow = Resources.Load("prefab/mini_token_yellow", typeof(GameObject)) as GameObject; // загрузка последнего уровня на котором играли из сэйва var s = als_save.g(); if (s != null) { _selected = _new_select = s.last_played_level; } var pts = GameObject.FindGameObjectsWithTag("level_point"); // названия строго от level00 до level99 if (_selected < 0 || _selected >= pts.Length) { _selected = _new_select = 0; } // список точек всех уровней и установка открытых уровней Array.Sort(pts, utils.compare_object_by_name); _points = new Transform[pts.Length]; for (int i = 0; i < _points.Length; ++i) { _points[i] = pts[i].transform; if (!open_level(i) && _selected == i) { _selected = _new_select = 0; } } // заполнение списка уровней, которые нужно открыть int total_got = s.token_total_got_count; for (int i = 0; i < s.level_arr.level_count; ++i) { var lvl = s.level_arr.level_at(i); if (lvl.opened || (lvl.open_reason.type == 0 && lvl.open_reason.count > total_got) || (lvl.open_reason.type == 1 && lvl.open_reason.count > s.token_green_got_count) || (lvl.open_reason.type == 2 && lvl.open_reason.count > s.token_blue_got_count) || (lvl.open_reason.type == 3 && lvl.open_reason.count > s.token_yellow_got_count) || (lvl.open_reason.type == 4 && lvl.open_reason.count > s.useable_items_got_count) ) { continue; } _level2open.Add(i); } // заполнение общих заданий по карте меню s.fill_open_new_min(); // mini set_mini_pos(_points[_selected].position); // если есть уровни для открытия, то переходим в режим открывания if (_level2open.Count > 0) { play_button.enabled = false; update_action_id = 2; _current_t = 1.5f; _camera_follow.position = _points[_level2open[0]].position; } level_name.text = als_lang_g_note.g().note(s.level_arr.level_at(_selected).name_id); txt_total_green.text = s.token_green_got_count.ToString(); txt_total_blue.text = s.token_blue_got_count.ToString(); txt_total_yellow.text = s.token_yellow_got_count.ToString(); GC.Collect(); } // void Awake ()