コード例 #1
0
    // 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);
        }
    }
コード例 #2
0
    // 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);
        }
    }