예제 #1
0
 [SerializeField] SHELFSTATE State;      //状態
 // Start is called before the first frame update
 void Start()
 {
     State        = SHELFSTATE.WAIT;
     SelectNumber = 0;
     HalfSize     = SpriteSizeWidth / 2 + Margin / 2;
     IsHaveCheck  = false;
     MoveEndFlag  = false;
     InfoChild    = false;
 }
예제 #2
0
 //一つ戻す
 public void PushButton_Back()
 {
     //表示状態でカーテンが待機状態なら洗濯している服を変更
     if (State == SHELFSTATE.PREVIEW && curtain.state == CurtainAnime.STATE.WAIT)
     {
         SelectNumber -= 1;
         CheckSelectNum();
         State = SHELFSTATE.CHANGE;
     }
 }
예제 #3
0
 //===========================================================================================================
 //状態関連
 private void Wait()
 {
     //PlayFabのストアとカタログ情報が入手できればロード状態
     if (!connect.IsWait())
     {
         if (playfabstore.isCatalogGet && playfabstore.isStoreGet)
         {
             State = SHELFSTATE.LOAD;
         }
     }
 }
예제 #4
0
    //実績達成演出
    private void RewardRelease()
    {
        if (rewardrelease.GetState() == global::AchievementRewardRelease.REWARDRELEASE.CLOTHING_MOVE)
        {
            //服の移動が終了していなければ
            if (!rewardrelease.ClotingMoveEndFlag)
            {
                //移動が終了していなければ移動継続
                if (!MoveEndFlag)
                {
                    int value;
                    if (SpriteNumber.TryGetValue(rewardrelease.AchievementClotingName, out value))
                    {
                        SelectNumber = value;

                        //選択されている服を設定
                        if (selectclothing)
                        {
                            selectclothing.SetSelectItem(playfabstore.StoreItems[SelectNumber]);
                        }

                        //選択されている番号が配列外参照を起こさないかをチェック
                        CheckSelectNum();

                        //選択番号まで位置を変更
                        previewparent.ChangePosition(SelectNumber);

                        MoveEndFlag = true;
                    }
                }

                //一定時間経過で移動を終了
                if (DirectionTime > GetMoveTime())
                {
                    rewardrelease.FinishClotingMove();
                }
                else
                {
                    DirectionTime += Time.deltaTime;
                }
            }
        }

        //実績を達成した服の購入が終わったら変更状態に戻す
        if (!rewardrelease.AchievementFlag)
        {
            State         = SHELFSTATE.CHANGE;
            MoveEndFlag   = false;
            DirectionTime = 0.0f;
        }
        // 持っていない服の黒塗り処理
        FillBlack();
    }
예제 #5
0
    private void Preview()
    {
        //服開放実行
        if (rewardrelease.AchievementFlag && rewardrelease.GetState() == global::AchievementRewardRelease.REWARDRELEASE.CHECK)
        {
            State = SHELFSTATE.REWARDRELEASE;
        }

        //所持しているかを確認
        ChangeButtonAppearance();
        // 持っていない服の黒塗り処理
        FillBlack();
    }
예제 #6
0
 //プレイヤーがどの服を着ているか
 private void PlayerWearing()
 {
     if (!connect.IsWait())
     {
         if (playerdata.isGet)
         {
             UserDataRecord playerclothingdata = null;
             if (playerdata.data.TryGetValue(PlayerDataName.ECLOTHES, out playerclothingdata))
             {
                 SelectNumber = SpriteNumber[playerclothingdata.Value];
                 State        = SHELFSTATE.CHANGE;
             }
         }
     }
 }
예제 #7
0
    private void Change()
    {
        //配列外参照防止
        CheckSelectNum();

        //現在の選択番号
        previewparent.ChangePosition(SelectNumber);

        //選択されている服を設定
        if (selectclothing)
        {
            selectclothing.SetSelectItem(playfabstore.StoreItems[SelectNumber]);
        }

        //その服を持っているかどうかを確認
        CheckHavingCloting();

        State = SHELFSTATE.PREVIEW;

        // 持っていない服の黒塗り処理
        FillBlack();
    }