Пример #1
0
    /// <summary>
    /// 実績解除チェック
    /// </summary>
    public void CheckRelease()
    {
        // IDがnullなら処理を抜ける
        if (achievementIDs == null)
        {
            return;
        }

        // インスタンスを取得
        AchievementScriptableObject achievementData = AchievementScriptableObject.Instance;

        // 各実績が解除できる状態なら、解除する
        // 初ジャンプ
        if (playData.PlayCount == achievementData.GetFirstJumpNum() && !playData.AchievementStatus[(int)AchievementScriptableObject.AchievementType.FirstJump])
        {
            ReleaseAchievement(AchievementScriptableObject.AchievementType.FirstJump, achievementIDs[(int)AchievementScriptableObject.AchievementType.FirstJump], 100);
        }
        // 宇宙到達
        if (playData.GetNowScore() >= achievementData.GetReachedUniverseNum() && !playData.AchievementStatus[(int)AchievementScriptableObject.AchievementType.ReachedUniverse])
        {
            ReleaseAchievement(AchievementScriptableObject.AchievementType.ReachedUniverse, achievementIDs[(int)AchievementScriptableObject.AchievementType.ReachedUniverse], 100);
        }
        // 太陽系制覇
        if (playData.GetNowScore() >= achievementData.GetConqueredSolarSystemNum() && !playData.AchievementStatus[(int)AchievementScriptableObject.AchievementType.ConqueredSolarSystem])
        {
            ReleaseAchievement(AchievementScriptableObject.AchievementType.ConqueredSolarSystem, achievementIDs[(int)AchievementScriptableObject.AchievementType.ConqueredSolarSystem], 100);
        }
        // 15回ジャンプ
        if (playData.PlayCount == achievementData.GetJumpedFifteenNum() && !playData.AchievementStatus[(int)AchievementScriptableObject.AchievementType.JumpedFifteen])
        {
            ReleaseAchievement(AchievementScriptableObject.AchievementType.JumpedFifteen, achievementIDs[(int)AchievementScriptableObject.AchievementType.JumpedFifteen], 100);
        }
        // 30回ジャンプ
        if (playData.PlayCount == achievementData.GetJumpedThirtyNum() && !playData.AchievementStatus[(int)AchievementScriptableObject.AchievementType.JumpedThirty])
        {
            ReleaseAchievement(AchievementScriptableObject.AchievementType.JumpedThirty, achievementIDs[(int)AchievementScriptableObject.AchievementType.JumpedThirty], 100);
        }

        int haveItem = 0;                               // アイテム所持数

        bool[] isHaveItem = itemData.GetIsHasItem();    // アイテム所持フラグ
        for (int i = 0; i < isHaveItem.Length; i++)
        {
            // アイテムを所持しているなら所持数を加算
            if (isHaveItem[i])
            {
                haveItem++;
            }
        }
        // アイテムコンプリート
        if (haveItem == achievementData.GetItemCompleteNum() && !playData.AchievementStatus[(int)AchievementScriptableObject.AchievementType.ItemComplete])
        {
            ReleaseAchievement(AchievementScriptableObject.AchievementType.ItemComplete, achievementIDs[(int)AchievementScriptableObject.AchievementType.ItemComplete], 100);
        }
    }
Пример #2
0
    bool isEnd = false;                      // 処理終了フラグ

    /// <summary>
    /// 更新
    /// </summary>
    void Update()
    {
        // 処理終了フラグがtrueなら処理を抜ける
        if (isEnd)
        {
            return;
        }

        // スコアのカウントアップが終わったら
        if (scoreCountUp.IsEnd)
        {
            // スコアが指定した値を超えていれば
            if (playData.GetNowScore() > GoodScore)
            {
                // 喜ぶアニメーション再生
                animator.SetTrigger("Rejoice");

                // 位置調整用のアニメーション再生
                parentAnim.SetTrigger("PositionChange");

                // 歓声サウンドを再生する
                AudioPlayer.instance.PlaySe(AudioPlayer.SeType.Cheers);
            }
            else
            {
                // 悲しむアニメーション再生
                animator.SetTrigger("Sad");

                // チーンを再生する
                AudioPlayer.instance.PlaySe(AudioPlayer.SeType.Tin);
            }

            isEnd = true;
        }
    }
Пример #3
0
    PlayDataManager playDataManager = default;          //プレイデータ管理クラス

    /// <summary>
    /// 開始処理
    /// </summary>
    void Start()
    {
        // 今のスコアがハイスコアの7割以上だったら共有促しの吹き出し表示
        if (playDataManager.GetNowScore() >= playDataManager.HighScore * 0.7f && playDataManager.HighScore > 0)
        {
            // ローカライズされた言語が日本語なら
            if (localizeController.GetLanguageNum() == (int)LocalizeScriptableObject.LocalizeLanguage.Japanese)
            {
                speechBubble[0].SetActive(true);
            }
            // それ以外
            else
            {
                speechBubble[1].SetActive(true);
            }
        }
    }
Пример #4
0
    } = false;                                               // 処理終了フラグ

    /// <summary>
    /// オブジェクト起動時
    /// </summary>
    void OnEnable()
    {
        // 獲得スコアを取得
        getScore = playData.GetNowScore();

        // カウントアップ中のドラムロール音を再生
        AudioPlayer.instance.PlaySe(AudioPlayer.SeType.DramRoll);
    }