コード例 #1
0
    /// <summary>
    /// Start
    /// </summary>
    private void Start()
    {
        instance = this;

        //SharedSceneは破棄されないようにする
        DontDestroyOnLoad(this.gameObject);

        //シーン遷移アニメーションイベント登録
        SceneChanger.onShowSceneChangeAnimation = this.ShowSceneChangeAnimation;
        SceneChanger.onHideSceneChangeAnimation = this.HideSceneChangeAnimation;

#if UNITY_EDITOR
        if (EditorPrefs.HasKey(NEXT_SCENENAME_KEY))
        {
            //SharedSceneに来る前のシーンを開く(前のシーンもSharedSceneだったらスルー)
            string nextSceneName = EditorPrefs.GetString(NEXT_SCENENAME_KEY);
            if (nextSceneName != EditorSceneManager.GetActiveScene().name)
            {
                SceneChanger.ChangeSceneAsync(nextSceneName);
                return;
            }
        }
#endif

        //SharedSceneの次のシーンはTitle?に遷移
        SceneChanger.ChangeSceneAsync("Title");
    }
コード例 #2
0
    /// <summary>
    /// Start
    /// </summary>
    private void Start()
    {
        //SharedSceneは破棄されないようにする
        DontDestroyOnLoad(this.gameObject);

#if SHARK_PRODUCTION
        //製品版はログ出ないように
        Debug.unityLogger.logEnabled = false;
#endif

#if UNITY_EDITOR
        if (EditorPrefs.HasKey(NEXT_SCENENAME_KEY))
        {
            //SharedSceneに来る前のシーンを開く(前のシーンもSharedSceneだったらスルー)
            string nextSceneName = EditorPrefs.GetString(NEXT_SCENENAME_KEY);
            if (nextSceneName != EditorSceneManager.GetActiveScene().name)
            {
                //遷移先がタイトル以外の場合、オフラインユーザーを作っておく
                if (nextSceneName != "Title")
                {
                    var userData = new UserData();
                    var firstUserResponseData = JsonConvert.DeserializeObject <FirstApi.FirstUserResponseData>(this.offlineFirstUserResponceData.data);
                    userData.Set(firstUserResponseData);
                    UserData.Set(userData);
                }

                SceneChanger.ChangeSceneAsync(nextSceneName);
                return;
            }
        }
#endif

        //SharedSceneの次のシーンはTitle?に遷移
        SceneChanger.ChangeSceneAsync("Title");
    }
コード例 #3
0
ファイル: SceneBase.cs プロジェクト: musha-tetsuya/SHARK
 /// <summary>
 /// ジェムボタンクリック時
 /// </summary>
 public virtual void OnClickGemButton()
 {
     SceneChanger.ChangeSceneAsync("Shop", new ToShopSceneDataPack()
     {
         pageType = ShopScene.PageType.Gem
     });
 }
コード例 #4
0
        /// <summary>
        /// 挑戦するボタンクリック時
        /// </summary>
        public void OnClickPlayButton()
        {
            if (!this.scene.focusedWorldData.worldServerData.IsOpen())
            {
                Debug.LogWarning("空いてない");
                return;
            }

            //選択中ワールドのID
            uint worldId = this.scene.focusedWorldData.worldMasterData.id;

            var lobbyInfo = this.scene.lobbyInfos.FirstOrDefault(x => x.worldId == worldId);

            if (lobbyInfo == null)
            {
                Debug.LogWarningFormat("worldId={0}に一致するロビー情報が見つからない", worldId);
                return;
            }

            //マルチバトルシーンへ
            SceneChanger.ChangeSceneAsync("MultiBattle", new Battle.MultiBattleScene.SceneDataPack {
                lobyInfo = lobbyInfo,
                soulBall = this.scene.response.tMultiSoulBall.FirstOrDefault(x => x.worldId == worldId)
            });

            //Noneステートへ
            this.manager.ChangeState <NoneState>();
        }
コード例 #5
0
 /// <summary>
 /// 砲台決定ボタンクリック時
 /// </summary>
 public override void OnClickTurretDecideButton()
 {
     TurretApi.CallUseApi(this.focusedTurretData.settingNumber, () =>
     {
         SceneChanger.ChangeSceneAsync("Home");
     });
 }
コード例 #6
0
 /// <summary>
 /// ステージ選択画面へ
 /// </summary>
 private void ChangeSceneToSingleStageSelect()
 {
     SharedUI.Instance.DisableTouch();
     this.bgmTrack.Stop(0.5f, () =>
     {
         SharedUI.Instance.EnableTouch();
         SceneChanger.ChangeSceneAsync("SingleStageSelect");
     });
 }
コード例 #7
0
 /// <summary>
 /// ショップの遷移ボタンをクリック時
 /// </summary>
 public void OnTapShopButton()
 {
     if (!isMaxPossession)
     {
         SceneChanger.ChangeSceneAsync("Shop");
     }
     else
     {
         OpenPresentBoxOverDialog();
     }
 }
コード例 #8
0
 /// <summary>
 /// シングルの遷移ボタンをクリック時
 /// </summary>
 public void OnTapGameModeSingleButton()
 {
     if (!isMaxPossession)
     {
         SceneChanger.ChangeSceneAsync("SingleStageSelect");
     }
     else
     {
         OpenPresentBoxOverDialog();
     }
 }
コード例 #9
0
 /// <summary>
 /// マルチの遷移ボタンをクリック時
 /// </summary>
 public void OnTapGameModeMultiButton()
 {
     //プレゼントBoxの期限なしアイテムが上限以上の場合に、一部機能に遷移できないようにする
     if (!isMaxPossession)
     {
         SceneChanger.ChangeSceneAsync("MultiStageSelect");
     }
     else
     {
         OpenPresentBoxOverDialog();
     }
 }
コード例 #10
0
        /// <summary>
        /// 再接続確認ダイアログを開く
        /// </summary>
        protected void ShowReconnectConfirmDialog(string nextStateName)
        {
            //空ステートに退避
            this.manager.ChangeState <NoneState>();

            //再接続確認ダイアログ表示
            var dialog  = SharedUI.Instance.ShowSimpleDialog(true);
            var content = dialog.SetAsYesNoMessageDialog(Masters.LocalizeTextDB.Get("ConnectErrorMessage"));

            content.yesNo.yes.onClick = () =>
            {
                //接続ステートへ
                var state = this.manager.GetState <ConnectState>();
                state.nextStateName = nextStateName;
                dialog.onClose      = () => this.manager.ChangeState <ConnectState>();
                dialog.Close();
            };
            content.yesNo.no.onClick = () =>
            {
                //Homeへ戻る
                dialog.onClose = () => SceneChanger.ChangeSceneAsync("Home");
                dialog.Close();
            };
        }
コード例 #11
0
    /// <summary>
    /// ステージパネルクリック時
    /// </summary>
    private void OnClickStagePanel(SingleStagePanel stagePanel)
    {
        SoundManager.Instance.PlaySe(SeName.YES);

        if (stagePanel.isStory)
        {
            //TODO: ストーリーステージの場合の処理
            return;
        }

        //ダイアログ開く
        SingleStageChallengeConfirmDialogContent.Open(
            this.confirmDialogContent,
            stagePanel.master,
            (Rank)stagePanel.server.clearRank,
            (stageId) =>
        {
            //シングルバトルへ
            latestStageId = stageId;
            SceneChanger.ChangeSceneAsync("SingleBattle", new ToBattleSceneDataPack {
                stageId = stageId
            });
        });
    }
コード例 #12
0
 /// <summary>
 /// HOMEボタンクリック時
 /// </summary>
 public virtual void OnClickHomeButton()
 {
     SceneChanger.ChangeSceneAsync("Home");
 }
コード例 #13
0
 /// <summary>
 /// アイテムの遷移ボタンをクリック時
 /// </summary>
 public void OnTapInventoryButton()
 {
     SceneChanger.ChangeSceneAsync("ItemInventory");
 }
コード例 #14
0
 /// <summary>
 /// 砲台の遷移ボタンをクリック時
 /// </summary>
 public void OnTapCustomTurretButton()
 {
     SceneChanger.ChangeSceneAsync("CustomTurret");
 }
コード例 #15
0
 public void OnClickSNSButton()
 {
     SceneChanger.ChangeSceneAsync("Test_SNSLinkage");
 }
コード例 #16
0
    private void Login()
    {
        var queue = new Queue <Action>();

        //ユーザーデータがある
        if (UserData.Get().userId > 0)
        {
            //ログイン
            queue.Enqueue(() => LoginApi.CallLoginApi(
                              UserData.Get(),
                              queue.Dequeue()
                              ));
        }
        //ユーザーデータがない
        else
        {
            //ユーザーデータ作成
            queue.Enqueue(() => UserApi.CallCreateApi(
                              "GuestUser",
                              queue.Dequeue()
                              ));
        }

        //ユーザー情報取得
        queue.Enqueue(() => FirstApi.CallFirstUserApi(
                          UserData.Get(),
                          queue.Dequeue()
                          ));

        //マスター分割取得その1
        queue.Enqueue(() => MasterApi.CallGetMasterApi(
                          queue.Dequeue(),
                          Masters.LocalizeTextDB
                          ));

        // //マスター分割取得その2
        // queue.Enqueue(() => MasterApi.CallGetMasterApi(
        //     queue.Dequeue(),
        //     Masters.FishCategoryDB,
        //     Masters.FishParticleDB,
        //     Masters.GearDB,
        //     Masters.BattleItemDB,
        //     Masters.ItemSellDB,
        //     Masters.LevelDB,
        //     Masters.BetDB,
        //     Masters.LocalizeTextDB,
        //     Masters.LoginBonusDB,
        //     Masters.LoginBonusSpecialDB
        // ));

        // //マスター分割取得その3
        // queue.Enqueue(() => MasterApi.CallGetMasterApi(
        //     queue.Dequeue(),
        //     Masters.PartsExpansionDB,
        //     Masters.CannonExpansionDB,
        //     Masters.GearExpansionDB,
        //     Masters.MessageDB,
        //     Masters.MissionTypeDB,
        //     Masters.MissionRewardDB,
        //     Masters.MultiWorldDB,
        //     Masters.MultiBallDropRateDB,
        //     Masters.MultiSoulDropRateDB,
        //     Masters.MultiStageFishDB
        // ));

        // //マスター分割取得その4
        // queue.Enqueue(() => MasterApi.CallGetMasterApi(
        //     queue.Dequeue(),
        //     Masters.SerieseSkillDB,
        //     Masters.SingleStageDB,
        //     Masters.SingleStageFishDB,
        //     Masters.SingleStageFirstRewardDB,
        //     Masters.SingleStageRewardDB,
        //     Masters.SingleStageRewardLotDB,
        //     Masters.SingleWorldDB,
        //     Masters.SkillDB,
        //     Masters.SkillGroupDB,
        //     Masters.VipBenefitDB
        // ));

        // //マスター分割取得その5
        // queue.Enqueue(() => MasterApi.CallGetMasterApi(
        //     queue.Dequeue(),
        //     Masters.VipBenefitTypeDB,
        //     Masters.VipLevelDB,
        //     Masters.VipRewardDB
        // ));

        // //ローカライズアトラスセット
        // queue.Enqueue(() =>
        // {
        //     var handle = AssetManager.Load<SpriteAtlas>(LocalizeImage.GetLocalizationAtlasPath(), (asset) =>
        //     {
        //         var atlas = new AtlasSpriteCache(asset);
        //         GlobalSpriteAtlas.SetAtlas(GlobalSpriteAtlas.AtlasType.Localization, atlas);
        //         queue.Dequeue().Invoke();
        //     });

        //     handle.isDontDestroy = true;
        // });

        //HOMEシーンへ
        queue.Enqueue(() =>
                      SceneChanger.ChangeSceneAsync("Home")
                      );

        //Queue実行
        queue.Dequeue().Invoke();
    }
コード例 #17
0
 public void OnClickCoinTextButton()
 {
     SceneChanger.ChangeSceneAsync("NumberCounterTestScene");
 }
コード例 #18
0
    /// <summary>
    /// 挑戦するのクリック時
    /// </summary>
    private void OnClickChallengeButton(MissionContent content)
    {
        switch ((Master.MissionData.MainType)content.server.missionTypeId)
        {
        case Master.MissionData.MainType.SingleGetSter:
        case Master.MissionData.MainType.SingleTotalStageClear:
        case Master.MissionData.MainType.SingleSelectStageClear:
            //シングルのステージ選択に遷移
            if (!HomeScene.isMaxPossession)
            {
                this.nextSceneName = "SingleStageSelect";
                this.dataPack      = null;
                this.dialog.Close();

                if (!this.isBattle)
                {
                    this.dialog.onClose += () => SceneChanger.ChangeSceneAsync("SingleStageSelect");
                }
            }
            else
            {
                HomeScene.OpenPresentBoxOverDialog();
            }
            break;

        case Master.MissionData.MainType.MultiGetCoin:
        case Master.MissionData.MainType.MultiConsumCoin:
        case Master.MissionData.MainType.MultiConsumTotalItem:
        case Master.MissionData.MainType.MultiConsumSelectItem:
        case Master.MissionData.MainType.MultiCatchTotalFish:
        case Master.MissionData.MainType.MultiCatchSelectFish:
        case Master.MissionData.MainType.MultiGetRyugyoku:
        case Master.MissionData.MainType.MultiPlaySlot:
        case Master.MissionData.MainType.MultiGetJP:
        case Master.MissionData.MainType.MultiPlayFVAttack:
            //マルチのステージ選択に遷移
            if (!HomeScene.isMaxPossession)
            {
                this.nextSceneName = "MultiStageSelect";
                this.dataPack      = null;
                this.dialog.Close();

                if (!this.isBattle)
                {
                    this.dialog.onClose += () => SceneChanger.ChangeSceneAsync("MultiStageSelect");
                }
            }
            else
            {
                HomeScene.OpenPresentBoxOverDialog();
            }
            break;

        case Master.MissionData.MainType.DecompositionGear:
            this.nextSceneName = "ItemInventory";
            this.dataPack      = null;
            this.dialog.Close();

            if (!isBattle)
            {
                this.dialog.onClose += () => SceneChanger.ChangeSceneAsync("ItemInventory");
            }
            break;

        case Master.MissionData.MainType.ReachLevel:
        case Master.MissionData.MainType.LoginTotal:
        case Master.MissionData.MainType.LoginSelect:
        case Master.MissionData.MainType.LinkedAccount:
            //HOMEに遷移
            this.nextSceneName = "Home";
            this.dataPack      = null;
            this.dialog.Close();
            break;

        case Master.MissionData.MainType.GetTotalGear:
        case Master.MissionData.MainType.GetBatteryGear:
        case Master.MissionData.MainType.GetBarrelGear:
        case Master.MissionData.MainType.GetBulletGear:
        case Master.MissionData.MainType.GetTypesBattery:
            //ショップ(砲台関連のタブ)
            if (!HomeScene.isMaxPossession)
            {
                this.nextSceneName = "Shop";
                this.dataPack      = new ToShopSceneDataPack {
                    pageType = ShopScene.PageType.ToolGroup
                };
                this.dialog.Close();

                if (!this.isBattle)
                {
                    this.dialog.onClose += () => SceneChanger.ChangeSceneAsync("Shop", this.dataPack);
                }
            }
            else
            {
                HomeScene.OpenPresentBoxOverDialog();
            }
            break;

        case Master.MissionData.MainType.ReachVIPRank:
            //ショップ(ジェムのタブ)
            if (!HomeScene.isMaxPossession)
            {
                this.nextSceneName = "Shop";
                this.dataPack      = new ToShopSceneDataPack {
                    pageType = ShopScene.PageType.Gem
                };
                this.dialog.Close();

                if (!isBattle)
                {
                    this.dialog.onClose += () => SceneChanger.ChangeSceneAsync("Shop", this.dataPack);
                }
            }
            else
            {
                HomeScene.OpenPresentBoxOverDialog();
            }
            break;
        }
    }
コード例 #19
0
 public void OnClickButton()
 {
     SceneChanger.ChangeSceneAsync("Title");
 }