protected void DoTrigger(int nLogicCount, int nTargetCount, int[] paTargetIDs) { SetLogicCount(nLogicCount); if (GetSpecialObjData() != null && GetSpecialObjData().m_lpszEffect_Active != null && GetSpecialObjData().m_lpszEffect_Active.Length > 0) { CObject_Effect pEffectObj = (CObject_Effect)(CObjectManager.Instance.NewEffect(-1)); if (pEffectObj != null) { SObject_EffectInit initEffect = new SObject_EffectInit(); initEffect.m_fvPos = GetPosition(); initEffect.m_fvRot = new UnityEngine.Vector3(0.0f, 0.0f, 0.0f); initEffect.m_pszEffectName = GetSpecialObjData().m_lpszEffect_Active; initEffect.m_bLoopEffect = false; pEffectObj.Initial(initEffect); } } // 有子弹 if (GetSpecialObjData() != null && GetSpecialObjData().m_nBulletID != MacroDefine.INVALID_ID) { SObject_BulletInit initBullet = new SObject_BulletInit(); initBullet.m_fvPos = GetPosition(); UnityEngine.Vector3 fvRot = UnityEngine.Vector3.zero; fvRot.y = GetFaceDir(); initBullet.m_fvRot = fvRot; initBullet.m_idSend = (uint)ServerID; initBullet.m_nSendLogicCount = GetLogicCount(); initBullet.m_nBulletID = m_pSpecialObjData.m_nBulletID; initBullet.m_bSingleTarget = true; initBullet.m_fvTargetPos = new UnityEngine.Vector3(-1.0f, -1.0f, -1.0f); for (int i = 0; i < nTargetCount; i++) { initBullet.m_idTarget = paTargetIDs[i]; CObject_Bullet pBullet = (CObject_Bullet)CObjectManager.Instance.NewBullet(-1); pBullet.Initial(initBullet); } } else { CObject_Character pCharacter = null; for (int i = 0; i < nTargetCount; i++) { int idCharacter = paTargetIDs[i]; pCharacter = (CObject_Character)(CObjectManager.Instance.FindServerObject(idCharacter)); if (pCharacter != null) { pCharacter.ShowLogicEvent(ServerID, nLogicCount, true); } } } }
protected void AlreadyHit() { if (m_idTarget != MacroDefine.INVALID_ID) { CObject_Character pChar = (CObject_Character)CObjectManager.Instance.FindServerObject(m_idTarget); if (pChar != null) { pChar.ShowLogicEvent((int)m_idSend, m_nSendLogicCount, true); } } m_bAlreadyHit = true; if (m_pBulletData != null && m_pBulletData.m_szHitEffect.Length > 0) { ChangEffect(m_pBulletData.m_szHitEffect, false); } else { Release(); } }