/// <summary> /// 更新玩家信息(游戏一开始/升级,根据等级获取 /// </summary> /// <param name="StartGame">是否刚开游戏或者复活完成</param> void UpdateInf(bool StartGameOrRebirth) { GameScoreSettingsIO gss = StageCtrl.gameScoreSettings; if (StartGameOrRebirth) { //累计值,直接回复到最大值 gss.GirlsVit[MahouShoujoId] = gss.mahouShoujos[MahouShoujoId].BasicVit + Grow(gss.mahouShoujos[MahouShoujoId].VitGrowth, gss.mahouShoujos[MahouShoujoId].VitGrowthLevelLimit, true); gss.GirlsVit[MahouShoujoId] = Mathf.Clamp(gss.GirlsVit[MahouShoujoId], 0, gss.mahouShoujos[MahouShoujoId].MaxVit); gss.GirlSoulLimit[MahouShoujoId] = gss.mahouShoujos[MahouShoujoId].BasicSoulLimit + gss.mahouShoujos[MahouShoujoId].SoulGrowth * (StageCtrl.gameScoreSettings.GirlsLevel[MahouShoujoId] - 1); gss.GirlsVit[MahouShoujoId] = Mathf.Clamp(gss.GirlsVit[MahouShoujoId], 0, gss.mahouShoujos[MahouShoujoId].MaxSoul); gss.GirlsPow[MahouShoujoId] = gss.mahouShoujos[MahouShoujoId].BasicPow + gss.mahouShoujos[MahouShoujoId].PowGrowth * (StageCtrl.gameScoreSettings.GirlsLevel[MahouShoujoId] - 1); gss.GirlsVit[MahouShoujoId] = Mathf.Clamp(gss.GirlsVit[MahouShoujoId], 0, gss.mahouShoujos[MahouShoujoId].MaxPow); } //因为每次升级都要调用,所以无需乘以等级 else { gss.GirlsVit[MahouShoujoId] = gss.GirlsVit[MahouShoujoId] + Grow(gss.mahouShoujos[MahouShoujoId].VitGrowth, gss.mahouShoujos[MahouShoujoId].VitGrowthLevelLimit, false); gss.GirlsVit[MahouShoujoId] = Mathf.Clamp(gss.GirlsVit[MahouShoujoId], 0, gss.mahouShoujos[MahouShoujoId].MaxVit); gss.GirlSoulLimit[MahouShoujoId] = gss.GirlSoulLimit[MahouShoujoId] + gss.mahouShoujos[MahouShoujoId].SoulGrowth; gss.GirlsVit[MahouShoujoId] = Mathf.Clamp(gss.GirlsVit[MahouShoujoId], 0, gss.mahouShoujos[MahouShoujoId].MaxSoul); gss.GirlsPow[MahouShoujoId] = gss.GirlsPow[MahouShoujoId] + gss.mahouShoujos[MahouShoujoId].PowGrowth; gss.GirlsVit[MahouShoujoId] = Mathf.Clamp(gss.GirlsVit[MahouShoujoId], 0, gss.mahouShoujos[MahouShoujoId].MaxPow); } }
IEnumerator AsyncLoading() { loadingText.text = "灵魂宝石诅咒含量:0%"; StatusText.text = "载入游戏设置与状态"; yield return(gameScoreSettings = (GameScoreSettingsIO)Resources.Load("GameScoreAndSettings")); //游戏还没通关 if (!gameScoreSettings.Success) { StatusText.text = "加载存档与设置"; gameScoreSettings.Load(); StatusText.text = "保存设置"; Timing.RunCoroutine(gameScoreSettings.SaveSettings()); } //通关(打完了瓦夜) else { StatusText.text = "保存存档与设置"; Timing.RunCoroutine(gameScoreSettings.SaveAll()); } StatusText.text = "垃圾回收(Beta)"; System.GC.Collect(); StatusText.text = "加载场景"; operation = SceneManager.LoadSceneAsync(Target); //阻止当加载完成自动切换 operation.allowSceneActivation = false; yield return(operation); }
private void Awake() { //组件获取 titleCtrl = this; gameScoreSettingsIO = Resources.Load("GameScoreAndSettings") as GameScoreSettingsIO; //版本 号 Version.text = string.Format(" v.{0} ", Application.version, gameScoreSettingsIO); }
/// <summary> /// 打包之前 /// </summary> /// <param name="report"></param> public void OnPreprocessBuild(BuildReport report) { //发包前全部初始化 GameScoreSettingsIO gss = (GameScoreSettingsIO)Resources.Load("GameScoreAndSettings"); gss.AllInitial(); Debug.Log("初始化完成"); //自动增加内部版本号,防止遗忘 PlayerSettings.Android.bundleVersionCode++; }
/* * 弄这个场景和这个脚本算是有点妥协的意思了。。。 * 屑DontDestroyOnLoad毛病太多 */ private void Start() { //在这里启动游戏说明是要完整测试,所以全部初始化gss以防意外的调试参数造成不必要的麻烦 GameScoreSettingsIO gss = (GameScoreSettingsIO)Resources.Load("GameScoreAndSettings"); //使刚进入游戏一定显示标题画面,顺便初始化(title那里) gss.MajoSceneToTitle = false; LoadingCtrl.LoadScene(1, true); }
void Start() { gameScoreSettings = (GameScoreSettingsIO)Resources.Load("GameScoreAndSettings"); //存档 StartCoroutine(GetText()); //背景图与BGM SetConcImageAndBGM(); gameScoreSettings.MajoSceneToTitle = false; }
private void Awake() { stageCtrl = this; MajoDefeated.RemoveAllListeners(); AllGirlsInGameDie.RemoveAllListeners(); gameScoreSettings = (GameScoreSettingsIO)Resources.Load("GameScoreAndSettings"); #if UNITY_EDITOR //检查是否存在BGMCtrl if (GameObject.FindObjectOfType <EasyBGMCtrl>() == null) { EasyBGMCtrl easyBGMCtrl = Instantiate(PerfebInAsset).GetComponent <EasyBGMCtrl>(); easyBGMCtrl.IsClone = true; } #endif }