Skip to content

Commit

Permalink
Merge pull request #7 from wenen-creator/dev
Browse files Browse the repository at this point in the history
v1.2.2 - rc
  • Loading branch information
wenen-creator authored Sep 14, 2024
2 parents 7909490 + 16e9d7b commit d0e71d4
Show file tree
Hide file tree
Showing 24 changed files with 664 additions and 65 deletions.
69 changes: 27 additions & 42 deletions Engine/Unity/Sample/EDITOR_TEST_SYSTEM.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
// email: yixiangluntan@163.com
//-------------------------------------------------

using System;
using System.Collections.Generic;
using UnityEngine;
using Logger = FlexiArchiveSystem.Assist.Logger;

Expand Down Expand Up @@ -61,57 +63,40 @@ void OnGUI()
}

var groundWidth = 400;
var groundHeight = 150;
var groundHeight = 200;
var screenWidth = Screen.width;
var screenHeight = Screen.height;
var groupx = (screenWidth - groundWidth) / 2;
var groupy = (screenHeight - groundHeight) / 2;
GUI.BeginGroup(new Rect(groupx, groupy, groundWidth, groundHeight));
GUI.Box(new Rect(0, 0, groundWidth, groundHeight), "Select");
isAsync = GUI.Toggle(new Rect(groundWidth - 80, 2, 80, 30),isAsync, "IsAsync");
if (GUI.Button(new Rect(10, 30, 120, 30), "1.write(1-1)"))
{
write_str = Demo1_WriteStr();
}

if (GUI.Button(new Rect(10, 70, 120, 30), "2.read(1-1)"))
{
read_str = Demo2_ReadStrFromDisk();
}

if (GUI.Button(new Rect(10, 110, 120, 30), "3.write(2-1):num"))
{
write_str = Demo3_WriteInt();
}

if (GUI.Button(new Rect(140, 30, 120, 30), "4.read(2-1):num"))
{
read_str = Demo4_ReadIntFromDisk();
}

if (GUI.Button(new Rect(140, 70, 120, 30), "5.write(2-2):vec2"))
{
write_str = Demo5_WriteVector2();
}

if (GUI.Button(new Rect(140, 110, 120, 30), "6.read(2-2):vec2"))
{
read_str = Demo6_ReadVector2();
}

if (GUI.Button(new Rect(270, 30, 120, 30), "7.save"))
{
Demo7_SavePoint(isAsync);
}

if (GUI.Button(new Rect(270, 70, 120, 30), "8.DeleteAll"))
{
Demo_DeleteCurrentArchive();
}
List<Tuple<string, Action>> ele = new List<Tuple<string, Action>>();
ele.Add(new Tuple<string, Action>("1.write(1-1):str", () => { write_str = Demo1_WriteStr(); }));
ele.Add(new Tuple<string, Action>("2.read(1-1):str", () => { read_str = Demo2_ReadStrFromDisk(); }));
ele.Add(new Tuple<string, Action>("3.write(2-2):vec2", () => { write_str = Demo5_WriteVector2(); }));

ele.Add(new Tuple<string, Action>("4.read(2-2):vec2", () => { read_str = Demo6_ReadVector2(); }));
ele.Add(new Tuple<string, Action>("5.write(3-1):list", () => { write_str = Demo9_WriteList(); }));
ele.Add(new Tuple<string, Action>("6.read(3-1):list", () => { read_str = Demo10_ReadList(); }));

ele.Add(new Tuple<string, Action>("7.write(3-2):obj", () => { write_str = Demo7_WriteObj(); }));
ele.Add(new Tuple<string, Action>("8.read(3-2):obj", () => { read_str = Demo8_ReadObj(); }));
ele.Add(new Tuple<string, Action>("9.Clear Cache", () => { Demo_ClearCache(); }));

ele.Add(new Tuple<string, Action>("10.save", () => { Demo_SavePoint(isAsync); }));
ele.Add(new Tuple<string, Action>("11.DeleteAll", () => { Demo_DeleteCurrentArchive(); }));
ele.Add(new Tuple<string, Action>("12.Clone Archive", () => { CloneArchive(); }));

if (GUI.Button(new Rect(270, 110, 120, 30), "9.Clone Archive"))

for (int i = 0; i < ele.Count; i++)
{
CloneArchive();
int rowIndex = i / 3;
int colIndex = i % (ele.Count / 4);
if (GUI.Button(new Rect(10 + colIndex * 130, 30 + rowIndex * 40, 120, 30), ele[i].Item1))
{
ele[i].Item2.Invoke();
}
}
GUI.EndGroup();
GUI.BeginGroup(new Rect((screenWidth - 200) / 2, groupy + groundHeight + 50, 200, 50));
Expand Down
5 changes: 5 additions & 0 deletions Engine/Unity/Sample/Scripts/CustomDataType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@ public CustomDataType(string dataStr) : base(dataStr)
{

}

public override bool Equals(CustomData another)
{
throw new System.NotImplementedException();
}
}

/// <summary>
Expand Down
128 changes: 123 additions & 5 deletions Engine/Unity/Sample/Scripts/DemoSample.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,12 @@
// email: yixiangluntan@163.com
//-------------------------------------------------

using System;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using Object = System.Object;
using Random = UnityEngine.Random;

namespace FlexiArchiveSystem.Sample
{
Expand All @@ -32,6 +36,19 @@ private void Awake()
archiveID = archiveManager.GetLastArchiveID().ToString();
}

private void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
Demo11_WriteDic();
}

if (Input.GetKeyDown(KeyCode.B))
{
Demo11_WriteDic();
}
}

private string Demo1_WriteStr()
{
DataObject dataObject = archiveManager.GetDataObject("group1", "key1");
Expand All @@ -52,20 +69,20 @@ private string Demo2_ReadStrFromDisk()

private string Demo3_WriteInt()
{
DataObject dataObject = archiveManager.GetDataObject("group2", "num1");
DataObject dataObject = archiveManager.GetDataObject("group2", "key1");
DataInteger dataInteger = dataObject.GetData<DataInteger>();
dataInteger.Write(Random.Range(0, 5));
Debug.Log(string.Format(
$"[{Path.Combine("group2", "num1")}]: write a number of type int {dataInteger.data}"));
$"[{Path.Combine("group2", "key1")}]: write a number of type int {dataInteger.data}"));
return dataInteger.data.ToString();
}

private string Demo4_ReadIntFromDisk()
{
DataObject dataObject = archiveManager.GetDataObject("group2", "num1");
DataObject dataObject = archiveManager.GetDataObject("group2", "key1");
DataInteger dataInteger = dataObject.GetData<DataInteger>();
Debug.Log(string.Format(
$"[{Path.Combine("group2", "num1")}]: read a int from disk : {dataInteger.DiskData}"));
$"[{Path.Combine("group2", "key1")}]: read a int from disk : {dataInteger.DiskData}"));
return dataInteger.DiskData.ToString();
}

Expand All @@ -87,7 +104,108 @@ private string Demo6_ReadVector2()
return dataVector2.DiskData.ToString();
}

private void Demo7_SavePoint(bool isAsync)
private string Demo7_WriteObj()
{
DataObject dataObject = archiveManager.GetDataObject("group3", "key2");
DataTypeObject dataTypeObject = dataObject.GetData<DataTypeObject>();
dataTypeObject.Write(new Vector3Wrapper(new Vector3(6,6,6)));
Debug.Log(string.Format($"[{Path.Combine("group3", "key2")}]: write a object :{dataTypeObject.data}"));
return dataTypeObject.data.ToString();
}

private string Demo8_ReadObj()
{
DataObject dataObject = archiveManager.GetDataObject("group3", "key2");
DataTypeObject dataTypeObject = dataObject.GetData<DataTypeObject>();
string str = "null";
if (dataTypeObject.DiskData != null)
{
Vector3 vector3 = (Vector3Wrapper)dataTypeObject.DiskData;
str = vector3.ToString();
}
Debug.Log(string.Format($"[{Path.Combine("group3", "key2")}]: read a object :{str}"));
return str;
}

private string Demo9_WriteList()
{
DataObject dataObject = archiveManager.GetDataObject("group3", "key1");
DataStructList<float> dataStructList = dataObject.GetData<DataStructList<float>>();
List<float> list = new List<float>();
list.Add(Random.Range(0, 5));
list.Add(Random.Range(0, 5));
list.Add(Random.Range(0, 5));
list.Add(Random.Range(0, 5));
dataStructList.Write(list);
string log = dataStructList.data.ToString() + " - [ ";
foreach (var ele in dataStructList.data)
{
log += ele.ToString();
log += ",";
}

log = log.Remove(log.Length - 1);
log += " ]";
Debug.Log(($"[{Path.Combine("group3", "key1")}]: write a list :{log}"));
return log;
}

private string Demo10_ReadList()
{
DataObject dataObject = archiveManager.GetDataObject("group3", "key1");
DataStructList<float> dataStructList = dataObject.GetData<DataStructList<float>>();
string log = "null";
if (dataStructList.DiskData != null)
{
log = dataStructList.DiskData.ToString() + " - [ ";
foreach (var ele in dataStructList.DiskData)
{
log += ele.ToString();
log += ",";
}
log = log.Remove(log.Length - 1);
log += " ]";
}

Debug.Log(($"[{Path.Combine("group3", "key1")}]: write a list :{log}"));
return log;
}

private string Demo11_WriteDic()
{
DataObject dataObject = archiveManager.GetDataObject("group3", "key3");
DataDictionary<Vector3Wrapper> dataDictionary = dataObject.GetData<DataDictionary<Vector3Wrapper>>();
Dictionary<string, Vector3Wrapper> dictionary = new Dictionary<string, Vector3Wrapper>();
dictionary.Add(1.ToString(),new Vector3(1,1,1));
dictionary.Add(2.ToString(),new Vector3(2,2,2));
dictionary.Add(3.ToString(),new Vector3(3,4,4));
dataDictionary.Write(dictionary);
string log = dataDictionary.data.ToString() + " - " + dataDictionary.ToString();
Debug.Log(($"[{Path.Combine("group3", "key1")}]: write a dictionary :{log}"));
return log;
}

private string Demo12_ReadDic()
{
DataObject dataObject = archiveManager.GetDataObject("group3", "key3");
DataDictionary<Vector3Wrapper> dataDictionary = dataObject.GetData<DataDictionary<Vector3Wrapper>>();
string log = "null";
if (dataDictionary.DiskData != null)
{
log = dataDictionary.DiskData.ToString() + " - " + dataDictionary.ToString();
}

Debug.Log(($"[{Path.Combine("group3", "key1")}]: write a dictionary :{log}"));
return log;
}

private void Demo_ClearCache()
{
archiveManager.ClearMemoryCache();
Debug.Log(string.Format($"Clear Memory Cache"));
}

private void Demo_SavePoint(bool isAsync)
{
Debug.Log(string.Format($"save archive"));
if (isAsync)
Expand Down
31 changes: 31 additions & 0 deletions Engine/Unity/Script/DataType/DataTypeObject.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
using System;
using UnityEngine;
using Object = System.Object;

namespace FlexiArchiveSystem
{
public partial class DataTypeObject
{

public static implicit operator DataTypeObject(Vector2 value)
{
DataTypeObject typeObject = new DataTypeObject("");
typeObject._dataWraper.value = (new Vector2Wrapper(value));
return typeObject;
}

public static implicit operator DataTypeObject(Vector3 value)
{
DataTypeObject typeObject = new DataTypeObject("");
typeObject._dataWraper.value = (new Vector3Wrapper(value));
return typeObject;
}

public static implicit operator DataTypeObject(Vector4 value)
{
DataTypeObject typeObject = new DataTypeObject("");
typeObject._dataWraper.value = (new Vector4Wrapper(value));
return typeObject;
}
}
}
3 changes: 3 additions & 0 deletions Engine/Unity/Script/DataType/DataTypeObject.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions Engine/Unity/Script/DataType/DataVector2.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,14 @@ public DataVector2(string dataStr) : base(dataStr)
{

}

public override bool Equals(Vector2Wrapper another)
{
return another.Equals(data);
}
}

[System.Serializable]
public struct Vector2Wrapper
{
public float x;
Expand All @@ -27,6 +33,12 @@ public Vector2Wrapper(Vector2 value)
x = value.x;
y = value.y;
}

public Vector2Wrapper(int x, int y)
{
this.x = x;
this.y = y;
}

public static implicit operator Vector2Wrapper(Vector2 value)
{
Expand Down
15 changes: 14 additions & 1 deletion Engine/Unity/Script/DataType/DataVector3.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,14 @@ public DataVector3(string dataStr) : base(dataStr)
{

}
}

public override bool Equals(Vector3Wrapper another)
{
return another.Equals(data);
}
}

[System.Serializable]
public struct Vector3Wrapper
{
public float x;
Expand All @@ -29,6 +35,13 @@ public Vector3Wrapper(Vector3 value)
y = value.y;
z = value.z;
}

public Vector3Wrapper(float x, float y, float z)
{
this.x = x;
this.y = y;
this.z = z;
}

public static implicit operator Vector3Wrapper(Vector3 value)
{
Expand Down
14 changes: 14 additions & 0 deletions Engine/Unity/Script/DataType/DataVector4.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,14 @@ public DataVector4(string dataStr) : base(dataStr)
{

}

public override bool Equals(Vector4Wrapper another)
{
return another.Equals(data);
}
}

[System.Serializable]
public struct Vector4Wrapper
{
public float x;
Expand All @@ -30,6 +36,14 @@ public Vector4Wrapper(Vector4 value)
z = value.z;
w = value.w;
}

public Vector4Wrapper(float x, float y, float z, float w)
{
this.x = x;
this.y = y;
this.z = z;
this.w = w;
}

public static implicit operator Vector4Wrapper(Vector4 value)
{
Expand Down
Loading

0 comments on commit d0e71d4

Please sign in to comment.