// Start is called before the first frame update void Start() { GameInitialization.Initialize(); scrollRegion = GetComponent <ScrollRect>(); var bhav = GameObject.Find("EventSystem").GetComponent <MainMenuBehavior>(); sampleButton = scrollRegion.content.transform.GetChild(0).gameObject.GetComponent <Button>(); ButtonStyler.Style(sampleButton); playerNameField = transform.parent.transform.GetChild(4).gameObject; var saveFiles = StinkyFile.Save.SaveFile.GetAllSaves(); int lastHeight = 0; foreach (var save in saveFiles) { if (save.SaveFileInfo.IsBackup) { continue; } MakeButton(save.SaveFileInfo.PlayerName, ref lastHeight, delegate { saveFileMode = false; playerNameField.SetActive(false); if (save == selected) { bhav.GoToMapScreen(save); } else { SoundLoader.Play("sb-type.wav", false).volume = .5f; selected = save; save.FullLoad(); SaveFileInfoPopulate.PopulateInfo(save); } }); } var createButton = MakeButton("Create New Save File", ref lastHeight, delegate { #if false if (!saveFileMode) { SaveFileInfoPopulate.PopulateInfo(null); playerNameField.SetActive(true); createButton.transform.GetChild(0).GetComponent <Text>().text = "OK"; return; } var text = playerNameField.transform.GetChild(1).GetChild(1).GetComponent <Text>(); #endif var name = DateTime.Today.ToShortDateString(); var save = new SaveFile(name); bhav.GoToMapScreen(save); }); MakeButton("Go Back", ref lastHeight, delegate { bhav.CloseSaveSelect(); }); (scrollRegion.content.transform as RectTransform).SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, lastHeight); }
// Start is called before the first frame update void Start() { GameInitialization.Initialize(); ScrollRect scrollRegion = GetComponent <ScrollRect>(); var mapScreenBhav = GameObject.Find("EventSystem").GetComponent <MapScreenBehavior>(); sampleButton = scrollRegion.content.transform.GetChild(0).gameObject.GetComponent <Button>(); ButtonStyler.Style(sampleButton); var parser = GameInitialization.GlobalParser; parser.FindAllLevels(Path.Combine(TextureLoader.AssetDirectory, "levels")); int lastHeight = 0, CURRENT = 0, lastAvailableLevel = 0; transforms.Clear(); foreach (var level in parser.LevelInfo) { bool isAvailable = false; var levelInfo = level.GetSaveFileInfo(SaveFileManager.Current); isAvailable = levelInfo.IsAvailable; isAvailable = isAvailable ? true : CURRENT < 2; // first 2 levels always unlocked regardless isAvailable = true; var button = Instantiate(sampleButton); var transform = button.gameObject.transform as RectTransform; transform.position = new Vector3(0, -lastHeight, 0); lastHeight += (int)transform.rect.height + 10; var name = ((isAvailable) ? "" : "LOCKED - ") + (levelInfo.WasPerfect ? "*" : "") + level.Name + (levelInfo.WasPerfect ? "*" : ""); if (name.Length > 25) { name = name.Substring(0, 25) + "..."; } transform.GetChild(0).GetComponent <Text>().text = name; transform.SetParent(scrollRegion.content, false); button.gameObject.SetActive(true); if (isAvailable) { button.onClick.AddListener(delegate { if (selected != level) { selected = level; mapScreenBhav.SelectLevelOnMap(level); return; } mapScreenBhav.GoToLevel(Path.GetFileName(level.LevelFilePath).Replace(".lv5", "")); }); } else { button.spriteState = new SpriteState(); // make sure hovering doesn't work on these. } transforms.Add(level, transform); CURRENT++; } (scrollRegion.content.transform as RectTransform).SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, lastHeight); OnLevelsLoaded?.Invoke(this, null); }
protected Theme(ButtonStyler styleButton) { StyleButton = styleButton; }