Skip to content

Commit 3fe5cb6

Browse files
author
wanderer
committed
OnDestroy响应OnFree,并增加LZMA的压缩算法
1 parent 0c450ce commit 3fe5cb6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+4864
-2
lines changed

GameFramework/Runtime/UI/UIManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ public IUITween Close(IUIContext uiContext, bool setHide = true,bool isDestroy=f
229229
//销毁物体
230230
if (isDestroy)
231231
{
232-
uiView.OnFree(uiContext);
232+
//uiView.OnFree(uiContext);
233233
GameObject.Destroy(uiView.gameObject);
234234
uiContext = null;
235235
}

GameFramework/Runtime/UI/UIView.cs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,20 @@ public abstract class UIView : MonoBehaviour
1818
{
1919
//外部的回调
2020
protected Action<string> _callBack;
21+
22+
/// <summary>
23+
/// 当前UI的UIContext
24+
/// </summary>
25+
public IUIContext UIContext { get; private set; }
26+
2127
/// <summary>
2228
/// 初始化
2329
/// </summary>
2430
/// <param name="uiContext"></param>
2531
public virtual void OnInit(IUIContext uiContext)
26-
{ }
32+
{
33+
UIContext = uiContext;
34+
}
2735
/// <summary>
2836
/// 释放
2937
/// </summary>
@@ -88,6 +96,17 @@ protected virtual void Call(string data)
8896
{
8997
_callBack?.Invoke(data);
9098
}
99+
100+
/// <summary>
101+
/// 本身物体的销毁
102+
/// </summary>
103+
protected virtual void OnDestroy()
104+
{
105+
if (UIContext != null)
106+
{
107+
OnFree(UIContext);
108+
}
109+
}
91110
}
92111

93112
// //[AttributeUsage(AttributeTargets.Class)]

Libraries/7zip.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Libraries/7zip/Common.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Libraries/7zip/Common/CRC.cs

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// Common/CRC.cs
2+
3+
namespace SevenZip
4+
{
5+
class CRC
6+
{
7+
public static readonly uint[] Table;
8+
9+
static CRC()
10+
{
11+
Table = new uint[256];
12+
const uint kPoly = 0xEDB88320;
13+
for (uint i = 0; i < 256; i++)
14+
{
15+
uint r = i;
16+
for (int j = 0; j < 8; j++)
17+
if ((r & 1) != 0)
18+
r = (r >> 1) ^ kPoly;
19+
else
20+
r >>= 1;
21+
Table[i] = r;
22+
}
23+
}
24+
25+
uint _value = 0xFFFFFFFF;
26+
27+
public void Init() { _value = 0xFFFFFFFF; }
28+
29+
public void UpdateByte(byte b)
30+
{
31+
_value = Table[(((byte)(_value)) ^ b)] ^ (_value >> 8);
32+
}
33+
34+
public void Update(byte[] data, uint offset, uint size)
35+
{
36+
for (uint i = 0; i < size; i++)
37+
_value = Table[(((byte)(_value)) ^ data[offset + i])] ^ (_value >> 8);
38+
}
39+
40+
public uint GetDigest() { return _value ^ 0xFFFFFFFF; }
41+
42+
static uint CalculateDigest(byte[] data, uint offset, uint size)
43+
{
44+
CRC crc = new CRC();
45+
// crc.Init();
46+
crc.Update(data, offset, size);
47+
return crc.GetDigest();
48+
}
49+
50+
static bool VerifyDigest(uint digest, byte[] data, uint offset, uint size)
51+
{
52+
return (CalculateDigest(data, offset, size) == digest);
53+
}
54+
}
55+
}

Libraries/7zip/Common/CRC.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)