Пример #1
0
    //---------------------------------------------------------------------------------------------
    /// <summary>
    /// 开始游戏
    /// </summary>
    public void gameStart()
    {
        //判断是否有存档
        PuzzlesProgressBean paramsData = new PuzzlesProgressBean();

        paramsData.puzzleId     = CommonData.SelectPuzzlesInfo.puzzlesInfo.id;
        paramsData.markFileName = CommonData.SelectPuzzlesInfo.puzzlesInfo.mark_file_name;
        PuzzlesProgressBean progressData = DataStorageManage.getPuzzlesProgressDSHandle().getData(paramsData);

        TimeBean gameTime = null;

        if (progressData != null)
        {
            gameTime = progressData.gameTime;
            GameUtil.setGameProgress(this, progressData);
        }
        else
        {
        }
        CommonData.IsCheating = false;
        CommonData.GameStatus = 1;
        CommonData.IsDargMove = true;
        Camera.main.gameObject.AddComponent <SecretCodeCpt>();
        GameMainUIControl gameMainUI = uiMasterControl.getUIByType <GameMainUIControl>(UIEnum.GameMainUI);

        if (gameMainUI != null)
        {
            gameMainUI.startTimer(gameTime);
        }
    }
Пример #2
0
    /// <summary>
    /// 保存并退出
    /// </summary>
    public void saveAndExitOnClick()
    {
        if (CommonData.GameStatus == 1)
        {
            CommonData.GameStatus = 4;
            PuzzlesProgressBean progressBean = new PuzzlesProgressBean();


            GameMainUIControl gameMainUI = mUIMasterControl.getUIByType <GameMainUIControl>(UIEnum.GameMainUI);
            if (gameMainUI != null)
            {
                //设置游戏时间
                progressBean.gameTime = gameMainUI.getGameTimer();
            }
            //设置ID
            progressBean.puzzleId     = CommonData.SelectPuzzlesInfo.puzzlesInfo.id;
            progressBean.markFileName = CommonData.SelectPuzzlesInfo.puzzlesInfo.mark_file_name;
            progressBean.progress     = GameUtil.getGameProgress();

            DataStorageManage.getPuzzlesProgressDSHandle().saveData(progressBean);
            SceneUtil.jumpMainScene();
        }
        else
        {
            DialogManager.createToastDialog().setToastText("不能进行此操作");
        }
    }
Пример #3
0
    /// <summary>
    /// 使用装备
    /// </summary>
    /// <param name="content"></param>
    /// <param name="data"></param>
    /// <param name="oldObj"></param>
    private void useEquip(Transform content, EquipInfoBean data, GameObject oldObj)
    {
        GameConfigureBean configureBean = DataStorageManage.getGameConfigureDSHandle().getData(0);

        if (data.equipType == (int)EquipTypeEnum.PuzzlesShape)
        {
            configureBean.puzzlesShape = (int)data.equipTypeId;
        }
        else if (data.equipType == (int)EquipTypeEnum.BorderShape)
        {
            configureBean.borderShape = (int)data.equipTypeId;
        }
        else if (data.equipType == (int)EquipTypeEnum.BorderColor)
        {
            configureBean.borderColor = (int)data.equipTypeId;
        }
        else if (data.equipType == (int)EquipTypeEnum.Background)
        {
            configureBean.background = (int)data.equipTypeId;
        }
        DataStorageManage.getGameConfigureDSHandle().saveData(configureBean);
        CommonConfigure.refreshData();

        refreshData(content);
    }
Пример #4
0
    private float mAddAnimTime;//增加动画持续时间

    void Awake()
    {
        mAddAnimTime = 6f;
        UserInfoBean userInfo = DataStorageManage.getUserInfoDSHandle().getData(0);

        if (userInfo != null)
        {
            mCurrentPoint = userInfo.puzzlesPoint;
        }
    }
Пример #5
0
    private void deleteData()
    {
        PuzzlesProgressBean paramsData = new PuzzlesProgressBean();

        paramsData.markFileName = CommonData.SelectPuzzlesInfo.puzzlesInfo.mark_file_name;
        paramsData.puzzleId     = CommonData.SelectPuzzlesInfo.puzzlesInfo.id;
        ((PuzzlesProgressDSHandle)DataStorageManage
         .getPuzzlesProgressDSHandle())
        .deleteData(paramsData);
    }
    /// <summary>
    /// 语言选择
    /// </summary>
    /// <param name="position"></param>
    private void languageSelection(int position)
    {
        SoundUtil.playSoundClip(AudioButtonOnClickEnum.btn_sound_3);
        GameConfigureBean configure = DataStorageManage.getGameConfigureDSHandle().getData(0);

        configure.gameLanguage = position;
        DataStorageManage.getGameConfigureDSHandle().saveData(configure);
        CommonConfigure.refreshData();
        CommonData.refreshData();
        mUIMasterControl.refreshAllUI();
    }
    /// <summary>
    /// 屏幕模式
    /// </summary>
    /// <param name="position"></param>
    private void screenModeSelection(int position)
    {
        SoundUtil.playSoundClip(AudioButtonOnClickEnum.btn_sound_3);
        if (position == 0)
        {
            Screen.fullScreen = true;
        }
        else
        {
            Screen.fullScreen = false;
        }
        GameConfigureBean configure = DataStorageManage.getGameConfigureDSHandle().getData(0);

        configure.screenMode = position;
        DataStorageManage.getGameConfigureDSHandle().saveData(configure);
    }
Пример #8
0
    /// <summary>
    /// 解锁所有拼图
    /// </summary>
    private void unlockPuzzles()
    {
        List <PuzzlesInfoBean> listData = PuzzlesInfoManager.LoadAllPuzzlesData();

        foreach (PuzzlesInfoBean itemData in listData)
        {
            PuzzlesCompleteStateBean completeStateBean = DataStorageManage.getPuzzlesCompleteDSHandle().getData(itemData.id);
            if (completeStateBean == null)
            {
                completeStateBean = new PuzzlesCompleteStateBean();
            }
            completeStateBean.puzzleId    = itemData.id;
            completeStateBean.puzzleType  = itemData.data_type;
            completeStateBean.unlockState = JigsawUnlockEnum.UnLock;
            DataStorageManage.getPuzzlesCompleteDSHandle().saveData(completeStateBean);
        }
    }
    /// <summary>
    /// 修改数据
    /// </summary>
    public void changeCustomData()
    {
        if (!checkData())
        {
            return;
        }

        this.oldInfoBean.Name = inputName.text;
        this.oldInfoBean.Horizontal_number = Convert.ToInt32(inputHorizontalNumber.text);
        this.oldInfoBean.Vertical_number   = Convert.ToInt32(inputVerticalNumber.text);

        //修改数据
        CustomPuzzlesInfoDSHandle handle = (CustomPuzzlesInfoDSHandle)DataStorageManage.getCustomPuzzlesInfoDSHandle();

        handle.changeData(this.oldInfoBean);

        jumpSelectUI();
    }
Пример #10
0
    public static void saveData()
    {
        GameConfigureBean data = new GameConfigureBean();

        data.gameLanguage = (int)GameLanguage;
        data.isOpenBGM    = (int)IsOpenBGM;
        data.isOpenSound  = (int)IsOpenSound;
        data.isOpenTimeUI = (int)IsOpenTimeUI;
        data.screenMode   = (int)SceenMode;
        data.puzzlesShape = (int)PuzzlesShape;
        data.borderShape  = (int)BorderShape;
        data.borderColor  = (int)BorderColor;
        data.background   = (int)Background;

        data.bgmVolume   = BGMVolume;
        data.soundVolume = SoundVolume;
        DataStorageManage.getGameConfigureDSHandle().saveData(data);
    }
Пример #11
0
    /// <summary>
    /// 开始增加
    /// </summary>
    private void startAdd()
    {
        ((UserInfoDSHandle)DataStorageManage.getUserInfoDSHandle()).increaseUserPuzzlesPoint(mAddPoint);
        DOTween.To(() => mCurrentPoint,
                   newPoint => {
            int newPointInt           = (int)newPoint;
            mPuzzelsPointContent.text = "" + newPointInt + " PP";
        },
                   mAddPoint + mCurrentPoint,
                   mAddAnimTime);

        mPuzzlesPointAdd.DOFade(1, mAddAnimTime / 2f).OnComplete(() => {
            mPuzzlesPointAdd.DOFade(0, mAddAnimTime / 2f);
        });
        mPuzzlesPointAdd.transform.DOLocalMoveY(20, mAddAnimTime).OnComplete(() => {
            Destroy(gameObject);
        });
    }
Пример #12
0
    public void CreateInstallItemList(List <SteamWorkshopQueryInstallInfoBean> listData)
    {
        //删除原数据
        for (int i = 0; i < transform.childCount; i++)
        {
            if (transform.GetChild(i).gameObject.activeSelf)
            {
                Destroy(transform.GetChild(i).gameObject);
            }
        }

        List <PuzzlesInfoBean>          listPuzzlesInfo  = CreateGameInfoListByInstallInfo(listData);
        List <PuzzlesCompleteStateBean> listCompleteData = DataStorageManage.getPuzzlesCompleteDSHandle().getAllData();
        List <PuzzlesProgressBean>      listProgressData = DataStorageManage.getPuzzlesProgressDSHandle().getAllData();
        List <PuzzlesGameInfoBean>      listGameInfoData = PuzzlesDataUtil.MergePuzzlesInfo(listPuzzlesInfo, listCompleteData, listProgressData);

        for (int itemPosition = 0; itemPosition < listData.Count; itemPosition++)
        {
            PuzzlesGameInfoBean itemInfo = listGameInfoData[itemPosition];
            CreateInstallItem(itemInfo);
        }
    }
Пример #13
0
    public static void refreshData()
    {
        GameLanguage = GameLanguageEnum.English;
        IsOpenBGM    = EnabledEnum.ON;
        IsOpenSound  = EnabledEnum.ON;
        IsOpenTimeUI = EnabledEnum.ON;
        SceenMode    = ScreenModeEnum.Full;

        PuzzlesShape = JigsawStyleEnum.Def;
        BorderShape  = GameWallEnum.Def;
        BorderColor  = EquipColorEnum.Def;
        Background   = EquipColorEnum.Def;

        SoundVolume = 1f;
        BGMVolume   = 1f;
        GameConfigureBean configureBean = DataStorageManage.getGameConfigureDSHandle().getData(0);

        if (configureBean != null)
        {
            //游戏语言设置
            GameLanguage = (GameLanguageEnum)Enum.ToObject(typeof(GameLanguageEnum), configureBean.gameLanguage);
            //是否开启BGM
            IsOpenBGM = (EnabledEnum)Enum.ToObject(typeof(EnabledEnum), configureBean.isOpenBGM);
            //是否开启音效
            IsOpenSound = (EnabledEnum)Enum.ToObject(typeof(EnabledEnum), configureBean.isOpenSound);
            //是否开启计时UI
            IsOpenTimeUI = (EnabledEnum)Enum.ToObject(typeof(EnabledEnum), configureBean.isOpenTimeUI);
            //屏幕模式
            SceenMode = (ScreenModeEnum)Enum.ToObject(typeof(ScreenModeEnum), configureBean.screenMode);

            PuzzlesShape = (JigsawStyleEnum)Enum.ToObject(typeof(JigsawStyleEnum), configureBean.puzzlesShape);
            BorderShape  = (GameWallEnum)Enum.ToObject(typeof(GameWallEnum), configureBean.borderShape);
            BorderColor  = (EquipColorEnum)Enum.ToObject(typeof(EquipColorEnum), configureBean.borderColor);
            Background   = (EquipColorEnum)Enum.ToObject(typeof(EquipColorEnum), configureBean.background);

            SoundVolume = configureBean.soundVolume;
            BGMVolume   = configureBean.bgmVolume;
        }
    }
Пример #14
0
    /// <summary>
    /// 读取拼图信息
    /// </summary>
    /// <param name="resourcesEnum"></param>
    public void loadJigsaw(JigsawResourcesEnum resourcesEnum)
    {
        StopAllCoroutines();
        resourcesType = resourcesEnum;
        //删除原数据
        for (int i = 0; i < transform.childCount; i++)
        {
            Destroy(transform.GetChild(i).gameObject);
        }

        //加载该类型下所有拼图数据
        List <PuzzlesInfoBean> listInfoData = null;

        if (resourcesEnum.Equals(JigsawResourcesEnum.Custom))
        {
            listInfoData = DataStorageManage.getCustomPuzzlesInfoDSHandle().getAllData();
            createAddItem();
        }
        else
        {
            listInfoData = PuzzlesInfoManager.LoadAllPuzzlesDataByType(resourcesEnum);
        }

        if (listInfoData == null || listInfoData.Count == 0)
        {
            return;
        }
        listInfoData.Sort((x, y) => x.Level.CompareTo(y.Level));

        List <PuzzlesCompleteStateBean> listCompleteData = DataStorageManage.getPuzzlesCompleteDSHandle().getAllData();
        List <PuzzlesProgressBean>      listProgressData = DataStorageManage.getPuzzlesProgressDSHandle().getAllData();
        List <PuzzlesGameInfoBean>      listData         = PuzzlesDataUtil.MergePuzzlesInfo(listInfoData, listCompleteData, listProgressData);

        for (int itemPosition = 0; itemPosition < listData.Count; itemPosition++)
        {
            PuzzlesGameInfoBean itemInfo = listData[itemPosition];
            createSelectItem(itemPosition, itemInfo);
        }
    }
    /// <summary>
    /// 提交数据
    /// </summary>
    public void submitCustomData()
    {
        if (!checkData())
        {
            return;
        }
        SoundUtil.playSoundClip(AudioButtonOnClickEnum.btn_sound_1);

        string          markFileName = SystemUtil.getUUID();
        PuzzlesInfoBean infoBean     = new PuzzlesInfoBean();

        infoBean.id   = -1;
        infoBean.Name = inputName.text;
        infoBean.Horizontal_number = Convert.ToInt32(inputHorizontalNumber.text);
        infoBean.Vertical_number   = Convert.ToInt32(inputVerticalNumber.text);
        infoBean.Level             = 1;
        infoBean.Data_type         = (int)JigsawResourcesEnum.Custom;
        infoBean.Mark_file_name    = markFileName;
        infoBean.Data_file_path    = CommonInfo.Custom_Res_Save_Path + "/";
        FileUtil.CreateDirectory(CommonInfo.Custom_Res_Save_Path);
        FileUtil.CopyFile(uploadPath, CommonInfo.Custom_Res_Save_Path + "/" + markFileName, true);

        List <PuzzlesInfoBean> listInfoData = DataStorageManage.getCustomPuzzlesInfoDSHandle().getAllData();

        if (listInfoData == null)
        {
            listInfoData = new List <PuzzlesInfoBean>();
        }

        listInfoData.Add(infoBean);

        //保存数据
        CustomPuzzlesInfoDSHandle handle = (CustomPuzzlesInfoDSHandle)DataStorageManage.getCustomPuzzlesInfoDSHandle();

        handle.saveAllData(listInfoData);

        jumpSelectUI();
    }
Пример #16
0
    /// <summary>
    /// 解锁装备
    /// </summary>
    /// <param name="data"></param>
    private void unlockEquip(Transform content, EquipInfoBean data, GameObject oldObj)
    {
        SoundUtil.playSoundClip(AudioButtonOnClickEnum.btn_sound_1);
        long userPoint = DataStorageManage.getUserInfoDSHandle().getData(0).puzzlesPoint;

        if (userPoint < data.unlockPoint)
        {
            //如果没有PP则提示不足
            DialogManager.createToastDialog().setToastText(CommonData.getText(16));
        }
        else
        {
            //如果有PP则解锁
            //保存信息
            ((UserInfoDSHandle)DataStorageManage.getUserInfoDSHandle()).decreaseUserPuzzlesPoint(data.unlockPoint);
            m_EquipUIControl.refreshPuzzlesPoint();

            data.unlockType = 1;
            DataStorageManage.getEquipDSHandle().saveData(data);
            createEquipItem(content, data);
            Destroy(oldObj);
        }
    }
Пример #17
0
    /// <summary>
    /// 记录完成时间
    /// </summary>
    /// <param name="selectItem"></param>
    /// <param name="completeTime"></param>
    public static void FinshSaveCompleteData(PuzzlesGameInfoBean selectItem, TimeBean completeTime)
    {
        PuzzlesInfoBean          puzzlesInfo       = selectItem.puzzlesInfo;
        PuzzlesCompleteStateBean completeStateBean = selectItem.completeStateInfo;

        if (completeStateBean == null)
        {
            completeStateBean = new PuzzlesCompleteStateBean();
        }
        List <PuzzlesCompleteStateBean> listCompleteState = DataStorageManage.getPuzzlesCompleteDSHandle().getAllData();

        if (listCompleteState == null || listCompleteState.Count == 0)
        {
            listCompleteState                = new List <PuzzlesCompleteStateBean>();
            completeStateBean.puzzleId       = puzzlesInfo.id;
            completeStateBean.puzzleType     = puzzlesInfo.data_type;
            completeStateBean.puzzleName     = puzzlesInfo.name;
            completeStateBean.puzzleMarkName = puzzlesInfo.mark_file_name;
            completeStateBean.completeTime   = completeTime;
            completeStateBean.unlockState    = JigsawUnlockEnum.UnLock;
            listCompleteState.Add(completeStateBean);
        }
        else
        {
            int  listCompleteSize = listCompleteState.Count;
            bool hasData          = false;
            for (int i = 0; i < listCompleteSize; i++)
            {
                PuzzlesCompleteStateBean itemCompleteBean = listCompleteState[i];
                bool isThisPuzzles = false;
                if (itemCompleteBean.puzzleType.Equals((int)JigsawResourcesEnum.Custom))
                {
                    if (itemCompleteBean.puzzleMarkName.Equals(puzzlesInfo.mark_file_name))
                    {
                        isThisPuzzles = true;
                    }
                }
                else
                {
                    if (itemCompleteBean.puzzleId.Equals(puzzlesInfo.Id))
                    {
                        isThisPuzzles = true;
                    }
                }
                if (isThisPuzzles)
                {
                    hasData = true;
                    if (itemCompleteBean.completeTime.totalSeconds != 0 &&
                        !TimeUtil.isFasterTime(itemCompleteBean.completeTime, completeTime))
                    {
                        //存时间更快的
                    }
                    else
                    {
                        itemCompleteBean.puzzleId        = puzzlesInfo.id;
                        itemCompleteBean.puzzleType      = puzzlesInfo.data_type;
                        completeStateBean.puzzleName     = puzzlesInfo.name;
                        completeStateBean.puzzleMarkName = puzzlesInfo.mark_file_name;
                        itemCompleteBean.unlockState     = JigsawUnlockEnum.UnLock;
                        itemCompleteBean.completeTime    = completeTime;
                        completeStateBean = itemCompleteBean;
                    }
                    break;
                }
            }
            if (!hasData)
            {
                completeStateBean.puzzleId       = puzzlesInfo.id;
                completeStateBean.puzzleType     = puzzlesInfo.data_type;
                completeStateBean.puzzleName     = puzzlesInfo.name;
                completeStateBean.puzzleMarkName = puzzlesInfo.mark_file_name;
                completeStateBean.completeTime   = completeTime;
                completeStateBean.unlockState    = JigsawUnlockEnum.UnLock;
                listCompleteState.Add(completeStateBean);
            }
        }
        DataStorageManage.getPuzzlesCompleteDSHandle().saveAllData(listCompleteState);
    }
Пример #18
0
 /// <summary>
 /// 刷新拼图点数
 /// </summary>
 public void refreshPuzzlesPoint()
 {
     titleBarJigsawPointTV.text = "x" + DataStorageManage.getUserInfoDSHandle().getData(0).puzzlesPoint + " PP";
 }
Пример #19
0
    /// <summary>
    /// 游戏完成
    /// </summary>
    public void gameFinsh()
    {
        CommonData.GameStatus   = 2;
        CommonData.IsDargMove   = false;
        CommonData.IsMoveCamera = false;
        //删除游戏进度
        PuzzlesProgressBean progressTemp = new PuzzlesProgressBean();

        progressTemp.puzzleId     = CommonData.SelectPuzzlesInfo.puzzlesInfo.id;
        progressTemp.markFileName = CommonData.SelectPuzzlesInfo.puzzlesInfo.mark_file_name;
        ((PuzzlesProgressDSHandle)DataStorageManage.getPuzzlesProgressDSHandle()).deleteData(progressTemp);

        float startCameraOrthographicSize = cameraControl.startCameraOrthographicSize;
        //结束游戏时间
        GameMainUIControl gameMainUI   = uiMasterControl.getUIByType <GameMainUIControl>(UIEnum.GameMainUI);
        TimeBean          completeTime = null;

        if (gameMainUI != null)
        {
            gameMainUI.endTimer();
            completeTime = gameMainUI.getGameTimer();
        }

        if (!CommonData.IsCheating)
        {
            if (CommonData.SelectPuzzlesInfo.puzzlesInfo.data_type.Equals((int)JigsawResourcesEnum.Custom))
            {
            }
            else
            {
                //增加PP
                int addPuzzlesPoint = CommonData.SelectPuzzlesInfo.puzzlesInfo.level * 2;
                DialogManager.createPuzzlesPointAddDialog(addPuzzlesPoint);
            }
            //保存数据
            GameUtil.FinshSaveCompleteData(CommonData.SelectPuzzlesInfo, completeTime);
        }

        //动画结束后显示排行榜
        transform.DOScale(new Vector3(1, 1), gameFinshAnimTime).OnComplete(delegate()
        {
            if (CommonData.SelectPuzzlesInfo.puzzlesInfo.data_type.Equals((int)JigsawResourcesEnum.Custom))
            {
                SceneUtil.jumpMainScene();
            }
            else
            {
                int leaderType = 0;
                if (CommonData.IsCheating)
                {
                    leaderType = 1;
                }
                else
                {
                    //没有作弊 放烟花
                    //GameObject dialogObj = Instantiate(ResourcesManager.LoadData<GameObject>("Prefab/Particle/Background/GameFinshParticle"));
                    //Canvas gameFinshCanvas = dialogObj.GetComponent<Canvas>();
                    //gameFinshCanvas.renderMode = RenderMode.ScreenSpaceCamera;
                    //gameFinshCanvas.worldCamera = Camera.main;
                }
                DialogManager
                .createLeaderBoradDialog(leaderType, CommonData.SelectPuzzlesInfo)
                .setUserScore(completeTime.totalSeconds)
                .setCallBack(this)
                .setCancelButtonStr(CommonData.getText(21))
                .setSubmitButtonStr(CommonData.getText(23));
            }
            CommonData.IsCheating = false;
        });

        //镜头移动
        cameraControl.transform.DOMove(cameraControl.startCameraPosition, gameFinshAnimTime);
        Tween cameraTW = DOTween
                         .To(() => Camera.main.orthographicSize, x => Camera.main.orthographicSize = x, startCameraOrthographicSize, gameFinshAnimTime);
        //图像归位
        int containerListSize = containerList.Count;

        for (int i = 0; i < containerListSize; i++)
        {
            GameObject container = containerList[i];
            if (container != null)
            {
                JigsawContainerCpt containerCpt = container.GetComponent <JigsawContainerCpt>();
                Rigidbody2D        containerRB  = container.GetComponent <Rigidbody2D>();
                containerRB.Sleep();

                container.transform.DORotate(new Vector3(containerCpt.startRotation.x, containerCpt.startRotation.y), gameFinshAnimTime);
                container.transform.DOMove(containerCpt.startPosition, gameFinshAnimTime);
                break;
            }
        }

        //设置成就
        List <PuzzlesCompleteStateBean> listCompleteState = ((PuzzlesCompleteDSHandle)DataStorageManage.getPuzzlesCompleteDSHandle()).getDefAllData();

        if (listCompleteState != null && listCompleteState.Count != 0)
        {
            int completeNumber = 0;
            foreach (PuzzlesCompleteStateBean itemState in listCompleteState)
            {
                if (itemState.completeTime != null && itemState.completeTime.totalSeconds != 0)
                {
                    completeNumber++;
                }
            }
            IUserAchievementHandle userAchievement = new UserStatsHandleImpl();
            userAchievement.userCompleteNumberChange(completeNumber);
        }
    }
Пример #20
0
    /// <summary>
    /// 创建未解锁样式
    /// </summary>
    /// <param name="itemInfo"></param>
    private GameObject createLockItem(int position, PuzzlesGameInfoBean itemInfo)
    {
        PuzzlesInfoBean          infoBean          = itemInfo.puzzlesInfo;
        PuzzlesCompleteStateBean completeStateBean = itemInfo.completeStateInfo;

        //解锁点数处理
        if (infoBean.unlock_point == 1)
        {
            infoBean.unlock_point = infoBean.level;
        }

        GameObject itemObj = Instantiate(ResourcesManager.LoadData <GameObject>(JigsawSelectLockItemPath));
        Button     itemBT  = itemObj.GetComponent <Button>();

        //设置大小
        setItemSize(itemObj);

        itemObj.name = infoBean.Mark_file_name;
        itemObj.transform.SetParent(transform);

        //设置按键
        Button unLockBT = CptUtil.getCptFormParentByName <Transform, Button>(itemObj.transform, "JigsawUnLock");

        unLockBT.onClick.AddListener(
            delegate()
        {
            SoundUtil.playSoundClip(AudioButtonOnClickEnum.btn_sound_1);
            long userPoint = DataStorageManage.getUserInfoDSHandle().getData(0).puzzlesPoint;
            if (userPoint < infoBean.unlock_point)
            {
                //如果没有PP则提示不足
                DialogManager.createToastDialog().setToastText(CommonData.getText(16));
            }
            else
            {
                //如果有PP则解锁
                //保存信息
                ((UserInfoDSHandle)DataStorageManage.getUserInfoDSHandle()).decreaseUserPuzzlesPoint(infoBean.unlock_point);
                menuSelectUIControl.refreshPuzzlesPoint();
                //解锁拼图
                if (completeStateBean == null)
                {
                    completeStateBean            = new PuzzlesCompleteStateBean();
                    completeStateBean.puzzleId   = infoBean.id;
                    completeStateBean.puzzleType = infoBean.data_type;
                }
                completeStateBean.unlockState = JigsawUnlockEnum.UnLock;
                DataStorageManage.getPuzzlesCompleteDSHandle().saveData(completeStateBean);
                //menuSelectUIControl.refreshJigsawSelectData();
                menuSelectUIControl.refreshItemJigsawSelectData(position, itemObj, itemInfo);
                //解锁成功动画
                string filePath = infoBean.Data_file_path + infoBean.Mark_file_name;
                DialogManager.createUnlockPuzzlesDialog(infoBean.name, infoBean.mark_file_name, filePath);
            }
        });
        //设置文本信息
        Text jigsawUnLockText = CptUtil.getCptFormParentByName <Button, Text>(itemBT, "JigsawUnLockText");

        jigsawUnLockText.text = CommonData.getText(13) + "( " + infoBean.unlock_point + "PP )";

        //设置拼图等级
        setLevel(itemObj, infoBean.level);
        return(itemObj);
    }
Пример #21
0
    /// <summary>
    /// 创建obj
    /// </summary>
    /// <param name="content"></param>
    /// <param name="data"></param>
    public void createEquipItem(Transform content, EquipInfoBean data)
    {
        GameObject equipObj = Instantiate(ResourcesManager.LoadData <GameObject>(s_ResTypeSelectItemPath));

        //设置大小
        RectTransform itemRect  = equipObj.GetComponent <RectTransform>();
        float         itemWith  = content.GetComponent <RectTransform>().rect.height * 0.52f;
        float         itemHight = content.GetComponent <RectTransform>().rect.height * 0.8f;

        itemRect.sizeDelta = new Vector2(itemWith, itemHight);

        TabButton tabButton = equipObj.GetComponent <TabButton>();

        equipObj.transform.SetParent(content);
        equipObj.transform.SetSiblingIndex((int)data.equipTypeId);
        equipObj.name = data.equipName;
        equipObj.transform.localScale = new Vector3(1, 1, 1);

        //背景
        Image backgroundImage = CptUtil.getCptFormParentByName <Transform, Image>(equipObj.transform, "Background");
        //设置名字
        Text equipName = CptUtil.getCptFormParentByName <Transform, Text>(equipObj.transform, "EquipName");

        equipName.text = data.equipName;

        //设置资源图片
        Image equipImage = CptUtil.getCptFormParentByName <Transform, Image>(equipObj.transform, "EquipImage");

        StartCoroutine(ResourcesManager.LoadAsyncDataImage(data.equipImageUrl, equipImage));
        if (data.equipImageColor != null && data.equipImageColor.Length != 0)
        {
            if (data.equipTypeId == 0)
            {
                data.equipImageColor = "#EFEFEF";
            }
            ColorUtil.setImageColor(equipImage, data.equipImageColor);
        }

        //获取是否锁定
        ((EquipDSHandle)DataStorageManage.getEquipDSHandle()).getData(data);
        Image  equipLock        = CptUtil.getCptFormParentByName <Transform, Image>(equipObj.transform, "EquipLock");
        Button equipButton      = CptUtil.getCptFormParentByName <Transform, Button>(equipObj.transform, "EquipButton");
        Image  equipButtonImage = CptUtil.getCptFormParentByName <Transform, Image>(equipObj.transform, "EquipButton");
        Text   equipButtonText  = CptUtil.getCptFormParentByName <Transform, Text>(equipObj.transform, "EquipButtonText");

        if (data.equipTypeId != 0 && data.unlockType == 0)
        {
            //未解锁处理
            equipLock.enabled    = true;
            equipButtonText.text = CommonData.getText(13) + "(" + data.unlockPoint + "PP)";
            equipButton.onClick.AddListener(delegate()
            {
                unlockEquip(content, data, equipObj);
            });
        }
        else
        {
            //已解锁处理
            equipLock.enabled = false;
            int equipId = 0;
            if (data.equipType == (int)EquipTypeEnum.PuzzlesShape)
            {
                equipId = (int)CommonConfigure.PuzzlesShape;
            }
            else if (data.equipType == (int)EquipTypeEnum.BorderShape)
            {
                equipId = (int)CommonConfigure.BorderShape;
            }
            else if (data.equipType == (int)EquipTypeEnum.BorderColor)
            {
                equipId = (int)CommonConfigure.BorderColor;
            }
            else if (data.equipType == (int)EquipTypeEnum.Background)
            {
                equipId = (int)CommonConfigure.Background;
            }

            if (equipId == data.equipTypeId)
            {
                equipButtonText.text = CommonData.getText(90);
                equipButton.onClick.RemoveAllListeners();
                ColorUtil.setImageColor(backgroundImage, "#CCCCCC");
                ColorUtil.setImageColor(equipButtonImage, "#CCCCCC");
            }
            else
            {
                equipButtonText.text = CommonData.getText(89);
                equipButton.onClick.AddListener(delegate()
                {
                    useEquip(content, data, equipObj);
                });
            }
        }
    }
Пример #22
0
    /// <summary>
    /// 创建自定义样式
    /// </summary>
    /// <param name="itemInfo"></param>
    private GameObject createCustomItem(PuzzlesGameInfoBean itemInfo)
    {
        PuzzlesInfoBean          infoBean          = itemInfo.puzzlesInfo;
        PuzzlesCompleteStateBean completeStateBean = itemInfo.completeStateInfo;

        GameObject itemObj = Instantiate(ResourcesManager.LoadData <GameObject>(JigsawSelectCustomItemPath));

        //设置大小
        setItemSize(itemObj);

        itemObj.name = infoBean.Mark_file_name;
        itemObj.transform.SetParent(transform);

        //设置背景图片
        Image  backImage = CptUtil.getCptFormParentByName <Transform, Image>(itemObj.transform, "JigsawPic");
        string filePath  = infoBean.Data_file_path + infoBean.Mark_file_name;

        StartCoroutine(ResourcesManager.LoadAsyncLocationImage(filePath, backImage));

        //设置按键
        Button startBT = CptUtil.getCptFormParentByName <Transform, Button>(itemObj.transform, "JigsawStart");

        startBT.onClick.AddListener(delegate()
        {
            SoundUtil.playSoundClip(AudioButtonOnClickEnum.btn_sound_1);
            CommonData.SelectPuzzlesInfo = itemInfo;
            SceneUtil.jumpGameScene();
        });
        //最好分数
        Transform bestScoreTF = CptUtil.getCptFormParentByName <Transform, Transform>(itemObj.transform, "JigsawBestScore");
        Text      bestScore   = CptUtil.getCptFormParentByName <Transform, Text>(itemObj.transform, "JigsawBestScoreText");

        if (completeStateBean != null && completeStateBean.completeTime != null)
        {
            bestScore.text = GameUtil.GetTimeStr(completeStateBean.completeTime.totalSeconds);
        }
        else
        {
            bestScoreTF.gameObject.SetActive(false);
        }

        //设置文本信息
        Text jigsawNameText = CptUtil.getCptFormParentByName <Transform, Text>(itemObj.transform, "JigsawName");
        Text startBTText    = CptUtil.getCptFormParentByName <Transform, Text>(itemObj.transform, "JigsawStartText");

        if (itemInfo.progressInfo != null)
        {
            startBTText.text = CommonData.getText(85);
        }
        else
        {
            startBTText.text = CommonData.getText(14);
        }


        jigsawNameText.text = infoBean.Name;

        //设置按钮信息
        //编辑按钮
        //Button editBT = CptUtil.getCptFormParentByName<Transform, Button>(itemObj.transform, "JigsawEdit");
        //editBT.onClick.AddListener(delegate ()
        //{
        //    SoundUtil.playSoundClip(AudioButtonOnClickEnum.btn_sound_1);
        //    MenuCustomUpLoadUIControl upLoadUIControl = menuSelectUIControl.mUIMasterControl.getUIByType<MenuCustomUpLoadUIControl>(UIEnum.MenuCustomUpLoadUI);
        //    upLoadUIControl.setInitData(infoBean);
        //    menuSelectUIControl.mUIMasterControl.openUIByTypeAndCloseOther(UIEnum.MenuCustomUpLoadUI);
        //});
        //删除按钮
        Button deleteBT = CptUtil.getCptFormParentByName <Transform, Button>(itemObj.transform, "JigsawDelete");

        deleteBT.onClick.AddListener(delegate()
        {
            SoundUtil.playSoundClip(AudioButtonOnClickEnum.btn_sound_1);
            FileUtil.DeleteFile(filePath);
            CustomPuzzlesInfoDSHandle handle = (CustomPuzzlesInfoDSHandle)DataStorageManage.getCustomPuzzlesInfoDSHandle();
            handle.removeData(infoBean);
            menuSelectUIControl.setJigsawSelectData(JigsawResourcesEnum.Custom);
        });
        return(itemObj);
    }