public static void EnableNextIconButton() { if (GameManager.Mode != GameMode.Rehearsal) { return; } int[] siteIDs = InteractablePathManager.GetPathSiteIDs(); // Disable last scene button if (activeIndex >= 0) { int lastSiteID = siteIDs[activeIndex]; allIconButtons[lastSiteID].GetComponent <Button>().interactable = false; allIconButtons[lastSiteID].enableCover.gameObject.SetActive(true); Animator prevAnimator = allIconButtons[lastSiteID].GetComponent <Animator>(); prevAnimator.Play("UIButtonIdle"); } // Enable next scene button if (activeIndex + 1 < siteIDs.Length) { int nextSiteID = siteIDs[activeIndex + 1]; allIconButtons[nextSiteID].GetComponent <Button>().interactable = true; allIconButtons[nextSiteID].enableCover.gameObject.SetActive(false); LevelIconButton.ActivateIconForRehersal(nextSiteID, activeIndex + 1); Animator nextAnimator = allIconButtons[nextSiteID].GetComponent <Animator>(); nextAnimator.Play("UIButtonHighlight"); } }
public void ResetPlaythrough() { InteractablePathManager.Reset(); MenuScreenManager.ActivateSceneLineUp(); gameObject.SetActive(false); GameManager.GraduatedMode = true; }
public void SetRandomSeed() { InteractablePathManager.SetRandomSeed(); TMP_InputField seedInputField = GetComponentInChildren <TMP_InputField>(); seedInputField.text = InteractablePathManager.SeedString; }
public void GoToStart() { InteractablePathManager.Reset(); state = MenuScreenStates.Start; ResetCanvas(); startCanvas.gameObject.SetActive(true); }
static public void ActivateStart() { InteractablePathManager.Reset(); LevelSetManager.ResetCurrentLevels(); LevelIconButton.ResetButtonIcons(); Instance.SetBackground(true); Instance.GoToStart(); }
public void SetRandomBIP39Seed() { BIP39Converter bpc = new BIP39Converter(); InteractablePathManager.SetRandomSeed(); TMP_InputField seedInputField = GetComponentInChildren <TMP_InputField>(); seedInputField.text = bpc.getSentenceFromHex(InteractablePathManager.SeedString); }
public void ResetScene() { for (int i = 0; i < InteractableConfig.ActionsPerSite; i++) { InteractablePathManager.UndoLastAction(); } InteractablePathManager.ShowLevelComplete = false; GameManager.State = GameManager.PrevState; ToggleOff(); }
/// <summary> Handles selecting Rehearsal Button </summary> public void Rehearsal() { GameManager.Mode = GameMode.Rehearsal; GameManager.State = GameState.Play; InteractablePathManager.InitalizePathAndLog(); InteractableManager.destroyInteractables(); Scene scene = SceneManager.GetActiveScene(); SceneManager.LoadScene(scene.name); }
void Update() { if (siteIndex == InteractablePathManager.NextInteractableSiteID()) { GetComponent <CanvasGroup>().alpha = 0.75f + 0.25f * Mathf.Sin(5 * Time.time); GetComponentInChildren <TextMeshProUGUI>(true).gameObject.SetActive(true); } else { GetComponentInChildren <TextMeshProUGUI>(true).gameObject.SetActive(false); } }
public void SetupEncodeSeedBip() { SetLevelPanelDefault(); if (GameManager.Mode == GameMode.Rehearsal) { TMP_InputField seedInputField = GetComponentInChildren <TMP_InputField>(true); string seedFromInput = seedInputField.text; string hexSeed = ""; if (!detectHex(seedFromInput) && validBip(seedFromInput)) { BIP39Converter bpc = new BIP39Converter(); hexSeed = bpc.getHexFromSentence(seedFromInput); } else { hexSeed = seedFromInput; if (InteractableConfig.SeedHexLength % 2 == 1) { if (seedFromInput.Length == InteractableConfig.SeedHexLength) { string seedText = seedFromInput + "0"; char[] array = seedText.ToCharArray(); array[array.Length - 1] = array[array.Length - 2]; array[array.Length - 2] = '0'; hexSeed = new string(array); } else if (seedFromInput.Length == InteractableConfig.SeedHexLength + 1) { char[] array = seedFromInput.ToCharArray(); array[array.Length - 2] = '0'; hexSeed = new string(array); } else { Debug.Log("Seed: " + hexSeed); } } } //Debug.Log("Sentence: " + seedFromInput); Debug.Log("Seed: " + hexSeed); InteractablePathManager.SeedString = hexSeed; int[] siteIDs = InteractablePathManager.GetPathSiteIDs(); SetIconAndPanelForRehearsal(siteIDs); } }
public void SetupEncodeSeed() { SetLevelPanelDefault(); if (GameManager.Mode == GameMode.Rehearsal) { TMP_InputField seedInputField = GetComponentInChildren <TMP_InputField>(true); InteractablePathManager.SeedString = seedInputField.text; int[] siteIDs = InteractablePathManager.GetPathSiteIDs(); SetIconAndPanelForRehearsal(siteIDs); } }
public void Undo() { int actionsThisScene = InteractableLog.Count % InteractableConfig.ActionsPerSite; if (actionsThisScene > 0) { InteractablePathManager.UndoLastAction(); } else { Debug.Log("Unable to undo actions from a previous scene."); } }
public void EnableNext() { if (GameManager.Mode != GameMode.Rehearsal) { return; } int[] siteIDs = InteractablePathManager.GetPathSiteIDs(); if (sceneCount < siteIDs.Length) { int nextID = siteIDs[sceneCount]; buttons[nextID].interactable = true; indicators[nextID].Activate(sceneCount); } }
public void ExitToMainMenu() { SeedQuest.Level.LevelManager.Instance.StopLevelMusic(); InteractablePathManager.Reset(); if (GameManager.V2Menus) { MenuScreenV2.Instance.GoToStart(); } else { MenuScreenManager.ActivateStart(); } //gameObject.SetActive(false); animator.Play("SlideDown"); GameManager.GraduatedMode = false; }
private void Start() { GameManager.ResetCursor(); InteractableManager.Reset(); InteractablePathManager.Reset(); GameObject sideNav = GameObject.FindGameObjectWithTag("SideNav"); for (int i = 0; i < demoList.Length; i++) { Vector3 position = buttonOffset + new Vector3(0, -i * buttonPadding, 0); demoList[i].select = createLevelButton(demoList[i], sideNav.transform, position); } demoList[0].select.onClick.Invoke(); }
void Awake() { GameManager.Mode = GameMode.Rehearsal; GameManager.TutorialMode = true; canvas = GetComponentsInChildren <Canvas>(true); currentCanvasIndex = 0; playerStartPosition = GameObject.FindGameObjectWithTag("Player").transform.localPosition; InteractablePathManager.SeedString = "A09206A09206000000000000000000000"; InteractablePathManager.SetupInteractablePathIDs(); InteractablePathManager.Initalize(); menuBar = FindObjectOfType <MenuProgressTopBarUI>(); menuBar.gameObject.GetComponent <Canvas>().sortingOrder = 1; sliderCanvas = FindObjectOfType <CameraSlider>().transform.parent.parent.gameObject.GetComponent <Canvas>(); sliderCanvas.sortingOrder = 1; minimapCanvas = FindObjectOfType <MinimapUI>().gameObject.GetComponent <Canvas>(); minimapCanvas.sortingOrder = 1; }
private void SetValidLevelSelect() { if (GameManager.Mode == GameMode.Rehearsal) { foreach (Button button in levelButtonList) { button.interactable = false; } levelButtonList[InteractablePathManager.NextInteractableSiteID()].interactable = true; } else { foreach (Button button in levelButtonList) { button.interactable = true; } } }
public void EncodeSeed() { if (GameManager.Mode == GameMode.Rehearsal) { string seedFromInput = seedInputField.text; string hexSeed = ""; if (!SeedUtility.detectHex(seedFromInput) && SeedUtility.validBip(seedFromInput)) { hexSeed = bpc.getHexFromSentence(seedFromInput); } else { hexSeed = seedFromInput; if (InteractableConfig.SeedHexLength % 2 == 1) { if (seedFromInput.Length == InteractableConfig.SeedHexLength) { string seedText = seedFromInput + "0"; char[] array = seedText.ToCharArray(); array[array.Length - 1] = array[array.Length - 2]; array[array.Length - 2] = '0'; hexSeed = new string(array); } else if (seedFromInput.Length == InteractableConfig.SeedHexLength + 1) { char[] array = seedFromInput.ToCharArray(); array[array.Length - 2] = '0'; hexSeed = new string(array); } else { Debug.Log("Seed: " + hexSeed); } } } Debug.Log("Seed: " + hexSeed); InteractablePathManager.SeedString = hexSeed; int[] siteIDs = InteractablePathManager.GetPathSiteIDs(); } }
public void replayScene() { // remove any actions performed in the current scene from the interactable log // calculate # of actions to undo int actionsThisScene = InteractableLog.Count % InteractableConfig.ActionsPerSite; //Debug.Log("Found " + actionsThisScene + " actions to undo"); if (actionsThisScene > 0) { for (int i = 0; i < actionsThisScene; i++) { InteractablePathManager.UndoLastAction(); Debug.Log("Undo number " + (i + 1)); } InteractablePathManager.ShowLevelComplete = false; } GameManager.State = GameManager.PrevState; gameObject.SetActive(false); }
public void SetupEncodeSeed() { SetLevelPanelDefault(); if (GameManager.Mode == GameMode.Rehearsal) { TMP_InputField seedInputField = GetComponentInChildren <TMP_InputField>(true); string seedFromInput = removeHexPrefix(seedInputField.text); if (InteractableConfig.SeedHexLength % 2 == 1) { if (seedFromInput.Length == InteractableConfig.SeedHexLength) { string seedText = seedFromInput + "0"; char[] array = seedText.ToCharArray(); array[array.Length - 1] = array[array.Length - 2]; array[array.Length - 2] = '0'; seedFromInput = new string(array); } else if (seedFromInput.Length == InteractableConfig.SeedHexLength + 1) { char[] array = seedFromInput.ToCharArray(); array[array.Length - 2] = '0'; seedFromInput = new string(array); } else { Debug.Log("Seed: " + seedFromInput); } } InteractablePathManager.SeedString = seedFromInput; int[] siteIDs = InteractablePathManager.GetPathSiteIDs(); SetIconAndPanelForRehearsal(siteIDs); } }
// Creates a custom learn mode - does the heavy lifting for the above two functions public static string learnTest(string input, bool random, bool iterative, bool tryToBreak) { string[] stringInputs = input.Split(null); int[] scenes = new int[InteractableConfig.SitesPerGame]; int[] actions = new int[InteractableConfig.SitesPerGame + (InteractableConfig.SitesPerGame * InteractableConfig.ActionsPerSite * 2)]; if (stringInputs.Length <= 0 || input == null || input == "") { return("Please enter at least one scene name for the custom learn path."); } Debug.Log("Input: " + input); Debug.Log("String input length: " + stringInputs.Length); for (int i = 0; i < InteractableConfig.SitesPerGame; i++) { // queue up the scenes entered by user into a seed if (i < stringInputs.Length) { if (sceneIndeces.ContainsKey(stringInputs[i])) { scenes[i] = sceneIndeces[stringInputs[i]]; } else if (fuzzySceneNames.ContainsKey(stringInputs[i])) { scenes[i] = sceneIndeces[fuzzySceneNames[stringInputs[i]]]; } else { Debug.Log("Do not recognize scene name: " + stringInputs[i]); return("Do not recognize scene name: " + stringInputs[i]); } } else { scenes[i] = 2; } } int counter = 0; // Create custom seed using the chosen scenes for (int i = 0; i < InteractableConfig.SitesPerGame; i++) { actions[i + i * InteractableConfig.ActionsPerSite * 2] = scenes[i]; for (int j = 0; j < InteractableConfig.ActionsPerSite; j++) { if (iterative) { actions[j * 2 + 1 + i + i * InteractableConfig.ActionsPerSite * 2] = counter % 16; } else if (random) { actions[j * 2 + 1 + i + i * InteractableConfig.ActionsPerSite * 2] = UnityEngine.Random.Range(0, 100) % 16; } else if (tryToBreak) { actions[j * 2 + 1 + i + i * InteractableConfig.ActionsPerSite * 2] = j + 13; } else { actions[j * 2 + 1 + i + i * InteractableConfig.ActionsPerSite * 2] = j % 16; } actions[j * 2 + 2 + i + i * InteractableConfig.ActionsPerSite * 2] = j % 4; //if (iterative) // Debug.Log("Counter " + counter % 16); counter++; } } SeedToByte seeds = new SeedToByte(); string seed = seeds.getSeed(actions); Debug.Log("Artificial seed: " + seed); InteractablePathManager.SeedString = seed; InteractablePath.ResetPath(); InteractablePathManager.Reset(); if (GameManager.V2Menus) { WorldManager.Reset(); } else { LevelSetManager.ResetCurrentLevels(); } for (int i = 0; i < scenes.Length; i++) { if (GameManager.V2Menus) { WorldManager.Add(scenes[i]); } else { LevelSetManager.AddLevel(scenes[i]); } } GameManager.Mode = GameMode.Rehearsal; GameManager.State = GameState.Play; InteractablePathManager.Initalize(); if (fuzzySceneNames.ContainsKey(stringInputs[0])) { SceneManager.LoadScene(fuzzySceneNames[stringInputs[0]]); return("Loading custom seed. Scene: " + fuzzySceneNames[stringInputs[0]]); } else { Debug.Log("Could not find scene named " + stringInputs[0]); } SceneManager.LoadScene(stringInputs[0]); return("Loading custom seed. Scene: " + stringInputs[0]); }
private void Update() { if (currentCanvasIndex == 2) { menuBar.gameObject.GetComponent <Canvas>().sortingOrder = 3; } if (currentCanvasIndex == 5) { menuBar.gameObject.GetComponent <Canvas>().sortingOrder = 1; GameObject player = GameObject.FindGameObjectWithTag("Player"); if (Vector3.Distance(playerStartPosition, player.transform.localPosition) > 0.037) { if (!coroutineStarted) { coroutineStarted = true; StartCoroutine(WaitNextCanvas(1.5f)); } } } if (currentCanvasIndex == 6) { minimapCanvas.sortingOrder = 3; sliderCanvas.sortingOrder = 3; } if (currentCanvasIndex == 7) { minimapCanvas.sortingOrder = 1; sliderCanvas.sortingOrder = 1; } if (currentCanvasIndex < 10) { if (InteractableLog.Count > 0) { InteractablePathManager.Reset(); InteractablePath.InitializeNextInteractable(); } } else if (currentCanvasIndex == 10) { if (InteractableLog.Count > 0) { NextCanvas(); } } else if (currentCanvasIndex == 11) { if (InteractableLog.Count == 2) { GoToCanvas(13); } } else if (currentCanvasIndex == 12) { if (InteractableLog.Count == 0) { GoToCanvas(11); } } else if (currentCanvasIndex == 13) { if (InteractableLog.Count == 3) { InteractablePathManager.Reset(); InteractablePreviewUI.ToggleShow(); InteractableManager.UnHighlightAllInteractables(); InteractableManager.UnTrackAllInteractables(); ParticleSystem[] particles = FindObjectsOfType <ParticleSystem>(); foreach (ParticleSystem particle in particles) { particle.Stop(); } GoToCanvas(14); } } else if (currentCanvasIndex == 14) { if (recall) { //Debug.Log(InteractableLog.Count); if (InteractableLog.Count == 3) { GoToCanvas(15); } } } }
public void Undo() { InteractablePathManager.UndoLastAction(); }
/// <summary> Handles selecting PrototypeSelect Button </summary> public void PrototypeSelect() { InteractablePathManager.InitalizePathAndLog(); InteractableManager.destroyInteractables(); SceneManager.LoadScene("PrototypeSelect"); }
public void SetRandomSeed() { InteractablePathManager.SetRandomSeed(); seedInputField.text = InteractablePathManager.SeedString; }
public void SetRandomBIP39Seed() { InteractablePathManager.SetRandomSeed(); seedInputField.text = bpc.getSentenceFromHex(InteractablePathManager.SeedString); }