// Use this for initialization public override void Init() { if (!m_Init) { List<int> randomisedList = new List<int>(); for (int i = 0; i < m_Chapters[0].JigsawPeicesUnlocked.Length; i++) { randomisedList.Add(i); } float unlock = 1.0f; for (int i = 0; i < 1; i++) { int removeI = Random.Range(0,randomisedList.Count-1); int removeVal = randomisedList[removeI]; randomisedList.RemoveAt(removeI); unlock = 0.0f; m_Chapters[0].JigsawPeicesUnlocked[removeVal] = unlock; //Debug.Log ( "Removing : [" + removeI + "|" + unlock + "];" ); } for (int i = 0; i < randomisedList.Count; i++) { m_Chapters[0].JigsawPeicesUnlocked[randomisedList[i]] = 1.0f; } for (int i = 0; i < m_Chapters[0].JigsawPeicesUnlocked.Length; i++) { //Debug.Log("Unlock Amt : [" +i + "|" + m_Chapters[0].JigsawPeicesUnlocked[i] + "];"); } m_Init = true; } if(lerpers.Count != 0) { CleanLerpers(); } GameObject go = GameObject.Instantiate(Resources.Load("Prefabs/States/ChapterSelect")) as GameObject; m_Mono = go.GetComponent<ChapterSelectMono>(); go.GetComponent<Canvas>().worldCamera = GameObject.Find("Main Camera").GetComponent<Camera>() as Camera; activateJigsawAnimation = false; animating = false; rewardAnimation = false; endSystemEffect = null; for (int i = 0; i < m_Chapters.Length; i++) { GameObject chapterGO = GameObject.Instantiate(Resources.Load("Prefabs/Chapter")) as GameObject; m_Chapters[i].Mono = chapterGO.GetComponent<ChapterIconMono>(); m_Chapters[i].Mono.transform.SetParent(m_Mono.Grid.transform); m_Chapters[i].Mono.transform.localScale = Vector2.one; //Adjusting images m_Chapters[i].Mono.ID = i; m_Chapters[i].Mono.Image.sprite = Resources.Load<Sprite>("PinballBackgrounds/" + m_Chapters[i].PictureName); m_Chapters[i].Mono.m_nextLvl_Image = Resources.Load<Sprite>("PinballBackgrounds/" + m_Chapters[i].nextLvlPictureName); m_Chapters[i].Mono.m_nextLvl_Image_small = Resources.Load<Sprite>("PinballBackgrounds/" + m_Chapters[i].nextLvlPictureName + "_small"); m_Chapters[i].Mono.Completed_Image.sprite = Resources.Load<Sprite>("PinballBackgrounds/" + m_Chapters[i].nextLvlPictureName); m_Chapters[i].Mono.Title.text = m_Chapters[i].Name; //Adjusting title if(m_Chapters[i].TitleImage != string.Empty) { m_Chapters[i].Mono.Title_Image.sprite = Resources.Load<Sprite>("ChapterSelect/" + m_Chapters[i].TitleImage); m_Chapters[i].Mono.Title.enabled = false; } else { m_Chapters[i].Mono.Title_Image.enabled = false; } m_Chapters[i].Mono.PlayText.text = m_Chapters[i].UnLocked ? "Play" : "Locked"; if(m_Chapters[i].Completed) { m_Chapters[i].Mono.JigsawPieceRoot.SetActive(false); m_Chapters[i].Mono.Completed_Image.gameObject.SetActive(true); m_Chapters[i].Mono.PlayButton.SetActive(false); } else { m_Chapters[i].Mono.JigsawPieceRoot.SetActive(true); m_Chapters[i].Mono.Completed_Image.gameObject.SetActive(false); for (int j = 0; j < m_Chapters[i].JigsawPeicesUnlocked.Length; j++) { m_Chapters[i].Mono.JigsawPieces[j].transform.GetChild(0).GetComponent<Image>().sprite = m_Chapters[i].Mono.m_nextLvl_Image; Color temp = m_Chapters[i].Mono.JigsawPieces[j].transform.GetChild(0).GetComponent<Image>().color; temp.a = 0.4f; { if(m_Chapters[i].JigsawPeicesUnlocked[j] == 1.0f && !m_Chapters[i].JigsawPiecesToUnlock[j]) { //m_Chapters[i].Mono.JigsawPieces[j].SetActive(true); //m_Chapters[i].Mono.JigsawPieces[j].transform.GetChild(0).GetComponent<Image>().sprite = m_Chapters[i].Mono.m_nextLvl_Image; temp.a = 1.0f; } } m_Chapters[i].Mono.JigsawPieces[j].transform.GetChild(0).GetComponent<Image>().color = temp; } } } float preferred = m_Mono.Grid.cellSize.x * m_Chapters.Length; m_ContentRect = m_Mono.Grid.GetComponent<RectTransform>(); m_Intertia = m_Mono.ScrollRect.decelerationRate; m_Mono.ScrollRect.inertia = false; float gridSnap = getGridPosAt((m_Mono.Grid.transform.childCount-1) - m_LastChecked); m_ScrollTo = new Vector2(gridSnap, m_Mono.Grid.transform.localPosition.y); m_Mono.Grid.transform.localPosition = m_ScrollTo; int nearest = NearestChild(); m_Mono.LeftArrow.gameObject.SetActive(nearest < m_Mono.Grid.transform.childCount - 1); m_Mono.RightArrow.gameObject.SetActive(nearest > 0); //ScrollToPos((m_Mono.Grid.transform.childCount-1) - m_LastChecked); jigsawUnlocked = GameObject.Find("JiggsawEarned(Clone)"); if(jigsawUnlocked != null && jigsawUnlocked.transform.childCount != 0) { activateJigsawAnimation = true; m_Chapters[m_LastChecked].Mono.PlayButton.SetActive(false); } }
// Use this for initialization public override void Init() { // if(!m_Init) // { // try { // GameStateSaver.Instance.Load(); // } catch (System.Exception ex) { // Debug.LogError(ex.Message); // } // m_Init = true; // } if(lerpers.Count != 0) { CleanLerpers(); } GameObject go = GameObject.Instantiate(Resources.Load("Prefabs/States/ChapterSelect")) as GameObject; m_Mono = go.GetComponent<ChapterSelectMono>(); go.GetComponent<Canvas>().worldCamera = GameObject.Find("Main Camera").GetComponent<Camera>() as Camera; activateJigsawAnimation = false; animating = false; rewardAnimation = false; endSystemEffect = null; for (int i = 0; i < m_Chapters.Length; i++) { GameObject chapterGO = GameObject.Instantiate(Resources.Load("Prefabs/Chapter")) as GameObject; m_Chapters[i].Mono = chapterGO.GetComponent<ChapterIconMono>(); m_Chapters[i].Mono.transform.SetParent(m_Mono.Grid.transform); m_Chapters[i].Mono.transform.localScale = Vector2.one; //Adjusting images m_Chapters[i].Mono.ID = m_Chapters[i].LevelNumber; m_Chapters[i].Mono.Image.sprite = Resources.Load<Sprite>("PinballBackgrounds/" + m_Chapters[i].PictureName); m_Chapters[i].Mono.m_nextLvl_Image = Resources.Load<Sprite>("PinballBackgrounds/" + m_Chapters[i].nextLvlPictureName); m_Chapters[i].Mono.m_nextLvl_Image_small = Resources.Load<Sprite>("PinballBackgrounds/" + m_Chapters[i].nextLvlPictureName + "_small"); m_Chapters[i].Mono.Completed_Image.sprite = Resources.Load<Sprite>("PinballBackgrounds/" + m_Chapters[i].nextLvlPictureName); m_Chapters[i].Mono.Title.text = m_Chapters[i].Name; // //Adjusting title -- this was using for nice titles, but no time for producing all of them // if(m_Chapters[i].TitleImage != string.Empty) // { // m_Chapters[i].Mono.Title_Image.sprite = Resources.Load<Sprite>("ChapterSelect/" + m_Chapters[i].TitleImage); // m_Chapters[i].Mono.Title.enabled = false; // } // else { m_Chapters[i].Mono.Title.GetComponent<Text>().color = m_Chapters[i].TitleColor; } if(m_Chapters[i].UnLocked) { m_Chapters[i].Mono.PlayButton.GetComponent<Image>().sprite = m_Chapters[i].Mono.PlaySprite; m_Chapters[i].Mono.PlayButton.GetComponent<PlayButtonAnimator>().ActivePlay = true; } else { m_Chapters[i].Mono.PlayButton.GetComponent<Image>().sprite = m_Chapters[i].Mono.PlayLockedSprite; } if(m_Chapters[i].Completed) { m_Chapters[i].Mono.JigsawPieceRoot.SetActive(false); m_Chapters[i].Mono.Completed_Image.gameObject.SetActive(true); m_Chapters[i].Mono.PlayButton.SetActive(true); } else { m_Chapters[i].Mono.JigsawPieceRoot.SetActive(true); m_Chapters[i].Mono.Completed_Image.gameObject.SetActive(false); for (int j = 0; j < m_Chapters[i].JigsawPeicesUnlocked.Length; j++) { m_Chapters[i].Mono.JigsawPieces[j].transform.GetChild(0).GetComponent<Image>().sprite = m_Chapters[i].Mono.m_nextLvl_Image; Color temp = m_Chapters[i].Mono.JigsawPieces[j].transform.GetChild(0).GetComponent<Image>().color; temp.a = 0.4f; { if(m_Chapters[i].JigsawPeicesUnlocked[j] == 1.0f && !m_Chapters[i].JigsawPiecesToUnlock[j]) { //m_Chapters[i].Mono.JigsawPieces[j].SetActive(true); //m_Chapters[i].Mono.JigsawPieces[j].transform.GetChild(0).GetComponent<Image>().sprite = m_Chapters[i].Mono.m_nextLvl_Image; temp.a = 1.0f; } } m_Chapters[i].Mono.JigsawPieces[j].transform.GetChild(0).GetComponent<Image>().color = temp; } } } float preferred = m_Mono.Grid.cellSize.x * m_Chapters.Length; m_ContentRect = m_Mono.Grid.GetComponent<RectTransform>(); m_Intertia = m_Mono.ScrollRect.decelerationRate; m_Mono.ScrollRect.inertia = false; float gridSnap = getGridPosAt((m_Mono.Grid.transform.childCount-1) - m_LastChecked); m_ScrollTo = new Vector2(gridSnap, m_Mono.Grid.transform.localPosition.y); m_Mono.Grid.transform.localPosition = m_ScrollTo; int nearest = NearestChild(); m_Mono.LeftArrow.gameObject.SetActive(nearest < m_Mono.Grid.transform.childCount - 1); m_Mono.RightArrow.gameObject.SetActive(nearest > 0); //ScrollToPos((m_Mono.Grid.transform.childCount-1) - m_LastChecked); jigsawUnlocked = GameObject.Find("JiggsawEarned(Clone)"); if(jigsawUnlocked != null && jigsawUnlocked.transform.childCount != 0) { activateJigsawAnimation = true; m_Chapters[m_LastChecked].Mono.PlayButton.SetActive(false); } }