Exemple #1
0
 // смена игрока (при смене происходит удаление текущих данных, для последующей загрузки с учетом нового выбранного игрока)
 public void change_player_id(int new_player_id)
 {
     _current_player_id = new_player_id;
     DestroyImmediate(gameObject);
     _save = null;
     GC.Collect();
 }
Exemple #2
0
        protected override void Awake()
        {
#if UNITY_EDITOR
            if (SceneManager.GetActiveScene().name.StartsWith("gb"))
            {
                als_save.g().change_player_id(1);
            }
#endif
            //Screen.sleepTimeout = 60f;

            base.Awake();

            // счетчик FPS
            if (PlayerPrefs.GetInt("showFPS", 0) == 1)
            {
                utils.resource_instantiate("prefab/FPSBack", transform, true);
            }


            // загрузка раскладки управления
            string prefab_path;
            switch (PlayerPrefs.GetInt("control_layout", 0))
            {
            case 1:
                prefab_path = "prefab/control_advanced";
                break;

            default:
                prefab_path = "prefab/control_standart";
                break;
            }
            var control = utils.resource_instantiate(prefab_path, transform, true);
            _game_control = control.GetComponent <als_game_control>();

            // сохранение
            _save = als_save.g();
            // сохранение последнего сыгранного уровня
            _current_level_id = utils.current_level_id();
            if (_current_level_id >= 0 && _save != null)
            {
                _save.last_played_level = _current_level_id;
                _save.save_data();
            }

            Physics2D.gravity = utils.default_gravity();
        }
Exemple #3
0
        //static readonly Type[] _const_pawn_type = { typeof(als_gymnast_ctrl), typeof(grabot_ctrl) };
        //public Type current_player_type { get { return _const_pawn_type[current_player_id]; } }



        // ниже функции
        // данные о сохранении доступны в любой сцене
        // загружаются при первом вызове global_save
        public static als_save g()
        {
            //PlayerPrefs.DeleteAll();
            if (_save == null)
            {
                _save = UnityEngine.Object.FindObjectOfType <als_save>();
                if (_save == null)
                {
                    var o = utils.resource_instantiate("prefab/GameSave");
                    DontDestroyOnLoad(o);
                    _save = o.GetComponent <als_save>();
                    _save.load_data();
                    _save.fill();
                    GC.Collect();
                }
            }
            return(_save);
        }