combatlevel world done | adjusts in portal script to allow for scenemanagement | waiting for ai to finish. need to write enemy spawner scripts
This commit is contained in:
16
Assets/Project Files/Scripts/JonasB/EnterGameSceneChoice.cs
Normal file
16
Assets/Project Files/Scripts/JonasB/EnterGameSceneChoice.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
public class EnterGameSceneChoice : MonoBehaviour
|
||||
{
|
||||
public string sceneName;
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
if (other.tag == "Player")
|
||||
{
|
||||
SceneManager.LoadScene(sceneName);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 04cb32baf795bd24fba5f9d46bef3c34
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,11 +1,14 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
public class PortalTeleporter : MonoBehaviour
|
||||
{
|
||||
//public Transform player;
|
||||
[SerializeField] private PortalTeleporter linkedPortal;
|
||||
[SerializeField] private bool interScenePortal;
|
||||
[SerializeField] private string sceneName;
|
||||
private Transform linkedPortalTransform;
|
||||
private float _portalCooldown = 2.5f;
|
||||
private bool _travellerIsOverlapping = false;
|
||||
@@ -19,12 +22,28 @@ public class PortalTeleporter : MonoBehaviour
|
||||
private AudioSource audioSource;
|
||||
private GameObject vfx_gameobject;
|
||||
|
||||
|
||||
private void Start()
|
||||
{
|
||||
if (linkedPortal == null)
|
||||
if (linkedPortal == null && !interScenePortal)
|
||||
{
|
||||
DisablePortal();
|
||||
}
|
||||
else if (interScenePortal)
|
||||
{
|
||||
_portalCanBeUsed = true;
|
||||
vfx_gameobject = transform.parent.Find("PortalFX").gameObject;
|
||||
audioSource = transform.parent.GetComponent<AudioSource>();
|
||||
audioSource.mute = true;
|
||||
if (_enabled)
|
||||
{
|
||||
vfx_gameobject.SetActive(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
vfx_gameobject.SetActive(false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
linkedPortalTransform = linkedPortal.transform;
|
||||
@@ -45,30 +64,40 @@ public class PortalTeleporter : MonoBehaviour
|
||||
|
||||
void OnTriggerEnter(Collider other)
|
||||
{
|
||||
traveller = other.gameObject.transform;
|
||||
Debug.Log(_enabled);
|
||||
if (_portalCanBeUsed && !_justUsed && _enabled)
|
||||
if (interScenePortal)
|
||||
{
|
||||
if (other.name.StartsWith("Holster") || other.tag.Contains("Holster"))
|
||||
if (other.tag == "Player")
|
||||
{
|
||||
Debug.Log("holster");
|
||||
}
|
||||
else
|
||||
{
|
||||
linkedPortal._portalCanBeUsed = false;
|
||||
_travellerIsOverlapping = true;
|
||||
if (other.tag == "Throwable")
|
||||
{
|
||||
Debug.Log("Portal entered by throwable");
|
||||
HandleThrowable();
|
||||
}
|
||||
else if (other.tag == "Player")
|
||||
{
|
||||
Debug.Log("Portal entered by player");
|
||||
HandlePlayer();
|
||||
}
|
||||
SceneManager.LoadScene(sceneName);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
traveller = other.gameObject.transform;
|
||||
Debug.Log(_enabled);
|
||||
if (_portalCanBeUsed && !_justUsed && _enabled)
|
||||
{
|
||||
if (other.name.StartsWith("Holster") || other.tag.Contains("Holster"))
|
||||
{
|
||||
Debug.Log("holster");
|
||||
}
|
||||
else
|
||||
{
|
||||
linkedPortal._portalCanBeUsed = false;
|
||||
_travellerIsOverlapping = true;
|
||||
if (other.tag == "Throwable")
|
||||
{
|
||||
Debug.Log("Portal entered by throwable");
|
||||
HandleThrowable();
|
||||
}
|
||||
else if (other.tag == "Player")
|
||||
{
|
||||
Debug.Log("Portal entered by player");
|
||||
HandlePlayer();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Enable/Disable portal if selected item is in a socket.
|
||||
@@ -76,9 +105,12 @@ public class PortalTeleporter : MonoBehaviour
|
||||
{
|
||||
Debug.Log("enabled");
|
||||
_enabled = true;
|
||||
linkedPortal._enabled = true;
|
||||
if (!interScenePortal)
|
||||
{
|
||||
linkedPortal._enabled = true;
|
||||
linkedPortal.vfx_gameobject.SetActive(true);
|
||||
}
|
||||
vfx_gameobject.SetActive(true);
|
||||
linkedPortal.vfx_gameobject.SetActive(true);
|
||||
audioSource.mute = false;
|
||||
}
|
||||
|
||||
@@ -86,9 +118,12 @@ public class PortalTeleporter : MonoBehaviour
|
||||
{
|
||||
Debug.Log("disabled");
|
||||
_enabled = false;
|
||||
linkedPortal._enabled = false;
|
||||
if (interScenePortal)
|
||||
{
|
||||
linkedPortal._enabled = false;
|
||||
linkedPortal.vfx_gameobject.SetActive(false);
|
||||
}
|
||||
vfx_gameobject.SetActive(false);
|
||||
linkedPortal.vfx_gameobject.SetActive(false);
|
||||
audioSource.mute = true;
|
||||
}
|
||||
|
||||
@@ -154,7 +189,10 @@ public class PortalTeleporter : MonoBehaviour
|
||||
{
|
||||
_justUsed = false;
|
||||
_portalCanBeUsed = true;
|
||||
linkedPortal._portalCanBeUsed = true;
|
||||
if (!interScenePortal)
|
||||
{
|
||||
linkedPortal._portalCanBeUsed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user