예제 #1
0
 public void RefreshDialogReviewData(StoryInfo.StoryItem item, DatingFoodOrder order, DivinationData divination)
 {
     storyItem      = item;
     orderData      = order;
     divinationData = divination;
     RefreshDialogReviewData();
 }
예제 #2
0
    public static string GetReplaceName(StoryInfo.StoryItem item)
    {
        if (item == null)
        {
            return(string.Empty);
        }

        string str = item.replaceName.Replace(StoryConst.PLAYER_NAME_PARAM, modulePlayer.name_);

        return(str);
    }
예제 #3
0
    public static string GetReplaceContent(StoryInfo.StoryItem item, DatingFoodOrder order, DivinationData divination)
    {
        if (item == null)
        {
            return(string.Empty);
        }

        string str = item.content.Replace(StoryConst.PLAYER_NAME_PARAM, modulePlayer.name_);

        str = str.Replace(StoryConst.PLAYER_GENDER_PARAM, genderDialogContent);

        if (divination != null)
        {
            var type = (EnumDivinationType)divination.type;
            str = str.Replace(StoryConst.DEVINE_TYPE_PARAM, GetDivinationName(type));

            if (type == EnumDivinationType.CrystalDevine)
            {
                str = str.Replace(StoryConst.CRYSTAL_DEVINE_RESULT_PARAM, Util.GetString(divination.contentId));
            }
            else if (type == EnumDivinationType.LotDevine)
            {
                str = str.Replace(StoryConst.LOT_DEVINE_RESULT_PARAM, Util.GetString(divination.contentId));
            }
            else
            {
                str = str.Replace(StoryConst.CRYSTAL_DEVINE_RESULT_PARAM, string.Empty);
                str = str.Replace(StoryConst.LOT_DEVINE_RESULT_PARAM, string.Empty);
            }

            str = str.Replace(StoryConst.DEVINE_INT_PARAM, divination.addMood.ToString());
            str = str.Replace(StoryConst.DEVINE_PERCENT_PARAM, divination.addMood.ToString("P"));
        }
        else
        {
            str = str.Replace(StoryConst.DEVINE_TYPE_PARAM, string.Empty);
            str = str.Replace(StoryConst.CRYSTAL_DEVINE_RESULT_PARAM, string.Empty);
            str = str.Replace(StoryConst.LOT_DEVINE_RESULT_PARAM, string.Empty);
            str = str.Replace(StoryConst.DEVINE_INT_PARAM, "0");
            str = str.Replace(StoryConst.DEVINE_PERCENT_PARAM, "0%");
        }

        var p = order == null ? string.Empty : order.itemName;

        str = str.Replace(StoryConst.SHOPITEM_NAME_PARAM, p);
        p   = order == null ? string.Empty : order.currencyNum.ToString();
        str = str.Replace(StoryConst.SHOPITEM_PRICE_PARAM, p);

        return(str);
    }
예제 #4
0
    public static List <string> GetPerStoryPreAssets(int plotId, EnumStoryType type, int index)
    {
        List <string> list  = new List <string>();
        StoryInfo     story = ConfigManager.Get <StoryInfo>(plotId);

        index += GeneralConfigInfo.sstoryPreLoadNum;
        if (story)
        {
            if (story.storyItems.Length - 1 < index || index < 0)
            {
                return(null);
            }
            StoryInfo.StoryItem item = story.storyItems[index];

            #region theatre story
            if (type == EnumStoryType.TheatreStory || type == EnumStoryType.NpcTheatreStory)
            {
                //npc assets
                for (int j = 0; j < item.talkingRoles.Length; j++)
                {
                    NpcInfo npc = ConfigManager.Get <NpcInfo>(item.talkingRoles[j].roleId);
                    if (npc == null)
                    {
                        continue;
                    }

                    var npcAssets = Module_Battle.BuildNpcSimplePreloadAssets(npc.ID);
                    for (int m = 0; m < npcAssets.Count; m++)
                    {
                        list.Add(npcAssets[m]);
                    }
                }

                //texture assets
                list.Add(item.background);
                list.Add(item.contentBg);
                if (!item.playerIconDetail.Equals("PlayerIcon"))
                {
                    list.Add(item.playerIconDetail);
                }

                //model assets
                if (item.models != null && item.models.Length > 0)
                {
                    for (int ii = 0; ii < item.models.Length; ii++)
                    {
                        list.Add(item.models[ii].model);
                    }
                }
            }
            #endregion

            #region common data
            //full screen effect
            list.Add(item.effect);
            if (item.effect.Equals(StoryConst.EYE_CLIP_EFFECT))
            {
                list.Add(StoryConst.EYE_GAUSS_MATERIAL_ASSET);
            }
            //music assets
            if (item.musicData.validMusic && !item.musicData.musicName.Equals(StoryConst.STOP_CURRENT_MUSIC_FLAG) &&
                !item.musicData.musicName.Equals(StoryConst.RESET_CURRENT_MUSIC_FLAG) && !item.musicData.musicName.Equals(StoryConst.RESET_LAST_MUSIC_FLAG)
                )
            {
                list.Add(item.musicData.musicName);
            }
            //voice assets
            list.Add(item.voiceName);
            //sound effect assets
            for (int j = 0; j < item.soundEffect.Length; j++)
            {
                list.Add(item.soundEffect[j].soundName);
            }
            #endregion
        }
        return(list);
    }
예제 #5
0
    /// <summary>
    /// 针对不同的模式可能会加载不同的资源
    /// </summary>
    /// <param name="plotId"></param>
    /// <param name="type">1代表剧场对话,2代表战斗对话</param>
    /// <returns></returns>
    public static List <string> GetPerStoryPreAssets(int plotId, EnumStoryType type)
    {
        List <string> list = new List <string>();

        switch (type)
        {
        case EnumStoryType.TheatreStory:
        case EnumStoryType.NpcTheatreStory:
            list.Add(StoryConst.THEATRE_STORY_ASSET_NAME);
            list.Add(StoryConst.THEATRE_MASK_ASSET_NAME);
            list.Add(StoryConst.THEATRE_GM_ASSET_NAME);
            //list.Add(StoryConst.DEFALUT_CONTENT_BG);
            break;

        case EnumStoryType.FreeBattleStory:
        case EnumStoryType.PauseBattleStory:
            list.Add(StoryConst.BATTLE_STORY_ASSET_NAME);
            break;
        }

        StoryInfo story = ConfigManager.Get <StoryInfo>(plotId);

        if (story)
        {
            //if (type == EnumStoryType.TheatreStory) list.Add("character_render_camera");
            //load
            StoryInfo.StoryItem item = null;
            for (int i = 0; i < story.storyItems.Length; i++)
            {
                if (i > GeneralConfigInfo.sstoryPreLoadNum && GeneralConfigInfo.sstoryPreLoadNum > 0)
                {
                    break;
                }

                item = story.storyItems[i];

                #region theatre story
                if (type == EnumStoryType.TheatreStory || type == EnumStoryType.NpcTheatreStory)
                {
                    //npc assets
                    for (int j = 0; j < item.talkingRoles.Length; j++)
                    {
                        NpcInfo npc = ConfigManager.Get <NpcInfo>(item.talkingRoles[j].roleId);
                        if (npc == null)
                        {
                            continue;
                        }

                        var npcAssets = Module_Battle.BuildNpcSimplePreloadAssets(npc.ID);
                        for (int m = 0; m < npcAssets.Count; m++)
                        {
                            list.Add(npcAssets[m]);
                        }
                    }
                    //texture assets
                    list.Add(item.background);
                    list.Add(item.contentBg);
                    if (!item.playerIconDetail.Equals("PlayerIcon"))
                    {
                        list.Add(item.playerIconDetail);
                    }
                    //model assets
                    if (item.models != null && item.models.Length > 0)
                    {
                        for (int ii = 0; ii < item.models.Length; ii++)
                        {
                            list.Add(item.models[ii].model);
                        }
                    }
                }
                #endregion

                #region common data
                list.Add(item.effect);
                if (item.effect.Equals(StoryConst.EYE_CLIP_EFFECT))
                {
                    list.Add(StoryConst.EYE_GAUSS_MATERIAL_ASSET);
                }

                //music assets
                if (item.musicData.validMusic && !item.musicData.musicName.Equals(StoryConst.STOP_CURRENT_MUSIC_FLAG) &&
                    !item.musicData.musicName.Equals(StoryConst.RESET_CURRENT_MUSIC_FLAG) && !item.musicData.musicName.Equals(StoryConst.RESET_LAST_MUSIC_FLAG))
                {
                    list.Add(item.musicData.musicName);
                }
                //voice assets
                list.Add(item.voiceName);
                //sound effect assets
                for (int j = 0; j < item.soundEffect.Length; j++)
                {
                    list.Add(item.soundEffect[j].soundName);
                }
                #endregion
            }
        }

        return(list);
    }