| | |
| | | |
| | | using System;
|
| | | using System; |
| | | using System.Collections; |
| | | using Snxxz.UI; |
| | | using TableConfig; |
| | |
| | | { |
| | | deadModel.AllPlayerDieEvent -= AllPlayerDieEvent; |
| | | deadModel.AllPlayerRebornEvent -= AllPlayerRebornEvent; |
| | | DTC0429_tagObjResetPos.ResetPlayerPosEvent -= ResetPlayerPosEvent;
|
| | | DTC0102_tagCDBPlayer.afterPlayerDataInitializeEvent -= AfterPlayerDataInitializeEvent;
|
| | | DTC0429_tagObjResetPos.ResetPlayerPosEvent -= ResetPlayerPosEvent; |
| | | DTC0102_tagCDBPlayer.afterPlayerDataInitializeEvent -= AfterPlayerDataInitializeEvent; |
| | | DTCA112_tagMCDBPlayer.playerInitEvent -= PlayerInitEvent; |
| | | if (IsHeroControl) |
| | | { |
| | |
| | | pickUpBehaviour = null; |
| | | |
| | | base.OnUnit(); |
| | | }
|
| | |
|
| | | private void AfterPlayerDataInitializeEvent()
|
| | | {
|
| | | SnxxzGame.Instance.StartCoroutine(Co_RecheckPlayLifeState());
|
| | | }
|
| | |
|
| | | public void PlayerInitEvent()
|
| | | {
|
| | | CheckResetGuardState();
|
| | | }
|
| | |
|
| | | IEnumerator Co_RecheckPlayLifeState()
|
| | | {
|
| | | yield return null;
|
| | | CheckResetGuardState();
|
| | | }
|
| | |
|
| | | void CheckResetGuardState()
|
| | | {
|
| | | 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 AfterPlayerDataInitializeEvent() |
| | | { |
| | | SnxxzGame.Instance.StartCoroutine(Co_RecheckPlayLifeState()); |
| | | } |
| | | |
| | | public void PlayerInitEvent() |
| | | { |
| | | CheckResetGuardState(); |
| | | } |
| | | |
| | | IEnumerator Co_RecheckPlayLifeState() |
| | | { |
| | | yield return null; |
| | | CheckResetGuardState(); |
| | | } |
| | | |
| | | void CheckResetGuardState() |
| | | { |
| | | 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) |
| | |
| | | |
| | | m_SFXController.transform.SetParent(mountPoint); |
| | | |
| | | m_SFXController.transform.localPosition = Vector3.zero;
|
| | | m_SFXController.transform.localPosition = Vector3.zero; |
| | | m_SFXController.transform.localEulerAngles = Vector3.zero; |
| | | } |
| | | |
| | |
| | | if (!result || prefab == null) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | if (m_Model) |
| | | { |
| | | if (NpcConfig != null) |
| | | { |
| | | GameObject _toDestroy = InstanceResourcesLoader.LoadNpc(NpcConfig.NPCID); |
| | | if (_toDestroy) |
| | | { |
| | | GameObjectPoolManager.Instance.ReleaseGameObject(_toDestroy, m_Model); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | UnityEngine.Object.Destroy(m_Model); |
| | | } |
| | | |
| | | m_Model = null; |
| | | m_Animator = null; |
| | | } |
| | | |
| | | GAMgr.Instance.RemoveNeedDestroyPrefab(prefab as GameObject); |
| | |
| | | |
| | | if (DropItemManager.CheckCanGuardPickUp(Root.position)) |
| | | { |
| | | var dataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
|
| | | if (dataMapId != 0)
|
| | | {
|
| | | var dungeonConfig = Config.Instance.Get<DungeonOpenTimeConfig>(dataMapId);
|
| | | if (dungeonConfig != null)
|
| | | {
|
| | | if (dungeonConfig.GuardPick == 0)
|
| | | {
|
| | | return false;
|
| | | }
|
| | | }
|
| | | }
|
| | | var dataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID); |
| | | if (dataMapId != 0) |
| | | { |
| | | var dungeonConfig = Config.Instance.Get<DungeonOpenTimeConfig>(dataMapId); |
| | | if (dungeonConfig != null) |
| | | { |
| | | if (dungeonConfig.GuardPick == 0) |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (guardState != GuardState.PickUp) |
| | | { |