Exemplo n.º 1
0
    public void select()
    {
        selectedInstance = this;
        transform.SetAsLastSibling();
        MicrogameStage.microgameId = microgame.microgameId;

        nameText.text = TextHelper.getLocalizedText("microgame." + microgame.microgameId + ".igname", microgame.microgameId);
    }
Exemplo n.º 2
0
    void LateUpdate()
    {
        if (selectedInstance == this)   //Move towards/away from center when selected
        {
            if (GameMenu.shifting)
            {
                if (GameMenu.subMenu == GameMenu.SubMenu.PracticeSelect)    //Moving towards center
                {
                    var startWorldPosition = transform.parent.TransformPoint(initialLocalPosition);
                    var timeUntilCenter    = Mathf.Max(centerArrivalTime - Time.time, 0f);
                    var moveSpeed          = timeUntilCenter > 0f ?
                                             ((Vector2)(transform.position - centerPosition)).magnitude / timeUntilCenter
                        : 0f;
                    //transform.moveTowards2D(centerPosition, moveSpeed);
                    transform.position = Vector3.Lerp(centerPosition, startWorldPosition, timeUntilCenter / timeToCenter);
                    if (timeUntilCenter <= 0f)
                    {
                        transform.position = centerPosition;
                        GameMenu.shifting  = false;
                    }
                    transform.localScale = Vector3.Lerp(scaleAtCenter, initialScale, timeUntilCenter / timeToCenter);
                }
                else                                                        //Moving away from center
                {
                    var   startWorldPosition = transform.parent.TransformPoint(initialLocalPosition);
                    float moveSpeed          = ((Vector2)(startWorldPosition - centerPosition)).magnitude / timeToCenter;
                    if (transform.moveTowards2D(startWorldPosition, moveSpeed))
                    {
                        transform.position = startWorldPosition;
                        transform.SetSiblingIndex(initialSiblingIndex);
                        transform.localPosition = initialLocalPosition;
                        GameMenu.shifting       = false;
                        selectedInstance        = null;
                    }
                    transform.localScale = Vector3.Lerp(scaleAtCenter, initialScale,
                                                        ((Vector2)(transform.position - centerPosition)).magnitude
                                                        / ((Vector2)(startWorldPosition - centerPosition)).magnitude);
                }
            }
        }
        //else if (GameMenu.shifting) //Stay constant scale when shifting to/from practice menu
        //{
        //    float mult = 1f / transform.parent.localScale.x;
        //    transform.localScale = initialScale * mult;

        //    transform.localPosition = transform.parent.localScale.x <= .011f ? Vector3.zero : initialPosition;
        //}
        else
        {
            transform.localScale = initialScale;
        }

        menuButton.forceDisable = selectedInstance != null; //Disable if something is selected
    }
Exemplo n.º 3
0
    public void select()
    {
        selectedInstance = this;
        transform.SetAsLastSibling();
        MicrogameStage.microgameId = microgame.microgameId;

        nameText.text = TextHelper.getLocalizedText("microgame." + microgame.microgameId + ".igname", microgame.microgameId);
        for (int i = 0; i < creditsTexts.Length; i++)
        {
            string creditsString = creditsTexts[i].text;
            creditsString        = TextHelper.getLocalizedText(creditsKeys[i], creditsString);
            creditsString        = string.Format(creditsString, microgame.difficultyTraits[0].credits[i]);
            creditsTexts[i].text = creditsString;
        }
    }
Exemplo n.º 4
0
    public void select()
    {
        selectedInstance = this;
        rootMenu.shift((int)GameMenu.SubMenu.PracticeSelect);
        transform.SetAsLastSibling();
        MicrogameStage.microgameId = microgame.microgameId;
        centerArrivalTime          = Time.time + timeToCenter;

        nameText.text = TextHelper.getLocalizedText("microgame." + microgame.microgameId + ".igname", SpaceOutMicrogameId(microgame.microgameId));
        for (int i = 0; i < creditsTexts.Length; i++)
        {
            string creditsString = creditsTexts[i].text;
            creditsString        = TextHelper.getLocalizedText(creditsKeys[i], creditsString);
            creditsString        = string.Format(creditsString, microgame.difficultyTraits[0].credits[i]);
            creditsTexts[i].text = creditsString;
        }
    }
Exemplo n.º 5
0
    void Start()
    {
        selectedInstance = null;

        int microgameNumber = int.Parse(name.Split('(')[1].Split(')')[0]);
        var isBoss          = name.Contains("Boss");
        var microgamePool   = !isBoss ?
                              MenuPracticeMicrogameSpawner.standardMicrogamePool :
                              MenuPracticeMicrogameSpawner.microgameBossPool;

        if (microgameNumber >= microgamePool.Count)
        {
            gameObject.SetActive(false);
            return;
        }
        else
        {
            microgame = microgamePool[microgameNumber];
        }

        initialScale         = transform.localScale;
        initialLocalPosition = transform.localPosition;
        initialSiblingIndex  = transform.GetSiblingIndex();

        Sprite iconSprite = microgame.menuIcon;

        if (iconSprite != null)
        {
            icon.sprite = iconSprite;
        }

        if (isBoss)
        {
            outlineBack.color = outlineBackBossColor;
            outlineBack.transform.localScale = oulineBackBossScale;
        }

        var credits = microgame.difficultyTraits[0].credits;

        if (credits.Length < 3 || credits.FirstOrDefault(a => string.IsNullOrEmpty(a)) != null)
        {
            Debug.LogWarning($"Microgame {microgame.microgameId} is missing credits field(s)!");
        }
    }
Exemplo n.º 6
0
    void LateUpdate()
    {
        if (selectedInstance == this)   //Move towards/away from center when selected
        {
            if (GameMenu.shifting)
            {
                float moveSpeed = ((Vector2)initialPosition).magnitude / timeToCenter;
                if (GameMenu.subMenu == GameMenu.SubMenu.PracticeSelect)    //Moving towards center
                {
                    if (transform.moveTowardsLocal(Vector2.zero, moveSpeed))
                    {
                        //menuAnimator.SetBool("Shifting", false);
                        GameMenu.shifting = false;
                    }
                }
                else                                                        //Moving away from center
                {
                    if (transform.moveTowardsLocal(initialPosition, moveSpeed))
                    {
                        transform.SetSiblingIndex(initialSiblingIndex);
                        GameMenu.shifting = false;
                        selectedInstance  = null;
                    }
                }
                transform.localScale = Vector3.Lerp(scaleAtCenter, initialScale,
                                                    ((Vector2)transform.localPosition).magnitude / ((Vector2)initialPosition).magnitude);
            }
        }
        else if (GameMenu.shifting) //Stay constant scale when shifting to/from practice menu
        {
            float mult = 1f / transform.parent.localScale.x;
            transform.localScale = initialScale * mult;

            transform.localPosition = transform.parent.localScale.x <= .011f ? Vector3.zero : initialPosition;
        }
        else
        {
            transform.localScale = initialScale;
        }

        menuButton.forceDisable = selectedInstance != null; //Disable if something is selected
    }
Exemplo n.º 7
0
    void Start()
    {
        selectedInstance = null;
        if (microgamePool == null)
        {
            microgamePool = MicrogameHelper.getMicrogames(MicrogameTraits.Milestone.StageReady);
        }

        if (name.Contains("Boss"))
        {
            //TODO multiple boss microgame support
            microgame = MicrogameHelper.getMicrogames(MicrogameTraits.Milestone.StageReady, true)
                        .FirstOrDefault(a => a.difficultyTraits[0].isBossMicrogame());
        }
        else
        {
            int microgameNumber = int.Parse(name.Split('(')[1].Split(')')[0]);
            if (microgameNumber >= microgamePool.Count)
            {
                gameObject.SetActive(false);
                return;
            }
            else
            {
                microgame = microgamePool[microgameNumber];
            }
        }

        initialScale        = transform.localScale;
        initialPosition     = transform.localPosition;
        initialSiblingIndex = transform.GetSiblingIndex();

        Sprite iconSprite = microgame.menuIcon;

        if (iconSprite != null)
        {
            icon.sprite = iconSprite;
        }
    }
Exemplo n.º 8
0
    void Start()
    {
        selectedInstance = null;
        if (microgamePool == null)
        {
            microgamePool = GameController.instance.microgameCollection.getCollectionMicrogames(MicrogameCollection.Restriction.StageReady);
        }

        if (name.Contains("Boss"))
        {
            microgame = GameController.instance.microgameCollection.getCollectionBossMicrogames()[0];
        }
        else
        {
            int microgameNumber = int.Parse(name.Split('(')[1].Split(')')[0]);
            if (microgameNumber >= microgamePool.Count)
            {
                gameObject.SetActive(false);
                return;
            }
            else
            {
                microgame = microgamePool[microgameNumber];
            }
        }

        initialScale        = transform.localScale;
        initialPosition     = transform.localPosition;
        initialSiblingIndex = transform.GetSiblingIndex();

        Sprite iconSprite = microgame.menuIcon;

        if (iconSprite != null)
        {
            icon.sprite = iconSprite;
        }
    }