コード例 #1
0
    IEnumerator RandomSelectAnimation(int cycleCount, int[] travelList, int whichTheme)
    {
        var elapsed = 0;
        var xInc    = 234;
        var yInc    = -233.5f;

        var defaultX = -354.0f;
        var defaultY = 443.0f;

        animatedSelectedTheme.SetActive(true);

        if (whichTheme == 0)
        {
            lastSelectedTheme1.sprite = openThemeSprite;
        }
        else
        {
            lastSelectedTheme2.sprite = openThemeSprite;
        }

        while (elapsed < cycleCount)
        {
            animatedSelectedTheme.GetComponent <RectTransform>().position = new Vector2(
                Screen.width / 2 + defaultX + xInc * (travelList[elapsed] % 4),
                Screen.height / 2 + defaultY + yInc * (int)(travelList[elapsed] / 4)
                );
            yield return(new WaitForSeconds(.15f));

            elapsed++;
        }

        animatedSelectedTheme.SetActive(false);

        if (whichTheme == 0)
        {
            PlayerDataController.ChangeValueInList("theme1", "item" + (travelList[travelList.Length - 1] + 1), true);
            PlayerDataController.SaveData("gold", PlayerDataController.data.gold - PlayerDataController.data.inventory1RandomGoldPrice);
            ChangeTheme1(travelList[travelList.Length - 1]);
        }
        else
        {
            PlayerDataController.ChangeValueInList("theme2", "item" + (travelList[travelList.Length - 1] + 1), true);
            PlayerDataController.SaveData("gold", PlayerDataController.data.gold - PlayerDataController.data.inventory2RandomGoldPrice);
            ChangeTheme2(travelList[travelList.Length - 1]);
        }

        UpdateGoldText();
        StopCoroutine(randomSelectCoroutine);
    }