Unravel Engine C++ Reference
Loading...
Searching...
No Matches
unravel::script_component Class Reference

Class that contains core data for audio listeners. There can only be one instance of it per scene. More...

#include <script_component.h>

Inheritance diagram for unravel::script_component:
unravel::component_crtp< script_component, owned_component > unravel::owned_component unravel::basic_component

Classes

struct  script_object
 
struct  script_object_state
 

Public Types

using scoped_object_ptr = std::shared_ptr<mono::mono_scoped_object>
 
using script_components_t = std::vector<script_object>
 
- Public Types inherited from unravel::component_crtp< script_component, owned_component >
using base
 

Public Member Functions

void process_pending_deletions ()
 
void process_pending_creates ()
 
void process_pending_starts ()
 
void process_pending_actions ()
 
void process_pending_actions (script_object script_obj)
 
void process_pending_actions_create (script_object script_obj)
 
auto add_script_component (const mono::mono_type &type) -> script_object
 
auto add_script_component (const mono::mono_object &obj) -> script_object
 
auto add_script_component (const script_object &obj, bool process_callbacks=true) -> script_object
 
void add_script_components (const script_components_t &comps)
 
void add_missing_script_components (const script_components_t &comps)
 
auto add_native_component (const mono::mono_type &type) -> script_object
 
auto remove_script_component (const mono::mono_object &obj) -> bool
 
auto remove_script_component (const mono::mono_type &type) -> bool
 
auto remove_native_component (const mono::mono_object &obj) -> bool
 
auto remove_native_component (const mono::mono_type &type) -> bool
 
auto get_script_components (const mono::mono_type &type) -> std::vector< mono::mono_object >
 
auto get_script_component (const mono::mono_type &type) -> script_object
 
auto get_native_component (const mono::mono_type &type) -> script_object
 
auto get_script_components () const -> const script_components_t &
 
auto has_script_components () const -> bool
 
auto has_script_components (const std::string &type_name) const -> bool
 
auto get_script_source_location (const script_object &obj) const -> std::string
 
void create ()
 
void start ()
 
void destroy ()
 
void enable ()
 
void disable ()
 
void on_sensor_enter (entt::handle other)
 
void on_sensor_exit (entt::handle other)
 
void on_collision_enter (entt::handle other, const std::vector< manifold_point > &manifolds, bool use_b)
 
void on_collision_exit (entt::handle other, const std::vector< manifold_point > &manifolds, bool use_b)
 
- Public Member Functions inherited from unravel::owned_component
auto operator= (const owned_component &other) -> owned_component &=default
 
void set_owner (entt::handle owner)
 Sets the owner of the component.
 
auto get_owner () const noexcept -> entt::const_handle
 Gets the owner of the component.
 
auto get_owner () noexcept -> entt::handle
 Gets the owner of the component.
 
- Public Member Functions inherited from unravel::basic_component
void touch ()
 Marks the component as 'touched'.
 

Static Public Member Functions

static void on_create_component (entt::registry &r, entt::entity e)
 Called when the component is created.
 
static void on_destroy_component (entt::registry &r, entt::entity e)
 Called when the component is destroyed.
 
- Static Public Member Functions inherited from unravel::owned_component
template<typename T >
static void on_create_component (entt::registry &r, entt::entity e)
 
template<typename T >
static void on_destroy_component (entt::registry &r, entt::entity e)
 

Additional Inherited Members

- Public Attributes inherited from unravel::basic_component
bool eto {}
 Disable empty type optimizations.
 
- Static Public Attributes inherited from unravel::component_crtp< script_component, owned_component >
static constexpr bool in_place_delete
 Indicates if the component can be deleted in place.
 

Detailed Description

Class that contains core data for audio listeners. There can only be one instance of it per scene.

Definition at line 21 of file script_component.h.

Member Typedef Documentation

◆ scoped_object_ptr

using unravel::script_component::scoped_object_ptr = std::shared_ptr<mono::mono_scoped_object>

Definition at line 24 of file script_component.h.

◆ script_components_t

Definition at line 102 of file script_component.h.

Member Function Documentation

◆ add_missing_script_components()

void unravel::script_component::add_missing_script_components ( const script_components_t & comps)

Definition at line 470 of file script_component.cpp.

◆ add_native_component()

auto unravel::script_component::add_native_component ( const mono::mono_type & type) -> script_object

Definition at line 488 of file script_component.cpp.

◆ add_script_component() [1/3]

auto unravel::script_component::add_script_component ( const mono::mono_object & obj) -> script_object

Definition at line 435 of file script_component.cpp.

◆ add_script_component() [2/3]

auto unravel::script_component::add_script_component ( const mono::mono_type & type) -> script_object

Definition at line 429 of file script_component.cpp.

◆ add_script_component() [3/3]

auto unravel::script_component::add_script_component ( const script_object & obj,
bool process_callbacks = true ) -> script_object

Definition at line 441 of file script_component.cpp.

◆ add_script_components()

void unravel::script_component::add_script_components ( const script_components_t & comps)

Definition at line 459 of file script_component.cpp.

◆ create()

void unravel::script_component::create ( )

Definition at line 42 of file script_component.cpp.

◆ destroy()

void unravel::script_component::destroy ( )

Definition at line 53 of file script_component.cpp.

◆ disable()

void unravel::script_component::disable ( )

Definition at line 75 of file script_component.cpp.

◆ enable()

void unravel::script_component::enable ( )

Definition at line 65 of file script_component.cpp.

◆ get_native_component()

auto unravel::script_component::get_native_component ( const mono::mono_type & type) -> script_object

Definition at line 533 of file script_component.cpp.

◆ get_script_component()

auto unravel::script_component::get_script_component ( const mono::mono_type & type) -> script_object

Definition at line 514 of file script_component.cpp.

◆ get_script_components() [1/2]

auto unravel::script_component::get_script_components ( ) const -> const script_components_t&

Definition at line 647 of file script_component.cpp.

◆ get_script_components() [2/2]

auto unravel::script_component::get_script_components ( const mono::mono_type & type) -> std::vector<mono::mono_object>

Definition at line 498 of file script_component.cpp.

◆ get_script_source_location()

auto unravel::script_component::get_script_source_location ( const script_object & obj) const -> std::string

Definition at line 665 of file script_component.cpp.

◆ has_script_components() [1/2]

auto unravel::script_component::has_script_components ( ) const -> bool

Definition at line 652 of file script_component.cpp.

◆ has_script_components() [2/2]

auto unravel::script_component::has_script_components ( const std::string & type_name) const -> bool

Definition at line 657 of file script_component.cpp.

◆ on_collision_enter()

void unravel::script_component::on_collision_enter ( entt::handle other,
const std::vector< manifold_point > & manifolds,
bool use_b )

Definition at line 105 of file script_component.cpp.

◆ on_collision_exit()

void unravel::script_component::on_collision_exit ( entt::handle other,
const std::vector< manifold_point > & manifolds,
bool use_b )

Definition at line 115 of file script_component.cpp.

◆ on_create_component()

void unravel::script_component::on_create_component ( entt::registry & r,
entt::entity e )
static

Called when the component is created.

Parameters
rThe registry containing the component.
eThe entity associated with the component.

Definition at line 30 of file script_component.cpp.

◆ on_destroy_component()

void unravel::script_component::on_destroy_component ( entt::registry & r,
entt::entity e )
static

Called when the component is destroyed.

Parameters
rThe registry containing the component.
eThe entity associated with the component.

Definition at line 38 of file script_component.cpp.

◆ on_sensor_enter()

void unravel::script_component::on_sensor_enter ( entt::handle other)

Definition at line 85 of file script_component.cpp.

◆ on_sensor_exit()

void unravel::script_component::on_sensor_exit ( entt::handle other)

Definition at line 95 of file script_component.cpp.

◆ process_pending_actions() [1/2]

void unravel::script_component::process_pending_actions ( )

◆ process_pending_actions() [2/2]

void unravel::script_component::process_pending_actions ( script_object script_obj)

Definition at line 402 of file script_component.cpp.

◆ process_pending_actions_create()

void unravel::script_component::process_pending_actions_create ( script_object script_obj)

Definition at line 407 of file script_component.cpp.

◆ process_pending_creates()

void unravel::script_component::process_pending_creates ( )

Definition at line 368 of file script_component.cpp.

◆ process_pending_deletions()

void unravel::script_component::process_pending_deletions ( )

Definition at line 344 of file script_component.cpp.

◆ process_pending_starts()

void unravel::script_component::process_pending_starts ( )

Definition at line 385 of file script_component.cpp.

◆ remove_native_component() [1/2]

auto unravel::script_component::remove_native_component ( const mono::mono_object & obj) -> bool

Definition at line 602 of file script_component.cpp.

◆ remove_native_component() [2/2]

auto unravel::script_component::remove_native_component ( const mono::mono_type & type) -> bool

Definition at line 624 of file script_component.cpp.

◆ remove_script_component() [1/2]

auto unravel::script_component::remove_script_component ( const mono::mono_object & obj) -> bool

Definition at line 552 of file script_component.cpp.

◆ remove_script_component() [2/2]

auto unravel::script_component::remove_script_component ( const mono::mono_type & type) -> bool

Definition at line 577 of file script_component.cpp.

◆ start()

void unravel::script_component::start ( )

Definition at line 46 of file script_component.cpp.


The documentation for this class was generated from the following files: