mirror of
https://github.com/ConjureETS/PillowFight.git
synced 2026-03-24 09:00:58 +00:00
82 lines
1.8 KiB
C#
82 lines
1.8 KiB
C#
using UnityEngine;
|
|
using System.Collections;
|
|
|
|
[RequireComponent(typeof(Rigidbody))]
|
|
public class Child : MonoBehaviour
|
|
{
|
|
public float Speed = 10f;
|
|
public float JumpForce = 10f;
|
|
public GameObject GroundCheck;
|
|
|
|
private Rigidbody _rb;
|
|
private bool _isGrounded = false;
|
|
private float _xValue;
|
|
private float _zValue;
|
|
public Pillow pillow;
|
|
|
|
|
|
void Awake()
|
|
{
|
|
_rb = GetComponent<Rigidbody>();
|
|
}
|
|
|
|
void Update()
|
|
{
|
|
_isGrounded = IsGrounded();
|
|
|
|
Debug.Log(_isGrounded);
|
|
}
|
|
|
|
|
|
void OnTriggerEnter(Collider other) {
|
|
if (other.tag == "Pillow") {
|
|
|
|
pillow = other.GetComponent<Pillow>();
|
|
other.transform.parent = transform; // make the pillow a child of Child
|
|
|
|
// TODO: place the pillow correctly or animate or something...
|
|
|
|
Debug.Log(_isGrounded);
|
|
}
|
|
}
|
|
|
|
void FixedUpdate()
|
|
{
|
|
// We move the child depending on the camera orientation
|
|
|
|
Vector3 forwardDir = Camera.main.transform.forward;
|
|
Vector3 rightDir = Camera.main.transform.right;
|
|
|
|
forwardDir *= _zValue * Speed;
|
|
forwardDir.y = _rb.velocity.y;
|
|
|
|
rightDir *= _xValue * Speed;
|
|
rightDir.y = 0f;
|
|
|
|
_rb.velocity = forwardDir + rightDir;
|
|
}
|
|
|
|
private bool IsGrounded()
|
|
{
|
|
Collider[] colliders = Physics.OverlapSphere(GroundCheck.transform.position, 0.149f, 1 << LayerMask.NameToLayer("Ground"));
|
|
|
|
return colliders.Length > 0;
|
|
}
|
|
|
|
public void Move(float xValue, float zValue)
|
|
{
|
|
_xValue = xValue;
|
|
_zValue = zValue;
|
|
}
|
|
|
|
public void Jump()
|
|
{
|
|
if (_isGrounded)
|
|
{
|
|
_isGrounded = false;
|
|
|
|
_rb.AddForce(new Vector3(0f, JumpForce, 0f));
|
|
}
|
|
}
|
|
}
|