110 lines
2.9 KiB
C#
110 lines
2.9 KiB
C#
using GameFramework;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Text;
|
|
using UnityEngine;
|
|
using UnityGameFramework.Runtime;
|
|
|
|
namespace DataTable
|
|
{
|
|
/// <summary>
|
|
/// 界面配置表。
|
|
/// </summary>
|
|
public class DRUIForm : DataRowBase
|
|
{
|
|
private int m_Id = 0;
|
|
|
|
/// <summary>
|
|
/// 获取界面编号。
|
|
/// </summary>
|
|
public override int Id
|
|
{
|
|
get
|
|
{
|
|
return m_Id;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取资源名称。
|
|
/// </summary>
|
|
public string AssetName
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取界面组名称。
|
|
/// </summary>
|
|
public string UIGroupName
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取是否允许多个界面实例。
|
|
/// </summary>
|
|
public bool AllowMultiInstance
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取是否暂停被其覆盖的界面。
|
|
/// </summary>
|
|
public bool PauseCoveredUIForm
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
public override bool ParseDataRow(string dataRowString, object userData)
|
|
{
|
|
string[] columnStrings = dataRowString.Split(DataTableExtension.DataSplitSeparators);
|
|
for (int i = 0; i < columnStrings.Length; i++)
|
|
{
|
|
columnStrings[i] = columnStrings[i].Trim(DataTableExtension.DataTrimSeparators);
|
|
}
|
|
|
|
int index = 0;
|
|
index++;
|
|
m_Id = int.Parse(columnStrings[index++]);
|
|
index++;
|
|
AssetName = columnStrings[index++];
|
|
UIGroupName = columnStrings[index++];
|
|
AllowMultiInstance = bool.Parse(columnStrings[index++]);
|
|
PauseCoveredUIForm = bool.Parse(columnStrings[index++]);
|
|
|
|
GeneratePropertyArray();
|
|
return true;
|
|
}
|
|
|
|
public override bool ParseDataRow(byte[] dataRowBytes, int startIndex, int length, object userData)
|
|
{
|
|
using (MemoryStream memoryStream = new MemoryStream(dataRowBytes, startIndex, length, false))
|
|
{
|
|
using (BinaryReader binaryReader = new BinaryReader(memoryStream, Encoding.UTF8))
|
|
{
|
|
m_Id = binaryReader.Read7BitEncodedInt32();
|
|
AssetName = binaryReader.ReadString();
|
|
UIGroupName = binaryReader.ReadString();
|
|
AllowMultiInstance = binaryReader.ReadBoolean();
|
|
PauseCoveredUIForm = binaryReader.ReadBoolean();
|
|
}
|
|
}
|
|
|
|
GeneratePropertyArray();
|
|
return true;
|
|
}
|
|
|
|
private void GeneratePropertyArray()
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|