Beispiel #1
0
    public void Init(int _id, UISaveLoad _uisaveload, SESystem _sesystem)
    {
        id         = _id;
        uisaveload = _uisaveload;
        sesystem   = _sesystem;
        Button button = GetComponent <Button>();

        button.onClick.AddListener(() => ChangeData());
        GetComponentInChildren <Text>().text = "セーブ" + (id + 1);
    }
Beispiel #2
0
        public static bool ConfirmSaveLoadPatch_pagination(ref CtrlSaveLoad __instance)
        {
            Heluo.Logger.LogError("ConfirmSaveLoadPatch_pagination start");
            UISaveLoad view = Traverse.Create(__instance).Field("view").GetValue <UISaveLoad>();

            int saveIndex = Traverse.Create(__instance).Field("saveIndex").GetValue <int>();
            //获取存读档文件时需要转换成真实index
            int trueSaveIndex = saveIndex;

            if (pagination.Value)
            {
                trueSaveIndex += (currentPage - 1) * countPerPage.Value;
            }
            //存档
            if (__instance.isSave)
            {
                string filename = string.Format("PathOfWuxia_{0:00}.{1}", trueSaveIndex, "save");
                view.HideBlur();
                Game.SaveAsync(filename, new Action(__instance.OnSaveFinish));
                view.ShowBlur();
                Heluo.Logger.LogError("ConfirmSaveLoadPatch_pagination end");
                return(false);
            }
            Game.UI.HideTeamMemeberUI();
            Game.UI.Open <UILoading>();
            int categoryIndex = Traverse.Create(__instance).Field("categoryIndex").GetValue <int>();

            //读档
            if (categoryIndex == 0)
            {
                List <PathOfWuxiaSaveHeader> saves = Traverse.Create(__instance).Field("saves").GetValue <List <PathOfWuxiaSaveHeader> >();
                if (!saves[saveIndex].HasData)
                {
                    return(false);
                }
                Game.LoadAsync(string.Format("PathOfWuxia_{0:00}.{1}", trueSaveIndex, "save"), null);
                view.Hide();
                Heluo.Logger.LogError("ConfirmSaveLoadPatch_pagination end");
                return(false);
            }
            //读自动存档
            else
            {
                List <PathOfWuxiaSaveHeader> autosaves = Traverse.Create(__instance).Field("autosaves").GetValue <List <PathOfWuxiaSaveHeader> >();
                if (!autosaves[saveIndex].HasData)
                {
                    return(false);
                }
                Game.LoadAsync(string.Format("PathOfWuxia_{0:00}.{1}", trueSaveIndex, "autosave"), null);
                view.Hide();
                Heluo.Logger.LogError("ConfirmSaveLoadPatch_pagination end");
                return(false);
            }
        }
    public void SetItem(int Index, Texture tex, string area, string playTime
                        , string gameTime, string saveTime, UISaveLoad parent)
    {
        mIndex = Index;
        if (mIndex == -1)
        {
            mCountLabel.text = "Auto";
        }
        else
        {
            mCountLabel.text = Index.ToString();
        }

        mMapTex.mainTexture = tex;
        mAreaLabel.text     = area;
        mPlayTimeLabel.text = playTime;
        mGameTimeLabel.text = gameTime;
        mSaveTimeLabel.text = saveTime;
    }
Beispiel #4
0
        public static void showPatch_pagination(ref UISaveLoad __instance)
        {
            Heluo.Logger.LogError("showPatch_pagination start");
            //创建主挂载对象,这个对象是不会删除的
            GameObject  obj;
            WGTabScroll saveload = Traverse.Create(__instance).Field("saveload").GetValue <WGTabScroll>();
            var         trans    = saveload.transform.Find("pageBar");

            if (trans == null)
            {
                GameObject pageBar = new GameObject("pageBar");
                Image      bg      = pageBar.AddComponent <Image>();
                bg.sprite = Game.Resource.Load <Sprite>("Image/UI/UICharacter/Info_HotKey_bg.png");

                HorizontalLayoutGroup layout = pageBar.AddComponent <HorizontalLayoutGroup>();
                layout.childControlHeight     = true;
                layout.childControlWidth      = true;
                layout.childForceExpandHeight = true;
                layout.childForceExpandWidth  = true;

                pageBar.transform.SetParent(saveload.transform, false);
                pageBar.transform.position = new Vector3(pageBar.transform.position.x, pageBar.transform.position.y - Screen.height / 2 + 50, 0);
                pageBar.GetComponent <RectTransform>().sizeDelta = new Vector2(Screen.width, 100);

                //controller:刷新用
                CtrlSaveLoad controller = Traverse.Create(__instance).Field("controller").GetValue <CtrlSaveLoad>();
                obj = createPageBar(pageBar, controller);
            }
            else
            {
                obj = trans.gameObject;
            }
            if (pagination.Value)
            {
                obj.SetActive(true);
            }
            else
            {
                obj.SetActive(false);
            }
            Heluo.Logger.LogError("showPatch_pagination end");
        }
Beispiel #5
0
    void Awake()
    {
        mInstance        = this;
        mIndex           = 0;
        mSaveTex.enabled = false;
        mAutoTex         = Resources.Load("Texture2d/Tex/AutoSave") as Texture2D;

        mDataList = new List <SaveDateItem_N>();

        int total = AutoSaveNum + CustomDataNum;

        for (int i = 0; i < total; i++)
        {
            SaveDateItem_N addItem = Instantiate(mDataPrefab) as SaveDateItem_N;
            addItem.transform.parent        = mDataGrid.transform;
            addItem.transform.localScale    = Vector3.one;
            addItem.transform.localPosition = Vector3.back;

            if (i < AutoSaveNum)
            {
                addItem.mIndexTex.text = "Auto" + (i + 1);
            }
            else
            {
                addItem.mIndexTex.text = (i - AutoSaveNum + 1).ToString();
            }

            addItem.mCheckbox.radioButtonRoot = mDataGrid.transform;

            addItem.Init(i, delegate(int index, Pathea.PeGameSummary summary)
            {
                mIndex = index;
                ChangeArvhive(summary);
            });

            mDataList.Add(addItem);
        }
        mDataGrid.Reposition();
    }
Beispiel #6
0
        //页码按钮事件
        public static void pageClick(GameObject pageBar, CtrlSaveLoad controller, int page)
        {
            Heluo.Logger.LogError("pageClick start");
            //获得当前页码
            if (page < 1)
            {
                page = 1;
            }
            if (page > totalPage)
            {
                page = totalPage;
            }
            Text[] texts = pageBar.GetComponentsInChildren <Text>();
            for (int i = 0; i < texts.Length; i++)
            {
                Text text = texts[i];

                if (text.text.Equals(page + ""))
                {
                    currentPage = page;
                    break;
                }
            }
            //每次点击都重新创建分页栏
            createPageBar(pageBar, controller);

            //然后更新saves和autosaves
            Traverse.Create(controller).Field("saves").SetValue(Game.Platform.ListSaveHeaderFile(GameSaveType.Manual));
            Traverse.Create(controller).Field("autosaves").SetValue(Game.Platform.ListSaveHeaderFile(GameSaveType.Auto));

            //刷新页面
            UISaveLoad view = Traverse.Create(controller).Field("view").GetValue <UISaveLoad>();

            view.UpdateSaveLoad(countPerPage.Value, true, true);

            Heluo.Logger.LogError("pageClick end");
        }
Beispiel #7
0
        public static void UpdateSaveLoadPatch_jumpToLatestSave(ref CtrlSaveLoad __instance)
        {
            Heluo.Logger.LogError("UpdateSaveLoadPatch_jumpToLatestSave start");
            //每次进来先置1,防止中途关闭分页功能后仍然停留在后续页面
            currentPage = 1;
            if (jumpToLatestSave.Value)
            {
                //判断是存档还是自动存档
                int categoryIndex = Traverse.Create(__instance).Field("categoryIndex").GetValue <int>();

                //先暂时取消分页,获取所有存档,以找到最新的一条,然后恢复
                bool paginationTemp = pagination.Value;
                pagination.Value = false;
                List <PathOfWuxiaSaveHeader> saves;
                if (categoryIndex == 0)
                {
                    saves = Game.Platform.ListSaveHeaderFile(GameSaveType.Manual);
                }
                else
                {
                    saves = Game.Platform.ListSaveHeaderFile(GameSaveType.Auto);
                }
                pagination.Value = paginationTemp;

                //获取最新存档的index
                int      num      = -1;
                DateTime saveTime = new DateTime(100L);

                for (int i = 0; i < saves.Count; i++)
                {
                    PathOfWuxiaSaveHeader pathOfWuxiaSaveHeader = saves[i];
                    if (!pathOfWuxiaSaveHeader.HasData)
                    {
                        continue;
                    }
                    if (DateTime.Compare(pathOfWuxiaSaveHeader.SaveTime, saveTime) > 0)
                    {
                        num      = i;
                        saveTime = pathOfWuxiaSaveHeader.SaveTime;
                    }
                }
                int currentIndex = num;
                int totalIndex   = saveCount.Value;

                //重新给saves和autosaves赋值
                if (pagination.Value)
                {
                    currentPage = (num / countPerPage.Value) + 1;

                    //如果是最后一页,有可能出现存档数不足一页的情况,所以以总数量-前面几页的数量计算
                    if (currentPage == totalPage)
                    {
                        totalIndex = saveCount.Value - (currentPage - 1) * countPerPage.Value;
                    }
                    else
                    {
                        totalIndex = countPerPage.Value;
                    }

                    currentIndex = num % countPerPage.Value;
                }
                Traverse.Create(__instance).Field("saves").SetValue(Game.Platform.ListSaveHeaderFile(GameSaveType.Manual));
                Traverse.Create(__instance).Field("autosaves").SetValue(Game.Platform.ListSaveHeaderFile(GameSaveType.Auto));

                //更新界面
                UISaveLoad view = Traverse.Create(__instance).Field("view").GetValue <UISaveLoad>();
                view.UpdateSaveLoad(totalIndex, true, true);

                //更新分页栏
                WGTabScroll saveload = Traverse.Create(view).Field("saveload").GetValue <WGTabScroll>();
                GameObject  pageBar  = saveload.transform.Find("pageBar").gameObject;
                createPageBar(pageBar, __instance);

                //更新滚动条位置
                WGInfiniteScroll loopScroll = Traverse.Create(saveload).Field("loopScroll").GetValue <WGInfiniteScroll>();
                ScrollRect       scrollRect = Traverse.Create(loopScroll).Field("scrollRect").GetValue <ScrollRect>();
                scrollRect.verticalScrollbar.value = ((float)(totalIndex - currentIndex - 1)) / (totalIndex - 1);              //滑动条是反的,不知道为什么
            }
            Heluo.Logger.LogError("UpdateSaveLoadPatch_jumpToLatestSave end");
        }
Beispiel #8
0
    // add game ui
    void InstantiateGameUI()
    {
        // gameMain
        GameObject gameUI = AddUIPrefab(GameMainPrefab, gameObject.transform);

        mUIGameMenuCtrl = gameUI.GetComponentsInChildren <UIGameMenuCtrl>(true)[0];
        mUIGameMenuCtrl.Show();
        mUIMainMidCtrl = gameUI.GetComponentsInChildren <UIMainMidCtrl>(true)[0];
        mUIMainMidCtrl.Show();
        mUIMinMapCtrl = gameUI.GetComponentsInChildren <UIMinMapCtrl>(true)[0];
        mUIMinMapCtrl.Show();
        mNPCTalk = gameUI.GetComponentsInChildren <UINPCTalk>(true)[0];
        mNPCTalk.Hide();
        mNPCSpeech   = gameUI.GetComponentInChildren <UINpcSpeech>();
        mServantTalk = gameUI.GetComponentsInChildren <UIServantTalk>(true)[0];
        mServantTalk.Hide();
        gameUI.SetActive(true);

        //UI System
        gameUI                = AddUIPrefab(SytemPrefab, gameObject.transform);
        mSystemMenu           = gameUI.GetComponentInChildren <UISystemMenu>();
        mSystemMenu.e_OnShow += OnSystemWndShow;
        mSystemMenu.e_OnHide += OnSystemWndHide;
        mOption               = gameUI.GetComponentInChildren <UIOption>();
        mOption.e_OnShow     += OnSystemWndShow;
        mOption.e_OnHide     += OnSystemWndHide;
        mSaveLoad             = gameUI.GetComponentInChildren <UISaveLoad>();
        mSaveLoad.e_OnShow   += OnSystemWndShow;
        mSaveLoad.e_OnHide   += OnSystemWndHide;
        gameUI.SetActive(true);

        //Map
        gameUI      = AddUIPrefab(worldMapPrefab, gameObject.transform);
        mUIWorldMap = gameUI.GetComponent <UIWorldMapCtrl>();
        gameUI.SetActive(false);

        // UI Build
        gameUI      = AddUIPrefab(buildPrefab, gameObject.transform);
        mBuildBlock = gameUI.GetComponent <UIBuildBlock>();
        gameUI.SetActive(false);

        // Tip end
        gameUI    = AddUIPrefab(tipsWmdPrefab, gameObject.transform);
        mTipsCtrl = gameUI.GetComponent <UITips>();
        gameUI.SetActive(true);

        // TipRecords
        gameUI         = AddUIPrefab(tipRecordsMgrPrefab, gameObject.transform);
        mTipRecordsMgr = gameUI.GetComponent <UITipRecordsMgr>();
        gameUI.SetActive(false);

        //wnd
        // player info
        gameUI            = AddUIPrefab(playerInfoPrefab, tsCenter);
        mUIPlayerInfoCtrl = gameUI.GetComponent <UIPlayerInfoCtrl>();
        gameUI.transform.localPosition = UIDefaultPostion.Instance.pos_PlayerInfo;
        gameUI.SetActive(false);
        mUIPlayerInfoCtrl.transform.localPosition = UIDefaultPostion.Instance.pos_PlayerInfo;
        // Item Package
        gameUI           = AddUIPrefab(ItemPackagePrefab, tsCenter);
        mItemPackageCtrl = gameUI.GetComponent <UIItemPackageCtrl>();
        gameUI.SetActive(false);
        mItemPackageCtrl.transform.localPosition = UIDefaultPostion.Instance.pos_ItemPackge;
        // Npc Strage
        gameUI         = AddUIPrefab(npcStoragePrefab, tsCenter);
        mNpcStrageCtrl = gameUI.GetComponent <UINpcStorageCtrl>();
        gameUI.SetActive(false);
        mNpcStrageCtrl.transform.localPosition = UIDefaultPostion.Instance.pos_NpcStorage;
        // Compound Wnd
        gameUI           = AddUIPrefab(compoundWndPrefab, tsCenter);
        mCompoundWndCtrl = gameUI.GetComponent <UICompoundWndControl>();
        gameUI.SetActive(false);
        mCompoundWndCtrl.transform.localPosition = UIDefaultPostion.Instance.pos_Compound;
        // Servant Wnd
        gameUI          = AddUIPrefab(servantWndPrefab, tsCenter);
        mServantWndCtrl = gameUI.GetComponent <UIServantWnd>();
        gameUI.SetActive(false);
        mServantWndCtrl.transform.localPosition = UIDefaultPostion.Instance.pos_Servant;
        // Npc
        gameUI  = AddUIPrefab(npcGuiPrefab, tsCenter);
        mNpcWnd = gameUI.GetComponent <UINpcWnd>();
        gameUI.SetActive(false);
        mNpcWnd.transform.localPosition = UIDefaultPostion.Instance.pos_Npc;
        // Mission Wnd
        gameUI            = AddUIPrefab(missionWndPrefab, tsCenter);
        mUIMissionWndCtrl = gameUI.GetComponent <UIMissionWndCtrl>();
        gameUI.SetActive(false);
        // MissionTrack Wnd
        gameUI           = AddUIPrefab(missionTrackWndPrefab, tsCenterOther);
        mMissionTrackWnd = gameUI.GetComponent <UIMissionTrackCtrl>();
        mMissionTrackWnd.transform.localPosition = UIDefaultPostion.Instance.pos_MissionTruck;
        //		mMissionTrackWnd.transform.localPosition = new Vector3 (856,162,0);
        mMissionTrackWnd.transform.localPosition = new Vector3(Screen.width / 2 - 145, 35, 0);
        gameUI.SetActive(false);

        // Get Item Wnd
        gameUI   = AddUIPrefab(itemGetWndPrefab, tsCenter);
        mItemGet = gameUI.GetComponent <UIItemGet>();
        gameUI.SetActive(false);
        // Item Option Wnd
        gameUI  = AddUIPrefab(itemOpGuiPrefab, tsCenter);
        mItemOp = gameUI.GetComponent <UIItemOp>();
        gameUI.SetActive(false);
        // Shop Wnd
        gameUI   = AddUIPrefab(shopGuiPrefab, tsCenter);
        mShopWnd = gameUI.GetComponent <UIShopWnd>();
        gameUI.SetActive(false);
        mShopWnd.transform.localPosition = UIDefaultPostion.Instance.pos_Shop;
        // Item Box
        gameUI   = AddUIPrefab(itemBoxGuiPrefab, tsCenter);
        mItemBox = gameUI.GetComponent <UIItemBox>();
        gameUI.SetActive(false);
        // Repair Wnd
        gameUI  = AddUIPrefab(repairWndGuiPrefab, tsCenter);
        mRepair = gameUI.GetComponent <UIRepairWnd>();
        gameUI.SetActive(false);
        mRepair.transform.localPosition = UIDefaultPostion.Instance.pos_Repair;
        // Power Plant Solar Wnd
        gameUI           = AddUIPrefab(powerPlantSolarPrefab, tsCenter);
        mPowerPlantSolar = gameUI.GetComponent <UIPowerPlantSolar>();
        gameUI.SetActive(false);
        mPowerPlantSolar.transform.localPosition = UIDefaultPostion.Instance.pos_PowerPlant;
        // Revive Gui Wnd
        gameUI  = AddUIPrefab(reviveGuiPrefab, tsCenter);
        mRevive = gameUI.GetComponent <UIRevive>();
        gameUI.SetActive(false);
        // Ware House Wnd
        gameUI     = AddUIPrefab(wareHouseGuiPrefab, tsCenter);
        mWarehouse = gameUI.GetComponent <UIWarehouse>();
        gameUI.SetActive(false);
        mWarehouse.transform.localPosition = UIDefaultPostion.Instance.pos_WareHouse;
        //colony Wnd
        gameUI            = AddUIPrefab(colonyWndPrefab, tsCenter);
        mCSUI_MainWndCtrl = gameUI.GetComponent <CSUI_MainWndCtrl>();
        gameUI.SetActive(false);
        //phone Wnd
        gameUI    = AddUIPrefab(phoneWndPrefab, tsCenter);
        mPhoneWnd = gameUI.GetComponent <UIPhoneWnd>();
        gameUI.SetActive(false);
        // skill wnd
        gameUI        = AddUIPrefab(skillWndPrefab, tsCenter);
        mSkillWndCtrl = gameUI.GetComponent <UISkillWndCtrl>();
        gameUI.SetActive(false);
        // workshop wnd
        gameUI        = AddUIPrefab(workshopPrefb, tsCenter);
        mWorkShopCtrl = gameUI.GetComponent <UIWorkShopCtrl>();
        gameUI.SetActive(false);
        //information wnd
        gameUI       = AddUIPrefab(informationPrefab, tsCenter);
        mTeamInfoMgr = gameUI.GetComponent <CSUI_TeamInfoMgr>();
        gameUI.SetActive(false);
        // railwayPoint
        gameUI        = AddUIPrefab(railwayPonitPrefab, tsCenter);
        mRailwayPoint = gameUI.GetComponent <RailwayPointGui_N>();
        gameUI.SetActive(false);

        // mallWndPrefab
        if (Pathea.PeGameMgr.IsMulti)
        {
            gameUI   = AddUIPrefab(mallWndPrefab, tsCenter);
            mMallWnd = gameUI.GetComponent <UIMallWnd>();
            gameUI.SetActive(false);
        }

        //UI Adminstrator
        //AdminUI
        gameUI           = AddUIPrefab(AdministratorPrefab, tsCenter);
        mAdminstratorWnd = gameUI.GetComponent <UIAdminstratorWnd>();
        gameUI.SetActive(false);

        // Driving UI
        gameUI       = AddUIPrefab(drivingPrefab, tsCenterOther);
        mDrivingCtrl = gameUI.GetComponent <UIDrivingCtrl>();
        gameUI.SetActive(false);

        // Custom stopwatch UI
        gameUI         = AddUIPrefab(stopwatchPrefab, transform);
        mStopwatchList = gameUI.GetComponent <UIStopwatchList>();
        gameUI.SetActive(false);

        // Custom npc talk UI
        gameUI     = AddUIPrefab(npcWndCustomPrefab, tsCenter);
        mNpcDialog = gameUI.GetComponent <UINpcDialog>();

        // Custom npc mission ui
        gameUI       = AddUIPrefab(missionWndCustomPrefab, tsCenter);
        mMissionGoal = gameUI.GetComponent <UIMissionGoal>();

        // Custom MissionTrack ui
        gameUI = AddUIPrefab(missionTrackCustomPrefab, tsCenterOther);
        mCustomMissionTrack = gameUI.GetComponent <UIMissionTrack>();
        mCustomMissionTrack.transform.localPosition = UIDefaultPostion.Instance.pos_MissionTruck;
        //		mMissionTrackWnd.transform.localPosition = new Vector3 (856,162,0);
        mCustomMissionTrack.transform.localPosition = new Vector3(Screen.width / 2 - 145, 35, 0);

        //lz-2016.10.22 KickstarterCtrl
        gameUI           = AddUIPrefab(mKickstarterCtrlPrefab, tsCenter);
        mKickstarterCtrl = gameUI.GetComponent <KickstarterCtrl>();
        gameUI.SetActive(false);

        //lz-2016.11.07 NpcTalkHistoryWnd
        gameUI             = AddUIPrefab(mNpcTalkHistoryPrefab, tsCenter);
        mNpcTalkHistoryWnd = gameUI.GetComponent <NpcTalkHistoryWnd>();
        gameUI.SetActive(false);

        // itemsTrack Wnd
        gameUI         = AddUIPrefab(itemsTrackWndPrefab, tsCenterOther);
        mItemsTrackWnd = gameUI.GetComponent <UIItemsTrackCtrl>();
        mItemsTrackWnd.transform.localPosition = mMissionTrackWnd.transform.localPosition + new Vector3(0, 170f, 0);
        gameUI.SetActive(false);
    }