DialogControls-Objects: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(example type 82)
No edit summary
Line 286: Line 286:
enableZoom = 1;
enableZoom = 1;
zoomDuration = 0.001;
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
{
};
};
};
};
};
};
};
};</syntaxhighlight>
};</syntaxhighlight>
[[Category: Dialogs]]
[[Category: Dialogs]]

Revision as of 10:41, 1 August 2018

TokenNames common to most controls, such as x,y,w,h,text,idc... are not listed here.

CT_OBJECT=80

Properties
Name Type Remark
scale float
selectionArrow float
direction array
up array
shadow integer
model string path to p3d
selectionDate1/2 strings
selectionDay string
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:

class dialog { 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:

class RscCompass: RscObject { idc = -1; type = 81; 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:
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
					{
					};
				};
			};
		};
	};
};