increase room diversity, improve ui
This commit is contained in:
@@ -29,6 +29,7 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 6287037411157557552}
|
||||
- {fileID: 5265268942059203344}
|
||||
- {fileID: 5512969436623976929}
|
||||
- {fileID: 5410716308468796752}
|
||||
- {fileID: 4041894032453896055}
|
||||
@@ -166,6 +167,7 @@ GameObject:
|
||||
m_Component:
|
||||
- component: {fileID: 1820410926439358110}
|
||||
- component: {fileID: 1208278212604960030}
|
||||
- component: {fileID: 8234728732719160624}
|
||||
m_Layer: 5
|
||||
m_Name: Length Slider
|
||||
m_TagString: Untagged
|
||||
@@ -246,20 +248,23 @@ MonoBehaviour:
|
||||
m_Value: 4
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 6342815206448132038}
|
||||
m_TargetAssemblyTypeName: EscapeRoomEngine.Engine.Runtime.UI.GameControl,
|
||||
Engine
|
||||
m_MethodName: SetRoomSize
|
||||
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_Calls: []
|
||||
--- !u!114 &8234728732719160624
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2504196432302044171}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2efb00aece2e423ba5e141ebf2f7111a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
key: room_length
|
||||
defaultValue: 4
|
||||
slider: {fileID: 1208278212604960030}
|
||||
label: {fileID: 8421739936074329983}
|
||||
--- !u!1 &2801345200061880593
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -298,8 +303,8 @@ RectTransform:
|
||||
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: -205}
|
||||
m_SizeDelta: {x: 320, y: 385}
|
||||
m_AnchoredPosition: {x: 20, y: -229}
|
||||
m_SizeDelta: {x: 320, y: 361}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &6766262628066891748
|
||||
MonoBehaviour:
|
||||
@@ -313,7 +318,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: ad95894771b8478591e5f5abbe1d0244, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
entryOffset: {x: 0, y: -54}
|
||||
entryOffset: {x: 0, y: -28}
|
||||
plan: {fileID: 6774799649923343634}
|
||||
currentPuzzle: {fileID: 2204590716513089870}
|
||||
entryPrefab: {fileID: 286020777690709323, guid: cad05994b2fb37746988912bce5a31f5,
|
||||
@@ -369,6 +374,83 @@ RectTransform:
|
||||
m_AnchoredPosition: {x: 20, y: -10}
|
||||
m_SizeDelta: {x: 110, y: 189}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!1 &3409796210664512320
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8863132458034001450}
|
||||
- component: {fileID: 4722077811430021162}
|
||||
- component: {fileID: 4760308196802381275}
|
||||
m_Layer: 5
|
||||
m_Name: Background
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8863132458034001450
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3409796210664512320}
|
||||
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_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 6605681806948858281}
|
||||
m_Father: {fileID: 5956299623804817548}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: -147, y: -3}
|
||||
m_SizeDelta: {x: 20, y: 20}
|
||||
m_Pivot: {x: 1, y: 1}
|
||||
--- !u!222 &4722077811430021162
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3409796210664512320}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &4760308196802381275
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3409796210664512320}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
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
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &3745094239397758703
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -475,6 +557,7 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 2787558276881847208}
|
||||
- {fileID: 3462504880841960080}
|
||||
- {fileID: 5956299623804817548}
|
||||
- {fileID: 2514376435689683197}
|
||||
- {fileID: 6754372771656696047}
|
||||
m_Father: {fileID: 4522052738963994966}
|
||||
@@ -546,7 +629,6 @@ Canvas:
|
||||
m_OverrideSorting: 0
|
||||
m_OverridePixelPerfect: 0
|
||||
m_SortingBucketNormalizedSize: 0
|
||||
m_VertexColorAlwaysGammaSpace: 0
|
||||
m_AdditionalShaderChannelsFlag: 25
|
||||
m_UpdateRectTransformForStandalone: 0
|
||||
m_SortingLayerID: 0
|
||||
@@ -616,12 +698,11 @@ MonoBehaviour:
|
||||
estimateTimeText: {fileID: 5237193151499999206}
|
||||
targetTimeText: {fileID: 7086005505455629096}
|
||||
percentileText: {fileID: 6754372771656696046}
|
||||
widthText: {fileID: 4041894032453896054}
|
||||
lengthText: {fileID: 8421739936074329983}
|
||||
roomWidth: {fileID: 177233965105736907}
|
||||
roomLength: {fileID: 1208278212604960030}
|
||||
roomWidth: {fileID: 9150080301006657351}
|
||||
roomLength: {fileID: 8234728732719160624}
|
||||
roomSizeElement: {fileID: 6000588368100331823}
|
||||
puzzlePlan: {fileID: 6766262628066891748}
|
||||
preferLessPlayed: {fileID: 4524651472136637311}
|
||||
gameState: 0
|
||||
--- !u!1 &5089010474724971539
|
||||
GameObject:
|
||||
@@ -633,6 +714,7 @@ GameObject:
|
||||
m_Component:
|
||||
- component: {fileID: 5410716308468796752}
|
||||
- component: {fileID: 177233965105736907}
|
||||
- component: {fileID: 9150080301006657351}
|
||||
m_Layer: 5
|
||||
m_Name: Width Slider
|
||||
m_TagString: Untagged
|
||||
@@ -713,20 +795,23 @@ MonoBehaviour:
|
||||
m_Value: 2
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 6342815206448132038}
|
||||
m_TargetAssemblyTypeName: EscapeRoomEngine.Engine.Runtime.UI.GameControl,
|
||||
Engine
|
||||
m_MethodName: SetRoomSize
|
||||
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_Calls: []
|
||||
--- !u!114 &9150080301006657351
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5089010474724971539}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2efb00aece2e423ba5e141ebf2f7111a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
key: room_width
|
||||
defaultValue: 2
|
||||
slider: {fileID: 177233965105736907}
|
||||
label: {fileID: 4041894032453896054}
|
||||
--- !u!1 &5267753817356931382
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1056,6 +1141,109 @@ MonoBehaviour:
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &5994637735959876473
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5956299623804817548}
|
||||
- component: {fileID: 7970270111734300993}
|
||||
- component: {fileID: 4524651472136637311}
|
||||
m_Layer: 5
|
||||
m_Name: Prefer Less Played
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &5956299623804817548
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5994637735959876473}
|
||||
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_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 8863132458034001450}
|
||||
- {fileID: 8428584689241295758}
|
||||
m_Father: {fileID: 9062548758054197003}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -64}
|
||||
m_SizeDelta: {x: 180, y: 30}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &7970270111734300993
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5994637735959876473}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
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: 4760308196802381275}
|
||||
toggleTransition: 1
|
||||
graphic: {fileID: 4399478501732818778}
|
||||
m_Group: {fileID: 0}
|
||||
onValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_IsOn: 1
|
||||
--- !u!114 &4524651472136637311
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5994637735959876473}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9a4faeb3634c42e38fb0c2b5f26bdd5d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
key: prefer_less_played
|
||||
defaultValue: 1
|
||||
toggle: {fileID: 7970270111734300993}
|
||||
--- !u!1 &6265322034568624917
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1243,6 +1431,82 @@ RectTransform:
|
||||
m_AnchoredPosition: {x: -5, y: 0}
|
||||
m_SizeDelta: {x: -20, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &8342765830201063432
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6605681806948858281}
|
||||
- component: {fileID: 3051168202682640106}
|
||||
- component: {fileID: 4399478501732818778}
|
||||
m_Layer: 5
|
||||
m_Name: Checkmark
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6605681806948858281
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8342765830201063432}
|
||||
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_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8863132458034001450}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 20, y: 20}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &3051168202682640106
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8342765830201063432}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &4399478501732818778
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8342765830201063432}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 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
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &8563645623372468921
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1666,7 +1930,7 @@ PrefabInstance:
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -64
|
||||
value: -94
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
@@ -2578,7 +2842,7 @@ PrefabInstance:
|
||||
- target: {fileID: 3093889143253032093, guid: cad05994b2fb37746988912bce5a31f5,
|
||||
type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 0
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3093889143253032093, guid: cad05994b2fb37746988912bce5a31f5,
|
||||
type: 3}
|
||||
@@ -2593,7 +2857,7 @@ PrefabInstance:
|
||||
- target: {fileID: 3093889143253032093, guid: cad05994b2fb37746988912bce5a31f5,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 0
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3093889143253032093, guid: cad05994b2fb37746988912bce5a31f5,
|
||||
type: 3}
|
||||
@@ -2603,7 +2867,7 @@ PrefabInstance:
|
||||
- target: {fileID: 3093889143253032093, guid: cad05994b2fb37746988912bce5a31f5,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 0
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3093889143253032093, guid: cad05994b2fb37746988912bce5a31f5,
|
||||
type: 3}
|
||||
@@ -2618,7 +2882,7 @@ PrefabInstance:
|
||||
- target: {fileID: 3093889143253032093, guid: cad05994b2fb37746988912bce5a31f5,
|
||||
type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 54
|
||||
value: 30
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3093889143253032093, guid: cad05994b2fb37746988912bce5a31f5,
|
||||
type: 3}
|
||||
@@ -3802,6 +4066,145 @@ GameObject:
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 5475628624166606309}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1001 &5774235315092685472
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 5956299623804817548}
|
||||
m_Modifications:
|
||||
- target: {fileID: 2655555272253868329, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Label
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_Pivot.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: -1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 141
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 30
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868335, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_Text
|
||||
value: Prefer less played
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868335, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_FontData.m_Alignment
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: fa44f6047bc35a141a84d1b4e0919ff9, type: 3}
|
||||
--- !u!224 &8428584689241295758 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 5774235315092685472}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1001 &5781050347048265296
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -4369,6 +4772,152 @@ RectTransform:
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 7814961547219803849}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1001 &7911579105811653182
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 6000588368100331823}
|
||||
m_Modifications:
|
||||
- target: {fileID: 2655555272253868329, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Min Size
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_Pivot.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: -1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 130
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 16
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 80
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -13
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868335, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_Text
|
||||
value: '(at least 8m^2)
|
||||
|
||||
'
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868335, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_FontData.m_MinSize
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868335, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_FontData.m_FontSize
|
||||
value: 12
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: fa44f6047bc35a141a84d1b4e0919ff9, type: 3}
|
||||
--- !u!224 &5265268942059203344 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 7911579105811653182}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1001 &8073688616030330156
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -4554,7 +5103,7 @@ PrefabInstance:
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 210
|
||||
value: 76
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
@@ -4624,7 +5173,7 @@ PrefabInstance:
|
||||
- target: {fileID: 2655555272253868335, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_Text
|
||||
value: 'Room Size (at least 8m^2)
|
||||
value: 'Room Size
|
||||
|
||||
'
|
||||
objectReference: {fileID: 0}
|
||||
@@ -4665,7 +5214,7 @@ PrefabInstance:
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_Pivot.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
@@ -4680,7 +5229,7 @@ PrefabInstance:
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
@@ -4690,7 +5239,7 @@ PrefabInstance:
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
@@ -4745,7 +5294,7 @@ PrefabInstance:
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -84
|
||||
value: 271
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
@@ -4885,7 +5434,7 @@ PrefabInstance:
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -64
|
||||
value: -94
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
|
||||
@@ -56,7 +56,7 @@ PrefabInstance:
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 54
|
||||
value: 30
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
@@ -225,7 +225,7 @@ PrefabInstance:
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 320
|
||||
value: 160
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
@@ -270,12 +270,12 @@ PrefabInstance:
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
value: 160
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -30
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
@@ -295,7 +295,7 @@ PrefabInstance:
|
||||
- target: {fileID: 2655555272253868335, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
propertyPath: m_Text
|
||||
value: 'Time Estimate: '
|
||||
value: 'Est. '
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2655555272253868335, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||
type: 3}
|
||||
|
||||
@@ -9,6 +9,7 @@ using NaughtyAttributes;
|
||||
using UnityEngine;
|
||||
using Logger = EscapeRoomEngine.Engine.Runtime.Utilities.Logger;
|
||||
using LogType = EscapeRoomEngine.Engine.Runtime.Utilities.LogType;
|
||||
using Range = EscapeRoomEngine.Engine.Runtime.Utilities.Range;
|
||||
|
||||
namespace EscapeRoomEngine.Engine.Runtime
|
||||
{
|
||||
@@ -108,7 +109,7 @@ namespace EscapeRoomEngine.Engine.Runtime
|
||||
Passage exit;
|
||||
|
||||
// choose a puzzle from the plan and remove it from both the plan and later available puzzles (so it is only chosen once)
|
||||
var puzzle = _plannedPuzzles.PopRandomElement();
|
||||
var puzzle = Measure.PreferLessPlayed ? _plannedPuzzles.Pop() : _plannedPuzzles.PopRandomElement();
|
||||
_availablePuzzles.Remove(puzzle);
|
||||
GameControl.Instance.CurrentPuzzle = puzzle;
|
||||
|
||||
@@ -173,6 +174,11 @@ namespace EscapeRoomEngine.Engine.Runtime
|
||||
_plannedPuzzles.Add(_availablePuzzles[i]);
|
||||
}
|
||||
|
||||
if (Measure.PreferLessPlayed)
|
||||
{
|
||||
_plannedPuzzles.Sort((a, b) => Measure.TimesPlayed(a).CompareTo(Measure.TimesPlayed(b)));
|
||||
}
|
||||
|
||||
EstimatedTimeRemaining = Measure.EstimateTime(_plannedPuzzles);
|
||||
GameControl.Instance.PlannedPuzzles = _plannedPuzzles;
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ namespace EscapeRoomEngine.Engine.Runtime.Measurements
|
||||
/// Whether to store the taken measurements in the database. Disable for test runs.
|
||||
/// </summary>
|
||||
public static bool Store { get; set; }
|
||||
public static bool PreferLessPlayed => GameControl.Instance.preferLessPlayed.Value;
|
||||
|
||||
private static Dictionary<int, PuzzleMeasurement> _runningMeasurements;
|
||||
private static Session _currentSession;
|
||||
@@ -52,6 +53,12 @@ namespace EscapeRoomEngine.Engine.Runtime.Measurements
|
||||
/// <remarks>This only counts puzzles already placed in a room.</remarks>
|
||||
public static float EstimateTime(Room room) =>
|
||||
room.puzzles.Sum(puzzle => EstimateTime((PuzzleModuleDescription)puzzle.description));
|
||||
|
||||
/// <summary>
|
||||
/// How often a specific puzzle has been played before.
|
||||
/// </summary>
|
||||
public static int TimesPlayed(PuzzleModuleDescription puzzle) =>
|
||||
PuzzleStorage.Instance.LoadOrNew(puzzle).Measurements.Count;
|
||||
|
||||
/// <summary>
|
||||
/// The estimated percentile the current player is placed in.
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using EscapeRoomEngine.Engine.Runtime.Modules;
|
||||
using EscapeRoomEngine.Engine.Runtime.Modules.Description;
|
||||
using EscapeRoomEngine.Engine.Runtime.UI;
|
||||
using EscapeRoomEngine.Engine.Runtime.Utilities;
|
||||
using UnityEngine;
|
||||
using Logger = EscapeRoomEngine.Engine.Runtime.Utilities.Logger;
|
||||
using LogType = EscapeRoomEngine.Engine.Runtime.Utilities.LogType;
|
||||
using Object = UnityEngine.Object;
|
||||
using Range = EscapeRoomEngine.Engine.Runtime.Utilities.Range;
|
||||
|
||||
namespace EscapeRoomEngine.Engine.Runtime
|
||||
{
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c13c76161df849bfb0bd769d1756a66f
|
||||
timeCreated: 1683591920
|
||||
@@ -19,7 +19,7 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
||||
/// </summary>
|
||||
public class GameControl : MonoBehaviour
|
||||
{
|
||||
public static readonly Vector2Int DefaultRoomSize = new Vector2Int(2, 4);
|
||||
private const string TargetTimeKey = "target_time";
|
||||
|
||||
/// <summary>
|
||||
/// The active instance of the game control.
|
||||
@@ -35,13 +35,15 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
||||
[BoxGroup("Internal")] [SerializeField]
|
||||
private Button startButton, stopButton, pauseButton, addTimeButton, removeTimeButton;
|
||||
[BoxGroup("Internal")] [SerializeField]
|
||||
private Text timeText, roomTimeText, estimateTimeText, targetTimeText, percentileText, widthText, lengthText;
|
||||
private Text timeText, roomTimeText, estimateTimeText, targetTimeText, percentileText;
|
||||
[BoxGroup("Internal")] [SerializeField]
|
||||
private Slider roomWidth, roomLength;
|
||||
private PersistedSlider roomWidth, roomLength;
|
||||
[BoxGroup("Internal")] [SerializeField]
|
||||
private Transform roomSizeElement;
|
||||
[BoxGroup("Internal")] [SerializeField]
|
||||
private PuzzlePlan puzzlePlan;
|
||||
|
||||
[BoxGroup("Internal")] public PersistedToggle preferLessPlayed;
|
||||
|
||||
[HideInInspector] public GameState gameState = GameState.Stopped;
|
||||
public PuzzleModuleDescription CurrentPuzzle
|
||||
@@ -73,21 +75,20 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
||||
/// The estimated total time the player will spend in the experience.
|
||||
/// </summary>
|
||||
public float EstimatedTime { get; private set; }
|
||||
public Vector2Int RoomSize { get; private set; }
|
||||
public Vector2Int RoomSize => new(roomWidth.Value, roomLength.Value);
|
||||
|
||||
private float _previousUIUpdate, _previousPlanUpdate;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
Instance = this;
|
||||
|
||||
RoomSize = DefaultRoomSize;
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
TargetTime = Engine.Instance.initialTargetTime;
|
||||
|
||||
// read preferences
|
||||
TargetTime = PlayerPrefs.GetFloat(TargetTimeKey, Engine.Instance.initialTargetTime);
|
||||
|
||||
SetTimeText();
|
||||
}
|
||||
|
||||
@@ -121,10 +122,7 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
||||
startButton.interactable = gameState == GameState.Stopped;
|
||||
stopButton.interactable = gameState != GameState.Stopped;
|
||||
pauseButton.interactable = gameState is GameState.Running or GameState.Paused;
|
||||
addTimeButton.interactable = gameState is GameState.Running or GameState.Paused;
|
||||
removeTimeButton.interactable = gameState is GameState.Running or GameState.Paused && TargetTime >= TimeElapsed + 60;
|
||||
roomWidth.interactable = gameState == GameState.Stopped;
|
||||
roomLength.interactable = gameState == GameState.Stopped;
|
||||
removeTimeButton.interactable = TargetTime >= TimeElapsed + 60;
|
||||
}
|
||||
|
||||
#region Time Controls
|
||||
@@ -191,6 +189,8 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
||||
if (TargetTime + seconds >= TimeElapsed)
|
||||
{
|
||||
TargetTime += seconds;
|
||||
PlayerPrefs.SetFloat(TargetTimeKey, TargetTime);
|
||||
PlayerPrefs.Save();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -230,13 +230,6 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
||||
|
||||
#endregion
|
||||
|
||||
public void SetRoomSize()
|
||||
{
|
||||
RoomSize = new Vector2Int((int)roomWidth.value, (int)roomLength.value);
|
||||
widthText.text = RoomSize.x.ToString();
|
||||
lengthText.text = RoomSize.y.ToString();
|
||||
}
|
||||
|
||||
public void ExitGame()
|
||||
{
|
||||
StopGame();
|
||||
|
||||
35
Assets/Engine/Runtime/UI/PersistedSlider.cs
Normal file
35
Assets/Engine/Runtime/UI/PersistedSlider.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace EscapeRoomEngine.Engine.Runtime.UI
|
||||
{
|
||||
public class PersistedSlider : PersistedUI<int>
|
||||
{
|
||||
[SerializeField] private Slider slider;
|
||||
[SerializeField] private Text label;
|
||||
|
||||
protected override void Start()
|
||||
{
|
||||
base.Start();
|
||||
|
||||
slider.wholeNumbers = true;
|
||||
|
||||
slider.onValueChanged.AddListener(value =>
|
||||
{
|
||||
Value = (int) value;
|
||||
DisplayValue();
|
||||
PlayerPrefs.SetInt(key, Value);
|
||||
PlayerPrefs.Save();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
protected override int RetrieveValue() => PlayerPrefs.GetInt(key, defaultValue);
|
||||
|
||||
protected override void DisplayValue()
|
||||
{
|
||||
slider.value = Value;
|
||||
label.text = Value.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Engine/Runtime/UI/PersistedSlider.cs.meta
Normal file
3
Assets/Engine/Runtime/UI/PersistedSlider.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2efb00aece2e423ba5e141ebf2f7111a
|
||||
timeCreated: 1683968307
|
||||
31
Assets/Engine/Runtime/UI/PersistedToggle.cs
Normal file
31
Assets/Engine/Runtime/UI/PersistedToggle.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace EscapeRoomEngine.Engine.Runtime.UI
|
||||
{
|
||||
public class PersistedToggle : PersistedUI<bool>
|
||||
{
|
||||
[SerializeField] private Toggle toggle;
|
||||
|
||||
protected override void Start()
|
||||
{
|
||||
base.Start();
|
||||
|
||||
toggle.onValueChanged.AddListener(value =>
|
||||
{
|
||||
Value = value;
|
||||
PlayerPrefs.SetInt(key, Convert.ToInt32(Value));
|
||||
PlayerPrefs.Save();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
protected override bool RetrieveValue() => PlayerPrefs.GetInt(key, Convert.ToInt32(defaultValue)) != 0;
|
||||
|
||||
protected override void DisplayValue()
|
||||
{
|
||||
toggle.isOn = Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Engine/Runtime/UI/PersistedToggle.cs.meta
Normal file
3
Assets/Engine/Runtime/UI/PersistedToggle.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9a4faeb3634c42e38fb0c2b5f26bdd5d
|
||||
timeCreated: 1683969579
|
||||
21
Assets/Engine/Runtime/UI/PersistedUI.cs
Normal file
21
Assets/Engine/Runtime/UI/PersistedUI.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace EscapeRoomEngine.Engine.Runtime.UI
|
||||
{
|
||||
public abstract class PersistedUI<T> : MonoBehaviour
|
||||
{
|
||||
public string key;
|
||||
public T defaultValue;
|
||||
|
||||
public T Value { get; protected set; }
|
||||
|
||||
protected virtual void Start()
|
||||
{
|
||||
Value = RetrieveValue();
|
||||
DisplayValue();
|
||||
}
|
||||
|
||||
protected abstract T RetrieveValue();
|
||||
protected abstract void DisplayValue();
|
||||
}
|
||||
}
|
||||
3
Assets/Engine/Runtime/UI/PersistedUI.cs.meta
Normal file
3
Assets/Engine/Runtime/UI/PersistedUI.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b629c5229b954b5d847e58f9b439607a
|
||||
timeCreated: 1683965075
|
||||
@@ -27,7 +27,7 @@ namespace EscapeRoomEngine.Engine.Runtime.UI.Elements
|
||||
set
|
||||
{
|
||||
puzzleName.text = value.puzzleName;
|
||||
estimatedTime.text = $"Time Estimate: {Measure.EstimateTime(value).ToTimeSpan():mm':'ss}";
|
||||
estimatedTime.text = $"Est. {Measure.EstimateTime(value).ToTimeSpan():mm':'ss}";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -33,6 +33,16 @@ namespace EscapeRoomEngine.Engine.Runtime.Utilities
|
||||
|
||||
public static class ListExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// remove the first element from a list and return it.
|
||||
/// </summary>
|
||||
public static T Pop<T>(this List<T> list)
|
||||
{
|
||||
var element = list[0];
|
||||
list.RemoveAt(0);
|
||||
return element;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// remove a random element from a list and return it.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user