DialogControls-Objects: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "boolean" to "Boolean")
m (Text replacement - "integer" to "Integer")
Line 27: Line 27:
|-
|-
| '''shadow'''
| '''shadow'''
| integer
| [[Integer]]
|
|
|-
|-
Line 183: Line 183:
|-
|-
| '''inBack'''
| '''inBack'''
| integer
| [[Integer]]
|
|
|-
|-

Revision as of 15:42, 8 June 2020

Template:SideTOC

TokenNames common to most controls, such as x, y, w, h, text, idc... can be found here.

CT_OBJECT=80

Properties
Name Type Remark
scale float
selectionArrow float compass object only
direction array
up array
shadow Integer
model string path to p3d
selectionDate1/2 strings watch object only
selectionDay string watch object only
x/y/zBack float
inBack Boolean
enableZoom Boolean
zoomDuration float
scale float
waitForLoad Boolean
Animations class
Animations class type 80 only
Areas class type 82 only


  • Example Config:
class MyWatch
{
	idd = -1;
	class objects
	{
		class Watch/*: RscObject*/
		{
			access = 0;
			shadow = 0;
			idc = 101;
			type = 80;
			model = "\core\watch\watch.p3d";
			selectionDate1 = "date1";
			selectionDate2 = "date2";
			selectionDay = "day";
			x = 0.7;
			xBack = 0.7;
			y = 0.12;
			yBack = 0.12;
			z = 0.22;
			zBack = 0.22;
			inBack = 0;
			enableZoom = 0;
			direction[] = { 0, 0, 1 };
			up[] = { 0, 1, 0 };
			zoomDuration = 1;
			scale = 0.7;
			waitForLoad = 0;
			class Animations
			{
				class WatchHour
				{
					type = "rotation";
					source = "clockHour";
					selection = "hodinova";
					axis = "osa";
					memory = 1;
					animPeriod = 0;
					angle0 = 0;
					angle1 = "rad 360";
				};
				class WatchMinute
				{
					type = "rotation";
					source = "clockMinute";
					selection = "minutova";
					axis = "osa";
					memory = 1;
					animPeriod = 0;
					angle0 = 0;
					angle1 = "rad 360";
				};
				class WatchSecond
				{
					type = "rotation";
					source = "clockSecond";
					selection = "vterinova";
					axis = "osa";
					memory = 1;
					animPeriod = 0;
					angle0 = 0;
					angle1 = "rad 360";
				};
			};
		};
	};
};

CT_OBJECT_ZOOM=81

Properties
Name Type Remark
model string path to model
selectionArrow string
position array
direction array
up array
positionBack array
inBack Integer
enableZoom Boolean
zoomDuration float


  • Example Config:
class MyCompass
{
	idd = -1;
	class objects
	{
		class RscCompass /*: RscObject */
		{
			idc = -1;
			type = 81;
			scale = 1;
			shadow = 0;
			model = "\core\compass\compass.p3d";
			selectionArrow = "arrow";
			position[] = { 0.026, 0.047, 0.2 };
			direction[] = { 0, 1, 1 };
			up[] = { 0, 0, -1 };
			positionBack[] = { 0.0749, -0.059, 0.315 };
			inBack = 1;
			enableZoom = 0;
			zoomDuration = 0.5;
			class Animations
			{
				class Pointer
				{
					type = "rotation";
					source = "compassPointer";
					selection = "kompas";
					axis = "osa kompasu";
					memory = 1;
					animPeriod = 0;
					minValue = "rad -180";
					maxValue = "rad 180";
					angle0 = "rad -180";
					angle1 = "rad 180";
				};
				class Arrow
				{
					type = "rotation";
					source = "compassArrow";
					selection = "arrow";
					axis = "osa kompasu";
					memory = 1;
					animPeriod = 0;
					minValue = "rad -180";
					maxValue = "rad 180";
					angle0 = "rad -180";
					angle1 = "rad 180";
				};
				class Cover
				{
					type = "rotation";
					source = "compassCover";
					selection = "vicko";
					axis = "osa vicka";
					memory = 1;
					animPeriod = 0;
					angle0 = 0;
					angle1 = "rad -81";
				};
			};
		};
	};
};

CT_OBJECT_CONTAINER=82

  • Example Config:
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
					{
					};
				};
			};
		};
	};
};


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
x, y, z params are x - left/right, y - up/down, z - forward/backward. The same is true for direction[] and up[]. Direction vector of [0,0,1] means it is facing forward and up vector of [0,1,0] means it is facing up