Skip to content

Commit cbc5fa1

Browse files
committed
Add Bridge Pattern
1 parent 19ca660 commit cbc5fa1

36 files changed

+1098
-0
lines changed

Assets/Structural/Bridge.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.

Assets/Structural/Bridge/Examples.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.

Assets/Structural/Bridge/Examples/Renderer.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.

Assets/Structural/Bridge/Examples/Renderer/Scenes.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.
Lines changed: 251 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,251 @@
1+
%YAML 1.1
2+
%TAG !u! tag:unity3d.com,2011:
3+
--- !u!29 &1
4+
OcclusionCullingSettings:
5+
m_ObjectHideFlags: 0
6+
serializedVersion: 2
7+
m_OcclusionBakeSettings:
8+
smallestOccluder: 5
9+
smallestHole: 0.25
10+
backfaceThreshold: 100
11+
m_SceneGUID: 00000000000000000000000000000000
12+
m_OcclusionCullingData: {fileID: 0}
13+
--- !u!104 &2
14+
RenderSettings:
15+
m_ObjectHideFlags: 0
16+
serializedVersion: 9
17+
m_Fog: 0
18+
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
19+
m_FogMode: 3
20+
m_FogDensity: 0.01
21+
m_LinearFogStart: 0
22+
m_LinearFogEnd: 300
23+
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
24+
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
25+
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
26+
m_AmbientIntensity: 1
27+
m_AmbientMode: 0
28+
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
29+
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
30+
m_HaloStrength: 0.5
31+
m_FlareStrength: 1
32+
m_FlareFadeSpeed: 3
33+
m_HaloTexture: {fileID: 0}
34+
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
35+
m_DefaultReflectionMode: 0
36+
m_DefaultReflectionResolution: 128
37+
m_ReflectionBounces: 1
38+
m_ReflectionIntensity: 1
39+
m_CustomReflection: {fileID: 0}
40+
m_Sun: {fileID: 0}
41+
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
42+
m_UseRadianceAmbientProbe: 0
43+
--- !u!157 &3
44+
LightmapSettings:
45+
m_ObjectHideFlags: 0
46+
serializedVersion: 12
47+
m_GIWorkflowMode: 1
48+
m_GISettings:
49+
serializedVersion: 2
50+
m_BounceScale: 1
51+
m_IndirectOutputScale: 1
52+
m_AlbedoBoost: 1
53+
m_EnvironmentLightingMode: 0
54+
m_EnableBakedLightmaps: 1
55+
m_EnableRealtimeLightmaps: 0
56+
m_LightmapEditorSettings:
57+
serializedVersion: 12
58+
m_Resolution: 2
59+
m_BakeResolution: 40
60+
m_AtlasSize: 1024
61+
m_AO: 0
62+
m_AOMaxDistance: 1
63+
m_CompAOExponent: 1
64+
m_CompAOExponentDirect: 0
65+
m_ExtractAmbientOcclusion: 0
66+
m_Padding: 2
67+
m_LightmapParameters: {fileID: 0}
68+
m_LightmapsBakeMode: 1
69+
m_TextureCompression: 1
70+
m_FinalGather: 0
71+
m_FinalGatherFiltering: 1
72+
m_FinalGatherRayCount: 256
73+
m_ReflectionCompression: 2
74+
m_MixedBakeMode: 2
75+
m_BakeBackend: 1
76+
m_PVRSampling: 1
77+
m_PVRDirectSampleCount: 32
78+
m_PVRSampleCount: 512
79+
m_PVRBounces: 2
80+
m_PVREnvironmentSampleCount: 256
81+
m_PVREnvironmentReferencePointCount: 2048
82+
m_PVRFilteringMode: 1
83+
m_PVRDenoiserTypeDirect: 1
84+
m_PVRDenoiserTypeIndirect: 1
85+
m_PVRDenoiserTypeAO: 1
86+
m_PVRFilterTypeDirect: 0
87+
m_PVRFilterTypeIndirect: 0
88+
m_PVRFilterTypeAO: 0
89+
m_PVREnvironmentMIS: 1
90+
m_PVRCulling: 1
91+
m_PVRFilteringGaussRadiusDirect: 1
92+
m_PVRFilteringGaussRadiusIndirect: 5
93+
m_PVRFilteringGaussRadiusAO: 2
94+
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
95+
m_PVRFilteringAtrousPositionSigmaIndirect: 2
96+
m_PVRFilteringAtrousPositionSigmaAO: 1
97+
m_ExportTrainingData: 0
98+
m_TrainingDataDestination: TrainingData
99+
m_LightProbeSampleCountMultiplier: 4
100+
m_LightingDataAsset: {fileID: 0}
101+
m_LightingSettings: {fileID: 0}
102+
--- !u!196 &4
103+
NavMeshSettings:
104+
serializedVersion: 2
105+
m_ObjectHideFlags: 0
106+
m_BuildSettings:
107+
serializedVersion: 2
108+
agentTypeID: 0
109+
agentRadius: 0.5
110+
agentHeight: 2
111+
agentSlope: 45
112+
agentClimb: 0.4
113+
ledgeDropHeight: 0
114+
maxJumpAcrossDistance: 0
115+
minRegionArea: 2
116+
manualCellSize: 0
117+
cellSize: 0.16666667
118+
manualTileSize: 0
119+
tileSize: 256
120+
accuratePlacement: 0
121+
maxJobWorkers: 0
122+
preserveTilesOutsideBounds: 0
123+
debug:
124+
m_Flags: 0
125+
m_NavMeshData: {fileID: 0}
126+
--- !u!1 &852939597
127+
GameObject:
128+
m_ObjectHideFlags: 0
129+
m_CorrespondingSourceObject: {fileID: 0}
130+
m_PrefabInstance: {fileID: 0}
131+
m_PrefabAsset: {fileID: 0}
132+
serializedVersion: 6
133+
m_Component:
134+
- component: {fileID: 852939599}
135+
- component: {fileID: 852939598}
136+
m_Layer: 0
137+
m_Name: Renderer
138+
m_TagString: Untagged
139+
m_Icon: {fileID: 0}
140+
m_NavMeshLayer: 0
141+
m_StaticEditorFlags: 0
142+
m_IsActive: 1
143+
--- !u!114 &852939598
144+
MonoBehaviour:
145+
m_ObjectHideFlags: 0
146+
m_CorrespondingSourceObject: {fileID: 0}
147+
m_PrefabInstance: {fileID: 0}
148+
m_PrefabAsset: {fileID: 0}
149+
m_GameObject: {fileID: 852939597}
150+
m_Enabled: 1
151+
m_EditorHideFlags: 0
152+
m_Script: {fileID: 11500000, guid: ec93ccb29b3926a4dae8292dc58bdf93, type: 3}
153+
m_Name:
154+
m_EditorClassIdentifier:
155+
--- !u!4 &852939599
156+
Transform:
157+
m_ObjectHideFlags: 0
158+
m_CorrespondingSourceObject: {fileID: 0}
159+
m_PrefabInstance: {fileID: 0}
160+
m_PrefabAsset: {fileID: 0}
161+
m_GameObject: {fileID: 852939597}
162+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
163+
m_LocalPosition: {x: 0, y: 0, z: 0}
164+
m_LocalScale: {x: 1, y: 1, z: 1}
165+
m_Children: []
166+
m_Father: {fileID: 0}
167+
m_RootOrder: 1
168+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
169+
--- !u!1 &1218354043
170+
GameObject:
171+
m_ObjectHideFlags: 0
172+
m_CorrespondingSourceObject: {fileID: 0}
173+
m_PrefabInstance: {fileID: 0}
174+
m_PrefabAsset: {fileID: 0}
175+
serializedVersion: 6
176+
m_Component:
177+
- component: {fileID: 1218354046}
178+
- component: {fileID: 1218354045}
179+
- component: {fileID: 1218354044}
180+
m_Layer: 0
181+
m_Name: Main Camera
182+
m_TagString: MainCamera
183+
m_Icon: {fileID: 0}
184+
m_NavMeshLayer: 0
185+
m_StaticEditorFlags: 0
186+
m_IsActive: 1
187+
--- !u!81 &1218354044
188+
AudioListener:
189+
m_ObjectHideFlags: 0
190+
m_CorrespondingSourceObject: {fileID: 0}
191+
m_PrefabInstance: {fileID: 0}
192+
m_PrefabAsset: {fileID: 0}
193+
m_GameObject: {fileID: 1218354043}
194+
m_Enabled: 1
195+
--- !u!20 &1218354045
196+
Camera:
197+
m_ObjectHideFlags: 0
198+
m_CorrespondingSourceObject: {fileID: 0}
199+
m_PrefabInstance: {fileID: 0}
200+
m_PrefabAsset: {fileID: 0}
201+
m_GameObject: {fileID: 1218354043}
202+
m_Enabled: 1
203+
serializedVersion: 2
204+
m_ClearFlags: 1
205+
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
206+
m_projectionMatrixMode: 1
207+
m_GateFitMode: 2
208+
m_FOVAxisMode: 0
209+
m_SensorSize: {x: 36, y: 24}
210+
m_LensShift: {x: 0, y: 0}
211+
m_FocalLength: 50
212+
m_NormalizedViewPortRect:
213+
serializedVersion: 2
214+
x: 0
215+
y: 0
216+
width: 1
217+
height: 1
218+
near clip plane: 0.3
219+
far clip plane: 1000
220+
field of view: 60
221+
orthographic: 0
222+
orthographic size: 5
223+
m_Depth: -1
224+
m_CullingMask:
225+
serializedVersion: 2
226+
m_Bits: 4294967295
227+
m_RenderingPath: -1
228+
m_TargetTexture: {fileID: 0}
229+
m_TargetDisplay: 0
230+
m_TargetEye: 3
231+
m_HDR: 1
232+
m_AllowMSAA: 1
233+
m_AllowDynamicResolution: 0
234+
m_ForceIntoRT: 0
235+
m_OcclusionCulling: 1
236+
m_StereoConvergence: 10
237+
m_StereoSeparation: 0.022
238+
--- !u!4 &1218354046
239+
Transform:
240+
m_ObjectHideFlags: 0
241+
m_CorrespondingSourceObject: {fileID: 0}
242+
m_PrefabInstance: {fileID: 0}
243+
m_PrefabAsset: {fileID: 0}
244+
m_GameObject: {fileID: 1218354043}
245+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
246+
m_LocalPosition: {x: 0, y: 1, z: -10}
247+
m_LocalScale: {x: 1, y: 1, z: 1}
248+
m_Children: []
249+
m_Father: {fileID: 0}
250+
m_RootOrder: 0
251+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

Assets/Structural/Bridge/Examples/Renderer/Scenes/Renderer.unity.meta

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

Assets/Structural/Bridge/Examples/Renderer/Scripts.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.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using UnityEngine;
2+
3+
namespace Bridge
4+
{
5+
public partial class Renderer
6+
{
7+
public interface IRendererImpl
8+
{
9+
RendererType Type { get; }
10+
void Render(Sprite sprite);
11+
}
12+
}
13+
}

Assets/Structural/Bridge/Examples/Renderer/Scripts/Renderer.IRendererImpl.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.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
using UnityEngine;
2+
3+
namespace Bridge
4+
{
5+
6+
public partial class Renderer
7+
{
8+
private class RendererDirectX : IRendererImpl
9+
{
10+
public RendererType Type => RendererType.DirectX;
11+
12+
public void Render(Sprite sprite)
13+
{
14+
Debug.Log("Rendered with DirectX");
15+
}
16+
}
17+
}
18+
}

0 commit comments

Comments
 (0)