void Spawn() { if (Constants.Endless) { spawnTimer = spawnTime; spawnTime *= Constants.EndlessSpawnDecay; int from = Random.Range(Constants.MinNote, Constants.MaxNote + 1); int to = Random.Range(Constants.MinNote, Constants.MaxNote + 1); while (to == from) { to = Random.Range(Constants.MinNote, Constants.MaxNote + 1); } floorManager.LightOn(from, true); PersonScript person = factory.CreatePerson(); person.Appear(from, to); clients.Add(person); } else { int from = Constants.Level[curIdx]; int to = Constants.Level[curIdx + 1]; string noteName = PitchManager.NoteToName(from); UpText.text = noteName; DownText.text = noteName; floorManager.LightOn(from, true); PlayNote(from); PersonScript person = factory.CreatePerson(); person.Appear(from, to); clients.Add(person); } }
IEnumerator ResumeGame(ArrayList toLightOn, int toLightOff) { yield return(new WaitForSeconds(1)); floorManager.LightOff(toLightOff); foreach (int note in toLightOn) { floorManager.LightOn(note, false); if (!Constants.Endless) { PlayNote(note); string noteName = PitchManager.NoteToName(note); UpText.text = noteName; DownText.text = noteName; } } if (Constants.Endless) { Constants.GameOn = true; } else { if (toLightOn.Count > 0 || clients.Count == 0) { curIdx++; UpdateTarget(); } else { Constants.GameOn = true; } } }
void Start() { float worldScreenWidth = (Camera.main.orthographicSize * 2 / Screen.height) * Screen.width; floorsOn = new ArrayList(); floors = new GameObject[Constants.MaxNote - Constants.MinNote + 1]; for (int note = Constants.MinNote; note <= Constants.MaxNote; note++) { Vector3 pos = new Vector3(0, NoteToPos(note)); GameObject floor = Instantiate(FloorPrefab, pos, Quaternion.identity); floors[note - Constants.MinNote] = floor; var left = floor.transform.Find("left_floor").GetComponent <SpriteRenderer>(); var right = floor.transform.Find("right_floor").GetComponent <SpriteRenderer>(); var left_bg = floor.transform.Find("left_bg").GetComponent <SpriteRenderer>(); var right_bg = floor.transform.Find("right_bg").GetComponent <SpriteRenderer>(); var text = floor.transform.Find("name").GetComponent <TextMesh>(); Vector3 bgScale = left_bg.transform.localScale; bgScale.x = worldScreenWidth / (2 * left_bg.sprite.bounds.size.x); left_bg.transform.localScale = bgScale; right_bg.transform.localScale = bgScale; left_bg.color = GetColor(note); right_bg.color = GetColor(note); Vector3 left_bg_pos = left_bg.transform.position; left_bg_pos.x = -worldScreenWidth / 4; left_bg.transform.position = left_bg_pos; Vector3 right_bg_pos = right_bg.transform.position; right_bg_pos.x = worldScreenWidth / 4; right_bg.transform.position = right_bg_pos; Vector3 leftPos = left.transform.position; leftPos.x = -worldScreenWidth / 4 - 1; left.transform.position = leftPos; Vector2 leftSize = left.size; leftSize.x = worldScreenWidth / 2 - 2; left.size = leftSize; Vector3 rightPos = right.transform.position; rightPos.x = worldScreenWidth / 4 + 1; right.transform.position = rightPos; Vector2 rightSize = right.size; rightSize.x = worldScreenWidth / 2 - 2; right.size = rightSize; text.text = PitchManager.NoteToName(note); Vector3 textPos = text.transform.position; textPos.x = worldScreenWidth / 2 - 1; text.transform.position = textPos; } }