collect3DENHistory: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>")
m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(7 intermediate revisions by the same user not shown)
Line 8: Line 8:
|descr= Execute a block of code in which all Eden Editor operations will be recorded as one history step. For example creating an entity, setting its attributes and then connections would normally be recorded as three different steps. Calling them all within single '''collect3DENHistory''' block will group them together and the user will need to undo only once to revert the changes.
|descr= Execute a block of code in which all Eden Editor operations will be recorded as one history step. For example creating an entity, setting its attributes and then connections would normally be recorded as three different steps. Calling them all within single '''collect3DENHistory''' block will group them together and the user will need to undo only once to revert the changes.


{{Feature|Informative|In order to only change the 2nd or 3rd parameter of the alternative syntax use [[nil]] as the preceding parameters.}}
{{Feature|informative|In order to only change the 2nd or 3rd parameter of the alternative syntax use [[nil]] as the preceding parameters.}}
Some useful icons are:
Some useful icons are:
<spoiler text="Show texture paths">
<spoiler text="Show texture paths">
Line 31: Line 31:
|s1= [[collect3DENHistory]] code
|s1= [[collect3DENHistory]] code


|p1= code: [[Code]] - Code that is executed in '''[[Scheduler#Unscheduled_Environment|Unscheduled Environment]]'''
|p1= code: [[Code]] - code that is executed in '''[[Scheduler#Unscheduled_Environment|Unscheduled Environment]]'''


|r1= [[Nothing]]
|r1= [[Nothing]]
Line 45: Line 45:
|p23= icon: [[String]] - (Optional, default "a3\3den\data\cfg3den\history\multipleoperations_ca.paa") - path to the icon that is displayed left of the ''text''. '''Must not start with a {{hl|\}}!'''
|p23= icon: [[String]] - (Optional, default "a3\3den\data\cfg3den\history\multipleoperations_ca.paa") - path to the icon that is displayed left of the ''text''. '''Must not start with a {{hl|\}}!'''


|p24= code: [[Code]] - Code that is executed in '''[[Scheduler#Unscheduled_Environment|Unscheduled Environment]]'''
|p24= code: [[Code]] - code that is executed in '''[[Scheduler#Unscheduled_Environment|Unscheduled Environment]]'''


|r2= [[Nothing]]
|r2= [[Nothing]]


|x1= <code>collect3DENHistory  
|x1= <sqf>
collect3DENHistory  
{
{
_logic = create3DENEntity ["Logic", "Logic", position player];
_logic = create3DENEntity ["Logic", "Logic", position player];
[[add3DENConnection]] ["Sync", [_logic], [[player]] ];
add3DENConnection ["Sync", [_logic], player];
}; // Creates a logic and connects it to player in one history step.</code>
}; // Creates a logic and connects it to player in one history step.
</sqf>


|x2= <code>["Create Entity", "B_Soldier_F", "a3\3den\data\cfg3den\history\create_ca.paa"] collect3DENHistory  
|x2= <sqf>
["Create Entity", "B_Soldier_F", "a3\3den\data\cfg3den\history\create_ca.paa"] collect3DENHistory  
{
{
  create3DENEntity ["Object","B_Soldier_F", screenToWorld [0.5,0.5]];
create3DENEntity ["Object","B_Soldier_F", screenToWorld [0.5,0.5]];
};</code>
};
</sqf>


|x3= <code><nowiki>[</nowiki>nil, nil, "a3\3den\data\cfg3den\history\moveitems_ca.paa"] collect3DENHistory  
|x3= <sqf>
[nil, nil, "a3\3den\data\cfg3den\history\moveitems_ca.paa"] collect3DENHistory  
{
{
  [[create3DENEntity]] ["Object","B_Soldier_F", [[screenToWorld]] [0.5,0.5]];
create3DENEntity ["Object","B_Soldier_F", screenToWorld [0.5,0.5]];
};// Change only the icon</code>
}; // Change only the icon
</sqf>


|seealso= [[add3DENConnection]] [[create3DENComposition]] [[create3DENEntity]] [[delete3DENEntities]] [[do3DENAction]] [[remove3DENConnection]] [[set3DENAttributes]] [[set3DENObjectType]]
|seealso= [[add3DENConnection]] [[create3DENComposition]] [[create3DENEntity]] [[delete3DENEntities]] [[do3DENAction]] [[remove3DENConnection]] [[set3DENAttributes]] [[set3DENObjectType]]
}}
}}


<dl class="command_description">
{{Note
 
|user= 7erra
<dt></dt>
|timestamp= 20201026011500
<dd class="notedate">Posted on October 26, 2020 - 01:15 (UTC)</dd>
|text= Contrary to other code block structures ([[call]], [[if]]/[[then]]/[[exitWith]], [[switch]]/[[case]]/[[default]], etc.) the code block of [[collect3DENHistory]] will not return any value:
<dt class="note">[[User:7erra|7erra]]</dt>
<sqf>
<dd class="note">
_unit = collect3DENHistory {
Contrary to other code block structures ([[call]], [[if]]/[[then]]/[[exitWith]], [[switch]]/[[case]]/[[default]], etc.) the code block of [[collect3DENHistory]] will not return any value:
create3DENEntity ["Object", "C_Protagonist_VR_F", screenToWorld [0.5, 0.5]];
<code>_unit {{=}} collect3DENHistory {
[[create3DENEntity]] ["Object", "C_Protagonist_VR_F", [[screenToWorld]] [0.5, 0.5]];
};
};
_unit // <null></code>
_unit // <null>
</dd>
</sqf>
 
}}
</dl>

Latest revision as of 19:43, 3 September 2024

Hover & click on the images for description

Description

Description:
Execute a block of code in which all Eden Editor operations will be recorded as one history step. For example creating an entity, setting its attributes and then connections would normally be recorded as three different steps. Calling them all within single collect3DENHistory block will group them together and the user will need to undo only once to revert the changes.
In order to only change the 2nd or 3rd parameter of the alternative syntax use nil as the preceding parameters.

Some useful icons are:

  • "\a3\3den\data\cfg3den\history\addtolayer_ca.paa"
  • "\a3\3den\data\cfg3den\history\changeattributes_ca.paa"
  • "\a3\3den\data\cfg3den\history\changeseat_ca.paa"
  • "\a3\3den\data\cfg3den\history\connectitems_ca.paa"
  • "\a3\3den\data\cfg3den\history\create_ca.paa"
  • "\a3\3den\data\cfg3den\history\createcomment_ca.paa"
  • "\a3\3den\data\cfg3den\history\deleteitems_ca.paa"
  • "\a3\3den\data\cfg3den\history\disconnectitems_ca.paa"
  • "\a3\3den\data\cfg3den\history\makenewlayer_ca.paa"
  • "\a3\3den\data\cfg3den\history\missionnew_ca.paa"
  • "\a3\3den\data\cfg3den\history\moveitems_ca.paa"
  • "\a3\3den\data\cfg3den\history\multipleoperations_ca.paa"
  • "\a3\3den\data\cfg3den\history\pasteitems_ca.paa"
  • "\a3\3den\data\cfg3den\history\removefromlayer_ca.paa"
  • "\a3\3den\data\cfg3den\history\rotateitems_ca.paa"
  • "\a3\3den\data\cfg3den\history\scaleitems_ca.paa"
Groups:
Eden Editor

Syntax

Syntax:
collect3DENHistory code
Parameters:
code: Code - code that is executed in Unscheduled Environment
Return Value:
Nothing

Alternative Syntax

Syntax:
[text, tooltip, icon] collect3DENHistory code
Parameters:
text: String - text of the entry that is added to the history list
tooltip: String - (Optional, default "Batch Change" (localized)) - tooltip of the entry
icon: String - (Optional, default "a3\3den\data\cfg3den\history\multipleoperations_ca.paa") - path to the icon that is displayed left of the text. Must not start with a \!
code: Code - code that is executed in Unscheduled Environment
Return Value:
Nothing

Examples

Example 1:
collect3DENHistory { _logic = create3DENEntity ["Logic", "Logic", position player]; add3DENConnection ["Sync", [_logic], player]; }; // Creates a logic and connects it to player in one history step.
Example 2:
["Create Entity", "B_Soldier_F", "a3\3den\data\cfg3den\history\create_ca.paa"] collect3DENHistory { create3DENEntity ["Object","B_Soldier_F", screenToWorld [0.5,0.5]]; };
Example 3:
[nil, nil, "a3\3den\data\cfg3den\history\moveitems_ca.paa"] collect3DENHistory { create3DENEntity ["Object","B_Soldier_F", screenToWorld [0.5,0.5]]; }; // Change only the icon

Additional Information

See also:
add3DENConnection create3DENComposition create3DENEntity delete3DENEntities do3DENAction remove3DENConnection set3DENAttributes set3DENObjectType

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
7erra - c
Posted on Oct 26, 2020 - 01:15 (UTC)
Contrary to other code block structures (call, if/then/exitWith, switch/case/default, etc.) the code block of collect3DENHistory will not return any value:
_unit = collect3DENHistory { create3DENEntity ["Object", "C_Protagonist_VR_F", screenToWorld [0.5, 0.5]]; }; _unit // <null>