en:toolworks:docs:apparatus:detail

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
en:toolworks:docs:apparatus:detail [2021/06/11 15:48] vladiusen:toolworks:docs:apparatus:detail [2021/06/26 10:25] – [C++ Workflow] vladius
Line 1: Line 1:
 ====== Detail ====== ====== Detail ======
  
-Details are the main building data blocks in Apparatus. They are high-level entities (unlike Traits), which support some additional ECS+ functionality like multi-iterating and inheritance.+Details are the main building data blocks in Apparatus. They are high-level entities (unlike [[en:toolworks:docs:apparatus:trait|Traits]]), which support some additional ECS+ functionality like multi-iterating and inheritance.
  
-Details do derive from [[ue>API/Runtime/CoreUObject/UObject/UObject|UObject]] and are subject to garbage collecting and Unreal's general memory model.+Details do derive from [[ue>API/Runtime/CoreUObject/UObject/UObject|UObject]] and are subject to garbage collecting and Unreal's general memory model (unlike Traits which use their own memory organization). 
 + 
 +If you need to change some of the Detail members, you can do it *directly* via members' assignment or calling non-const Detail's methods. No need to re-apply or copy the Detail data again. 
 + 
 +As an optimization of some internal logic, Details can't really be removed from Subjectives. They can only be *disabled*. This is effectively the same thing as removal since [[en:toolworks:docs:apparatus:filter|Filters]] do respect this enabled/disabled state both in including and excluding contexts.
  
 ===== Creating Details ===== ===== Creating Details =====
Line 31: Line 35:
  */  */
 UCLASS() UCLASS()
-class APPARATUSMARK_API UMyDetail : public UDetail+class MY_API UMyDetail : public UDetail
 { {
  GENERATED_BODY()  GENERATED_BODY()
Line 37: Line 41:
 }; };
 </code> </code>
-    * ''MyMechanicalActor.cpp'':<code cpp>+    * ''MyDetail.cpp'':<code cpp>
 // Fill out your copyright notice in the Description page of Project Settings. // Fill out your copyright notice in the Description page of Project Settings.
  
Line 44: Line 48:
  
 </code> </code>
-  - Now you can add some data fields to the class as usually in, right in the C++ header:<code cpp>+  - Now you can add some data fields to the class as usually, right in the C++ header:<code cpp>
 float X = 0; float X = 0;
 float Y = 0; float Y = 0;
  • en/toolworks/docs/apparatus/detail.txt
  • Last modified: 2022/01/05 13:59
  • by jispar