diff --git a/3d Prototyp/Assets/Confetti FX/Upgrade/Confetti FX URP Upgrade (2019.4 LTS +).unitypackage.meta b/3d Prototyp/Assets/Audio.meta
similarity index 67%
rename from 3d Prototyp/Assets/Confetti FX/Upgrade/Confetti FX URP Upgrade (2019.4 LTS +).unitypackage.meta
rename to 3d Prototyp/Assets/Audio.meta
index 51cb9f68..e9de2181 100644
--- a/3d Prototyp/Assets/Confetti FX/Upgrade/Confetti FX URP Upgrade (2019.4 LTS +).unitypackage.meta
+++ b/3d Prototyp/Assets/Audio.meta
@@ -1,5 +1,6 @@
fileFormatVersion: 2
-guid: 73951a4b66414d24999d439134425a40
+guid: 8acbb259ea6cd3646b8011b843d9d40e
+folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
diff --git a/3d Prototyp/Assets/Audio/Voices.meta b/3d Prototyp/Assets/Audio/Voices.meta
new file mode 100644
index 00000000..ff2ab868
--- /dev/null
+++ b/3d Prototyp/Assets/Audio/Voices.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7ed699d043b764e4a8f0dcea8eaf8efb
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/3d Prototyp/Assets/Audio/Voices/Gottfried.meta b/3d Prototyp/Assets/Audio/Voices/Gottfried.meta
new file mode 100644
index 00000000..af9f2552
--- /dev/null
+++ b/3d Prototyp/Assets/Audio/Voices/Gottfried.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ef3ce3e956711194f80fafa832fe7655
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-01.wav b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-01.wav
new file mode 100644
index 00000000..79f26ce6
Binary files /dev/null and b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-01.wav differ
diff --git a/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-01.wav.meta b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-01.wav.meta
new file mode 100644
index 00000000..140e74a8
--- /dev/null
+++ b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-01.wav.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 9d82386c43ce7944ab7a78305ae045c5
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 7
+ defaultSettings:
+ serializedVersion: 2
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ preloadAudioData: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-02.wav b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-02.wav
new file mode 100644
index 00000000..621c9e99
Binary files /dev/null and b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-02.wav differ
diff --git a/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-02.wav.meta b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-02.wav.meta
new file mode 100644
index 00000000..0a6c4367
--- /dev/null
+++ b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-02.wav.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: e169dd8360db2cd4dadd12d44c50beab
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 7
+ defaultSettings:
+ serializedVersion: 2
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ preloadAudioData: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-03.wav b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-03.wav
new file mode 100644
index 00000000..bdafe894
Binary files /dev/null and b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-03.wav differ
diff --git a/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-03.wav.meta b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-03.wav.meta
new file mode 100644
index 00000000..cb938c68
--- /dev/null
+++ b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-03.wav.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: dcc846c8a9b316547bf051a016e49fa0
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 7
+ defaultSettings:
+ serializedVersion: 2
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ preloadAudioData: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-04.wav b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-04.wav
new file mode 100644
index 00000000..72819178
Binary files /dev/null and b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-04.wav differ
diff --git a/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-04.wav.meta b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-04.wav.meta
new file mode 100644
index 00000000..0b61061d
--- /dev/null
+++ b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-04.wav.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 32384529849285849a7aa370e502046f
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 7
+ defaultSettings:
+ serializedVersion: 2
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ preloadAudioData: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-05.wav b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-05.wav
new file mode 100644
index 00000000..eb6e0418
Binary files /dev/null and b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-05.wav differ
diff --git a/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-05.wav.meta b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-05.wav.meta
new file mode 100644
index 00000000..61d58cb0
--- /dev/null
+++ b/3d Prototyp/Assets/Audio/Voices/Gottfried/Unmöglich-05.wav.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 1cd31e4d8fd50b6448f51db8abe18403
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 7
+ defaultSettings:
+ serializedVersion: 2
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ preloadAudioData: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/3d Prototyp/Assets/Data.meta b/3d Prototyp/Assets/Data.meta
new file mode 100644
index 00000000..a90f7915
--- /dev/null
+++ b/3d Prototyp/Assets/Data.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6fbd5e104aa038e4598376c813cc20c6
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/3d Prototyp/Assets/Data/GottfriedData.asset b/3d Prototyp/Assets/Data/GottfriedData.asset
new file mode 100644
index 00000000..41bf87cb
--- /dev/null
+++ b/3d Prototyp/Assets/Data/GottfriedData.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 62867debe01c41d89e01687ef2722fcd, type: 3}
+ m_Name: GottfriedData
+ m_EditorClassIdentifier:
+ Say_Impossible:
+ - {fileID: 8300000, guid: 9d82386c43ce7944ab7a78305ae045c5, type: 3}
+ - {fileID: 8300000, guid: e169dd8360db2cd4dadd12d44c50beab, type: 3}
+ - {fileID: 8300000, guid: dcc846c8a9b316547bf051a016e49fa0, type: 3}
+ - {fileID: 8300000, guid: 32384529849285849a7aa370e502046f, type: 3}
+ - {fileID: 8300000, guid: 1cd31e4d8fd50b6448f51db8abe18403, type: 3}
diff --git a/3d Prototyp/Assets/Data/GottfriedData.asset.meta b/3d Prototyp/Assets/Data/GottfriedData.asset.meta
new file mode 100644
index 00000000..6c8c5069
--- /dev/null
+++ b/3d Prototyp/Assets/Data/GottfriedData.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 503e4ea097b9faa4ba6e2ed3906714a5
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/3d Prototyp/Assets/InteractionHandler.cs b/3d Prototyp/Assets/InteractionHandler.cs
new file mode 100644
index 00000000..123efa62
--- /dev/null
+++ b/3d Prototyp/Assets/InteractionHandler.cs
@@ -0,0 +1,174 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using Interaction;
+using JetBrains.Annotations;
+using UnityEngine;
+using UnityEngine.Serialization;
+using Utility;
+
+public class InteractionHandler : MonoBehaviour
+{
+ [SerializeField] private Character _character;
+
+ [FormerlySerializedAs("_pickupRadius")] [SerializeField, Tooltip("Der Radius in dem Gottfried Gegenstände aufheben kann."), Min(0.0f)]
+ private float interactionRadius = 1.5f;
+
+ ///
+ /// Der Radius in dem Gottfried Gegenstände aufheben kann.
+ ///
+ public float InteractionRadius => interactionRadius;
+
+ [FormerlySerializedAs("_pickupCollider")] [SerializeField]
+ private CapsuleCollider _interactionCollider;
+
+ [FormerlySerializedAs("_pickupablesInRange")] [SerializeField]
+ private List _interactionsInRange = new();
+
+ public IReadOnlyList InteractionsInRange => _interactionsInRange;
+
+ private int _selectedActionIndex = 0;
+
+ public Interactible SelectedAction
+ {
+ get
+ {
+ FixSelection();
+
+ return _selectedActionIndex == -1 ? null : InteractionsInRange[_selectedActionIndex];
+ }
+ }
+
+ void Update()
+ {
+ if (Input.GetKeyDown(KeyCode.LeftArrow))
+ {
+ SelectPreviousAction();
+ }
+
+ if (Input.GetKeyDown(KeyCode.RightArrow))
+ {
+ SelectNextAction();
+ }
+
+ if (Input.GetKeyDown(KeyCode.E))
+ {
+ DoInteraction();
+ }
+ }
+
+ private void DoInteraction()
+ {
+ if (InteractionsInRange.Count == 0)
+ return;
+
+ Interactible interactible = SelectedAction;
+
+ if (interactible.IsBlocked())
+ {
+ _character.SayItsImpossible();
+ return;
+ }
+
+ switch (interactible)
+ {
+ case PickupInteractible pickup:
+ UnhighlightPickupable(interactible);
+ _character.PickupItem(pickup);
+ break;
+ case UseInteractible usable:
+ usable.OnUse?.Invoke();
+ break;
+ case GiveItemInteractible giveItemAction:
+ _character.GiveItemTo(giveItemAction.Developer);
+ break;
+ }
+ }
+
+ public void SelectPreviousAction()
+ {
+ _selectedActionIndex--;
+ UpdateSelection();
+ }
+
+ public void SelectNextAction()
+ {
+ _selectedActionIndex++;
+ UpdateSelection();
+ }
+
+ private void FixSelection()
+ {
+ if (_interactionsInRange.Count == 0)
+ {
+ _selectedActionIndex = -1;
+ }
+ else
+ {
+ if (_selectedActionIndex < 0)
+ _selectedActionIndex = InteractionsInRange.Count - 1;
+ else if (_selectedActionIndex >= InteractionsInRange.Count)
+ _selectedActionIndex = 0;
+ }
+ }
+
+ private void UpdateSelection()
+ {
+ FixSelection();
+
+ int index = 0;
+ foreach (Interactible pickupable in _interactionsInRange)
+ {
+ pickupable.SetSelected(index == _selectedActionIndex);
+ index++;
+ }
+ }
+
+ private void OnTriggerEnter(Collider other)
+ {
+ Interactible interactible = other.gameObject.GetComponent();
+
+ if (interactible)
+ {
+ HighlightPickupable(interactible);
+ }
+ }
+
+ void OnTriggerExit(Collider other)
+ {
+ Interactible interactible = other.gameObject.GetComponent();
+
+ if (interactible)
+ {
+ UnhighlightPickupable(interactible);
+ }
+ }
+
+ private void HighlightPickupable(Interactible interactible)
+ {
+ if (!_interactionsInRange.Contains(interactible))
+ _interactionsInRange.Add(interactible);
+
+ interactible.Highlight(true);
+
+ UpdateSelection();
+ }
+
+ private void UnhighlightPickupable(Interactible interactible)
+ {
+ interactible.Highlight(false);
+ _interactionsInRange.Remove(interactible);
+
+ UpdateSelection();
+ }
+
+ // Wird aufgerufen, wenn ein Wert im Editor geändert wird
+ void OnValidate()
+ {
+ if (_interactionCollider)
+ {
+ _interactionCollider.radius = interactionRadius;
+ }
+ }
+}
diff --git a/3d Prototyp/Assets/Pickupper.cs.meta b/3d Prototyp/Assets/InteractionHandler.cs.meta
similarity index 100%
rename from 3d Prototyp/Assets/Pickupper.cs.meta
rename to 3d Prototyp/Assets/InteractionHandler.cs.meta
diff --git a/3d Prototyp/Assets/Pickupable.cs b/3d Prototyp/Assets/Pickupable.cs
deleted file mode 100644
index 4d8d2733..00000000
--- a/3d Prototyp/Assets/Pickupable.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class Pickupable : MonoBehaviour
-{
- [SerializeField]
- private Outline _outline;
-
- [SerializeField]
- private Color _selectedColor = Color.white;
- [SerializeField]
- private Color _highlightColor = Color.yellow;
-
- [SerializeField]
- private GameObject _model;
-
- [SerializeField]
- private string _name;
-
- public GameObject Model => _model;
-
- public string Name => _name;
-
- public void Highlight(bool hightlight)
- {
- _outline.enabled = hightlight;
- _outline.OutlineColor = _highlightColor;
- _outline.OutlineWidth = 2;
- }
-
- public void SetSelected(bool isSelected)
- {
- Highlight(true);
- if (isSelected)
- {
- _outline.OutlineColor = _selectedColor;
- _outline.OutlineWidth = 4;
- }
- }
-}
diff --git a/3d Prototyp/Assets/Pickupper.cs b/3d Prototyp/Assets/Pickupper.cs
deleted file mode 100644
index fce15b9f..00000000
--- a/3d Prototyp/Assets/Pickupper.cs
+++ /dev/null
@@ -1,140 +0,0 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.Serialization;
-using Utility;
-
-public class Pickupper : MonoBehaviour
-{
- [SerializeField] private Character _character;
-
- [SerializeField, Tooltip("Der Radius in dem Gottfried Gegenstände aufheben kann."), Min(0.0f)]
- private float _pickupRadius = 1.5f;
-
- ///
- /// Der Radius in dem Gottfried Gegenstände aufheben kann.
- ///
- public float PickupRadius => _pickupRadius;
-
- [SerializeField]
- private CapsuleCollider _pickupCollider;
-
- [SerializeField]
- private List _pickupablesInRange = new();
-
- public IReadOnlyList PickupablesInRange => _pickupablesInRange;
-
- private int _selectedActionIndex = 0;
-
- public bool CanSelectPrevious => _selectedActionIndex > 0;
- public bool CanSelectNext => _selectedActionIndex < PickupablesInRange.Count - 1;
-
- public Pickupable Selected => PickupablesInRange[_selectedActionIndex];
-
- void Update()
- {
- if (Input.GetKeyDown(KeyCode.LeftArrow))
- {
- SelectPreviousAction();
- }
-
- if (Input.GetKeyDown(KeyCode.RightArrow))
- {
- SelectNextAction();
- }
-
- if (Input.GetKeyDown(KeyCode.E))
- {
- PickUp();
- }
- }
-
- private void PickUp()
- {
- if (PickupablesInRange.Count == 0)
- return;
-
- Pickupable pickupable = Selected;
-
- UnhighlightPickupable(pickupable);
- _character.PickupItem(pickupable);
- }
-
- public void SelectPreviousAction()
- {
- _selectedActionIndex--;
- UpdateSelection();
- }
-
- public void SelectNextAction()
- {
- _selectedActionIndex++;
- UpdateSelection();
- }
-
- private void UpdateSelection()
- {
- if (_pickupablesInRange.Count > 0)
- {
- _selectedActionIndex = Math.Clamp(_selectedActionIndex, 0, PickupablesInRange.Count - 1);
- }
- else
- {
- _selectedActionIndex = 0;
- }
-
- int index = 0;
- foreach (Pickupable pickupable in _pickupablesInRange)
- {
- pickupable.SetSelected(index == _selectedActionIndex);
- index++;
- }
- }
-
- private void OnTriggerEnter(Collider other)
- {
- Pickupable pickupable = other.gameObject.GetComponent();
-
- if (pickupable)
- {
- HighlightPickupable(pickupable);
- }
- }
-
- void OnTriggerExit(Collider other)
- {
- Pickupable pickupable = other.gameObject.GetComponent();
-
- if (pickupable)
- {
- UnhighlightPickupable(pickupable);
- }
- }
-
- private void HighlightPickupable(Pickupable pickupable)
- {
- if (!_pickupablesInRange.Contains(pickupable))
- _pickupablesInRange.Add(pickupable);
-
- pickupable.Highlight(true);
-
- UpdateSelection();
- }
-
- private void UnhighlightPickupable(Pickupable pickupable)
- {
- pickupable.Highlight(false);
- _pickupablesInRange.Remove(pickupable);
- UpdateSelection();
- }
-
- // Wird aufgerufen, wenn ein Wert im Editor geändert wird
- void OnValidate()
- {
- if (_pickupCollider)
- {
- _pickupCollider.radius = _pickupRadius;
- }
- }
-}
diff --git a/3d Prototyp/Assets/Prefabs/Consumables/Pizza_Pickupable.prefab b/3d Prototyp/Assets/Prefabs/Consumables/Pizza_Pickupable.prefab
index cd532a3f..018bdbcd 100644
--- a/3d Prototyp/Assets/Prefabs/Consumables/Pizza_Pickupable.prefab
+++ b/3d Prototyp/Assets/Prefabs/Consumables/Pizza_Pickupable.prefab
@@ -9,7 +9,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 7893531080884699271}
- - component: {fileID: 4280275870243255345}
+ - component: {fileID: 8850766705489312849}
- component: {fileID: 2286779905131135538}
- component: {fileID: 4629894269612581168}
- component: {fileID: 5613880609024852887}
@@ -37,7 +37,7 @@ Transform:
- {fileID: 4434707174583728378}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &4280275870243255345
+--- !u!114 &8850766705489312849
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -46,7 +46,7 @@ MonoBehaviour:
m_GameObject: {fileID: 5778247514781970299}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 36d05f0291670f94c9430f1f5e2604a8, type: 3}
+ m_Script: {fileID: 11500000, guid: 4cae243dedd2499e8326b9ed6de6e32e, type: 3}
m_Name:
m_EditorClassIdentifier:
_outline: {fileID: 6730156945272532712}
@@ -54,6 +54,7 @@ MonoBehaviour:
_highlightColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
_model: {fileID: 5778247514781970299, guid: c3e6a58c9ab23be44a0ae88dd246b3c4, type: 3}
_name: Pizza
+ _interactibleType: 0
--- !u!65 &2286779905131135538
BoxCollider:
m_ObjectHideFlags: 0
diff --git a/3d Prototyp/Assets/Scenes/GameJamScene.unity b/3d Prototyp/Assets/Scenes/GameJamScene.unity
index c6add42c..b668604b 100644
--- a/3d Prototyp/Assets/Scenes/GameJamScene.unity
+++ b/3d Prototyp/Assets/Scenes/GameJamScene.unity
@@ -1052,6 +1052,12 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: 6540681369557983152, guid: d77999c19b7f3294599d4029e5b08ace, type: 3}
insertIndex: -1
addedObject: {fileID: 1961302929}
+ - targetCorrespondingSourceObject: {fileID: 6540681369557983152, guid: d77999c19b7f3294599d4029e5b08ace, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1961302931}
+ - targetCorrespondingSourceObject: {fileID: 6540681369557983152, guid: d77999c19b7f3294599d4029e5b08ace, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1961302932}
m_SourcePrefab: {fileID: 100100000, guid: d77999c19b7f3294599d4029e5b08ace, type: 3}
--- !u!4 &30470408 stripped
Transform:
@@ -1848,6 +1854,11 @@ BoxCollider:
serializedVersion: 3
m_Size: {x: 1.0274248, y: 1, z: 1.0274248}
m_Center: {x: 0, y: 0.5, z: 0.00000047683716}
+--- !u!1 &60399758 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 1649482374922732, guid: 79a5b937093a5864d91d9a3a836ff1d7, type: 3}
+ m_PrefabInstance: {fileID: 1941031493}
+ m_PrefabAsset: {fileID: 0}
--- !u!1 &60683326
GameObject:
m_ObjectHideFlags: 0
@@ -16429,6 +16440,12 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: 6839065564630337043, guid: 950f64c9c1d51e14b84b4e4d4a7b775a, type: 3}
insertIndex: -1
addedObject: {fileID: 1295157948}
+ - targetCorrespondingSourceObject: {fileID: 6839065564630337043, guid: 950f64c9c1d51e14b84b4e4d4a7b775a, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1295157950}
+ - targetCorrespondingSourceObject: {fileID: 6839065564630337043, guid: 950f64c9c1d51e14b84b4e4d4a7b775a, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1295157951}
m_SourcePrefab: {fileID: 100100000, guid: 950f64c9c1d51e14b84b4e4d4a7b775a, type: 3}
--- !u!4 &523081034 stripped
Transform:
@@ -19348,6 +19365,10 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
+ - target: {fileID: 3650884189301972455, guid: e1e33f0b2075b5c40817665dd8a86f31, type: 3}
+ propertyPath: _player
+ value:
+ objectReference: {fileID: 1573807344}
- target: {fileID: 3650884189301972455, guid: e1e33f0b2075b5c40817665dd8a86f31, type: 3}
propertyPath: _developers.Array.size
value: 4
@@ -19368,6 +19389,10 @@ PrefabInstance:
propertyPath: _developers.Array.data[3]
value:
objectReference: {fileID: 1295157948}
+ - target: {fileID: 3650884189301972455, guid: e1e33f0b2075b5c40817665dd8a86f31, type: 3}
+ propertyPath: NeedFullfilledParticleEffect
+ value:
+ objectReference: {fileID: 1620116211597326, guid: 094c049ae10f1c3419c96c4bce41cf8c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -25498,6 +25523,7 @@ Transform:
- {fileID: 1104780960}
- {fileID: 971860064}
- {fileID: 1116615863}
+ - {fileID: 1478559443}
- {fileID: 1565724453}
- {fileID: 582805466}
- {fileID: 1257294573}
@@ -25563,6 +25589,8 @@ Transform:
- {fileID: 2003454807}
- {fileID: 161693056}
- {fileID: 708080110}
+ - {fileID: 1627306053}
+ - {fileID: 1326978856}
- {fileID: 533650422}
- {fileID: 1651977109}
- {fileID: 823470096}
@@ -34703,7 +34731,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 06a2565e89388db4b965e2bd25be1ee5, type: 3}
m_Name:
m_EditorClassIdentifier:
- _pickupper: {fileID: 1573807350}
+ interactionHandler: {fileID: 1573807350}
_actionDisplay: {fileID: 101798216}
_actionText: {fileID: 2102353723}
_prevActionButton: {fileID: 2009492877}
@@ -40434,6 +40462,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 6dcc72027d5c35441a351fdb5140b0f8, type: 3}
m_Name:
m_EditorClassIdentifier:
+ _name:
_baseStats:
BaseEfficiency: 1
Fingers: 10
@@ -40443,6 +40472,7 @@ MonoBehaviour:
HappinessDrainFactor: 1
CoffeePreference: 0.5
MatePreference: 0.5
+ _talkRange: 2
_currentEfficiency: 1
_fingersLeft: 10
_caffeineLevel: 1
@@ -40452,14 +40482,126 @@ MonoBehaviour:
_isSleeping: 0
_isHyperactive: 0
_isOvercaffeinated: 0
- _developerNeeds: {fileID: 0}
- _talkRange: 2
+ _developerNeeds: {fileID: 1502578694}
_caffeineNeed: {fileID: 0}
_wantedDrink: 0
_hungerNeed: {fileID: 0}
_wantedFood: 0
_toiletNeed: {fileID: 0}
_talkTimer: 0
+--- !u!82 &1295157950
+AudioSource:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1295157946}
+ m_Enabled: 1
+ serializedVersion: 4
+ OutputAudioMixerGroup: {fileID: 0}
+ m_audioClip: {fileID: 0}
+ m_PlayOnAwake: 1
+ m_Volume: 1
+ m_Pitch: 1
+ Loop: 0
+ Mute: 0
+ Spatialize: 0
+ SpatializePostEffects: 0
+ Priority: 128
+ DopplerLevel: 1
+ MinDistance: 1
+ MaxDistance: 500
+ Pan2D: 0
+ rolloffMode: 0
+ BypassEffects: 0
+ BypassListenerEffects: 0
+ BypassReverbZones: 0
+ rolloffCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ panLevelCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ spreadCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ reverbZoneMixCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+--- !u!114 &1295157951
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1295157946}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ef5183dac70a54b4cbed3e05d617524f, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ context: going for a walk, falling, explosion, blood
+ gender: MALE
+ speakingSpeed: 1.1
+ playSound: 0
+ generate: 0
--- !u!4 &1298233948 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 5737504958030667471, guid: 7c7f0805c6bdc4f41bd65ec128f6b658, type: 3}
@@ -41086,6 +41228,121 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1325779143}
m_Mesh: {fileID: 6481825945531470986, guid: d2a73dec0eb1d81498135676972d3278, type: 3}
+--- !u!1001 &1326978855
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 801575156}
+ m_Modifications:
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_RootOrder
+ value: 40
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.49998748
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 6.9000006
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 11.651
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0.70710677
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: -90
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -7511558181221131132, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_CastShadows
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: -7511558181221131132, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_Materials.Array.data[0]
+ value:
+ objectReference: {fileID: 2100000, guid: fcdb7a99237c6417a9e5766d641a824c, type: 2}
+ - target: {fileID: 919132149155446097, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_Name
+ value: toon_office_tile_wall (37)
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents:
+ - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1326978858}
+ m_SourcePrefab: {fileID: 100100000, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+--- !u!4 &1326978856 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ m_PrefabInstance: {fileID: 1326978855}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &1326978857 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ m_PrefabInstance: {fileID: 1326978855}
+ m_PrefabAsset: {fileID: 0}
+--- !u!65 &1326978858
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1326978857}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1.9999999, y: 2, z: 0.49999997}
+ m_Center: {x: -0.99999994, y: 1, z: 0.00000094622374}
--- !u!1 &1329225735
GameObject:
m_ObjectHideFlags: 0
@@ -45235,6 +45492,113 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1471540514}
m_Mesh: {fileID: 3284317394355905387, guid: 7292cbbcd062e3440b9895a64d229825, type: 3}
+--- !u!1001 &1478559442
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 801575156}
+ m_Modifications:
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_RootOrder
+ value: 9
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 6.9
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 13.5
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: -90
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -7511558181221131132, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_CastShadows
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: -7511558181221131132, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_Materials.Array.data[0]
+ value:
+ objectReference: {fileID: 2100000, guid: fcdb7a99237c6417a9e5766d641a824c, type: 2}
+ - target: {fileID: -5754084199372789682, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_Mesh
+ value:
+ objectReference: {fileID: -4272914438286383875, guid: 4fefcaeb826ad4ef1a6c87b8434a6185, type: 3}
+ - target: {fileID: 919132149155446097, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_Name
+ value: toon_office_tile_wall (35)
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents:
+ - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1478559445}
+ m_SourcePrefab: {fileID: 100100000, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+--- !u!4 &1478559443 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ m_PrefabInstance: {fileID: 1478559442}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &1478559444 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ m_PrefabInstance: {fileID: 1478559442}
+ m_PrefabAsset: {fileID: 0}
+--- !u!65 &1478559445
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1478559444}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 2, y: 2, z: 0.59672225}
+ m_Center: {x: -1, y: 1, z: -0.0000009983778}
--- !u!1001 &1479589171
PrefabInstance:
m_ObjectHideFlags: 0
@@ -45945,6 +46309,24 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: 5436741564957258347, guid: 6c7f06c6a702d4d41bba4b5576adc82c, type: 3}
insertIndex: -1
addedObject: {fileID: 1502578686}
+ - targetCorrespondingSourceObject: {fileID: 5436741564957258347, guid: 6c7f06c6a702d4d41bba4b5576adc82c, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1502578688}
+ - targetCorrespondingSourceObject: {fileID: 5436741564957258347, guid: 6c7f06c6a702d4d41bba4b5576adc82c, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1502578690}
+ - targetCorrespondingSourceObject: {fileID: 5436741564957258347, guid: 6c7f06c6a702d4d41bba4b5576adc82c, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1502578692}
+ - targetCorrespondingSourceObject: {fileID: 5436741564957258347, guid: 6c7f06c6a702d4d41bba4b5576adc82c, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1502578694}
+ - targetCorrespondingSourceObject: {fileID: 5436741564957258347, guid: 6c7f06c6a702d4d41bba4b5576adc82c, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1502578693}
+ - targetCorrespondingSourceObject: {fileID: 5436741564957258347, guid: 6c7f06c6a702d4d41bba4b5576adc82c, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1502578696}
m_SourcePrefab: {fileID: 100100000, guid: 6c7f06c6a702d4d41bba4b5576adc82c, type: 3}
--- !u!4 &1502578684 stripped
Transform:
@@ -45963,6 +46345,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 6dcc72027d5c35441a351fdb5140b0f8, type: 3}
m_Name:
m_EditorClassIdentifier:
+ _name: Fridolin
_baseStats:
BaseEfficiency: 1
Fingers: 10
@@ -45972,6 +46355,7 @@ MonoBehaviour:
HappinessDrainFactor: 1
CoffeePreference: 0.5
MatePreference: 0.5
+ _talkRange: 2
_currentEfficiency: 1
_fingersLeft: 10
_caffeineLevel: 1
@@ -45981,14 +46365,200 @@ MonoBehaviour:
_isSleeping: 0
_isHyperactive: 0
_isOvercaffeinated: 0
- _developerNeeds: {fileID: 0}
- _talkRange: 2
+ _developerNeeds: {fileID: 1502578694}
_caffeineNeed: {fileID: 0}
_wantedDrink: 0
_hungerNeed: {fileID: 0}
_wantedFood: 0
_toiletNeed: {fileID: 0}
_talkTimer: 0
+--- !u!114 &1502578688
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1211619548}
+ m_Enabled: 0
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5fea29bb7c508c244a1f805a5fd3fc4d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ outlineMode: 0
+ outlineColor: {r: 1, g: 1, b: 1, a: 1}
+ outlineWidth: 2
+ precomputeOutline: 0
+ bakeKeys: []
+ bakeValues: []
+--- !u!136 &1502578690
+CapsuleCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1211619548}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Radius: 0.3
+ m_Height: 1
+ m_Direction: 1
+ m_Center: {x: 0, y: 0.82, z: 0}
+--- !u!114 &1502578692
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1211619548}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8c62dfbaefa34afca6b4a8378b9c9083, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _outline: {fileID: 1502578688}
+ _selectedColor: {r: 1, g: 1, b: 1, a: 1}
+ _highlightColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
+ _developer: {fileID: 1502578686}
+--- !u!82 &1502578693
+AudioSource:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1211619548}
+ m_Enabled: 1
+ serializedVersion: 4
+ OutputAudioMixerGroup: {fileID: 0}
+ m_audioClip: {fileID: 0}
+ m_PlayOnAwake: 1
+ m_Volume: 1
+ m_Pitch: 1
+ Loop: 0
+ Mute: 0
+ Spatialize: 0
+ SpatializePostEffects: 0
+ Priority: 128
+ DopplerLevel: 1
+ MinDistance: 1
+ MaxDistance: 500
+ Pan2D: 0
+ rolloffMode: 0
+ BypassEffects: 0
+ BypassListenerEffects: 0
+ BypassReverbZones: 0
+ rolloffCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ panLevelCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ spreadCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ reverbZoneMixCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+--- !u!114 &1502578694
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1211619548}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f7e417f330c4dd845a8f3dc744dff25a, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ Needs:
+ - {fileID: 2907046783514947559, guid: 92b71cfc6a2687d44b165ead746233f0, type: 3}
+ - {fileID: 3355435593704932208, guid: b31fb59d198e53b459943bf898293618, type: 3}
+ - {fileID: 7697340910557049827, guid: 5d809e3a343d45f4185615db92384dc7, type: 3}
+ - {fileID: 2405502523364773131, guid: b396df2098c22e1488c2c2769c6ddcd6, type: 3}
+--- !u!114 &1502578696
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1211619548}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ef5183dac70a54b4cbed3e05d617524f, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ context: going for a walk, falling, explosion, blood
+ gender: MALE
+ speakingSpeed: 1.1
+ playSound: 0
+ generate: 0
--- !u!1001 &1502597417
PrefabInstance:
m_ObjectHideFlags: 0
@@ -49409,7 +49979,11 @@ MonoBehaviour:
m_Bits: 8
grounded: 0
_hand: {fileID: 1363209069}
- _carriedItem: {fileID: 0}
+ _carriedItemModel: {fileID: 0}
+ _carriedInteractible: {fileID: 0}
+ _dropItemForce: 3
+ _data: {fileID: 11400000, guid: 503e4ea097b9faa4ba6e2ed3906714a5, type: 2}
+ _audioSource: {fileID: 1573807353}
--- !u!54 &1573807345
Rigidbody:
m_ObjectHideFlags: 0
@@ -49496,9 +50070,105 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
_character: {fileID: 1573807344}
- _pickupRadius: 1.5
- _pickupCollider: {fileID: 1573807349}
- _pickupablesInRange: []
+ interactionRadius: 1.5
+ _interactionCollider: {fileID: 1573807349}
+ _interactionsInRange: []
+--- !u!82 &1573807353
+AudioSource:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1573807341}
+ m_Enabled: 1
+ serializedVersion: 4
+ OutputAudioMixerGroup: {fileID: 0}
+ m_audioClip: {fileID: 0}
+ m_PlayOnAwake: 1
+ m_Volume: 1
+ m_Pitch: 1
+ Loop: 0
+ Mute: 0
+ Spatialize: 0
+ SpatializePostEffects: 0
+ Priority: 128
+ DopplerLevel: 1
+ MinDistance: 1
+ MaxDistance: 500
+ Pan2D: 0
+ rolloffMode: 0
+ BypassEffects: 0
+ BypassListenerEffects: 0
+ BypassReverbZones: 0
+ rolloffCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ panLevelCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ spreadCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ reverbZoneMixCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
--- !u!1 &1577864189
GameObject:
m_ObjectHideFlags: 0
@@ -51401,6 +52071,121 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1626451948}
m_Mesh: {fileID: 3284317394355905387, guid: 7292cbbcd062e3440b9895a64d229825, type: 3}
+--- !u!1001 &1627306052
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 801575156}
+ m_Modifications:
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_RootOrder
+ value: 40
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.375
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 6.9
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 14.151
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0.70710677
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: -90
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -7511558181221131132, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_CastShadows
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: -7511558181221131132, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_Materials.Array.data[0]
+ value:
+ objectReference: {fileID: 2100000, guid: fcdb7a99237c6417a9e5766d641a824c, type: 2}
+ - target: {fileID: 919132149155446097, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ propertyPath: m_Name
+ value: toon_office_tile_wall (36)
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents:
+ - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1627306055}
+ m_SourcePrefab: {fileID: 100100000, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+--- !u!4 &1627306053 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ m_PrefabInstance: {fileID: 1627306052}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &1627306054 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 661d685e026c547f0a6c2f2d0c859fe7, type: 3}
+ m_PrefabInstance: {fileID: 1627306052}
+ m_PrefabAsset: {fileID: 0}
+--- !u!65 &1627306055
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1627306054}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1.9999999, y: 2, z: 0.49999997}
+ m_Center: {x: -0.99999994, y: 1, z: 0.00000094622374}
--- !u!1 &1636365108
GameObject:
m_ObjectHideFlags: 0
@@ -60580,13 +61365,83 @@ PrefabInstance:
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
- m_AddedComponents: []
+ m_AddedComponents:
+ - targetCorrespondingSourceObject: {fileID: 1649482374922732, guid: 79a5b937093a5864d91d9a3a836ff1d7, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1941031499}
+ - targetCorrespondingSourceObject: {fileID: 1649482374922732, guid: 79a5b937093a5864d91d9a3a836ff1d7, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1941031500}
+ - targetCorrespondingSourceObject: {fileID: 1649482374922732, guid: 79a5b937093a5864d91d9a3a836ff1d7, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1941031501}
m_SourcePrefab: {fileID: 100100000, guid: 79a5b937093a5864d91d9a3a836ff1d7, type: 3}
--- !u!4 &1941031494 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4103267665437288, guid: 79a5b937093a5864d91d9a3a836ff1d7, type: 3}
m_PrefabInstance: {fileID: 1941031493}
m_PrefabAsset: {fileID: 0}
+--- !u!114 &1941031499
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 60399758}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18452aa2b74a4b10aaed4635c1080c90, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _outline: {fileID: 1941031500}
+ _selectedColor: {r: 1, g: 1, b: 1, a: 1}
+ _highlightColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
+ UseText: Kopierer benutzen
+ OnUse:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1941031501}
+ m_TargetAssemblyTypeName: Interaction.Copier, Assembly-CSharp
+ m_MethodName: Copy
+ 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
+--- !u!114 &1941031500
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 60399758}
+ m_Enabled: 0
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5fea29bb7c508c244a1f805a5fd3fc4d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ outlineMode: 0
+ outlineColor: {r: 1, g: 1, b: 1, a: 1}
+ outlineWidth: 2
+ precomputeOutline: 0
+ bakeKeys: []
+ bakeValues: []
+--- !u!114 &1941031501
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 60399758}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: cc147cbb4aa44e209ac96e08e57cab11, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
--- !u!1 &1943037299
GameObject:
m_ObjectHideFlags: 0
@@ -61303,6 +62158,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 6dcc72027d5c35441a351fdb5140b0f8, type: 3}
m_Name:
m_EditorClassIdentifier:
+ _name:
_baseStats:
BaseEfficiency: 1
Fingers: 10
@@ -61312,6 +62168,7 @@ MonoBehaviour:
HappinessDrainFactor: 1
CoffeePreference: 0.5
MatePreference: 0.5
+ _talkRange: 2
_currentEfficiency: 1
_fingersLeft: 10
_caffeineLevel: 1
@@ -61321,14 +62178,126 @@ MonoBehaviour:
_isSleeping: 0
_isHyperactive: 0
_isOvercaffeinated: 0
- _developerNeeds: {fileID: 0}
- _talkRange: 2
+ _developerNeeds: {fileID: 1502578694}
_caffeineNeed: {fileID: 0}
_wantedDrink: 0
_hungerNeed: {fileID: 0}
_wantedFood: 0
_toiletNeed: {fileID: 0}
_talkTimer: 0
+--- !u!82 &1961302931
+AudioSource:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1961302927}
+ m_Enabled: 1
+ serializedVersion: 4
+ OutputAudioMixerGroup: {fileID: 0}
+ m_audioClip: {fileID: 0}
+ m_PlayOnAwake: 1
+ m_Volume: 1
+ m_Pitch: 1
+ Loop: 0
+ Mute: 0
+ Spatialize: 0
+ SpatializePostEffects: 0
+ Priority: 128
+ DopplerLevel: 1
+ MinDistance: 1
+ MaxDistance: 500
+ Pan2D: 0
+ rolloffMode: 0
+ BypassEffects: 0
+ BypassListenerEffects: 0
+ BypassReverbZones: 0
+ rolloffCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ panLevelCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ spreadCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ reverbZoneMixCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+--- !u!114 &1961302932
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1961302927}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ef5183dac70a54b4cbed3e05d617524f, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ context: going for a walk, falling, explosion, blood
+ gender: MALE
+ speakingSpeed: 1.1
+ playSound: 0
+ generate: 0
--- !u!1 &1961564159
GameObject:
m_ObjectHideFlags: 0
@@ -65176,6 +66145,12 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: 360020996318003118, guid: c161c997c07308740af96a685231f764, type: 3}
insertIndex: -1
addedObject: {fileID: 2100999000}
+ - targetCorrespondingSourceObject: {fileID: 360020996318003118, guid: c161c997c07308740af96a685231f764, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 2100999002}
+ - targetCorrespondingSourceObject: {fileID: 360020996318003118, guid: c161c997c07308740af96a685231f764, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 2100999003}
m_SourcePrefab: {fileID: 100100000, guid: c161c997c07308740af96a685231f764, type: 3}
--- !u!4 &2100998998 stripped
Transform:
@@ -65194,6 +66169,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 6dcc72027d5c35441a351fdb5140b0f8, type: 3}
m_Name:
m_EditorClassIdentifier:
+ _name:
_baseStats:
BaseEfficiency: 1
Fingers: 10
@@ -65203,6 +66179,7 @@ MonoBehaviour:
HappinessDrainFactor: 1
CoffeePreference: 0.5
MatePreference: 0.5
+ _talkRange: 2
_currentEfficiency: 1
_fingersLeft: 10
_caffeineLevel: 1
@@ -65212,14 +66189,126 @@ MonoBehaviour:
_isSleeping: 0
_isHyperactive: 0
_isOvercaffeinated: 0
- _developerNeeds: {fileID: 0}
- _talkRange: 2
+ _developerNeeds: {fileID: 1502578694}
_caffeineNeed: {fileID: 0}
_wantedDrink: 0
_hungerNeed: {fileID: 0}
_wantedFood: 0
_toiletNeed: {fileID: 0}
_talkTimer: 0
+--- !u!82 &2100999002
+AudioSource:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 640532114}
+ m_Enabled: 1
+ serializedVersion: 4
+ OutputAudioMixerGroup: {fileID: 0}
+ m_audioClip: {fileID: 0}
+ m_PlayOnAwake: 1
+ m_Volume: 1
+ m_Pitch: 1
+ Loop: 0
+ Mute: 0
+ Spatialize: 0
+ SpatializePostEffects: 0
+ Priority: 128
+ DopplerLevel: 1
+ MinDistance: 1
+ MaxDistance: 500
+ Pan2D: 0
+ rolloffMode: 0
+ BypassEffects: 0
+ BypassListenerEffects: 0
+ BypassReverbZones: 0
+ rolloffCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ panLevelCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ spreadCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ reverbZoneMixCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+--- !u!114 &2100999003
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 640532114}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ef5183dac70a54b4cbed3e05d617524f, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ context: going for a walk, falling, explosion, blood
+ gender: MALE
+ speakingSpeed: 1.1
+ playSound: 0
+ generate: 0
--- !u!1 &2101876026
GameObject:
m_ObjectHideFlags: 0
@@ -67103,6 +68192,9 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: 9017657623670109072, guid: 7c7f0805c6bdc4f41bd65ec128f6b658, type: 3}
insertIndex: -1
addedObject: {fileID: 1573807349}
+ - targetCorrespondingSourceObject: {fileID: 9017657623670109072, guid: 7c7f0805c6bdc4f41bd65ec128f6b658, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1573807353}
m_SourcePrefab: {fileID: 100100000, guid: 7c7f0805c6bdc4f41bd65ec128f6b658, type: 3}
--- !u!23 &87716553343573121
MeshRenderer:
diff --git a/3d Prototyp/Assets/Scripts/Character.cs b/3d Prototyp/Assets/Scripts/Character.cs
index c722baa6..556342aa 100644
--- a/3d Prototyp/Assets/Scripts/Character.cs
+++ b/3d Prototyp/Assets/Scripts/Character.cs
@@ -1,7 +1,12 @@
using System.Collections;
using System.Collections.Generic;
+using Data;
+using Interaction;
using UnityEngine;
+using UnityEngine.Events;
using UnityEngine.EventSystems;
+using UnityEngine.Serialization;
+using Utility;
public class Character : MonoBehaviour
{
@@ -33,7 +38,20 @@ public class Character : MonoBehaviour
[Header("Hold item")]
[SerializeField] private Transform _hand;
- [SerializeField] private GameObject _carriedItem;
+ [FormerlySerializedAs("_carriedItem")] [SerializeField] private GameObject _carriedItemModel;
+ [SerializeField] private PickupInteractible _carriedInteractible;
+ [FormerlySerializedAs("_throwAsideForce")] [SerializeField, Tooltip("Die Kraft mit der der Gegenstand fallen gelassen wird.")]
+ private float _dropItemForce = 3.0f;
+
+ [SerializeField]
+ private GottfriedData _data;
+
+ [SerializeField]
+ private AudioSource _audioSource;
+
+ public bool CarriesItem => _carriedInteractible;
+
+ public PickupInteractible CarriedItem => _carriedInteractible;
// Start is called before the first frame update
void Start()
@@ -62,25 +80,24 @@ public class Character : MonoBehaviour
}
- public void PickupItem(Pickupable itemToPickup)
+ public void PickupItem(PickupInteractible itemToPickup)
{
- if (_carriedItem)
+ if (_carriedItemModel)
{
- Pickupable pickupable = _carriedItem.GetComponentInChildren(true);
-
- pickupable.gameObject.SetActive(true);
- pickupable.transform.parent = null;
+ _carriedInteractible.gameObject.SetActive(true);
+ _carriedInteractible.transform.parent = null;
- pickupable.transform.position = _carriedItem.transform.position;
- pickupable.transform.rotation = _carriedItem.transform.rotation;
+ _carriedInteractible.transform.position = _carriedItemModel.transform.position;
+ _carriedInteractible.transform.rotation = _carriedItemModel.transform.rotation;
- Rigidbody rigidbody = pickupable.GetComponent();
+ Rigidbody rigidbody = _carriedInteractible.GetComponent();
- rigidbody.AddForce(Random.insideUnitSphere * 2.0f, ForceMode.Impulse);
+ rigidbody.AddForce(Random.insideUnitSphere * _dropItemForce, ForceMode.Impulse);
- Destroy(_carriedItem);
+ Destroy(_carriedItemModel);
- _carriedItem = null;
+ _carriedItemModel = null;
+ _carriedInteractible = null;
}
if (itemToPickup)
@@ -90,7 +107,7 @@ public class Character : MonoBehaviour
itemToPickup.transform.parent = model.transform;
itemToPickup.gameObject.SetActive(false);
- _carriedItem = model;
+ _carriedInteractible = itemToPickup;
}
}
@@ -149,4 +166,16 @@ public class Character : MonoBehaviour
{
readyToJump = true;
}
+
+ public void GiveItemTo(Developer developer)
+ {
+ Debug.Log($"Gebe {_carriedInteractible.Name} an {developer.Name}");
+
+ PickupItem(null);
+ }
+
+ public void SayItsImpossible()
+ {
+ _audioSource.PlayOneShot(_data.VoiceSayItsImpossible.GetRandomElement());
+ }
}
diff --git a/3d Prototyp/Assets/Scripts/Data.meta b/3d Prototyp/Assets/Scripts/Data.meta
new file mode 100644
index 00000000..42b7c6f8
--- /dev/null
+++ b/3d Prototyp/Assets/Scripts/Data.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 1c773f750690456bbc885176d7935367
+timeCreated: 1712430313
\ No newline at end of file
diff --git a/3d Prototyp/Assets/Scripts/Data/GottfriedData.cs b/3d Prototyp/Assets/Scripts/Data/GottfriedData.cs
new file mode 100644
index 00000000..41b546a5
--- /dev/null
+++ b/3d Prototyp/Assets/Scripts/Data/GottfriedData.cs
@@ -0,0 +1,11 @@
+using UnityEngine;
+using UnityEngine.Serialization;
+
+namespace Data
+{
+ [CreateAssetMenu(fileName = "GottfriedData", menuName = "DataObjects/GottfriedData", order = 0)]
+ public class GottfriedData : ScriptableObject
+ {
+ [FormerlySerializedAs("Say_Impossible")] public AudioClip[] VoiceSayItsImpossible;
+ }
+}
\ No newline at end of file
diff --git a/3d Prototyp/Assets/Scripts/Data/GottfriedData.cs.meta b/3d Prototyp/Assets/Scripts/Data/GottfriedData.cs.meta
new file mode 100644
index 00000000..8305b618
--- /dev/null
+++ b/3d Prototyp/Assets/Scripts/Data/GottfriedData.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 62867debe01c41d89e01687ef2722fcd
+timeCreated: 1712430327
\ No newline at end of file
diff --git a/3d Prototyp/Assets/Scripts/Developer.cs b/3d Prototyp/Assets/Scripts/Developer.cs
index 543fe054..08e6e871 100644
--- a/3d Prototyp/Assets/Scripts/Developer.cs
+++ b/3d Prototyp/Assets/Scripts/Developer.cs
@@ -39,11 +39,17 @@ public struct DeveloperStats
public class Developer : MonoBehaviour
{
+ [Header("Basis Informationen")]
+ [SerializeField]
private string _name;
[SerializeField]
private DeveloperStats _baseStats = DeveloperStats.Default;
+ [SerializeField]
+ private float _talkRange = 2.0f;
+
+ [Header("Aktuelle Informationen")]
[SerializeField, ShowOnly]
private double _currentEfficiency = 1.0;
@@ -74,9 +80,6 @@ public class Developer : MonoBehaviour
[SerializeField]
private DeveloperNeeds _developerNeeds;
- [SerializeField]
- private float _talkRange = 2.0f;
-
///
/// Gibt die Grunddaten des Entwicklers zurück.
///
diff --git a/3d Prototyp/Assets/Scripts/GameManager.cs b/3d Prototyp/Assets/Scripts/GameManager.cs
index 0b7be640..2eec5b01 100644
--- a/3d Prototyp/Assets/Scripts/GameManager.cs
+++ b/3d Prototyp/Assets/Scripts/GameManager.cs
@@ -14,7 +14,7 @@ public partial class GameManager : MonoBehaviourSingleton
public GameObject NeedFullfilledParticleEffect;
[SerializeField]
- private GameObject _player;
+ private Character _player;
[SerializeField]
private double _totalGameDurationSeconds;
@@ -52,6 +52,8 @@ public partial class GameManager : MonoBehaviourSingleton
public double NeedNotificationThreshold => _needNotificationThreshold;
+ public Character Player => _player;
+
///
/// Die Transform des Spielers.
///
diff --git a/3d Prototyp/Assets/Scripts/Interaction.meta b/3d Prototyp/Assets/Scripts/Interaction.meta
new file mode 100644
index 00000000..b564e5fe
--- /dev/null
+++ b/3d Prototyp/Assets/Scripts/Interaction.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 088e8b34c7ef472e9cea312c5f180215
+timeCreated: 1712426151
\ No newline at end of file
diff --git a/3d Prototyp/Assets/Scripts/Interaction/Copier.cs b/3d Prototyp/Assets/Scripts/Interaction/Copier.cs
new file mode 100644
index 00000000..2f7ed82b
--- /dev/null
+++ b/3d Prototyp/Assets/Scripts/Interaction/Copier.cs
@@ -0,0 +1,12 @@
+using UnityEngine;
+
+namespace Interaction
+{
+ public class Copier : MonoBehaviour
+ {
+ public void Copy()
+ {
+ Debug.Log("Kopierer erfolgreich benutzt!");
+ }
+ }
+}
\ No newline at end of file
diff --git a/3d Prototyp/Assets/Scripts/Interaction/Copier.cs.meta b/3d Prototyp/Assets/Scripts/Interaction/Copier.cs.meta
new file mode 100644
index 00000000..c2bc5896
--- /dev/null
+++ b/3d Prototyp/Assets/Scripts/Interaction/Copier.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: cc147cbb4aa44e209ac96e08e57cab11
+timeCreated: 1712427562
\ No newline at end of file
diff --git a/3d Prototyp/Assets/Scripts/Interaction/GiveItemInteractible.cs b/3d Prototyp/Assets/Scripts/Interaction/GiveItemInteractible.cs
new file mode 100644
index 00000000..a74c79cb
--- /dev/null
+++ b/3d Prototyp/Assets/Scripts/Interaction/GiveItemInteractible.cs
@@ -0,0 +1,18 @@
+using UnityEngine;
+using UnityEngine.Events;
+using UnityEngine.Serialization;
+
+namespace Interaction
+{
+ public class GiveItemInteractible : Interactible
+ {
+ [SerializeField] private Developer _developer;
+
+ ///
+ /// Der Entwickler an den das Item übergeben wird.
+ ///
+ public Developer Developer => _developer;
+
+ public override bool IsBlocked() => !GameManager.Instance.Player.CarriesItem;
+ }
+}
\ No newline at end of file
diff --git a/3d Prototyp/Assets/Scripts/Interaction/GiveItemInteractible.cs.meta b/3d Prototyp/Assets/Scripts/Interaction/GiveItemInteractible.cs.meta
new file mode 100644
index 00000000..5cadabbf
--- /dev/null
+++ b/3d Prototyp/Assets/Scripts/Interaction/GiveItemInteractible.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 8c62dfbaefa34afca6b4a8378b9c9083
+timeCreated: 1712427286
\ No newline at end of file
diff --git a/3d Prototyp/Assets/Scripts/Interaction/Interactible.cs b/3d Prototyp/Assets/Scripts/Interaction/Interactible.cs
new file mode 100644
index 00000000..30120861
--- /dev/null
+++ b/3d Prototyp/Assets/Scripts/Interaction/Interactible.cs
@@ -0,0 +1,50 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using Unity.VisualScripting;
+using UnityEngine;
+using UnityEngine.Events;
+using Utility;
+
+namespace Interaction
+{
+ public enum InteractibleType
+ {
+ Pickup,
+ Use,
+ Give
+ }
+
+ public abstract class Interactible : MonoBehaviour
+ {
+ [SerializeField]
+ private Outline _outline;
+
+ [SerializeField]
+ private Color _selectedColor = Color.white;
+ [SerializeField]
+ private Color _highlightColor = Color.yellow;
+
+ public void Highlight(bool hightlight)
+ {
+ _outline.enabled = hightlight;
+ _outline.OutlineColor = _highlightColor;
+ _outline.OutlineWidth = 2;
+ }
+
+ public void SetSelected(bool isSelected)
+ {
+ Highlight(true);
+ if (isSelected)
+ {
+ _outline.OutlineColor = _selectedColor;
+ _outline.OutlineWidth = 4;
+ }
+ }
+
+ public virtual bool IsBlocked()
+ {
+ return false;
+ }
+ }
+}
diff --git a/3d Prototyp/Assets/Pickupable.cs.meta b/3d Prototyp/Assets/Scripts/Interaction/Interactible.cs.meta
similarity index 100%
rename from 3d Prototyp/Assets/Pickupable.cs.meta
rename to 3d Prototyp/Assets/Scripts/Interaction/Interactible.cs.meta
diff --git a/3d Prototyp/Assets/Scripts/Interaction/PickupInteractible.cs b/3d Prototyp/Assets/Scripts/Interaction/PickupInteractible.cs
new file mode 100644
index 00000000..c8237f7c
--- /dev/null
+++ b/3d Prototyp/Assets/Scripts/Interaction/PickupInteractible.cs
@@ -0,0 +1,18 @@
+using UnityEngine;
+
+namespace Interaction
+{
+ public class PickupInteractible : Interactible
+ {
+ [SerializeField]
+ private GameObject _model;
+
+ [SerializeField]
+ private string _name;
+
+ public GameObject Model => _model;
+
+ public string Name => _name;
+
+ }
+}
\ No newline at end of file
diff --git a/3d Prototyp/Assets/Scripts/Interaction/PickupInteractible.cs.meta b/3d Prototyp/Assets/Scripts/Interaction/PickupInteractible.cs.meta
new file mode 100644
index 00000000..5816a141
--- /dev/null
+++ b/3d Prototyp/Assets/Scripts/Interaction/PickupInteractible.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 4cae243dedd2499e8326b9ed6de6e32e
+timeCreated: 1712426173
\ No newline at end of file
diff --git a/3d Prototyp/Assets/Scripts/Interaction/UseInteractible.cs b/3d Prototyp/Assets/Scripts/Interaction/UseInteractible.cs
new file mode 100644
index 00000000..5d5af799
--- /dev/null
+++ b/3d Prototyp/Assets/Scripts/Interaction/UseInteractible.cs
@@ -0,0 +1,12 @@
+using UnityEngine.Events;
+using UnityEngine.Serialization;
+
+namespace Interaction
+{
+ public class UseInteractible : Interactible
+ {
+ [FormerlySerializedAs("Text")] public string UseText;
+
+ public UnityEvent OnUse;
+ }
+}
\ No newline at end of file
diff --git a/3d Prototyp/Assets/Scripts/Interaction/UseInteractible.cs.meta b/3d Prototyp/Assets/Scripts/Interaction/UseInteractible.cs.meta
new file mode 100644
index 00000000..56368e8a
--- /dev/null
+++ b/3d Prototyp/Assets/Scripts/Interaction/UseInteractible.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 18452aa2b74a4b10aaed4635c1080c90
+timeCreated: 1712426953
\ No newline at end of file
diff --git a/3d Prototyp/Assets/Scripts/UiController.cs b/3d Prototyp/Assets/Scripts/UiController.cs
index a08ab2e8..dadf3135 100644
--- a/3d Prototyp/Assets/Scripts/UiController.cs
+++ b/3d Prototyp/Assets/Scripts/UiController.cs
@@ -1,15 +1,18 @@
using System;
using System.Collections;
using System.Collections.Generic;
+using Interaction;
using TMPro;
using UnityEngine;
+using UnityEngine.Serialization;
using UnityEngine.UI;
public class UiController : MonoBehaviour
{
+ [FormerlySerializedAs("_pickupper")]
[Header("Objects")]
[SerializeField]
- private Pickupper _pickupper;
+ private InteractionHandler interactionHandler;
[Header("UI Elements")]
[SerializeField]
@@ -28,16 +31,36 @@ public class UiController : MonoBehaviour
private void UpdateActionDisplay()
{
- bool show = _pickupper.PickupablesInRange.Count > 0;
+ bool show = interactionHandler.InteractionsInRange.Count > 0;
_actionDisplay.SetActive(show);
if (!show)
return;
- _actionText.text = $"{_pickupper.Selected.Name}";
+ switch (interactionHandler.SelectedAction)
+ {
+ case PickupInteractible pickup:
+ _actionText.text = $"Hebe {pickup.Name} auf";
+ break;
+ case UseInteractible usable:
+ _actionText.text = usable.UseText;
+ break;
+ case GiveItemInteractible giveItem:
+ _actionText.text = $"Gebe {GameManager.Instance.Player.CarriedItem?.Name ?? "keinen Gegenstand"} an {giveItem.Developer.Name}";
+ break;
+ default:
+ _actionText.text = $"Unbekannte Aktion";
+ break;
+ // case InteractibleType.Use:
+ // _actionText.text = $"{_pickupper.Selected.Name} benutzen";
+ // break;
+ // case InteractibleType.Give:
+ // _actionText.text = $"An {_pickupper.Selected.Name} geben";
+ // break;
+ }
- _prevActionButton.interactable = _pickupper.CanSelectPrevious;
- _nextActionButton.interactable = _pickupper.CanSelectNext;
+ //_prevActionButton.interactable = _pickupper.CanSelectPrevious;
+ //_nextActionButton.interactable = _pickupper.CanSelectNext;
}
}
diff --git a/3d Prototyp/Assets/Scripts/Utility/IReadonlyListExtension.cs b/3d Prototyp/Assets/Scripts/Utility/IReadonlyListExtension.cs
new file mode 100644
index 00000000..9acfe4c8
--- /dev/null
+++ b/3d Prototyp/Assets/Scripts/Utility/IReadonlyListExtension.cs
@@ -0,0 +1,13 @@
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace Utility
+{
+ public static class IReadonlyListExtension
+ {
+ public static T GetRandomElement(this IReadOnlyList list)
+ {
+ return list[Random.Range(0, list.Count)];
+ }
+ }
+}
\ No newline at end of file
diff --git a/3d Prototyp/Assets/Scripts/Utility/IReadonlyListExtension.cs.meta b/3d Prototyp/Assets/Scripts/Utility/IReadonlyListExtension.cs.meta
new file mode 100644
index 00000000..e3daccfa
--- /dev/null
+++ b/3d Prototyp/Assets/Scripts/Utility/IReadonlyListExtension.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: a37950394de44b8db5d8de3e9fd574a6
+timeCreated: 1712430620
\ No newline at end of file