少年修仙传客户端代码仓库
client_linchunjie
2019-05-05 de56ab46ab60f78a5ca5febd48b9311c92501a53
3335 BossShow修改
6个文件已修改
385 ■■■■ 已修改文件
Core/GameEngine/Model/Config/ActorShowConfig.cs 350 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/ActorShowConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H08_Event/DTC0823_tagDelMission.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H08_Event/DTC0827_tagMissionDesc.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/ActorShowConfigWrap.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BossShow/BossShowModel.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/ActorShowConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:           Fish
//    [  Date ]:           Saturday, April 27, 2019
//    [  Date ]:           Sunday, May 05, 2019
//--------------------------------------------------------
using System.Collections.Generic;
@@ -13,33 +13,33 @@
public partial class ActorShowConfig
{
    public readonly int ID;
    public readonly int NpcID;
    public readonly int MapID;
    public readonly int line;
    public readonly int[] showNpcs;
    public readonly int length;
    public readonly int showNameTime;
    public readonly int BindMissionID;
    public readonly int type;
    public readonly int[] scale;
    public readonly int[] NpcFace;
    public readonly int[] PosX;
    public readonly int[] PosY;
    public readonly int shadow;
    public readonly int[] effect;
    public readonly int uieffect;
    public readonly string[] mob;
    public readonly int[] clipActions;
    public readonly string cam;
    public readonly int[] Height;
    public readonly int DialogueTime;
    public readonly int Dialogue;
    public readonly int soundId;
    public readonly int soundTime;
    public readonly int step;
    public readonly int ID;
    public readonly int NpcID;
    public readonly int MapID;
    public readonly int line;
    public readonly int[] showNpcs;
    public readonly int length;
    public readonly int showNameTime;
    public readonly Int3 BindMissionID;
    public readonly int type;
    public readonly int[] scale;
    public readonly int[] NpcFace;
    public readonly int[] PosX;
    public readonly int[] PosY;
    public readonly int shadow;
    public readonly int[] effect;
    public readonly int uieffect;
    public readonly string[] mob;
    public readonly int[] clipActions;
    public readonly string cam;
    public readonly int[] Height;
    public readonly int DialogueTime;
    public readonly int Dialogue;
    public readonly int soundId;
    public readonly int soundTime;
    public readonly int step;
    public ActorShowConfig()
    public ActorShowConfig()
    {
    }
@@ -49,95 +49,95 @@
        {
            var tables = input.Split('\t');
            int.TryParse(tables[0], out ID);
            int.TryParse(tables[1], out NpcID);
            int.TryParse(tables[2], out MapID);
            int.TryParse(tables[3], out line);
            string[] showNpcsStringArray = tables[4].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
            showNpcs = new int[showNpcsStringArray.Length];
            for (int i = 0; i < showNpcsStringArray.Length; i++)
            {
                int.TryParse(showNpcsStringArray[i], out showNpcs[i]);
            }
            int.TryParse(tables[5], out length);
            int.TryParse(tables[6], out showNameTime);
            int.TryParse(tables[7], out BindMissionID);
            int.TryParse(tables[8], out type);
            string[] scaleStringArray = tables[9].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
            scale = new int[scaleStringArray.Length];
            for (int i = 0; i < scaleStringArray.Length; i++)
            {
                int.TryParse(scaleStringArray[i], out scale[i]);
            }
            string[] NpcFaceStringArray = tables[10].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
            NpcFace = new int[NpcFaceStringArray.Length];
            for (int i = 0; i < NpcFaceStringArray.Length; i++)
            {
                int.TryParse(NpcFaceStringArray[i], out NpcFace[i]);
            }
            string[] PosXStringArray = tables[11].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
            PosX = new int[PosXStringArray.Length];
            for (int i = 0; i < PosXStringArray.Length; i++)
            {
                int.TryParse(PosXStringArray[i], out PosX[i]);
            }
            string[] PosYStringArray = tables[12].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
            PosY = new int[PosYStringArray.Length];
            for (int i = 0; i < PosYStringArray.Length; i++)
            {
                int.TryParse(PosYStringArray[i], out PosY[i]);
            }
            int.TryParse(tables[13], out shadow);
            string[] effectStringArray = tables[14].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
            effect = new int[effectStringArray.Length];
            for (int i = 0; i < effectStringArray.Length; i++)
            {
                int.TryParse(effectStringArray[i], out effect[i]);
            }
            int.TryParse(tables[15], out uieffect);
            mob = tables[16].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
            string[] clipActionsStringArray = tables[17].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
            clipActions = new int[clipActionsStringArray.Length];
            for (int i = 0; i < clipActionsStringArray.Length; i++)
            {
                int.TryParse(clipActionsStringArray[i], out clipActions[i]);
            }
            cam = tables[18];
            string[] HeightStringArray = tables[19].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
            Height = new int[HeightStringArray.Length];
            for (int i = 0; i < HeightStringArray.Length; i++)
            {
                int.TryParse(HeightStringArray[i], out Height[i]);
            }
            int.TryParse(tables[20], out DialogueTime);
            int.TryParse(tables[21], out Dialogue);
            int.TryParse(tables[22], out soundId);
            int.TryParse(tables[23], out soundTime);
            int.TryParse(tables[24], out step);
            int.TryParse(tables[0],out ID);
            int.TryParse(tables[1],out NpcID);
            int.TryParse(tables[2],out MapID);
            int.TryParse(tables[3],out line);
            string[] showNpcsStringArray = tables[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            showNpcs = new int[showNpcsStringArray.Length];
            for (int i=0;i<showNpcsStringArray.Length;i++)
            {
                 int.TryParse(showNpcsStringArray[i],out showNpcs[i]);
            }
            int.TryParse(tables[5],out length);
            int.TryParse(tables[6],out showNameTime);
            Int3.TryParse(tables[7],out BindMissionID);
            int.TryParse(tables[8],out type);
            string[] scaleStringArray = tables[9].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            scale = new int[scaleStringArray.Length];
            for (int i=0;i<scaleStringArray.Length;i++)
            {
                 int.TryParse(scaleStringArray[i],out scale[i]);
            }
            string[] NpcFaceStringArray = tables[10].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            NpcFace = new int[NpcFaceStringArray.Length];
            for (int i=0;i<NpcFaceStringArray.Length;i++)
            {
                 int.TryParse(NpcFaceStringArray[i],out NpcFace[i]);
            }
            string[] PosXStringArray = tables[11].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            PosX = new int[PosXStringArray.Length];
            for (int i=0;i<PosXStringArray.Length;i++)
            {
                 int.TryParse(PosXStringArray[i],out PosX[i]);
            }
            string[] PosYStringArray = tables[12].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            PosY = new int[PosYStringArray.Length];
            for (int i=0;i<PosYStringArray.Length;i++)
            {
                 int.TryParse(PosYStringArray[i],out PosY[i]);
            }
            int.TryParse(tables[13],out shadow);
            string[] effectStringArray = tables[14].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            effect = new int[effectStringArray.Length];
            for (int i=0;i<effectStringArray.Length;i++)
            {
                 int.TryParse(effectStringArray[i],out effect[i]);
            }
            int.TryParse(tables[15],out uieffect);
            mob = tables[16].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            string[] clipActionsStringArray = tables[17].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            clipActions = new int[clipActionsStringArray.Length];
            for (int i=0;i<clipActionsStringArray.Length;i++)
            {
                 int.TryParse(clipActionsStringArray[i],out clipActions[i]);
            }
            cam = tables[18];
            string[] HeightStringArray = tables[19].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            Height = new int[HeightStringArray.Length];
            for (int i=0;i<HeightStringArray.Length;i++)
            {
                 int.TryParse(HeightStringArray[i],out Height[i]);
            }
            int.TryParse(tables[20],out DialogueTime);
            int.TryParse(tables[21],out Dialogue);
            int.TryParse(tables[22],out soundId);
            int.TryParse(tables[23],out soundTime);
            int.TryParse(tables[24],out step);
        }
        catch (Exception ex)
        {
@@ -147,13 +147,13 @@
    static Dictionary<string, ActorShowConfig> configs = new Dictionary<string, ActorShowConfig>();
    public static ActorShowConfig Get(string id)
    {
        if (!inited)
    {
        if (!inited)
        {
            Debug.Log("ActorShowConfig 还未完成初始化。");
            return null;
        }
        if (configs.ContainsKey(id))
        {
            return configs[id];
@@ -169,7 +169,7 @@
        return config;
    }
    public static ActorShowConfig Get(int id)
    public static ActorShowConfig Get(int id)
    {
        return Get(id.ToString());
    }
@@ -196,32 +196,32 @@
        return values;
    }
    public static bool Has(string id)
    public static bool Has(string id)
    {
        return configs.ContainsKey(id) || rawDatas.ContainsKey(id);
    }
    public static bool Has(int id)
    public static bool Has(int id)
    {
        return Has(id.ToString());
    }
    public static bool inited { get; private set; }
    public static bool inited { get; private set; }
    protected static Dictionary<string, string> rawDatas = new Dictionary<string, string>();
    public static void Init(bool sync = false)
    public static void Init(bool sync=false)
    {
        inited = false;
        var path = string.Empty;
        inited = false;
        var path = string.Empty;
        if (AssetSource.refdataFromEditor)
        {
            path = ResourcesPath.CONFIG_FODLER + "/ActorShow.txt";
            path = ResourcesPath.CONFIG_FODLER +"/ActorShow.txt";
        }
        else
        {
            path = AssetVersionUtility.GetAssetFilePath("config/ActorShow.txt");
        }
        var tempConfig = new ActorShowConfig();
        var tempConfig = new ActorShowConfig();
        var preParse = tempConfig is IConfigPostProcess;
        if (sync)
@@ -233,67 +233,67 @@
            }
            for (int i = 3; i < lines.Length; i++)
            {
                try
                {
                    var line = lines[i];
                    var index = line.IndexOf("\t");
                    if (index == -1)
                    {
                        continue;
                    }
                    var id = line.Substring(0, index);
                try
                {
                    var line = lines[i];
                    var index = line.IndexOf("\t");
                    if (index == -1)
                    {
                        continue;
                    }
                    var id = line.Substring(0, index);
                    if (preParse)
                    {
                        var config = new ActorShowConfig(line);
                        configs[id] = config;
                        (config as IConfigPostProcess).OnConfigParseCompleted();
                    }
                    else
                    {
                        rawDatas[id] = line;
                    }
                }
                catch (System.Exception ex)
                    if (preParse)
                    {
                        var config = new ActorShowConfig(line);
                        configs[id] = config;
                        (config as IConfigPostProcess).OnConfigParseCompleted();
                    }
                    else
                    {
                        rawDatas[id] = line;
                    }
                }
                catch (System.Exception ex)
                {
                    Debug.LogError(ex);
                }
            }
            inited = true;
            inited = true;
        }
        else
        {
            ThreadPool.QueueUserWorkItem((object _object) =>
            {
                var lines = File.ReadAllLines(path);
                if (!preParse)
                {
                    rawDatas = new Dictionary<string, string>(lines.Length - 3);
                }
                if (!preParse)
                {
                    rawDatas = new Dictionary<string, string>(lines.Length - 3);
                }
                for (int i = 3; i < lines.Length; i++)
                {
                    try
                    {
                        var line = lines[i];
                        var index = line.IndexOf("\t");
                        if (index == -1)
                        {
                            continue;
                        }
                        var id = line.Substring(0, index);
                    try
                    {
                       var line = lines[i];
                        var index = line.IndexOf("\t");
                        if (index == -1)
                        {
                            continue;
                        }
                        var id = line.Substring(0, index);
                        if (preParse)
                        {
                            var config = new ActorShowConfig(line);
                            configs[id] = config;
                            (config as IConfigPostProcess).OnConfigParseCompleted();
                        }
                        else
                        {
                            rawDatas[id] = line;
                        }
                    }
                    catch (System.Exception ex)
                        if (preParse)
                        {
                            var config = new ActorShowConfig(line);
                            configs[id] = config;
                            (config as IConfigPostProcess).OnConfigParseCompleted();
                        }
                        else
                        {
                            rawDatas[id] = line;
                        }
                    }
                    catch (System.Exception ex)
                    {
                        Debug.LogError(ex);
                    }
Core/GameEngine/Model/Config/ActorShowConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: ef8ad14c092549545a7623899eb26c2a
timeCreated: 1556351379
timeCreated: 1557036566
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Core/NetworkPackage/DTCFile/ServerPack/H08_Event/DTC0823_tagDelMission.cs
@@ -29,7 +29,6 @@
        {
            taskmodel.DelMission((int)vNetData.MissionID);
            treasureModel.ReceivePackage(vNetData);
            BossShowModel.Instance.ReceivePackage(vNetData);
        }
        //  PlayerDatas.Inst.missionDetail.DeleteMission((int)vNetData.MissionID);
    }
Core/NetworkPackage/DTCFile/ServerPack/H08_Event/DTC0827_tagMissionDesc.cs
@@ -30,6 +30,7 @@
            taskmodel.RefreshMissionState((int)vNetData.MissionID, vNetData.MissionState, vNetData.DiscriptionIndex);
            PreFightMission.Instance.HandleUpdatePackage(vNetData);
            treasureModel.ReceivePackage(vNetData);
            BossShowModel.Instance.ReceivePackage(vNetData);
        }
    }
Lua/Gen/ActorShowConfigWrap.cs
@@ -33,7 +33,6 @@
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "showNpcs", _g_get_showNpcs);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "length", _g_get_length);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "showNameTime", _g_get_showNameTime);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "BindMissionID", _g_get_BindMissionID);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "type", _g_get_type);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "scale", _g_get_scale);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "NpcFace", _g_get_NpcFace);
@@ -479,20 +478,6 @@
            
                ActorShowConfig gen_to_be_invoked = (ActorShowConfig)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.showNameTime);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_BindMissionID(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                ActorShowConfig gen_to_be_invoked = (ActorShowConfig)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.BindMissionID);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
System/BossShow/BossShowModel.cs
@@ -197,6 +197,10 @@
                {
                    SendGuideComplete((DungeonShowType)actorShowModel.NpcID);
                }
                if (actorShowModel.BindMissionID.x != 0)
                {
                    taskmodel.AutomaticTripToTask(taskmodel.currentMission);
                }
            }
            var _hero = PlayerDatas.Instance.hero;
            if (_handleFight && _hero != null && !_hero.ActorInfo.serverDie)
@@ -458,16 +462,22 @@
            return null;
        }
        public void ReceivePackage(H0823_tagDelMission vNetData)
        public void ReceivePackage(H0827_tagMissionDesc vNetData)
        {
            if (DTC0403_tagPlayerLoginLoadOK.finishedLogin)
            {
                var configs = ActorShowConfig.GetValues();
                foreach (var config in configs)
                {
                    if (config.BindMissionID == vNetData.MissionID)
                    if (config.BindMissionID.x == vNetData.MissionID
                        && config.BindMissionID.y == vNetData.MissionState
                        && config.BindMissionID.z == vNetData.DiscriptionIndex)
                    {
                        StartBossShow(config.MapID, config.NpcID);
                        Start(config.MapID, config.NpcID);
                        if (PlayerDatas.Instance.hero != null)
                        {
                            PlayerDatas.Instance.hero.StopAll();
                        }
                        return;
                    }
                }