📦 zeyap / DatingStart

📄 GameStart.cs · 89 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class GameStart : MonoBehaviour {
	Button startBtn;
	Text timeTxt;
	Text startTxt;
	public float MaxReactionTime = 20;
    private ArrayList backgroundList = new ArrayList();
    private GameObject background;
    // Use this for initialization
    void Start () {
		startBtn = GameObject.Find ("startBtn").GetComponent<Button>();
		timeTxt = GameObject.Find ("timeTxt").GetComponent<Text> ();
		startTxt = GameObject.Find ("startTxt").GetComponent<Text> ();
		Time.timeScale = 0;
		startBtn.onClick.AddListener (OnClick);

        for (int i = 1; i <= 3; i++)
        {
            string fileName = "scene" + i.ToString();
            Sprite s = Resources.Load<Sprite>(fileName);
            backgroundList.Add(s);
        }
        background = GameObject.Find("background");
        background.GetComponent<SpriteRenderer>().sprite = (Sprite)backgroundList[0];
    }
	
	// Update is called once per frame
	void Update () {
		float elapseTime = Timer.GetElapseTime ();
		timeTxt.text = elapseTime.ToString("#.00");
		if (elapseTime > MaxReactionTime) {
			Freeze ();
		}
	}

	void Freeze(){
		Time.timeScale = 0;
		startBtn.gameObject.SetActive (true);
		startTxt.text = "时间到~";
	}
		
	void OnClick(){
		float level = LevelManager.GetFloatLevel ();
        bool flag = ChangeImage.getFlag();
		Time.timeScale = 1;
		startBtn.gameObject.SetActive (false);
		if (level == 1) {
			LevelManager.SetFloatLevel(1.1f);
			OrganManager.RefreshOrgans ();
		}
		if (level == 1.1f) {
            if (flag)
            {
                LevelManager.SetFloatLevel(2.0f);
                background.GetComponent<SpriteRenderer>().sprite = (Sprite)backgroundList[1];
                ChangeImage.setFlag(false);
            }
            else
            {
                //bad scene
            }
            OrganManager.RefreshOrgans ();
		}
		if (level == 2.0f) {
            if (flag)
            {
                LevelManager.SetFloatLevel(3.0f);
                background.GetComponent<SpriteRenderer>().sprite = (Sprite)backgroundList[2];
                ChangeImage.setFlag(false);
            }
            else
            {
                //bad scene
            }
			OrganManager.RefreshOrgans ();
		}
		if (level == 3.0f) {
			SceneManager.LoadScene ("Ending");
		}
		Timer.Init ();
		Debug.Log (LevelManager.GetFloatLevel());
	}
}