You've already forked taptap2024_GJ_chidouren
359 lines
18 KiB
C#
359 lines
18 KiB
C#
using System;
|
|
using System.Text;
|
|
namespace Game
|
|
{
|
|
public class RofAchievementRow : IRofBase
|
|
{
|
|
public int ID { get; private set; }
|
|
public string Key { get; private set; }
|
|
public int State { get; private set; }
|
|
public string Desc { get; private set; }
|
|
public string Info { get; private set; }
|
|
public int AchievementCode { get; private set; }
|
|
public int Condition { get; private set; }
|
|
public int TargetValue { get; private set; }
|
|
public int ReadBody(byte[] rData, int nOffset)
|
|
{
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
ID = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nKeyLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
Key = Encoding.UTF8.GetString(rData, nOffset, nKeyLen); nOffset += nKeyLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
State = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nDescLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
Desc = Encoding.UTF8.GetString(rData, nOffset, nDescLen); nOffset += nDescLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nInfoLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
Info = Encoding.UTF8.GetString(rData, nOffset, nInfoLen); nOffset += nInfoLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
AchievementCode = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
Condition = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
TargetValue = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
return nOffset;
|
|
}
|
|
}
|
|
public class RofEchoCardRow : IRofBase
|
|
{
|
|
public int ID { get; private set; }
|
|
public int quality { get; private set; }
|
|
public string name { get; private set; }
|
|
public int price { get; private set; }
|
|
public int skillId { get; private set; }
|
|
public string enemyType { get; private set; }
|
|
public string spritePath { get; private set; }
|
|
public int weight { get; private set; }
|
|
public string maskId { get; private set; }
|
|
public int ReadBody(byte[] rData, int nOffset)
|
|
{
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
ID = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
quality = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nnameLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
name = Encoding.UTF8.GetString(rData, nOffset, nnameLen); nOffset += nnameLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
price = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
skillId = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nenemyTypeLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
enemyType = Encoding.UTF8.GetString(rData, nOffset, nenemyTypeLen); nOffset += nenemyTypeLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nspritePathLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
spritePath = Encoding.UTF8.GetString(rData, nOffset, nspritePathLen); nOffset += nspritePathLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
weight = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nmaskIdLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
maskId = Encoding.UTF8.GetString(rData, nOffset, nmaskIdLen); nOffset += nmaskIdLen;
|
|
return nOffset;
|
|
}
|
|
}
|
|
public class RofEchoCardGroupRow : IRofBase
|
|
{
|
|
public int ID { get; private set; }
|
|
public string name { get; private set; }
|
|
public string echoCards { get; private set; }
|
|
public int Nweight { get; private set; }
|
|
public int Rweight { get; private set; }
|
|
public int Srweight { get; private set; }
|
|
public int ReadBody(byte[] rData, int nOffset)
|
|
{
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
ID = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nnameLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
name = Encoding.UTF8.GetString(rData, nOffset, nnameLen); nOffset += nnameLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nechoCardsLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
echoCards = Encoding.UTF8.GetString(rData, nOffset, nechoCardsLen); nOffset += nechoCardsLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
Nweight = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
Rweight = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
Srweight = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
return nOffset;
|
|
}
|
|
}
|
|
public class RofEnemyRow : IRofBase
|
|
{
|
|
public int ID { get; private set; }
|
|
public long enemyHp { get; private set; }
|
|
public int awardCoin { get; private set; }
|
|
public string enemyName { get; private set; }
|
|
public int quality { get; private set; }
|
|
public int enemyGroup { get; private set; }
|
|
public string echoIds { get; private set; }
|
|
public int ReadBody(byte[] rData, int nOffset)
|
|
{
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
ID = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 8);}
|
|
enemyHp = (long)BitConverter.ToUInt64(rData, nOffset); nOffset += 8;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
awardCoin = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nenemyNameLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
enemyName = Encoding.UTF8.GetString(rData, nOffset, nenemyNameLen); nOffset += nenemyNameLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
quality = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
enemyGroup = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nechoIdsLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
echoIds = Encoding.UTF8.GetString(rData, nOffset, nechoIdsLen); nOffset += nechoIdsLen;
|
|
return nOffset;
|
|
}
|
|
}
|
|
public class RofExchangeCardRow : IRofBase
|
|
{
|
|
public int ID { get; private set; }
|
|
public int quality { get; private set; }
|
|
public string name { get; private set; }
|
|
public int price { get; private set; }
|
|
public int ReadBody(byte[] rData, int nOffset)
|
|
{
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
ID = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
quality = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nnameLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
name = Encoding.UTF8.GetString(rData, nOffset, nnameLen); nOffset += nnameLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
price = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
return nOffset;
|
|
}
|
|
}
|
|
public class RofGamePartConfigRow : IRofBase
|
|
{
|
|
public int ID { get; private set; }
|
|
public long enemyHp { get; private set; }
|
|
public float enemyHpOffset { get; private set; }
|
|
public int awardCoin { get; private set; }
|
|
public int quailty { get; private set; }
|
|
public string sceneName { get; private set; }
|
|
public string echoCardGroupID { get; private set; }
|
|
public string fragmentRange { get; private set; }
|
|
public int baseFragment { get; private set; }
|
|
public int ReadBody(byte[] rData, int nOffset)
|
|
{
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
ID = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 8);}
|
|
enemyHp = (long)BitConverter.ToUInt64(rData, nOffset); nOffset += 8;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
enemyHpOffset = BitConverter.ToSingle(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
awardCoin = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
quailty = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nsceneNameLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
sceneName = Encoding.UTF8.GetString(rData, nOffset, nsceneNameLen); nOffset += nsceneNameLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nechoCardGroupIDLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
echoCardGroupID = Encoding.UTF8.GetString(rData, nOffset, nechoCardGroupIDLen); nOffset += nechoCardGroupIDLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nfragmentRangeLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
fragmentRange = Encoding.UTF8.GetString(rData, nOffset, nfragmentRangeLen); nOffset += nfragmentRangeLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
baseFragment = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
return nOffset;
|
|
}
|
|
}
|
|
public class RofMaskCardRow : IRofBase
|
|
{
|
|
public int ID { get; private set; }
|
|
public int quality { get; private set; }
|
|
public string name { get; private set; }
|
|
public int price { get; private set; }
|
|
public int ReadBody(byte[] rData, int nOffset)
|
|
{
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
ID = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
quality = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nnameLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
name = Encoding.UTF8.GetString(rData, nOffset, nnameLen); nOffset += nnameLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
price = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
return nOffset;
|
|
}
|
|
}
|
|
public class RofReplenishCardRow : IRofBase
|
|
{
|
|
public int ID { get; private set; }
|
|
public int quality { get; private set; }
|
|
public string name { get; private set; }
|
|
public string desc { get; private set; }
|
|
public int price { get; private set; }
|
|
public int humanWeight { get; private set; }
|
|
public int earthWeight { get; private set; }
|
|
public int heavenWeight { get; private set; }
|
|
public int cardType { get; private set; }
|
|
public int ReadBody(byte[] rData, int nOffset)
|
|
{
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
ID = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
quality = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nnameLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
name = Encoding.UTF8.GetString(rData, nOffset, nnameLen); nOffset += nnameLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int ndescLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
desc = Encoding.UTF8.GetString(rData, nOffset, ndescLen); nOffset += ndescLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
price = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
humanWeight = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
earthWeight = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
heavenWeight = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
cardType = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
return nOffset;
|
|
}
|
|
}
|
|
public class RofSecretCardRow : IRofBase
|
|
{
|
|
public int ID { get; private set; }
|
|
public int quality { get; private set; }
|
|
public string name { get; private set; }
|
|
public int price { get; private set; }
|
|
public int ReadBody(byte[] rData, int nOffset)
|
|
{
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
ID = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
quality = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nnameLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
name = Encoding.UTF8.GetString(rData, nOffset, nnameLen); nOffset += nnameLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
price = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
return nOffset;
|
|
}
|
|
}
|
|
public class RofSkillRow : IRofBase
|
|
{
|
|
public int ID { get; private set; }
|
|
public string skillName { get; private set; }
|
|
public string skillDesc { get; private set; }
|
|
public int quality { get; private set; }
|
|
public int price { get; private set; }
|
|
public string condition { get; private set; }
|
|
public float rate_add { get; private set; }
|
|
public float rate_mun { get; private set; }
|
|
public float atk_add { get; private set; }
|
|
public string initSkillAction { get; private set; }
|
|
public string actionTrigger { get; private set; }
|
|
public string skillCondition { get; private set; }
|
|
public float skillActiveRate { get; private set; }
|
|
public string action { get; private set; }
|
|
public string customSkill { get; private set; }
|
|
public string comboSkill { get; private set; }
|
|
public int comboModel { get; private set; }
|
|
public int ReadBody(byte[] rData, int nOffset)
|
|
{
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
ID = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nskillNameLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
skillName = Encoding.UTF8.GetString(rData, nOffset, nskillNameLen); nOffset += nskillNameLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nskillDescLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
skillDesc = Encoding.UTF8.GetString(rData, nOffset, nskillDescLen); nOffset += nskillDescLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
quality = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
price = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nconditionLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
condition = Encoding.UTF8.GetString(rData, nOffset, nconditionLen); nOffset += nconditionLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
rate_add = BitConverter.ToSingle(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
rate_mun = BitConverter.ToSingle(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
atk_add = BitConverter.ToSingle(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int ninitSkillActionLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
initSkillAction = Encoding.UTF8.GetString(rData, nOffset, ninitSkillActionLen); nOffset += ninitSkillActionLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nactionTriggerLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
actionTrigger = Encoding.UTF8.GetString(rData, nOffset, nactionTriggerLen); nOffset += nactionTriggerLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nskillConditionLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
skillCondition = Encoding.UTF8.GetString(rData, nOffset, nskillConditionLen); nOffset += nskillConditionLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
skillActiveRate = BitConverter.ToSingle(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nactionLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
action = Encoding.UTF8.GetString(rData, nOffset, nactionLen); nOffset += nactionLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int ncustomSkillLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
customSkill = Encoding.UTF8.GetString(rData, nOffset, ncustomSkillLen); nOffset += ncustomSkillLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int ncomboSkillLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
comboSkill = Encoding.UTF8.GetString(rData, nOffset, ncomboSkillLen); nOffset += ncomboSkillLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
comboModel = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
return nOffset;
|
|
}
|
|
}
|
|
public class RofWeaponCardRow : IRofBase
|
|
{
|
|
public int ID { get; private set; }
|
|
public int quality { get; private set; }
|
|
public string name { get; private set; }
|
|
public string sprite { get; private set; }
|
|
public int price { get; private set; }
|
|
public int ReadBody(byte[] rData, int nOffset)
|
|
{
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
ID = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
quality = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nnameLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
name = Encoding.UTF8.GetString(rData, nOffset, nnameLen); nOffset += nnameLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
int nspriteLen = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
sprite = Encoding.UTF8.GetString(rData, nOffset, nspriteLen); nOffset += nspriteLen;
|
|
if (BitConverter.IsLittleEndian){Array.Reverse(rData, nOffset, 4);}
|
|
price = (int)BitConverter.ToUInt32(rData, nOffset); nOffset += 4;
|
|
return nOffset;
|
|
}
|
|
}
|
|
}
|