This repository has been archived on 2025-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
project-undercover/Project Undercover/Assets/Scripts/CharacterStateMachine/ActionScripts/PromptInteractionsAction.cs

44 lines
1.3 KiB
C#
Raw Normal View History

2017-10-03 04:15:13 -05:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(menuName = "CharacterStateMachine/Actions/PromptInteractions")]
public class PromptInteractionsAction : Action {
public override void Act(StateController controller)
{
if (ReceivedInteraction(controller))
{
InteractionPanelController.ActivePanel.AcceptInteractionReveal(controller);
2017-10-03 04:15:13 -05:00
}
else if (SelectedObjectAvailable(controller))
{
InteractionPanelController.ActivePanel.SelectInteractionReveal(controller);
2017-10-03 04:15:13 -05:00
}
else
{
//InteractionPanelController.Hide();
2017-10-03 04:15:13 -05:00
}
}
public override void EndAct(StateController controller)
{
InteractionPanelController.ActivePanel.Hide();
2017-10-03 04:15:13 -05:00
}
// Other controller is attempting to interact with this controller
bool ReceivedInteraction(StateController controller)
{
return controller.Interactor;
}
bool SelectedObjectAvailable(StateController controller)
{
if (controller.SelectedObject == null)
return false;
if (controller.SelectedObject.Interactor != null)
return false;
return (controller.SelectedObject.transform.position - controller.transform.position).magnitude < StateController.INTERACT_RANGE;
2017-10-03 04:15:13 -05:00
}
}