WIP furniture picking

This commit is contained in:
2016-05-26 16:11:13 +02:00
parent 8b70a93eb1
commit c2e8ef71e7
55 changed files with 3306 additions and 45 deletions
@@ -0,0 +1,59 @@
using UnityEngine;
using System.Collections;
public struct HeadsetCollisionEventArgs
{
public Collider collider;
public Transform currentTransform;
}
public delegate void HeadsetCollisionEventHandler(object sender, HeadsetCollisionEventArgs e);
public class SteamVR_HeadsetCollisionFade : MonoBehaviour {
public float blinkTransitionSpeed = 0.1f;
public Color fadeColor = Color.black;
public event HeadsetCollisionEventHandler HeadsetCollisionDetect;
public virtual void OnHeadsetCollisionDetect(HeadsetCollisionEventArgs e)
{
if (HeadsetCollisionDetect != null)
HeadsetCollisionDetect(this, e);
}
protected HeadsetCollisionEventArgs SetHeadsetCollisionEvent(Collider collider, Transform currentTransform)
{
HeadsetCollisionEventArgs e;
e.collider = collider;
e.currentTransform = currentTransform;
return e;
}
protected void Start () {
this.name = "PlayerObject_" + this.name;
BoxCollider collider = this.gameObject.AddComponent<BoxCollider>();
collider.isTrigger = true;
collider.size = new Vector3(0.1f, 0.1f, 0.1f);
Rigidbody rb = this.gameObject.AddComponent<Rigidbody>();
rb.isKinematic = true;
rb.useGravity = false;
}
protected void OnTriggerStay(Collider collider)
{
if (!collider.name.Contains("PlayerObject_"))
{
OnHeadsetCollisionDetect(SetHeadsetCollisionEvent(collider, this.transform));
SteamVR_Fade.Start(fadeColor, blinkTransitionSpeed);
}
}
protected void OnTriggerExit(Collider collider)
{
if (!collider.name.Contains("PlayerObject_"))
{
SteamVR_Fade.Start(Color.clear, blinkTransitionSpeed);
}
}
}