ECS явным образом отделяет данные и логику, оперирующую этими данными. Эта логика, в свою очередь, обычно выполняется покадрово (то есть повторяется). Apparatus имплементирует эту функциональность через концепт, называемый Mechanical (механический тип). Механические объекты - как многогранный организм, включают несколько механик (Mechanics), которые выполняются внутри них.
Если вы намерены идти C++ путём, создание собственного механического типа проходит примерно так.
MyMechanicalActor.h
:// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "MechanicalActor.h" #include "MyMechanicalActor.generated.h" /** * */ UCLASS() class MY_API AMyMechanicalActor : public AMechanicalActor { GENERATED_BODY() };
MyMechanicalActor.cpp
:// Fill out your copyright notice in the Description page of Project Settings. #include "MyMechanicalActor.h"
void Tick(float DeltaTime) override;
void AMyMechanicalActor::Tick(float DeltaTime) { // Ваш код механики }