Level design and convinience scripts

This commit is contained in:
Richard Ott
2018-09-02 15:55:52 +02:00
parent 48244b8f8d
commit 30e355d7f1
31 changed files with 13565 additions and 8 deletions

View File

@@ -30,6 +30,7 @@ public class LurchRespawn : MonoBehaviour {
private int UpdateFrequenzy = 15;
[SerializeField]
private float maxFallDist = 100;
public float maxDistanceToPoint = 10.0f;
[SerializeField]
private KeyCode respawnKey = KeyCode.R;
@@ -102,7 +103,7 @@ public class LurchRespawn : MonoBehaviour {
for (int i = lastRespawnPointIndex; i < respawnPoints.Count; i++)
{
nextPointDist = Vector3.Distance(transform.position, respawnPoints[i].transform.position);
if (nextPointDist < lastPointDist)
if (nextPointDist < lastPointDist && nextPointDist < maxDistanceToPoint)
{
lastRespawnPoint = respawnPoints[i];
lastRespawnPointIndex = i;

View File

@@ -0,0 +1,54 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TriggerActivate : MonoBehaviour {
public AudioSource theAudio;
public AudioClip theClip;
public GameObject theObject;
public Rigidbody theRigidBody;
private Vector3 startPos;
// Use this for initialization
void Start () {
if (theObject)
{
theObject.SetActive(false);
}
if (theRigidBody)
{
theRigidBody.isKinematic = true;
startPos = theRigidBody.transform.position;
}
}
// Update is called once per frame
void Update () {
}
private void OnTriggerEnter(Collider other)
{
if (other.transform.root.tag == "Player") {
if (theAudio)
{
theAudio.clip = theClip;
theAudio.Play();
}
if (theObject)
{
theObject.SetActive(true);
}
if (theRigidBody)
{
theRigidBody.isKinematic = false;
theRigidBody.transform.position = startPos;
}
}
}
}

View File

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

View File

@@ -0,0 +1,39 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TriggerDeactivateLight : MonoBehaviour {
public LightLurch theScript;
public Light theLight;
public bool activate;
public bool deactivate;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
private void OnTriggerEnter(Collider other)
{
if (other.transform.root.tag == "Player")
{
if (deactivate)
{
theScript.enabled = false;
theLight.enabled = false;
}
if (activate)
{
theScript.enabled = true;
theLight.enabled = true;
}
}
}
}

View File

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