少年修仙传客户端代码仓库
client_Zxw
2018-12-28 cd21d2fa8175378f56760f9738c3638f68d092f4
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
1个文件已修改
40 ■■■■ 已修改文件
Fight/GameActor/GA_Guard.cs 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_Guard.cs
@@ -1,4 +1,5 @@

using System;
using System.Collections;
using Snxxz.UI;
using TableConfig;
@@ -92,6 +93,7 @@
        if (IsHeroControl)
        {
            StageManager.Instance.onStageLoadFinish += OnStageLoadFinish;
            DTC0102_tagCDBPlayer.afterPlayerDataInitializeEvent += AfterPlayerDataInitializeEvent;
        }
        IsPlayerDie = false;
@@ -106,7 +108,7 @@
            pickUpBehaviour = Root.GetComponent<GuardPickupItem>();
            if (pickUpBehaviour != null)
            {
                Object.DestroyImmediate(pickUpBehaviour);
                UnityEngine.Object.DestroyImmediate(pickUpBehaviour);
            }
        }
    }
@@ -127,7 +129,8 @@
    {
        deadModel.AllPlayerDieEvent -= AllPlayerDieEvent;
        deadModel.AllPlayerRebornEvent -= AllPlayerRebornEvent;
        DTC0429_tagObjResetPos.ResetPlayerPosEvent -= ResetPlayerPosEvent;
        DTC0429_tagObjResetPos.ResetPlayerPosEvent -= ResetPlayerPosEvent;
        DTC0102_tagCDBPlayer.afterPlayerDataInitializeEvent -= AfterPlayerDataInitializeEvent;
        if (IsHeroControl)
        {
            StageManager.Instance.onStageLoadFinish -= OnStageLoadFinish;
@@ -143,13 +146,40 @@
            m_Animator.speed = animatorSpeed;
            NextAction = GuardAction_Idle;
        }
        guardState = GuardState.Idle;
        IsStateActive = false;
        pickUpBehaviour = null;
        base.OnUnit();
    }
    }
    private void AfterPlayerDataInitializeEvent()
    {
        SnxxzGame.Instance.StartCoroutine(Co_RecheckPlayLifeState());
    }
    IEnumerator Co_RecheckPlayLifeState()
    {
        yield return null;
        if (guardState == GuardState.Inter)
        {
            var hero = PlayerDatas.Instance.hero;
            if (hero != null)
            {
                if (hero.ActorInfo != null && !hero.ActorInfo.serverDie)
                {
                    IsPlayerDie = false;
                    IsStateActive = true;
                    if (m_Animator)
                    {
                        m_Animator.enabled = true;
                    }
                    SetPosition(hero.Pos.x / 2, hero.Pos.y / 2);
                }
            }
        }
    }
    private void ReleasePickUpBehaviour()
    {
        if (pickUpBehaviour != null)