public string BuffImpact_GetIconNameByIndex(int nIndex) { _BUFF_IMPACT_INFO pBuffImpactInfo = BuffImpact_GetByIndex(nIndex); if (pBuffImpactInfo != null) { _DBC_BUFF_IMPACT pBuffImpact = CDataBaseSystem.Instance.GetDataBase <_DBC_BUFF_IMPACT>((int)DataBaseStruct.DBC_BUFF_IMPACT).Search_Index_EQU(pBuffImpactInfo.m_nBuffID); if (pBuffImpact != null) { return(pBuffImpact.m_szIconName); } } return(""); }
public string BuffImpact_GetToolTips(int nSN) { _BUFF_IMPACT_INFO pBuffImpactInfo = BuffImpact_Get(nSN); if (pBuffImpactInfo != null) { _DBC_BUFF_IMPACT pBuffImpact = CDataBaseSystem.Instance.GetDataBase <_DBC_BUFF_IMPACT>((int)DataBaseStruct.DBC_BUFF_IMPACT).Search_Index_EQU(pBuffImpactInfo.m_nBuffID); if (pBuffImpact != null) { return(pBuffImpact.m_pszInfo); } } return(""); }
public void ShowTooltip(float x, float y, short BuffID) { if (bufferID_ != BuffID) { bufferID_ = BuffID; _DBC_BUFF_IMPACT pBuffImpact = CDataBaseSystem.Instance.GetDataBase <_DBC_BUFF_IMPACT>((int)DataBaseStruct.DBC_BUFF_IMPACT).Search_Index_EQU((int)bufferID_); if (pBuffImpact != null) { bufferDesc_ = pBuffImpact.m_pszInfo; } else { bufferDesc_ = "无描述"; } } bufferDesc.Text = bufferDesc_; gameObject.transform.position = new Vector3(x, y - 160, UIZDepthManager.TooltipZ); gameObject.SetActiveRecursively(true); }
public void UpdateBuffEffect() { if (m_Character.GetRenderInterface() != null) { foreach (KeyValuePair <uint, SImpactEffect> subItem in m_mapImpactEffect) { uint uImpactID = subItem.Key; SImpactEffect pImpactEffect = subItem.Value; _DBC_BUFF_IMPACT pBuffImpact = CDataBaseSystem.Instance.GetDataBase <_DBC_BUFF_IMPACT>((int)DataBaseStruct.DBC_BUFF_IMPACT).Search_Index_EQU((int)uImpactID); object objTemp = (object)pBuffImpact; if (objTemp == null) { continue; } if (pBuffImpact.m_lpszEffect_Continuous.Length > 0 && m_Character.GetRenderInterface() != null) { uint uEffect = m_Character.GetRenderInterface().AddEffect(pBuffImpact.m_lpszEffect_Continuous, pBuffImpact.m_lpszBind_Continuous); pImpactEffect.SetEffect(uEffect); } } } }
////public Dictionary<uint, SImpactEffect> GetImpactEffectMap() ////{ //// return m_mapImpactEffect; ////} private bool InsertImpact(uint idImpact, uint uCreatorID, bool bShowEnableEffect) { SImpactEffect pImpactEffect; if (!m_mapImpactEffect.ContainsKey(idImpact)) { pImpactEffect = new SImpactEffect(); pImpactEffect.SetImpactID(idImpact); pImpactEffect.SetCreatorID(uCreatorID); m_mapImpactEffect[idImpact] = pImpactEffect; _DBC_BUFF_IMPACT pBuffImpact = CDataBaseSystem.Instance.GetDataBase <_DBC_BUFF_IMPACT>((int)DataBaseStruct.DBC_BUFF_IMPACT).Search_Index_EQU((int)idImpact); object objTemp = (object)pBuffImpact; if (objTemp != null) { bool bLineEffect = pBuffImpact.m_bLineEffect; string strCreatorLocator = pBuffImpact.m_pszCreatorLocator; pImpactEffect.SetLineEffect(bLineEffect); pImpactEffect.SetCreatorLocator(strCreatorLocator); if (bShowEnableEffect) { // 效果触发的特效(RenderInterface自动会删除) if (pBuffImpact.m_lpszEffect_Active.Length > 0 && m_Character.GetRenderInterface() != null) { m_Character.GetRenderInterface().AddEffect(pBuffImpact.m_lpszEffect_Active, pBuffImpact.m_lpszBind_Active); } if (pBuffImpact.m_lpszSound_Active.Length > 0) { //Vector3 fvPos = m_Character.getPosition(); ////sunyu此接口是提供给fairy调用的音效接口,所以传入坐标必须是gfx坐标 //Vector3 fvGame; //if (!GameProcedure.s_pGfxSystem.Axis_Trans(CRenderSystem.AX_GAME, fvPos, // CRenderSystem.AX_GFX, fvGame)) //{ // return false; //} //CSoundSystemFMod._PlaySoundFunc(pBuffImpact.m_lpszSound_Active, &fvGame.x, false); } } //需要我们控制的特效 if (pBuffImpact.m_lpszBind_Continuous.Length > 0 && pBuffImpact.m_lpszEffect_Continuous.Length > 0 && m_Character.GetRenderInterface() != null) { uint uEffect = m_Character.GetRenderInterface().AddEffect(pBuffImpact.m_lpszEffect_Continuous, pBuffImpact.m_lpszBind_Continuous); pImpactEffect.SetEffect(uEffect); UpdateEffectTargetPos(pImpactEffect); } } } else { pImpactEffect = m_mapImpactEffect[idImpact]; } pImpactEffect.AddRefCount(); //更新宠物Frame //UpdatePetFrame(); return(true); }
public void UpdateTime() { //CObject_Character pChar = null; switch (type_) { case ENUM_BUFFER_TYPE.AVATAR: { _BUFF_IMPACT_INFO buff = CDataPool.Instance.BuffImpact_GetByIndex(index_); if (buff != null) { if (buff.m_nBuffID != bufferID_) { _DBC_BUFF_IMPACT pBuffImpact = CDataBaseSystem.Instance.GetDataBase <_DBC_BUFF_IMPACT>((int)DataBaseStruct.DBC_BUFF_IMPACT).Search_Index_EQU(buff.m_nBuffID); string iconName = ""; if (pBuffImpact != null) { iconName = pBuffImpact.m_szIconName; } bufferID_ = buff.m_nBuffID; Texture2D tex = IconManager.Instance.GetIcon(iconName); SetTexture(tex); } timeStamp_ = GameProcedure.s_pTimeSystem.GetTimeNow(); Hide(false); this.Text = string.Format("{0:F1}", buff.m_nTimer / 1000.0f) + "s"; } else { Hide(true); bufferID_ = 0; } } break; case ENUM_BUFFER_TYPE.TARGET: { bool needHide = true; if (CObjectManager.Instance.GetMainTarget() != null) { CObject_Character obj = CObjectManager.Instance.GetMainTarget() as CObject_Character; if (obj != null) { SImpactEffect impactEffect = obj.Impact.BuffImpact_GetByIndex(index_); if (impactEffect != null) { if ((short)impactEffect.GetImpactID() != bufferID_) { _DBC_BUFF_IMPACT pBuffImpact = CDataBaseSystem.Instance.GetDataBase <_DBC_BUFF_IMPACT>((int)DataBaseStruct.DBC_BUFF_IMPACT).Search_Index_EQU((int)impactEffect.GetImpactID()); string iconName = ""; if (pBuffImpact != null) { iconName = pBuffImpact.m_szIconName; } bufferID_ = (short)impactEffect.GetImpactID(); Texture2D tex = IconManager.Instance.GetIcon(iconName); SetTexture(tex); } needHide = false; } } } if (needHide) { bufferID_ = 0; } Hide(needHide); this.Text = ""; } break; case ENUM_BUFFER_TYPE.TEAM: break; } }