Assemblies Made and Refactored Code Folders
Created assemblies for the new design code. Relocated legacy scripts into a legacy folder and made a "new_design" folder for new design.
This commit is contained in:
72
Assets/Scripts/Legacy/Item/FlareBeacon/FlareBeacon.cs
Normal file
72
Assets/Scripts/Legacy/Item/FlareBeacon/FlareBeacon.cs
Normal file
@ -0,0 +1,72 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.AI;
|
||||
|
||||
namespace Item
|
||||
{
|
||||
public class FlareBeacon : MonoBehaviour
|
||||
{
|
||||
[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()
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
// 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);
|
||||
}
|
||||
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
inRange.Add(other.gameObject);
|
||||
}
|
||||
|
||||
private void OnTriggerExit(Collider other)
|
||||
{
|
||||
inRange.Remove(other.gameObject);
|
||||
}
|
||||
}
|
||||
}
|
11
Assets/Scripts/Legacy/Item/FlareBeacon/FlareBeacon.cs.meta
Normal file
11
Assets/Scripts/Legacy/Item/FlareBeacon/FlareBeacon.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 210701b0acc3ff542b0d114370d98777
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user