estimate ui
This commit is contained in:
@@ -30,13 +30,15 @@ RectTransform:
|
|||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 4522052738508588346}
|
- {fileID: 4522052738508588346}
|
||||||
- {fileID: 3651690039212746853}
|
- {fileID: 3651690039212746853}
|
||||||
|
- {fileID: 6111926162705994754}
|
||||||
|
- {fileID: 1606827657543776964}
|
||||||
|
- {fileID: 8506001028645180302}
|
||||||
|
- {fileID: 5237193151499999207}
|
||||||
- {fileID: 4759128159024176926}
|
- {fileID: 4759128159024176926}
|
||||||
- {fileID: 1891571209360683323}
|
- {fileID: 1891571209360683323}
|
||||||
- {fileID: 6434422615423022383}
|
- {fileID: 6434422615423022383}
|
||||||
- {fileID: 3909503323894949288}
|
- {fileID: 3909503323894949288}
|
||||||
- {fileID: 7086005505455629097}
|
- {fileID: 7086005505455629097}
|
||||||
- {fileID: 8506001028645180302}
|
|
||||||
- {fileID: 5237193151499999207}
|
|
||||||
- {fileID: 76348826299067250}
|
- {fileID: 76348826299067250}
|
||||||
- {fileID: 1019622809213071054}
|
- {fileID: 1019622809213071054}
|
||||||
m_Father: {fileID: 4522052738963994966}
|
m_Father: {fileID: 4522052738963994966}
|
||||||
@@ -195,7 +197,6 @@ RectTransform:
|
|||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 7182894751559651105}
|
- {fileID: 7182894751559651105}
|
||||||
- {fileID: 9062548758054197003}
|
- {fileID: 9062548758054197003}
|
||||||
- {fileID: 482424009816971294}
|
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
@@ -284,8 +285,10 @@ MonoBehaviour:
|
|||||||
addTimeButton: {fileID: 76348826299067249}
|
addTimeButton: {fileID: 76348826299067249}
|
||||||
removeTimeButton: {fileID: 1019622809213071053}
|
removeTimeButton: {fileID: 1019622809213071053}
|
||||||
timeText: {fileID: 3651690039212746852}
|
timeText: {fileID: 3651690039212746852}
|
||||||
targetTimeText: {fileID: 7086005505455629096}
|
roomTimeText: {fileID: 1606827657543776965}
|
||||||
estimateTimeText: {fileID: 5237193151499999206}
|
estimateTimeText: {fileID: 5237193151499999206}
|
||||||
|
targetTimeText: {fileID: 7086005505455629096}
|
||||||
|
uiUpdateInterval: 1
|
||||||
gameState: 0
|
gameState: 0
|
||||||
--- !u!1 &5267753817356931382
|
--- !u!1 &5267753817356931382
|
||||||
GameObject:
|
GameObject:
|
||||||
@@ -650,7 +653,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 5840570772713645737, guid: a0d402627dc805e42ab9e84487b9871b,
|
- target: {fileID: 5840570772713645737, guid: a0d402627dc805e42ab9e84487b9871b,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -34
|
value: -94
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5840570772713645737, guid: a0d402627dc805e42ab9e84487b9871b,
|
- target: {fileID: 5840570772713645737, guid: a0d402627dc805e42ab9e84487b9871b,
|
||||||
type: 3}
|
type: 3}
|
||||||
@@ -863,7 +866,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -70
|
value: -130
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||||
type: 3}
|
type: 3}
|
||||||
@@ -938,7 +941,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 5840570772713645737, guid: a0d402627dc805e42ab9e84487b9871b,
|
- target: {fileID: 5840570772713645737, guid: a0d402627dc805e42ab9e84487b9871b,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -34
|
value: -94
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5840570772713645737, guid: a0d402627dc805e42ab9e84487b9871b,
|
- target: {fileID: 5840570772713645737, guid: a0d402627dc805e42ab9e84487b9871b,
|
||||||
type: 3}
|
type: 3}
|
||||||
@@ -1429,6 +1432,159 @@ RectTransform:
|
|||||||
type: 3}
|
type: 3}
|
||||||
m_PrefabInstance: {fileID: 2501054174014209494}
|
m_PrefabInstance: {fileID: 2501054174014209494}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1001 &3645369568327693290
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 7182894751559651105}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 2655555272253868329, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Room Time
|
||||||
|
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: 0
|
||||||
|
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: 46
|
||||||
|
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: -46
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: -34
|
||||||
|
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: '00:00
|
||||||
|
|
||||||
|
'
|
||||||
|
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 &1606827657543776964 stripped
|
||||||
|
RectTransform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 3645369568327693290}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &1606827657543776965 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 2655555272253868335, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 3645369568327693290}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!1001 &3709675561396504867
|
--- !u!1001 &3709675561396504867
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1535,7 +1691,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -129
|
value: -159
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
||||||
type: 3}
|
type: 3}
|
||||||
@@ -1615,175 +1771,6 @@ RectTransform:
|
|||||||
type: 3}
|
type: 3}
|
||||||
m_PrefabInstance: {fileID: 3709675561396504867}
|
m_PrefabInstance: {fileID: 3709675561396504867}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1001 &3802654961677695567
|
|
||||||
PrefabInstance:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Modification:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TransformParent: {fileID: 4522052738963994966}
|
|
||||||
m_Modifications:
|
|
||||||
- target: {fileID: 3635623839229914385, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_Text
|
|
||||||
value: Exit
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501520, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_Name
|
|
||||||
value: Exit
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_Pivot.x
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_Pivot.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_RootOrder
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_AnchorMax.x
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_AnchorMax.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_AnchorMin.x
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_AnchorMin.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_SizeDelta.x
|
|
||||||
value: 40.410492
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_SizeDelta.y
|
|
||||||
value: 30
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalPosition.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalPosition.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalRotation.w
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalRotation.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalRotation.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalRotation.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_AnchoredPosition.x
|
|
||||||
value: -20
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_AnchoredPosition.y
|
|
||||||
value: 16
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501522, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501522, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501522, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
|
|
||||||
value:
|
|
||||||
objectReference: {fileID: 6342815206448132038}
|
|
||||||
- target: {fileID: 3635623840709501522, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501522, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
|
|
||||||
value: ExitGame
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501522, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName
|
|
||||||
value: Escape_Room_Engine.Engine.Scripts.GameControl, Assembly-CSharp
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3635623840709501522, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName
|
|
||||||
value: UnityEngine.Object, UnityEngine
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
m_RemovedComponents: []
|
|
||||||
m_RemovedGameObjects: []
|
|
||||||
m_AddedGameObjects: []
|
|
||||||
m_AddedComponents: []
|
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: c7b840466ebfae1468d75282ab9334f5, type: 3}
|
|
||||||
--- !u!224 &482424009816971294 stripped
|
|
||||||
RectTransform:
|
|
||||||
m_CorrespondingSourceObject: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
|
||||||
type: 3}
|
|
||||||
m_PrefabInstance: {fileID: 3802654961677695567}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
--- !u!1001 &4346599348938312863
|
--- !u!1001 &4346599348938312863
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1890,7 +1877,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -129
|
value: -159
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
- target: {fileID: 3635623840709501521, guid: c7b840466ebfae1468d75282ab9334f5,
|
||||||
type: 3}
|
type: 3}
|
||||||
@@ -2071,7 +2058,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -70
|
value: -130
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||||
type: 3}
|
type: 3}
|
||||||
@@ -2180,7 +2167,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 5840570772713645737, guid: a0d402627dc805e42ab9e84487b9871b,
|
- target: {fileID: 5840570772713645737, guid: a0d402627dc805e42ab9e84487b9871b,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -34
|
value: -94
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5840570772713645737, guid: a0d402627dc805e42ab9e84487b9871b,
|
- target: {fileID: 5840570772713645737, guid: a0d402627dc805e42ab9e84487b9871b,
|
||||||
type: 3}
|
type: 3}
|
||||||
@@ -2220,12 +2207,12 @@ PrefabInstance:
|
|||||||
- target: {fileID: 5840570772713645738, guid: a0d402627dc805e42ab9e84487b9871b,
|
- target: {fileID: 5840570772713645738, guid: a0d402627dc805e42ab9e84487b9871b,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
|
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
|
||||||
value: StopGame
|
value: ExitGame
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5840570772713645738, guid: a0d402627dc805e42ab9e84487b9871b,
|
- target: {fileID: 5840570772713645738, guid: a0d402627dc805e42ab9e84487b9871b,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName
|
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName
|
||||||
value: EscapeRoomEngine.Engine.Runtime.GameControl, Engine
|
value: EscapeRoomEngine.Engine.Runtime.UI.GameControl, Engine
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5840570772713645738, guid: a0d402627dc805e42ab9e84487b9871b,
|
- target: {fileID: 5840570772713645738, guid: a0d402627dc805e42ab9e84487b9871b,
|
||||||
type: 3}
|
type: 3}
|
||||||
@@ -2356,7 +2343,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -99
|
value: -65
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||||
type: 3}
|
type: 3}
|
||||||
@@ -2490,7 +2477,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -99
|
value: -65
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
- target: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||||
type: 3}
|
type: 3}
|
||||||
@@ -2542,3 +2529,137 @@ RectTransform:
|
|||||||
type: 3}
|
type: 3}
|
||||||
m_PrefabInstance: {fileID: 7814961547219803849}
|
m_PrefabInstance: {fileID: 7814961547219803849}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1001 &8073688616030330156
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 7182894751559651105}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 2655555272253868329, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Room Time Label
|
||||||
|
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: 0
|
||||||
|
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: 56
|
||||||
|
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: -34
|
||||||
|
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: 'Room:'
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: fa44f6047bc35a141a84d1b4e0919ff9, type: 3}
|
||||||
|
--- !u!224 &6111926162705994754 stripped
|
||||||
|
RectTransform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 2655555272253868334, guid: fa44f6047bc35a141a84d1b4e0919ff9,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 8073688616030330156}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using EscapeRoomEngine.Engine.Runtime.Measurements;
|
using EscapeRoomEngine.Engine.Runtime.Measurements;
|
||||||
using EscapeRoomEngine.Engine.Runtime.Modules;
|
using EscapeRoomEngine.Engine.Runtime.Modules;
|
||||||
|
using EscapeRoomEngine.Engine.Runtime.UI;
|
||||||
using EscapeRoomEngine.Engine.Runtime.Utilities;
|
using EscapeRoomEngine.Engine.Runtime.Utilities;
|
||||||
using NaughtyAttributes;
|
using NaughtyAttributes;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@@ -27,9 +28,10 @@ namespace EscapeRoomEngine.Engine.Runtime
|
|||||||
|
|
||||||
public int NumberOfRooms => _rooms.Count;
|
public int NumberOfRooms => _rooms.Count;
|
||||||
public IOption<Room> CurrentRoom => NumberOfRooms > 0 ? Some<Room>.Of(_rooms[^1]) : None<Room>.New();
|
public IOption<Room> CurrentRoom => NumberOfRooms > 0 ? Some<Room>.Of(_rooms[^1]) : None<Room>.New();
|
||||||
|
public float EstimatedTimeRemaining { get; private set; }
|
||||||
|
|
||||||
private readonly List<Room> _rooms = new();
|
private readonly List<Room> _rooms = new();
|
||||||
private List<PuzzleModuleDescription> _puzzles;
|
private List<PuzzleModuleDescription> _availablePuzzles, _plannedPuzzles;
|
||||||
private GameObject _playSpaceOrigin;
|
private GameObject _playSpaceOrigin;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
@@ -38,7 +40,8 @@ namespace EscapeRoomEngine.Engine.Runtime
|
|||||||
|
|
||||||
Measure.Clear();
|
Measure.Clear();
|
||||||
|
|
||||||
_puzzles = new List<PuzzleModuleDescription>(theme.puzzleTypes);
|
_availablePuzzles = new List<PuzzleModuleDescription>(theme.puzzleTypes);
|
||||||
|
_plannedPuzzles = new List<PuzzleModuleDescription>(_availablePuzzles);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
@@ -70,6 +73,7 @@ namespace EscapeRoomEngine.Engine.Runtime
|
|||||||
Instantiate(theme.environment, room.roomObject.transform, false);
|
Instantiate(theme.environment, room.roomObject.transform, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GameControl.Instance.TimeInRoom = 0;
|
||||||
UpdateUI();
|
UpdateUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,9 +83,8 @@ namespace EscapeRoomEngine.Engine.Runtime
|
|||||||
var tries = 0;
|
var tries = 0;
|
||||||
Space space;
|
Space space;
|
||||||
Passage exit = null;
|
Passage exit = null;
|
||||||
|
var puzzle = PlanPuzzles();
|
||||||
|
|
||||||
var puzzle = _puzzles.PopRandomElement();
|
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
tries++;
|
tries++;
|
||||||
@@ -91,7 +94,7 @@ namespace EscapeRoomEngine.Engine.Runtime
|
|||||||
space = new Space(room, entrance);
|
space = new Space(room, entrance);
|
||||||
|
|
||||||
// add exit
|
// add exit
|
||||||
if (_puzzles.Count > 0)
|
if (_plannedPuzzles.Count > 0)
|
||||||
{
|
{
|
||||||
var exitDoor = new DoorModule(space, theme.exitDoorTypes.RandomElement());
|
var exitDoor = new DoorModule(space, theme.exitDoorTypes.RandomElement());
|
||||||
if (!space.AddModuleWithRequirements(exitDoor))
|
if (!space.AddModuleWithRequirements(exitDoor))
|
||||||
@@ -116,6 +119,19 @@ namespace EscapeRoomEngine.Engine.Runtime
|
|||||||
room.AddSpace(space, exit);
|
room.AddSpace(space, exit);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Updates the list of puzzles planned for this run and returns the puzzle to put in the next room.
|
||||||
|
/// </summary>
|
||||||
|
private PuzzleModuleDescription PlanPuzzles()
|
||||||
|
{
|
||||||
|
|
||||||
|
var nextPuzzle = _plannedPuzzles.PopRandomElement();
|
||||||
|
|
||||||
|
EstimatedTimeRemaining = Measure.AverageTime(_plannedPuzzles);
|
||||||
|
|
||||||
|
return nextPuzzle;
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public void HidePreviousRoom(bool destroy = true)
|
public void HidePreviousRoom(bool destroy = true)
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using EscapeRoomEngine.Engine.Runtime.Modules;
|
using EscapeRoomEngine.Engine.Runtime.Modules;
|
||||||
using EscapeRoomEngine.Engine.Runtime.Utilities;
|
using EscapeRoomEngine.Engine.Runtime.Utilities;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@@ -17,6 +18,13 @@ namespace EscapeRoomEngine.Engine.Runtime.Measurements
|
|||||||
private static Dictionary<int, PuzzleMeasurement> _runningMeasurements;
|
private static Dictionary<int, PuzzleMeasurement> _runningMeasurements;
|
||||||
private static Session _currentSession;
|
private static Session _currentSession;
|
||||||
|
|
||||||
|
public static float AverageTime(IEnumerable<PuzzleModuleDescription> puzzles) =>
|
||||||
|
puzzles.Sum(puzzle => PuzzleStorage.Instance.Load(puzzle).AverageTimeToSolve);
|
||||||
|
public static float AverageTime(PuzzleModuleDescription puzzle) =>
|
||||||
|
PuzzleStorage.Instance.Load(puzzle).AverageTimeToSolve;
|
||||||
|
public static float AverageTime(Room room) =>
|
||||||
|
room.puzzles.Sum(puzzle => AverageTime((PuzzleModuleDescription)puzzle.description));
|
||||||
|
|
||||||
public static void StartMeasuring(PuzzleModuleDescription puzzle)
|
public static void StartMeasuring(PuzzleModuleDescription puzzle)
|
||||||
{
|
{
|
||||||
_runningMeasurements[puzzle.Id] = new PuzzleMeasurement
|
_runningMeasurements[puzzle.Id] = new PuzzleMeasurement
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ namespace EscapeRoomEngine.Engine.Runtime.Measurements
|
|||||||
|
|
||||||
private Puzzle LoadOrNew(PuzzleModuleDescription puzzle) => _realm.Find<Puzzle>(puzzle.Id) ?? New(puzzle);
|
private Puzzle LoadOrNew(PuzzleModuleDescription puzzle) => _realm.Find<Puzzle>(puzzle.Id) ?? New(puzzle);
|
||||||
|
|
||||||
private Puzzle Load(PuzzleModuleDescription puzzle) => _realm.Find<Puzzle>(puzzle.Id);
|
public Puzzle Load(PuzzleModuleDescription puzzle) => _realm.Find<Puzzle>(puzzle.Id);
|
||||||
|
|
||||||
public void Delete(PuzzleModuleDescription puzzle)
|
public void Delete(PuzzleModuleDescription puzzle)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -13,11 +13,11 @@ namespace EscapeRoomEngine.Engine.Runtime
|
|||||||
{
|
{
|
||||||
internal Passage entrance, exit;
|
internal Passage entrance, exit;
|
||||||
internal GameObject roomObject;
|
internal GameObject roomObject;
|
||||||
|
internal readonly List<PuzzleModule> puzzles = new();
|
||||||
|
|
||||||
internal bool LastRoom => exit == null;
|
internal bool LastRoom => exit == null;
|
||||||
|
|
||||||
private readonly List<Space> _spaces = new();
|
private readonly List<Space> _spaces = new();
|
||||||
private readonly List<PuzzleModule> _puzzles = new();
|
|
||||||
private readonly List<DoorModule> _doors = new();
|
private readonly List<DoorModule> _doors = new();
|
||||||
|
|
||||||
internal Room(Passage entrance)
|
internal Room(Passage entrance)
|
||||||
@@ -38,8 +38,8 @@ namespace EscapeRoomEngine.Engine.Runtime
|
|||||||
{
|
{
|
||||||
Logger.Log($"Skipping {this}...", LogType.PuzzleFlow);
|
Logger.Log($"Skipping {this}...", LogType.PuzzleFlow);
|
||||||
|
|
||||||
_puzzles.ForEach(puzzle => puzzle.PuzzleState.Solve());
|
puzzles.ForEach(puzzle => puzzle.PuzzleState.Solve());
|
||||||
if (_puzzles.Count == 0 && !LastRoom)
|
if (puzzles.Count == 0 && !LastRoom)
|
||||||
{
|
{
|
||||||
exit.fromOut.DoorState.Unlock();
|
exit.fromOut.DoorState.Unlock();
|
||||||
}
|
}
|
||||||
@@ -52,7 +52,7 @@ namespace EscapeRoomEngine.Engine.Runtime
|
|||||||
|
|
||||||
internal void AddPuzzle(PuzzleModule puzzle)
|
internal void AddPuzzle(PuzzleModule puzzle)
|
||||||
{
|
{
|
||||||
_puzzles.Add(puzzle);
|
puzzles.Add(puzzle);
|
||||||
puzzle.PuzzleState.PuzzleEvent += OnPuzzleEvent;
|
puzzle.PuzzleState.PuzzleEvent += OnPuzzleEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ namespace EscapeRoomEngine.Engine.Runtime
|
|||||||
{
|
{
|
||||||
GameControl.Instance.StopGame();
|
GameControl.Instance.StopGame();
|
||||||
}
|
}
|
||||||
else if (_puzzles.All(p => p.PuzzleState.Solved))
|
else if (puzzles.All(p => p.PuzzleState.Solved))
|
||||||
{
|
{
|
||||||
exit.fromOut.DoorState.Unlock();
|
exit.fromOut.DoorState.Unlock();
|
||||||
}
|
}
|
||||||
@@ -87,7 +87,7 @@ namespace EscapeRoomEngine.Engine.Runtime
|
|||||||
break;
|
break;
|
||||||
// start measurements on every puzzle as soon as the player enters the last room
|
// start measurements on every puzzle as soon as the player enters the last room
|
||||||
case DoorEventType.ExitedFrom when door.Equals(entrance.toIn) && Engine.Instance.CurrentRoom.Contains(this):
|
case DoorEventType.ExitedFrom when door.Equals(entrance.toIn) && Engine.Instance.CurrentRoom.Contains(this):
|
||||||
_puzzles.ForEach(puzzle => Measure.StartMeasuring((PuzzleModuleDescription)puzzle.description));
|
puzzles.ForEach(puzzle => Measure.StartMeasuring((PuzzleModuleDescription)puzzle.description));
|
||||||
Engine.Instance.HidePreviousRoom();
|
Engine.Instance.HidePreviousRoom();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,24 +19,27 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
|||||||
[BoxGroup("Internal")] [SerializeField]
|
[BoxGroup("Internal")] [SerializeField]
|
||||||
private Button startButton, stopButton, pauseButton, addTimeButton, removeTimeButton;
|
private Button startButton, stopButton, pauseButton, addTimeButton, removeTimeButton;
|
||||||
[BoxGroup("Internal")] [SerializeField]
|
[BoxGroup("Internal")] [SerializeField]
|
||||||
private Text timeText, targetTimeText, estimateTimeText;
|
private Text timeText, roomTimeText, estimateTimeText, targetTimeText;
|
||||||
[BoxGroup("Internal")] [SerializeField]
|
[BoxGroup("Internal")] [SerializeField]
|
||||||
private float uiUpdateInterval = 1;
|
private float uiUpdateInterval = 1;
|
||||||
|
|
||||||
[HideInInspector] public GameState gameState = GameState.Stopped;
|
[HideInInspector] public GameState gameState = GameState.Stopped;
|
||||||
|
|
||||||
private float _timeElapsed, _targetTime;
|
public float TimeElapsed { get; private set; }
|
||||||
|
public float TimeInRoom { get; set; }
|
||||||
|
public float TargetTime { get; private set; }
|
||||||
|
|
||||||
private float _previousUIUpdate;
|
private float _previousUIUpdate;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
Instance = this;
|
Instance = this;
|
||||||
|
|
||||||
_targetTime = Engine.Instance.initialTargetTime;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
|
TargetTime = Engine.Instance.initialTargetTime;
|
||||||
|
|
||||||
SetTimeText();
|
SetTimeText();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -45,7 +48,8 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
|||||||
// update time
|
// update time
|
||||||
if (gameState == GameState.Running)
|
if (gameState == GameState.Running)
|
||||||
{
|
{
|
||||||
_timeElapsed += Time.deltaTime;
|
TimeElapsed += Time.deltaTime;
|
||||||
|
TimeInRoom += Time.deltaTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
// update ui
|
// update ui
|
||||||
@@ -61,7 +65,7 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
|||||||
stopButton.interactable = gameState != GameState.Stopped;
|
stopButton.interactable = gameState != GameState.Stopped;
|
||||||
pauseButton.interactable = gameState is GameState.Running or GameState.Paused;
|
pauseButton.interactable = gameState is GameState.Running or GameState.Paused;
|
||||||
addTimeButton.interactable = gameState != GameState.Stopped;
|
addTimeButton.interactable = gameState != GameState.Stopped;
|
||||||
removeTimeButton.interactable = gameState != GameState.Stopped && _targetTime >= _timeElapsed + 60;
|
removeTimeButton.interactable = gameState != GameState.Stopped && TargetTime >= TimeElapsed + 60;
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Time Controls
|
#region Time Controls
|
||||||
@@ -70,7 +74,7 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
|||||||
{
|
{
|
||||||
gameState = GameState.Running;
|
gameState = GameState.Running;
|
||||||
|
|
||||||
_timeElapsed = 0;
|
TimeElapsed = 0;
|
||||||
|
|
||||||
// generate the first room if it hasn't been generated yet
|
// generate the first room if it hasn't been generated yet
|
||||||
Engine.Instance.CurrentRoom.Match(none: () => Engine.Instance.GenerateRoom());
|
Engine.Instance.CurrentRoom.Match(none: () => Engine.Instance.GenerateRoom());
|
||||||
@@ -84,7 +88,7 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
|||||||
if (gameState != GameState.Stopped)
|
if (gameState != GameState.Stopped)
|
||||||
{
|
{
|
||||||
// was running
|
// was running
|
||||||
Measure.EndSession(_timeElapsed);
|
Measure.EndSession(TimeElapsed);
|
||||||
}
|
}
|
||||||
|
|
||||||
gameState = GameState.Stopped;
|
gameState = GameState.Stopped;
|
||||||
@@ -112,17 +116,25 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
|||||||
/// <param name="seconds">The amount of seconds that will be added to the time. Can be negative to remove time.</param>
|
/// <param name="seconds">The amount of seconds that will be added to the time. Can be negative to remove time.</param>
|
||||||
public void ChangeTime(int seconds)
|
public void ChangeTime(int seconds)
|
||||||
{
|
{
|
||||||
if (_targetTime + seconds >= _timeElapsed)
|
if (TargetTime + seconds >= TimeElapsed)
|
||||||
{
|
{
|
||||||
_targetTime += seconds;
|
TargetTime += seconds;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetTimeText()
|
private void SetTimeText()
|
||||||
{
|
{
|
||||||
timeText.text = TimeToText(_timeElapsed);
|
timeText.text = TimeToText(TimeElapsed);
|
||||||
targetTimeText.text = TimeToText(_targetTime);
|
roomTimeText.text = TimeToText(TimeInRoom);
|
||||||
estimateTimeText.text = TimeToText(_timeElapsed);
|
targetTimeText.text = TimeToText(TargetTime);
|
||||||
|
|
||||||
|
Engine.Instance.CurrentRoom.Match(some: room =>
|
||||||
|
{
|
||||||
|
estimateTimeText.text = TimeToText(
|
||||||
|
TimeElapsed - TimeInRoom
|
||||||
|
+ Mathf.Max(TimeInRoom, Measure.AverageTime(room))
|
||||||
|
+ Engine.Instance.EstimatedTimeRemaining);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string TimeToText(float time) => $"{time.ToTimeSpan():mm':'ss}";
|
private static string TimeToText(float time) => $"{time.ToTimeSpan():mm':'ss}";
|
||||||
|
|||||||
@@ -567,7 +567,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
maxSpaceGenerationTries: 1000
|
maxSpaceGenerationTries: 1000
|
||||||
targetTime: 300
|
initialTargetTime: 300
|
||||||
roomOffset: {x: 0, y: 1000, z: 0}
|
roomOffset: {x: 0, y: 1000, z: 0}
|
||||||
theme: {fileID: 11400000, guid: 568d9a7d70f3edb4cb6db66a0010f105, type: 2}
|
theme: {fileID: 11400000, guid: 568d9a7d70f3edb4cb6db66a0010f105, type: 2}
|
||||||
--- !u!4 &1568048335
|
--- !u!4 &1568048335
|
||||||
@@ -598,7 +598,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
loggingEnabled: 1
|
loggingEnabled: 1
|
||||||
typeFilter: 0000000009000000
|
typeFilter: 00000000
|
||||||
--- !u!114 &1568048339
|
--- !u!114 &1568048339
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
Reference in New Issue
Block a user