private void BuildMainMenu() { Title = UnityEngine.Object.Instantiate(TitlePrefab, new Vector3(Screen.width / 2f, Screen.height - 70f, 0), Quaternion.identity); Title.transform.SetParent(MainMenu.transform); Title.GetComponent <Text>().text = "Gyroll"; List <Action> buttonActions = new List <Action>(); buttonActions.Add(director.StartGame); StageButton PlayButton = new StageButton(Screen.width / 2f, Screen.height / 2f + 20, StageButtonPrefab, "Play", buttonActions, Canvas); PlayButton.actions.AddListener(PlayButton.Deactivate); buttons.Add(PlayButton); PlayButton.attached.transform.SetParent(MainMenu.transform); buttonActions.Clear(); //buttonActions.Add(director.Empty); buttonActions.Add(GoToSettings); StageButton SettingsButton = new StageButton(Screen.width / 2f, Screen.height / 2f - 30, StageButtonPrefab, "Settings", buttonActions, Canvas); buttons.Add(SettingsButton); SettingsButton.attached.transform.SetParent(MainMenu.transform); buttonActions.Clear(); buttonActions.Add(director.QuitGame); StageButton QuitButton = new StageButton(Screen.width / 2f, Screen.height / 2f - 80, StageButtonPrefab, "Quit", buttonActions, Canvas); buttons.Add(QuitButton); QuitButton.attached.transform.SetParent(MainMenu.transform); }
private void MoveStageButton() { Vector2 moveVector = Vector2.zero; moveVector.x = 4.0f; if (GameManager.instance.touchManager.SwipeDirection.x < 0 && stages[stages.Count - 1].gameObject.transform.position.x > 1.0f) { foreach (StageButton stage in stages) { stage.gameObject.transform.Translate(-moveVector); } StartCoroutine(ButtonSizeUpDown(0, curStage)); curStageNumber++; curStage = stages[curStageNumber]; StartCoroutine(ButtonSizeUpDown(1, curStage)); } else if (GameManager.instance.touchManager.SwipeDirection.x > 0 && stages[0].gameObject.transform.position.x < -1.0f) { foreach (StageButton stage in stages) { stage.gameObject.transform.Translate(moveVector); } StartCoroutine(ButtonSizeUpDown(0, curStage)); curStageNumber--; curStage = stages[curStageNumber]; StartCoroutine(ButtonSizeUpDown(1, curStage)); } }
void GenerateStageButtons() { foreach (StageInfo s in Stages) { StageButton sb = Instantiate(StageBtn, StagesRoot).GetComponent <StageButton>(); sb.SetData(s); } }
// private void SetStageBtns(bool tween = true) { if (bm == null) { bm = FindObjectOfType <ButtonManager>(true); bm.SetPanel(currentDifficulty); } // { // 0 : locked, 1 : unlock Effect, 2 : unlocked, 3 : clear for (int i = 0; i < bm.stagePanels.Count; ++i) { // Child[0] : Panel_DifficultyText, Child[1] : STAGE Transform stage = bm.stagePanels[i].GetChild(1); // Activate first stage StageButton first = stage.GetChild(1).GetComponentInChildren <StageButton>(); first.Activate(false); // stageBtn children order : 0(inf), 1(first), 2 ~ 6 for (int j = 0; j < stage.childCount; ++j) { int btnState = saveData.stageBtnState[i][j]; StageButton sb = stage.GetChild(j).GetComponentInChildren <StageButton>(); if (tween == false) { // call by SceneChange switch (btnState) { case 0: // locked case 1: // unlock Effect break; case 2: // unlocked case 3: // clear sb.Activate(false); break; } } else { // call by Clear Sequence switch (btnState) { case 0: // locked break; case 1: // unlock Effect sb.Activate(true); saveData.stageBtnState[i][j] = 2; Save(); break; case 2: // unlocked case 3: // clear break; } } } } } }
private void SetStageButtons() { _stageButtons = new List <StageButton>(_stageNumber); for (int i = 0; i < _stageNumber; i++) { StageButton stageButtonScript = Instantiate(stageButtonPrefab).GetComponent <StageButton>(); stageButtonScript.transform.parent = stageSelectZone.transform; stageButtonScript.Initialize(i, new Vector2(xAxises[i % 2], yAxisStartPos + yAxisDuration * i), i == DataController.Instance.SelectStage); _stageButtons.Add(stageButtonScript); } }
public override void OnInspectorGUI() { base.OnInspectorGUI(); // StageButton btn = (StageButton)target; // if (GUILayout.Button("Activate")) { btn.Activate(); } if (GUILayout.Button("DeActivate")) { btn.DeActivate(); } }
private void Start() { StartCoroutine(ImageUpdate()); blackBackgroundSpriteRenderer = blackBackground.GetComponent <SpriteRenderer>(); StartCoroutine(GameManager.instance.fadeManager.SpriteFadeOutCoroutine(blackBackgroundSpriteRenderer, 1.0f)); createAfterImageBlock = gameObject.GetComponent <CreateAfterImageBlock>(); curStageNumber = 0; curStage = stages[curStageNumber]; curStage.gameObject.transform.localScale += new Vector3(0.4f, 0.4f, 0.4f); musicVolumeSlider.value = GameManager.instance.soundManager.Volume; createAfterImageBlock.StartCreateAfterImage(); }
private IEnumerator ButtonSizeUpDown(int sign, StageButton stage) { Vector3 changeScale = Vector3.one; changeScale /= 10; for (int i = 0; i < 4; i++) { if (sign.Equals(0)) { stage.gameObject.transform.localScale -= changeScale; } else if (sign.Equals(1)) { stage.gameObject.transform.localScale += changeScale; } yield return(YieldInstructionCache.WaitFrame); } }
public void MakeWinScreen(float remainingTime, float initialTime) { WinScreenTitle = UnityEngine.Object.Instantiate(TitlePrefab, new Vector3(Screen.width / 2f, Screen.height - 70f, 0), Quaternion.identity); WinScreenTitle.transform.SetParent(MainMenu.transform); WinScreenTitle.GetComponent <Text>().text = "You win!"; int score = (int)Math.Floor(1000 * remainingTime * Math.Max(Director.Difficulty, 1) / initialTime); ScoreDisplay = UnityEngine.Object.Instantiate(TitlePrefab, new Vector3(Screen.width / 2f, Screen.height - 110f, 0), Quaternion.identity); ScoreDisplay.transform.SetParent(MainMenu.transform); ScoreDisplay.GetComponent <Text>().text = "Score: " + score.ToString(); List <Action> buttonActions = new List <Action>(); buttonActions.Add(director.ToMainMenu); StageButton NextButton = new StageButton(Screen.width / 2f, Screen.height / 2f - 40, StageButtonPrefab, "Next", buttonActions, Canvas); buttons.Add(NextButton); NextButton.attached.transform.SetParent(MainMenu.transform); }
private void InitializeStageButtons() { Vector3 startingPosition = transform.Find("StageButtonsStartPos").localPosition; for (int i = 0; i < stagesCount; i++) { GameObject newButton = (GameObject)GameObject.Instantiate(buttonPrefab); StageButton stageButton = newButton.GetComponent <StageButton>(); stageButton.transform.SetParent(transform); stageButton.transform.localPosition = new Vector3( startingPosition.x + (i % stagesPerLine) * xOffset, startingPosition.y + Mathf.FloorToInt(i / stagesPerLine) * yOffset, startingPosition.z ); stageButton.transform.localScale = Vector3.one; stageButton.InitStageNum(i + 1); } }
// Use this for initialization void Start() { Reserve("StageButton", 30); for (int i = 0; i < GameInfo.GetInstance.MaxStage; i++) { float width = ((i % 5) - 2) * 200; float height = ((i / 5) - 2) * -110; GameObject obj = GetObject("StageButton"); obj.transform.localPosition = new Vector3(width, height, 0); obj.transform.localScale = Vector3.one; StageButton button = obj.GetComponent <StageButton>(); if (GameInfo.GetInstance.GetStage(i) == 1) { button.Init(i, true); } else { button.Init(i, false); } } }
public void BuildSettingsMenu() { SettingsTitle = UnityEngine.Object.Instantiate(TitlePrefab, new Vector3(Screen.width / 2f, Screen.height - 30f, 0), Quaternion.identity); SettingsTitle.transform.SetParent(SettingsMenu.transform); SettingsTitle.GetComponent <Text>().text = "Settings"; List <Action> buttonActions = new List <Action>(); buttonActions.Add(GoToMainMenu); StageButton BackButton = new StageButton(Screen.width / 2f, Screen.height / 2f - 130, StageButtonPrefab, "Back", buttonActions, Canvas); buttons.Add(BackButton); BackButton.attached.transform.SetParent(SettingsMenu.transform); buttonActions.Clear(); buttonActions.Add(Director.Recalibrate); StageButton CalibrateButton = new StageButton(Screen.width / 2f, Screen.height / 2f - 40, StageButtonPrefab, "Calibrate", buttonActions, Canvas); buttons.Add(CalibrateButton); CalibrateButton.attached.transform.SetParent(SettingsMenu.transform); /*buttonActions.Clear(); * buttonActions.Add(director.Empty); * StageButton PortsButton = new StageButton(Screen.width / 2f, Screen.height / 2f - 80, StageButtonPrefab, "Serial Port", buttonActions, Canvas); * buttons.Add(PortsButton); * PortsButton.attached.transform.SetParent(SettingsMenu.transform);*/ GyroTitle = UnityEngine.Object.Instantiate(TitlePrefab, new Vector3(Screen.width / 2f - 100, Screen.height / 2f - 80, 0), Quaternion.identity); GyroTitle.transform.SetParent(SettingsMenu.transform); GyroTitle.GetComponent <Text>().text = "Use gyro?"; buttonActions.Clear(); buttonActions.Add(director.ToggleGyro); StageButton ToggleButton = new StageButton(Screen.width / 2f, Screen.height / 2f - 80, PlusButtonPrefab, "Y", buttonActions, Canvas); GyroButtonText = ToggleButton.attached.GetComponentInChildren <Text>(); buttons.Add(ToggleButton); ToggleButton.attached.transform.SetParent(SettingsMenu.transform); if (Director.useGyro) { GyroButtonText.text = "Y"; } else { GyroButtonText.text = "N"; } buttonActions.Clear(); buttonActions.Add(director.IncreaseDifficulty); StageButton DiffPlus = new StageButton(Screen.width / 2f + 100, Screen.height / 2f + 5, PlusButtonPrefab, "+", buttonActions, Canvas); buttons.Add(DiffPlus); DiffPlus.attached.transform.SetParent(SettingsMenu.transform); buttonActions.Clear(); buttonActions.Add(director.DecreaseDifficulty); StageButton DiffMinus = new StageButton(Screen.width / 2f - 100, Screen.height / 2f + 5, PlusButtonPrefab, "-", buttonActions, Canvas); buttons.Add(DiffMinus); DiffMinus.attached.transform.SetParent(SettingsMenu.transform); DiffTitle = UnityEngine.Object.Instantiate(TitlePrefab, new Vector3(Screen.width / 2f - 200, Screen.height / 2f + 5, 0), Quaternion.identity); DiffTitle.transform.SetParent(SettingsMenu.transform); DiffTitle.GetComponent <Text>().text = "Difficulty"; DiffAmount = UnityEngine.Object.Instantiate(TitlePrefab, new Vector3(Screen.width / 2f, Screen.height / 2f + 5, 0), Quaternion.identity); DiffAmount.transform.SetParent(SettingsMenu.transform); DiffAmount.GetComponent <Text>().text = Director.Difficulty.ToString(); buttonActions.Clear(); buttonActions.Add(director.IncreaseTimer); StageButton TimerPlus = new StageButton(Screen.width / 2f + 100, Screen.height / 2f + 50, PlusButtonPrefab, "+", buttonActions, Canvas); buttons.Add(TimerPlus); TimerPlus.attached.transform.SetParent(SettingsMenu.transform); buttonActions.Clear(); buttonActions.Add(director.DecreaseTimer); StageButton TimerMinus = new StageButton(Screen.width / 2f - 100, Screen.height / 2f + 50, PlusButtonPrefab, "-", buttonActions, Canvas); buttons.Add(TimerMinus); TimerMinus.attached.transform.SetParent(SettingsMenu.transform); TimerTitle = UnityEngine.Object.Instantiate(TitlePrefab, new Vector3(Screen.width / 2f - 200, Screen.height / 2f + 50, 0), Quaternion.identity); TimerTitle.transform.SetParent(SettingsMenu.transform); TimerTitle.GetComponent <Text>().text = "Timer"; TimerAmount = UnityEngine.Object.Instantiate(TitlePrefab, new Vector3(Screen.width / 2f, Screen.height / 2f + 50, 0), Quaternion.identity); TimerAmount.transform.SetParent(SettingsMenu.transform); TimerAmount.GetComponent <Text>().text = director.TimeLimit.ToString(); // buttonActions.Clear(); buttonActions.Add(director.IncreaseSensitivity); StageButton SensPlus = new StageButton(Screen.width / 2f + 100, Screen.height / 2f + 95, PlusButtonPrefab, "+", buttonActions, Canvas); buttons.Add(SensPlus); SensPlus.attached.transform.SetParent(SettingsMenu.transform); buttonActions.Clear(); buttonActions.Add(director.DecreaseSensitivity); StageButton SensMinus = new StageButton(Screen.width / 2f - 100, Screen.height / 2f + 95, PlusButtonPrefab, "-", buttonActions, Canvas); buttons.Add(SensMinus); SensMinus.attached.transform.SetParent(SettingsMenu.transform); SensTitle = UnityEngine.Object.Instantiate(TitlePrefab, new Vector3(Screen.width / 2f - 200, Screen.height / 2f + 95, 0), Quaternion.identity); SensTitle.transform.SetParent(SettingsMenu.transform); SensTitle.GetComponent <Text>().text = "Sensitivity"; SensAmount = UnityEngine.Object.Instantiate(TitlePrefab, new Vector3(Screen.width / 2f, Screen.height / 2f + 95, 0), Quaternion.identity); SensAmount.transform.SetParent(SettingsMenu.transform); SensAmount.GetComponent <Text>().text = Director.gyroSensitivity.ToString(); }
private void Start() { //make buttons to call TargetCreature function which sends upgradeoption[temp] as a parameter. for (int i = 0; i < PublicLevel.friendlyTypeCreatureNum; i++) { upgradeButton[i] = GameObject.Find("UpgradeButton" + (i + 1)).GetComponent <Button>(); int temp = i; //used temp since just using i makes every buttons to send last i value as a parameter upgradeButton[i].GetComponent <Button>().onClick.AddListener(delegate { TargetCreature(upgradeOption[temp]); }); } //make buttons toi call ChangeCreature fucntion for (int i = 0; i < PublicLevel.usingCreatureNum; i++) { locationButton[i] = GameObject.Find("Location" + (i + 1)).GetComponent <Button>(); int temp = i; locationButton[temp].onClick.AddListener(delegate { ChangeCreature(temp); }); } unlockPopup.SetActive(false); //UI upgradShop is not shown until upgradeShop is active upgradeShop.SetActive(false); //Try to find GameDataControl gameDataControl = GameObject.Find("GameDataControl"); //if no gameDataControl exists, instantiate one new gameDataControl if (gameDataControl == null) { gameDataControl = Instantiate(new GameObject(), transform.position, Quaternion.identity); gameDataControl.name = "GameDataControl"; gameData = gameDataControl.AddComponent <GameData>(); loadedData = gameData.LoadGameData(); //load when StageSelect scene was first loaded. If there's no loadedData, make a default setting for player - level, win, creature type using. if (loadedData == null) { PublicLevel.SetPlayerLevel(1); PublicLevel.SetPlayerWin(0); PublicLevel.SetCorn(0); for (int i = 1; i < 6; i++) { PublicLevel.unlockType[i, 0] = true; } for (int i = 0; i < PublicLevel.friendlyTypeCreatureNum; i++) { PublicLevel.friendlyType[i] = new Vector2Int(i, 0); } } else { PublicLevel.SetPlayerLevel(loadedData.GetPlayerLevel()); PublicLevel.SetPlayerWin(loadedData.GetPlayerWin()); PublicLevel.SetCorn(loadedData.GetCorn()); for (int i = 0; i < PublicLevel.usingCreatureNum; i++) { PublicLevel.friendlyType[i] = new Vector2Int(loadedData.GetFriendlyType()[i].x, loadedData.GetFriendlyType()[i].y); } for (int i = 0; i < PublicLevel.friendlyTypeCreatureNum; i++) { for (int k = 0; k < PublicLevel.friendlyTypeUpgradeNum; k++) { PublicLevel.unlockType[i, k] = loadedData.GetUnlockType()[i, k]; } } } //fill frienldyCreatureList based on loaded/default friendlyType for (int i = 0; i < PublicLevel.friendlyTypeCreatureNum; i++) { PublicLevel.friendlyCreatureList[i] = PublicLevel.friendlyPrefab[PublicLevel.friendlyType[i].x, PublicLevel.friendlyType[i].y]; PublicLevel.friendlyImageList[i] = PublicLevel.friendlyImage[PublicLevel.friendlyType[i].x, PublicLevel.friendlyType[i].y]; } } cornText.text = PublicLevel.GetCorn().ToString(); stageButton = GameObject.FindGameObjectsWithTag("StageButton"); foreach (GameObject stageBtn in stageButton) { StageButton stageCheck = stageBtn.GetComponent <StageButton>(); if (stageCheck.GetStageLevel() > PublicLevel.GetPlayerLevel()) { stageBtn.GetComponent <Image>().color = Color.red; stageBtn.GetComponent <Button>().interactable = false; } else if (stageCheck.GetStageLevel() == PublicLevel.GetPlayerLevel()) { stageBtn.GetComponent <Image>().color = Color.blue; } } //save data gameData.SaveGameData(); }