updated start menu, added beacon

This commit is contained in:
2023-04-17 18:23:47 -04:00
parent bfd1b3cc5b
commit 5c76e75d38
33 changed files with 2017 additions and 2038 deletions

View File

@ -0,0 +1,30 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BulletComponent : MonoBehaviour
{
[SerializeField]
private float duration = 5f;
private float existed = 0f;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
private void FixedUpdate()
{
if(existed >= duration)
{
Destroy(this.gameObject);
}
existed += Time.fixedDeltaTime;
}
}

View File

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

View File

@ -0,0 +1,44 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PistolAnimationAimAssist : MonoBehaviour
{
public Transform leftShoulder;
public Transform rightShoulder;
[SerializeField]
private bool isEnabled = false;
Vector3 lTarget;
Vector3 rTarget;
private Animator anim;
// Start is called before the first frame update
void Start()
{
lTarget = new Vector3(72.9f, 122.2f, -129.9f);
rTarget = new Vector3(82f, 11f, -88f);
anim =GetComponent<Animator>();
}
// Update is called once per frame
void Update()
{
if (isEnabled)
{
anim.StopPlayback();
leftShoulder.transform.eulerAngles = lTarget;
rightShoulder.transform.eulerAngles = rTarget;
print("Applying!");
anim.StartPlayback();
}
}
public void Enable()
{
isEnabled = true;
}
public void Disable()
{
isEnabled = false;
}
}

View File

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

View File

@ -0,0 +1,110 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using static UnityEngine.UI.Image;
public class PistolComponent : MonoBehaviour
{
[SerializeField]
private Light targetingLight;
private bool IsEnabled = false;
GameObject targetObject;
[SerializeField]
GameObject targetObjectPrefab;
[SerializeField]
private GameObject projectilePrefab;
[SerializeField]
private Transform bulletSpawnPoint;
[SerializeField]
private float firePower = 20f;
[SerializeField]
private float maxProjectileDuration = 5f;
//private Dictionary<int,float> projectiles = new Dictionary<int, float>();
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
private float CalculateDrop(Vector3 origin,Vector3 destination,Vector3 force)
{
// Calculate the initial velocity required to reach the destination.
Vector3 displacement = destination - origin;
float time = Mathf.Sqrt(2f * displacement.magnitude / Physics.gravity.magnitude);
Vector3 velocity = (displacement - 0.5f * Physics.gravity * time * time) / time + force;
// Calculate the height the object will reach during its flight.
float maxHeight = origin.y + velocity.y * time - 0.5f * Physics.gravity.y * time * time;
// Calculate the distance the object will drop during its flight.
float dropDistance = maxHeight - destination.y;
return dropDistance;
}
private void FixedUpdate()
{
if (this.IsEnabled)
{
Ray ray = new Ray(transform.position, transform.up);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, 50))
{
targetObject.gameObject.transform.position = hit.point;
float drop = CalculateDrop(this.bulletSpawnPoint.position, hit.point, this.transform.up * this.firePower);
print(drop);
}
}
}
public void Fire()
{
GameObject projectile = Instantiate(projectilePrefab, this.bulletSpawnPoint);
projectile.transform.localPosition = Vector3.zero;
projectile.transform.localEulerAngles = Vector3.zero;
projectile.transform.localScale = Vector3.one;
Rigidbody pRigid = projectile.GetComponent<Rigidbody>();
pRigid.AddForce(pRigid.transform.up*this.firePower, ForceMode.Impulse);
projectile.transform.parent = null;
}
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; } }
}

View File

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