69 lines
1.4 KiB
C#
69 lines
1.4 KiB
C#
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
|
||
|
public class PistolComponent : MonoBehaviour
|
||
|
{
|
||
|
[SerializeField]
|
||
|
private Light targetingLight;
|
||
|
|
||
|
private bool IsEnabled = false;
|
||
|
|
||
|
GameObject targetObject;
|
||
|
[SerializeField]
|
||
|
GameObject targetObjectPrefab;
|
||
|
|
||
|
// Start is called before the first frame update
|
||
|
void Start()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
// Update is called once per frame
|
||
|
void Update()
|
||
|
{
|
||
|
|
||
|
|
||
|
}
|
||
|
private void FixedUpdate()
|
||
|
{
|
||
|
if (this.IsEnabled)
|
||
|
{
|
||
|
Ray ray = new Ray(transform.position, transform.up);
|
||
|
RaycastHit hit;
|
||
|
if (Physics.Raycast(ray, out hit, 50))
|
||
|
{
|
||
|
print(hit.transform.name);
|
||
|
targetObject.gameObject.transform.position = hit.point;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
}
|
||
|
public void Enable()
|
||
|
{
|
||
|
IsEnabled = true;
|
||
|
if (targetObject == null)
|
||
|
{
|
||
|
targetObject = Instantiate(targetObjectPrefab);
|
||
|
|
||
|
}
|
||
|
}
|
||
|
public void Disable()
|
||
|
{
|
||
|
IsEnabled = false;
|
||
|
if (targetObject != null)
|
||
|
{
|
||
|
Destroy(targetObject);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void LightToggle() {
|
||
|
this.targetingLight.gameObject.SetActive(!this.targetingLight.gameObject.activeSelf);
|
||
|
}
|
||
|
public bool IsLightOn { get { return this.targetingLight.gameObject.activeSelf; } }
|
||
|
|
||
|
}
|