CT_OBJECT_CONTAINER

From Bohemia Interactive Community
Revision as of 23:54, 15 November 2021 by Lou Montana (talk | contribs) (Text replacement - "<tt>([a-zA-Z0-9\. _"\\']+)<\/tt>" to "{{hl|$1}}")
Jump to navigation Jump to search


Introduction

See CT_OBJECT for more information on the basics of object dialogs. In addition to CT_OBJECT this control type supports the addition of controls inside of a predefined area of the object which means that if the object moves so do the controls inside of it.

For an object with selections one can use user texture. For example "\A3\Misc_F\Helpers\UserTexture1m.p3d" has selections: usertexture, usertexture TL,usertexture TR, usertexture BL.


Related commands & functions

Related User Interface Eventhandlers

Alphabetical Order

TokenNames common to most controls, such as x, y, w, h, text, idc... can be found here.
Not all of the listed attributes might have an effect nor might the list be complete. All attributes were gathered with this config crawler.
#define CT_OBJECT_CONTAINER 82


A

Areas

Type
Class
Description
n/a
class Areas
{
	class Usertexture
	{
		selection = "display";
		class Controls
		{
		};
	};
};


D

direction

Type
Array
Description
n/a
direction[] = {0,0,1};


E

enableZoom

Type
Number
Description
n/a
enableZoom = 1;


I

inBack

Type
Number
Description
n/a
inBack = 0;


M

model

Type
String
Description
n/a
model = "\core\notepad\notepad.p3d";


P

paper1

Type
String
Description
n/a
paper1 = "#(argb,8,8,3)color(1,1,1,1)";


paper2

Type
String
Description
n/a
paper2 = "#(argb,8,8,3)color(1,1,1,1)";


paper3

Type
String
Description
n/a
paper3 = "#(argb,8,8,3)color(1,1,1,1)";


paper4

Type
String
Description
n/a
paper4 = "#(argb,8,8,3)color(1,1,1,1)";


paper5

Type
String
Description
n/a
paper5 = "#(argb,8,8,3)color(1,1,1,1)";


paper6

Type
String
Description
n/a
paper6 = "#(argb,8,8,3)color(1,1,1,1)";


paper7

Type
String
Description
n/a
paper7 = "#(argb,8,8,3)color(1,1,1,1)";


position

Type
Array
Description
n/a
position[] = {-0.08,0,0.32};


positionBack

Type
Array
Description
n/a
positionBack[] = {-0.325,0.197,0.8};


S

scale

Type
Number
Description
n/a
scale = 1.2;


selectionPaper

Type
String
Description
n/a
selectionPaper = "paper";


U

up

Type
Array
Description
n/a
up[] = {0,1,0};


X

xBack

Type
String
Description
n/a
xBack = "25 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";


Y

yBack

Type
String
Description
n/a
yBack = "12 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";


Z

z

Type
Number
Description
n/a
z = 1;


zBack

Type
Number
Description
n/a
zBack = 2;


zoomDuration

Type
Number
Description
n/a
zoomDuration = 0.5;



Default Classes

Arma 3
AddOns: Classes need to be initialised first with class SomeClass;

Missions: Since Arma 3 v2.02 one can use import SomeClass; to initialise a class (see the import keyword).

In older versions, use "Default" call BIS_fnc_exportGUIBaseClasses; and paste the result into the description.ext.


None

Other Examples

class MyDrink
{

	idd = -1;
	movingEnable = 0;
	enableSimulation = 1;
	
	class Objects
	{
	
		class Can
		{
		
			onObjectMoved = "systemChat str _this";
			
			idc = -1;
			type = 82;
			model = "\A3\Structures_F\Items\Food\Can_V3_F.p3d";
			scale = 1;
			
			direction[] = {0, -0.35, -0.65};
			up[] = {0, 0.65, -0.35};
			
			//position[] = {0,0,0.2}; optional
			
			x = 0.5;
			y = 0.5;
			z = 0.2;
			
			//positionBack[] = {0,0,1.2}; optional
			
			xBack = 0.5;
			yBack = 0.5;
			zBack = 1.2;
			
			inBack = 1;
			enableZoom = 1;
			zoomDuration = 0.001;
			class Areas
			{
				class Something1
				{
					selection = "Area_1";
					// game will expect "Area_1 TL", "Area_1 TR", "Area_1 BL" memory points (Top Left, Top Right, Bottom Left) to be present in memory LOD. Basing on that surface will be created for rendering your controls

					// Only controls are supported (no object in object)
					class Controls
					{
					};
				};
				// Multiple areas are supported
				class Something2
				{
					selection = "Area_2";
					// game will expect "Area_2 TL", "Area_2 TR", "Area_2 BL" memory points (Top Left, Top Right, Bottom Left) to be present in memory LOD. Basing on that surface will be created for rendering your controls
					class Controls
					{
					};
				};
			};
		};
	};
};