DialogControls-Objects: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
Line 193: Line 193:
|}<br clear="all">
|}<br clear="all">
* '''Example:'''
* '''Example:'''
<code><nowiki>class RscCompass: RscObject
<syntaxhighlight lang=cpp>
class MyCompass
{
{
idc = -1;
idd = -1;
type = 81;
class objects
model = "\core\compass\compass.p3d";
{
selectionArrow = "arrow";
class RscCompass /*: RscObject */
position[] = {0.026,0.047,0.2};
{
direction[] = {0,1,1};
idc = -1;
up[] = {0,0,-1};
type = 81;
positionBack[] = {0.0749,-0.059,0.315};
scale = 1;
inBack = 1;
shadow = 0;
enableZoom = 0;
model = "\core\compass\compass.p3d";
zoomDuration = 0.5;
selectionArrow = "arrow";
class Animations
position[] = { 0.026, 0.047, 0.2 };
{
direction[] = { 0, 1, 1 };
  class Pointer
up[] = { 0, 0, -1 };
  {
positionBack[] = { 0.0749, -0.059, 0.315 };
  type = "rotation";
inBack = 1;
  source = "compassPointer";
enableZoom = 0;
  selection = "kompas";
zoomDuration = 0.5;
  axis = "osa kompasu";
class Animations
  memory = 1;
{
  animPeriod = 0;
class Pointer
  minValue = "rad -180";
{
  maxValue = "rad 180";
type = "rotation";
  angle0 = "rad -180";
source = "compassPointer";
  angle1 = "rad 180";
selection = "kompas";
  };
axis = "osa kompasu";
  class Arrow
memory = 1;
  {
animPeriod = 0;
  type = "rotation";
minValue = "rad -180";
  source = "compassArrow";
maxValue = "rad 180";
  selection = "arrow";
angle0 = "rad -180";
  axis = "osa kompasu";
angle1 = "rad 180";
  memory = 1;
};
  animPeriod = 0;
class Arrow
  minValue = "rad -180";
{
  maxValue = "rad 180";
type = "rotation";
  angle0 = "rad -180";
source = "compassArrow";
  angle1 = "rad 180";
selection = "arrow";
  };
axis = "osa kompasu";
  class Cover
memory = 1;
  {
animPeriod = 0;
  type = "rotation";
minValue = "rad -180";
  source = "compassCover";
maxValue = "rad 180";
  selection = "vicko";
angle0 = "rad -180";
  axis = "osa vicka";
angle1 = "rad 180";
  memory = 1;
};
  animPeriod = 0;
class Cover
  angle0 = 0;
{
  angle1 = "rad -81";
type = "rotation";
  };
source = "compassCover";
};
selection = "vicko";
};</nowiki></code>
axis = "osa vicka";
memory = 1;
animPeriod = 0;
angle0 = 0;
angle1 = "rad -81";
};
};
};
};
};
</syntaxhighlight>


==CT_OBJECT_CONTAINER=82==
==CT_OBJECT_CONTAINER=82==

Revision as of 00:55, 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 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:
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
					{
					};
				};
			};
		};
	};
};