Example #1
0
        public void SetData(CardAwardPreInfo info)
        {
            _info = info;

            _voiceName.text = I18NManager.Get(_info.isUnlock ? "Favorability_AlreadyUnlock" : "Favorability_NoUnlock", info.content);
            SetIsUnlock();
            SetRedPoint();
        }
 private void OnClickVoiceItem(CardAwardPreInfo info)
 {
     if (_voiceWindow != null)
     {
         _voiceWindow.OnClickClose();
         Debug.LogError("掉View播放语音的方法");
         FavorabilityMainView.Live2dTiggerVoice(info);
     }
 }
Example #3
0
    private CardAwardPreInfo CreateCardAwardPreInfo(string content, bool isUnlock, CardAwardPreType cardAwardPreType, int priority = 0)
    {
        var info = new CardAwardPreInfo();

        info.content          = content;
        info.isUnlock         = isUnlock;
        info.priority         = priority;
        info.cardAwardPreType = cardAwardPreType;
        return(info);
    }
Example #4
0
    private static CardAwardPreInfo CreateCardAwardPreInfo(string content, bool isUnlock, CardAwardPreType cardAwardPreType, string dialogId = "", int expressionId = 0, string unlockDescription = "", int priority = 0)
    {
        var info = new CardAwardPreInfo();

        info.content           = content;
        info.isUnlock          = isUnlock;
        info.priority          = priority;
        info.dialogId          = dialogId;
        info.expressionId      = expressionId;
        info.cardAwardPreType  = cardAwardPreType;
        info.UnlockDescription = unlockDescription;
        info.isNew             = false;
        return(info);
    }
Example #5
0
    /// <summary>
    /// 触发语音Item语音
    /// </summary>
    /// <param name="info"></param>
    public void Live2dTiggerVoice(CardAwardPreInfo info)
    {
        L2DModel model = _live2DGraphic.GetMainLive2DView.Model;

        _live2DGraphic.GetMainLive2DView.LipSync = true;

        if (info.dialogId == "")
        {
            model.SetExpression(model.ExpressionList[info.expressionId], 2);
            return;
        }
        new AssetLoader().LoadAudio(
            AssetLoader.GetMainPanleDialogById(info.dialogId), //expressionInfo.Dialog),
            (clip, loader) => {
            model.SetExpression(model.ExpressionList[info.expressionId], clip.length + 1);
            AudioManager.Instance.PlayDubbing(clip);
        });
    }
Example #6
0
    private void ShowCardAwardPreview(UserCardVo userCardVo)
    {
        List <CardAwardPreInfo> infos = new List <CardAwardPreInfo>();
        var vo     = userCardVo;
        int cardId = userCardVo.CardId;
        int NpcId  = (int)userCardVo.CardVo.Player;

        var userFavorabilityVo = GlobalData.FavorabilityMainModel.GetUserFavorabilityVo(NpcId);//用户NPC的好感度信息

        Debug.LogError("CardId " + cardId + "  NpcId " + NpcId);

        PlayerPB playerPB = userCardVo.CardVo.Player;

        var cardPd = GlobalData.CardModel.GetCardBase(cardId);

        for (int i = 0; i < cardPd.GainSceneIds.Count; i++)
        {
            int phonesceneId = cardPd.GainSceneIds[i];
            if (phonesceneId == 0)
            {
                continue;
            }
            bool isUnlock = true;

            var userCard = GlobalData.CardModel.GetUserCardById(cardId);
            isUnlock = userCard != null;

            //   Debug.LogError("phonesceneId" + phonesceneId+ "GetSceneName"+ GetSceneName(phonesceneId));

            CardAwardPreInfo info = CreateCardAwardPreInfo(GetSceneName(phonesceneId), isUnlock, GetCardAwardPreType(phonesceneId));

            info.StartTips = "1心解锁.";
//            Debug.LogError(isUnlock+" "+info.content);
            infos.Add(info);
        }



        int sceneId = 0;

        //解锁手机事件
        for (int i = 0; i < vo.MaxStars; i++)
        {
            var targetStarUpPb = GlobalData.CardModel.GetCardStarUpRule(vo.CardId, (StarPB)i);
            if (targetStarUpPb == null)
            {
                //Debug.LogError("no i" + i);
                continue;
            }
            for (int j = 0; j < targetStarUpPb.SceneIds.Count; j++)
            {
                if (targetStarUpPb.SceneIds[j] == 0)
                {
                    continue;
                }
                sceneId = targetStarUpPb.SceneIds[j];
                bool isUnlock = false;
                SceneUnlockRulePB curscenePb = GlobalData.FavorabilityMainModel.GetUnlockRulePb(sceneId);
                if (curscenePb == null)
                {
                    continue;
                }
                if (curscenePb.FavorabilityLevel <= userFavorabilityVo.Level && (int)targetStarUpPb.Star <= vo.Star)
                {
                    isUnlock = true;
                }
                if (curscenePb != null)
                {
                    //SmsInfo info = JsonConvert.DeserializeObject<SmsInfo>(text);
                    CardAwardPreInfo info        = CreateCardAwardPreInfo(GetSceneName(sceneId), isUnlock, GetCardAwardPreType(sceneId));
                    PhoneUnlockInfo  phoneUnlock = ClientData.GetPhoneUnlockInfoById(sceneId);
                    if (phoneUnlock != null)
                    {
                        info.UnlockDescription = phoneUnlock.UnlcokDes;
                        info.StartTips         = phoneUnlock.StartTips + ".";
                        Debug.LogError(info.content);
                        infos.Add(info);
                    }
                }
                Debug.Log("Star  level " + i + "  sceneID  " + sceneId + "  isUnlock " + isUnlock);
            }
        }


        //恋爱剧情
        UserAppointmentVo userAppointmentVo = GlobalData.AppointmentData.GetCardAppointmentVo(cardId);

        if (userAppointmentVo != null)
        {
            int appointmentId = userAppointmentVo.AppointmentId;
            AppointmentRuleVo appointmentRuleVo = GlobalData.AppointmentData.GetAppointmentRule(appointmentId);

            string cotent = appointmentRuleVo.Name;

            foreach (var v in appointmentRuleVo.GateInfos)
            {
                //cotent = cotent + v.Gate.ToString();

                bool isUnlock = userAppointmentVo.ActiveGateInfos.Contains(v.Gate);
                if (v.Star == 0 && v.Evo == 0)
                {
                    isUnlock = true;
                }


                string key  = "Common_Number" + v.Gate.ToString();
                var    info = CreateCardAwardPreInfo(cotent + I18NManager.Get(key), isUnlock, CardAwardPreType.LoveStory);

                if (v.Star == 0 && v.Evo == 0)
                {
                    info.StartTips = "1心解锁.";
                }


                if (v.Star > 0)
                {
                    info.StartTips         = (v.Star + 1) + "心解锁.";
                    info.UnlockDescription = I18NManager.Get("Card_PreviewStarUnlock", (v.Star + 1));
                }

                if (v.Evo > 0)
                {
                    info.StartTips         = "进化" + v.Evo + "解锁.";
                    info.UnlockDescription = I18NManager.Get("Card_PreviewEvoUnlock", v.Evo);
                }

                infos.Add(info);
            }
        }

        //日记语音
        List <ElementPB> elementPBs = GlobalData.DiaryElementModel.GetDialogsByCardId(cardId);

        foreach (var elementPB in elementPBs)
        {
            if (elementPB.ElementType == ElementTypePB.Sound)
            {
                string cotent   = elementPB.Name;
                bool   isUnlock = GlobalData.DiaryElementModel.IsCanUseElement(elementPB.Id);
                var    info     = CreateCardAwardPreInfo(cotent, isUnlock, CardAwardPreType.LoveDiaryLabelVoice);
                info.StartTips         = "进化1解锁.";
                info.UnlockDescription = I18NManager.Get("Card_PreviewEvoUnlock", 1);
                infos.Add(info);
            }
        }

//        var drawcards = ClientData.GetDrawCardExpressionInfos(NpcId, EXPRESSIONTRIGERTYPE.DRAWCARD);
//        //抽卡语音
//        foreach (var v in drawcards)
//        {
//            string cotent = v.DialogName;
//            bool isUnlock = true;
//            infos.Add(CreateCardAwardPreInfo(cotent, isUnlock, CardAwardPreType.DrawCardVioce));
//        }

        infos.Sort();

        string cardName = userCardVo.CardVo.CardName;
        var    win      = PopupManager.ShowWindow <CardAwardPreviewWindow>("Card/Prefabs/CardDetail/CardAwardPreviewWindow");

        win.SetData(cardName, infos);

        //string path = "FavorabilityMain/Prefabs/VoiceWindow";
        //var voiceWin = PopupManager.ShowWindow<VoiceWindow>(path);
        //voiceWin.SetData("111", infos);
    }