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/Interfaces/Interaction.cs

48 lines
1.5 KiB
C#
Raw Normal View History

using UnityEngine;
[CreateAssetMenu(menuName = "CharacterStateMachine/Interaction")]
public class Interaction : ScriptableObject
{
// Animation performed by the character
[Tooltip("Descriptions follow the prompt \"Press 'E' to ...\"")]
public string interactionDescription;
[Tooltip("Descriptions follow the prompt \"Press 'E' to ...\"")]
public string receiverDescription;
2017-10-09 18:55:07 -05:00
public CharacterAnimator.Params initiatorAnimationTrigger, objectAnimationTrigger;
public InteractionResult result;
2017-10-08 18:37:19 -05:00
public float initialRotation;
public float objectInitialRotation;
public float interactionDistance = 1.0f;
public enum InteractionResult
{
Nothing, SpyMissionComplete
}
2017-10-09 18:55:07 -05:00
/*
public override int GetHashCode()
{
return interactionDescription.GetHashCode() ^ (int)characterInteraction;
2017-10-09 18:55:07 -05:00
}*/
2017-10-08 18:37:19 -05:00
public void ExecuteResult(StateController controller)
{
switch(result)
{
case InteractionResult.Nothing:
break;
case InteractionResult.SpyMissionComplete:
SpyMissionComplete(controller);
break;
default:
Debug.LogError("Invalid result selected for execution");
break;
}
}
//--------------------------------- Result functions ---------------------------------
void SpyMissionComplete(StateController controller)
{
Debug.Log("Completed mission");
}
}