Assignment for RMIT Mixed Reality in 2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

64 lines
1.4 KiB

namespace Oculus.Platform.Samples.VrHoops
{
using UnityEngine;
using UnityEngine.UI;
// Uses two triggers to detect that a basket is made by traveling from top to bottom
// through the hoop.
public class DetectBasket : MonoBehaviour
{
private enum BasketPhase { NONE, TOP, BOTH, BOTTOM }
private BasketPhase m_phase = BasketPhase.NONE;
private Player m_owningPlayer;
public Player Player
{
set { m_owningPlayer = value; }
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.name == "Basket Top" && m_phase == BasketPhase.NONE)
{
m_phase = BasketPhase.TOP;
}
else if (other.gameObject.name == "Basket Bottom" && m_phase == BasketPhase.TOP)
{
m_phase = BasketPhase.BOTH;
}
else
{
m_phase = BasketPhase.NONE;
}
}
void OnTriggerExit(Collider other)
{
if (other.gameObject.name == "Basket Top" && m_phase == BasketPhase.BOTH)
{
m_phase = BasketPhase.BOTTOM;
}
else if (other.gameObject.name == "Basket Bottom" && m_phase == BasketPhase.BOTTOM)
{
m_phase = BasketPhase.NONE;
switch (PlatformManager.CurrentState)
{
case PlatformManager.State.PLAYING_A_LOCAL_MATCH:
case PlatformManager.State.PLAYING_A_NETWORKED_MATCH:
if (m_owningPlayer)
{
m_owningPlayer.Score += 2;
}
break;
}
}
else
{
m_phase = BasketPhase.NONE;
}
}
}
}