DialogControls-Objects: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
Line 79: Line 79:
|}<br clear="all">
|}<br clear="all">
* '''Example:'''
* '''Example:'''
<code><nowiki>
<syntaxhighlight lang=cpp>
class dialog
class MyWatch
{
{
class objects
class objects
{
{
  class Watch/*: RscObject*/
class Watch/*: RscObject*/
  {
{
  access = 0;
access = 0;
  shadow = 0;
shadow = 0;
  idc = 101;
idc = 101;
  type = 80;
type = 80;
  model = "\core\watch\watch.p3d";
model = "\core\watch\watch.p3d";
  selectionDate1 = "date1";
selectionDate1 = "date1";
  selectionDate2 = "date2";
selectionDate2 = "date2";
  selectionDay = "day";
selectionDay = "day";
  x = 0.7;
x = 0.7;
  xBack = 0.7;
xBack = 0.7;
  y = 0.12;
y = 0.12;
  yBack = 0.12;
yBack = 0.12;
  z = 0.22;
z = 0.22;
  zBack = 0.22;
zBack = 0.22;
  inBack = 0;
inBack = 0;
  enableZoom = 0;
enableZoom = 0;
  direction[] = {0,0,1};
direction[] = { 0, 0, 1 };
  up[] = {0,1,0};
up[] = { 0, 1, 0 };
  zoomDuration = 1;
zoomDuration = 1;
  scale = 0.7;
scale = 0.7;
  waitForLoad = 0;
waitForLoad = 0;
  class Animations
class Animations
  {
{
    class WatchHour
class WatchHour
    {
{
    type = "rotation";
type = "rotation";
    source = "clockHour";
source = "clockHour";
    selection = "hodinova";
selection = "hodinova";
    axis = "osa";
axis = "osa";
    memory = 1;
memory = 1;
    animPeriod = 0;
animPeriod = 0;
    angle0 = 0;
angle0 = 0;
    angle1 = "rad 360";
angle1 = "rad 360";
    };
};
    class WatchMinute
class WatchMinute
    {
{
    type = "rotation";
type = "rotation";
    source = "clockMinute";
source = "clockMinute";
    selection = "minutova";
selection = "minutova";
    axis = "osa";
axis = "osa";
    memory = 1;
memory = 1;
    animPeriod = 0;
animPeriod = 0;
    angle0 = 0;
angle0 = 0;
    angle1 = "rad 360";
angle1 = "rad 360";
    };
};
    class WatchSecond
class WatchSecond
    {
{
    type = "rotation";
type = "rotation";
    source = "clockSecond";
source = "clockSecond";
    selection = "vterinova";
selection = "vterinova";
    axis = "osa";
axis = "osa";
    memory = 1;
memory = 1;
    animPeriod = 0;
animPeriod = 0;
    angle0 = 0;
angle0 = 0;
    angle1 = "rad 360";
angle1 = "rad 360";
    };
};
  };
};
  };
};
};</nowiki></code>
};
};</syntaxhighlight>
===CT_OBJECT_ZOOM=81===
===CT_OBJECT_ZOOM=81===


Line 246: Line 247:
  };
  };
};</nowiki></code>
};</nowiki></code>
==CT_OBJECT_CONTAINER=82==
==CT_OBJECT_CONTAINER=82==
* '''Example:'''
* '''Example:'''

Revision as of 00:49, 31 October 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 MyWatch
{
	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
					{
					};
				};
			};
		};
	};
};