Compare commits

...

1 Commits

Author SHA1 Message Date
Switerkly 692589a1e3 Interactions 2 years ago
  1. 8
      Assets/GameAssets/Models/Locations/Cafe.meta
  2. 17
      Assets/GameAssets/Scripts/CameraController.cs
  3. 8
      Assets/GameAssets/Scripts/Characters.meta
  4. 8
      Assets/GameAssets/Scripts/EmojiPopup.meta
  5. 5
      Assets/GameAssets/Scripts/Interactions/Interactable.cs
  6. 3
      Assets/GameAssets/Scripts/Interactions/Interaction.cs
  7. 15
      Assets/GameAssets/Scripts/Interactions/InteractionManager.cs
  8. 2
      Assets/GameAssets/Scripts/Location/SceneLoader.cs
  9. 42
      Assets/GameAssets/Scripts/SerializableDictionary.cs
  10. 11
      Assets/GameAssets/Scripts/SerializableDictionary.cs.meta
  11. 2
      Assets/GameAssets/Textures.meta

8
Assets/GameAssets/Models/Locations/Cafe.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c29c7105d7dfad3419d3b8846bfd07d1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

17
Assets/GameAssets/Scripts/CameraController.cs

@ -5,14 +5,14 @@ using UnityEngine.EventSystems;
public class CameraController : MonoBehaviour public class CameraController : MonoBehaviour
{ {
public Transform target; [SerializeField] private Transform target;
public float smoothSpeed = 8f; [SerializeField] private float smoothSpeed = 8f;
public Vector3 offset; [SerializeField] private Vector3 offset;
public float scrollSensitivity = 2f; [SerializeField] private float scrollSensitivity = 2f;
public float minDistance = 2f; [SerializeField] private float minDistance = 2f;
public float maxDistance = 10f; [SerializeField] private float maxDistance = 10f;
[SerializeField] private float distance; [SerializeField] private float distance;
@ -36,4 +36,9 @@ public class CameraController : MonoBehaviour
Vector3 smoothedPosition = Vector3.Lerp(transform.position, desiredPosition, smoothSpeed * Time.deltaTime); Vector3 smoothedPosition = Vector3.Lerp(transform.position, desiredPosition, smoothSpeed * Time.deltaTime);
transform.position = smoothedPosition; transform.position = smoothedPosition;
} }
public void SetTarget(Transform target)
{
this.target = target;
}
} }

8
Assets/GameAssets/Scripts/Characters.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6c002839c7f1a8f4495d3dce578bbfe4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
Assets/GameAssets/Scripts/EmojiPopup.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 534b8ba6a555eec44a82b79d6fac0af8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

5
Assets/GameAssets/Scripts/Interactions/Interactable.cs

@ -5,7 +5,8 @@ using UnityEngine;
public class Interactable : MonoBehaviour public class Interactable : MonoBehaviour
{ {
[SerializeField] protected new Collider collider; [SerializeField] protected Collider _collider;
[SerializeField] protected Player user;
[SerializeField] protected List<Interaction> interactions; [SerializeField] protected List<Interaction> interactions;
public List<Interaction> Interactions => interactions; public List<Interaction> Interactions => interactions;
@ -27,7 +28,7 @@ public class Interactable : MonoBehaviour
public void CreateInteractions() public void CreateInteractions()
{ {
int count = ActiveInteractionsCount; int count = ActiveInteractionsCount;
Bounds obj = collider.bounds; Bounds obj = _collider.bounds;
float sizeobj = 1f; float sizeobj = 1f;
float sizebtw = 0.2f; float sizebtw = 0.2f;

3
Assets/GameAssets/Scripts/Interactions/Interaction.cs

@ -15,9 +15,10 @@ public class Interaction
public void Action() public void Action()
{ {
InteractionManager.Instance.Deactivate();
if (point) if (point)
{ {
InteractionManager.LocalPlayer.Movement?.MoveTo(point.transform.position, PostAction); InteractionManager.LocalPlayer.Movement?.MoveToBlock(point.transform.position, PostAction);
} }
else else
{ {

15
Assets/GameAssets/Scripts/Interactions/InteractionManager.cs

@ -5,7 +5,6 @@ using UnityEditor;
using UnityEngine; using UnityEngine;
using UnityEngine.EventSystems; using UnityEngine.EventSystems;
using UnityEngine.UI; using UnityEngine.UI;
using static UnityEditor.Progress;
public class InteractionManager : MonoBehaviour public class InteractionManager : MonoBehaviour
{ {
@ -20,6 +19,7 @@ public class InteractionManager : MonoBehaviour
} }
[SerializeField] private Player localPlayer; [SerializeField] private Player localPlayer;
[SerializeField] private CameraController cameraController;
[Header("Layers")] [Header("Layers")]
[SerializeField] private LayerMask clickableLayers; [SerializeField] private LayerMask clickableLayers;
@ -29,7 +29,6 @@ public class InteractionManager : MonoBehaviour
[Header("Interaction")] [Header("Interaction")]
[SerializeField] private List<string> blockReasons; [SerializeField] private List<string> blockReasons;
[SerializeField, ReadOnly] private bool active; [SerializeField, ReadOnly] private bool active;
[SerializeField, ReadOnly] private Item item;
[SerializeField, ReadOnly] private Interactable interactable; [SerializeField, ReadOnly] private Interactable interactable;
public static Interactable Interactable => Instance.interactable; public static Interactable Interactable => Instance.interactable;
@ -131,7 +130,6 @@ public class InteractionManager : MonoBehaviour
{ {
this.interactable = interactable; this.interactable = interactable;
SetActive(true); SetActive(true);
//Player.Instance.LookAt(interactive.transform.position);
localPlayer.Movement.StopMovement(); localPlayer.Movement.StopMovement();
interactable.CreateInteractions(); interactable.CreateInteractions();
} }
@ -146,12 +144,21 @@ public class InteractionManager : MonoBehaviour
public void SetLocalPlayer(Player player) public void SetLocalPlayer(Player player)
{ {
if (!player.IsMine) if (!player.IsOwner)
{ {
Debug.LogError("Trying to assign not owned player"); Debug.LogError("Trying to assign not owned player");
return; return;
} }
localPlayer = player; localPlayer = player;
cameraController.SetTarget(player.transform);
}
public void InteractTest()
{
if (interactable)
{
interactable.Interactions[0].Action();
}
} }
} }

2
Assets/GameAssets/Scripts/Location/SceneLoader.cs

@ -14,6 +14,7 @@ public class SceneLoader : MonoBehaviour
[Header("Scenes")] [Header("Scenes")]
[SerializeField] private string debugScene; [SerializeField] private string debugScene;
[SerializeField] private GameObject disableTest;
[SerializeField] private List<string> loadedScenes; [SerializeField] private List<string> loadedScenes;
[Header("ReadOnly")] [Header("ReadOnly")]
@ -28,6 +29,7 @@ public class SceneLoader : MonoBehaviour
} }
public void LoadScene(string sceneName, Action onLoad) public void LoadScene(string sceneName, Action onLoad)
{ {
disableTest.SetActive(false);
if (loading) if (loading)
{ {
Debug.LogWarning("Scene can't start loading if the other scene not loaded yet."); Debug.LogWarning("Scene can't start loading if the other scene not loaded yet.");

42
Assets/GameAssets/Scripts/SerializableDictionary.cs

@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using UnityEngine;
[Serializable]
public class SerializableDictionary<TKey, TValue>
{
[Serializable]
public class Node
{
public TKey key;
public TValue value;
}
[SerializeField] private List<Node> nodes;
private Dictionary<TKey, TValue> dictionary;
public Dictionary<TKey, TValue> Dictionary
{
get
{
if (dictionary == null)
{
dictionary = ToDictionary();
}
return dictionary;
}
}
private Dictionary<TKey, TValue> ToDictionary()
{
Dictionary<TKey, TValue> dictionary = new Dictionary<TKey, TValue>();
foreach(Node node in nodes)
{
dictionary.Add(node.key, node.value);
}
return dictionary;
}
}

11
Assets/GameAssets/Scripts/SerializableDictionary.cs.meta

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f0c498d09fc5d894091171a91d517fbb
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

2
Assets/GameAssets/Textures.meta

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: db7b31f478c64da47bf1ccc0c3c300d4 guid: 3ada3be75e235e34c8c5b5460a841bd9
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

Loading…
Cancel
Save