Fixed grabber sorting logic
Added grabber sounds Improved grabber marker placement
This commit is contained in:
@@ -19,6 +19,15 @@ public class RobotArmController : MonoBehaviour
|
||||
public GameObject targetMarker;
|
||||
|
||||
|
||||
//Audio
|
||||
public AudioSource backgroundSource;
|
||||
public AudioSource sfxSource;
|
||||
public AudioSource interactSource;
|
||||
|
||||
public AudioClip idleSound;
|
||||
public AudioClip interactSound;
|
||||
public AudioClip moveClip;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
@@ -28,7 +37,10 @@ public class RobotArmController : MonoBehaviour
|
||||
|
||||
private void Update()
|
||||
{
|
||||
targetMarker.transform.position = new Vector3(target.transform.position.x, transform.position.y + .5f, target.transform.position.z);
|
||||
RaycastHit hit;
|
||||
Physics.Raycast(grabber.grabSpot.transform.position, Vector3.down, out hit, 10);
|
||||
|
||||
targetMarker.transform.position = new Vector3(grabber.grabSpot.transform.position.x, hit.point.y + 0.05f, grabber.grabSpot.transform.position.z);
|
||||
}
|
||||
|
||||
public void InteractNode(Node pre)
|
||||
@@ -43,6 +55,8 @@ public class RobotArmController : MonoBehaviour
|
||||
{
|
||||
if (!isInUse) { return; }
|
||||
|
||||
bool isMoving = false;
|
||||
|
||||
//return to network view with x
|
||||
if (Keyboard.current.xKey.wasPressedThisFrame)
|
||||
{
|
||||
@@ -53,20 +67,29 @@ public class RobotArmController : MonoBehaviour
|
||||
}
|
||||
|
||||
//return to network view with x
|
||||
if (Keyboard.current.spaceKey.wasPressedThisFrame)
|
||||
if (Keyboard.current.spaceKey.wasPressedThisFrame && !sfxSource.isPlaying)
|
||||
{
|
||||
grabber.GrabClosest();
|
||||
interactSource.clip = interactSound;
|
||||
interactSource.Play();
|
||||
|
||||
}
|
||||
|
||||
//Hoch/Runter
|
||||
if (Keyboard.current.ctrlKey.isPressed && target.transform.position.y > transform.position.y)
|
||||
{
|
||||
if(Physics.Raycast(grabber.transform.position, Vector3.down, .9f))
|
||||
{
|
||||
target.transform.localPosition -= Vector3.down * Time.deltaTime * armSpeed;
|
||||
}
|
||||
target.transform.localPosition += Vector3.down * Time.deltaTime * armSpeed;
|
||||
isMoving = true;
|
||||
}
|
||||
|
||||
if (Keyboard.current.shiftKey.isPressed && target.transform.localPosition.y < targetConstraints.y)
|
||||
{
|
||||
target.transform.localPosition += Vector3.up * Time.deltaTime * armSpeed;
|
||||
isMoving = true;
|
||||
}
|
||||
|
||||
//Debug.Log(-targetConstraints.z);
|
||||
@@ -74,33 +97,50 @@ public class RobotArmController : MonoBehaviour
|
||||
if (Keyboard.current.aKey.isPressed && target.transform.localPosition.z > -targetConstraints.z)
|
||||
{
|
||||
target.transform.localPosition += Vector3.back * Time.deltaTime * armSpeed;
|
||||
isMoving = true;
|
||||
}
|
||||
|
||||
if (Keyboard.current.dKey.isPressed && target.transform.localPosition.z < targetConstraints.z)
|
||||
{
|
||||
target.transform.localPosition += Vector3.forward * Time.deltaTime * armSpeed;
|
||||
isMoving = true;
|
||||
}
|
||||
|
||||
//Left/Right
|
||||
if (Keyboard.current.qKey.isPressed)
|
||||
{
|
||||
transform.Rotate(0.0f, armRotationSpeed * Time.deltaTime, 0.0f, Space.Self);
|
||||
isMoving = true;
|
||||
}
|
||||
|
||||
if (Keyboard.current.eKey.isPressed)
|
||||
{
|
||||
transform.Rotate(0.0f, -armRotationSpeed * Time.deltaTime, 0.0f, Space.Self);
|
||||
isMoving = true;
|
||||
}
|
||||
|
||||
//Forwards/Backwards
|
||||
if (Keyboard.current.wKey.isPressed && target.transform.localPosition.x > -targetConstraints.x)
|
||||
{
|
||||
target.transform.localPosition += Vector3.left * Time.deltaTime * armSpeed;
|
||||
isMoving = true;
|
||||
}
|
||||
|
||||
if (Keyboard.current.sKey.isPressed && target.transform.localPosition.x < -3.5f)
|
||||
{
|
||||
target.transform.localPosition += Vector3.right * Time.deltaTime * armSpeed;
|
||||
isMoving = true;
|
||||
}
|
||||
|
||||
if (!sfxSource.isPlaying && isMoving)
|
||||
{
|
||||
sfxSource.clip = moveClip;
|
||||
sfxSource.Play();
|
||||
}
|
||||
|
||||
if(!isMoving)
|
||||
{
|
||||
sfxSource.Stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user