Overview
Create a system for interacting with objects, where you can pick up items e.g. keys or interact with items such as doors.
User story
As a Player, I want to interact with items, so that I can either collect them or trigger their functionality e.g. open door.
Acceptance criteria
Player look at a object and press E to interact with it
This should work with both picking up items or triggering other objects such as NPCs or doors
Full task description
Raycasting is advised and making the interactable a interface with other interfaces for specific purposes such as a pickable and triggerable is also recommended.
IInteractable could have the following properties:
Range to interact with (Basicaly a collison size for triggering)
Name (Might be displayed on the UI when withing range like "Story Clue 1")
A list of diffrent kinds of interfaces that could inherit from the main one are:
ICollectible (For items for a daily task, which maybe adds the item to the players inventory/list of booleans of items collected and destroys the model afterwards since it is "collected")
IHideable (For hiding inside or underneath certain objects such as beds or closets, could do so by movingthe player to a certain position and create a short 'animation' for the transition)
ITalkable (For NPCs to trigger the dialogue system, I also imagine that the player would rotate towards the NPC and then disable movement where only dialogue options are available)
IEventable (For triggering certain events like sleeping thus ending the day, entering and exitng certain areas of the game or just when triggering narrative events in general)
Overview Create a system for interacting with objects, where you can pick up items e.g. keys or interact with items such as doors.
User story As a Player, I want to interact with items, so that I can either collect them or trigger their functionality e.g. open door.
Acceptance criteria
Full task description Raycasting is advised and making the interactable a interface with other interfaces for specific purposes such as a pickable and triggerable is also recommended.
IInteractable could have the following properties:
A list of diffrent kinds of interfaces that could inherit from the main one are: