Beispiel #1
0
 public void CreateBattleFloatDigit(int digitValue, DIGIT_TYPE digitType, Vector3 worldPosition, int animatIndex)
 {
     if (this.IsFormOpen)
     {
         this.m_battleFloatDigitManager.CreateBattleFloatDigit(digitValue, digitType, ref worldPosition, animatIndex);
     }
 }
Beispiel #2
0
        public void CreateBattleFloatDigit(int digitValue, DIGIT_TYPE digitType, ref Vector3 worldPosition)
        {
            if (GameSettings.RenderQuality == SGameRenderQuality.Low && digitType != DIGIT_TYPE.MagicAttackCrit && digitType != DIGIT_TYPE.PhysicalAttackCrit && digitType != DIGIT_TYPE.RealAttackCrit && digitType != DIGIT_TYPE.ReceiveGoldCoinInBattle && digitType != DIGIT_TYPE.ReceiveLastHitGoldCoinInBattle)
            {
                return;
            }
            if (digitType == DIGIT_TYPE.ReviveHp && (long)digitValue < 50L)
            {
                return;
            }
            string[] array = CBattleFloatDigitManager.s_battleFloatDigitAnimatorStates[(int)digitType];
            if (array.Length <= 0)
            {
                return;
            }
            string text = (((digitType == DIGIT_TYPE.ReviveHp || digitType == DIGIT_TYPE.ReceiveSpirit || digitType == DIGIT_TYPE.ReceiveGoldCoinInBattle) && digitValue > 0) ? "+" : string.Empty) + Mathf.Abs(digitValue).ToString();

            if (digitType == DIGIT_TYPE.ReceiveSpirit)
            {
                text += "xp";
                return;
            }
            if (digitType == DIGIT_TYPE.ReceiveGoldCoinInBattle || digitType == DIGIT_TYPE.ReceiveLastHitGoldCoinInBattle)
            {
                text += "g";
            }
            this.CreateBattleFloatText(text, ref worldPosition, array[Random.Range(0, array.Length)], 0u);
        }
Beispiel #3
0
 public FloatDigitInfo(PoolObjHandle <ActorRoot> attacker, PoolObjHandle <ActorRoot> target, DIGIT_TYPE digitType, int value)
 {
     this.m_attacker  = attacker;
     this.m_target    = target;
     this.m_digitType = digitType;
     this.m_value     = value;
 }
Beispiel #4
0
 private bool CanMergeToCritText(ref DIGIT_TYPE type1, DIGIT_TYPE type2)
 {
     if ((type1 == DIGIT_TYPE.PhysicalAttackNormal && type2 == DIGIT_TYPE.PhysicalAttackCrit) || (type1 == DIGIT_TYPE.PhysicalAttackCrit && type2 == DIGIT_TYPE.PhysicalAttackNormal) || (type1 == DIGIT_TYPE.MagicAttackNormal && type2 == DIGIT_TYPE.MagicAttackCrit) || (type1 == DIGIT_TYPE.MagicAttackCrit && type2 == DIGIT_TYPE.MagicAttackNormal) || (type1 == DIGIT_TYPE.RealAttackNormal && type2 == DIGIT_TYPE.RealAttackCrit) || (type1 == DIGIT_TYPE.RealAttackCrit && type2 == DIGIT_TYPE.RealAttackNormal))
     {
         if (type1 < type2)
         {
             type1 = type2;
         }
         return(true);
     }
     return(false);
 }
Beispiel #5
0
 public void CreateBattleFloatDigit(int digitValue, DIGIT_TYPE digitType, ref Vector3 worldPosition, int animatIndex)
 {
     if ((((GameSettings.RenderQuality != SGameRenderQuality.Low) || (digitType == DIGIT_TYPE.MagicAttackCrit)) || ((digitType == DIGIT_TYPE.PhysicalAttackCrit) || (digitType == DIGIT_TYPE.RealAttackCrit))) || (digitType == DIGIT_TYPE.ReceiveGoldCoinInBattle))
     {
         string[] strArray = s_battleFloatDigitAnimatorStates[(int)digitType];
         if (((strArray.Length > 0) && (animatIndex >= 0)) && (animatIndex < strArray.Length))
         {
             string content = (((digitType != DIGIT_TYPE.ReceiveSpirit) || (digitValue <= 0)) ? string.Empty : "+") + SimpleNumericString.GetNumeric(Mathf.Abs(digitValue));
             this.CreateBattleFloatText(content, ref worldPosition, strArray[animatIndex], 0);
         }
     }
 }
Beispiel #6
0
        public void CreateBattleFloatDigit(int digitValue, DIGIT_TYPE digitType, ref Vector3 worldPosition, int animatIndex)
        {
            if (GameSettings.RenderQuality == SGameRenderQuality.Low && digitType != DIGIT_TYPE.MagicAttackCrit && digitType != DIGIT_TYPE.PhysicalAttackCrit && digitType != DIGIT_TYPE.RealAttackCrit && digitType != DIGIT_TYPE.ReceiveGoldCoinInBattle)
            {
                return;
            }
            string[] array = CBattleFloatDigitManager.s_battleFloatDigitAnimatorStates[(int)digitType];
            if (array.Length <= 0 || animatIndex < 0 || animatIndex >= array.Length)
            {
                return;
            }
            string content = ((digitType == DIGIT_TYPE.ReceiveSpirit && digitValue > 0) ? "+" : string.Empty) + SimpleNumericString.GetNumeric(Mathf.Abs(digitValue));

            this.CreateBattleFloatText(content, ref worldPosition, array[animatIndex], 0u);
        }
Beispiel #7
0
 public void CreateBattleFloatDigit(int digitValue, DIGIT_TYPE digitType, ref Vector3 worldPosition)
 {
     if (((((GameSettings.RenderQuality != SGameRenderQuality.Low) || (digitType == DIGIT_TYPE.MagicAttackCrit)) || ((digitType == DIGIT_TYPE.PhysicalAttackCrit) || (digitType == DIGIT_TYPE.RealAttackCrit))) || ((digitType == DIGIT_TYPE.ReceiveGoldCoinInBattle) || (digitType == DIGIT_TYPE.ReceiveLastHitGoldCoinInBattle))) && ((digitType != DIGIT_TYPE.ReviveHp) || (digitValue >= 50L)))
     {
         string[] strArray = s_battleFloatDigitAnimatorStates[(int)digitType];
         if (strArray.Length > 0)
         {
             string content = (((((digitType != DIGIT_TYPE.ReviveHp) && (digitType != DIGIT_TYPE.ReceiveSpirit)) && (digitType != DIGIT_TYPE.ReceiveGoldCoinInBattle)) || (digitValue <= 0)) ? string.Empty : "+") + Mathf.Abs(digitValue).ToString();
             if (digitType == DIGIT_TYPE.ReceiveSpirit)
             {
                 content = content + "xp";
             }
             else
             {
                 if ((digitType == DIGIT_TYPE.ReceiveGoldCoinInBattle) || (digitType == DIGIT_TYPE.ReceiveLastHitGoldCoinInBattle))
                 {
                     content = content + "g";
                 }
                 this.CreateBattleFloatText(content, ref worldPosition, strArray[UnityEngine.Random.Range(0, strArray.Length)], 0);
             }
         }
     }
 }
Beispiel #8
0
        public void CollectFloatDigitInSingleFrame(PoolObjHandle <ActorRoot> attacker, PoolObjHandle <ActorRoot> target, DIGIT_TYPE digitType, int value)
        {
            if (MonoSingleton <Reconnection> .GetInstance().isProcessingRelayRecover)
            {
                return;
            }
            if (this.m_floatDigitInfoList == null)
            {
                this.m_floatDigitInfoList = new List <FloatDigitInfo>();
            }
            FloatDigitInfo floatDigitInfo;

            for (int i = 0; i < this.m_floatDigitInfoList.get_Count(); i++)
            {
                floatDigitInfo = this.m_floatDigitInfoList.get_Item(i);
                if (floatDigitInfo.m_attacker == attacker && floatDigitInfo.m_target == target && (floatDigitInfo.m_digitType == digitType || this.CanMergeToCritText(ref floatDigitInfo.m_digitType, digitType)))
                {
                    floatDigitInfo.m_value += value;
                    this.m_floatDigitInfoList.set_Item(i, floatDigitInfo);
                    return;
                }
            }
            floatDigitInfo = new FloatDigitInfo(attacker, target, digitType, value);
            this.m_floatDigitInfoList.Add(floatDigitInfo);
        }
Beispiel #9
0
 public void CollectFloatDigitInSingleFrame(PoolObjHandle <ActorRoot> attacker, PoolObjHandle <ActorRoot> target, DIGIT_TYPE digitType, int value)
 {
     if (this.IsFormOpen)
     {
         this.m_battleFloatDigitManager.CollectFloatDigitInSingleFrame(attacker, target, digitType, value);
     }
 }
Beispiel #10
0
 public void CollectFloatDigitInSingleFrame(PoolObjHandle <ActorRoot> attacker, PoolObjHandle <ActorRoot> target, DIGIT_TYPE digitType, int value)
 {
     if (!MonoSingleton <Reconnection> .GetInstance().isProcessingRelayRecover)
     {
         FloatDigitInfo info;
         if (this.m_floatDigitInfoList == null)
         {
             this.m_floatDigitInfoList = new List <FloatDigitInfo>();
         }
         for (int i = 0; i < this.m_floatDigitInfoList.Count; i++)
         {
             info = this.m_floatDigitInfoList[i];
             if (((info.m_attacker == attacker) && (info.m_target == target)) && ((info.m_digitType == digitType) || this.CanMergeToCritText(ref info.m_digitType, digitType)))
             {
                 info.m_value += value;
                 this.m_floatDigitInfoList[i] = info;
                 return;
             }
         }
         info = new FloatDigitInfo(attacker, target, digitType, value);
         this.m_floatDigitInfoList.Add(info);
     }
 }