少年修仙传客户端代码仓库
client_Wu Xijin
2019-05-25 0b819c8ccd96fa17f4b59420eb18b8ad069908e9
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

# Conflicts:
# Lua/LuaUtility.cs
3个文件已修改
101 ■■■■■ 已修改文件
Fight/Actor/HeroBehaviour.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/LuaUtility.cs 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/ClientTreasureDungeonStage.cs 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/HeroBehaviour.cs
@@ -745,6 +745,12 @@
                _serverHurtList.Clear();
                if (ClientDungeonStageUtility.isClientDungeon)
                {
                    _b405.PosX = (ushort)(GA_Hero.recordServerPos.x + GA_Hero.MapOffset.x);
                    _b405.PosY = (ushort)(GA_Hero.recordServerPos.z + GA_Hero.MapOffset.z);
                }
                //        Debug.LogFormat("释放了技能: {0},当前位置: {1} 目标位置: {2}", _b405.SkillID, new Vector2(_b405.PosX, _b405.PosY), new Vector2(_b405.TagPosX, _b405.TagPosY));
                uint _bindID = 0;
                // 创建出攻击客户端攻击对象和服务端攻击对象
@@ -766,11 +772,6 @@
                        if (_bindID == 0)
                        {
                            continue;
                        }
                        else
                        {
                            _b405.PosX = (ushort)(GA_Hero.recordServerPos.x + GA_Hero.MapOffset.x);
                            _b405.PosY = (ushort)(GA_Hero.recordServerPos.z + GA_Hero.MapOffset.z);
                        }
                    }
Lua/LuaUtility.cs
@@ -25,12 +25,14 @@
        return env.NewTable();
    }
    public static LuaTable Global {
    public static LuaTable Global
    {
        get { return env.Global; }
    }
    public static void Init()
    {
        Do("fight/utils/FightRequire");
    }
System/Treasure/ClientTreasureDungeonStage.cs
@@ -22,6 +22,9 @@
    static bool IsCompleteDialogue = false;
    SFXController m_CompleteSfx1;
    List<SFXController> m_FlyControllers = new List<SFXController>();
    DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
    public override void Initialize()
@@ -57,6 +60,7 @@
        GlobalTimeEvent.Instance.secondEvent += PerSecond;
        BossShowModel.Instance.bossShowCompletedEvent -= BossShowCompletedEvent;
        BossShowModel.Instance.bossShowCompletedEvent += BossShowCompletedEvent;
        dungeonModel.onDungeonResultEvent += OnDungeonResultEvent;
    }
    protected override void OnStageLoadFinish()
@@ -128,6 +132,49 @@
        PlayerDatas.Instance.hero.Behaviour.StartHandupAI();
    }
    private void OnDungeonResultEvent()
    {
        UnInitializeSFX();
        m_CompleteSfx1 = SFXPlayUtility.Instance.Play(20045, NpcBornPosition, Vector3.forward);
        if (m_Npc != null)
        {
            GAMgr.Instance.ServerDie(m_Npc.ServerInstID);
            GAMgr.Instance.Release(m_Npc);
            m_Npc = null;
        }
        StartCoroutine(Co_PlayFly());
    }
    IEnumerator Co_PlayFly()
    {
        yield return WaitingForSecondConst.WaitMS800;
        var heroPos = PlayerDatas.Instance.hero.Pos;
        for (int i = 0; i < 5; i++)
        {
            var startPos = NpcBornPosition + Vector3.up * 0.5f;
            var endPos = heroPos + Vector3.up * 0.5f;
            startPos.y = heroPos.y;
            m_FlyControllers.Add(SFXPlayUtility.Instance.Play(20046, startPos, Vector3.forward));
            var bezier = m_FlyControllers[i].AddMissingComponent<BezierMove>();
            m_FlyControllers[i].gameObject.SetLayer(LayerUtility.DefaultLayer, true);
            var axis = (endPos - startPos).normalized;
            var center = (startPos + endPos) / 2 - axis * 0.3f;
            var point = center + Vector3.up * 4;
            point = Quaternion.AngleAxis((i - 2) * 30, axis) * (point - center) + center;
            bezier.duration = 1f;
            bezier.Begin(startPos, point, endPos, null);
        }
    }
    private void PerSecond()
    {
        var hero = PlayerDatas.Instance.hero;
@@ -165,6 +212,31 @@
            Clock.Stop(fightEndClock);
            fightEndClock = null;
        }
        UnInitializeSFX();
    }
    void UnInitializeSFX()
    {
        if (m_CompleteSfx1 != null)
        {
            SFXPlayUtility.Instance.Release(m_CompleteSfx1);
            m_CompleteSfx1 = null;
        }
        if (m_FlyControllers.Count > 0)
        {
            foreach (var sfx in m_FlyControllers)
            {
                var bezier = sfx.GetComponent<BezierMove>();
                if (bezier != null)
                {
                    DestroyImmediate(bezier);
                }
                SFXPlayUtility.Instance.Release(sfx);
            }
            m_FlyControllers.Clear();
        }
    }
    public override void UnInitialize()
@@ -173,9 +245,21 @@
        UnInitializedNpc();
        StopAllCoroutines();
        NPCInteractProcessor.s_NpcInteractEvent -= OnNpcTalkEvent;
        NormalDialogueWin.onDialogueComplete -= OnDialogueComplete;
        GlobalTimeEvent.Instance.secondEvent -= PerSecond;
        BossShowModel.Instance.bossShowCompletedEvent -= BossShowCompletedEvent;
        BossShowModel.Instance.bossShowCompletedEvent -= BossShowCompletedEvent;
        dungeonModel.onDungeonResultEvent -= OnDungeonResultEvent;
    }
#if UNITY_EDITOR
    private void OnGUI()
    {
        if (GUILayout.Button("Test"))
        {
            OnDungeonResultEvent();
        }
    }
#endif
}