void Awake() { m_Instance = this; }
void OnDestroy() { m_Instance = null; }
//受击状态处理 void ProcessHitAnimState() { if (ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_NPC) { if (AnimLogic != null && AnimLogic.CurAnimData != null) { if (AnimLogic.CurAnimData.AnimID == (int)CharacterDefine.CharacterAnimId.Hit) { m_AnimLogic.Stop(); } if (m_Objanimation != null && m_Objanimation.isPlaying && AnimLogic.CurAnimData.AnimID == (int)CharacterDefine.CharacterAnimId.Attack) { return; } } if (null != m_AnimLogic) { m_AnimLogic.Play((int)(CharacterDefine.CharacterAnimId.Hit)); } } else if (ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_OTHER_PLAYER || ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER || ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_ZOMBIE_PLAYER || ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_FELLOW) { bool isPlay = true; Obj_OtherPlayer _otherPlayer = null; if (ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_OTHER_PLAYER || ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER) { _otherPlayer = this as Obj_OtherPlayer; } if (_otherPlayer == null) { if (null != m_AnimLogic) { isPlay = m_AnimLogic.Play((int)(CharacterDefine.CharacterAnimId.PlayerHit)); } } else if (_otherPlayer != null && _otherPlayer.MountID == -1) //骑马就不要播受击动作了 { if (null != m_AnimLogic) { isPlay = m_AnimLogic.Play((int)(CharacterDefine.CharacterAnimId.PlayerHit)); } } //玩家播放受击音效 if (isPlay) { if (ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_OTHER_PLAYER || ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER || ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_ZOMBIE_PLAYER) { //受击音效不要太频繁 加个时间间隔 if (_otherPlayer != null && Time.time - m_fLastPlayHitSoundTime >= 2) { m_fLastPlayHitSoundTime = Time.time; if (_otherPlayer.Profession == (int)CharacterDefine.PROFESSION.SHAOLIN) { PlaySoundAtPos(ObjType, 5, Position); //attack1_shaolin } else if (_otherPlayer.Profession == (int)CharacterDefine.PROFESSION.TIANSHAN) { PlaySoundAtPos(ObjType, 177, Position); //attack1_tianshan } else if (_otherPlayer.Profession == (int)CharacterDefine.PROFESSION.DALI) { PlaySoundAtPos(ObjType, 1, Position); //attack1_dali } else if (_otherPlayer.Profession == (int)CharacterDefine.PROFESSION.XIAOYAO) { PlaySoundAtPos(ObjType, 7, Position); //attack1_xiaoyao } else if (_otherPlayer.Profession == (int)CharacterDefine.PROFESSION.GAIBANG) { PlaySoundAtPos(ObjType, 168, Position); //attack1_gaibang } } //受伤害音效不要太频繁 加个时间间隔 //应策划需求,重新放开接口,by lizhe ~~ // if (_otherPlayer != null && Time.time - m_fLastPlayDamageSoundTime >= 1.5f) //{ // m_fLastPlayDamageSoundTime = Time.time; // PlaySoundAtPos(ObjType, 10, Position); //common_hurt //} } } } //击中效果跟技能音效分离的处理 //音量随机 //float volumeFactor = Random.Range(0.5f, 1.0f); //受击特效 主角自己不播放 if (ObjType != Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER) { PlayEffect(8); } if (ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER) { //受击打断 if (CollectItemSliderLogic.Instance()) { UIManager.CloseUI(UIInfo.CollectItemSlider); } } }