wow thats alot of changes for no functionality!

This commit is contained in:
alexiscatnip
2021-05-31 02:37:15 +08:00
parent 4240350aa3
commit 33c4251f82
2770 changed files with 179706 additions and 13835 deletions
Binary file not shown.
@@ -1,292 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: ScaleImage
serializedVersion: 6
m_Legacy: 1
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves: []
m_ScaleCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0, y: 0, z: 0}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.28333333
value: {x: 1.02, y: 1.02, z: 1}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.33333334
value: {x: 1, y: 1, z: 1}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Image
m_FloatCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.1
value: 0.39215687
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.a
path: Background
classID: 114
script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0.78431374
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.a
path: Image
classID: 114
script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_PPtrCurves: []
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings: []
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.33333334
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 1
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.28333333
value: 1.02
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.33333334
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalScale.x
path: Image
classID: 224
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.28333333
value: 1.02
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.33333334
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalScale.y
path: Image
classID: 224
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.28333333
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.33333334
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalScale.z
path: Image
classID: 224
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.1
value: 0.39215687
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.a
path: Background
classID: 114
script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0.78431374
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.a
path: Image
classID: 114
script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []
@@ -1,16 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fc69d8282683b4927bea889cf04fdbad, type: 3}
m_Name: DemoBasicCategory1Panel
m_EditorClassIdentifier:
prefab: {fileID: 7672226721738635107, guid: 66a35256d92114ab4b2c8f46b9675c91, type: 3}
visibility: 0
@@ -1,16 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fc69d8282683b4927bea889cf04fdbad, type: 3}
m_Name: DemoBasicCategory2Panel
m_EditorClassIdentifier:
prefab: {fileID: 7672226721738635107, guid: 74d1ddeb7a2d542e4aadbb049e3e89c9, type: 3}
visibility: 0
@@ -1,16 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fc69d8282683b4927bea889cf04fdbad, type: 3}
m_Name: DemoBasicCategory3Panel
m_EditorClassIdentifier:
prefab: {fileID: 7672226721738635107, guid: 263b44d2124364b98b7fe61b0f6f1ce0, type: 3}
visibility: 0
@@ -1,16 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fc69d8282683b4927bea889cf04fdbad, type: 3}
m_Name: DemoBasicHomePanel
m_EditorClassIdentifier:
prefab: {fileID: 6578158591202052525, guid: d176c783fc84a48ec9c1de2465d6110f, type: 3}
visibility: 0
@@ -1,16 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fc69d8282683b4927bea889cf04fdbad, type: 3}
m_Name: DemoBasicShopPanel
m_EditorClassIdentifier:
prefab: {fileID: 7672226721738635107, guid: 4b149b9af002d4647b3ffefff68d0d28, type: 3}
visibility: 0
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: b4cbdbe37079f441d9157a1d0871804a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -1,16 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fc69d8282683b4927bea889cf04fdbad, type: 3}
m_Name: DemoBasicSocialPanel
m_EditorClassIdentifier:
prefab: {fileID: 3963265893403570430, guid: bd541ccab0d63404dac120dfe5e6b1d5, type: 3}
visibility: 0
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: b5fc59d7451d54feba1cbbf7f161863b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -1,16 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fc69d8282683b4927bea889cf04fdbad, type: 3}
m_Name: DemoOkCancelPanel
m_EditorClassIdentifier:
prefab: {fileID: 320916351774520140, guid: 9680ddd13fe8e4f4f96f19b0600d1d5d, type: 3}
visibility: 1
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 43b40969ff42d42d98a2d2b9df494c4b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -1,217 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &5525545177945617988
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4178419854580744634}
- component: {fileID: 855252728635330810}
- component: {fileID: 1660502629052165469}
- component: {fileID: 1250099955043603544}
- component: {fileID: 7426359637974243399}
m_Layer: 5
m_Name: Button - Back
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4178419854580744634
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5525545177945617988}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 3724757476515978209}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 20, y: -20}
m_SizeDelta: {x: 80, y: 80}
m_Pivot: {x: 0, y: 1}
--- !u!222 &855252728635330810
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5525545177945617988}
m_CullTransparentMesh: 0
--- !u!114 &1660502629052165469
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5525545177945617988}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!114 &1250099955043603544
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5525545177945617988}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1660502629052165469}
m_OnClick:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null
--- !u!114 &7426359637974243399
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5525545177945617988}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 02ae5a29beaff407491e5574f5706dad, type: 3}
m_Name:
m_EditorClassIdentifier:
stack: {fileID: 11400000, guid: a47d394c465a24d1194fce337a94c971, type: 2}
popEvent: 1
--- !u!1 &6573878872393149162
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3724757476515978209}
- component: {fileID: 3886538523974748511}
- component: {fileID: 3143509226966028925}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3724757476515978209
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6573878872393149162}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4178419854580744634}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3886538523974748511
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6573878872393149162}
m_CullTransparentMesh: 0
--- !u!114 &3143509226966028925
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6573878872393149162}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 28
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Back
@@ -1,220 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &978803173960428181
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7286414614502890398}
- component: {fileID: 7152198336445745440}
- component: {fileID: 9021141820459373058}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7286414614502890398
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 978803173960428181}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 8021701434123108805}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7152198336445745440
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 978803173960428181}
m_CullTransparentMesh: 0
--- !u!114 &9021141820459373058
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 978803173960428181}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 28
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Home
--- !u!1 &1873737535676347963
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8021701434123108805}
- component: {fileID: 6732885426012541061}
- component: {fileID: 4730255272543415586}
- component: {fileID: 5185695980846371879}
- component: {fileID: 2815277513281791748}
m_Layer: 5
m_Name: Button - Home
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8021701434123108805
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1873737535676347963}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 7286414614502890398}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -20, y: -20}
m_SizeDelta: {x: 80, y: 80}
m_Pivot: {x: 1, y: 1}
--- !u!222 &6732885426012541061
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1873737535676347963}
m_CullTransparentMesh: 0
--- !u!114 &4730255272543415586
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1873737535676347963}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!114 &5185695980846371879
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1873737535676347963}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 4730255272543415586}
m_OnClick:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null
--- !u!114 &2815277513281791748
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1873737535676347963}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f41dbfa035f8b46a3b8238c13b480388, type: 3}
m_Name:
m_EditorClassIdentifier:
stack: {fileID: 11400000, guid: a47d394c465a24d1194fce337a94c971, type: 2}
provider: {fileID: 11400000, guid: fdc979189f1064e64979c0aa193327f1, type: 2}
panelType: {fileID: 11400000, guid: f4c6ce4c7822847f2b458c0df03c0c1d, type: 2}
pushOnEvent: 1
clearBeforePush: 1
@@ -1,822 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2176426798230094083
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4133967344660449451}
- component: {fileID: 883821973279904436}
- component: {fileID: 2698324084984501024}
- component: {fileID: 1440463885921754178}
m_Layer: 5
m_Name: Text (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4133967344660449451
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2176426798230094083}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 3214107857074173269}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: 0, y: 110}
m_SizeDelta: {x: -20, y: 100}
m_Pivot: {x: 0.5, y: 0}
--- !u!222 &883821973279904436
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2176426798230094083}
m_CullTransparentMesh: 0
--- !u!114 &2698324084984501024
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2176426798230094083}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 28
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 7
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: These buttons push panels onto the stack. The panel stack maintains a history
so that you can go "Back" in the panel navigation history.
--- !u!114 &1440463885921754178
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2176426798230094083}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 1
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: -1
m_PreferredHeight: -1
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!1 &3214107856708001799
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3214107856708001796}
- component: {fileID: 3214107856708001800}
- component: {fileID: 3214107856708001803}
- component: {fileID: 3214107856708001802}
- component: {fileID: 3214107856708001797}
m_Layer: 5
m_Name: Button - Home
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3214107856708001796
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107856708001799}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 3214107858115342235}
m_Father: {fileID: 3214107857074173269}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3214107856708001800
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107856708001799}
m_CullTransparentMesh: 0
--- !u!114 &3214107856708001803
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107856708001799}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!114 &3214107856708001802
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107856708001799}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 0
m_TargetGraphic: {fileID: 3214107856708001803}
m_OnClick:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null
--- !u!114 &3214107856708001797
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107856708001799}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f41dbfa035f8b46a3b8238c13b480388, type: 3}
m_Name:
m_EditorClassIdentifier:
stack: {fileID: 11400000, guid: a47d394c465a24d1194fce337a94c971, type: 2}
provider: {fileID: 11400000, guid: fdc979189f1064e64979c0aa193327f1, type: 2}
panelType: {fileID: 11400000, guid: f4c6ce4c7822847f2b458c0df03c0c1d, type: 2}
pushOnEvent: 1
clearBeforePush: 1
--- !u!1 &3214107857074173268
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3214107857074173269}
- component: {fileID: 3214107857074173274}
m_Layer: 5
m_Name: Footer
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3214107857074173269
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107857074173268}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 3214107857628030775}
- {fileID: 3214107856708001796}
- {fileID: 3214107858152572190}
- {fileID: 4133967344660449451}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 100}
m_Pivot: {x: 0.5, y: 0}
--- !u!114 &3214107857074173274
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107857074173268}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 0
m_Spacing: 0
m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 1
m_ChildControlWidth: 1
m_ChildControlHeight: 1
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
--- !u!1 &3214107857621642557
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3214107857621642690}
- component: {fileID: 3214107857621642688}
- component: {fileID: 3214107857621642691}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3214107857621642690
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107857621642557}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 3214107858152572190}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3214107857621642688
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107857621642557}
m_CullTransparentMesh: 0
--- !u!114 &3214107857621642691
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107857621642557}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 28
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Social
--- !u!1 &3214107857628030774
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3214107857628030775}
- component: {fileID: 3214107857628030779}
- component: {fileID: 3214107857628030778}
- component: {fileID: 3214107857628030773}
- component: {fileID: 3214107857628030772}
m_Layer: 5
m_Name: Button - Shop
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3214107857628030775
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107857628030774}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 3214107857976340124}
m_Father: {fileID: 3214107857074173269}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3214107857628030779
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107857628030774}
m_CullTransparentMesh: 0
--- !u!114 &3214107857628030778
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107857628030774}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!114 &3214107857628030773
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107857628030774}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 3214107857628030778}
m_OnClick:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null
--- !u!114 &3214107857628030772
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107857628030774}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f41dbfa035f8b46a3b8238c13b480388, type: 3}
m_Name:
m_EditorClassIdentifier:
stack: {fileID: 11400000, guid: a47d394c465a24d1194fce337a94c971, type: 2}
provider: {fileID: 11400000, guid: fdc979189f1064e64979c0aa193327f1, type: 2}
panelType: {fileID: 11400000, guid: b4cbdbe37079f441d9157a1d0871804a, type: 2}
pushOnEvent: 1
clearBeforePush: 1
--- !u!1 &3214107857976340127
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3214107857976340124}
- component: {fileID: 3214107857976340130}
- component: {fileID: 3214107857976340125}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3214107857976340124
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107857976340127}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 3214107857628030775}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3214107857976340130
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107857976340127}
m_CullTransparentMesh: 0
--- !u!114 &3214107857976340125
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107857976340127}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 28
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Shop
--- !u!1 &3214107858115342234
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3214107858115342235}
- component: {fileID: 3214107858115342233}
- component: {fileID: 3214107858115342232}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3214107858115342235
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107858115342234}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 3214107856708001796}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3214107858115342233
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107858115342234}
m_CullTransparentMesh: 0
--- !u!114 &3214107858115342232
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107858115342234}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 28
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Home
--- !u!1 &3214107858152572185
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3214107858152572190}
- component: {fileID: 3214107858152572194}
- component: {fileID: 3214107858152572189}
- component: {fileID: 3214107858152572188}
- component: {fileID: 3214107858152572191}
m_Layer: 5
m_Name: Button - Social
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3214107858152572190
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107858152572185}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 3214107857621642690}
m_Father: {fileID: 3214107857074173269}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3214107858152572194
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107858152572185}
m_CullTransparentMesh: 0
--- !u!114 &3214107858152572189
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107858152572185}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!114 &3214107858152572188
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107858152572185}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 3214107858152572189}
m_OnClick:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null
--- !u!114 &3214107858152572191
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214107858152572185}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f41dbfa035f8b46a3b8238c13b480388, type: 3}
m_Name:
m_EditorClassIdentifier:
stack: {fileID: 11400000, guid: a47d394c465a24d1194fce337a94c971, type: 2}
provider: {fileID: 11400000, guid: fdc979189f1064e64979c0aa193327f1, type: 2}
panelType: {fileID: 11400000, guid: b5fc59d7451d54feba1cbbf7f161863b, type: 2}
pushOnEvent: 1
clearBeforePush: 1
File diff suppressed because it is too large Load Diff
@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: d176c783fc84a48ec9c1de2465d6110f
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,946 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1273221033898720042
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 954100017640329822}
- component: {fileID: 9032745587593111851}
- component: {fileID: 9082666369428133581}
- component: {fileID: 1705956001732043712}
m_Layer: 0
m_Name: Text (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &954100017640329822
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1273221033898720042}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 7207422984236054448}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -10}
m_SizeDelta: {x: -100, y: 31}
m_Pivot: {x: 0.5, y: 1}
--- !u!222 &9032745587593111851
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1273221033898720042}
m_CullTransparentMesh: 0
--- !u!114 &9082666369428133581
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1273221033898720042}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 28
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: OK / Cancel Prompt
--- !u!114 &1705956001732043712
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1273221033898720042}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 1
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: -1
m_PreferredHeight: -1
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!1 &2903229334684687253
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7593453558538537054}
- component: {fileID: 7894997925842274204}
- component: {fileID: 6605296547276949093}
- component: {fileID: 3102406121846141817}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7593453558538537054
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2903229334684687253}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 7207422984236054448}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7894997925842274204
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2903229334684687253}
m_CullTransparentMesh: 0
--- !u!114 &6605296547276949093
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2903229334684687253}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 28
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: This is a test modal user prompt.
--- !u!114 &3102406121846141817
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2903229334684687253}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 0
m_MinWidth: -1
m_MinHeight: 200
m_PreferredWidth: -1
m_PreferredHeight: -1
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!1 &5417928267732075490
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5417928267732075489}
- component: {fileID: 3727592129243704459}
- component: {fileID: 2966327128909063263}
- component: {fileID: 320916351774520140}
m_Layer: 0
m_Name: View - OkCancel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5417928267732075489
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5417928267732075490}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 5417928267853972775}
- {fileID: 7207422984236054448}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!111 &3727592129243704459
Animation:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5417928267732075490}
m_Enabled: 1
serializedVersion: 3
m_Animation: {fileID: 7400000, guid: 235742dc02e8346b1b2b56d0dc72a6d6, type: 2}
m_Animations:
- {fileID: 7400000, guid: 235742dc02e8346b1b2b56d0dc72a6d6, type: 2}
m_WrapMode: 0
m_PlayAutomatically: 0
m_AnimatePhysics: 0
m_CullingType: 0
--- !u!114 &2966327128909063263
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5417928267732075490}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: cb13da5fd81c7453c90dd78db60706fb, type: 3}
m_Name:
m_EditorClassIdentifier:
showAnimation: {fileID: 7400000, guid: 235742dc02e8346b1b2b56d0dc72a6d6, type: 2}
showPanelNavigationDirection: 1
hideAnimation: {fileID: 7400000, guid: 235742dc02e8346b1b2b56d0dc72a6d6, type: 2}
hidePanelNavigationDirection: -1
debug: 0
--- !u!114 &320916351774520140
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5417928267732075490}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30f111e4b0fd9496cb5a0ffa999f90a0, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &5417928267853972768
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5417928267853972775}
- component: {fileID: 5417928267853972773}
- component: {fileID: 5417928267853972774}
m_Layer: 5
m_Name: Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5417928267853972775
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5417928267853972768}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 5417928267732075489}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5417928267853972773
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5417928267853972768}
m_CullTransparentMesh: 0
--- !u!114 &5417928267853972774
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5417928267853972768}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 2100000, guid: 7bbb5ca0fc79d4aca8d6deaec1cff254, type: 2}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!1 &6280775379880342291
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6568041921504892747}
- component: {fileID: 4054258066408743883}
- component: {fileID: 5565047131358528514}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6568041921504892747
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6280775379880342291}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 8242195691849649846}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4054258066408743883
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6280775379880342291}
m_CullTransparentMesh: 0
--- !u!114 &5565047131358528514
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6280775379880342291}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 28
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Ok
--- !u!1 &6460767620937361610
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1531168316552866101}
- component: {fileID: 4342247572060154643}
- component: {fileID: 8092389123801153781}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1531168316552866101
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6460767620937361610}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 7881898423933465236}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4342247572060154643
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6460767620937361610}
m_CullTransparentMesh: 0
--- !u!114 &8092389123801153781
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6460767620937361610}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 28
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 'Cancel
'
--- !u!1 &6944056448940926227
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7881898423933465236}
- component: {fileID: 6050601556207907743}
- component: {fileID: 3434616878157313513}
- component: {fileID: 7006279259703718958}
- component: {fileID: 596278916941117423}
m_Layer: 0
m_Name: Button - Cancel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7881898423933465236
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6944056448940926227}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1531168316552866101}
m_Father: {fileID: 7207422984236054448}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: -20, y: 10}
m_SizeDelta: {x: 160, y: 60}
m_Pivot: {x: 1, y: 0}
--- !u!222 &6050601556207907743
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6944056448940926227}
m_CullTransparentMesh: 0
--- !u!114 &3434616878157313513
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6944056448940926227}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!114 &7006279259703718958
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6944056448940926227}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 3434616878157313513}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 320916351774520140}
m_MethodName: Cancel
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null
--- !u!114 &596278916941117423
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6944056448940926227}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 1
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: -1
m_PreferredHeight: -1
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!1 &8423108250189670862
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7207422984236054448}
- component: {fileID: 5941828678106494954}
- component: {fileID: 5891447731244748864}
- component: {fileID: 7683439839286717845}
- component: {fileID: 7454112142533023065}
m_Layer: 0
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7207422984236054448
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8423108250189670862}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 7881898423933465236}
- {fileID: 8242195691849649846}
- {fileID: 7593453558538537054}
- {fileID: 954100017640329822}
m_Father: {fileID: 5417928267732075489}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -200, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5941828678106494954
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8423108250189670862}
m_CullTransparentMesh: 0
--- !u!114 &5891447731244748864
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8423108250189670862}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0, b: 0, a: 0.5882353}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!114 &7683439839286717845
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8423108250189670862}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 50
m_Right: 50
m_Top: 100
m_Bottom: 120
m_ChildAlignment: 0
m_Spacing: 0
m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 0
m_ChildControlWidth: 1
m_ChildControlHeight: 1
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
--- !u!114 &7454112142533023065
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8423108250189670862}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 0
m_VerticalFit: 2
--- !u!1 &9141990220256981575
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8242195691849649846}
- component: {fileID: 387216267810283714}
- component: {fileID: 4458065524696416842}
- component: {fileID: 7533569980662293400}
- component: {fileID: 5330804492665319543}
m_Layer: 0
m_Name: Button - Ok
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8242195691849649846
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9141990220256981575}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 6568041921504892747}
m_Father: {fileID: 7207422984236054448}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 20, y: 10}
m_SizeDelta: {x: 160, y: 60}
m_Pivot: {x: 0, y: 0}
--- !u!222 &387216267810283714
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9141990220256981575}
m_CullTransparentMesh: 0
--- !u!114 &4458065524696416842
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9141990220256981575}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!114 &7533569980662293400
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9141990220256981575}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 4458065524696416842}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 320916351774520140}
m_MethodName: Ok
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null
--- !u!114 &5330804492665319543
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9141990220256981575}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 1
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: -1
m_PreferredHeight: -1
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 9680ddd13fe8e4f4f96f19b0600d1d5d
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 66a35256d92114ab4b2c8f46b9675c91
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 74d1ddeb7a2d542e4aadbb049e3e89c9
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 263b44d2124364b98b7fe61b0f6f1ce0
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 4b149b9af002d4647b3ffefff68d0d28
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,484 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3431859740078506987
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3262712823960402084}
- component: {fileID: 8114355156929935781}
- component: {fileID: 1160541302311147733}
m_Layer: 5
m_Name: Text - Title
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3262712823960402084
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3431859740078506987}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 3733858326142134613}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -100, y: 100}
m_Pivot: {x: 0.5, y: 1}
--- !u!222 &8114355156929935781
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3431859740078506987}
m_CullTransparentMesh: 0
--- !u!114 &1160541302311147733
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3431859740078506987}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 28
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: SHOP
--- !u!1 &5659367827126328401
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3256677520222016931}
- component: {fileID: 7960663802061738655}
- component: {fileID: 809252059035943269}
m_Layer: 5
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3256677520222016931
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5659367827126328401}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 3733858326142134613}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0.000030517578}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7960663802061738655
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5659367827126328401}
m_CullTransparentMesh: 0
--- !u!114 &809252059035943269
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5659367827126328401}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.227451, g: 0.49019608, b: 0.37692508, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!1 &8758713464273138592
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3733858326142134613}
- component: {fileID: 3963265893403570430}
- component: {fileID: 1416332628879160124}
- component: {fileID: 7857834501462800990}
- component: {fileID: 6502592041791833139}
m_Layer: 5
m_Name: View - Social
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3733858326142134613
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8758713464273138592}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 3256677520222016931}
- {fileID: 3262712823960402084}
- {fileID: 4416036426195868138}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &3963265893403570430
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8758713464273138592}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: afe463024862a4d5481887bd0b0e37e7, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!95 &1416332628879160124
Animator:
serializedVersion: 3
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8758713464273138592}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 9100000, guid: f6aec0908ca534cf5ae5000a53b67091, type: 2}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorControllerStateOnDisable: 0
--- !u!225 &7857834501462800990
CanvasGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8758713464273138592}
m_Enabled: 1
m_Alpha: 1
m_Interactable: 1
m_BlocksRaycasts: 1
m_IgnoreParentGroups: 0
--- !u!114 &6502592041791833139
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8758713464273138592}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 07f985c74b5a7440da4be7d16bca5b72, type: 3}
m_Name:
m_EditorClassIdentifier:
animator: {fileID: 1416332628879160124}
animationType: 1
--- !u!1001 &1284132457538759871
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 3733858326142134613}
m_Modifications:
- target: {fileID: 3214107857074173268, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_Name
value: Footer
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_SizeDelta.y
value: 100
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_Pivot.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857628030775, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857628030775, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857628030775, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857628030775, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857628030775, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857628030775, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107857628030773, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_Interactable
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3214107856708001796, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107856708001796, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107856708001796, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107856708001796, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107856708001796, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107856708001796, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107856708001802, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_Interactable
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3214107858152572190, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107858152572190, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107858152572190, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107858152572190, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107858152572190, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107858152572190, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3214107858152572188, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
propertyPath: m_Interactable
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 272efe8d1077340a2a464fdf763d8bdf, type: 3}
--- !u!224 &4416036426195868138 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 3214107857074173269, guid: 272efe8d1077340a2a464fdf763d8bdf,
type: 3}
m_PrefabInstance: {fileID: 1284132457538759871}
m_PrefabAsset: {fileID: 0}
@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: bd541ccab0d63404dac120dfe5e6b1d5
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,34 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: DemoBackgroundBlur
m_Shader: {fileID: 4800000, guid: 3c6f37797183c4864af4ed16fc8ecefe, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpAmt: 10
- _Size: 4
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 3217b51f6953f44dc8b07efbc52abeff
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,14 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 690fc9916455e4a44a617ace50efb87f, type: 3}
m_Name: DemoModalPanelStack
m_EditorClassIdentifier:
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 324e0db3d92d24150a95432fc51163d4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -1,14 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2bed982717cd54ad6ac46efe7c12d36e, type: 3}
m_Name: DemoPanelProvider
m_EditorClassIdentifier:
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: fdc979189f1064e64979c0aa193327f1
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -1,14 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 690fc9916455e4a44a617ace50efb87f, type: 3}
m_Name: DemoPanelStack
m_EditorClassIdentifier:
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: a47d394c465a24d1194fce337a94c971
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -1,14 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: db1173234a68649fcb623bcc7ee6a8da, type: 3}
m_Name: DemoShopSwapSystem
m_EditorClassIdentifier:
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: d9f2f78d2518304468d6d2d0052d570f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 4167ade716d1b40d4b2b901c453c9938
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,870 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 11
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 1
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ShowResolutionOverlay: 1
m_ExportTrainingData: 0
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 1
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &439118073
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 439118074}
- component: {fileID: 439118075}
- component: {fileID: 439118076}
m_Layer: 5
m_Name: PanelStack
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &439118074
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 439118073}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 6398733053705039691}
m_Father: {fileID: 471876721}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &439118075
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 439118073}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c4e70909638574717a3e9e1382ce0913, type: 3}
m_Name:
m_EditorClassIdentifier:
eventManager: {fileID: 720425577}
panelStackSystem: {fileID: 11400000, guid: a47d394c465a24d1194fce337a94c971, type: 2}
clearSystemStackOnDestroy: 1
--- !u!114 &439118076
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 439118073}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f41dbfa035f8b46a3b8238c13b480388, type: 3}
m_Name:
m_EditorClassIdentifier:
stack: {fileID: 11400000, guid: a47d394c465a24d1194fce337a94c971, type: 2}
provider: {fileID: 11400000, guid: fdc979189f1064e64979c0aa193327f1, type: 2}
panelType: {fileID: 11400000, guid: faf1683bb39bf4b91860239e4ea0e394, type: 2}
pushOnEvent: 3
clearBeforePush: 0
--- !u!1 &471876717
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 471876721}
- component: {fileID: 471876720}
- component: {fileID: 471876719}
- component: {fileID: 471876718}
m_Layer: 5
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &471876718
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 471876717}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &471876719
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 471876717}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
--- !u!223 &471876720
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 471876717}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &471876721
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 471876717}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_Children:
- {fileID: 1655847348}
- {fileID: 1303770201}
- {fileID: 439118074}
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &527227069
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 527227072}
- component: {fileID: 527227071}
- component: {fileID: 527227070}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &527227070
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 527227069}
m_Enabled: 1
--- !u!20 &527227071
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 527227069}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &527227072
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 527227069}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &720425573
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 720425576}
- component: {fileID: 720425575}
- component: {fileID: 720425574}
- component: {fileID: 720425577}
m_Layer: 0
m_Name: EventSystem w/EventManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &720425574
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 720425573}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalAxis: Horizontal
m_VerticalAxis: Vertical
m_SubmitButton: Submit
m_CancelButton: Cancel
m_InputActionsPerSecond: 10
m_RepeatDelay: 0.5
m_ForceModuleActive: 0
--- !u!114 &720425575
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 720425573}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_FirstSelected: {fileID: 0}
m_sendNavigationEvents: 1
m_DragThreshold: 10
--- !u!4 &720425576
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 720425573}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &720425577
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 720425573}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 16069015fd38a554c91582a3a9b2f447, type: 3}
m_Name:
m_EditorClassIdentifier:
inputLock:
onUnlocked:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
onLocked:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
--- !u!114 &1075831362 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 5509629924923408235, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
m_PrefabInstance: {fileID: 6398733053705039690}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1df82e7c418f0493cb9740114965c34f, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1078836606
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1078836608}
- component: {fileID: 1078836607}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &1078836607
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1078836606}
m_Enabled: 1
serializedVersion: 9
m_Type: 1
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.80208
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &1078836608
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1078836606}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &1303770200
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1303770201}
m_Layer: 5
m_Name: PanelControllers
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1303770201
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1303770200}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1512282746}
m_Father: {fileID: 471876721}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1512282745
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1512282746}
- component: {fileID: 1512282748}
- component: {fileID: 1512282747}
m_Layer: 5
m_Name: PanelController - DemoPanel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1512282746
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1512282745}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1303770201}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1512282747
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1512282745}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: af0298fcd6ae549a385efadb044173f2, type: 3}
m_Name:
m_EditorClassIdentifier:
provider: {fileID: 11400000, guid: fdc979189f1064e64979c0aa193327f1, type: 2}
regsiterOnEvent: 0
--- !u!114 &1512282748
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1512282745}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5cff770e252694cbe8d358bd6941ed4c, type: 3}
m_Name:
m_EditorClassIdentifier:
panelType: {fileID: 11400000, guid: faf1683bb39bf4b91860239e4ea0e394, type: 2}
panelView: {fileID: 1075831362}
infoText: "Some info text \nSet by the panel view controller"
--- !u!1 &1655847347
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1655847348}
- component: {fileID: 1655847350}
- component: {fileID: 1655847349}
m_Layer: 5
m_Name: Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1655847348
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1655847347}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 471876721}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1655847349
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1655847347}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.3773585, g: 0.3773585, b: 0.3773585, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!222 &1655847350
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1655847347}
m_CullTransparentMesh: 0
--- !u!1001 &6398733053705039690
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 439118074}
m_Modifications:
- target: {fileID: 3066629581725549166, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_Name
value: View - Demo
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 40d0d123433b948ff8608364fa1fbd57, type: 3}
--- !u!224 &6398733053705039691 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 5227112814555854446, guid: 40d0d123433b948ff8608364fa1fbd57,
type: 3}
m_PrefabInstance: {fileID: 6398733053705039690}
m_PrefabAsset: {fileID: 0}
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: e4911d1a58959428ebd2997a33aea540
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,16 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fc69d8282683b4927bea889cf04fdbad, type: 3}
m_Name: DemoPanel
m_EditorClassIdentifier:
prefab: {fileID: 5509629924923408235, guid: 40d0d123433b948ff8608364fa1fbd57, type: 3}
visibility: 0
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: faf1683bb39bf4b91860239e4ea0e394
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: aaf7698f9dc734eb68aa40e38e30967f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,179 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1697169054803495299
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7491029776069625804}
- component: {fileID: 2271329928638330347}
- component: {fileID: 8130408905383003491}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7491029776069625804
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1697169054803495299}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 5227112814555854446}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -100, y: -100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2271329928638330347
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1697169054803495299}
m_CullTransparentMesh: 0
--- !u!114 &8130408905383003491
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1697169054803495299}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 28
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: New Text
--- !u!1 &3066629581725549166
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5227112814555854446}
- component: {fileID: 5509629924923408235}
- component: {fileID: 3278972341554508064}
- component: {fileID: 3692226187943533964}
- component: {fileID: 9123808867988901841}
m_Layer: 5
m_Name: View - Demo
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5227112814555854446
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3066629581725549166}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 7491029776069625804}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &5509629924923408235
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3066629581725549166}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1df82e7c418f0493cb9740114965c34f, type: 3}
m_Name:
m_EditorClassIdentifier:
infoLabel: {fileID: 8130408905383003491}
--- !u!95 &3278972341554508064
Animator:
serializedVersion: 3
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3066629581725549166}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 9100000, guid: f6aec0908ca534cf5ae5000a53b67091, type: 2}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorControllerStateOnDisable: 0
--- !u!225 &3692226187943533964
CanvasGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3066629581725549166}
m_Enabled: 1
m_Alpha: 1
m_Interactable: 1
m_BlocksRaycasts: 1
m_IgnoreParentGroups: 0
--- !u!114 &9123808867988901841
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3066629581725549166}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 07f985c74b5a7440da4be7d16bca5b72, type: 3}
m_Name:
m_EditorClassIdentifier:
animator: {fileID: 3278972341554508064}
animationType: 1
@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 40d0d123433b948ff8608364fa1fbd57
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,11 +0,0 @@
using UnityEngine.UI;
namespace Gameframe.GUI.PanelSystem.Demo
{
public class DemoPanelView : AnimatedPanelView
{
public Text infoLabel;
}
}
@@ -1,50 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Gameframe.GUI.PanelSystem.Demo
{
public class DemoPanelViewController : PanelViewControllerBehaviour<DemoPanelView>
{
[Multiline]
public string infoText = "Some info text from the panel view controller";
protected override void ViewDidLoad()
{
base.ViewDidLoad();
LogEvent($"ViewDidLoad [active{gameObject.activeSelf}]");
}
protected override void ViewWillAppear()
{
base.ViewWillAppear();
LogEvent($"ViewWillAppear [active{gameObject.activeSelf}]");
View.infoLabel.text = infoText;
}
protected override void ViewDidAppear()
{
base.ViewDidAppear();
LogEvent($"ViewDidAppear [active:{gameObject.activeSelf}]");
}
protected override void ViewWillDisappear()
{
base.ViewWillDisappear();
LogEvent($"ViewWillDisappear [active:{gameObject.activeSelf}]");
}
protected override void ViewDidDisappear()
{
base.ViewDidAppear();
LogEvent($"ViewDidDisappear [active:{gameObject.activeSelf}]");
}
private void LogEvent(string msg)
{
Debug.LogFormat("DemoPanelViewController: {0}",msg);
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

@@ -0,0 +1,120 @@
fileFormatVersion: 2
guid: 79937062bef508c4c8269e44b9f538fd
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 2
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
+16
View File
@@ -0,0 +1,16 @@
{
"name": "Main",
"rootNamespace": "",
"references": [
"GUID:560b04d1a97f54a4e82edc0cbbb69285"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": true,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1364d97af688c264f94c622d729b2059
guid: 9dcc7c0610df60a49a59da5f5f76ac0b
AssemblyDefinitionImporter:
externalObjects: {}
userData:
-8
View File
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 538b2f91dbf71f54eb8346fd20194b00
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
-242
View File
@@ -1,242 +0,0 @@
// ConcurrentQueue.cs
//
// Copyright (c) 2008 Jérémie "Garuma" Laval
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
//
// Note this is slightly modified from the original from Mono for compatibility with .Net 3.5
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
namespace System.Threading.Collections
{
public class ConcurrentQueue<T> : IEnumerable<T>, ICollection, ISerializable, IDeserializationCallback
{
class Node
{
public T Value;
public Node Next;
}
Node _head = new Node();
Node _tail;
int _count;
/// <summary>
/// </summary>
public ConcurrentQueue()
{
_tail = _head;
}
public ConcurrentQueue(IEnumerable<T> enumerable)
: this()
{
foreach (T item in enumerable)
Enqueue(item);
}
public void Enqueue(T item)
{
var node = new Node { Value = item };
Node oldTail = null;
bool update = false;
while (!update)
{
oldTail = _tail;
var oldNext = oldTail.Next;
// Did tail was already updated ?
if (_tail == oldTail)
{
if (oldNext == null)
{
// The place is for us
update = Interlocked.CompareExchange(ref _tail.Next, node, null) == null;
}
else
{
// another Thread already used the place so give him a hand by putting tail where it should be
Interlocked.CompareExchange(ref _tail, oldNext, oldTail);
}
}
}
// At this point we added correctly our node, now we have to update tail. If it fails then it will be done by another thread
Interlocked.CompareExchange(ref _tail, node, oldTail);
Interlocked.Increment(ref _count);
}
/// <summary>
/// </summary>
/// <returns></returns>
public bool TryDequeue(out T value)
{
value = default(T);
bool advanced = false;
while (!advanced)
{
Node oldHead = _head;
Node oldTail = _tail;
Node oldNext = oldHead.Next;
if (oldHead == _head)
{
// Empty case ?
if (oldHead == oldTail)
{
// This should be false then
if (oldNext != null)
{
// If not then the linked list is mal formed, update tail
Interlocked.CompareExchange(ref _tail, oldNext, oldTail);
}
value = default(T);
return false;
}
else
{
value = oldNext.Value;
advanced = Interlocked.CompareExchange(ref _head, oldNext, oldHead) == oldHead;
}
}
}
Interlocked.Decrement(ref _count);
return true;
}
/// <summary>
/// </summary>
/// <returns></returns>
public bool TryPeek(out T value)
{
if (IsEmpty)
{
value = default(T);
return false;
}
Node first = _head.Next;
value = first.Value;
return true;
}
public void Clear()
{
_count = 0;
_tail = _head = new Node();
}
IEnumerator IEnumerable.GetEnumerator()
{
return InternalGetEnumerator();
}
IEnumerator<T> IEnumerable<T>.GetEnumerator()
{
return InternalGetEnumerator();
}
public IEnumerator<T> GetEnumerator()
{
return InternalGetEnumerator();
}
IEnumerator<T> InternalGetEnumerator()
{
Node myHead = _head;
while ((myHead = myHead.Next) != null)
{
yield return myHead.Value;
}
}
void ICollection.CopyTo(Array array, int index)
{
T[] dest = array as T[];
if (dest == null)
return;
CopyTo(dest, index);
}
public void CopyTo(T[] dest, int index)
{
IEnumerator<T> e = InternalGetEnumerator();
int i = index;
while (e.MoveNext())
{
dest[i++] = e.Current;
}
}
public T[] ToArray()
{
T[] dest = new T[_count];
CopyTo(dest, 0);
return dest;
}
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
throw new NotImplementedException();
}
bool ICollection.IsSynchronized
{
get { return true; }
}
public void OnDeserialization(object sender)
{
throw new NotImplementedException();
}
readonly object _syncRoot = new object();
object ICollection.SyncRoot
{
get { return _syncRoot; }
}
public int Count
{
get
{
return _count;
}
}
public bool IsEmpty
{
get
{
return _count == 0;
}
}
}
}
-275
View File
@@ -1,275 +0,0 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Threading;
namespace DisruptorUnity3d
{
/// <summary>
/// Implementation of the Disruptor pattern
/// </summary>
/// <typeparam name="T">the type of item to be stored</typeparam>
public class RingBuffer<T>
{
private readonly T[] _entries;
private readonly int _modMask;
private Volatile.PaddedLong _consumerCursor = new Volatile.PaddedLong();
private Volatile.PaddedLong _producerCursor = new Volatile.PaddedLong();
/// <summary>
/// Creates a new RingBuffer with the given capacity
/// </summary>
/// <param name="capacity">The capacity of the buffer</param>
/// <remarks>Only a single thread may attempt to consume at any one time</remarks>
public RingBuffer(int capacity)
{
capacity = NextPowerOfTwo(capacity);
_modMask = capacity - 1;
_entries = new T[capacity];
}
/// <summary>
/// The maximum number of items that can be stored
/// </summary>
public int Capacity
{
get { return _entries.Length; }
}
public T this[long index]
{
get { unchecked { return _entries[index & _modMask]; } }
set { unchecked { _entries[index & _modMask] = value; } }
}
/// <summary>
/// Removes an item from the buffer.
/// </summary>
/// <returns>The next available item</returns>
public T Dequeue()
{
var next = _consumerCursor.ReadAcquireFence() + 1;
while (_producerCursor.ReadAcquireFence() < next) // makes sure we read the data from _entries after we have read the producer cursor
{
Thread.SpinWait(1);
}
var result = this[next];
_consumerCursor.WriteReleaseFence(next); // makes sure we read the data from _entries before we update the consumer cursor
return result;
}
/// <summary>
/// Attempts to remove an items from the queue
/// </summary>
/// <param name="obj">the items</param>
/// <returns>True if successful</returns>
public bool TryDequeue(out T obj)
{
var next = _consumerCursor.ReadAcquireFence() + 1;
if (_producerCursor.ReadAcquireFence() < next)
{
obj = default(T);
return false;
}
obj = Dequeue();
return true;
}
/// <summary>
/// Add an item to the buffer
/// </summary>
/// <param name="item"></param>
public void Enqueue(T item)
{
var next = _producerCursor.ReadAcquireFence() + 1;
long wrapPoint = next - _entries.Length;
long min = _consumerCursor.ReadAcquireFence();
while (wrapPoint > min)
{
min = _consumerCursor.ReadAcquireFence();
Thread.SpinWait(1);
}
this[next] = item;
_producerCursor.WriteReleaseFence(next); // makes sure we write the data in _entries before we update the producer cursor
}
/// <summary>
/// The number of items in the buffer
/// </summary>
/// <remarks>for indicative purposes only, may contain stale data</remarks>
public int Count { get { return (int)(_producerCursor.ReadFullFence() - _consumerCursor.ReadFullFence()); } }
private static int NextPowerOfTwo(int x)
{
var result = 2;
while (result < x)
{
result <<= 1;
}
return result;
}
}
public static class Volatile
{
private const int CacheLineSize = 64;
[StructLayout(LayoutKind.Explicit, Size = CacheLineSize * 2)]
public struct PaddedLong
{
[FieldOffset(CacheLineSize)]
private long _value;
/// <summary>
/// Create a new <see cref="PaddedLong"/> with the given initial value.
/// </summary>
/// <param name="value">Initial value</param>
public PaddedLong(long value)
{
_value = value;
}
/// <summary>
/// Read the value without applying any fence
/// </summary>
/// <returns>The current value</returns>
public long ReadUnfenced()
{
return _value;
}
/// <summary>
/// Read the value applying acquire fence semantic
/// </summary>
/// <returns>The current value</returns>
public long ReadAcquireFence()
{
var value = _value;
Thread.MemoryBarrier();
return value;
}
/// <summary>
/// Read the value applying full fence semantic
/// </summary>
/// <returns>The current value</returns>
public long ReadFullFence()
{
Thread.MemoryBarrier();
return _value;
}
/// <summary>
/// Read the value applying a compiler only fence, no CPU fence is applied
/// </summary>
/// <returns>The current value</returns>
[MethodImpl(MethodImplOptions.NoOptimization)]
public long ReadCompilerOnlyFence()
{
return _value;
}
/// <summary>
/// Write the value applying release fence semantic
/// </summary>
/// <param name="newValue">The new value</param>
public void WriteReleaseFence(long newValue)
{
Thread.MemoryBarrier();
_value = newValue;
}
/// <summary>
/// Write the value applying full fence semantic
/// </summary>
/// <param name="newValue">The new value</param>
public void WriteFullFence(long newValue)
{
Thread.MemoryBarrier();
_value = newValue;
}
/// <summary>
/// Write the value applying a compiler fence only, no CPU fence is applied
/// </summary>
/// <param name="newValue">The new value</param>
[MethodImpl(MethodImplOptions.NoOptimization)]
public void WriteCompilerOnlyFence(long newValue)
{
_value = newValue;
}
/// <summary>
/// Write without applying any fence
/// </summary>
/// <param name="newValue">The new value</param>
public void WriteUnfenced(long newValue)
{
_value = newValue;
}
/// <summary>
/// Atomically set the value to the given updated value if the current value equals the comparand
/// </summary>
/// <param name="newValue">The new value</param>
/// <param name="comparand">The comparand (expected value)</param>
/// <returns></returns>
public bool AtomicCompareExchange(long newValue, long comparand)
{
return Interlocked.CompareExchange(ref _value, newValue, comparand) == comparand;
}
/// <summary>
/// Atomically set the value to the given updated value
/// </summary>
/// <param name="newValue">The new value</param>
/// <returns>The original value</returns>
public long AtomicExchange(long newValue)
{
return Interlocked.Exchange(ref _value, newValue);
}
/// <summary>
/// Atomically add the given value to the current value and return the sum
/// </summary>
/// <param name="delta">The value to be added</param>
/// <returns>The sum of the current value and the given value</returns>
public long AtomicAddAndGet(long delta)
{
return Interlocked.Add(ref _value, delta);
}
/// <summary>
/// Atomically increment the current value and return the new value
/// </summary>
/// <returns>The incremented value.</returns>
public long AtomicIncrementAndGet()
{
return Interlocked.Increment(ref _value);
}
/// <summary>
/// Atomically increment the current value and return the new value
/// </summary>
/// <returns>The decremented value.</returns>
public long AtomicDecrementAndGet()
{
return Interlocked.Decrement(ref _value);
}
/// <summary>
/// Returns the string representation of the current value.
/// </summary>
/// <returns>the string representation of the current value.</returns>
public override string ToString()
{
var value = ReadFullFence();
return value.ToString();
}
}
}
}
-74
View File
@@ -1,74 +0,0 @@
using System.Diagnostics;
using System.Threading;
using UnityEngine;
using Debug = UnityEngine.Debug;
using Random = System.Random;
namespace DisruptorUnity3d
{
public class Test : MonoBehaviour
{
static readonly Random Rng = new Random();
static readonly RingBuffer<int> Queue = new RingBuffer<int>(1000);
//static readonly ConcurrentQueue<int> Queue = new ConcurrentQueue<int>();
static readonly Stopwatch sw = new Stopwatch();
private const long Count = 5000000;//100000000;
private long _queued = 0;
private const long BatchSize = 20000;
private Thread _consumerThread;
private bool _printed = false;
private int numberToEnqueue;
public void Start()
{
Debug.Log("Started Test");
_consumerThread = new Thread(() =>
{
Debug.Log("Started consumer");
int expectedNumber = 0;
int previousNumber = 0;
for (long i = 0; i < Count; )
{
int val;
var dequeued = Queue.TryDequeue(out val);
if (dequeued)
{
if (expectedNumber != val)
Debug.Log("wrong value " + val + " ,correct: " + i + " ,previous: " + previousNumber);
previousNumber = val;
expectedNumber++;
++i;
}
}
Debug.Log(string.Format("Consumer done {0}", sw.Elapsed));
});
_consumerThread.Start();
sw.Start();
}
// Update is called once per frame
public void Update()
{
if (_queued >= Count && !_printed)
{
sw.Stop();
Debug.Log(string.Format("Producer done {0} {1}", sw.Elapsed, _queued));
_printed = true;
}
else
{
for (long i = 0; i < BatchSize && _queued < Count; ++i)
{
Queue.Enqueue(numberToEnqueue++);
++_queued;
}
}
}
}
}
-11
View File
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 35efa1e25d8cb8243afec9feafa02080
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -20,6 +20,12 @@ namespace Catnip.Drawing
Height = height;
}
public Bitmap(int width, int height)
{
Width = width;
Height = height;
}
public override int Width { get; internal set; }
public override int Height { get; internal set; }
public Catnip.Drawing.Imaging.PixelFormat PixelFormat { get; internal set; }
@@ -29,12 +35,18 @@ namespace Catnip.Drawing
throw new NotImplementedException();
}
internal void UnlockBits(BitmapData bd)
public void Dispose()
{
throw new NotImplementedException();
}
internal void Dispose()
public void UnlockBits(BitmapData outputData)
{
throw new NotImplementedException();
}
public void RotateFlip(object rotate270FlipNone)
{
throw new NotImplementedException();
}
@@ -0,0 +1,21 @@
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;
//using UnityEngine;
//namespace Catnip.Drawing
//{
// public struct Color
// {
// public static Color Transparent { get => (Catnip.Drawing.Color) UnityEngine.Color.clear; }
// public static explicit operator Catnip.Drawing.Color(byte b) => new UnityEngine.Color(b);
// public static explicit operator UnityEngine.Color() => new Catnip.Drawing.Color(byte b) ;
// }
//}
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1df82e7c418f0493cb9740114965c34f
guid: 1560852d6d249eb41bd6df86187186f0
MonoImporter:
externalObjects: {}
serializedVersion: 2
@@ -0,0 +1,777 @@
////
//// System.Drawing.Fonts.cs
////
//// Authors:
//// Alexandre Pigolkine (pigolkine@gmx.de)
//// Miguel de Icaza (miguel@ximian.com)
//// Todd Berman (tberman@sevenl.com)
//// Jordi Mas i Hernandez (jordi@ximian.com)
//// Ravindra (rkumar@novell.com)
////
//// Copyright (C) 2004 Ximian, Inc. (http://www.ximian.com)
//// Copyright (C) 2004, 2006 Novell, Inc (http://www.novell.com)
////
//// Permission is hereby granted, free of charge, to any person obtaining
//// a copy of this software and associated documentation files (the
//// "Software"), to deal in the Software without restriction, including
//// without limitation the rights to use, copy, modify, merge, publish,
//// distribute, sublicense, and/or sell copies of the Software, and to
//// permit persons to whom the Software is furnished to do so, subject to
//// the following conditions:
////
//// The above copyright notice and this permission notice shall be
//// included in all copies or substantial portions of the Software.
////
//// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
//// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
//// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
//// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
//// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
////
//using System.Reflection;
//using System.Runtime.Serialization;
//using System.Runtime.InteropServices;
//using System.ComponentModel;
//using System;
//namespace Catnip.Drawing
//{
// [Serializable]
// [ComVisible(true)]
// [TypeConverter(typeof(FontConverter))]
// public sealed class Font : MarshalByRefObject, ISerializable, ICloneable, IDisposable
// {
// private IntPtr fontObject = IntPtr.Zero;
// private string systemFontName;
// private string originalFontName;
// private float _size;
// private object olf;
// private const byte DefaultCharSet = 1;
// private static int CharSetOffset = -1;
// private void CreateFont(string familyName, float emSize, FontStyle style, GraphicsUnit unit, byte charSet, bool isVertical)
// {
// originalFontName = familyName;
// FontFamily family;
// // NOTE: If family name is null, empty or invalid,
// // MS creates Microsoft Sans Serif font.
// try
// {
// family = new FontFamily(familyName);
// }
// catch (Exception)
// {
// family = FontFamily.GenericSansSerif;
// }
// setProperties(family, emSize, style, unit, charSet, isVertical);
// Status status = GDIPlus.GdipCreateFont(family.NativeFamily, emSize, style, unit, out fontObject);
// if (status == Status.FontStyleNotFound)
// throw new ArgumentException(Locale.GetText("Style {0} isn't supported by font {1}.", style.ToString(), familyName));
// GDIPlus.CheckStatus(status);
// }
// private Font(SerializationInfo info, StreamingContext context)
// {
// string name;
// float size;
// FontStyle style;
// GraphicsUnit unit;
// name = (string)info.GetValue("Name", typeof(string));
// size = (float)info.GetValue("Size", typeof(float));
// style = (FontStyle)info.GetValue("Style", typeof(FontStyle));
// unit = (GraphicsUnit)info.GetValue("Unit", typeof(GraphicsUnit));
// CreateFont(name, size, style, unit, DefaultCharSet, false);
// }
// void ISerializable.GetObjectData(SerializationInfo si, StreamingContext context)
// {
// si.AddValue("Name", Name);
// si.AddValue("Size", Size);
// si.AddValue("Style", Style);
// si.AddValue("Unit", Unit);
// }
// ~Font()
// {
// Dispose();
// }
// public void Dispose()
// {
// if (fontObject != IntPtr.Zero)
// {
// Status status = GDIPlus.GdipDeleteFont(fontObject);
// fontObject = IntPtr.Zero;
// GC.SuppressFinalize(this);
// // check the status code (throw) at the last step
// GDIPlus.CheckStatus(status);
// }
// }
// internal void SetSystemFontName(string newSystemFontName)
// {
// systemFontName = newSystemFontName;
// }
// internal void unitConversion(GraphicsUnit fromUnit, GraphicsUnit toUnit, float nSrc, out float nTrg)
// {
// float inchs = 0;
// nTrg = 0;
// switch (fromUnit)
// {
// case GraphicsUnit.Display:
// inchs = nSrc / 75f;
// break;
// case GraphicsUnit.Document:
// inchs = nSrc / 300f;
// break;
// case GraphicsUnit.Inch:
// inchs = nSrc;
// break;
// case GraphicsUnit.Millimeter:
// inchs = nSrc / 25.4f;
// break;
// case GraphicsUnit.Pixel:
// case GraphicsUnit.World:
// inchs = nSrc / Graphics.systemDpiX;
// break;
// case GraphicsUnit.Point:
// inchs = nSrc / 72f;
// break;
// default:
// throw new ArgumentException("Invalid GraphicsUnit");
// }
// switch (toUnit)
// {
// case GraphicsUnit.Display:
// nTrg = inchs * 75;
// break;
// case GraphicsUnit.Document:
// nTrg = inchs * 300;
// break;
// case GraphicsUnit.Inch:
// nTrg = inchs;
// break;
// case GraphicsUnit.Millimeter:
// nTrg = inchs * 25.4f;
// break;
// case GraphicsUnit.Pixel:
// case GraphicsUnit.World:
// nTrg = inchs * Graphics.systemDpiX;
// break;
// case GraphicsUnit.Point:
// nTrg = inchs * 72;
// break;
// default:
// throw new ArgumentException("Invalid GraphicsUnit");
// }
// }
// void setProperties(FontFamily family, float emSize, FontStyle style, GraphicsUnit unit, byte charSet, bool isVertical)
// {
// _name = family.Name;
// _fontFamily = family;
// _size = emSize;
// // MS throws ArgumentException, if unit is set to GraphicsUnit.Display
// _unit = unit;
// _style = style;
// _gdiCharSet = charSet;
// _gdiVerticalFont = isVertical;
// unitConversion(unit, GraphicsUnit.Point, emSize, out _sizeInPoints);
// _bold = _italic = _strikeout = _underline = false;
// if ((style & FontStyle.Bold) == FontStyle.Bold)
// _bold = true;
// if ((style & FontStyle.Italic) == FontStyle.Italic)
// _italic = true;
// if ((style & FontStyle.Strikeout) == FontStyle.Strikeout)
// _strikeout = true;
// if ((style & FontStyle.Underline) == FontStyle.Underline)
// _underline = true;
// }
// public static Font FromHfont(IntPtr hfont)
// {
// IntPtr newObject;
// IntPtr hdc;
// FontStyle newStyle = FontStyle.Regular;
// float newSize;
// LOGFONT lf = new LOGFONT();
// // Sanity. Should we throw an exception?
// if (hfont == IntPtr.Zero)
// {
// Font result = new Font("Arial", (float)10.0, FontStyle.Regular);
// return (result);
// }
// if (GDIPlus.RunningOnUnix())
// {
// // If we're on Unix we use our private gdiplus API to avoid Wine
// // dependencies in S.D
// Status s = GDIPlus.GdipCreateFontFromHfont(hfont, out newObject, ref lf);
// GDIPlus.CheckStatus(s);
// }
// else
// {
// // This needs testing
// // GetDC, SelectObject, ReleaseDC GetTextMetric and
// // GetFontFace are not really GDIPlus, see gdipFunctions.cs
// newStyle = FontStyle.Regular;
// hdc = GDIPlus.GetDC(IntPtr.Zero);
// try
// {
// return FromLogFont(lf, hdc);
// }
// finally
// {
// GDIPlus.ReleaseDC(IntPtr.Zero, hdc);
// }
// }
// if (lf.lfItalic != 0)
// {
// newStyle |= FontStyle.Italic;
// }
// if (lf.lfUnderline != 0)
// {
// newStyle |= FontStyle.Underline;
// }
// if (lf.lfStrikeOut != 0)
// {
// newStyle |= FontStyle.Strikeout;
// }
// if (lf.lfWeight > 400)
// {
// newStyle |= FontStyle.Bold;
// }
// if (lf.lfHeight < 0)
// {
// newSize = lf.lfHeight * -1;
// }
// else
// {
// newSize = lf.lfHeight;
// }
// return (new Font(newObject, lf.lfFaceName, newStyle, newSize));
// }
// public IntPtr ToHfont()
// {
// if (fontObject == IntPtr.Zero)
// throw new ArgumentException(Locale.GetText("Object has been disposed."));
// if (GDIPlus.RunningOnUnix())
// return fontObject;
// // win32 specific code
// if (olf == null)
// {
// olf = new LOGFONT();
// ToLogFont(olf);
// }
// LOGFONT lf = (LOGFONT)olf;
// return GDIPlus.CreateFontIndirect(ref lf);
// }
// internal Font(IntPtr newFontObject, string familyName, FontStyle style, float size)
// {
// FontFamily fontFamily;
// try
// {
// fontFamily = new FontFamily(familyName);
// }
// catch (Exception)
// {
// fontFamily = FontFamily.GenericSansSerif;
// }
// setProperties(fontFamily, size, style, GraphicsUnit.Pixel, 0, false);
// fontObject = newFontObject;
// }
// public Font(Font prototype, FontStyle newStyle)
// {
// // no null checks, MS throws a NullReferenceException if original is null
// setProperties(prototype.FontFamily, prototype.Size, newStyle, prototype.Unit, prototype.GdiCharSet, prototype.GdiVerticalFont);
// Status status = GDIPlus.GdipCreateFont(_fontFamily.NativeFamily, Size, Style, Unit, out fontObject);
// GDIPlus.CheckStatus(status);
// }
// public Font(FontFamily family, float emSize, GraphicsUnit unit)
// : this(family, emSize, FontStyle.Regular, unit, DefaultCharSet, false)
// {
// }
// public Font(string familyName, float emSize, GraphicsUnit unit)
// : this(new FontFamily(familyName), emSize, FontStyle.Regular, unit, DefaultCharSet, false)
// {
// }
// public Font(FontFamily family, float emSize)
// : this(family, emSize, FontStyle.Regular, GraphicsUnit.Point, DefaultCharSet, false)
// {
// }
// public Font(FontFamily family, float emSize, FontStyle style)
// : this(family, emSize, style, GraphicsUnit.Point, DefaultCharSet, false)
// {
// }
// public Font(FontFamily family, float emSize, FontStyle style, GraphicsUnit unit)
// : this(family, emSize, style, unit, DefaultCharSet, false)
// {
// }
// public Font(FontFamily family, float emSize, FontStyle style, GraphicsUnit unit, byte gdiCharSet)
// : this(family, emSize, style, unit, gdiCharSet, false)
// {
// }
// public Font(FontFamily family, float emSize, FontStyle style,
// GraphicsUnit unit, byte gdiCharSet, bool gdiVerticalFont)
// {
// if (family == null)
// throw new ArgumentNullException("family");
// Status status;
// setProperties(family, emSize, style, unit, gdiCharSet, gdiVerticalFont);
// status = GDIPlus.GdipCreateFont(family.NativeFamily, emSize, style, unit, out fontObject);
// GDIPlus.CheckStatus(status);
// }
// public Font(string familyName, float emSize)
// : this(familyName, emSize, FontStyle.Regular, GraphicsUnit.Point, DefaultCharSet, false)
// {
// }
// public Font(string familyName, float emSize, FontStyle style)
// : this(familyName, emSize, style, GraphicsUnit.Point, DefaultCharSet, false)
// {
// }
// public Font(string familyName, float emSize, FontStyle style, GraphicsUnit unit)
// : this(familyName, emSize, style, unit, DefaultCharSet, false)
// {
// }
// public Font(string familyName, float emSize, FontStyle style, GraphicsUnit unit, byte gdiCharSet)
// : this(familyName, emSize, style, unit, gdiCharSet, false)
// {
// }
// public Font(string familyName, float emSize, FontStyle style,
// GraphicsUnit unit, byte gdiCharSet, bool gdiVerticalFont)
// {
// CreateFont(familyName, emSize, style, unit, gdiCharSet, gdiVerticalFont);
// }
// internal Font(string familyName, float emSize, string systemName)
// : this(familyName, emSize, FontStyle.Regular, GraphicsUnit.Point, DefaultCharSet, false)
// {
// systemFontName = systemName;
// }
// public object Clone()
// {
// return new Font(this, Style);
// }
// internal IntPtr NativeObject
// {
// get
// {
// return fontObject;
// }
// }
// private bool _bold;
// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
// public bool Bold
// {
// get
// {
// return _bold;
// }
// }
// private FontFamily _fontFamily;
// [Browsable(false)]
// public FontFamily FontFamily
// {
// get
// {
// return _fontFamily;
// }
// }
// private byte _gdiCharSet;
// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
// public byte GdiCharSet
// {
// get
// {
// return _gdiCharSet;
// }
// }
// private bool _gdiVerticalFont;
// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
// public bool GdiVerticalFont
// {
// get
// {
// return _gdiVerticalFont;
// }
// }
// [Browsable(false)]
// public int Height
// {
// get
// {
// return (int)Math.Ceiling(GetHeight());
// }
// }
// [Browsable(false)]
// public bool IsSystemFont
// {
// get
// {
// return !string.IsNullOrEmpty(systemFontName);
// }
// }
// private bool _italic;
// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
// public bool Italic
// {
// get
// {
// return _italic;
// }
// }
// private string _name;
// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
// [Editor("System.Drawing.Design.FontNameEditor, " + Consts.AssemblySystem_Drawing_Design, typeof(System.Drawing.Design.UITypeEditor))]
// [TypeConverter(typeof(FontConverter.FontNameConverter))]
// public string Name
// {
// get
// {
// return _name;
// }
// }
// public float Size
// {
// get
// {
// return _size;
// }
// }
// private float _sizeInPoints;
// [Browsable(false)]
// public float SizeInPoints
// {
// get
// {
// return _sizeInPoints;
// }
// }
// private bool _strikeout;
// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
// public bool Strikeout
// {
// get
// {
// return _strikeout;
// }
// }
// private FontStyle _style;
// [Browsable(false)]
// public FontStyle Style
// {
// get
// {
// return _style;
// }
// }
// [Browsable(false)]
// public string SystemFontName
// {
// get
// {
// return systemFontName;
// }
// }
// [Browsable(false)]
// public string OriginalFontName
// {
// get
// {
// return originalFontName;
// }
// }
// private bool _underline;
// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
// public bool Underline
// {
// get
// {
// return _underline;
// }
// }
// private GraphicsUnit _unit;
// [TypeConverter(typeof(FontConverter.FontUnitConverter))]
// public GraphicsUnit Unit
// {
// get
// {
// return _unit;
// }
// }
// public override bool Equals(object obj)
// {
// Font fnt = (obj as Font);
// if (fnt == null)
// return false;
// if (fnt.FontFamily.Equals(FontFamily) && fnt.Size == Size &&
// fnt.Style == Style && fnt.Unit == Unit &&
// fnt.GdiCharSet == GdiCharSet &&
// fnt.GdiVerticalFont == GdiVerticalFont)
// return true;
// else
// return false;
// }
// private int _hashCode;
// public override int GetHashCode()
// {
// if (_hashCode == 0)
// {
// _hashCode = 17;
// unchecked
// {
// _hashCode = _hashCode * 23 + _name.GetHashCode();
// _hashCode = _hashCode * 23 + FontFamily.GetHashCode();
// _hashCode = _hashCode * 23 + _size.GetHashCode();
// _hashCode = _hashCode * 23 + _unit.GetHashCode();
// _hashCode = _hashCode * 23 + _style.GetHashCode();
// _hashCode = _hashCode * 23 + _gdiCharSet;
// _hashCode = _hashCode * 23 + _gdiVerticalFont.GetHashCode();
// }
// }
// return _hashCode;
// }
// [MonoTODO("The hdc parameter has no direct equivalent in libgdiplus.")]
// public static Font FromHdc(IntPtr hdc)
// {
// throw new NotImplementedException();
// }
// [MonoTODO("The returned font may not have all it's properties initialized correctly.")]
// public static Font FromLogFont(object lf, IntPtr hdc)
// {
// IntPtr newObject;
// LOGFONT o = (LOGFONT)lf;
// Status status = GDIPlus.GdipCreateFontFromLogfont(hdc, ref o, out newObject);
// GDIPlus.CheckStatus(status);
// return new Font(newObject, "Microsoft Sans Serif", FontStyle.Regular, 10);
// }
// public float GetHeight()
// {
// return GetHeight(Graphics.systemDpiY);
// }
// public static Font FromLogFont(object lf)
// {
// if (GDIPlus.RunningOnUnix())
// return FromLogFont(lf, IntPtr.Zero);
// // win32 specific code
// IntPtr hDC = IntPtr.Zero;
// try
// {
// hDC = GDIPlus.GetDC(IntPtr.Zero);
// return FromLogFont(lf, hDC);
// }
// finally
// {
// GDIPlus.ReleaseDC(IntPtr.Zero, hDC);
// }
// }
// public void ToLogFont(object logFont)
// {
// if (GDIPlus.RunningOnUnix())
// {
// // Unix - We don't have a window we could associate the DC with
// // so we use an image instead
// using (Bitmap img = new Bitmap(1, 1, Imaging.PixelFormat.Format32bppArgb))
// {
// using (Graphics g = Graphics.FromImage(img))
// {
// ToLogFont(logFont, g);
// }
// }
// }
// else
// {
// // Windows
// IntPtr hDC = GDIPlus.GetDC(IntPtr.Zero);
// try
// {
// using (Graphics g = Graphics.FromHdc(hDC))
// {
// ToLogFont(logFont, g);
// }
// }
// finally
// {
// GDIPlus.ReleaseDC(IntPtr.Zero, hDC);
// }
// }
// }
// public void ToLogFont(object logFont, Graphics graphics)
// {
// if (graphics == null)
// throw new ArgumentNullException("graphics");
// if (logFont == null)
// {
// throw new AccessViolationException("logFont");
// }
// Type st = logFont.GetType();
// if (!st.GetTypeInfo().IsLayoutSequential)
// throw new ArgumentException("logFont", Locale.GetText("Layout must be sequential."));
// // note: there is no exception if 'logFont' isn't big enough
// Type lf = typeof(LOGFONT);
// int size = Marshal.SizeOf(logFont);
// if (size >= Marshal.SizeOf(lf))
// {
// Status status;
// IntPtr copy = Marshal.AllocHGlobal(size);
// try
// {
// Marshal.StructureToPtr(logFont, copy, false);
// status = GDIPlus.GdipGetLogFont(NativeObject, graphics.NativeObject, logFont);
// if (status != Status.Ok)
// {
// // reset to original values
// Marshal.PtrToStructure(copy, logFont);
// }
// }
// finally
// {
// Marshal.FreeHGlobal(copy);
// }
// if (CharSetOffset == -1)
// {
// // not sure why this methods returns an IntPtr since it's an offset
// // anyway there's no issue in downcasting the result into an int32
// CharSetOffset = (int)Marshal.OffsetOf(lf, "lfCharSet");
// }
// // note: Marshal.WriteByte(object,*) methods are unimplemented on Mono
// GCHandle gch = GCHandle.Alloc(logFont, GCHandleType.Pinned);
// try
// {
// IntPtr ptr = gch.AddrOfPinnedObject();
// // if GDI+ lfCharSet is 0, then we return (S.D.) 1, otherwise the value is unchanged
// if (Marshal.ReadByte(ptr, CharSetOffset) == 0)
// {
// // set lfCharSet to 1
// Marshal.WriteByte(ptr, CharSetOffset, 1);
// }
// }
// finally
// {
// gch.Free();
// }
// // now we can throw, if required
// GDIPlus.CheckStatus(status);
// }
// }
// public float GetHeight(Graphics graphics)
// {
// if (graphics == null)
// throw new ArgumentNullException("graphics");
// float size;
// Status status = GDIPlus.GdipGetFontHeight(fontObject, graphics.NativeObject, out size);
// GDIPlus.CheckStatus(status);
// return size;
// }
// public float GetHeight(float dpi)
// {
// float size;
// Status status = GDIPlus.GdipGetFontHeightGivenDPI(fontObject, dpi, out size);
// GDIPlus.CheckStatus(status);
// return size;
// }
// public override String ToString()
// {
// return String.Format("[Font: Name={0}, Size={1}, Units={2}, GdiCharSet={3}, GdiVerticalFont={4}]", _name, Size, (int)_unit, _gdiCharSet, _gdiVerticalFont);
// }
// }
//}
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 5cff770e252694cbe8d358bd6941ed4c
guid: 79895791cf5cf894183aefd18d323e9f
MonoImporter:
externalObjects: {}
serializedVersion: 2
@@ -0,0 +1,243 @@
////
//// System.Drawing.FontFamily.cs
////
//// Author:
//// Dennis Hayes (dennish@Raytek.com)
//// Alexandre Pigolkine (pigolkine@gmx.de)
//// Peter Dennis Bartok (pbartok@novell.com)
////
//// Copyright (C) 2002/2004 Ximian, Inc http://www.ximian.com
//// Copyright (C) 2004 - 2006 Novell, Inc (http://www.novell.com)
////
//// Permission is hereby granted, free of charge, to any person obtaining
//// a copy of this software and associated documentation files (the
//// "Software"), to deal in the Software without restriction, including
//// without limitation the rights to use, copy, modify, merge, publish,
//// distribute, sublicense, and/or sell copies of the Software, and to
//// permit persons to whom the Software is furnished to do so, subject to
//// the following conditions:
////
//// The above copyright notice and this permission notice shall be
//// included in all copies or substantial portions of the Software.
////
//// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
//// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
//// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
//// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
//// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
////
//using System.Drawing.Text;
//using System.Text;
//using System;
//using System.Runtime.InteropServices;
//namespace Catnip.Drawing
//{
// public sealed class FontFamily : MarshalByRefObject, IDisposable
// {
// //static private FontFamily genericMonospace;
// //static private FontFamily genericSansSerif;
// //static private FontFamily genericSerif;
// private string name;
// private IntPtr nativeFontFamily = IntPtr.Zero;
// internal FontFamily(IntPtr fntfamily)
// {
// nativeFontFamily = fntfamily;
// }
// internal unsafe void refreshName()
// {
// if (nativeFontFamily == IntPtr.Zero)
// return;
// char* namePtr = stackalloc char[GDIPlus.FACESIZE];
// Status status = GDIPlus.GdipGetFamilyName(nativeFontFamily, (IntPtr)namePtr, 0);
// GDIPlus.CheckStatus(status);
// name = Marshal.PtrToStringUni((IntPtr)namePtr);
// }
// ~FontFamily()
// {
// Dispose();
// }
// internal IntPtr NativeObject
// {
// get
// {
// return nativeFontFamily;
// }
// }
// // For CoreFX compatibility
// internal IntPtr NativeFamily
// {
// get
// {
// return nativeFontFamily;
// }
// }
// public FontFamily(GenericFontFamilies genericFamily)
// {
// Status status;
// switch (genericFamily)
// {
// case GenericFontFamilies.SansSerif:
// status = GDIPlus.GdipGetGenericFontFamilySansSerif(out nativeFontFamily);
// break;
// case GenericFontFamilies.Serif:
// status = GDIPlus.GdipGetGenericFontFamilySerif(out nativeFontFamily);
// break;
// case GenericFontFamilies.Monospace:
// default: // Undocumented default
// status = GDIPlus.GdipGetGenericFontFamilyMonospace(out nativeFontFamily);
// break;
// }
// GDIPlus.CheckStatus(status);
// }
// public FontFamily(string name) : this(name, null)
// {
// }
// public FontFamily(string name, FontCollection fontCollection)
// {
// IntPtr handle = (fontCollection == null) ? IntPtr.Zero : fontCollection._nativeFontCollection;
// Status status = GDIPlus.GdipCreateFontFamilyFromName(name, handle, out nativeFontFamily);
// GDIPlus.CheckStatus(status);
// }
// public string Name
// {
// get
// {
// if (nativeFontFamily == IntPtr.Zero)
// throw new ArgumentException("Name", Locale.GetText("Object was disposed."));
// if (name == null)
// refreshName();
// return name;
// }
// }
// public static FontFamily GenericMonospace
// {
// get { return new FontFamily(GenericFontFamilies.Monospace); }
// }
// public static FontFamily GenericSansSerif
// {
// get { return new FontFamily(GenericFontFamilies.SansSerif); }
// }
// public static FontFamily GenericSerif
// {
// get { return new FontFamily(GenericFontFamilies.Serif); }
// }
// public int GetCellAscent(FontStyle style)
// {
// short outProperty;
// Status status = GDIPlus.GdipGetCellAscent(nativeFontFamily, (int)style, out outProperty);
// GDIPlus.CheckStatus(status);
// return (int)outProperty;
// }
// public int GetCellDescent(FontStyle style)
// {
// short outProperty;
// Status status = GDIPlus.GdipGetCellDescent(nativeFontFamily, (int)style, out outProperty);
// GDIPlus.CheckStatus(status);
// return (int)outProperty;
// }
// public int GetEmHeight(FontStyle style)
// {
// short outProperty;
// Status status = GDIPlus.GdipGetEmHeight(nativeFontFamily, (int)style, out outProperty);
// GDIPlus.CheckStatus(status);
// return (int)outProperty;
// }
// public int GetLineSpacing(FontStyle style)
// {
// short outProperty;
// Status status = GDIPlus.GdipGetLineSpacing(nativeFontFamily, (int)style, out outProperty);
// GDIPlus.CheckStatus(status);
// return (int)outProperty;
// }
// [MonoDocumentationNote("When used with libgdiplus this method always return true (styles are created on demand).")]
// public bool IsStyleAvailable(FontStyle style)
// {
// bool outProperty;
// Status status = GDIPlus.GdipIsStyleAvailable(nativeFontFamily, (int)style, out outProperty);
// GDIPlus.CheckStatus(status);
// return outProperty;
// }
// public void Dispose()
// {
// if (nativeFontFamily != IntPtr.Zero)
// {
// Status status = GDIPlus.GdipDeleteFontFamily(nativeFontFamily);
// nativeFontFamily = IntPtr.Zero;
// GC.SuppressFinalize(this);
// // check the status code (throw) at the last step
// GDIPlus.CheckStatus(status);
// }
// }
// public override bool Equals(object obj)
// {
// FontFamily o = (obj as FontFamily);
// if (o == null)
// return false;
// return (Name == o.Name);
// }
// public override int GetHashCode()
// {
// return Name.GetHashCode();
// }
// public static FontFamily[] Families
// {
// get { return new InstalledFontCollection().Families; }
// }
// public static FontFamily[] GetFamilies(Graphics graphics)
// {
// if (graphics == null)
// throw new ArgumentNullException("graphics");
// InstalledFontCollection fntcol = new InstalledFontCollection();
// return fntcol.Families;
// }
// [MonoLimitation("The language parameter is ignored. We always return the name using the default system language.")]
// public string GetName(int language)
// {
// return Name;
// }
// public override string ToString()
// {
// return String.Concat("[FontFamily: Name=", Name, "]");
// }
// }
//}
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 18a25d882e7671d47becffdc6de1f734
guid: 7353250209d2d31418dda98269c25619
MonoImporter:
externalObjects: {}
serializedVersion: 2
@@ -16,12 +16,12 @@ namespace Catnip.Drawing
throw new NotImplementedException();
}
internal static Graphics FromImage(Bitmap resized)
public static Graphics FromImage(Bitmap resized)
{
throw new NotImplementedException();
}
internal void DrawImage(Bitmap bitmap, int v1, int v2, int width, int height)
public void DrawImage(Bitmap bitmap, int v1, int v2, int width, int height)
{
throw new NotImplementedException();
}
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 771584a4457884244a9d4f6e56c41769
guid: 06ebd4e62dd03c04c8364fc8e1745602
folderAsset: yes
DefaultImporter:
externalObjects: {}
@@ -0,0 +1,878 @@
/* Copyright (c) 2008 Robert Adams
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * The name of the copyright holder may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Portions of this code are:
* Copyright (c) Contributors, http://idealistviewer.org
* The basic logic of the extrusion code is based on the Idealist viewer code.
* The Idealist viewer is licensed under the three clause BSD license.
*/
/*
* MeshmerizerR class implments OpenMetaverse.Rendering.IRendering interface
* using PrimMesher (http://forge.opensimulator.org/projects/primmesher).
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using OpenMetaverse.StructuredData;
using LibreMetaverse.PrimMesher;
using OMV = OpenMetaverse;
using OMVR = OpenMetaverse.Rendering;
namespace OpenMetaverse.Rendering
{
/// <summary>
/// Meshing code based on the Idealist Viewer (20081213).
/// </summary>
[RendererName("MeshmerizerR")]
public class MeshmerizerR : OMVR.IRendering
{
/// <summary>
/// Generates a basic mesh structure from a primitive
/// A 'SimpleMesh' is just the prim's overall shape with no material information.
/// </summary>
/// <param name="prim">Primitive to generate the mesh from</param>
/// <param name="lod">Level of detail to generate the mesh at</param>
/// <returns>The generated mesh or null on failure</returns>
public OMVR.SimpleMesh GenerateSimpleMesh(OMV.Primitive prim, OMVR.DetailLevel lod)
{
LibreMetaverse.PrimMesher.PrimMesh newPrim = GeneratePrimMesh(prim, lod, false);
if (newPrim == null)
return null;
SimpleMesh mesh = new SimpleMesh
{
Path = new Path(),
Prim = prim,
Profile = new Profile(),
Vertices = new List<Vertex>(newPrim.coords.Count)
};
foreach (Coord c in newPrim.coords)
{
mesh.Vertices.Add(new Vertex { Position = new Vector3(c.X, c.Y, c.Z) });
}
mesh.Indices = new List<ushort>(newPrim.faces.Count * 3);
foreach (LibreMetaverse.PrimMesher.Face face in newPrim.faces)
{
mesh.Indices.Add((ushort)face.v1);
mesh.Indices.Add((ushort)face.v2);
mesh.Indices.Add((ushort)face.v3);
}
return mesh;
}
/// <summary>
/// Generates a basic mesh structure from a sculpted primitive.
/// 'SimpleMesh's have a single mesh and no faces or material information.
/// </summary>
/// <param name="prim">Sculpted primitive to generate the mesh from</param>
/// <param name="sculptTexture">Sculpt texture</param>
/// <param name="lod">Level of detail to generate the mesh at</param>
/// <returns>The generated mesh or null on failure</returns>
public SimpleMesh GenerateSimpleSculptMesh(Primitive prim, Bitmap sculptTexture, DetailLevel lod)
{
var faceted = GenerateFacetedSculptMesh(prim, sculptTexture, lod);
if (faceted != null && faceted.Faces.Count == 1)
{
Face face = faceted.Faces[0];
SimpleMesh mesh = new SimpleMesh
{
Indices = face.Indices,
Vertices = face.Vertices,
Path = faceted.Path,
Prim = prim,
Profile = faceted.Profile
};
mesh.Vertices = face.Vertices;
return mesh;
}
return null;
}
/// <summary>
/// Create a faceted mesh from prim shape parameters.
/// Generates a a series of faces, each face containing a mesh and
/// material metadata.
/// A prim will turn into multiple faces with each being independent
/// meshes and each having different material information.
/// </summary>
/// <param name="prim">Primitive to generate the mesh from</param>
/// <param name="lod">Level of detail to generate the mesh at</param>
/// <returns>The generated mesh</returns >
public FacetedMesh GenerateFacetedMesh(Primitive prim, DetailLevel lod)
{
bool isSphere = ((OMV.ProfileCurve)(prim.PrimData.profileCurve & 0x07) == OMV.ProfileCurve.HalfCircle);
LibreMetaverse.PrimMesher.PrimMesh newPrim = GeneratePrimMesh(prim, lod, true);
if (newPrim == null)
return null;
// copy the vertex information into OMVR.IRendering structures
var omvrmesh = new OMVR.FacetedMesh
{
Faces = new List<OMVR.Face>(),
Prim = prim,
Profile = new OMVR.Profile
{
Faces = new List<OMVR.ProfileFace>(),
Positions = new List<OMV.Vector3>()
},
Path = new OMVR.Path {Points = new List<OMVR.PathPoint>()}
};
var indexer = newPrim.GetVertexIndexer();
for (int i = 0; i < indexer.numPrimFaces; i++)
{
OMVR.Face oface = new OMVR.Face
{
Vertices = new List<OMVR.Vertex>(),
Indices = new List<ushort>(),
TextureFace = prim.Textures.GetFace((uint) i)
};
for (int j = 0; j < indexer.viewerVertices[i].Count; j++)
{
var vert = new OMVR.Vertex();
var m = indexer.viewerVertices[i][j];
vert.Position = new Vector3(m.v.X, m.v.Y, m.v.Z);
vert.Normal = new Vector3(m.n.X, m.n.Y, m.n.Z);
vert.TexCoord = new OMV.Vector2(m.uv.U, 1.0f - m.uv.V);
oface.Vertices.Add(vert);
}
for (int j = 0; j < indexer.viewerPolygons[i].Count; j++)
{
var p = indexer.viewerPolygons[i][j];
// Skip "degenerate faces" where the same vertex appears twice in the same tri
if (p.v1 == p.v2 || p.v1 == p.v2 || p.v2 == p.v3) continue;
oface.Indices.Add((ushort)p.v1);
oface.Indices.Add((ushort)p.v2);
oface.Indices.Add((ushort)p.v3);
}
omvrmesh.Faces.Add(oface);
}
return omvrmesh;
}
/// <summary>
/// Create a sculpty faceted mesh. The actual scuplt texture is fetched and passed to this
/// routine since all the context for finding teh texture is elsewhere.
/// </summary>
/// <returns>The faceted mesh or null if can't do it</returns>
public OMVR.FacetedMesh GenerateFacetedSculptMesh(Primitive prim, Bitmap scupltTexture, DetailLevel lod)
{
LibreMetaverse.PrimMesher.SculptMesh.SculptType smSculptType;
switch (prim.Sculpt.Type)
{
case SculptType.Cylinder:
smSculptType = LibreMetaverse.PrimMesher.SculptMesh.SculptType.cylinder;
break;
case SculptType.Plane:
smSculptType = LibreMetaverse.PrimMesher.SculptMesh.SculptType.plane;
break;
case SculptType.Sphere:
smSculptType = LibreMetaverse.PrimMesher.SculptMesh.SculptType.sphere;
break;
case SculptType.Torus:
smSculptType = LibreMetaverse.PrimMesher.SculptMesh.SculptType.torus;
break;
default:
smSculptType = LibreMetaverse.PrimMesher.SculptMesh.SculptType.plane;
break;
}
// The lod for sculpties is the resolution of the texture passed.
// The first guess is 1:1 then lower resolutions after that
// int mesherLod = (int)Math.Sqrt(scupltTexture.Width * scupltTexture.Height);
int mesherLod = 32; // number used in Idealist viewer
switch (lod)
{
case OMVR.DetailLevel.Highest:
break;
case OMVR.DetailLevel.High:
break;
case OMVR.DetailLevel.Medium:
mesherLod /= 2;
break;
case OMVR.DetailLevel.Low:
mesherLod /= 4;
break;
}
LibreMetaverse.PrimMesher.SculptMesh newMesh =
new LibreMetaverse.PrimMesher.SculptMesh(scupltTexture, smSculptType, mesherLod, true, prim.Sculpt.Mirror, prim.Sculpt.Invert);
int numPrimFaces = 1; // a scuplty has only one face
// copy the vertex information into OMVR.IRendering structures
FacetedMesh omvrmesh = new OMVR.FacetedMesh
{
Faces = new List<OMVR.Face>(),
Prim = prim,
Profile = new OMVR.Profile
{
Faces = new List<OMVR.ProfileFace>(),
Positions = new List<OMV.Vector3>()
},
Path = new OMVR.Path {Points = new List<OMVR.PathPoint>()}
};
for (int ii = 0; ii < numPrimFaces; ii++)
{
Face oface = new OMVR.Face
{
Vertices = new List<OMVR.Vertex>(),
Indices = new List<ushort>(),
TextureFace = prim.Textures.GetFace((uint) ii)
};
int faceVertices = newMesh.coords.Count;
for (int j = 0; j < faceVertices; j++)
{
var vert = new OMVR.Vertex
{
Position = new Vector3(newMesh.coords[j].X, newMesh.coords[j].Y, newMesh.coords[j].Z),
Normal = new Vector3(newMesh.normals[j].X, newMesh.normals[j].Y, newMesh.normals[j].Z),
TexCoord = new Vector2(newMesh.uvs[j].U, newMesh.uvs[j].V)
};
oface.Vertices.Add(vert);
}
for (int j = 0; j < newMesh.faces.Count; j++)
{
oface.Indices.Add((ushort)newMesh.faces[j].v1);
oface.Indices.Add((ushort)newMesh.faces[j].v2);
oface.Indices.Add((ushort)newMesh.faces[j].v3);
}
if (faceVertices > 0)
{
oface.TextureFace = prim.Textures.FaceTextures[ii] ?? prim.Textures.DefaultTexture;
oface.ID = ii;
omvrmesh.Faces.Add(oface);
}
}
return omvrmesh;
}
/// <summary>
/// Apply texture coordinate modifications from a
/// <seealso cref="TextureEntryFace"/> to a list of vertices
/// </summary>
/// <param name="vertices">Vertex list to modify texture coordinates for</param>
/// <param name="center">Center-point of the face</param>
/// <param name="teFace">Face texture parameters</param>
public void TransformTexCoords(List<OMVR.Vertex> vertices, OMV.Vector3 center, OMV.Primitive.TextureEntryFace teFace, Vector3 primScale)
{
// compute trig stuff up front
float cosineAngle = (float)Math.Cos(teFace.Rotation);
float sinAngle = (float)Math.Sin(teFace.Rotation);
for (int ii = 0; ii < vertices.Count; ii++)
{
// tex coord comes to us as a number between zero and one
// transform about the center of the texture
Vertex vert = vertices[ii];
// aply planar tranforms to the UV first if applicable
if (teFace.TexMapType == MappingType.Planar)
{
Vector3 binormal;
float d = Vector3.Dot(vert.Normal, Vector3.UnitX);
if (d >= 0.5f || d <= -0.5f)
{
binormal = Vector3.UnitY;
if (vert.Normal.X < 0f) binormal *= -1;
}
else
{
binormal = Vector3.UnitX;
if (vert.Normal.Y > 0f) binormal *= -1;
}
Vector3 tangent = binormal % vert.Normal;
Vector3 scaledPos = vert.Position * primScale;
vert.TexCoord.X = 1f + (Vector3.Dot(binormal, scaledPos) * 2f - 0.5f);
vert.TexCoord.Y = -(Vector3.Dot(tangent, scaledPos) * 2f - 0.5f);
}
float repeatU = teFace.RepeatU;
float repeatV = teFace.RepeatV;
float tX = vert.TexCoord.X - 0.5f;
float tY = vert.TexCoord.Y - 0.5f;
vert.TexCoord.X = (tX * cosineAngle + tY * sinAngle) * repeatU + teFace.OffsetU + 0.5f;
vert.TexCoord.Y = (-tX * sinAngle + tY * cosineAngle) * repeatV + teFace.OffsetV + 0.5f;
vertices[ii] = vert;
}
}
// The mesh reader code is organized so it can be used in several different ways:
//
// 1. Fetch the highest detail displayable mesh as a FacetedMesh:
// var facetedMesh = GenerateFacetedMeshMesh(prim, meshData);
// 2. Get the header, examine the submeshes available, and extract the part
// desired (good if getting a different LOD of mesh):
// OSDMap meshParts = UnpackMesh(meshData);
// if (meshParts.ContainsKey("medium_lod"))
// var facetedMesh = MeshSubMeshAsFacetedMesh(prim, meshParts["medium_lod"]):
// 3. Get a simple mesh from one of the submeshes (good if just getting a physics version):
// OSDMap meshParts = UnpackMesh(meshData);
// OMV.Mesh flatMesh = MeshSubMeshAsSimpleMesh(prim, meshParts["physics_mesh"]);
//
// "physics_convex" is specially formatted so there is another routine to unpack
// that section:
// OSDMap meshParts = UnpackMesh(meshData);
// if (meshParts.ContainsKey("physics_convex"))
// OSMap hullPieces = MeshSubMeshAsConvexHulls(prim, meshParts["physics_convex"]):
//
// LL mesh format detailed at http://wiki.secondlife.com/wiki/Mesh/Mesh_Asset_Format
/// <summary>
/// Create a mesh faceted mesh from the compressed mesh data.
/// This returns the highest LOD renderable version of the mesh.
///
/// The actual mesh data is fetched and passed to this
/// routine since all the context for finding the data is elsewhere.
/// </summary>
/// <returns>The faceted mesh or null if can't do it</returns>
public OMVR.FacetedMesh GenerateFacetedMeshMesh(OMV.Primitive prim, byte[] meshData)
{
OMVR.FacetedMesh ret = null;
OSDMap meshParts = UnpackMesh(meshData);
if (meshParts != null)
{
byte[] meshBytes = null;
string[] decreasingLOD = { "high_lod", "medium_lod", "low_lod", "lowest_lod" };
foreach (string partName in decreasingLOD)
{
if (meshParts.ContainsKey(partName))
{
meshBytes = meshParts[partName];
break;
}
}
if (meshBytes != null)
{
ret = MeshSubMeshAsFacetedMesh(prim, meshBytes);
}
}
return ret;
}
// A version of GenerateFacetedMeshMesh that takes LOD spec so it's similar in calling convention of
// the other Generate* methods.
public OMVR.FacetedMesh GenerateFacetedMeshMesh(OMV.Primitive prim, byte[] meshData, OMVR.DetailLevel lod) {
OMVR.FacetedMesh ret = null;
string partName = null;
switch (lod)
{
case OMVR.DetailLevel.Highest:
partName = "high_lod"; break;
case OMVR.DetailLevel.High:
partName = "medium_lod"; break;
case OMVR.DetailLevel.Medium:
partName = "low_lod"; break;
case OMVR.DetailLevel.Low:
partName = "lowest_lod"; break;
}
if (partName != null)
{
OSDMap meshParts = UnpackMesh(meshData);
if (meshParts != null)
{
if (meshParts.ContainsKey(partName))
{
byte[] meshBytes = meshParts[partName];
if (meshBytes != null)
{
ret = MeshSubMeshAsFacetedMesh(prim, meshBytes);
}
}
}
}
return ret;
}
// Convert a compressed submesh buffer into a FacetedMesh.
public FacetedMesh MeshSubMeshAsFacetedMesh(OMV.Primitive prim, byte[] compressedMeshData)
{
FacetedMesh ret = null;
OSD meshOSD = Helpers.DecompressOSD(compressedMeshData);
OSDArray meshFaces = meshOSD as OSDArray;
if (meshFaces != null)
{
ret = new FacetedMesh {Faces = new List<Face>()};
for (int faceIndex = 0; faceIndex < meshFaces.Count; faceIndex++)
{
AddSubMesh(prim, faceIndex, meshFaces[faceIndex], ref ret);
}
}
return ret;
}
// Convert a compressed submesh buffer into a SimpleMesh.
public OMVR.SimpleMesh MeshSubMeshAsSimpleMesh(OMV.Primitive prim, byte[] compressedMeshData)
{
OMVR.SimpleMesh ret = null;
OSD meshOSD = Helpers.DecompressOSD(compressedMeshData);
OSDArray meshFaces = meshOSD as OSDArray;
if (meshOSD != null)
{
ret = new SimpleMesh();
foreach (OSD subMesh in meshFaces)
{
AddSubMesh(subMesh, ref ret);
}
}
return ret;
}
public List<List<Vector3>> MeshSubMeshAsConvexHulls(OMV.Primitive prim, byte[] compressedMeshData)
{
List<List<Vector3>> hulls = new List<List<Vector3>>();
try {
OSD convexBlockOsd = Helpers.DecompressOSD(compressedMeshData);
if (convexBlockOsd is OSDMap convexBlock) {
Vector3 min = new Vector3(-0.5f, -0.5f, -0.5f);
if (convexBlock.ContainsKey("Min")) min = convexBlock["Min"].AsVector3();
Vector3 max = new Vector3(0.5f, 0.5f, 0.5f);
if (convexBlock.ContainsKey("Max")) max = convexBlock["Max"].AsVector3();
if (convexBlock.ContainsKey("BoundingVerts")) {
byte[] boundingVertsBytes = convexBlock["BoundingVerts"].AsBinary();
var boundingHull = new List<Vector3>();
for (int i = 0; i < boundingVertsBytes.Length;) {
ushort uX = Utils.BytesToUInt16(boundingVertsBytes, i); i += 2;
ushort uY = Utils.BytesToUInt16(boundingVertsBytes, i); i += 2;
ushort uZ = Utils.BytesToUInt16(boundingVertsBytes, i); i += 2;
Vector3 pos = new Vector3(
Utils.UInt16ToFloat(uX, min.X, max.X),
Utils.UInt16ToFloat(uY, min.Y, max.Y),
Utils.UInt16ToFloat(uZ, min.Z, max.Z)
);
boundingHull.Add(pos);
}
List<Vector3> mBoundingHull = boundingHull;
}
if (convexBlock.ContainsKey("HullList")) {
byte[] hullList = convexBlock["HullList"].AsBinary();
byte[] posBytes = convexBlock["Positions"].AsBinary();
int posNdx = 0;
foreach (byte cnt in hullList) {
int count = cnt == 0 ? 256 : cnt;
List<Vector3> hull = new List<Vector3>();
for (int i = 0; i < count; i++) {
ushort uX = Utils.BytesToUInt16(posBytes, posNdx); posNdx += 2;
ushort uY = Utils.BytesToUInt16(posBytes, posNdx); posNdx += 2;
ushort uZ = Utils.BytesToUInt16(posBytes, posNdx); posNdx += 2;
Vector3 pos = new Vector3(
Utils.UInt16ToFloat(uX, min.X, max.X),
Utils.UInt16ToFloat(uY, min.Y, max.Y),
Utils.UInt16ToFloat(uZ, min.Z, max.Z)
);
hull.Add(pos);
}
hulls.Add(hull);
}
}
}
}
catch (Exception) {
// Logger.Log.WarnFormat("{0} exception decoding convex block: {1}", LogHeader, e);
}
return hulls;
}
// Add the submesh to the passed SimpleMesh
private void AddSubMesh(OSD subMeshOsd, ref OMVR.SimpleMesh holdingMesh) {
if (subMeshOsd is OSDMap subMeshMap)
{
// As per http://wiki.secondlife.com/wiki/Mesh/Mesh_Asset_Format, some Mesh Level
// of Detail Blocks (maps) contain just a NoGeometry key to signal there is no
// geometry for this submesh.
if (subMeshMap.ContainsKey("NoGeometry") && ((OSDBoolean)subMeshMap["NoGeometry"]))
return;
holdingMesh.Vertices.AddRange(CollectVertices(subMeshMap));
holdingMesh.Indices.AddRange(CollectIndices(subMeshMap));
}
}
// Add the submesh to the passed FacetedMesh as a new face.
private void AddSubMesh(OMV.Primitive prim, int faceIndex, OSD subMeshOsd, ref OMVR.FacetedMesh holdingMesh) {
if (subMeshOsd is OSDMap subMesh)
{
// As per http://wiki.secondlife.com/wiki/Mesh/Mesh_Asset_Format, some Mesh Level
// of Detail Blocks (maps) contain just a NoGeometry key to signal there is no
// geometry for this submesh.
if (subMesh.ContainsKey("NoGeometry") && ((OSDBoolean)subMesh["NoGeometry"]))
return;
Face oface = new Face
{
ID = faceIndex,
Vertices = new List<Vertex>(),
Indices = new List<ushort>(),
TextureFace = prim.Textures.GetFace((uint) faceIndex)
};
OSDMap subMeshMap = subMesh;
oface.Vertices = CollectVertices(subMeshMap);
oface.Indices = CollectIndices(subMeshMap);
holdingMesh.Faces.Add(oface);
}
}
private List<Vertex> CollectVertices(OSDMap subMeshMap)
{
List<Vertex> vertices = new List<Vertex>();
Vector3 posMax;
Vector3 posMin;
// If PositionDomain is not specified, the default is from -0.5 to 0.5
if (subMeshMap.ContainsKey("PositionDomain"))
{
posMax = ((OSDMap)subMeshMap["PositionDomain"])["Max"];
posMin = ((OSDMap)subMeshMap["PositionDomain"])["Min"];
}
else
{
posMax = new Vector3(0.5f, 0.5f, 0.5f);
posMin = new Vector3(-0.5f, -0.5f, -0.5f);
}
// Vertex positions
byte[] posBytes = subMeshMap["Position"];
// Normals
byte[] norBytes = null;
if (subMeshMap.ContainsKey("Normal"))
{
norBytes = subMeshMap["Normal"];
}
// UV texture map
Vector2 texPosMax = Vector2.Zero;
Vector2 texPosMin = Vector2.Zero;
byte[] texBytes = null;
if (subMeshMap.ContainsKey("TexCoord0"))
{
texBytes = subMeshMap["TexCoord0"];
texPosMax = ((OSDMap)subMeshMap["TexCoord0Domain"])["Max"];
texPosMin = ((OSDMap)subMeshMap["TexCoord0Domain"])["Min"];
}
// Extract the vertex position data
// If present normals and texture coordinates too
for (int i = 0; i < posBytes.Length; i += 6)
{
ushort uX = Utils.BytesToUInt16(posBytes, i);
ushort uY = Utils.BytesToUInt16(posBytes, i + 2);
ushort uZ = Utils.BytesToUInt16(posBytes, i + 4);
Vertex vx = new Vertex
{
Position = new Vector3(
Utils.UInt16ToFloat(uX, posMin.X, posMax.X),
Utils.UInt16ToFloat(uY, posMin.Y, posMax.Y),
Utils.UInt16ToFloat(uZ, posMin.Z, posMax.Z))
};
if (norBytes != null && norBytes.Length >= i + 4)
{
ushort nX = Utils.BytesToUInt16(norBytes, i);
ushort nY = Utils.BytesToUInt16(norBytes, i + 2);
ushort nZ = Utils.BytesToUInt16(norBytes, i + 4);
vx.Normal = new Vector3(
Utils.UInt16ToFloat(nX, posMin.X, posMax.X),
Utils.UInt16ToFloat(nY, posMin.Y, posMax.Y),
Utils.UInt16ToFloat(nZ, posMin.Z, posMax.Z));
}
var vertexIndexOffset = vertices.Count * 4;
if (texBytes != null && texBytes.Length >= vertexIndexOffset + 4)
{
ushort tX = Utils.BytesToUInt16(texBytes, vertexIndexOffset);
ushort tY = Utils.BytesToUInt16(texBytes, vertexIndexOffset + 2);
vx.TexCoord = new Vector2(
Utils.UInt16ToFloat(tX, texPosMin.X, texPosMax.X),
Utils.UInt16ToFloat(tY, texPosMin.Y, texPosMax.Y));
}
vertices. Add(vx);
}
return vertices;
}
private List<ushort> CollectIndices(OSDMap subMeshMap)
{
List<ushort> indices = new List<ushort>();
byte[] triangleBytes = subMeshMap["TriangleList"];
for (int i = 0; i < triangleBytes.Length; i += 6)
{
ushort v1 = (ushort)(Utils.BytesToUInt16(triangleBytes, i));
indices.Add(v1);
ushort v2 = (ushort)(Utils.BytesToUInt16(triangleBytes, i + 2));
indices.Add(v2);
ushort v3 = (ushort)(Utils.BytesToUInt16(triangleBytes, i + 4));
indices.Add(v3);
}
return indices;
}
/// <summary>
/// Decodes mesh asset.
/// <returns>OSDMap of all of the submeshes in the mesh. The value of the submesh name
/// is the uncompressed data for that mesh.
/// The OSDMap is made up of the asset_header section (which includes a lot of stuff)
/// plus each of the submeshes unpacked into compressed byte arrays.
/// </returns>
public OSDMap UnpackMesh(byte[] assetData)
{
OSDMap meshData = new OSDMap();
try
{
using (MemoryStream data = new MemoryStream(assetData))
{
OSDMap header = (OSDMap)OSDParser.DeserializeLLSDBinary(data);
meshData["asset_header"] = header;
long start = data.Position;
foreach(string partName in header.Keys)
{
if (header[partName].Type != OSDType.Map)
{
meshData[partName] = header[partName];
continue;
}
OSDMap partInfo = (OSDMap)header[partName];
if (partInfo["offset"] < 0 || partInfo["size"] == 0)
{
meshData[partName] = partInfo;
continue;
}
byte[] part = new byte[partInfo["size"]];
Buffer.BlockCopy(assetData, partInfo["offset"] + (int)start, part, 0, part.Length);
meshData[partName] = part;
// meshData[partName] = Helpers.ZDecompressOSD(part); // Do decompression at unpack time
}
}
}
catch (Exception ex)
{
Logger.Log("Failed to decode mesh asset", Helpers.LogLevel.Error, ex);
meshData = null;
}
return meshData;
}
// Local routine to create a mesh from prim parameters.
// Collects parameters and calls PrimMesher to create all the faces of the prim.
private LibreMetaverse.PrimMesher.PrimMesh GeneratePrimMesh(Primitive prim, DetailLevel lod, bool viewerMode)
{
Primitive.ConstructionData primData = prim.PrimData;
int sides = 4;
int hollowsides = 4;
float profileBegin = primData.ProfileBegin;
float profileEnd = primData.ProfileEnd;
bool isSphere = false;
if ((ProfileCurve)(primData.profileCurve & 0x07) == OMV.ProfileCurve.Circle)
{
switch (lod)
{
case OMVR.DetailLevel.Low:
sides = 6;
break;
case OMVR.DetailLevel.Medium:
sides = 12;
break;
default:
sides = 24;
break;
}
}
else if ((ProfileCurve)(primData.profileCurve & 0x07) == OMV.ProfileCurve.EqualTriangle)
sides = 3;
else if ((ProfileCurve)(primData.profileCurve & 0x07) == OMV.ProfileCurve.HalfCircle)
{
// half circle, prim is a sphere
isSphere = true;
switch (lod)
{
case OMVR.DetailLevel.Low:
sides = 6;
break;
case OMVR.DetailLevel.Medium:
sides = 12;
break;
default:
sides = 24;
break;
}
profileBegin = 0.5f * profileBegin + 0.5f;
profileEnd = 0.5f * profileEnd + 0.5f;
}
if (primData.ProfileHole == HoleType.Same)
hollowsides = sides;
else if (primData.ProfileHole == HoleType.Circle)
{
switch (lod)
{
case DetailLevel.Low:
hollowsides = 6;
break;
case DetailLevel.Medium:
hollowsides = 12;
break;
default:
hollowsides = 24;
break;
}
}
else if (primData.ProfileHole == HoleType.Triangle)
hollowsides = 3;
PrimMesh newPrim =
new PrimMesh(sides, profileBegin, profileEnd, primData.ProfileHollow, hollowsides)
{
viewerMode = viewerMode,
sphereMode = isSphere,
holeSizeX = primData.PathScaleX,
holeSizeY = primData.PathScaleY,
pathCutBegin = primData.PathBegin,
pathCutEnd = primData.PathEnd,
topShearX = primData.PathShearX,
topShearY = primData.PathShearY,
radius = primData.PathRadiusOffset,
revolutions = primData.PathRevolutions,
skew = primData.PathSkew
};
switch (lod)
{
case DetailLevel.Low:
newPrim.stepsPerRevolution = 6;
break;
case DetailLevel.Medium:
newPrim.stepsPerRevolution = 12;
break;
default:
newPrim.stepsPerRevolution = 24;
break;
}
if (primData.PathCurve == PathCurve.Line || primData.PathCurve == PathCurve.Flexible)
{
newPrim.taperX = 1.0f - primData.PathScaleX;
newPrim.taperY = 1.0f - primData.PathScaleY;
newPrim.twistBegin = (int)(180 * primData.PathTwistBegin);
newPrim.twistEnd = (int)(180 * primData.PathTwist);
newPrim.ExtrudeLinear();
}
else
{
newPrim.taperX = primData.PathTaperX;
newPrim.taperY = primData.PathTaperY;
newPrim.twistBegin = (int)(360 * primData.PathTwistBegin);
newPrim.twistEnd = (int)(360 * primData.PathTwist);
newPrim.ExtrudeCircular();
}
return newPrim;
}
/// <summary>
/// Method for generating mesh Face from a heightmap
/// </summary>
/// <param name="zMap">Two dimension array of floats containing height information</param>
/// <param name="xBegin">Starting value for X</param>
/// <param name="xEnd">Max value for X</param>
/// <param name="yBegin">Starting value for Y</param>
/// <param name="yEnd">Max value of Y</param>
/// <returns></returns>
public Face TerrainMesh(float[,] zMap, float xBegin, float xEnd, float yBegin, float yEnd)
{
SculptMesh newMesh = new SculptMesh(zMap, xBegin, xEnd, yBegin, yEnd, true);
Face terrain = new Face();
int faceVertices = newMesh.coords.Count;
terrain.Vertices = new List<Vertex>(faceVertices);
terrain.Indices = new List<ushort>(newMesh.faces.Count * 3);
for (int j = 0; j < faceVertices; j++)
{
var vert = new OMVR.Vertex
{
Position = new Vector3(newMesh.coords[j].X, newMesh.coords[j].Y, newMesh.coords[j].Z),
Normal = new Vector3(newMesh.normals[j].X, newMesh.normals[j].Y, newMesh.normals[j].Z),
TexCoord = new Vector2(newMesh.uvs[j].U, newMesh.uvs[j].V)
};
terrain.Vertices.Add(vert);
}
for (int j = 0; j < newMesh.faces.Count; j++)
{
terrain.Indices.Add((ushort)newMesh.faces[j].v1);
terrain.Indices.Add((ushort)newMesh.faces[j].v2);
terrain.Indices.Add((ushort)newMesh.faces[j].v3);
}
return terrain;
}
}
}
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 0ed5999a9ac5a0244b4e15b4e2a5c7ee
guid: e575141503622f64083ce69033c8f6de
MonoImporter:
externalObjects: {}
serializedVersion: 2
@@ -1,7 +1,9 @@
{
"name": "LibreMetaverseAssembly",
"rootNamespace": "",
"references": [],
"references": [
"GUID:76f8bd3fe0677274192d7e8f6b160b17"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": true,
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 24a06b74226f34315b088c8f75bc5d9f
guid: 6db4bb2dafb49dd459a6416186ed764d
folderAsset: yes
DefaultImporter:
externalObjects: {}
+213
View File
@@ -0,0 +1,213 @@
/*
* Copyright (c) Contributors
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Text.RegularExpressions;
namespace LibreMetaverse.PrimMesher
{
public class ObjMesh
{
private readonly List<Coord> coords = new List<Coord>();
private List<ViewerPolygon> facePolygons = new List<ViewerPolygon>();
private List<ViewerVertex> faceVertices = new List<ViewerVertex>();
public string meshName = string.Empty;
private readonly List<Coord> normals = new List<Coord>();
public int numPrimFaces;
private readonly List<UVCoord> uvs = new List<UVCoord>();
public List<List<ViewerPolygon>> viewerPolygons = new List<List<ViewerPolygon>>();
private Dictionary<int, int> viewerVertexLookup = new Dictionary<int, int>();
public List<List<ViewerVertex>> viewerVertices = new List<List<ViewerVertex>>();
public ObjMesh(string path)
{
ProcessStream(new StreamReader(path));
}
public ObjMesh(StreamReader sr)
{
ProcessStream(sr);
}
private void ProcessStream(StreamReader s)
{
numPrimFaces = 0;
while (!s.EndOfStream)
{
var line = s.ReadLine().Trim();
var tokens = Regex.Split(line, @"\s+");
// Skip blank lines and comments
if (tokens.Length > 0 && tokens[0] != string.Empty && !tokens[0].StartsWith("#"))
ProcessTokens(tokens);
}
MakePrimFace();
}
public VertexIndexer GetVertexIndexer()
{
var vi = new VertexIndexer();
vi.numPrimFaces = numPrimFaces;
vi.viewerPolygons = viewerPolygons;
vi.viewerVertices = viewerVertices;
return vi;
}
private void ProcessTokens(string[] tokens)
{
switch (tokens[0].ToLower())
{
case "o":
meshName = tokens[1];
break;
case "v":
coords.Add(ParseCoord(tokens));
break;
case "vt":
{
uvs.Add(ParseUVCoord(tokens));
break;
}
case "vn":
normals.Add(ParseCoord(tokens));
break;
case "g":
MakePrimFace();
break;
case "s":
break;
case "f":
var vertIndices = new int[3];
for (var vertexIndex = 1; vertexIndex <= 3; vertexIndex++)
{
var indices = tokens[vertexIndex].Split('/');
var positionIndex = int.Parse(indices[0],
CultureInfo.InvariantCulture) - 1;
var texCoordIndex = -1;
var normalIndex = -1;
if (indices.Length > 1)
if (int.TryParse(indices[1], NumberStyles.Integer, CultureInfo.InvariantCulture,
out texCoordIndex))
texCoordIndex--;
else texCoordIndex = -1;
if (indices.Length > 2)
if (int.TryParse(indices[1], NumberStyles.Integer, CultureInfo.InvariantCulture,
out normalIndex))
normalIndex--;
else normalIndex = -1;
var hash = hashInts(positionIndex, texCoordIndex, normalIndex);
if (viewerVertexLookup.ContainsKey(hash))
{
vertIndices[vertexIndex - 1] = viewerVertexLookup[hash];
}
else
{
var vv = new ViewerVertex {v = coords[positionIndex]};
if (normalIndex > -1)
vv.n = normals[normalIndex];
if (texCoordIndex > -1)
vv.uv = uvs[texCoordIndex];
faceVertices.Add(vv);
vertIndices[vertexIndex - 1] = viewerVertexLookup[hash] = faceVertices.Count - 1;
}
}
facePolygons.Add(new ViewerPolygon(vertIndices[0], vertIndices[1], vertIndices[2]));
break;
case "mtllib":
break;
case "usemtl":
break;
}
}
private void MakePrimFace()
{
if (faceVertices.Count > 0 && facePolygons.Count > 0)
{
viewerVertices.Add(faceVertices);
faceVertices = new List<ViewerVertex>();
viewerPolygons.Add(facePolygons);
facePolygons = new List<ViewerPolygon>();
viewerVertexLookup = new Dictionary<int, int>();
numPrimFaces++;
}
}
private UVCoord ParseUVCoord(string[] tokens)
{
return new UVCoord(
float.Parse(tokens[1], CultureInfo.InvariantCulture),
float.Parse(tokens[1], CultureInfo.InvariantCulture));
}
private Coord ParseCoord(string[] tokens)
{
return new Coord(
float.Parse(tokens[1], CultureInfo.InvariantCulture),
float.Parse(tokens[2], CultureInfo.InvariantCulture),
float.Parse(tokens[3], CultureInfo.InvariantCulture));
}
private int hashInts(int i1, int i2, int i3)
{
return (i1 + " " + i2 + " " + i3).GetHashCode();
}
}
}
+11
View File
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: dc787f4e5fdbad04dbc851a46915ca19
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f70226899eee9304db329cad09ba9510
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,5 +1,5 @@
{
"name": "DisruptorASMDEF",
"name": "PrimMesherASM",
"rootNamespace": "",
"references": [],
"includePlatforms": [],
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 272efe8d1077340a2a464fdf763d8bdf
PrefabImporter:
guid: 76f8bd3fe0677274192d7e8f6b160b17
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
+185
View File
@@ -0,0 +1,185 @@
/*
* Copyright (c) Contributors
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Drawing2D;
namespace LibreMetaverse.PrimMesher
{
public class SculptMap
{
public byte[] blueBytes;
public byte[] greenBytes;
public int height;
public byte[] redBytes;
public int width;
public SculptMap()
{
}
public SculptMap(Bitmap bm, int lod)
{
var bmW = bm.Width;
var bmH = bm.Height;
if (bmW == 0 || bmH == 0)
throw new Exception("SculptMap: bitmap has no data");
var numLodPixels = lod * 2 * lod * 2; // (32 * 2)^2 = 64^2 pixels for default sculpt map image
var needsScaling = false;
var smallMap = bmW * bmH <= lod * lod;
width = bmW;
height = bmH;
while (width * height > numLodPixels)
{
width >>= 1;
height >>= 1;
needsScaling = true;
}
try
{
if (needsScaling)
bm = ScaleImage(bm, width, height,
InterpolationMode.NearestNeighbor);
}
catch (Exception e)
{
throw new Exception("Exception in ScaleImage(): e: " + e);
}
if (width * height > lod * lod)
{
width >>= 1;
height >>= 1;
}
var numBytes = smallMap ? width * height : (width + 1) * (height + 1);
redBytes = new byte[numBytes];
greenBytes = new byte[numBytes];
blueBytes = new byte[numBytes];
var byteNdx = 0;
try
{
if (smallMap)
for (var y = 0; y < height; y++)
for (var x = 0; x < width; x++)
{
var c = bm.GetPixel(x, y);
redBytes[byteNdx] = c.R;
greenBytes[byteNdx] = c.G;
blueBytes[byteNdx] = c.B;
++byteNdx;
}
else
for (var y = 0; y <= height; y++)
for (var x = 0; x <= width; x++)
{
var c = bm.GetPixel(x < width ? x * 2 : x * 2 - 1,
y < height ? y * 2 : y * 2 - 1);
redBytes[byteNdx] = c.R;
greenBytes[byteNdx] = c.G;
blueBytes[byteNdx] = c.B;
++byteNdx;
}
}
catch (Exception e)
{
throw new Exception("Caught exception processing byte arrays in SculptMap(): e: " + e);
}
if (!smallMap)
{
width++;
height++;
}
}
public List<List<Coord>> ToRows(bool mirror)
{
var numRows = height;
var numCols = width;
var rows = new List<List<Coord>>(numRows);
var pixScale = 1.0f / 255;
int rowNdx, colNdx;
var smNdx = 0;
for (rowNdx = 0; rowNdx < numRows; rowNdx++)
{
var row = new List<Coord>(numCols);
for (colNdx = 0; colNdx < numCols; colNdx++)
{
if (mirror)
row.Add(new Coord(-(redBytes[smNdx] * pixScale - 0.5f), greenBytes[smNdx] * pixScale - 0.5f,
blueBytes[smNdx] * pixScale - 0.5f));
else
row.Add(new Coord(redBytes[smNdx] * pixScale - 0.5f, greenBytes[smNdx] * pixScale - 0.5f,
blueBytes[smNdx] * pixScale - 0.5f));
++smNdx;
}
rows.Add(row);
}
return rows;
}
private Bitmap ScaleImage(Bitmap srcImage, int destWidth, int destHeight,
InterpolationMode interpMode)
{
var scaledImage = new Bitmap(srcImage, destWidth, destHeight);
scaledImage.SetResolution(96.0f, 96.0f);
var grPhoto = Graphics.FromImage(scaledImage);
grPhoto.InterpolationMode = interpMode;
grPhoto.DrawImage(srcImage,
new Rectangle(0, 0, destWidth, destHeight),
new Rectangle(0, 0, srcImage.Width, srcImage.Height),
GraphicsUnit.Pixel);
grPhoto.Dispose();
return scaledImage;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7d37a3d34a3f31844965e2808a880864
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+641
View File
@@ -0,0 +1,641 @@
/*
* Copyright (c) Contributors
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
namespace LibreMetaverse.PrimMesher
{
public class SculptMesh
{
public enum SculptType
{
sphere = 1,
torus = 2,
plane = 3,
cylinder = 4
}
public List<Coord> coords;
public List<Face> faces;
public List<Coord> normals;
public List<UVCoord> uvs;
public List<ViewerFace> viewerFaces;
public SculptMesh(string fileName, int sculptType, int lod, int viewerMode, int mirror, int invert)
{
var bitmap = (Bitmap) Image.FromFile(fileName);
_SculptMesh(bitmap, (SculptType) sculptType, lod, viewerMode != 0, mirror != 0, invert != 0);
bitmap.Dispose();
}
/// <summary>
/// ** Experimental ** May disappear from future versions ** not recommeneded for use in applications
/// Construct a sculpt mesh from a 2D array of floats
/// </summary>
/// <param name="zMap"></param>
/// <param name="xBegin"></param>
/// <param name="xEnd"></param>
/// <param name="yBegin"></param>
/// <param name="yEnd"></param>
/// <param name="viewerMode"></param>
public SculptMesh(float[,] zMap, float xBegin, float xEnd, float yBegin, float yEnd, bool viewerMode)
{
float xStep, yStep;
float uStep, vStep;
var numYElements = zMap.GetLength(0);
var numXElements = zMap.GetLength(1);
try
{
xStep = (xEnd - xBegin) / (numXElements - 1);
yStep = (yEnd - yBegin) / (numYElements - 1);
uStep = 1.0f / (numXElements - 1);
vStep = 1.0f / (numYElements - 1);
}
catch (DivideByZeroException)
{
return;
}
coords = new List<Coord>();
faces = new List<Face>();
normals = new List<Coord>();
uvs = new List<UVCoord>();
viewerFaces = new List<ViewerFace>();
int p1, p2, p3, p4;
int x, y;
int xStart = 0, yStart = 0;
for (y = yStart; y < numYElements; y++)
{
var rowOffset = y * numXElements;
for (x = xStart; x < numXElements; x++)
{
/*
* p1-----p2
* | \ f2 |
* | \ |
* | f1 \|
* p3-----p4
*/
p4 = rowOffset + x;
p3 = p4 - 1;
p2 = p4 - numXElements;
p1 = p3 - numXElements;
var c = new Coord(xBegin + x * xStep, yBegin + y * yStep, zMap[y, x]);
coords.Add(c);
if (viewerMode)
{
normals.Add(new Coord());
uvs.Add(new UVCoord(uStep * x, 1.0f - vStep * y));
}
if (y > 0 && x > 0)
{
Face f1, f2;
if (viewerMode)
{
f1 = new Face(p1, p4, p3, p1, p4, p3)
{
uv1 = p1,
uv2 = p4,
uv3 = p3
};
f2 = new Face(p1, p2, p4, p1, p2, p4)
{
uv1 = p1,
uv2 = p2,
uv3 = p4
};
}
else
{
f1 = new Face(p1, p4, p3);
f2 = new Face(p1, p2, p4);
}
faces.Add(f1);
faces.Add(f2);
}
}
}
if (viewerMode)
calcVertexNormals(SculptType.plane, numXElements, numYElements);
}
public SculptMesh(Bitmap sculptBitmap, SculptType sculptType, int lod, bool viewerMode)
{
_SculptMesh(sculptBitmap, sculptType, lod, viewerMode, false, false);
}
public SculptMesh(Bitmap sculptBitmap, SculptType sculptType, int lod, bool viewerMode, bool mirror,
bool invert)
{
_SculptMesh(sculptBitmap, sculptType, lod, viewerMode, mirror, invert);
}
public SculptMesh(List<List<Coord>> rows, SculptType sculptType, bool viewerMode, bool mirror, bool invert)
{
_SculptMesh(rows, sculptType, viewerMode, mirror, invert);
}
public SculptMesh(SculptMesh sm)
{
coords = new List<Coord>(sm.coords);
faces = new List<Face>(sm.faces);
viewerFaces = new List<ViewerFace>(sm.viewerFaces);
normals = new List<Coord>(sm.normals);
uvs = new List<UVCoord>(sm.uvs);
}
public SculptMesh SculptMeshFromFile(string fileName, SculptType sculptType, int lod, bool viewerMode)
{
var bitmap = (Bitmap) Image.FromFile(fileName);
var sculptMesh = new SculptMesh(bitmap, sculptType, lod, viewerMode);
bitmap.Dispose();
return sculptMesh;
}
/// <summary>
/// converts a bitmap to a list of lists of coords, while scaling the image.
/// the scaling is done in floating point so as to allow for reduced vertex position
/// quantization as the position will be averaged between pixel values. this routine will
/// likely fail if the bitmap width and height are not powers of 2.
/// </summary>
/// <param name="bitmap"></param>
/// <param name="scale"></param>
/// <param name="mirror"></param>
/// <returns></returns>
private List<List<Coord>> bitmap2Coords(Bitmap bitmap, int scale, bool mirror)
{
var numRows = bitmap.Height / scale;
var numCols = bitmap.Width / scale;
var rows = new List<List<Coord>>(numRows);
var pixScale = 1.0f / (scale * scale);
pixScale /= 255;
int imageX, imageY = 0;
int rowNdx, colNdx;
for (rowNdx = 0; rowNdx < numRows; rowNdx++)
{
var row = new List<Coord>(numCols);
for (colNdx = 0; colNdx < numCols; colNdx++)
{
imageX = colNdx * scale;
var imageYStart = rowNdx * scale;
var imageYEnd = imageYStart + scale;
var imageXEnd = imageX + scale;
var rSum = 0.0f;
var gSum = 0.0f;
var bSum = 0.0f;
for (; imageX < imageXEnd; imageX++)
for (imageY = imageYStart; imageY < imageYEnd; imageY++)
{
var c = bitmap.GetPixel(imageX, imageY);
if (c.A != 255)
{
bitmap.SetPixel(imageX, imageY, Color.FromArgb(255, c.R, c.G, c.B));
c = bitmap.GetPixel(imageX, imageY);
}
rSum += c.R;
gSum += c.G;
bSum += c.B;
}
row.Add(mirror
? new Coord(-(rSum * pixScale - 0.5f), gSum * pixScale - 0.5f, bSum * pixScale - 0.5f)
: new Coord(rSum * pixScale - 0.5f, gSum * pixScale - 0.5f, bSum * pixScale - 0.5f));
}
rows.Add(row);
}
return rows;
}
private List<List<Coord>> bitmap2CoordsSampled(Bitmap bitmap, int scale, bool mirror)
{
var numRows = bitmap.Height / scale;
var numCols = bitmap.Width / scale;
var rows = new List<List<Coord>>(numRows);
var pixScale = 1.0f / 256.0f;
int imageX, imageY = 0;
int rowNdx, colNdx;
for (rowNdx = 0; rowNdx <= numRows; rowNdx++)
{
var row = new List<Coord>(numCols);
imageY = rowNdx * scale;
if (rowNdx == numRows) imageY--;
for (colNdx = 0; colNdx <= numCols; colNdx++)
{
imageX = colNdx * scale;
if (colNdx == numCols) imageX--;
var c = bitmap.GetPixel(imageX, imageY);
if (c.A != 255)
{
bitmap.SetPixel(imageX, imageY, Color.FromArgb(255, c.R, c.G, c.B));
c = bitmap.GetPixel(imageX, imageY);
}
row.Add(mirror
? new Coord(-(c.R * pixScale - 0.5f), c.G * pixScale - 0.5f, c.B * pixScale - 0.5f)
: new Coord(c.R * pixScale - 0.5f, c.G * pixScale - 0.5f, c.B * pixScale - 0.5f));
}
rows.Add(row);
}
return rows;
}
private void _SculptMesh(Bitmap sculptBitmap, SculptType sculptType, int lod, bool viewerMode, bool mirror,
bool invert)
{
_SculptMesh(new SculptMap(sculptBitmap, lod).ToRows(mirror), sculptType, viewerMode, mirror, invert);
}
private void _SculptMesh(List<List<Coord>> rows, SculptType sculptType, bool viewerMode, bool mirror,
bool invert)
{
coords = new List<Coord>();
faces = new List<Face>();
normals = new List<Coord>();
uvs = new List<UVCoord>();
sculptType = (SculptType) ((int) sculptType & 0x07);
if (mirror)
invert = !invert;
viewerFaces = new List<ViewerFace>();
var width = rows[0].Count;
int p1, p2, p3, p4;
int imageX, imageY;
if (sculptType != SculptType.plane)
if (rows.Count % 2 == 0)
{
foreach (List<Coord> row in rows)
row.Add(row[0]);
}
else
{
var lastIndex = rows[0].Count - 1;
foreach (List<Coord> row in rows)
row[0] = row[lastIndex];
}
var topPole = rows[0][width / 2];
var bottomPole = rows[rows.Count - 1][width / 2];
if (sculptType == SculptType.sphere)
if (rows.Count % 2 == 0)
{
var count = rows[0].Count;
var topPoleRow = new List<Coord>(count);
var bottomPoleRow = new List<Coord>(count);
for (var i = 0; i < count; i++)
{
topPoleRow.Add(topPole);
bottomPoleRow.Add(bottomPole);
}
rows.Insert(0, topPoleRow);
rows.Add(bottomPoleRow);
}
else
{
var count = rows[0].Count;
var topPoleRow = rows[0];
var bottomPoleRow = rows[rows.Count - 1];
for (var i = 0; i < count; i++)
{
topPoleRow[i] = topPole;
bottomPoleRow[i] = bottomPole;
}
}
if (sculptType == SculptType.torus)
rows.Add(rows[0]);
var coordsDown = rows.Count;
var coordsAcross = rows[0].Count;
var lastColumn = coordsAcross - 1;
var widthUnit = 1.0f / (coordsAcross - 1);
var heightUnit = 1.0f / (coordsDown - 1);
for (imageY = 0; imageY < coordsDown; imageY++)
{
var rowOffset = imageY * coordsAcross;
for (imageX = 0; imageX < coordsAcross; imageX++)
{
/*
* p1-----p2
* | \ f2 |
* | \ |
* | f1 \|
* p3-----p4
*/
p4 = rowOffset + imageX;
p3 = p4 - 1;
p2 = p4 - coordsAcross;
p1 = p3 - coordsAcross;
coords.Add(rows[imageY][imageX]);
if (viewerMode)
{
normals.Add(new Coord());
uvs.Add(new UVCoord(widthUnit * imageX, heightUnit * imageY));
}
if (imageY > 0 && imageX > 0)
{
Face f1, f2;
if (viewerMode)
{
if (invert)
{
f1 = new Face(p1, p4, p3, p1, p4, p3)
{
uv1 = p1,
uv2 = p4,
uv3 = p3
};
f2 = new Face(p1, p2, p4, p1, p2, p4)
{
uv1 = p1,
uv2 = p2,
uv3 = p4
};
}
else
{
f1 = new Face(p1, p3, p4, p1, p3, p4)
{
uv1 = p1,
uv2 = p3,
uv3 = p4
};
f2 = new Face(p1, p4, p2, p1, p4, p2)
{
uv1 = p1,
uv2 = p4,
uv3 = p2
};
}
}
else
{
if (invert)
{
f1 = new Face(p1, p4, p3);
f2 = new Face(p1, p2, p4);
}
else
{
f1 = new Face(p1, p3, p4);
f2 = new Face(p1, p4, p2);
}
}
faces.Add(f1);
faces.Add(f2);
}
}
}
if (viewerMode)
calcVertexNormals(sculptType, coordsAcross, coordsDown);
}
/// <summary>
/// Duplicates a SculptMesh object. All object properties are copied by value, including lists.
/// </summary>
/// <returns></returns>
public SculptMesh Copy()
{
return new SculptMesh(this);
}
private void calcVertexNormals(SculptType sculptType, int xSize, int ySize)
{
// compute vertex normals by summing all the surface normals of all the triangles sharing
// each vertex and then normalizing
var numFaces = faces.Count;
for (var i = 0; i < numFaces; i++)
{
var face = faces[i];
var surfaceNormal = face.SurfaceNormal(coords);
normals[face.n1] += surfaceNormal;
normals[face.n2] += surfaceNormal;
normals[face.n3] += surfaceNormal;
}
var numNormals = normals.Count;
for (var i = 0; i < numNormals; i++)
normals[i] = normals[i].Normalize();
if (sculptType != SculptType.plane)
for (var y = 0; y < ySize; y++)
{
var rowOffset = y * xSize;
normals[rowOffset] = normals[rowOffset + xSize - 1] =
(normals[rowOffset] + normals[rowOffset + xSize - 1]).Normalize();
}
foreach (var face in faces)
{
var vf = new ViewerFace(0);
vf.v1 = coords[face.v1];
vf.v2 = coords[face.v2];
vf.v3 = coords[face.v3];
vf.coordIndex1 = face.v1;
vf.coordIndex2 = face.v2;
vf.coordIndex3 = face.v3;
vf.n1 = normals[face.n1];
vf.n2 = normals[face.n2];
vf.n3 = normals[face.n3];
vf.uv1 = uvs[face.uv1];
vf.uv2 = uvs[face.uv2];
vf.uv3 = uvs[face.uv3];
viewerFaces.Add(vf);
}
}
/// <summary>
/// Adds a value to each XYZ vertex coordinate in the mesh
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
/// <param name="z"></param>
public void AddPos(float x, float y, float z)
{
int i;
var numVerts = coords.Count;
Coord vert;
for (i = 0; i < numVerts; i++)
{
vert = coords[i];
vert.X += x;
vert.Y += y;
vert.Z += z;
coords[i] = vert;
}
if (viewerFaces != null)
{
var numViewerFaces = viewerFaces.Count;
for (i = 0; i < numViewerFaces; i++)
{
var v = viewerFaces[i];
v.AddPos(x, y, z);
viewerFaces[i] = v;
}
}
}
/// <summary>
/// Rotates the mesh
/// </summary>
/// <param name="q"></param>
public void AddRot(Quat q)
{
int i;
var numVerts = coords.Count;
for (i = 0; i < numVerts; i++)
coords[i] *= q;
var numNormals = normals.Count;
for (i = 0; i < numNormals; i++)
normals[i] *= q;
if (viewerFaces != null)
{
var numViewerFaces = viewerFaces.Count;
for (i = 0; i < numViewerFaces; i++)
{
var v = viewerFaces[i];
v.v1 *= q;
v.v2 *= q;
v.v3 *= q;
v.n1 *= q;
v.n2 *= q;
v.n3 *= q;
viewerFaces[i] = v;
}
}
}
public void Scale(float x, float y, float z)
{
int i;
var numVerts = coords.Count;
var m = new Coord(x, y, z);
for (i = 0; i < numVerts; i++)
coords[i] *= m;
if (viewerFaces != null)
{
var numViewerFaces = viewerFaces.Count;
for (i = 0; i < numViewerFaces; i++)
{
var v = viewerFaces[i];
v.v1 *= m;
v.v2 *= m;
v.v3 *= m;
viewerFaces[i] = v;
}
}
}
public void DumpRaw(string path, string name, string title)
{
if (path == null)
return;
var fileName = name + "_" + title + ".raw";
var completePath = System.IO.Path.Combine(path, fileName);
var sw = new StreamWriter(completePath);
for (var i = 0; i < faces.Count; i++)
{
var s = coords[faces[i].v1].ToString();
s += " " + coords[faces[i].v2];
s += " " + coords[faces[i].v3];
sw.WriteLine(s);
}
sw.Close();
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4750835895809a24ba07a6096c32bba0
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+158
View File
@@ -0,0 +1,158 @@
/*
* Copyright (c) Contributors
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System.Collections.Generic;
namespace LibreMetaverse.PrimMesher
{
public struct ViewerVertex
{
public Coord v;
public Coord n;
public UVCoord uv;
public ViewerVertex(Coord coord, Coord normal, UVCoord uv)
{
v = coord;
n = normal;
this.uv = uv;
}
}
public struct ViewerPolygon
{
public int v1;
public int v2;
public int v3;
public ViewerPolygon(int v1, int v2, int v3)
{
this.v1 = v1;
this.v2 = v2;
this.v3 = v3;
}
}
public class VertexIndexer
{
public int numPrimFaces;
public List<List<ViewerPolygon>> viewerPolygons;
public List<List<ViewerVertex>> viewerVertices;
private readonly int[][] viewerVertIndices;
public VertexIndexer()
{
}
public VertexIndexer(PrimMesh primMesh)
{
var maxPrimFaceNumber = 0;
foreach (var vf in primMesh.viewerFaces)
if (maxPrimFaceNumber < vf.primFaceNumber)
maxPrimFaceNumber = vf.primFaceNumber;
numPrimFaces = maxPrimFaceNumber + 1;
var numViewerVerts = new int[numPrimFaces];
var numVertsPerPrimFace = new int[numPrimFaces];
for (var i = 0; i < numPrimFaces; i++)
{
numViewerVerts[i] = 0;
numVertsPerPrimFace[i] = 0;
}
foreach (var vf in primMesh.viewerFaces)
numVertsPerPrimFace[vf.primFaceNumber] += 3;
viewerVertices = new List<List<ViewerVertex>>(numPrimFaces);
viewerPolygons = new List<List<ViewerPolygon>>(numPrimFaces);
viewerVertIndices = new int[numPrimFaces][];
// create index lists
for (var primFaceNumber = 0; primFaceNumber < numPrimFaces; primFaceNumber++)
{
//set all indices to -1 to indicate an invalid index
var vertIndices = new int[primMesh.coords.Count];
for (var i = 0; i < primMesh.coords.Count; i++)
vertIndices[i] = -1;
viewerVertIndices[primFaceNumber] = vertIndices;
viewerVertices.Add(new List<ViewerVertex>(numVertsPerPrimFace[primFaceNumber]));
viewerPolygons.Add(new List<ViewerPolygon>());
}
// populate the index lists
foreach (var vf in primMesh.viewerFaces)
{
int v1, v2, v3;
var vertIndices = viewerVertIndices[vf.primFaceNumber];
var viewerVerts = viewerVertices[vf.primFaceNumber];
// add the vertices
if (vertIndices[vf.coordIndex1] < 0)
{
viewerVerts.Add(new ViewerVertex(vf.v1, vf.n1, vf.uv1));
v1 = viewerVerts.Count - 1;
vertIndices[vf.coordIndex1] = v1;
}
else
{
v1 = vertIndices[vf.coordIndex1];
}
if (vertIndices[vf.coordIndex2] < 0)
{
viewerVerts.Add(new ViewerVertex(vf.v2, vf.n2, vf.uv2));
v2 = viewerVerts.Count - 1;
vertIndices[vf.coordIndex2] = v2;
}
else
{
v2 = vertIndices[vf.coordIndex2];
}
if (vertIndices[vf.coordIndex3] < 0)
{
viewerVerts.Add(new ViewerVertex(vf.v3, vf.n3, vf.uv3));
v3 = viewerVerts.Count - 1;
vertIndices[vf.coordIndex3] = v3;
}
else
{
v3 = vertIndices[vf.coordIndex3];
}
viewerPolygons[vf.primFaceNumber].Add(new ViewerPolygon(v1, v2, v3));
}
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d7a63149d35ac1c4db5e1c4782268a56
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 384916a52900043939098c231a3d17e9
guid: 120d8012b493a1b47aa4dd9cae7ae71e
folderAsset: yes
DefaultImporter:
externalObjects: {}
+23
View File
@@ -0,0 +1,23 @@
The MIT License (MIT)
Copyright (c) 2010-2015 Modest Tree Media http://www.modesttree.com
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
https://github.com/svermeulen/Extenject/blob/master/License.md
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 75406829aaca6154491302d85b26270a
timeCreated: 1427860624
licenseType: Store
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: e70ffae629cf5764fbc95aaeeb64884d
folderAsset: yes
DefaultImporter:
userData:
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 0d1615cbf1bd548f9bebfda1c864c2ef
guid: 0aeabfd115c8a4b0ea6377d7970134a2
DefaultImporter:
externalObjects: {}
userData:
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: a75bbcacfa24c4283b3530aa84e49de8
guid: 3d9bd58f4dad04d4aa76be96981ea7d1
DefaultImporter:
externalObjects: {}
userData:
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: f8d518813058ccd4c8ce2eb0a99748b5
folderAsset: yes
timeCreated: 1462057592
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 7f6f9d65a88fb494aab5df05742f31f1
folderAsset: yes
timeCreated: 1476626359
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 3a875c53fb6af544392d924deaee54bc
folderAsset: yes
timeCreated: 1486605381
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,23 @@
using UnityEngine;
namespace Zenject.Tests.Bindings.DiContainerMethods
{
public interface IFoo
{
}
public class Foo : MonoBehaviour, IFoo
{
public bool WasInjected
{
get;
private set;
}
[Inject]
public void Construct()
{
WasInjected = true;
}
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 576295a2c4f9589448e9441994df8491
timeCreated: 1486605381
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,20 @@
using UnityEngine;
namespace Zenject.Tests.Bindings.DiContainerMethods
{
//[CreateAssetMenu(fileName = "Foo2", menuName = "Test/Foo2")]
public class Foo2 : ScriptableObject
{
public bool WasInjected
{
get;
private set;
}
[Inject]
public void Construct()
{
WasInjected = true;
}
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 2fb66836df088014081bc2f5740ecea1
timeCreated: 1486677525
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,24 @@
using ModestTree;
using UnityEngine;
#pragma warning disable 649
namespace Zenject.Tests.Bindings.DiContainerMethods
{
public class Gorp : MonoBehaviour
{
[Inject]
string _arg;
public string Arg
{
get { return _arg; }
}
[Inject]
public void Initialize()
{
Log.Trace("Received arg '{0}' in Gorp", _arg);
}
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 33197ae07a0a36e41bf9fa09aa8d0ce6
timeCreated: 1486605381
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

Some files were not shown because too many files have changed in this diff Show More