Manual: Method/Signal/API List

Here is a list of APIs used to access Action Game Maker classes in GDScript.

ObjectVariable/Switch and ProjectVariable/Switch APIs

Access Object Variables(VariableSettings Node)

Get variable data: $VariableSettings.get_value("VariableDataName")
Set variable data: $VaribleSettings.set_value(“VariableName”, Value)
Check for the existence of variables data: $VariableSettings.has_value("VariableDataName")
Get VariableSettings node:$GameObject.get_variable_settings()

Access Object Switches(SwitchSettings Node)

Get switch data: $SwitchSettings.get_value("SwitchDataName")
Set switch data: $SwitchSettings.set_value(“SwitchName”, True / False)
Check for the existence of switch data: $SwitchSettings.has_value(“SwitchDataName”)
Get SwitchSettings node: $GameObject.get_switch_settings()

Read only Object variables/switches

The following ACTION GAME MAKER variables/switches are read-only values and cannot be modified via methods.

Switches:
is_locked, is_touching_portal
Variables:
object_id, stayed_area_id, visible_direction, x_speed, y_speed, player_id, controller_id, taken_damage

Access Project Variables

Get Project Variable: AGMakerManager.get_project_database_variable(“record_name”)
Get Project Variable by record index: get_project_database_variable_by_idx
Set Project Database variable: AGMakerManager.update_project_database_variable(“VariableName”, variable)
Set Project Variables by record index: AGMakerManager.update_project_database_variable_by_idx
Get Project Variables Record Count: AGMakerManager.get_project_database_variable_record_max

AccesProject Switches

Get Project Switch: AGMakerManager.get_project_database_switch(“record_name”)
Set Project Database Switch: AGMakerManager.update_project_database_switch(“SwitchName”, True / False)
Get Project Switch by record Index: AGMakerManager.get_project_database_switch_by_idx
Set Project Switch by record Index: AGMakerManager.update_project_database_switch_by_idx
Get Project Switches Record Count: AGMakerManager.get_project_database_switch_record_max


Database APIs

Access User Database

Get User Database: AGMakerManager.get_project_database_plain(“database_name”, “record_name”, “column_name”)
Get User Database by Record Index : get_project_database_plain_by_idx
Set User Database variables: AGMakerManager.update_project_database_plain(“DatabaseName”, “RecordName”, “CplumnName”, variable)
Set User Database variables by Record Index: AGMakerManager.update_project_database_plain_by_idx
Get User Database Record Count: AGMakerManager.get_project_database_plain_record_max


Access Other Database

Get Sound Database: AGMakerManager.get_project_database_sound(“record_name”, “column_name”)

:small_blue_diamond: Methods to Get Data by Record Index

Equipment Type: AGMakerManager.get_project_database_equipment_type_by_idx
Attribute Type: AGMakerManager.get_project_database_attribute_type_by_idx
User Made Type: AGMakerManager.get_project_database_custom_type_by_idx
Audio Database: AGMakerManager.get_project_database_sound_by_idx

:small_blue_diamond: Methods to Get Record Count

Equipment Type: AGMakerManager.get_project_database_equipment_type_record_max
Attribute Type: AGMakerManager.get_project_database_attribute_type_record_max
User Made Type: AGMakerManager.get_project_database_custom_type_record_max
Audio Database: AGMakerManager.get_project_database_sound_record_max


Camera APIs

:small_blue_diamond: Generate CameraTargetSettings

var camera_target_settings = CameraTargetSettings.new()
camera_target_settings.\_target_id = “Any ID”
camera_target_settings.\_is_active_target = true
camera_target_settings.\_visible_size = Vector2(100, 100)
add_child(camera_target_settings)
camera_target_settings.position = Vector2( 100, 100)

:small_blue_diamond: register CameraTargetSettings to ZoomCamera2D

$ZoomCamera2D.regist_target(camera_target_settings.get_instance_id())

:small_blue_diamond: unregister CameraTargetSettings from ZoomCamera2D

$ZoomCamera2D.unregist_target(camera_target_settings.get_instance_id())


FaceDirectionSettings APIs

  • set_face_direction(angle, flip_flag): First argument: face direction angle, Second argument: whether to flip
  • get_face_direction(): Returns the current face direction angle

Other AGMakerManager Methods

:small_blue_diamond: Register Game Object generated by GDScript to AGMakerManager

AGMakerManager.regist_game_object(“TargetNode”)

  • AGMakerManager is a system that manages various aspects of ACTION GAME MAKER. Since it is also responsible for tracking the lifecycle of GameObjects, any objects created outside of AGMakerManager must be registered with it manually.

:small_blue_diamond: Scene transitions

get_current_game_scene()

  • Returns the currently running GameScene. The return type is GameScene.

Sample Code:

func _ready() -> void:
	var game_scene = AGMakerManager.get_current_game_scene()
	print("*** get current scene = ", game_scene.name)
	pass

Signals

This section lists the signals emitted during various operations in ACTION GAME MAKER.

:small_blue_diamond: GameObject

Save/Load Signals

When a save is performed: on_saved(int slot, Object object)
When a load is performed: on_loaded(int slot, Object object)


:small_blue_diamond: AGMakerManager

Save/Load Signals

When a save is performed: on_saved(int slot)
When a load is performed: on_loaded(int slot)

Scene Transition Related Signals

game_scene_about_to_change(current: Object)
This signal is emitted right before a scene transition is executed.
The parameter current receives the GameScene before the transition.

game_scene_changed(current: Object)
This signal is emitted after the scene transition has completed.
The parameter current receives the GameScene after the transition.

Note: The parameter type is Object due to Godot’s specification.
Please cast it to GameScene or Node2D on the user side when using it.

Sample Code:

func _ready() -> void:
	# Connect to the signal emitted before the scene transition
	AGMakerManager.game_scene_about_to_change.connect(_on_before_change_scene)
	# Connect to the signal emitted after the scene transition
	AGMakerManager.game_scene_changed.connect(_on_after_change_scene)
	pass

func _on_before_change_scene(current_scene: GameScene):
	print("*** on before change scene = ", current_scene.name)
	pass

func _on_after_change_scene(current_scene: GameScene):
	print("*** on after change scene = ", current_scene.name)
	pass

2 Likes