/// <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);
    }
Exemplo n.º 2
0
    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));
            }
        }
    }
Exemplo n.º 3
0
 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;
        }
    }