Skip to content

Instantly share code, notes, and snippets.

@shahin-dev
Created March 16, 2015 09:01
Show Gist options
  • Select an option

  • Save shahin-dev/04fae4b009939fb56f70 to your computer and use it in GitHub Desktop.

Select an option

Save shahin-dev/04fae4b009939fb56f70 to your computer and use it in GitHub Desktop.

Revisions

  1. Dmitriy Sidorov created this gist Mar 16, 2015.
    145 changes: 145 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,145 @@
    using UnityEngine;
    using UnityEngine.UI;
    using System.Collections;

    public class GameManager : MonoBehaviour
    {
    public GameObject cube;
    public GameObject protoganist;
    private GameObject slider1; // масса куба
    private GameObject slider2; // сопротивление
    private GameObject slider3; // угловое сопротивление
    private GameObject slider4; // сила по x
    private GameObject slider5; // сила по y

    private static GameManager instance;
    private float count;
    private Vector3 m_position;
    private float current_time;
    private GameObject version; // вывод версии бандла

    private GameManager ()
    {
    }

    public static GameManager Instance {
    get {
    if (instance == null) {
    instance = new GameManager ();
    }
    return instance;
    }
    }

    void Awake ()
    {
    instance = this;
    }

    void Start ()
    {
    // версия
    version = GameObject.Find ("Version");
    if (version) {
    version.GetComponent<Text> ().text = "version 0.0.1";
    }
    // нахождение слайдеров
    slider1 = GameObject.Find ("Slider1");
    slider2 = GameObject.Find ("Slider2");
    slider3 = GameObject.Find ("Slider3");
    slider4 = GameObject.Find ("Slider4");
    slider5 = GameObject.Find ("Slider5");

    var firstplay = PlayerPrefs.GetInt ("firstplay");


    if (slider1) {
    if (firstplay == 0) {
    Reset ();
    PlayerPrefs.SetInt ("firstplay", 1);
    } else {
    LoadPrefsToSlider ();
    }
    }

    count = 0;
    current_time = Time.time;
    }

    void Update ()
    {

    if (current_time < Time.time) {
    if (protoganist) {
    if (protoganist.transform.position.y > m_position.y + 2) {
    count = 0;
    }

    while (count < 2) {
    var x = Random.Range (-1.5f, 1.5f);
    var y = Random.Range (protoganist.transform.position.y + Random.Range(1,2), protoganist.transform.position.y + Random.Range(5,7)) + 2;

    m_position = new Vector3 (x, y, protoganist.transform.position.z);

    Instantiate (cube, m_position, new Quaternion (0, 0, 0, 0));
    count++;


    }
    }
    current_time = Time.time + 0.5f;
    }
    }

    void LoadPrefsToSlider () // загрузка значений
    {
    slider1.GetComponent<Slider> ().value = PlayerPrefs.GetFloat ("slider1");
    slider2.GetComponent<Slider> ().value = PlayerPrefs.GetFloat ("slider2");
    slider3.GetComponent<Slider> ().value = PlayerPrefs.GetFloat ("slider3");
    slider4.GetComponent<Slider> ().value = PlayerPrefs.GetFloat ("slider4");
    slider5.GetComponent<Slider> ().value = PlayerPrefs.GetFloat ("slider5");
    }

    void SavePrefsFromSlider () // сохранение значений
    {
    PlayerPrefs.SetFloat ("slider1", slider1.GetComponent<Slider> ().value);
    PlayerPrefs.SetFloat ("slider2", slider2.GetComponent<Slider> ().value);
    PlayerPrefs.SetFloat ("slider3", slider3.GetComponent<Slider> ().value);
    PlayerPrefs.SetFloat ("slider4", slider4.GetComponent<Slider> ().value);
    PlayerPrefs.SetFloat ("slider5", slider5.GetComponent<Slider> ().value);

    PlayerPrefs.Save ();
    }

    void Reset () // сброс настроек
    {
    PlayerPrefs.DeleteAll ();

    PlayerPrefs.SetFloat ("slider1", 0.01f);
    PlayerPrefs.SetFloat ("slider2", 0f);
    PlayerPrefs.SetFloat ("slider3", 0f);
    PlayerPrefs.SetFloat ("slider4", 4);
    PlayerPrefs.SetFloat ("slider5", 4);

    PlayerPrefs.Save ();

    LoadPrefsToSlider ();
    }

    void SavePrefs () // возврат в сцену прототипа
    {
    SavePrefsFromSlider ();

    Application.LoadLevel ("Prototype");
    }

    void Restart ()
    {
    Application.LoadLevel ("Prototype");
    }

    void Settings ()
    {
    Application.LoadLevel ("Settings");
    }
    }