diff --git a/Assets/Resources/Prefabs/UI/Facts/Factscreen.prefab b/Assets/Resources/Prefabs/UI/Facts/Factscreen.prefab index 06736f98d68a5a483c29bd8cb80a957ba9a67e33..7b119fb2a243aa912d870559f3e1c0e9d306b3db 100644 --- a/Assets/Resources/Prefabs/UI/Facts/Factscreen.prefab +++ b/Assets/Resources/Prefabs/UI/Facts/Factscreen.prefab @@ -342,6 +342,7 @@ MonoBehaviour: - FactWrappedCRTP`1[T] - FunctionCallFact - FunctionFact + - GeneralFact - LineFact - ListFact - OnCircleFact @@ -355,6 +356,7 @@ MonoBehaviour: - RealLitFact - RightAngleFact - TestFact + - TriangleFact - TruncatedConeVolumeFact - TupleFact - UnEqualCirclesFact @@ -376,6 +378,7 @@ MonoBehaviour: - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3} - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3} - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3} + - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3} - {fileID: 4221381813544557775, guid: 8106c748f1aeb084d87fdc71dd009b67, type: 3} - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3} - {fileID: 2115817999818309900, guid: df93bd4d977e4ab42a626f7bd06596d6, type: 3} @@ -389,6 +392,7 @@ MonoBehaviour: - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3} - {fileID: 3080888058940174091, guid: 389563c758e86d848b3341576b90b7e4, type: 3} - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3} + - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3} - {fileID: 4123133807278660472, guid: 9d0019fa4b5725a49bdfc78c4d67661e, type: 3} - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3} - {fileID: 5769925203401971992, guid: 047cd3a517f781846a1f983394b4bb7b, type: 3} @@ -503,7 +507,7 @@ RectTransform: 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: -5880} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 1} --- !u!114 &8823539307371861913 diff --git a/Assets/Resources/Prefabs/UI/Scrolls/ScollFactContainer.prefab b/Assets/Resources/Prefabs/UI/Scrolls/ScollFactContainer.prefab index 6fd3e3cc8fb4ab4410d334fdd848683102b1443f..7aa6445cc30b8d5f014a9a154baf608facdaf80d 100644 --- a/Assets/Resources/Prefabs/UI/Scrolls/ScollFactContainer.prefab +++ b/Assets/Resources/Prefabs/UI/Scrolls/ScollFactContainer.prefab @@ -1,5 +1,141 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &6483299340260834509 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8620863904218442413} + - component: {fileID: 2003364919276171037} + - component: {fileID: 877914440072701705} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8620863904218442413 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6483299340260834509} + 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: 7249550241351237421} + m_RootOrder: 0 + 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: 90, y: 90} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2003364919276171037 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6483299340260834509} + m_CullTransparentMesh: 1 +--- !u!114 &877914440072701705 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6483299340260834509} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: Select for manual input + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 3bce71b32a876f54e96869a29b46e150, type: 2} + m_sharedMaterial: {fileID: 5290021301827705759, guid: 3bce71b32a876f54e96869a29b46e150, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 19.5 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 1 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &8260792079148133554 GameObject: m_ObjectHideFlags: 0 @@ -11,6 +147,7 @@ GameObject: - component: {fileID: 7249550241351237421} - component: {fileID: 3905790850577996765} - component: {fileID: 1086451024575209643} + - component: {fileID: 490507489304150624} m_Layer: 5 m_Name: ScollFactContainer m_TagString: Untagged @@ -29,7 +166,8 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 8620863904218442413} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -45,7 +183,7 @@ CanvasRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8260792079148133554} - m_CullTransparentMesh: 0 + m_CullTransparentMesh: 1 --- !u!114 &1086451024575209643 MonoBehaviour: m_ObjectHideFlags: 0 @@ -76,3 +214,101 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!114 &490507489304150624 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8260792079148133554} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, 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: 1086451024575209643} + m_TextViewport: {fileID: 7249550241351237421} + m_TextComponent: {fileID: 0} + m_Placeholder: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_VerticalScrollbarEventHandler: {fileID: 0} + m_LayoutGroup: {fileID: 0} + m_ScrollSensitivity: 1 + m_ContentType: 3 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 2 + m_LineType: 0 + m_HideMobileInput: 0 + m_HideSoftKeyboard: 0 + m_CharacterValidation: 3 + m_RegexValue: + m_GlobalPointSize: 600 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_OnSelect: + m_PersistentCalls: + m_Calls: [] + m_OnDeselect: + m_PersistentCalls: + m_Calls: [] + m_OnTextSelection: + m_PersistentCalls: + m_Calls: [] + m_OnEndTextSelection: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_OnTouchScreenKeyboardStatusChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: Select for manual input + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_RichText: 0 + m_GlobalFontAsset: {fileID: 0} + m_OnFocusSelectAll: 1 + m_ResetOnDeActivation: 1 + m_RestoreOriginalTextOnEscape: 1 + m_isRichTextEditingAllowed: 0 + m_LineLimit: 0 + m_InputValidator: {fileID: 0} diff --git a/Assets/Resources/Prefabs/UI/Scrolls/ScrollParameterDisplay.prefab b/Assets/Resources/Prefabs/UI/Scrolls/ScrollParameterDisplay.prefab index 1b08e37322a5cc360d3177c0ab5671c20da104b2..902571ad50de6225c66a6862b25f3bd15a8762c0 100644 --- a/Assets/Resources/Prefabs/UI/Scrolls/ScrollParameterDisplay.prefab +++ b/Assets/Resources/Prefabs/UI/Scrolls/ScrollParameterDisplay.prefab @@ -212,6 +212,81 @@ PrefabInstance: propertyPath: availableHintButtonColor.r value: 0.9529412 objectReference: {fileID: 0} + - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_Text + value: Select + objectReference: {fileID: 0} + - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_LineType + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_InputType + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_ContentType + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_KeyboardType + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_TextComponent + value: + objectReference: {fileID: 8028679491023155097} + - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_CharacterValidation + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_OnEndEdit.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_OnEndEdit.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_OnEndEdit.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 6955576155660626993} + - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_OnEndEdit.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_OnEndEdit.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: OnTextChange + objectReference: {fileID: 0} + - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_OnEndEdit.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: RenderedScrollFact, Assembly-CSharp + objectReference: {fileID: 0} + - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_OnEndEdit.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} - target: {fileID: 1686984722580339795, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, type: 3} propertyPath: m_fontSize @@ -269,6 +344,31 @@ PrefabInstance: propertyPath: m_firstOverflowCharacterIndex value: -1 objectReference: {fileID: 0} + - target: {fileID: 2032894965250265625, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_text + value: Select + objectReference: {fileID: 0} + - target: {fileID: 2032894965250265625, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_fontSize + value: 31.8 + objectReference: {fileID: 0} + - target: {fileID: 2032894965250265625, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_enableWordWrapping + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3274989769232368477, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_text + value: "Select for manual input\u200B" + objectReference: {fileID: 0} + - target: {fileID: 3274989769232368477, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + propertyPath: m_fontSize + value: 190 + objectReference: {fileID: 0} - target: {fileID: 5738028260646118123, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, type: 3} propertyPath: m_IsActive @@ -317,6 +417,9 @@ PrefabInstance: m_RemovedComponents: - {fileID: 6410099383612658499, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, type: 3} - {fileID: 3165625469853059737, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, type: 3} + - {fileID: 3274989769232368477, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, type: 3} + - {fileID: 3622042221310551250, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, type: 3} + - {fileID: 193598053487930963, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, type: 3} m_SourcePrefab: {fileID: 100100000, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, type: 3} --- !u!1 &3132340118756441274 stripped GameObject: @@ -421,3 +524,27 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &6955576155660626993 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 1430730640409366961, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + m_PrefabInstance: {fileID: 8313031688112979328} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 93aede1a33263ef44a354960618fe997, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &8028679491023155097 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 2032894965250265625, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, + type: 3} + m_PrefabInstance: {fileID: 8313031688112979328} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scripts/InteractionEngine/FactHandling/FactWrapper/RenderedScrollFact.cs b/Assets/Scripts/InteractionEngine/FactHandling/FactWrapper/RenderedScrollFact.cs index 058a8badc86a23dc6a879a3c277e511e5074b724..26f2efd33a8f2b8f40da052497cd403ea1ffa7ae 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/FactWrapper/RenderedScrollFact.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/FactWrapper/RenderedScrollFact.cs @@ -1,11 +1,11 @@ -using MoreLinq; -using REST_JSON_API; +using REST_JSON_API; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.EventSystems; using static CommunicationEvents; +[RequireComponent(typeof(TMP_InputField))] public class RenderedScrollFact : FactObjectUI, IDropHandler { #region Serializable @@ -14,7 +14,7 @@ public class RenderedScrollFact : FactObjectUI, IDropHandler #endregion Serializable #region Properties - public int ID + public int ID => Scroll.requiredFacts.FindIndex(f => f.@ref.uri == ScrollFactURI); public Scroll Scroll @@ -44,27 +44,60 @@ public string ScrollFactURI public string ScrollFactLabel => LabelMesh.text; + + private TMP_InputField _InputField; + + public string RequiredType + => Scroll.requiredFacts[ID].getType(); #endregion Properties - protected override void FactUpdated() + protected override void _Awake() { - _URI ??= ScrollFactURI; - Destroy(_Payload); + base._Awake(); - NewAssignmentEvent.Invoke(); + _InputField = gameObject.GetComponent<TMP_InputField>(); + _InputField.textComponent.gameObject.SetActive(true); + } + protected override void FactUpdated() + { + _URI ??= ScrollFactURI; if (VerboseURI) Debug.Log(nameof(RenderedScrollFact) + " recieved Fact: " + URI); + NewAssignmentEvent.Invoke(); + ResetPayload(); base.FactUpdated(); } - protected override void _DeleteFactEvent(Fact fact) + private void ResetPayload() + { + Destroy(_Payload); + + _InputField.enabled = _InputField.textComponent.enabled = + !IsSet + && (RequiredType == MMTConstants.RealLit + || string.IsNullOrEmpty(RequiredType)); + + _InputField.SetTextWithoutNotify("R"); + + if (DisplayFacts.displayedFacts.TryGetValue(URI, out GameObject fact_display)) + { + _Payload = // has to be: ..., Vector3.zero, Quaternion.identity => SetParent + Instantiate(fact_display, Vector3.zero, Quaternion.identity); + + _Payload.transform.SetParent(gameObject.transform, worldPositionStays: false); + _Payload.GetComponent<CanvasGroup>().blocksRaycasts = true; // Reverse drag effect, if any + } + } + + protected override void _DeleteFactEvent(Fact fact) => Fact = null; // calls NewAssignmentEvent.Invoke(); protected override void _OnEnable() { HintAvailableEvent.AddListener(OnHintAvailable); + ResetPayload(); } protected override void _OnDisable() @@ -77,6 +110,8 @@ public void Populate(Scroll scroll, string scroll_fact_uri) _Scroll = scroll; _ScrollFactURI = scroll_fact_uri; _URI = ScrollFactURI; + + ResetPayload(); } private void SetLabel(string label) @@ -94,6 +129,14 @@ public void OnHintAvailable(List<string> uris) HintButton.SetActive(uris.Contains(ScrollFactURI)); } + public void OnTextChange() + { + if (!float.TryParse(_InputField.text, out float input)) + return; + + Fact = FactAdder.AddFactIfNotFound(new RealLitFact(input), out _, false, null, "Manual User Input"); + } + #region DropHandling public FactObjectUI Payload => _Payload == null ? null : _Payload.GetComponent<FactObjectUI>(); @@ -114,12 +157,6 @@ public void SetByFactObject(FactObjectUI fOUI) Debug.Log(Fact.GetLabel(StageStatic.stage.factState) + " was dropped on " + gameObject.name + " " + (ID + 1) + "/" + ScrollDetails.ParameterDisplays.Count + " label: " + ScrollFactLabel); - - _Payload = // has to be: ..., Vector3.zero, Quaternion.identity => SetParent - Instantiate(fOUI.gameObject, Vector3.zero, Quaternion.identity); - - _Payload.transform.SetParent(gameObject.transform, worldPositionStays: false); - _Payload.GetComponent<CanvasGroup>().blocksRaycasts = true; // Reverse drag effect } #endregion DropHandling } diff --git a/Assets/Scripts/InventoryStuff/DisplayScrolls.cs b/Assets/Scripts/InventoryStuff/DisplayScrolls.cs index b849094c7f25392fb020a33a2a2e7f1c09531de4..71e528c558185f120415f69e560f36f830f8f0be 100644 --- a/Assets/Scripts/InventoryStuff/DisplayScrolls.cs +++ b/Assets/Scripts/InventoryStuff/DisplayScrolls.cs @@ -42,6 +42,6 @@ void BuildScrollGUI() REST_JSON_API.Scroll preferredStartScroll = AllowedScrolls.Find(x => x.label.Equals(preferredStartScrollName)); if (preferredStartScroll != null) - this.DetailScreen.GetComponent<ScrollDetails>().SetScroll(preferredStartScroll); + ScrollDetails.Instance.SetScroll(preferredStartScroll); } } diff --git a/Assets/Scripts/InventoryStuff/ScrollDetails.cs b/Assets/Scripts/InventoryStuff/ScrollDetails.cs index 6c3d57f3ef437925b028cd7448e3b7556c73d475..42d1b5f873630f7a223088ded2721d888f6ba94b 100644 --- a/Assets/Scripts/InventoryStuff/ScrollDetails.cs +++ b/Assets/Scripts/InventoryStuff/ScrollDetails.cs @@ -116,8 +116,9 @@ public void SetScroll(Scroll scroll_to_set) } DynamicScrollInQue = false; // unblock - NewAssignmentEvent.Invoke(); // init display } + + NewAssignmentEvent.Invoke(); // init display } public bool SetNextEmptyTo(FactObjectUI activator) @@ -216,8 +217,9 @@ IEnumerator __GeneratePushoutFacts(List<MMTFact> pushoutFacts) old_to_new.Add(new_fact.Id, added.Id); } - yield return null; } + + yield return null; } Debug.Log($"Facts parsed within {(System.DateTime.UtcNow - parseTime).TotalMilliseconds}ms"); diff --git a/Assets/Scripts/MMTServer/CommunicationProtocoll/MMTConstants.cs b/Assets/Scripts/MMTServer/CommunicationProtocoll/MMTConstants.cs index 268a1753516100f995e72939a1533d56521fbc50..827aacce90faea860be75e06aece7c307c2b289d 100644 --- a/Assets/Scripts/MMTServer/CommunicationProtocoll/MMTConstants.cs +++ b/Assets/Scripts/MMTServer/CommunicationProtocoll/MMTConstants.cs @@ -130,6 +130,9 @@ public static class MMTConstants public const string ScrollCannonBallT3D = "http://mathhub.info/FrameIT/frameworld?T3DBouncingScroll"; public const string ScrollRiver = "http://mathhub.info/FrameIT/frameworld?RiverScroll"; + /// <summary> + /// <remark>Needs to map to primitives where possible!</remark> + /// </summary> public static readonly IReadOnlyDictionary<string, Type> OMS_TO_TYPE = new Dictionary<string, Type>() { { TypeType, diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 9b79ad598c9f90112c2db373a83f95c6f4ac4ba9..07da9c6fea11c56a4f6340793b4dbf5aab3a4ab1 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -6,25 +6,25 @@ EditorUserSettings: serializedVersion: 4 m_ConfigSettings: RecentlyUsedSceneGuid-0: - value: 5b5200520604510a5b5b587642270744124e4e7a7e7f2764742f1b61b0e6613a + value: 5354015500565a0f5458597740265c4441164c2e7b7072637f7e4e35b5b5643d flags: 0 RecentlyUsedSceneGuid-1: - value: 5354015500565a0f5458597740265c4441164c2e7b7072637f7e4e35b5b5643d + value: 01550655000d5008580a5e7412710e44464e4129787125667a7a1f37e0e66d39 flags: 0 RecentlyUsedSceneGuid-2: - value: 01550655000d5008580a5e7412710e44464e4129787125667a7a1f37e0e66d39 + value: 5a530c5653060c0a0c0b5f2140770f4443154979297a76347c2a1e30b5b33068 flags: 0 RecentlyUsedSceneGuid-3: - value: 5a530c5653060c0a0c0b5f2140770f4443154979297a76347c2a1e30b5b33068 + value: 530055020302595d550a0e7447220b4415161a7c2f782432282a4f31e6b93068 flags: 0 RecentlyUsedSceneGuid-4: - value: 530055020302595d550a0e7447220b4415161a7c2f782432282a4f31e6b93068 + value: 0702005254070d5d5d5a5d7145210f444116487c282d7f357e7a1e66b6b0313a flags: 0 RecentlyUsedSceneGuid-5: - value: 0702005254070d5d5d5a5d7145210f444116487c282d7f357e7a1e66b6b0313a + value: 00540c020302515f0b0f5f2711265c44171519797e7c7463787d4d63e1b8303c flags: 0 RecentlyUsedSceneGuid-6: - value: 00540c020302515f0b0f5f2711265c44171519797e7c7463787d4d63e1b8303c + value: 0502505152005e020c0d0e2446275e44144f19287f707e362c7c4b60b2b9353c flags: 0 RecentlyUsedSceneGuid-7: value: 520107035d0c510c080d547215760b4413154d2e7a2c226129281c65e3b63768