forked from killop/anything_about_game
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Resource.drawio
110 lines (110 loc) · 11.5 KB
/
Resource.drawio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<mxfile host="" modified="2020-06-12T06:01:39.920Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.45.1 Chrome/78.0.3904.130 Electron/7.2.4 Safari/537.36" etag="WKUer_3t36FFWBFYWkHW" version="13.1.3">
<diagram id="6hGFLwfOUW9BJ-s0fimq" name="Page-1">
<mxGraphModel dx="1369" dy="1845" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="9" value="you" style="swimlane;html=1;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;horizontal=1;startSize=20;horizontalStack=0;" vertex="1" parent="1">
<mxGeometry x="160" y="-20" width="480" height="380" as="geometry"/>
</mxCell>
<mxCell id="10" value="Lane 1" style="swimlane;html=1;startSize=20;horizontal=0;" vertex="1" parent="9">
<mxGeometry y="20" width="480" height="120" as="geometry"/>
</mxCell>
<mxCell id="122" value="<font style="font-size: 15px">资源消费者</font>" style="rounded=0;whiteSpace=wrap;html=1;fontSize=9;" vertex="1" parent="10">
<mxGeometry x="130" y="30" width="229" height="60" as="geometry"/>
</mxCell>
<mxCell id="11" value="Lane 2" style="swimlane;html=1;startSize=20;horizontal=0;" vertex="1" parent="9">
<mxGeometry y="140" width="480" height="120" as="geometry"/>
</mxCell>
<mxCell id="76" value="<span>IResourceLinkerOwer统一访问接口</span>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="11">
<mxGeometry x="36" y="10" width="410" height="20" as="geometry"/>
</mxCell>
<mxCell id="79" value="<font><font style="font-size: 10px">Textrue Cache</font><br></font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="11">
<mxGeometry x="36" y="40" width="80" height="40" as="geometry"/>
</mxCell>
<mxCell id="57" value="<font style="font-size: 10px">UIReourceManager</font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="11">
<mxGeometry x="230" y="40" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="28" value="<font style="font-size: 10px">GameObjectCache</font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="11">
<mxGeometry x="130" y="40" width="90" height="40" as="geometry"/>
</mxCell>
<mxCell id="58" value="<font style="font-size: 10px">ParticleManager</font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="11">
<mxGeometry x="340" y="40" width="106" height="40" as="geometry"/>
</mxCell>
<mxCell id="32" value="reference count Manager" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="11">
<mxGeometry x="36" y="90" width="410" height="20" as="geometry"/>
</mxCell>
<mxCell id="12" value="Lane 3" style="swimlane;html=1;startSize=20;horizontal=0;" vertex="1" parent="9">
<mxGeometry y="260" width="480" height="120" as="geometry"/>
</mxCell>
<mxCell id="48" value="优先级加载队列" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="12">
<mxGeometry x="100" y="10" width="250" height="30" as="geometry"/>
</mxCell>
<mxCell id="44" value="LRU(死亡队列)" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="12">
<mxGeometry x="100" y="45" width="250" height="30" as="geometry"/>
</mxCell>
<mxCell id="24" value="Unload(true)" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="12">
<mxGeometry x="100" y="80" width="250" height="30" as="geometry"/>
</mxCell>
<mxCell id="13" value="ResourcePipeLine" style="swimlane;html=1;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;horizontal=1;startSize=20;horizontalStack=0;" vertex="1" parent="1">
<mxGeometry x="160" y="-20" width="480" height="380" as="geometry"/>
</mxCell>
<mxCell id="14" value="应用层" style="swimlane;html=1;startSize=20;horizontal=0;" vertex="1" parent="13">
<mxGeometry y="20" width="480" height="120" as="geometry"/>
</mxCell>
<mxCell id="15" value="Cache" style="swimlane;html=1;startSize=20;horizontal=0;" vertex="1" parent="13">
<mxGeometry y="140" width="480" height="120" as="geometry"/>
</mxCell>
<mxCell id="16" value="ResourceManager<br>" style="swimlane;html=1;startSize=20;horizontal=0;" vertex="1" parent="13">
<mxGeometry y="260" width="480" height="120" as="geometry"/>
</mxCell>
<mxCell id="17" value="虚拟文件系统<br>" style="swimlane;html=1;startSize=20;horizontal=0;" vertex="1" parent="1">
<mxGeometry x="160" y="360" width="480" height="120" as="geometry"/>
</mxCell>
<mxCell id="21" value="文件读取" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="17">
<mxGeometry x="260" y="40" width="160" height="70" as="geometry"/>
</mxCell>
<mxCell id="22" value="自动更新" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="17">
<mxGeometry x="50" y="40" width="160" height="70" as="geometry"/>
</mxCell>
<mxCell id="135" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=9;" edge="1" parent="1" source="111" target="115">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1180" y="40"/>
<mxPoint x="1180" y="95"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="111" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><i>&lt;&lt;Interface&gt;&gt;</i><br><span>IResourceLinkerOwer</span><br></p><p style="margin: 0px ; margin-left: 4px"><br></p><hr size="1"><p style="margin: 0px ; margin-left: 4px">+ List&lt;<span style="text-align: center">IResourceLinker</span>&gt;&nbsp; &nbsp;GetLinkers();<br></p><p style="margin: 0px ; margin-left: 4px">+ void&nbsp; &nbsp;RemoveLinkers();</p><p style="margin: 0px ; margin-left: 4px">+ void&nbsp; &nbsp;AddLinkers(List&lt;IResourceLinker&gt;);<br></p><p style="margin: 0px ; margin-left: 4px">+ bool&nbsp; &nbsp;Exist(string resourceKey);</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" vertex="1" parent="1">
<mxGeometry x="690" y="-20" width="380" height="120" as="geometry"/>
</mxCell>
<mxCell id="115" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><i>&lt;&lt;Interface&gt;&gt;</i><br>IResourceLinker</p><p style="margin: 0px ; margin-left: 4px"><br></p><hr size="1"><p style="margin: 0px ; margin-left: 4px">+ String Key{ get;set;}</p><p style="margin: 0px ; margin-left: 4px">+ Object Resource {get;set;}</p><p style="margin: 0px ; margin-left: 4px">+&nbsp;<span style="text-align: center">IResourceLinkerOwer GetOwer()</span></p><p style="margin: 0px 0px 0px 4px">+&nbsp;<span style="text-align: center">IResourceLinkerprovider GetProvider()</span></p><div><span style="text-align: center"><br></span></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" vertex="1" parent="1">
<mxGeometry x="1200" y="-30" width="300" height="250" as="geometry"/>
</mxCell>
<mxCell id="137" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=9;" edge="1" parent="1" source="118" target="115">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1180" y="180"/>
<mxPoint x="1180" y="95"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="118" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><i>&lt;&lt;Interface&gt;&gt;</i><br>IResourceLinkerProvider<br></p><p style="margin: 0px ; margin-left: 4px"><br></p><hr size="1"><p style="margin: 0px ; margin-left: 4px">+ List&lt;IReourceLinker&gt; GetResource(<span style="text-align: center">IResourceLinkerOwer,</span><span>List&lt;key&gt; )</span></p><p style="margin: 0px ; margin-left: 4px">+ void ReleaseResource(</p><span style="text-align: center">IResourceLinkerOwer</span><span>)</span><span style="text-align: center"><br></span>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" vertex="1" parent="1">
<mxGeometry x="670" y="125" width="400" height="110" as="geometry"/>
</mxCell>
<mxCell id="120" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fontSize=9;" edge="1" parent="1" source="58" target="118">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="129" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fontSize=9;" edge="1" parent="1" source="122">
<mxGeometry relative="1" as="geometry">
<mxPoint x="690.0000000000002" y="60.71428571428578" as="targetPoint"/>
<Array as="points">
<mxPoint x="650" y="61"/>
<mxPoint x="650" y="61"/>
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>