ExampleMovementDataMono
ExampleMovementDataMono

Purpose

Now “DataMono” characters are built by using bootstrappable data components for entities and no longer rely on AgentMono script, which reduces the number of necessary functions and decouples them from a single class.

How to Use

Each data component is handled by one or more different RIDE systems.

New bootstrappable entity components added for the following functions:

RideAgent

  • Basic agent info such as name and team
  • Handled by IAgentSystem

RideAgentMover

  • Default RIDE IMover for agent movement and path calculation
  • Implements either Unity or AStar navigation solution
  • Handled by IMovementSystem

UnitBoost

  • Handles speed multiplier (for functions like character sprinting)
  • Handled by IMovementSystem for characters (could be expanded by future systems for vehicle use)

RideAgentAnimationController

  • Sets up animations for characters
  • Handled by IAnimationSystem

RideInventory

  • Updated inventory/item system that now tracks both items, item status (ownership, stowage, equipped, etc.) and the “containers” that carry them. These conceptual containers could include representation of pockets, backpacks, ammunition boxes as well as character hands.
  • Handled by IEquipmentSystem

RideEntityHitBox

  • This component handles hit boxes and health status of the entity
  • Will be expanded to be more customizable to include multiple hit boxes/areas with varying different levels of hit points and locations so it can be used on a variety of entity types including both characters and vehicles
  • Handled by IAttackSystem

RideEntitySelector

  • Handles the user selection interface with units (much like selecting units in an RTS)
  • This component sets up the entity for selection for the RideEntitySelectorSystem
  • Handled by ISelector (RideEntitySelectorSystem)

Camera

  • Sets up cameras around an entity
  • Allows for different types of camera configurations such as first-person and third-person (free-look and locked) views
  • Handled by ICameraSystem

PlayerInputController

  • An IInputController that handles user input
  • Currently used by player controlled characters
  • Handled by IInputSystem

RideAgentControllable

  • An IInputControllable that receives input for characters
  • Currently used by player controlled characters that receive input from a PlayerInputController and moves the character around
  • Handled by IInputSystem

Scene Location & Name

Various DataMono counterparts to the original AgentMonoDataMono scenes now exist:

Assets/Ride/Examples/BattleDrills/BattleDrill_ReactToAmbush_DataMono.unity

Assets/Ride/Examples/Groups/ExampleGroupsDataMono.unity

Assets/Ride/Examples/MilitaryUnits/ExampleMilitaryUnitsDataMono.unity

Assets/Ride/Examples/Movement/ExampleMovementDataMono.unity

Assets/Ride/Examples/PlayerInputController/PlayerInputControllerDataMono.unity

How to Use

PrefabDataMono Entities 

Pre-built PrefabDataMono entities can be found in the following location:

Assets/Ride_Art/Art/Characters/MiddleEast/RideEntities/

ResourceLoader Prefab

In order to instantiate any PrefabDataMono entity dynamically via code at run-time, ensure the necessary prefabs are added to the ResourceLoader prefab under the RideSystems prefab. Add a new Element entry in the Unit Prefabs section for each unit desired.