mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-15 16:44:36 +00:00
Full Template for ticket #1
This commit is contained in:
parent
74f265b3b3
commit
f439dc8dcd
2150 changed files with 286240 additions and 0 deletions
386
Templates/Full/game/tools/roadEditor/RoadEditorGui.gui
Normal file
386
Templates/Full/game/tools/roadEditor/RoadEditorGui.gui
Normal file
|
|
@ -0,0 +1,386 @@
|
|||
//--- OBJECT WRITE BEGIN ---
|
||||
%guiContent = new GuiRoadEditorCtrl(RoadEditorGui) {
|
||||
canSaveDynamicFields = "0";
|
||||
Enabled = "1";
|
||||
isContainer = "1";
|
||||
Profile = "RoadEditorProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "height";
|
||||
Position = "0 0";
|
||||
Extent = "800 600";
|
||||
MinExtent = "8 8";
|
||||
canSave = "1";
|
||||
isDecoy = "0";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
Docking = "None";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "0";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "0";
|
||||
AnchorRight = "0";
|
||||
cameraZRot = "0";
|
||||
forceFOV = "0";
|
||||
renderMissionArea = "0";
|
||||
missionAreaFillColor = "255 0 0 20";
|
||||
missionAreaFrameColor = "255 0 0 128";
|
||||
allowBorderMove = "0";
|
||||
borderMovePixelSize = "20";
|
||||
borderMoveSpeed = "0.1";
|
||||
consoleFrameColor = "255 0 0 255";
|
||||
consoleFillColor = "0 0 0 0";
|
||||
consoleSphereLevel = "1";
|
||||
consoleCircleSegments = "32";
|
||||
consoleLineWidth = "1";
|
||||
GizmoProfile = "GlobalGizmoProfile";
|
||||
DefaultWidth = "10";
|
||||
HoverSplineColor = "0 255 0 255";
|
||||
SelectedSplineColor = "255 0 255 255";
|
||||
HoverNodeColor = "255 255 255 255";
|
||||
|
||||
new GuiWindowCollapseCtrl(RoadEditorTreeWindow) {
|
||||
internalName = "";
|
||||
canSaveDynamicFields = "0";
|
||||
Enabled = "1";
|
||||
isContainer = "1";
|
||||
Profile = "GuiWindowProfile";
|
||||
HorizSizing = "windowRelative";
|
||||
VertSizing = "windowRelative";
|
||||
Position = getWord($pref::Video::mode, 0) - 209
|
||||
SPC getWord(EditorGuiToolbar.extent, 1) - 1;
|
||||
Extent = "210 167";
|
||||
MinExtent = "210 100";
|
||||
canSave = "1";
|
||||
isDecoy = "0";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
resizeWidth = "1";
|
||||
resizeHeight = "1";
|
||||
canMove = "1";
|
||||
canClose = "0";
|
||||
canMinimize = "0";
|
||||
canMaximize = "0";
|
||||
minSize = "50 50";
|
||||
EdgeSnap = "1";
|
||||
text = "Roads & Paths";
|
||||
|
||||
/*
|
||||
new GuiBitmapButtonCtrl() {
|
||||
canSaveDynamicFields = "0";
|
||||
internalName = "LockSelection";
|
||||
Enabled = "1";
|
||||
isContainer = "0";
|
||||
Profile = "GuiButtonProfile";
|
||||
HorizSizing = "left";
|
||||
VertSizing = "top";
|
||||
Position = "167 148";
|
||||
Extent = "16 16";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
Command = "EWorldEditor.lockSelection(true); EditorTree.toggleLock();";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
ToolTip = "World Editor";
|
||||
hovertime = "1000";
|
||||
bitmap = "tools/gui/images/lock";
|
||||
buttonType = "ToggleButton";
|
||||
groupNum = "-1";
|
||||
text = "";
|
||||
useMouseEvents = "0";
|
||||
};
|
||||
|
||||
new GuiBitmapButtonCtrl() {
|
||||
canSaveDynamicFields = "0";
|
||||
internalName = "DeleteSelection";
|
||||
Enabled = "1";
|
||||
isContainer = "0";
|
||||
Profile = "GuiButtonProfile";
|
||||
HorizSizing = "left";
|
||||
VertSizing = "top";
|
||||
Position = "185 148";
|
||||
Extent = "16 16";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
Command = "EditorMenuEditDelete();";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
ToolTip = "World Editor";
|
||||
hovertime = "1000";
|
||||
bitmap = "tools/gui/images/delete";
|
||||
buttonType = "PushButton";
|
||||
groupNum = "-1";
|
||||
text = "";
|
||||
useMouseEvents = "0";
|
||||
};
|
||||
*/
|
||||
new GuiContainer(){
|
||||
profile = GuiDefaultProfile;
|
||||
Position = "5 25";
|
||||
Extent = "200 120";
|
||||
Docking = "Client";
|
||||
Margin = "3 1 3 3 ";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "height";
|
||||
isContainer = "1";
|
||||
|
||||
new GuiScrollCtrl() {
|
||||
canSaveDynamicFields = "0";
|
||||
Enabled = "1";
|
||||
isContainer = "1";
|
||||
Profile = "GuiEditorScrollProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "height";
|
||||
Position = "0 0";
|
||||
Extent = "200 118";
|
||||
MinExtent = "8 8";
|
||||
canSave = "1";
|
||||
isDecoy = "0";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
Docking = "Client";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
willFirstRespond = "1";
|
||||
hScrollBar = "alwaysOff";
|
||||
vScrollBar = "dynamic";
|
||||
lockHorizScroll = "true";
|
||||
lockVertScroll = "false";
|
||||
constantThumbHeight = "0";
|
||||
childMargin = "0 0";
|
||||
mouseWheelScrollSpeed = "-1";
|
||||
|
||||
new GuiTreeViewCtrl(RoadTreeView) {
|
||||
canSaveDynamicFields = "0";
|
||||
Enabled = "1";
|
||||
isContainer = "1";
|
||||
Profile = "GuiTreeViewProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "1 1";
|
||||
Extent = "193 21";
|
||||
MinExtent = "8 8";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
hovertime = "1000";
|
||||
tabSize = "16";
|
||||
textOffset = "2";
|
||||
fullRowSelect = "0";
|
||||
itemHeight = "21";
|
||||
destroyTreeOnSleep = "1";
|
||||
MouseDragging = "0";
|
||||
MultipleSelections = "0";
|
||||
DeleteObjectAllowed = "1";
|
||||
DragToItemAllowed = "0";
|
||||
showRoot = "0";
|
||||
internalNamesOnly = "0";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
new GuiWindowCollapseCtrl(RoadEditorOptionsWindow) {
|
||||
internalName = "Window";
|
||||
canSaveDynamicFields = "0";
|
||||
Enabled = "1";
|
||||
isContainer = "1";
|
||||
Profile = "GuiWindowProfile";
|
||||
HorizSizing = "windowRelative";
|
||||
VertSizing = "windowRelative";
|
||||
Position = getWord($pref::Video::mode, 0) - 209 SPC
|
||||
getWord(EditorGuiToolbar.extent, 1) + getWord(RoadEditorTreeWindow.extent, 1) - 2;
|
||||
Extent = "210 530";
|
||||
MinExtent = "210 298";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
resizeWidth = "1";
|
||||
resizeHeight = "1";
|
||||
canMove = "1";
|
||||
canClose = "0";
|
||||
canMinimize = "0";
|
||||
canMaximize = "0";
|
||||
minSize = "50 50";
|
||||
EdgeSnap = "1";
|
||||
text = "Properties";
|
||||
|
||||
new GuiContainer(RoadEditorProperties){ //Node Properties
|
||||
isContainer = "1";
|
||||
Profile = "inspectorStyleRolloutDarkProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "bottom";
|
||||
Position = "4 24";
|
||||
Extent = "202 64";
|
||||
Docking = "Top";
|
||||
Margin = "3 3 3 3";
|
||||
|
||||
new GuiTextCtrl(){
|
||||
Profile = "GuiDefaultProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "5 0";
|
||||
Extent = "86 18";
|
||||
text = "Node Properties";
|
||||
};
|
||||
|
||||
new GuiTextCtrl(){
|
||||
Profile = "GuiTextRightProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "7 21";
|
||||
Extent = "46 18";
|
||||
text = "Position";
|
||||
};
|
||||
new GuiTextEditCtrl(){
|
||||
internalName = "position";
|
||||
Profile = "GuiTextEditProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "bottom";
|
||||
Position = "57 21";
|
||||
Extent = "141 18";
|
||||
text = "";
|
||||
AltCommand = "RoadEditorGui.editNodeDetails();";
|
||||
};
|
||||
new GuiTextCtrl(){
|
||||
Profile = "GuiTextRightProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "7 42";
|
||||
Extent = "46 18";
|
||||
text = "Width";
|
||||
};
|
||||
new GuiTextEditCtrl(){
|
||||
internalName = "width";
|
||||
Profile = "GuiTextEditProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "bottom";
|
||||
Position = "57 42";
|
||||
Extent = "141 18";
|
||||
text = "";
|
||||
AltCommand = "RoadEditorGui.editNodeDetails();";
|
||||
};
|
||||
};
|
||||
new GuiContainer(){ //Decal Road Properties
|
||||
isContainer = "1";
|
||||
Profile = "inspectorStyleRolloutDarkProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "bottom";
|
||||
Position = "4 91";
|
||||
Extent = "202 31";
|
||||
Docking = "Top";
|
||||
Margin = "0 0 3 3";
|
||||
|
||||
new GuiTextCtrl(){
|
||||
Profile = "GuiDefaultProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "5 0";
|
||||
Extent = "121 18";
|
||||
text = "Decal Road Properties";
|
||||
};
|
||||
};
|
||||
|
||||
new GuiContainer(){
|
||||
profile = GuiDefaultProfile;
|
||||
Position = "4 108";
|
||||
Extent = "202 377";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "height";
|
||||
isContainer = "1";
|
||||
Docking = "Client";
|
||||
Margin = "-14 41 3 3";
|
||||
|
||||
new GuiScrollCtrl() {
|
||||
canSaveDynamicFields = "0";
|
||||
Enabled = "1";
|
||||
isContainer = "1";
|
||||
Profile = "GuiEditorScrollProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "height";
|
||||
Position = "0 0";
|
||||
Extent = "202 377";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
willFirstRespond = "1";
|
||||
hScrollBar = "alwaysOff";
|
||||
vScrollBar = "dynamic";
|
||||
lockHorizScroll = "true";
|
||||
lockVertScroll = "false";
|
||||
constantThumbHeight = "0";
|
||||
childMargin = "0 0";
|
||||
|
||||
new GuiInspector(RoadInspector) {
|
||||
StackingType = "Vertical";
|
||||
HorizStacking = "Left to Right";
|
||||
VertStacking = "Top to Bottom";
|
||||
Padding = "1";
|
||||
canSaveDynamicFields = "0";
|
||||
Enabled = "1";
|
||||
isContainer = "1";
|
||||
Profile = "GuiTransparentProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "height";
|
||||
Position = "0 0";
|
||||
Extent = "200 196";
|
||||
MinExtent = "8 8";
|
||||
canSave = "1";
|
||||
isDecoy = "0";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
dividerMargin = "5";
|
||||
groupFilters = "+SimBase,+DecalRoad";
|
||||
};
|
||||
};
|
||||
};
|
||||
new GuiMLTextCtrl(RoadFieldInfoControl) {
|
||||
canSaveDynamicFields = "0";
|
||||
Enabled = "1";
|
||||
isContainer = "0";
|
||||
Profile = "GuiInspectorFieldInfoMLTextProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "top";
|
||||
Position = "1 485";
|
||||
Extent = "202 42";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
lineSpacing = "2";
|
||||
allowColorChars = "0";
|
||||
maxChars = "-1";
|
||||
useURLMouseCursor = "0";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
//--- OBJECT WRITE END ---
|
||||
457
Templates/Full/game/tools/roadEditor/RoadEditorSettingsTab.gui
Normal file
457
Templates/Full/game/tools/roadEditor/RoadEditorSettingsTab.gui
Normal file
|
|
@ -0,0 +1,457 @@
|
|||
//--- OBJECT WRITE BEGIN ---
|
||||
%guiContent = new GuiControl(RoadEditorSettingsTab,EditorGuiGroup) {
|
||||
isContainer = "1";
|
||||
Profile = "GuiDefaultProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "0 0";
|
||||
Extent = "800 600";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
canSaveDynamicFields = "1";
|
||||
|
||||
new GuiTabPageCtrl(ERoadEditorSettingsPage) {
|
||||
fitBook = "1";
|
||||
text = "Road Editor";
|
||||
maxLength = "1024";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
isContainer = "1";
|
||||
Profile = "GuiSolidDefaultProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "height";
|
||||
position = "0 0";
|
||||
Extent = "208 400";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
canSaveDynamicFields = "1";
|
||||
|
||||
new GuiScrollCtrl() {
|
||||
willFirstRespond = "1";
|
||||
hScrollBar = "alwaysOff";
|
||||
vScrollBar = "dynamic";
|
||||
lockHorizScroll = "1";
|
||||
lockVertScroll = "0";
|
||||
constantThumbHeight = "0";
|
||||
childMargin = "0 0";
|
||||
mouseWheelScrollSpeed = "-1";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
isContainer = "1";
|
||||
Profile = "GuiScrollProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "height";
|
||||
position = "0 0";
|
||||
Extent = "208 400";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
canSaveDynamicFields = "0";
|
||||
|
||||
new GuiStackControl() {
|
||||
StackingType = "Vertical";
|
||||
HorizStacking = "Left to Right";
|
||||
VertStacking = "Top to Bottom";
|
||||
Padding = "0";
|
||||
isContainer = "1";
|
||||
Profile = "GuiDefaultProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "bottom";
|
||||
position = "1 1";
|
||||
extent = "208 210";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
isDecoy = "0";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
|
||||
new GuiRolloutCtrl() {
|
||||
Profile = "GuiRolloutProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "10 10";
|
||||
extent = "208 95";
|
||||
Caption = "Defaults";
|
||||
Margin = "0 3 0 0";
|
||||
DragSizable = false;
|
||||
container = true;
|
||||
|
||||
new GuiStackControl() {
|
||||
StackingType = "Vertical";
|
||||
HorizStacking = "Left to Right";
|
||||
VertStacking = "Top to Bottom";
|
||||
Padding = "0";
|
||||
isContainer = "1";
|
||||
Profile = "GuiDefaultProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "bottom";
|
||||
position = "0 0";
|
||||
Extent = "208 0";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
isDecoy = "0";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
padding = "3";
|
||||
|
||||
new GuiControl() {
|
||||
isContainer = "1";
|
||||
horizSizing = "right";
|
||||
vertSizing = "bottom";
|
||||
extent = "208 18";
|
||||
|
||||
new GuiTextCtrl() {
|
||||
text = "Width:";
|
||||
maxLength = "1024";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
isContainer = "0";
|
||||
Profile = "GuiTextRightProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "5 1";
|
||||
Extent = "70 16";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
canSaveDynamicFields = "0";
|
||||
};
|
||||
new GuiTextEditCtrl() {
|
||||
historySize = "0";
|
||||
password = "0";
|
||||
tabComplete = "0";
|
||||
sinkAllKeyEvents = "0";
|
||||
passwordMask = "*";
|
||||
maxLength = "1024";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
isContainer = "0";
|
||||
Profile = "GuiTextEditNumericProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "bottom";
|
||||
position = "81 0";
|
||||
Extent = "121 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
canSaveDynamicFields = "1";
|
||||
class = "ESettingsWindowTextEdit";
|
||||
className = "ESettingsWindowTextEdit";
|
||||
editorSettingsRead = "RoadEditorPlugin.readSettings();";
|
||||
editorSettingsValue = "RoadEditor/DefaultWidth";
|
||||
editorSettingsWrite = "RoadEditorPlugin.writeSettings();";
|
||||
};
|
||||
};
|
||||
new GuiControl() {
|
||||
isContainer = "1";
|
||||
horizSizing = "right";
|
||||
vertSizing = "bottom";
|
||||
extent = "208 18";
|
||||
|
||||
new GuiTextCtrl() {
|
||||
text = "Material:";
|
||||
maxLength = "1024";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
isContainer = "0";
|
||||
Profile = "GuiTextRightProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "5 1";
|
||||
Extent = "70 16";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
canSaveDynamicFields = "0";
|
||||
};
|
||||
new GuiTextEditCtrl() {
|
||||
historySize = "0";
|
||||
password = "0";
|
||||
tabComplete = "0";
|
||||
sinkAllKeyEvents = "0";
|
||||
passwordMask = "*";
|
||||
maxLength = "1024";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
isContainer = "0";
|
||||
Profile = "GuiTextEditProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "bottom";
|
||||
position = "81 0";
|
||||
Extent = "121 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
canSaveDynamicFields = "1";
|
||||
class = "ESettingsWindowTextEdit";
|
||||
className = "ESettingsWindowTextEdit";
|
||||
editorSettingsRead = "RoadEditorPlugin.readSettings();";
|
||||
editorSettingsValue = "RoadEditor/MaterialName";
|
||||
editorSettingsWrite = "RoadEditorPlugin.writeSettings();";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
new GuiRolloutCtrl() {
|
||||
Profile = "GuiRolloutProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "10 10";
|
||||
extent = "208 95";
|
||||
Caption = "Colors";
|
||||
Margin = "0 3 0 0";
|
||||
DragSizable = false;
|
||||
container = true;
|
||||
|
||||
new GuiStackControl() {
|
||||
StackingType = "Vertical";
|
||||
HorizStacking = "Left to Right";
|
||||
VertStacking = "Top to Bottom";
|
||||
Padding = "0";
|
||||
isContainer = "1";
|
||||
Profile = "GuiDefaultProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "bottom";
|
||||
position = "0 0";
|
||||
Extent = "208 0";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
isDecoy = "0";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
padding = "3";
|
||||
|
||||
new GuiControl() {
|
||||
isContainer = "1";
|
||||
Profile = "GuiDefaultProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "5 10";
|
||||
Extent = "208 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
canSaveDynamicFields = "1";
|
||||
class = "ESettingsWindowColor";
|
||||
className = "ESettingsWindowColor";
|
||||
editorSettingsRead = "RoadEditorPlugin.readSettings();";
|
||||
editorSettingsValue = "RoadEditor/HoverSplineColor";
|
||||
editorSettingsWrite = "RoadEditorPlugin.writeSettings();";
|
||||
|
||||
new GuiTextCtrl() {
|
||||
text = "Hover Spline:";
|
||||
maxLength = "1024";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
isContainer = "0";
|
||||
Profile = "GuiTextRightProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "0 1";
|
||||
Extent = "70 16";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
canSaveDynamicFields = "1";
|
||||
};
|
||||
new GuiTextEditCtrl() {
|
||||
historySize = "0";
|
||||
password = "0";
|
||||
tabComplete = "0";
|
||||
sinkAllKeyEvents = "0";
|
||||
passwordMask = "*";
|
||||
maxLength = "1024";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
isContainer = "0";
|
||||
Profile = "GuiTextEditProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "bottom";
|
||||
position = "80 0";
|
||||
Extent = "104 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
internalName = "ColorEdit";
|
||||
canSaveDynamicFields = "1";
|
||||
class = "ESettingsWindowColorEdit";
|
||||
className = "ESettingsWindowColorEdit";
|
||||
};
|
||||
new GuiSwatchButtonCtrl() {
|
||||
color = "1 1 1 1";
|
||||
groupNum = "-1";
|
||||
buttonType = "PushButton";
|
||||
useMouseEvents = "0";
|
||||
isContainer = "0";
|
||||
Profile = "GuiDefaultProfile";
|
||||
horizSizing = "left";
|
||||
vertSizing = "bottom";
|
||||
position = "188 2";
|
||||
extent = "14 14";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
internalName = "ColorButton";
|
||||
canSaveDynamicFields = "1";
|
||||
class = "ESettingsWindowColorButton";
|
||||
className = "ESettingsWindowColorButton";
|
||||
};
|
||||
};
|
||||
new GuiControl() {
|
||||
isContainer = "1";
|
||||
Profile = "GuiDefaultProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "5 30";
|
||||
Extent = "208 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
canSaveDynamicFields = "1";
|
||||
class = "ESettingsWindowColor";
|
||||
className = "ESettingsWindowColor";
|
||||
editorSettingsRead = "RoadEditorPlugin.readSettings();";
|
||||
editorSettingsValue = "RoadEditor/SelectedSplineColor";
|
||||
editorSettingsWrite = "RoadEditorPlugin.writeSettings();";
|
||||
|
||||
new GuiTextCtrl() {
|
||||
text = "Sel. Spline:";
|
||||
maxLength = "1024";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
isContainer = "0";
|
||||
Profile = "GuiTextRightProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "0 1";
|
||||
Extent = "70 16";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
canSaveDynamicFields = "1";
|
||||
};
|
||||
new GuiTextEditCtrl() {
|
||||
historySize = "0";
|
||||
password = "0";
|
||||
tabComplete = "0";
|
||||
sinkAllKeyEvents = "0";
|
||||
passwordMask = "*";
|
||||
maxLength = "1024";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
isContainer = "0";
|
||||
Profile = "GuiTextEditProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "bottom";
|
||||
position = "80 0";
|
||||
Extent = "104 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
internalName = "ColorEdit";
|
||||
canSaveDynamicFields = "1";
|
||||
class = "ESettingsWindowColorEdit";
|
||||
className = "ESettingsWindowColorEdit";
|
||||
};
|
||||
new GuiSwatchButtonCtrl() {
|
||||
color = "1 1 1 1";
|
||||
groupNum = "-1";
|
||||
buttonType = "PushButton";
|
||||
useMouseEvents = "0";
|
||||
isContainer = "0";
|
||||
Profile = "GuiDefaultProfile";
|
||||
horizSizing = "left";
|
||||
vertSizing = "bottom";
|
||||
position = "188 2";
|
||||
extent = "14 14";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
internalName = "ColorButton";
|
||||
canSaveDynamicFields = "1";
|
||||
class = "ESettingsWindowColorButton";
|
||||
className = "ESettingsWindowColorButton";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
//--- OBJECT WRITE END ---
|
||||
273
Templates/Full/game/tools/roadEditor/RoadEditorToolbar.gui
Normal file
273
Templates/Full/game/tools/roadEditor/RoadEditorToolbar.gui
Normal file
|
|
@ -0,0 +1,273 @@
|
|||
%guiContent = new GuiControl(RoadEditorToolbar) {
|
||||
canSaveDynamicFields = "0";
|
||||
internalName = "RoadEditorToolbar";
|
||||
Enabled = "1";
|
||||
isContainer = "1";
|
||||
Profile = "GuiDefaultProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "306 0";
|
||||
Extent = "800 32";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "0";
|
||||
hovertime = "1000";
|
||||
|
||||
new GuiTextCtrl() {
|
||||
profile = "GuiTextProfile";
|
||||
horizSizing = "right";
|
||||
vertSizing = "bottom";
|
||||
position = "6 6";
|
||||
extent = "70 20";
|
||||
minExtent = "8 8";
|
||||
visible = "1";
|
||||
text = "Road Settings";
|
||||
maxLength = "255";
|
||||
helpTag = "0";
|
||||
};
|
||||
new GuiDynamicCtrlArrayControl(){
|
||||
Position = "83 3";
|
||||
extent = "111 32";
|
||||
colCount = "31";
|
||||
colSize = "29";
|
||||
rowCount = "1";
|
||||
RowSize = "27";
|
||||
rowSpacing = "2";
|
||||
colspacing = "4";
|
||||
|
||||
new GuiBitmapButtonCtrl(RoadEditorShowSplineBtn) {
|
||||
canSaveDynamicFields = "0";
|
||||
Enabled = "1";
|
||||
isContainer = "0";
|
||||
Profile = "GuiDefaultProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "167 3";
|
||||
Extent = "29 27";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
isDecoy = "0";
|
||||
Visible = "1";
|
||||
Variable = "$DecalRoad::showSpline";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
toolTip = "Show Spline";
|
||||
bitmap = "tools/worldEditor/images/road-river/menubar/show-spline";
|
||||
groupNum = "7";
|
||||
buttonType = "ToggleButton";
|
||||
useMouseEvents = "0";
|
||||
useInactiveState = "0";
|
||||
};
|
||||
new GuiBitmapButtonCtrl(RoadEditorWireframeBtn) {
|
||||
canSaveDynamicFields = "0";
|
||||
Enabled = "1";
|
||||
isContainer = "0";
|
||||
Profile = "GuiDefaultProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "253 3";
|
||||
Extent = "29 27";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
isDecoy = "0";
|
||||
Visible = "1";
|
||||
Variable = "$DecalRoad::wireframe";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
toolTip = "Show Wireframe";
|
||||
bitmap = "tools/worldEditor/images/road-river/menubar/show-wireframe";
|
||||
groupNum = "-1";
|
||||
buttonType = "ToggleButton";
|
||||
useMouseEvents = "0";
|
||||
useInactiveState = "0";
|
||||
};
|
||||
new GuiBitmapButtonCtrl(RoadEditorShowRoadBtn) {
|
||||
canSaveDynamicFields = "0";
|
||||
Enabled = "1";
|
||||
isContainer = "0";
|
||||
Profile = "GuiDefalutProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "89 3";
|
||||
Extent = "29 27";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
isDecoy = "0";
|
||||
Visible = "1";
|
||||
Variable = "$DecalRoad::showRoad";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
toolTip = "Show Road Texture";
|
||||
bitmap = "tools/worldEditor/images/road-river/menubar/show-texture";
|
||||
groupNum = "-1";
|
||||
buttonType = "ToggleButton";
|
||||
useMouseEvents = "0";
|
||||
useInactiveState = "0";
|
||||
};
|
||||
};
|
||||
new GuiControl(RoadDefaultWidthTextEditContainer) {
|
||||
canSaveDynamicFields = "0";
|
||||
isContainer = "1";
|
||||
Profile = "GuiTransparentProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "197 5";
|
||||
Extent = "120 50";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
hovertime = "1000";
|
||||
|
||||
new GuiTextCtrl() {
|
||||
canSaveDynamicFields = "0";
|
||||
Enabled = "1";
|
||||
isContainer = "0";
|
||||
Profile = "GuiTextProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "0 6";
|
||||
Extent = "68 10";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
hovertime = "1000";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
text = "Default Width";
|
||||
maxLength = "1024";
|
||||
};
|
||||
new GuiTextEditCtrl() {
|
||||
canSaveDynamicFields = "0";
|
||||
internalName = "textEdit";
|
||||
isContainer = "0";
|
||||
profile="GuiNumericDropSliderTextProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "67 2";
|
||||
Extent = "42 16";
|
||||
MinExtent = "8 16";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
Command = "RoadEditorGui.DefaultWidth = $ThisControl.getValue();";
|
||||
hovertime = "1000";
|
||||
text = "10";
|
||||
maxLength = "3";
|
||||
historySize = "0";
|
||||
password = "0";
|
||||
tabComplete = "0";
|
||||
sinkAllKeyEvents = "0";
|
||||
};
|
||||
new GuiBitmapButtonCtrl() {
|
||||
canSaveDynamicFields = "0";
|
||||
Enabled = "1";
|
||||
isContainer = "0";
|
||||
Profile = "GuiDefaultProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "101 2";
|
||||
Extent = "18 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
Command = "Canvas.pushDialog(RoadDefaultWidthSliderCtrlContainer);";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
ToolTip = "Changes Default Road Width";
|
||||
hovertime = "750";
|
||||
groupNum = "-1";
|
||||
buttonType = "PushButton";
|
||||
useMouseEvents = "0";
|
||||
bitmap = "core/art/gui/images/dropslider";
|
||||
};
|
||||
};
|
||||
/*new GuiTextEditSliderCtrl(RoadEditorDefaultWidthSlider) {
|
||||
canSaveDynamicFields = "0";
|
||||
Enabled = "1";
|
||||
isContainer = "0";
|
||||
Profile = "GuiTextEditProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "429 6";
|
||||
Extent = "46 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
isDecoy = "0";
|
||||
Visible = "1";
|
||||
Command = "RoadEditorGui.DefaultWidth = $ThisControl.getValue();";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
text = "10.0";
|
||||
maxLength = "1024";
|
||||
historySize = "0";
|
||||
password = "0";
|
||||
tabComplete = "0";
|
||||
sinkAllKeyEvents = "0";
|
||||
passwordMask = "*";
|
||||
format = "%2.1f";
|
||||
range = "0 100";
|
||||
increment = "0.5";
|
||||
focusOnMouseWheel = "0";
|
||||
};
|
||||
new GuiTextCtrl() {
|
||||
canSaveDynamicFields = "0";
|
||||
Enabled = "1";
|
||||
isContainer = "0";
|
||||
Profile = "GuiTextProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "347 7";
|
||||
Extent = "66 16";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
isDecoy = "0";
|
||||
Visible = "1";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "0";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "0";
|
||||
AnchorRight = "0";
|
||||
text = "Default Width";
|
||||
maxLength = "1024";
|
||||
};*/
|
||||
};
|
||||
new GuiMouseEventCtrl(RoadDefaultWidthSliderCtrlContainer, EditorGuiGroup) {
|
||||
horizSizing = "right";
|
||||
vertSizing = "bottom";
|
||||
position = "0 0";
|
||||
extent = "1024 768";
|
||||
minExtent = "8 8";
|
||||
visible = "1";
|
||||
helpTag = "0";
|
||||
class = "EditorDropdownSliderContainer";
|
||||
|
||||
new GuiSliderCtrl() {
|
||||
canSaveDynamicFields = "0";
|
||||
internalName = "slider";
|
||||
isContainer = "0";
|
||||
Profile = "GuiSliderBoxProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = firstWord(RoadDefaultWidthTextEditContainer.position) + firstWord(RoadEditorToolbar.position) + 10 SPC
|
||||
(getWord(RoadDefaultWidthTextEditContainer, 1)) + 25;
|
||||
Extent = "112 20";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
AltCommand = "RoadDefaultWidthTextEditContainer-->textEdit.setText( mFloatLength($ThisControl.getValue(), 2)); RoadEditorGui.DefaultWidth = $ThisControl.getValue();";
|
||||
range = "0 100";
|
||||
ticks = "0";
|
||||
value = "10";
|
||||
};
|
||||
};
|
||||
215
Templates/Full/game/tools/roadEditor/main.cs
Normal file
215
Templates/Full/game/tools/roadEditor/main.cs
Normal file
|
|
@ -0,0 +1,215 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
// Copyright (c) 2012 GarageGames, LLC
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to
|
||||
// deal in the Software without restriction, including without limitation the
|
||||
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
// sell copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
// IN THE SOFTWARE.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
function initializeRoadEditor()
|
||||
{
|
||||
echo( " - Initializing Road and Path Editor" );
|
||||
|
||||
exec( "./roadEditor.cs" );
|
||||
exec( "./roadEditorGui.gui" );
|
||||
exec( "./roadEditorToolbar.gui");
|
||||
exec( "./roadEditorGui.cs" );
|
||||
|
||||
// Add ourselves to EditorGui, where all the other tools reside
|
||||
RoadEditorGui.setVisible( false );
|
||||
RoadEditorToolbar.setVisible( false );
|
||||
RoadEditorOptionsWindow.setVisible( false );
|
||||
RoadEditorTreeWindow.setVisible( false );
|
||||
|
||||
EditorGui.add( RoadEditorGui );
|
||||
EditorGui.add( RoadEditorToolbar );
|
||||
EditorGui.add( RoadEditorOptionsWindow );
|
||||
EditorGui.add( RoadEditorTreeWindow );
|
||||
|
||||
new ScriptObject( RoadEditorPlugin )
|
||||
{
|
||||
superClass = "EditorPlugin";
|
||||
editorGui = RoadEditorGui;
|
||||
};
|
||||
|
||||
%map = new ActionMap();
|
||||
%map.bindCmd( keyboard, "backspace", "RoadEditorGui.onDeleteKey();", "" );
|
||||
%map.bindCmd( keyboard, "1", "RoadEditorGui.prepSelectionMode();", "" );
|
||||
%map.bindCmd( keyboard, "2", "ToolsPaletteArray->RoadEditorMoveMode.performClick();", "" );
|
||||
%map.bindCmd( keyboard, "4", "ToolsPaletteArray->RoadEditorScaleMode.performClick();", "" );
|
||||
%map.bindCmd( keyboard, "5", "ToolsPaletteArray->RoadEditorAddRoadMode.performClick();", "" );
|
||||
%map.bindCmd( keyboard, "=", "ToolsPaletteArray->RoadEditorInsertPointMode.performClick();", "" );
|
||||
%map.bindCmd( keyboard, "numpadadd", "ToolsPaletteArray->RoadEditorInsertPointMode.performClick();", "" );
|
||||
%map.bindCmd( keyboard, "-", "ToolsPaletteArray->RoadEditorRemovePointMode.performClick();", "" );
|
||||
%map.bindCmd( keyboard, "numpadminus", "ToolsPaletteArray->RoadEditorRemovePointMode.performClick();", "" );
|
||||
%map.bindCmd( keyboard, "z", "RoadEditorShowSplineBtn.performClick();", "" );
|
||||
%map.bindCmd( keyboard, "x", "RoadEditorWireframeBtn.performClick();", "" );
|
||||
%map.bindCmd( keyboard, "v", "RoadEditorShowRoadBtn.performClick();", "" );
|
||||
RoadEditorPlugin.map = %map;
|
||||
|
||||
RoadEditorPlugin.initSettings();
|
||||
}
|
||||
|
||||
function destroyRoadEditor()
|
||||
{
|
||||
}
|
||||
|
||||
function RoadEditorPlugin::onWorldEditorStartup( %this )
|
||||
{
|
||||
// Add ourselves to the window menu.
|
||||
%accel = EditorGui.addToEditorsMenu( "Road and Path Editor", "", RoadEditorPlugin );
|
||||
|
||||
// Add ourselves to the ToolsToolbar
|
||||
%tooltip = "Road Editor (" @ %accel @ ")";
|
||||
EditorGui.addToToolsToolbar( "RoadEditorPlugin", "RoadEditorPalette", expandFilename("tools/worldEditor/images/toolbar/road-path-editor"), %tooltip );
|
||||
|
||||
//connect editor windows
|
||||
GuiWindowCtrl::attach( RoadEditorOptionsWindow, RoadEditorTreeWindow);
|
||||
|
||||
// Add ourselves to the Editor Settings window
|
||||
exec( "./RoadEditorSettingsTab.gui" );
|
||||
ESettingsWindow.addTabPage( ERoadEditorSettingsPage );
|
||||
}
|
||||
|
||||
function RoadEditorPlugin::onActivated( %this )
|
||||
{
|
||||
%this.readSettings();
|
||||
|
||||
ToolsPaletteArray->RoadEditorAddRoadMode.performClick();
|
||||
EditorGui.bringToFront( RoadEditorGui );
|
||||
|
||||
RoadEditorGui.setVisible( true );
|
||||
RoadEditorGui.makeFirstResponder( true );
|
||||
RoadEditorToolbar.setVisible( true );
|
||||
|
||||
RoadEditorOptionsWindow.setVisible( true );
|
||||
RoadEditorTreeWindow.setVisible( true );
|
||||
|
||||
RoadTreeView.open(ServerDecalRoadSet,true);
|
||||
|
||||
%this.map.push();
|
||||
|
||||
// Set the status bar here until all tool have been hooked up
|
||||
EditorGuiStatusBar.setInfo("Road editor.");
|
||||
EditorGuiStatusBar.setSelection("");
|
||||
|
||||
Parent::onActivated(%this);
|
||||
}
|
||||
|
||||
function RoadEditorPlugin::onDeactivated( %this )
|
||||
{
|
||||
%this.writeSettings();
|
||||
|
||||
RoadEditorGui.setVisible( false );
|
||||
RoadEditorToolbar.setVisible( false );
|
||||
RoadEditorOptionsWindow.setVisible( false );
|
||||
RoadEditorTreeWindow.setVisible( false );
|
||||
%this.map.pop();
|
||||
|
||||
Parent::onDeactivated(%this);
|
||||
}
|
||||
|
||||
function RoadEditorPlugin::onEditMenuSelect( %this, %editMenu )
|
||||
{
|
||||
%hasSelection = false;
|
||||
|
||||
if( isObject( RoadEditorGui.road ) )
|
||||
%hasSelection = true;
|
||||
|
||||
%editMenu.enableItem( 3, false ); // Cut
|
||||
%editMenu.enableItem( 4, false ); // Copy
|
||||
%editMenu.enableItem( 5, false ); // Paste
|
||||
%editMenu.enableItem( 6, %hasSelection ); // Delete
|
||||
%editMenu.enableItem( 8, false ); // Deselect
|
||||
}
|
||||
|
||||
function RoadEditorPlugin::handleDelete( %this )
|
||||
{
|
||||
RoadEditorGui.onDeleteKey();
|
||||
}
|
||||
|
||||
function RoadEditorPlugin::handleEscape( %this )
|
||||
{
|
||||
return RoadEditorGui.onEscapePressed();
|
||||
}
|
||||
|
||||
function RoadEditorPlugin::isDirty( %this )
|
||||
{
|
||||
return RoadEditorGui.isDirty;
|
||||
}
|
||||
|
||||
function RoadEditorPlugin::onSaveMission( %this, %missionFile )
|
||||
{
|
||||
if( RoadEditorGui.isDirty )
|
||||
{
|
||||
MissionGroup.save( %missionFile );
|
||||
RoadEditorGui.isDirty = false;
|
||||
}
|
||||
}
|
||||
|
||||
function RoadEditorPlugin::setEditorFunction( %this )
|
||||
{
|
||||
%terrainExists = parseMissionGroup( "TerrainBlock" );
|
||||
|
||||
if( %terrainExists == false )
|
||||
MessageBoxYesNoCancel("No Terrain","Would you like to create a New Terrain?", "Canvas.pushDialog(CreateNewTerrainGui);");
|
||||
|
||||
return %terrainExists;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Settings
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
function RoadEditorPlugin::initSettings( %this )
|
||||
{
|
||||
EditorSettings.beginGroup( "RoadEditor", true );
|
||||
|
||||
EditorSettings.setDefaultValue( "DefaultWidth", "10" );
|
||||
EditorSettings.setDefaultValue( "HoverSplineColor", "255 0 0 255" );
|
||||
EditorSettings.setDefaultValue( "SelectedSplineColor", "0 255 0 255" );
|
||||
EditorSettings.setDefaultValue( "HoverNodeColor", "255 255 255 255" ); //<-- Not currently used
|
||||
EditorSettings.setDefaultValue( "MaterialName", "DefaultDecalRoadMaterial" );
|
||||
|
||||
EditorSettings.endGroup();
|
||||
}
|
||||
|
||||
function RoadEditorPlugin::readSettings( %this )
|
||||
{
|
||||
EditorSettings.beginGroup( "RoadEditor", true );
|
||||
|
||||
RoadEditorGui.DefaultWidth = EditorSettings.value("DefaultWidth");
|
||||
RoadEditorGui.HoverSplineColor = EditorSettings.value("HoverSplineColor");
|
||||
RoadEditorGui.SelectedSplineColor = EditorSettings.value("SelectedSplineColor");
|
||||
RoadEditorGui.HoverNodeColor = EditorSettings.value("HoverNodeColor");
|
||||
RoadEditorGui.materialName = EditorSettings.value("MaterialName");
|
||||
|
||||
EditorSettings.endGroup();
|
||||
}
|
||||
|
||||
function RoadEditorPlugin::writeSettings( %this )
|
||||
{
|
||||
EditorSettings.beginGroup( "RoadEditor", true );
|
||||
|
||||
EditorSettings.setValue( "DefaultWidth", RoadEditorGui.DefaultWidth );
|
||||
EditorSettings.setValue( "HoverSplineColor", RoadEditorGui.HoverSplineColor );
|
||||
EditorSettings.setValue( "SelectedSplineColor", RoadEditorGui.SelectedSplineColor );
|
||||
EditorSettings.setValue( "HoverNodeColor", RoadEditorGui.HoverNodeColor );
|
||||
EditorSettings.setValue( "MaterialName", RoadEditorGui.materialName );
|
||||
|
||||
EditorSettings.endGroup();
|
||||
}
|
||||
76
Templates/Full/game/tools/roadEditor/roadEditor.cs
Normal file
76
Templates/Full/game/tools/roadEditor/roadEditor.cs
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
// Copyright (c) 2012 GarageGames, LLC
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to
|
||||
// deal in the Software without restriction, including without limitation the
|
||||
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
// sell copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
// IN THE SOFTWARE.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
singleton GuiControlProfile( RoadEditorProfile )
|
||||
{
|
||||
canKeyFocus = true;
|
||||
opaque = true;
|
||||
fillColor = "192 192 192 192";
|
||||
category = "Editor";
|
||||
};
|
||||
|
||||
singleton GuiControlProfile (GuiSimpleBorderProfile)
|
||||
{
|
||||
opaque = false;
|
||||
border = 1;
|
||||
category = "Editor";
|
||||
};
|
||||
|
||||
singleton GuiCursor(RoadEditorMoveCursor)
|
||||
{
|
||||
hotSpot = "4 4";
|
||||
renderOffset = "0 0";
|
||||
bitmapName = "~/gui/images/macCursor";
|
||||
category = "Editor";
|
||||
};
|
||||
|
||||
singleton GuiCursor( RoadEditorMoveNodeCursor )
|
||||
{
|
||||
hotSpot = "1 1";
|
||||
renderOffset = "0 0";
|
||||
bitmapName = "./Cursors/outline/drag_node_outline";
|
||||
category = "Editor";
|
||||
};
|
||||
|
||||
singleton GuiCursor( RoadEditorAddNodeCursor )
|
||||
{
|
||||
hotSpot = "1 1";
|
||||
renderOffset = "0 0";
|
||||
bitmapName = "./Cursors/outline/add_to_end_outline";
|
||||
category = "Editor";
|
||||
};
|
||||
|
||||
singleton GuiCursor( RoadEditorInsertNodeCursor )
|
||||
{
|
||||
hotSpot = "1 1";
|
||||
renderOffset = "0 0";
|
||||
bitmapName = "./Cursors/outline/insert_in_middle_outline";
|
||||
category = "Editor";
|
||||
};
|
||||
|
||||
singleton GuiCursor( RoadEditorResizeNodeCursor )
|
||||
{
|
||||
hotSpot = "1 1";
|
||||
renderOffset = "0 0";
|
||||
bitmapName = "./Cursors/outline/widen_path_outline";
|
||||
category = "Editor";
|
||||
};
|
||||
249
Templates/Full/game/tools/roadEditor/roadEditorGui.cs
Normal file
249
Templates/Full/game/tools/roadEditor/roadEditorGui.cs
Normal file
|
|
@ -0,0 +1,249 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
// Copyright (c) 2012 GarageGames, LLC
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to
|
||||
// deal in the Software without restriction, including without limitation the
|
||||
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
// sell copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
// IN THE SOFTWARE.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
function RoadEditorGui::onWake( %this )
|
||||
{
|
||||
$DecalRoad::EditorOpen = true;
|
||||
|
||||
%count = EWorldEditor.getSelectionSize();
|
||||
for ( %i = 0; %i < %count; %i++ )
|
||||
{
|
||||
%obj = EWorldEditor.getSelectedObject(%i);
|
||||
if ( %obj.getClassName() !$= "DecalRoad" )
|
||||
EWorldEditor.unselectObject();
|
||||
else
|
||||
%this.setSelectedRoad( %obj );
|
||||
}
|
||||
|
||||
%this.onNodeSelected(-1);
|
||||
}
|
||||
|
||||
function RoadEditorGui::onSleep( %this )
|
||||
{
|
||||
$DecalRoad::EditorOpen = false;
|
||||
}
|
||||
|
||||
function RoadEditorGui::paletteSync( %this, %mode )
|
||||
{
|
||||
%evalShortcut = "ToolsPaletteArray-->" @ %mode @ ".setStateOn(1);";
|
||||
eval(%evalShortcut);
|
||||
}
|
||||
|
||||
function RoadEditorGui::onDeleteKey( %this )
|
||||
{
|
||||
%road = %this.getSelectedRoad();
|
||||
%node = %this.getSelectedNode();
|
||||
|
||||
if ( !isObject( %road ) )
|
||||
return;
|
||||
|
||||
if ( %node != -1 )
|
||||
{
|
||||
%this.deleteNode();
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBoxOKCancel( "Notice", "Delete selected DecalRoad?", "RoadEditorGui.deleteRoad();", "" );
|
||||
}
|
||||
}
|
||||
|
||||
function RoadEditorGui::onEscapePressed( %this )
|
||||
{
|
||||
if( %this.getMode() $= "RoadEditorAddNodeMode" )
|
||||
{
|
||||
%this.prepSelectionMode();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//just in case we need it later
|
||||
function RoadEditorGui::onRoadCreation( %this )
|
||||
{
|
||||
}
|
||||
|
||||
function RoadEditorGui::onRoadSelected( %this, %road )
|
||||
{
|
||||
%this.road = %road;
|
||||
|
||||
// Update the materialEditorList
|
||||
if(isObject( %road ))
|
||||
$Tools::materialEditorList = %road.getId();
|
||||
|
||||
RoadInspector.inspect( %road );
|
||||
RoadTreeView.buildVisibleTree(true);
|
||||
if( RoadTreeView.getSelectedObject() != %road )
|
||||
{
|
||||
RoadTreeView.clearSelection();
|
||||
%treeId = RoadTreeView.findItemByObjectId( %road );
|
||||
RoadTreeView.selectItem( %treeId );
|
||||
}
|
||||
}
|
||||
|
||||
function RoadEditorGui::onNodeSelected( %this, %nodeIdx )
|
||||
{
|
||||
|
||||
if ( %nodeIdx == -1 )
|
||||
{
|
||||
RoadEditorProperties-->position.setActive( false );
|
||||
RoadEditorProperties-->position.setValue( "" );
|
||||
|
||||
RoadEditorProperties-->width.setActive( false );
|
||||
RoadEditorProperties-->width.setValue( "" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RoadEditorProperties-->position.setActive( true );
|
||||
RoadEditorProperties-->position.setValue( %this.getNodePosition() );
|
||||
|
||||
RoadEditorProperties-->width.setActive( true );
|
||||
RoadEditorProperties-->width.setValue( %this.getNodeWidth() );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function RoadEditorGui::onNodeModified( %this, %nodeIdx )
|
||||
{
|
||||
|
||||
RoadEditorProperties-->position.setValue( %this.getNodePosition() );
|
||||
RoadEditorProperties-->width.setValue( %this.getNodeWidth() );
|
||||
|
||||
}
|
||||
|
||||
function RoadEditorGui::editNodeDetails( %this )
|
||||
{
|
||||
|
||||
%this.setNodePosition( RoadEditorProperties-->position.getText() );
|
||||
%this.setNodeWidth( RoadEditorProperties-->width.getText() );
|
||||
}
|
||||
|
||||
function RoadEditorGui::onBrowseClicked( %this )
|
||||
{
|
||||
//%filename = RETextureFileCtrl.getText();
|
||||
|
||||
%dlg = new OpenFileDialog()
|
||||
{
|
||||
Filters = "All Files (*.*)|*.*|";
|
||||
DefaultPath = RoadEditorGui.lastPath;
|
||||
DefaultFile = %filename;
|
||||
ChangePath = false;
|
||||
MustExist = true;
|
||||
};
|
||||
|
||||
%ret = %dlg.Execute();
|
||||
if(%ret)
|
||||
{
|
||||
RoadEditorGui.lastPath = filePath( %dlg.FileName );
|
||||
%filename = %dlg.FileName;
|
||||
RoadEditorGui.setTextureFile( %filename );
|
||||
RETextureFileCtrl.setText( %filename );
|
||||
}
|
||||
|
||||
%dlg.delete();
|
||||
}
|
||||
|
||||
function RoadInspector::inspect( %this, %obj )
|
||||
{
|
||||
%name = "";
|
||||
if ( isObject( %obj ) )
|
||||
%name = %obj.getName();
|
||||
else
|
||||
RoadFieldInfoControl.setText( "" );
|
||||
|
||||
//RoadInspectorNameEdit.setValue( %name );
|
||||
Parent::inspect( %this, %obj );
|
||||
}
|
||||
|
||||
function RoadInspector::onInspectorFieldModified( %this, %object, %fieldName, %arrayIndex, %oldValue, %newValue )
|
||||
{
|
||||
// Same work to do as for the regular WorldEditor Inspector.
|
||||
Inspector::onInspectorFieldModified( %this, %object, %fieldName, %arrayIndex, %oldValue, %newValue );
|
||||
}
|
||||
|
||||
function RoadInspector::onFieldSelected( %this, %fieldName, %fieldTypeStr, %fieldDoc )
|
||||
{
|
||||
RoadFieldInfoControl.setText( "<font:ArialBold:14>" @ %fieldName @ "<font:ArialItalic:14> (" @ %fieldTypeStr @ ") " NL "<font:Arial:14>" @ %fieldDoc );
|
||||
}
|
||||
|
||||
function RoadTreeView::onInspect(%this, %obj)
|
||||
{
|
||||
RoadInspector.inspect(%obj);
|
||||
}
|
||||
|
||||
function RoadTreeView::onSelect(%this, %obj)
|
||||
{
|
||||
RoadEditorGui.road = %obj;
|
||||
RoadInspector.inspect( %obj );
|
||||
if(%obj != RoadEditorGui.getSelectedRoad())
|
||||
{
|
||||
RoadEditorGui.setSelectedRoad( %obj );
|
||||
}
|
||||
}
|
||||
|
||||
function RoadEditorGui::prepSelectionMode( %this )
|
||||
{
|
||||
%mode = %this.getMode();
|
||||
|
||||
if ( %mode $= "RoadEditorAddNodeMode" )
|
||||
{
|
||||
if ( isObject( %this.getSelectedRoad() ) )
|
||||
%this.deleteNode();
|
||||
}
|
||||
|
||||
%this.setMode( "RoadEditorSelectMode" );
|
||||
ToolsPaletteArray-->RoadEditorSelectMode.setStateOn(1);
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
function ERoadEditorSelectModeBtn::onClick(%this)
|
||||
{
|
||||
EditorGuiStatusBar.setInfo(%this.ToolTip);
|
||||
}
|
||||
|
||||
function ERoadEditorAddModeBtn::onClick(%this)
|
||||
{
|
||||
EditorGuiStatusBar.setInfo(%this.ToolTip);
|
||||
}
|
||||
|
||||
function ERoadEditorMoveModeBtn::onClick(%this)
|
||||
{
|
||||
EditorGuiStatusBar.setInfo(%this.ToolTip);
|
||||
}
|
||||
|
||||
function ERoadEditorScaleModeBtn::onClick(%this)
|
||||
{
|
||||
EditorGuiStatusBar.setInfo(%this.ToolTip);
|
||||
}
|
||||
|
||||
function ERoadEditorInsertModeBtn::onClick(%this)
|
||||
{
|
||||
EditorGuiStatusBar.setInfo(%this.ToolTip);
|
||||
}
|
||||
|
||||
function ERoadEditorRemoveModeBtn::onClick(%this)
|
||||
{
|
||||
EditorGuiStatusBar.setInfo(%this.ToolTip);
|
||||
}
|
||||
|
||||
function RoadDefaultWidthSliderCtrlContainer::onWake(%this)
|
||||
{
|
||||
RoadDefaultWidthSliderCtrlContainer-->slider.setValue(RoadDefaultWidthTextEditContainer-->textEdit.getText());
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue