Assemblied created

This commit is contained in:
2023-06-02 00:30:58 -04:00
parent 3e1b55b036
commit 63039dbde2
99 changed files with 8302 additions and 1065 deletions

View File

@ -2,68 +2,71 @@ using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class FlareBeacon : MonoBehaviour
namespace Item
{
[SerializeField] private float range = 1;
[SerializeField] private float duration = 5f;
[SerializeField] private NavMeshObstacle obstacle;
private readonly List<GameObject> inRange = new();
private FlareRegister register;
public float Range => range;
// Start is called before the first frame update
private void Start()
public class FlareBeacon : MonoBehaviour
{
register = FlareRegister.instance;
register.beacons.Add(this);
transform.localEulerAngles = new Vector3(-89.98f, 0, 0);
var r = new Ray();
r.direction = -transform.forward;
r.origin = transform.position;
RaycastHit hit;
var rays = Physics.RaycastAll(r);
foreach (var _hit in rays)
[SerializeField] private float range = 1;
[SerializeField] private float duration = 5f;
[SerializeField] private NavMeshObstacle obstacle;
private readonly List<GameObject> inRange = new();
private Item.FlareRegister register;
public float Range => range;
// Start is called before the first frame update
private void Start()
{
if (_hit.transform.gameObject.GetComponent<FlareBeacon>() != null) continue;
transform.position = _hit.point;
break;
register = Item.FlareRegister.instance;
register.beacons.Add(this);
transform.localEulerAngles = new Vector3(-89.98f, 0, 0);
var r = new Ray();
r.direction = -transform.forward;
r.origin = transform.position;
RaycastHit hit;
var rays = Physics.RaycastAll(r);
foreach (var _hit in rays)
{
if (_hit.transform.gameObject.GetComponent<FlareBeacon>() != null) continue;
transform.position = _hit.point;
break;
}
if (Physics.Raycast(r, out hit))
{
// transform.position = hit.point;
}
if (obstacle != null)
obstacle.radius = range / 10;
}
if (Physics.Raycast(r, out hit))
// Update is called once per frame
private void Update()
{
// transform.position = hit.point;
}
if (obstacle != null)
obstacle.radius = range / 10;
}
private void OnDrawGizmosSelected()
{
// Draw a yellow sphere at the transform's position
Gizmos.color = Color.yellow;
// Update is called once per frame
private void Update()
{
}
private void OnDrawGizmosSelected()
{
// Draw a yellow sphere at the transform's position
Gizmos.color = Color.yellow;
Gizmos.DrawWireSphere(transform.position, range);
}
Gizmos.DrawWireSphere(transform.position, range);
}
private void OnTriggerEnter(Collider other)
{
inRange.Add(other.gameObject);
}
private void OnTriggerEnter(Collider other)
{
inRange.Add(other.gameObject);
}
private void OnTriggerExit(Collider other)
{
inRange.Remove(other.gameObject);
private void OnTriggerExit(Collider other)
{
inRange.Remove(other.gameObject);
}
}
}