| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 | using FairyGUI;using UnityEngine;using ET;using System.Threading.Tasks;namespace GFGGame{    public class GameController    {        public static async ET.ETTask Start()        {            await LoginController.CheckVersion();            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 (!string.IsNullOrEmpty(account))            {                if (!string.IsNullOrEmpty(password))                {                    if (doLogin)                    {                        LoginController.Login(account, password, true).Coroutine();                    }                    return true;                }                else if (LauncherConfig.netType == LauncherConfig.EnumNetType.LOCAL && PlayerPrefs.HasKey(GameConst.PASSWORD_LAST_LOGIN_KEY))                {                    if (doLogin)                    {                        LoginController.LoginTest(account).Coroutine();                    }                    return true;                }            }            return false;        }        public static void CheckSpecialAccount(string account)        {            GameGlobal.antiAddiction = !(account.IndexOf("sygfg") == 0);        }        public static void ShowCreateRole()        {            ViewManager.Show(ViewName.CREATE_ROLE_VIEW);        }        public static async Task PreEnterGameAsync()        {            //RoleInfo roleInfo = null;            GetSuitItemController.enable = false;            //roleInfo = result.roleInfo;            //bool rerult = AntiAddictionController.CheckAntiAddiction(roleInfo.onlineTimeSecs, roleInfo.onlineDurationSecs, roleInfo.onlineDurationSecsDay);            //if (rerult)            //{            //    return;            //}            //ServerDataManager.SetServerTime(roleInfo.serverTime);            RoleDataManager.InitServerData();            //ItemDataManager.InitServerData(result.roleItemList);            //CustomSuitDataManager.InitServerData(roleInfo.suitIndex, result.roleSuitList);            //StoryDataManager.InitServerData(roleInfo);            //GuideDataManager.InitServerData(result.roleGuideList);            //CardDataManager.InitServerData(result.roleCardList);            //SkillDataManager.Instance.InitServerData(result.roleSkillList);            //SkillDataManager.Instance.SetDicPassivitySkillCfg();            GetSuitItemController.enable = true;            RoleDataHandler.StartUpdate();            GFGUIPackage.AddPackage(ResPathUtil.GetUIPackagePath("CommonGame"));            GFGUIPackage.AddPackage(ResPathUtil.GetUIPackagePath("Main"));            InstanceZonesSProxy.GetInstanceZonesInfos().Coroutine();            await StorageSProxy.ReqGetClientValues();            int skipGuide = StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_SKIP_GUIDE);            if (skipGuide <= 0)            {                Alert.Show("是否跳过引导?如果您是第一次体验,建议不要跳过引导!")                           .SetLeftButton(true, "不用", (obj) =>                           {                               EnterGame();                               StorageSProxy.ReqSetClientValue(ConstStorageId.STORAGE_SKIP_GUIDE, 1).Coroutine();                           })                           .SetRightButton(true, "跳过", (obj) =>                           {                               GameGlobal.skipGuide = true;                               EnterGame();                               StorageSProxy.ReqSetClientValue(ConstStorageId.STORAGE_SKIP_GUIDE, 2).Coroutine();                           });            }            else            {                if (skipGuide == 2) 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();            DecomposeDataManager.Instance.Clear();            PhotographDataManager.Instance.Clear();            SkillDataManager.Instance.Clear();            SuitFosterDataManager.Instance.Clear();            StudioDataManager.Instance.Clear();            StorageDataManager.Instance.Clear();            RechargeDataManager.Instance.Clear();            GameGlobal.zoneScene.GetComponent<SessionComponent>()?.Disconnect();            GameGlobal.zoneScene.GetComponent<ServerInfosComponent>()?.ServerInfoList?.Clear();            if (logout)            {                Logout();            }            ViewManager.Show<LoginView>(null, null, true);            if (logout)            {                ViewManager.Show<LoginInputView>();            }            LoginController.Logout();        }        //注销        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>();            GameGlobal.isEnterGame = true;            if (MainStoryDataManager.CheckOpenMainUI() || GameGlobal.skipGuide)            {                ViewManager.Show(ViewName.MAINUI_VIEW);            }            else            {                MainStoryDataManager.currentChapterCfgId = 10001;                if (GameGlobal.isFirstEntry == true)                {                    // ViewManager.Show(ViewName.STORY_CHAPTER_VIEW, StoryDataManager.currentChapter, new object[] { ViewName.STORY_CHAPTER_LIST_VIEW, });                    StoryController.ShowPriorStoryDialog();                }                else                {                    ViewManager.Show(ViewName.STORY_CHAPTER_VIEW, MainStoryDataManager.currentChapterCfgId, new object[] { ViewName.STORY_CHAPTER_LIST_VIEW });                }            }            Timers.inst.CallLater(AfterEnterGame);        }        private static async void AfterEnterGame(object param)        {            //GameProxy.ReqGetStoryScoreList();            //GameProxy.ReqGetStoryStarList();            ItemHelper.GetItemAttributeInfos().Coroutine();            SuitFosterProxy.SendGetSuitInfos().Coroutine();            MainStorySProxy.GetStoryInfos().Coroutine();            CardSProxy.GetCardInfos().Coroutine();            RechargeSProxy.ReqRechargeInfo().Coroutine();            RechargeSProxy.ReqRequestGiftBagInfo().Coroutine();            RechargeSProxy.ReqExchangeInfo().Coroutine();            DailyTaskSProxy.ReqDailyTaskInfos().Coroutine();            ActivitySProxy.ReqDailyLoginInfos().Coroutine();            NoticeSProxy.ReqSystemNoticeList().Coroutine();            EquipDataCache.cacher.autoPlay = StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_AUTO_PLAY) <= 0 ? false : true;            EquipDataCache.cacher.fightSpeed = StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_AUTO_PLAY_SPEED) <= 1 ? 1 : StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_AUTO_PLAY_SPEED);            GameGlobal.skipCheckOpen = StorageDataManager.Instance.GetStorageValue(ConstStorageId.SKIP_CHECK_OPEN) <= 0 ? false : true;            bool result = await FieldSProxy.ReqFieldInstanceInfos();            if (result && FieldDataManager.Instance.fieldInfos.hasBonus)            {                bool result1 = await FieldSProxy.ReqFieldInstanceResult();                if (result1)                {                    ViewManager.Show<FieldFightEndView>();                }            }        }    }}
 |