You've already forked taptap2024_GJ_chidouren
init
This commit is contained in:
146
Tools/RofManager.cs
Normal file
146
Tools/RofManager.cs
Normal file
@@ -0,0 +1,146 @@
|
||||
using UnityEngine;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using Framework.Utils.SingletonTemplate;
|
||||
using Debug = UnityEngine.Debug;
|
||||
|
||||
|
||||
namespace Game
|
||||
{
|
||||
public interface IRofBase
|
||||
{
|
||||
int ReadBody(byte[] rData, int nOffset);
|
||||
}
|
||||
|
||||
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)]
|
||||
public class ROFPathAttribute : System.Attribute
|
||||
{
|
||||
public string TxtName;
|
||||
public ROFPathAttribute(string rTxtName)
|
||||
{
|
||||
this.TxtName = rTxtName;
|
||||
}
|
||||
}
|
||||
|
||||
public class RofTable<T> where T : IRofBase, new()
|
||||
{
|
||||
private int mColNum;
|
||||
private int mRowNum;
|
||||
|
||||
private Dictionary<int, T> mIDMap;
|
||||
private Dictionary<int, int> mRowMap;
|
||||
|
||||
public int RowNum { get { return mRowNum; } }
|
||||
public int ColNum { get { return mColNum; } }
|
||||
|
||||
public RofTable(byte[] rTotalBuffer)
|
||||
{
|
||||
mIDMap = new Dictionary<int, T>();
|
||||
mRowMap = new Dictionary<int, int>();
|
||||
|
||||
int nOffset = 64;
|
||||
|
||||
if (BitConverter.IsLittleEndian) { Array.Reverse(rTotalBuffer, nOffset, 4); }
|
||||
mRowNum = (int)BitConverter.ToUInt32(rTotalBuffer, nOffset); nOffset += 4;
|
||||
|
||||
if (BitConverter.IsLittleEndian) { Array.Reverse(rTotalBuffer, nOffset, 4); }
|
||||
mColNum = (int)BitConverter.ToUInt32(rTotalBuffer, nOffset); nOffset += 4;
|
||||
|
||||
//解析头
|
||||
for (int i = 0; i < mColNum; i++)
|
||||
{
|
||||
int nNameLen = (int)rTotalBuffer[nOffset];
|
||||
nOffset += 1 + nNameLen + 2;
|
||||
}
|
||||
|
||||
//解析行
|
||||
for (int i = 0; i < mRowNum; i++)
|
||||
{
|
||||
if (BitConverter.IsLittleEndian) { Array.Reverse(rTotalBuffer, nOffset, 4); }
|
||||
int nID = (int)BitConverter.ToUInt32(rTotalBuffer, nOffset);
|
||||
if (BitConverter.IsLittleEndian) { Array.Reverse(rTotalBuffer, nOffset, 4); }
|
||||
|
||||
T rModel = new T();
|
||||
nOffset = rModel.ReadBody(rTotalBuffer, nOffset);
|
||||
mIDMap.Add(nID, rModel);
|
||||
mRowMap.Add(i, nID);
|
||||
}
|
||||
}
|
||||
|
||||
public T GetDataByID(int nID)
|
||||
{
|
||||
if (mIDMap.ContainsKey(nID) == false)
|
||||
{
|
||||
return default(T);
|
||||
}
|
||||
return mIDMap[nID];
|
||||
}
|
||||
|
||||
public T GetDataByRow(int nIndex)
|
||||
{
|
||||
if (mRowMap.ContainsKey(nIndex) == false)
|
||||
{
|
||||
return default(T);
|
||||
}
|
||||
int nID = mRowMap[nIndex];
|
||||
return mIDMap[nID];
|
||||
}
|
||||
}
|
||||
|
||||
public class RofManager : MgrBase<RofManager>
|
||||
{
|
||||
//加配置表往下写
|
||||
//Example:
|
||||
//[ROFPath("RofLanguage")]
|
||||
//public RofTable<RofLanguageRow> RofLanguageTable { get; private set; }
|
||||
//请按照项目中顺序写
|
||||
|
||||
|
||||
private string ConfigPath = "Config/Rof";
|
||||
|
||||
protected override void InitMge()
|
||||
{
|
||||
Type rType = this.GetType();
|
||||
var rBindingFlags = BindingFlags.GetProperty | BindingFlags.SetProperty | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance;
|
||||
var rProInfos = rType.GetProperties(rBindingFlags);
|
||||
if (rProInfos == null || rProInfos.Length == 0) return;
|
||||
//Debug.LogError(rProInfos.Length);
|
||||
var rProInfoEnum = rProInfos.GetEnumerator();
|
||||
while (rProInfoEnum.MoveNext())
|
||||
{
|
||||
var mPinfo = rProInfoEnum.Current as PropertyInfo;
|
||||
var rAttrObjs = mPinfo.GetCustomAttributes(typeof(ROFPathAttribute), false);
|
||||
if (rAttrObjs == null || rAttrObjs.Length == 0) continue;
|
||||
var rConfigPathAttr = rAttrObjs[0] as ROFPathAttribute;
|
||||
if (rConfigPathAttr == null) continue;
|
||||
var rRofTxtName = rConfigPathAttr.TxtName;
|
||||
var rTxtPath = string.Format("{0}/{1}", ConfigPath, rRofTxtName);
|
||||
var rTxtAsset = Resources.Load<TextAsset>(rTxtPath);
|
||||
var rFiledObj = this.Construct(mPinfo.PropertyType, new Type[] {typeof(byte[])}, rTxtAsset.bytes);
|
||||
if (rFiledObj != null)
|
||||
{
|
||||
mPinfo.SetValue(this, rFiledObj);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError(rRofTxtName + "文件有错误");
|
||||
}
|
||||
Resources.UnloadAsset(rTxtAsset);
|
||||
}
|
||||
}
|
||||
|
||||
private BindingFlags mFlagsAll = BindingFlags.Instance | BindingFlags.SetField | BindingFlags.GetField | BindingFlags.GetProperty | BindingFlags.SetProperty | BindingFlags.Public | BindingFlags.NonPublic;
|
||||
|
||||
private object Construct(Type rType, Type[] rTypes, params object[] rParams)
|
||||
{
|
||||
var rConstructorInfo = rType.GetConstructor(mFlagsAll, null, rTypes, null);
|
||||
return rConstructorInfo.Invoke(rParams);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
723
Tools/ServerCode/RofElements.go
Normal file
723
Tools/ServerCode/RofElements.go
Normal file
@@ -0,0 +1,723 @@
|
||||
package rof
|
||||
import (
|
||||
"encoding/binary"
|
||||
"math"
|
||||
)
|
||||
type sRofAchievementRow struct {
|
||||
mID int32
|
||||
mKey string
|
||||
mState int32
|
||||
mDesc string
|
||||
mInfo string
|
||||
mAchievementCode int32
|
||||
mCondition int32
|
||||
mTargetValue int32
|
||||
}
|
||||
func (pOwn *sRofAchievementRow) readBody(aBuffer []byte) int32 {
|
||||
var nOffset int32
|
||||
pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nKeyLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mKey = string(aBuffer[nOffset:nOffset+nKeyLen])
|
||||
nOffset+=nKeyLen
|
||||
pOwn.mState = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nDescLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mDesc = string(aBuffer[nOffset:nOffset+nDescLen])
|
||||
nOffset+=nDescLen
|
||||
nInfoLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mInfo = string(aBuffer[nOffset:nOffset+nInfoLen])
|
||||
nOffset+=nInfoLen
|
||||
pOwn.mAchievementCode = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mCondition = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mTargetValue = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
return nOffset
|
||||
}
|
||||
func (pOwn *sRofAchievementRow) GetID() int32 { return pOwn.mID }
|
||||
func (pOwn *sRofAchievementRow) GetKey() string { return pOwn.mKey }
|
||||
func (pOwn *sRofAchievementRow) GetState() int32 { return pOwn.mState }
|
||||
func (pOwn *sRofAchievementRow) GetDesc() string { return pOwn.mDesc }
|
||||
func (pOwn *sRofAchievementRow) GetInfo() string { return pOwn.mInfo }
|
||||
func (pOwn *sRofAchievementRow) GetAchievementCode() int32 { return pOwn.mAchievementCode }
|
||||
func (pOwn *sRofAchievementRow) GetCondition() int32 { return pOwn.mCondition }
|
||||
func (pOwn *sRofAchievementRow) GetTargetValue() int32 { return pOwn.mTargetValue }
|
||||
type sRofAchievementTable struct {
|
||||
mRowNum int32
|
||||
mColNum int32
|
||||
mIDMap map[int32]*sRofAchievementRow
|
||||
mRowMap map[int32]int32
|
||||
}
|
||||
func (pOwn *sRofAchievementTable) newTypeObj() iRofRow {return new(sRofAchievementRow)}
|
||||
func (pOwn *sRofAchievementTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum}
|
||||
func (pOwn *sRofAchievementTable) setColNum(aNum int32) {pOwn.mColNum = aNum}
|
||||
func (pOwn *sRofAchievementTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofAchievementRow)}
|
||||
func (pOwn *sRofAchievementTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue}
|
||||
func (pOwn *sRofAchievementTable) init(aPath string) bool {
|
||||
pOwn.mIDMap = make(map[int32]*sRofAchievementRow)
|
||||
pOwn.mRowMap = make(map[int32]int32)
|
||||
return analysisRof(aPath, pOwn)
|
||||
}
|
||||
func (pOwn *sRofAchievementTable) GetDataByID(aID int32) *sRofAchievementRow {return pOwn.mIDMap[aID]}
|
||||
func (pOwn *sRofAchievementTable) GetDataByRow(aIndex int32) *sRofAchievementRow {
|
||||
nID, ok := pOwn.mRowMap[aIndex]
|
||||
if ok == false {return nil}
|
||||
return pOwn.mIDMap[nID]
|
||||
}
|
||||
func (pOwn *sRofAchievementTable) GetRows() int32 {return pOwn.mRowNum}
|
||||
func (pOwn *sRofAchievementTable) GetCols() int32 {return pOwn.mColNum}
|
||||
type sRofEchoCardRow struct {
|
||||
mID int32
|
||||
mquality int32
|
||||
mname string
|
||||
mprice int32
|
||||
mskillId int32
|
||||
menemyType string
|
||||
mspritePath string
|
||||
mweight int32
|
||||
mmaskId string
|
||||
}
|
||||
func (pOwn *sRofEchoCardRow) readBody(aBuffer []byte) int32 {
|
||||
var nOffset int32
|
||||
pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mquality = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nnameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mname = string(aBuffer[nOffset:nOffset+nnameLen])
|
||||
nOffset+=nnameLen
|
||||
pOwn.mprice = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mskillId = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nenemyTypeLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.menemyType = string(aBuffer[nOffset:nOffset+nenemyTypeLen])
|
||||
nOffset+=nenemyTypeLen
|
||||
nspritePathLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mspritePath = string(aBuffer[nOffset:nOffset+nspritePathLen])
|
||||
nOffset+=nspritePathLen
|
||||
pOwn.mweight = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nmaskIdLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mmaskId = string(aBuffer[nOffset:nOffset+nmaskIdLen])
|
||||
nOffset+=nmaskIdLen
|
||||
return nOffset
|
||||
}
|
||||
func (pOwn *sRofEchoCardRow) GetID() int32 { return pOwn.mID }
|
||||
func (pOwn *sRofEchoCardRow) Getquality() int32 { return pOwn.mquality }
|
||||
func (pOwn *sRofEchoCardRow) Getname() string { return pOwn.mname }
|
||||
func (pOwn *sRofEchoCardRow) Getprice() int32 { return pOwn.mprice }
|
||||
func (pOwn *sRofEchoCardRow) GetskillId() int32 { return pOwn.mskillId }
|
||||
func (pOwn *sRofEchoCardRow) GetenemyType() string { return pOwn.menemyType }
|
||||
func (pOwn *sRofEchoCardRow) GetspritePath() string { return pOwn.mspritePath }
|
||||
func (pOwn *sRofEchoCardRow) Getweight() int32 { return pOwn.mweight }
|
||||
func (pOwn *sRofEchoCardRow) GetmaskId() string { return pOwn.mmaskId }
|
||||
type sRofEchoCardTable struct {
|
||||
mRowNum int32
|
||||
mColNum int32
|
||||
mIDMap map[int32]*sRofEchoCardRow
|
||||
mRowMap map[int32]int32
|
||||
}
|
||||
func (pOwn *sRofEchoCardTable) newTypeObj() iRofRow {return new(sRofEchoCardRow)}
|
||||
func (pOwn *sRofEchoCardTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum}
|
||||
func (pOwn *sRofEchoCardTable) setColNum(aNum int32) {pOwn.mColNum = aNum}
|
||||
func (pOwn *sRofEchoCardTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofEchoCardRow)}
|
||||
func (pOwn *sRofEchoCardTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue}
|
||||
func (pOwn *sRofEchoCardTable) init(aPath string) bool {
|
||||
pOwn.mIDMap = make(map[int32]*sRofEchoCardRow)
|
||||
pOwn.mRowMap = make(map[int32]int32)
|
||||
return analysisRof(aPath, pOwn)
|
||||
}
|
||||
func (pOwn *sRofEchoCardTable) GetDataByID(aID int32) *sRofEchoCardRow {return pOwn.mIDMap[aID]}
|
||||
func (pOwn *sRofEchoCardTable) GetDataByRow(aIndex int32) *sRofEchoCardRow {
|
||||
nID, ok := pOwn.mRowMap[aIndex]
|
||||
if ok == false {return nil}
|
||||
return pOwn.mIDMap[nID]
|
||||
}
|
||||
func (pOwn *sRofEchoCardTable) GetRows() int32 {return pOwn.mRowNum}
|
||||
func (pOwn *sRofEchoCardTable) GetCols() int32 {return pOwn.mColNum}
|
||||
type sRofEchoCardGroupRow struct {
|
||||
mID int32
|
||||
mname string
|
||||
mechoCards string
|
||||
mNweight int32
|
||||
mRweight int32
|
||||
mSrweight int32
|
||||
}
|
||||
func (pOwn *sRofEchoCardGroupRow) readBody(aBuffer []byte) int32 {
|
||||
var nOffset int32
|
||||
pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nnameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mname = string(aBuffer[nOffset:nOffset+nnameLen])
|
||||
nOffset+=nnameLen
|
||||
nechoCardsLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mechoCards = string(aBuffer[nOffset:nOffset+nechoCardsLen])
|
||||
nOffset+=nechoCardsLen
|
||||
pOwn.mNweight = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mRweight = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mSrweight = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
return nOffset
|
||||
}
|
||||
func (pOwn *sRofEchoCardGroupRow) GetID() int32 { return pOwn.mID }
|
||||
func (pOwn *sRofEchoCardGroupRow) Getname() string { return pOwn.mname }
|
||||
func (pOwn *sRofEchoCardGroupRow) GetechoCards() string { return pOwn.mechoCards }
|
||||
func (pOwn *sRofEchoCardGroupRow) GetNweight() int32 { return pOwn.mNweight }
|
||||
func (pOwn *sRofEchoCardGroupRow) GetRweight() int32 { return pOwn.mRweight }
|
||||
func (pOwn *sRofEchoCardGroupRow) GetSrweight() int32 { return pOwn.mSrweight }
|
||||
type sRofEchoCardGroupTable struct {
|
||||
mRowNum int32
|
||||
mColNum int32
|
||||
mIDMap map[int32]*sRofEchoCardGroupRow
|
||||
mRowMap map[int32]int32
|
||||
}
|
||||
func (pOwn *sRofEchoCardGroupTable) newTypeObj() iRofRow {return new(sRofEchoCardGroupRow)}
|
||||
func (pOwn *sRofEchoCardGroupTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum}
|
||||
func (pOwn *sRofEchoCardGroupTable) setColNum(aNum int32) {pOwn.mColNum = aNum}
|
||||
func (pOwn *sRofEchoCardGroupTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofEchoCardGroupRow)}
|
||||
func (pOwn *sRofEchoCardGroupTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue}
|
||||
func (pOwn *sRofEchoCardGroupTable) init(aPath string) bool {
|
||||
pOwn.mIDMap = make(map[int32]*sRofEchoCardGroupRow)
|
||||
pOwn.mRowMap = make(map[int32]int32)
|
||||
return analysisRof(aPath, pOwn)
|
||||
}
|
||||
func (pOwn *sRofEchoCardGroupTable) GetDataByID(aID int32) *sRofEchoCardGroupRow {return pOwn.mIDMap[aID]}
|
||||
func (pOwn *sRofEchoCardGroupTable) GetDataByRow(aIndex int32) *sRofEchoCardGroupRow {
|
||||
nID, ok := pOwn.mRowMap[aIndex]
|
||||
if ok == false {return nil}
|
||||
return pOwn.mIDMap[nID]
|
||||
}
|
||||
func (pOwn *sRofEchoCardGroupTable) GetRows() int32 {return pOwn.mRowNum}
|
||||
func (pOwn *sRofEchoCardGroupTable) GetCols() int32 {return pOwn.mColNum}
|
||||
type sRofEnemyRow struct {
|
||||
mID int32
|
||||
menemyHp int64
|
||||
mawardCoin int32
|
||||
menemyName string
|
||||
mquality int32
|
||||
menemyGroup int32
|
||||
mechoIds string
|
||||
}
|
||||
func (pOwn *sRofEnemyRow) readBody(aBuffer []byte) int32 {
|
||||
var nOffset int32
|
||||
pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.menemyHp = int64(binary.BigEndian.Uint64(aBuffer[nOffset:]))
|
||||
nOffset+=8
|
||||
pOwn.mawardCoin = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nenemyNameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.menemyName = string(aBuffer[nOffset:nOffset+nenemyNameLen])
|
||||
nOffset+=nenemyNameLen
|
||||
pOwn.mquality = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.menemyGroup = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nechoIdsLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mechoIds = string(aBuffer[nOffset:nOffset+nechoIdsLen])
|
||||
nOffset+=nechoIdsLen
|
||||
return nOffset
|
||||
}
|
||||
func (pOwn *sRofEnemyRow) GetID() int32 { return pOwn.mID }
|
||||
func (pOwn *sRofEnemyRow) GetenemyHp() int64 { return pOwn.menemyHp }
|
||||
func (pOwn *sRofEnemyRow) GetawardCoin() int32 { return pOwn.mawardCoin }
|
||||
func (pOwn *sRofEnemyRow) GetenemyName() string { return pOwn.menemyName }
|
||||
func (pOwn *sRofEnemyRow) Getquality() int32 { return pOwn.mquality }
|
||||
func (pOwn *sRofEnemyRow) GetenemyGroup() int32 { return pOwn.menemyGroup }
|
||||
func (pOwn *sRofEnemyRow) GetechoIds() string { return pOwn.mechoIds }
|
||||
type sRofEnemyTable struct {
|
||||
mRowNum int32
|
||||
mColNum int32
|
||||
mIDMap map[int32]*sRofEnemyRow
|
||||
mRowMap map[int32]int32
|
||||
}
|
||||
func (pOwn *sRofEnemyTable) newTypeObj() iRofRow {return new(sRofEnemyRow)}
|
||||
func (pOwn *sRofEnemyTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum}
|
||||
func (pOwn *sRofEnemyTable) setColNum(aNum int32) {pOwn.mColNum = aNum}
|
||||
func (pOwn *sRofEnemyTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofEnemyRow)}
|
||||
func (pOwn *sRofEnemyTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue}
|
||||
func (pOwn *sRofEnemyTable) init(aPath string) bool {
|
||||
pOwn.mIDMap = make(map[int32]*sRofEnemyRow)
|
||||
pOwn.mRowMap = make(map[int32]int32)
|
||||
return analysisRof(aPath, pOwn)
|
||||
}
|
||||
func (pOwn *sRofEnemyTable) GetDataByID(aID int32) *sRofEnemyRow {return pOwn.mIDMap[aID]}
|
||||
func (pOwn *sRofEnemyTable) GetDataByRow(aIndex int32) *sRofEnemyRow {
|
||||
nID, ok := pOwn.mRowMap[aIndex]
|
||||
if ok == false {return nil}
|
||||
return pOwn.mIDMap[nID]
|
||||
}
|
||||
func (pOwn *sRofEnemyTable) GetRows() int32 {return pOwn.mRowNum}
|
||||
func (pOwn *sRofEnemyTable) GetCols() int32 {return pOwn.mColNum}
|
||||
type sRofExchangeCardRow struct {
|
||||
mID int32
|
||||
mquality int32
|
||||
mname string
|
||||
mprice int32
|
||||
}
|
||||
func (pOwn *sRofExchangeCardRow) readBody(aBuffer []byte) int32 {
|
||||
var nOffset int32
|
||||
pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mquality = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nnameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mname = string(aBuffer[nOffset:nOffset+nnameLen])
|
||||
nOffset+=nnameLen
|
||||
pOwn.mprice = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
return nOffset
|
||||
}
|
||||
func (pOwn *sRofExchangeCardRow) GetID() int32 { return pOwn.mID }
|
||||
func (pOwn *sRofExchangeCardRow) Getquality() int32 { return pOwn.mquality }
|
||||
func (pOwn *sRofExchangeCardRow) Getname() string { return pOwn.mname }
|
||||
func (pOwn *sRofExchangeCardRow) Getprice() int32 { return pOwn.mprice }
|
||||
type sRofExchangeCardTable struct {
|
||||
mRowNum int32
|
||||
mColNum int32
|
||||
mIDMap map[int32]*sRofExchangeCardRow
|
||||
mRowMap map[int32]int32
|
||||
}
|
||||
func (pOwn *sRofExchangeCardTable) newTypeObj() iRofRow {return new(sRofExchangeCardRow)}
|
||||
func (pOwn *sRofExchangeCardTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum}
|
||||
func (pOwn *sRofExchangeCardTable) setColNum(aNum int32) {pOwn.mColNum = aNum}
|
||||
func (pOwn *sRofExchangeCardTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofExchangeCardRow)}
|
||||
func (pOwn *sRofExchangeCardTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue}
|
||||
func (pOwn *sRofExchangeCardTable) init(aPath string) bool {
|
||||
pOwn.mIDMap = make(map[int32]*sRofExchangeCardRow)
|
||||
pOwn.mRowMap = make(map[int32]int32)
|
||||
return analysisRof(aPath, pOwn)
|
||||
}
|
||||
func (pOwn *sRofExchangeCardTable) GetDataByID(aID int32) *sRofExchangeCardRow {return pOwn.mIDMap[aID]}
|
||||
func (pOwn *sRofExchangeCardTable) GetDataByRow(aIndex int32) *sRofExchangeCardRow {
|
||||
nID, ok := pOwn.mRowMap[aIndex]
|
||||
if ok == false {return nil}
|
||||
return pOwn.mIDMap[nID]
|
||||
}
|
||||
func (pOwn *sRofExchangeCardTable) GetRows() int32 {return pOwn.mRowNum}
|
||||
func (pOwn *sRofExchangeCardTable) GetCols() int32 {return pOwn.mColNum}
|
||||
type sRofGamePartConfigRow struct {
|
||||
mID int32
|
||||
menemyHp int64
|
||||
menemyHpOffset float32
|
||||
mawardCoin int32
|
||||
mquailty int32
|
||||
msceneName string
|
||||
mechoCardGroupID string
|
||||
mfragmentRange string
|
||||
mbaseFragment int32
|
||||
}
|
||||
func (pOwn *sRofGamePartConfigRow) readBody(aBuffer []byte) int32 {
|
||||
var nOffset int32
|
||||
pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.menemyHp = int64(binary.BigEndian.Uint64(aBuffer[nOffset:]))
|
||||
nOffset+=8
|
||||
pOwn.menemyHpOffset = math.Float32frombits(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mawardCoin = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mquailty = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nsceneNameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.msceneName = string(aBuffer[nOffset:nOffset+nsceneNameLen])
|
||||
nOffset+=nsceneNameLen
|
||||
nechoCardGroupIDLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mechoCardGroupID = string(aBuffer[nOffset:nOffset+nechoCardGroupIDLen])
|
||||
nOffset+=nechoCardGroupIDLen
|
||||
nfragmentRangeLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mfragmentRange = string(aBuffer[nOffset:nOffset+nfragmentRangeLen])
|
||||
nOffset+=nfragmentRangeLen
|
||||
pOwn.mbaseFragment = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
return nOffset
|
||||
}
|
||||
func (pOwn *sRofGamePartConfigRow) GetID() int32 { return pOwn.mID }
|
||||
func (pOwn *sRofGamePartConfigRow) GetenemyHp() int64 { return pOwn.menemyHp }
|
||||
func (pOwn *sRofGamePartConfigRow) GetenemyHpOffset() float32 { return pOwn.menemyHpOffset }
|
||||
func (pOwn *sRofGamePartConfigRow) GetawardCoin() int32 { return pOwn.mawardCoin }
|
||||
func (pOwn *sRofGamePartConfigRow) Getquailty() int32 { return pOwn.mquailty }
|
||||
func (pOwn *sRofGamePartConfigRow) GetsceneName() string { return pOwn.msceneName }
|
||||
func (pOwn *sRofGamePartConfigRow) GetechoCardGroupID() string { return pOwn.mechoCardGroupID }
|
||||
func (pOwn *sRofGamePartConfigRow) GetfragmentRange() string { return pOwn.mfragmentRange }
|
||||
func (pOwn *sRofGamePartConfigRow) GetbaseFragment() int32 { return pOwn.mbaseFragment }
|
||||
type sRofGamePartConfigTable struct {
|
||||
mRowNum int32
|
||||
mColNum int32
|
||||
mIDMap map[int32]*sRofGamePartConfigRow
|
||||
mRowMap map[int32]int32
|
||||
}
|
||||
func (pOwn *sRofGamePartConfigTable) newTypeObj() iRofRow {return new(sRofGamePartConfigRow)}
|
||||
func (pOwn *sRofGamePartConfigTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum}
|
||||
func (pOwn *sRofGamePartConfigTable) setColNum(aNum int32) {pOwn.mColNum = aNum}
|
||||
func (pOwn *sRofGamePartConfigTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofGamePartConfigRow)}
|
||||
func (pOwn *sRofGamePartConfigTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue}
|
||||
func (pOwn *sRofGamePartConfigTable) init(aPath string) bool {
|
||||
pOwn.mIDMap = make(map[int32]*sRofGamePartConfigRow)
|
||||
pOwn.mRowMap = make(map[int32]int32)
|
||||
return analysisRof(aPath, pOwn)
|
||||
}
|
||||
func (pOwn *sRofGamePartConfigTable) GetDataByID(aID int32) *sRofGamePartConfigRow {return pOwn.mIDMap[aID]}
|
||||
func (pOwn *sRofGamePartConfigTable) GetDataByRow(aIndex int32) *sRofGamePartConfigRow {
|
||||
nID, ok := pOwn.mRowMap[aIndex]
|
||||
if ok == false {return nil}
|
||||
return pOwn.mIDMap[nID]
|
||||
}
|
||||
func (pOwn *sRofGamePartConfigTable) GetRows() int32 {return pOwn.mRowNum}
|
||||
func (pOwn *sRofGamePartConfigTable) GetCols() int32 {return pOwn.mColNum}
|
||||
type sRofMaskCardRow struct {
|
||||
mID int32
|
||||
mquality int32
|
||||
mname string
|
||||
mprice int32
|
||||
}
|
||||
func (pOwn *sRofMaskCardRow) readBody(aBuffer []byte) int32 {
|
||||
var nOffset int32
|
||||
pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mquality = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nnameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mname = string(aBuffer[nOffset:nOffset+nnameLen])
|
||||
nOffset+=nnameLen
|
||||
pOwn.mprice = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
return nOffset
|
||||
}
|
||||
func (pOwn *sRofMaskCardRow) GetID() int32 { return pOwn.mID }
|
||||
func (pOwn *sRofMaskCardRow) Getquality() int32 { return pOwn.mquality }
|
||||
func (pOwn *sRofMaskCardRow) Getname() string { return pOwn.mname }
|
||||
func (pOwn *sRofMaskCardRow) Getprice() int32 { return pOwn.mprice }
|
||||
type sRofMaskCardTable struct {
|
||||
mRowNum int32
|
||||
mColNum int32
|
||||
mIDMap map[int32]*sRofMaskCardRow
|
||||
mRowMap map[int32]int32
|
||||
}
|
||||
func (pOwn *sRofMaskCardTable) newTypeObj() iRofRow {return new(sRofMaskCardRow)}
|
||||
func (pOwn *sRofMaskCardTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum}
|
||||
func (pOwn *sRofMaskCardTable) setColNum(aNum int32) {pOwn.mColNum = aNum}
|
||||
func (pOwn *sRofMaskCardTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofMaskCardRow)}
|
||||
func (pOwn *sRofMaskCardTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue}
|
||||
func (pOwn *sRofMaskCardTable) init(aPath string) bool {
|
||||
pOwn.mIDMap = make(map[int32]*sRofMaskCardRow)
|
||||
pOwn.mRowMap = make(map[int32]int32)
|
||||
return analysisRof(aPath, pOwn)
|
||||
}
|
||||
func (pOwn *sRofMaskCardTable) GetDataByID(aID int32) *sRofMaskCardRow {return pOwn.mIDMap[aID]}
|
||||
func (pOwn *sRofMaskCardTable) GetDataByRow(aIndex int32) *sRofMaskCardRow {
|
||||
nID, ok := pOwn.mRowMap[aIndex]
|
||||
if ok == false {return nil}
|
||||
return pOwn.mIDMap[nID]
|
||||
}
|
||||
func (pOwn *sRofMaskCardTable) GetRows() int32 {return pOwn.mRowNum}
|
||||
func (pOwn *sRofMaskCardTable) GetCols() int32 {return pOwn.mColNum}
|
||||
type sRofReplenishCardRow struct {
|
||||
mID int32
|
||||
mquality int32
|
||||
mname string
|
||||
mdesc string
|
||||
mprice int32
|
||||
mhumanWeight int32
|
||||
mearthWeight int32
|
||||
mheavenWeight int32
|
||||
mcardType int32
|
||||
}
|
||||
func (pOwn *sRofReplenishCardRow) readBody(aBuffer []byte) int32 {
|
||||
var nOffset int32
|
||||
pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mquality = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nnameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mname = string(aBuffer[nOffset:nOffset+nnameLen])
|
||||
nOffset+=nnameLen
|
||||
ndescLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mdesc = string(aBuffer[nOffset:nOffset+ndescLen])
|
||||
nOffset+=ndescLen
|
||||
pOwn.mprice = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mhumanWeight = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mearthWeight = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mheavenWeight = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mcardType = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
return nOffset
|
||||
}
|
||||
func (pOwn *sRofReplenishCardRow) GetID() int32 { return pOwn.mID }
|
||||
func (pOwn *sRofReplenishCardRow) Getquality() int32 { return pOwn.mquality }
|
||||
func (pOwn *sRofReplenishCardRow) Getname() string { return pOwn.mname }
|
||||
func (pOwn *sRofReplenishCardRow) Getdesc() string { return pOwn.mdesc }
|
||||
func (pOwn *sRofReplenishCardRow) Getprice() int32 { return pOwn.mprice }
|
||||
func (pOwn *sRofReplenishCardRow) GethumanWeight() int32 { return pOwn.mhumanWeight }
|
||||
func (pOwn *sRofReplenishCardRow) GetearthWeight() int32 { return pOwn.mearthWeight }
|
||||
func (pOwn *sRofReplenishCardRow) GetheavenWeight() int32 { return pOwn.mheavenWeight }
|
||||
func (pOwn *sRofReplenishCardRow) GetcardType() int32 { return pOwn.mcardType }
|
||||
type sRofReplenishCardTable struct {
|
||||
mRowNum int32
|
||||
mColNum int32
|
||||
mIDMap map[int32]*sRofReplenishCardRow
|
||||
mRowMap map[int32]int32
|
||||
}
|
||||
func (pOwn *sRofReplenishCardTable) newTypeObj() iRofRow {return new(sRofReplenishCardRow)}
|
||||
func (pOwn *sRofReplenishCardTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum}
|
||||
func (pOwn *sRofReplenishCardTable) setColNum(aNum int32) {pOwn.mColNum = aNum}
|
||||
func (pOwn *sRofReplenishCardTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofReplenishCardRow)}
|
||||
func (pOwn *sRofReplenishCardTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue}
|
||||
func (pOwn *sRofReplenishCardTable) init(aPath string) bool {
|
||||
pOwn.mIDMap = make(map[int32]*sRofReplenishCardRow)
|
||||
pOwn.mRowMap = make(map[int32]int32)
|
||||
return analysisRof(aPath, pOwn)
|
||||
}
|
||||
func (pOwn *sRofReplenishCardTable) GetDataByID(aID int32) *sRofReplenishCardRow {return pOwn.mIDMap[aID]}
|
||||
func (pOwn *sRofReplenishCardTable) GetDataByRow(aIndex int32) *sRofReplenishCardRow {
|
||||
nID, ok := pOwn.mRowMap[aIndex]
|
||||
if ok == false {return nil}
|
||||
return pOwn.mIDMap[nID]
|
||||
}
|
||||
func (pOwn *sRofReplenishCardTable) GetRows() int32 {return pOwn.mRowNum}
|
||||
func (pOwn *sRofReplenishCardTable) GetCols() int32 {return pOwn.mColNum}
|
||||
type sRofSecretCardRow struct {
|
||||
mID int32
|
||||
mquality int32
|
||||
mname string
|
||||
mprice int32
|
||||
}
|
||||
func (pOwn *sRofSecretCardRow) readBody(aBuffer []byte) int32 {
|
||||
var nOffset int32
|
||||
pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mquality = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nnameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mname = string(aBuffer[nOffset:nOffset+nnameLen])
|
||||
nOffset+=nnameLen
|
||||
pOwn.mprice = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
return nOffset
|
||||
}
|
||||
func (pOwn *sRofSecretCardRow) GetID() int32 { return pOwn.mID }
|
||||
func (pOwn *sRofSecretCardRow) Getquality() int32 { return pOwn.mquality }
|
||||
func (pOwn *sRofSecretCardRow) Getname() string { return pOwn.mname }
|
||||
func (pOwn *sRofSecretCardRow) Getprice() int32 { return pOwn.mprice }
|
||||
type sRofSecretCardTable struct {
|
||||
mRowNum int32
|
||||
mColNum int32
|
||||
mIDMap map[int32]*sRofSecretCardRow
|
||||
mRowMap map[int32]int32
|
||||
}
|
||||
func (pOwn *sRofSecretCardTable) newTypeObj() iRofRow {return new(sRofSecretCardRow)}
|
||||
func (pOwn *sRofSecretCardTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum}
|
||||
func (pOwn *sRofSecretCardTable) setColNum(aNum int32) {pOwn.mColNum = aNum}
|
||||
func (pOwn *sRofSecretCardTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofSecretCardRow)}
|
||||
func (pOwn *sRofSecretCardTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue}
|
||||
func (pOwn *sRofSecretCardTable) init(aPath string) bool {
|
||||
pOwn.mIDMap = make(map[int32]*sRofSecretCardRow)
|
||||
pOwn.mRowMap = make(map[int32]int32)
|
||||
return analysisRof(aPath, pOwn)
|
||||
}
|
||||
func (pOwn *sRofSecretCardTable) GetDataByID(aID int32) *sRofSecretCardRow {return pOwn.mIDMap[aID]}
|
||||
func (pOwn *sRofSecretCardTable) GetDataByRow(aIndex int32) *sRofSecretCardRow {
|
||||
nID, ok := pOwn.mRowMap[aIndex]
|
||||
if ok == false {return nil}
|
||||
return pOwn.mIDMap[nID]
|
||||
}
|
||||
func (pOwn *sRofSecretCardTable) GetRows() int32 {return pOwn.mRowNum}
|
||||
func (pOwn *sRofSecretCardTable) GetCols() int32 {return pOwn.mColNum}
|
||||
type sRofSkillRow struct {
|
||||
mID int32
|
||||
mskillName string
|
||||
mskillDesc string
|
||||
mquality int32
|
||||
mprice int32
|
||||
mcondition string
|
||||
mrate_add float32
|
||||
mrate_mun float32
|
||||
matk_add float32
|
||||
minitSkillAction string
|
||||
mactionTrigger string
|
||||
mskillCondition string
|
||||
mskillActiveRate float32
|
||||
maction string
|
||||
mcustomSkill string
|
||||
mcomboSkill string
|
||||
mcomboModel int32
|
||||
}
|
||||
func (pOwn *sRofSkillRow) readBody(aBuffer []byte) int32 {
|
||||
var nOffset int32
|
||||
pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nskillNameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mskillName = string(aBuffer[nOffset:nOffset+nskillNameLen])
|
||||
nOffset+=nskillNameLen
|
||||
nskillDescLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mskillDesc = string(aBuffer[nOffset:nOffset+nskillDescLen])
|
||||
nOffset+=nskillDescLen
|
||||
pOwn.mquality = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mprice = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nconditionLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mcondition = string(aBuffer[nOffset:nOffset+nconditionLen])
|
||||
nOffset+=nconditionLen
|
||||
pOwn.mrate_add = math.Float32frombits(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mrate_mun = math.Float32frombits(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.matk_add = math.Float32frombits(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
ninitSkillActionLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.minitSkillAction = string(aBuffer[nOffset:nOffset+ninitSkillActionLen])
|
||||
nOffset+=ninitSkillActionLen
|
||||
nactionTriggerLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mactionTrigger = string(aBuffer[nOffset:nOffset+nactionTriggerLen])
|
||||
nOffset+=nactionTriggerLen
|
||||
nskillConditionLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mskillCondition = string(aBuffer[nOffset:nOffset+nskillConditionLen])
|
||||
nOffset+=nskillConditionLen
|
||||
pOwn.mskillActiveRate = math.Float32frombits(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nactionLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.maction = string(aBuffer[nOffset:nOffset+nactionLen])
|
||||
nOffset+=nactionLen
|
||||
ncustomSkillLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mcustomSkill = string(aBuffer[nOffset:nOffset+ncustomSkillLen])
|
||||
nOffset+=ncustomSkillLen
|
||||
ncomboSkillLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mcomboSkill = string(aBuffer[nOffset:nOffset+ncomboSkillLen])
|
||||
nOffset+=ncomboSkillLen
|
||||
pOwn.mcomboModel = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
return nOffset
|
||||
}
|
||||
func (pOwn *sRofSkillRow) GetID() int32 { return pOwn.mID }
|
||||
func (pOwn *sRofSkillRow) GetskillName() string { return pOwn.mskillName }
|
||||
func (pOwn *sRofSkillRow) GetskillDesc() string { return pOwn.mskillDesc }
|
||||
func (pOwn *sRofSkillRow) Getquality() int32 { return pOwn.mquality }
|
||||
func (pOwn *sRofSkillRow) Getprice() int32 { return pOwn.mprice }
|
||||
func (pOwn *sRofSkillRow) Getcondition() string { return pOwn.mcondition }
|
||||
func (pOwn *sRofSkillRow) Getrate_add() float32 { return pOwn.mrate_add }
|
||||
func (pOwn *sRofSkillRow) Getrate_mun() float32 { return pOwn.mrate_mun }
|
||||
func (pOwn *sRofSkillRow) Getatk_add() float32 { return pOwn.matk_add }
|
||||
func (pOwn *sRofSkillRow) GetinitSkillAction() string { return pOwn.minitSkillAction }
|
||||
func (pOwn *sRofSkillRow) GetactionTrigger() string { return pOwn.mactionTrigger }
|
||||
func (pOwn *sRofSkillRow) GetskillCondition() string { return pOwn.mskillCondition }
|
||||
func (pOwn *sRofSkillRow) GetskillActiveRate() float32 { return pOwn.mskillActiveRate }
|
||||
func (pOwn *sRofSkillRow) Getaction() string { return pOwn.maction }
|
||||
func (pOwn *sRofSkillRow) GetcustomSkill() string { return pOwn.mcustomSkill }
|
||||
func (pOwn *sRofSkillRow) GetcomboSkill() string { return pOwn.mcomboSkill }
|
||||
func (pOwn *sRofSkillRow) GetcomboModel() int32 { return pOwn.mcomboModel }
|
||||
type sRofSkillTable struct {
|
||||
mRowNum int32
|
||||
mColNum int32
|
||||
mIDMap map[int32]*sRofSkillRow
|
||||
mRowMap map[int32]int32
|
||||
}
|
||||
func (pOwn *sRofSkillTable) newTypeObj() iRofRow {return new(sRofSkillRow)}
|
||||
func (pOwn *sRofSkillTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum}
|
||||
func (pOwn *sRofSkillTable) setColNum(aNum int32) {pOwn.mColNum = aNum}
|
||||
func (pOwn *sRofSkillTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofSkillRow)}
|
||||
func (pOwn *sRofSkillTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue}
|
||||
func (pOwn *sRofSkillTable) init(aPath string) bool {
|
||||
pOwn.mIDMap = make(map[int32]*sRofSkillRow)
|
||||
pOwn.mRowMap = make(map[int32]int32)
|
||||
return analysisRof(aPath, pOwn)
|
||||
}
|
||||
func (pOwn *sRofSkillTable) GetDataByID(aID int32) *sRofSkillRow {return pOwn.mIDMap[aID]}
|
||||
func (pOwn *sRofSkillTable) GetDataByRow(aIndex int32) *sRofSkillRow {
|
||||
nID, ok := pOwn.mRowMap[aIndex]
|
||||
if ok == false {return nil}
|
||||
return pOwn.mIDMap[nID]
|
||||
}
|
||||
func (pOwn *sRofSkillTable) GetRows() int32 {return pOwn.mRowNum}
|
||||
func (pOwn *sRofSkillTable) GetCols() int32 {return pOwn.mColNum}
|
||||
type sRofWeaponCardRow struct {
|
||||
mID int32
|
||||
mquality int32
|
||||
mname string
|
||||
msprite string
|
||||
mprice int32
|
||||
}
|
||||
func (pOwn *sRofWeaponCardRow) readBody(aBuffer []byte) int32 {
|
||||
var nOffset int32
|
||||
pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mquality = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
nnameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.mname = string(aBuffer[nOffset:nOffset+nnameLen])
|
||||
nOffset+=nnameLen
|
||||
nspriteLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
pOwn.msprite = string(aBuffer[nOffset:nOffset+nspriteLen])
|
||||
nOffset+=nspriteLen
|
||||
pOwn.mprice = int32(binary.BigEndian.Uint32(aBuffer[nOffset:]))
|
||||
nOffset+=4
|
||||
return nOffset
|
||||
}
|
||||
func (pOwn *sRofWeaponCardRow) GetID() int32 { return pOwn.mID }
|
||||
func (pOwn *sRofWeaponCardRow) Getquality() int32 { return pOwn.mquality }
|
||||
func (pOwn *sRofWeaponCardRow) Getname() string { return pOwn.mname }
|
||||
func (pOwn *sRofWeaponCardRow) Getsprite() string { return pOwn.msprite }
|
||||
func (pOwn *sRofWeaponCardRow) Getprice() int32 { return pOwn.mprice }
|
||||
type sRofWeaponCardTable struct {
|
||||
mRowNum int32
|
||||
mColNum int32
|
||||
mIDMap map[int32]*sRofWeaponCardRow
|
||||
mRowMap map[int32]int32
|
||||
}
|
||||
func (pOwn *sRofWeaponCardTable) newTypeObj() iRofRow {return new(sRofWeaponCardRow)}
|
||||
func (pOwn *sRofWeaponCardTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum}
|
||||
func (pOwn *sRofWeaponCardTable) setColNum(aNum int32) {pOwn.mColNum = aNum}
|
||||
func (pOwn *sRofWeaponCardTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofWeaponCardRow)}
|
||||
func (pOwn *sRofWeaponCardTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue}
|
||||
func (pOwn *sRofWeaponCardTable) init(aPath string) bool {
|
||||
pOwn.mIDMap = make(map[int32]*sRofWeaponCardRow)
|
||||
pOwn.mRowMap = make(map[int32]int32)
|
||||
return analysisRof(aPath, pOwn)
|
||||
}
|
||||
func (pOwn *sRofWeaponCardTable) GetDataByID(aID int32) *sRofWeaponCardRow {return pOwn.mIDMap[aID]}
|
||||
func (pOwn *sRofWeaponCardTable) GetDataByRow(aIndex int32) *sRofWeaponCardRow {
|
||||
nID, ok := pOwn.mRowMap[aIndex]
|
||||
if ok == false {return nil}
|
||||
return pOwn.mIDMap[nID]
|
||||
}
|
||||
func (pOwn *sRofWeaponCardTable) GetRows() int32 {return pOwn.mRowNum}
|
||||
func (pOwn *sRofWeaponCardTable) GetCols() int32 {return pOwn.mColNum}
|
||||
2
Tools/run.bat
Normal file
2
Tools/run.bat
Normal file
@@ -0,0 +1,2 @@
|
||||
@xlsx2rof1.0.exe -i ./xlsx -o ./../Assets/GameRes/Config/Rof/ -go ./ServerCode/RofElements.go -cs ./../Assets/Scripts/Rof/RofElements.cs
|
||||
@pause
|
||||
BIN
Tools/xlsx/Achievement.xlsx
Normal file
BIN
Tools/xlsx/Achievement.xlsx
Normal file
Binary file not shown.
BIN
Tools/xlsx/EchoCard.xlsx
Normal file
BIN
Tools/xlsx/EchoCard.xlsx
Normal file
Binary file not shown.
BIN
Tools/xlsx/EchoCardGroup.xlsx
Normal file
BIN
Tools/xlsx/EchoCardGroup.xlsx
Normal file
Binary file not shown.
BIN
Tools/xlsx/Enemy.xlsx
Normal file
BIN
Tools/xlsx/Enemy.xlsx
Normal file
Binary file not shown.
BIN
Tools/xlsx/ExchangeCard.xlsx
Normal file
BIN
Tools/xlsx/ExchangeCard.xlsx
Normal file
Binary file not shown.
BIN
Tools/xlsx/GamePartConfig.xlsx
Normal file
BIN
Tools/xlsx/GamePartConfig.xlsx
Normal file
Binary file not shown.
BIN
Tools/xlsx/MaskCard.xlsx
Normal file
BIN
Tools/xlsx/MaskCard.xlsx
Normal file
Binary file not shown.
BIN
Tools/xlsx/ReplenishCard.xlsx
Normal file
BIN
Tools/xlsx/ReplenishCard.xlsx
Normal file
Binary file not shown.
BIN
Tools/xlsx/SecretCard.xlsx
Normal file
BIN
Tools/xlsx/SecretCard.xlsx
Normal file
Binary file not shown.
BIN
Tools/xlsx/Skill.xlsx
Normal file
BIN
Tools/xlsx/Skill.xlsx
Normal file
Binary file not shown.
BIN
Tools/xlsx/WeaponCard.xlsx
Normal file
BIN
Tools/xlsx/WeaponCard.xlsx
Normal file
Binary file not shown.
BIN
Tools/xlsx2rof1.0.exe
Normal file
BIN
Tools/xlsx2rof1.0.exe
Normal file
Binary file not shown.
BIN
Tools/规范.xlsx
Normal file
BIN
Tools/规范.xlsx
Normal file
Binary file not shown.
Reference in New Issue
Block a user