52 lines
1.6 KiB
C#
52 lines
1.6 KiB
C#
/*
|
|
* Author: Shannon Goh and Livinia Poo
|
|
* Date: 03/02/2025
|
|
* Description:
|
|
* Pen Interactor Handle script
|
|
*/
|
|
|
|
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.XR.Interaction.Toolkit;
|
|
using UnityEngine.XR.Interaction.Toolkit.Interactors;
|
|
public class PenInteractor : MonoBehaviour
|
|
{
|
|
/// <summary>
|
|
/// Document script reference
|
|
/// </summary>
|
|
private StampDocument stampDocScript;
|
|
|
|
/// <summary>
|
|
/// Sign when pen touches area
|
|
/// </summary>
|
|
/// <param name="collision"></param>
|
|
private void OnCollisionEnter(Collision collision)
|
|
{
|
|
if (PenSocketInteractor.isPickedUp && collision.gameObject.CompareTag("Paper"))
|
|
{
|
|
if (collision.collider.gameObject.name == "Stamp-Sign Area")
|
|
{
|
|
stampDocScript = collision.gameObject.GetComponent<StampDocument>();
|
|
|
|
if(stampDocScript != null)
|
|
{
|
|
PlayerDialogueInteraction.instance.currentDocument = stampDocScript.gameObject;
|
|
|
|
if(!stampDocScript.isSigned)
|
|
{
|
|
AudioManager.instance.PlaySFX(AudioManager.instance.pen);
|
|
|
|
PlayerDialogueInteraction.instance.servicesPanel.SetActive(true);
|
|
PlayerDialogueInteraction.instance.questionPanel.SetActive(false);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Debug.LogError("Paper doesn't have StampDocScript");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|