/// <summary> /// 支持使用图片显示战斗信息 /// </summary> /// <param name="moveType"></param> /// <param name="dmgType"></param> /// <param name="dmgText"></param> internal void ResetData(ENUM_DMG_MOVE_TYPE moveType, ENUM_DAMAGE_TYPE dmgType, string dmgText) { Reset(); uiBoard.SetFightInfo(moveType, dmgType, dmgText); uiBoard.Show(true); }
public void SetFightInfo(ENUM_DMG_MOVE_TYPE moveType, ENUM_DAMAGE_TYPE dmgType, string dmgText) { if (dmgType == ENUM_DAMAGE_TYPE.DAMAGE_NORMAL || dmgType == ENUM_DAMAGE_TYPE.DAMAGE_CRITICAL) { string exName = "hui-"; switch (moveType) { case ENUM_DMG_MOVE_TYPE.MOVE_STATUS: break; case ENUM_DMG_MOVE_TYPE.MOVE_DAMAGE_OTHER: exName = "hui-"; break; case ENUM_DMG_MOVE_TYPE.MOVE_DAMAGE_ME: exName = "hong-"; break; case ENUM_DMG_MOVE_TYPE.MOVE_HEAL_HP: exName = "lv-"; break; case ENUM_DMG_MOVE_TYPE.MOVE_HEAL_MP: exName = "zi-"; break; case ENUM_DMG_MOVE_TYPE.MOVE_SCENE_NAME: break; default: break; } if (dmgType == ENUM_DAMAGE_TYPE.DAMAGE_CRITICAL) { UIButton win = GetNextInfoWin(); win.SetTexture(IconManager.Instance.GetIcon("baoji")); exName = "huang-"; } char[] nums = dmgText.ToCharArray(); foreach (char num in nums) { UIButton win = GetNextInfoWin(); win.SetTexture(IconManager.Instance.GetIcon(exName + num)); } } else if (dmgType == ENUM_DAMAGE_TYPE.DAMAGE_MISS) { UIButton win = GetNextInfoWin(); win.SetTexture(IconManager.Instance.GetIcon("weimingzhong")); } else if (dmgType == ENUM_DAMAGE_TYPE.DAMAGE_Exp) { UIButton win = GetNextInfoWin(); win.SetTexture(IconManager.Instance.GetIcon("jingyian")); dmgText = "+" + dmgText; char[] nums = dmgText.ToCharArray(); foreach (char num in nums) { win = GetNextInfoWin(); win.SetTexture(IconManager.Instance.GetIcon("lan-" + num)); } } }
internal void AddNewBeHitBoard(bool bDouble, string dmgText, float x, float y, ENUM_DAMAGE_TYPE dmgType, ENUM_DMG_MOVE_TYPE moveType) { BeHitBoardManager.Instance.AddNewBeHit(bDouble, dmgText, x, y, dmgType, moveType); }
internal void AddNewBeHit(bool bDouble, string dmgText, float x, float y, ENUM_DAMAGE_TYPE dmgType, ENUM_DMG_MOVE_TYPE moveType) { if (allBoards.Count + freeBoards.Count > MaxHitCount) { return; } BeHitBoard pBeHit = GetFreeBoard(); if (pBeHit != null) { STRUCT_BEHIT_DATA PreDefine = DefineBehits[(int)moveType]; pBeHit.m_bDoubleHit = bDouble; pBeHit.m_ColorType = PreDefine.m_ColorType; pBeHit.m_BackColorType = PreDefine.m_BackColorType; //STRUCT_BEHIT_DATA* pItem = &PreDefine; pBeHit.m_nXSpeed = UnityEngine.Random.Range(-PreDefine.m_nXSpeed, PreDefine.m_nXSpeed); pBeHit.m_nYSpeed = PreDefine.m_nYSpeed + UnityEngine.Random.Range(3, 10); // Y象素级移动速度 pBeHit.m_nXAcceleration = PreDefine.m_nXAcceleration; pBeHit.m_nYAcceleration = PreDefine.m_nYAcceleration; // 两个方向的加速度 pBeHit.m_nMaxLife = PreDefine.m_nMaxLife; pBeHit.m_bAlphaMode = PreDefine.m_bAlphaMode; pBeHit.m_nMoveMode = PreDefine.m_nMoveMode; pBeHit.m_nUseTempPos = PreDefine.m_nUseTempPos; pBeHit.m_nStartX = x + PreDefine.m_fXPos; pBeHit.m_nStartY = y + PreDefine.m_fYPos; pBeHit.m_nMoveType = moveType; if (moveType == ENUM_DMG_MOVE_TYPE.MOVE_SCENE_NAME && dmgType == ENUM_DAMAGE_TYPE.DAMAGE_INVALID) { pBeHit.ResetData(dmgText); } else { pBeHit.ResetData(moveType, dmgType, dmgText); } pBeHit.Update(); allBoards.Add(pBeHit); pBeHit.InUse = true; } }