class FakeDoor extends GameObject
{
	var m_interaction : InteractionComponent;

	protected event OnRequestComponents( ri : EntityRequestComponentsInterface )
	{
		super.OnRequestComponents( ri );
		EntityRequestComponentsInterface.RequestComponent( ri, 'interaction', 'InteractionComponent', true );
	}

	protected event OnTakeControl( ri : EntityResolveComponentsInterface )
	{
		super.OnTakeControl( ri );
		m_interaction = ( ( InteractionComponent )( EntityResolveComponentsInterface.GetComponent( ri, 'interaction' ) ) );
	}

	protected event OnInteractionActivated( evt : InteractionActivationEvent )
	{
		if( evt.eventType == gameinteractionsEInteractionEventType.EIET_activate && evt.activator.IsPlayer() )
		{
		}
		else
		{
			m_interaction.ResetChoices( 'direct', true );
		}
	}

	private function CreateFakeDoorChoice()
	{
		var interactionChoice : InteractionChoice;
		var setChoices : InteractionSetChoicesEvent;
		interactionChoice.choiceMetaData.tweakDBID = T"Interactions.FakeOpen";
		ChoiceTypeWrapper.SetType( interactionChoice.choiceMetaData.type, gameinteractionsChoiceType.Inactive );
		interactionChoice.caption = interactionChoice.choiceMetaData.tweakDBName;
		setChoices = new InteractionSetChoicesEvent;
		setChoices.layer = 'direct';
		setChoices.choices.PushBack( interactionChoice );
		QueueEvent( setChoices );
	}

	public const override function DeterminGameplayRole() : EGameplayRole
	{
		return EGameplayRole.OpenPath;
	}

}

