123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259 |
- using FairyGUI;
- using UnityEngine;
- using UI.CommonGame;
- using UI.Main;
- using UI.Common;
- namespace GFGGame
- {
- public class GameController
- {
- public static void Start()
- {
- LoginProxy.SayHi((LoginResult result) =>
- {
- CheckShowLoginView();
- });
- }
- private static void CheckShowLoginView()
- {
- LauncherView.Instance.Close();
- ViewManager.Show<LoginView>();
- }
- public static bool CheckLoginCache(bool doLogin)
- {
- string account = PlayerPrefs.GetString(GameConst.ACCOUNT_LAST_LOGIN_KEY, null);
- string password = PlayerPrefs.GetString(GameConst.PASSWORD_LAST_LOGIN_KEY, null);
- bool lastLoginIsVisitor = LocalCache.GetBool(GameConst.LAST_LOGIN_IS_VISITOR_KEY, false);
- if (lastLoginIsVisitor)
- {
- long id = (long)PlayerPrefs.GetFloat(GameConst.VISITOR_ID_KEY, -1);
- if (id >= 0)
- {
- if (doLogin)
- {
- LoginProxy.LoginAsVisitor();
- }
- return true;
- }
- }
- else if (account != null && account.Length > 0)
- {
- if (password != null && password.Length > 0)
- {
- if (doLogin)
- {
- LoginProxy.Login(account, password);
- }
- return true;
- }
- }
- return false;
- }
- public static void OnLoginSuccess(LoginResult result)
- {
- ViewManager.Hide<LoginInputView>();
- ViewManager.Hide<RegisterView>();
- if (GameGlobal.isOfflineVisitor)
- {
- GameProxy.ReqRoleInfo(GameGlobal.userId);
- }
- else
- {
- User user = result.user;
- GameGlobal.userId = user.id;
- GameGlobal.userAge = user.age;
- if (GameGlobal.isVisitor)
- {
- PlayerPrefs.SetFloat(GameConst.VISITOR_ID_KEY, GameGlobal.userId);
- }
- else
- {
- PlayerPrefs.SetString(GameConst.ACCOUNT_LAST_LOGIN_KEY, user.account);
- PlayerPrefs.SetString(GameConst.PASSWORD_LAST_LOGIN_KEY, user.password);
- }
- GameController.CheckSpecialAccount(user.account);
- LocalCache.SetBool(GameConst.LAST_LOGIN_IS_VISITOR_KEY, GameGlobal.isVisitor);
- PlayerPrefs.Save();
- GameProxy.ReqRoleInfo(GameGlobal.userId);
- }
- }
- public static void OnLoginFail(LoginResult result)
- {
- if (result.code == 107)
- {
- string promptStr = "您属于未成年人,已被纳入防沉迷系统。每日22时至次日8时,本游戏将无法为未成年人用户提供游戏服务。";
- Alert.Show(promptStr)
- .SetRightButton(true, "知道啦", (object data) =>
- {
- });
- }
- else
- {
- ViewManager.Show<LoginInputView>();
- }
- }
- public static void CheckSpecialAccount(string account)
- {
- GameGlobal.antiAddiction = !(account.IndexOf("sygfg") == 0);
- }
- public static void ShowCreateRole()
- {
- ViewManager.Show(ViewName.CREATE_ROLE_VIEW);
- Alert.Show("是否跳过引导?如果您是第一次体验,建议不要跳过引导!")
- .SetLeftButton(true, "不用")
- .SetRightButton(true, "跳过", (obj) =>
- {
- GameGlobal.skipGuide = true;
- });
- }
- public static void PreEnterGame(GameResult result)
- {
- RoleInfo roleInfo = null;
- GetSuitItemController.enable = false;
- DressUpMenuSuitDataManager.InitData();
- DressUpMenuItemDataManager.InitData();
- if (!GameGlobal.isOfflineVisitor)
- {
- roleInfo = result.roleInfo;
- bool rerult = AntiAddictionController.CheckAntiAddiction(roleInfo.onlineTimeSecs, roleInfo.onlineDurationSecs, roleInfo.onlineDurationSecsDay);
- if (rerult)
- {
- return;
- }
- ServerDataManager.SetServerTime(roleInfo.serverTime);
- RoleDataManager.InitServerData(roleInfo);
- ItemDataManager.InitServerData(result.roleItemList);
- CustomSuitDataManager.InitServerData(roleInfo.suitIndex, result.roleSuitList);
- StoryDataManager.InitServerData(roleInfo);
- GuideDataManager.InitServerData(result.roleGuideList);
- DressUpMenuSuitDataManager.InitServerData(result.systemSuitList);
- CardDataManager.InitServerData(result.roleCardList);
- }
- else
- {
- RoleDataManager.InitServerData(null);
- ItemDataManager.InitServerData(null);
- CustomSuitDataManager.InitServerData(0, null);
- StoryDataManager.InitServerData(null);
- GuideDataManager.InitServerData(null);
- DressUpMenuSuitDataManager.InitServerData(null);
- CardDataManager.InitServerData(null);
- }
- GetSuitItemController.enable = true;
- RoleDataHandler.StartUpdate();
- GFGUIPackage.AddPackage(ResPathUtil.GetUIPackagePath("CommonGame"));
- GFGUIPackage.AddPackage(ResPathUtil.GetUIPackagePath("Main"));
- if (GameGlobal.isOfflineVisitor)
- {
- Alert.Show("离线体验可以选择跳过引导并获取所有衣服。")
- .SetLeftButton(true, "跳过引导", (object data) =>
- {
- GameGlobal.skipGuide = true;
- GMController.GetAllDressUpItem();
- EnterGame();
- })
- .SetRightButton(true, "体验引导", (object data) =>
- {
- GameGlobal.skipGuide = false;
- EnterGame();
- });
- }
- else
- {
- if (RoleDataManager.lvl >= 50)
- {
- GameGlobal.skipGuide = true;
- }
- EnterGame();
- }
- }
- public static void QuitToLoginView(bool logout)
- {
- GetSuitItemController.enable = false;
- GameGlobal.isVisitor = false;
- GameGlobal.antiAddiction = true;
- GameGlobal.userId = 0;
- GameGlobal.userAge = 0;
- GameGlobal.skipGuide = false;
- RoleDataHandler.StopUpdate();
- CardDataManager.Clear();
- PhotographDataManager.Instance.Clear();
- if (logout)
- {
- Logout();
- }
- ViewManager.Hide(ViewName.ROLE_INFO_VIEW);
- ViewManager.Hide(ViewName.MAINUI_VIEW);
- ViewManager.Show<LoginView>();
- if (logout)
- {
- ViewManager.Show<LoginInputView>();
- }
- }
- //注销
- public static void Logout()
- {
- PlayerPrefs.DeleteKey(GameConst.PASSWORD_LAST_LOGIN_KEY);
- }
- public static void GoBackToMainView()
- {
- ViewManager.Show(ViewName.MAINUI_VIEW, null, null, true);
- }
- private static void EnterGame()
- {
- ViewManager.Hide<LoginView>();
- if (StoryDataManager.CheckOpenMainUI() || GameGlobal.skipGuide)
- {
- ViewManager.Show(ViewName.MAINUI_VIEW);
- }
- else
- {
- StoryDataManager.currentChapter = 1;
- if (!StoryDataManager.CheckLevelPass(1, 1))
- {
- StoryController.ShowLevelView(StoryDataManager.currentChapter, 1);
- }
- else
- {
- ViewManager.Show(ViewName.STORY_CHAPTER_VIEW, StoryDataManager.currentChapter, new object[] { ViewName.STORY_CHAPTER_LIST_VIEW });
- }
- }
- AfterEnterGame();
- }
- private static void AfterEnterGame()
- {
- GameProxy.ReqGetStoryScoreList();
- GameProxy.ReqGetStoryStarList();
- }
- public static void PrepareUpdateTreasure()
- {
- if (!Timers.inst.Exists(UpdateTreasure))
- {
- Timers.inst.Add(0.1f, 1, UpdateTreasure);
- }
- }
- private static void UpdateTreasure(object param)
- {
- GameProxy.ReqUpdateTreasure();
- }
- }
- }
|