ironsphererpg/gui/EditorSaveMissionDlg.gui

337 lines
8.9 KiB
Plaintext
Raw Normal View History

//--- OBJECT WRITE BEGIN ---
new GuiControl(EditorSaveMissionDlg) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "640 480";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
new GuiWindowCtrl() {
profile = "GuiWindowProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "168 81";
extent = "333 313";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Save Mission...";
resizeWidth = "1";
resizeHeight = "1";
canMove = "1";
canClose = "1";
canMinimize = "1";
canMaximize = "1";
minSize = "50 50";
new GuiControl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "8 50";
extent = "317 226";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
new GuiTextCtrl() {
profile = "GuiMediumBoldTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "249 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Select the files which you wish to save:";
};
new GuiCheckBoxCtrl(SaveMissionCheckBox) {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "10 32";
extent = "132 22";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Mission File";
};
new GuiTextCtrl(SaveMissionText) {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "22 56";
extent = "64 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
};
new GuiTextCtrl(SaveTerrainText) {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "22 102";
extent = "56 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
};
new GuiCheckBoxCtrl(SaveTerrainCheckBox) {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "10 77";
extent = "132 22";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Terrain";
};
new GuiCheckBoxCtrl(SaveHeightFieldScriptCheckBox) {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "10 122";
extent = "132 22";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Heightfield Script";
};
new GuiTextCtrl(SaveHeightFieldScriptText) {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "22 148";
extent = "162 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
};
new GuiTextCtrl(SaveTextureScriptText) {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "22 194";
extent = "132 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
};
new GuiCheckBoxCtrl(SaveTerrainScriptCheckBox) {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "10 167";
extent = "132 22";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Texture Script";
};
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "158 284";
extent = "72 22";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
command = "EditorSaveMissionDlg.doSave();Canvas.popDialog(EditorSaveMissionDlg);";
helpTag = "0";
text = "OK";
};
new GuiTextEditCtrl(MissionNameTextEdit) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "87 26";
extent = "238 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
altCommand = "EditorSaveMissionDlg.missionName = $ThisControl.getValue();EditorSaveMissionDlg.updateTextFields();";
helpTag = "0";
historySize = "0";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "241 284";
extent = "72 22";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
command = "Canvas.popDialog(EditorSaveMissionDlg);";
helpTag = "0";
text = "Cancel";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "13 28";
extent = "66 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Mission Name";
};
};
};
//--- OBJECT WRITE END ---
//------------------------------------------------------------------------------
// Functions
//------------------------------------------------------------------------------
function EditorSaveMissionDlg::updateTextFields(%this)
{
SaveMissionText.setValue("missions/" @ %this.missionName @ ".mis");
SaveTerrainText.setValue("terrains/" @ %this.missionName @ ".ter");
SaveTextureScriptText.setValue("terrains/texture/" @ %this.missionName @ "_texture.cs");
SaveHeightFieldScriptText.setValue("terrains/heightfield/" @ %this.missionName @ "_heightfield.cs");
}
function EditorSaveMissionDlg::onWake(%this)
{
%this.missionName = fileBase($MissionName);
//
MissionNameTextEdit.setValue(%this.missionName);
%this.updateTextFields();
// set all to be saved
if(%this.initialized != true)
{
SaveMissionCheckBox.setValue(1);
SaveTerrainCheckBox.setValue(1);
SaveTerrainScriptCheckBox.setValue(1);
SaveHeightFieldScriptCheckBox.setValue(1);
%this.initialized = true;
}
}
function EditorSaveMissionDlg::doSave(%this)
{
//
if(!isObject(MissionGroup))
{
error("No mission exists to save!");
return;
}
// check the files for write access
//---------------------------------
if(SaveMissionCheckBox.getValue())
{
%file = "base/missions/" @ %this.missionName @ ".mis";
if(!isWriteableFileName(%file))
{
error("Mission file '" @ %file @ "' is not writeable.");
return;
}
}
if(SaveTerrainCheckBox.getValue())
{
%file = "base/terrains/" @ %this.missionName @ ".ter";
if(!isWriteableFileName(%file))
{
error("Terrain file '" @ %file @ "' is not writeable.");
return;
}
}
if(SaveTerrainScriptCheckBox.getValue())
{
%file = "base/terrains/texture/" @ %this.missionName @ "_texture.cs";
if(!isWriteableFileName(%file))
{
error("Terrain texture script file '" @ %file @ "' is not writeable.");
return;
}
}
if(SaveHeightFieldScriptCheckBox.getValue())
{
%file = "base/terrains/heightfield/" @ %this.missionName @ "_heightfield.cs";
if(!isWriteableFileName(%file))
{
error("Terrain heightfield script file '" @ %file @ "' is not writeable.");
return;
}
}
// Now, save out the files...
//---------------------------------
if(SaveMissionCheckBox.getValue())
{
// rename the terrainFile field in the TerrainBlock obj
if(SaveTerrainCheckBox.getValue())
if(isObject(terrain))
terrain.terrainFile = %this.missionName @ ".ter";
//
missionGroup.save("missions/" @ %this.missionName @ ".mis");
$MissionName = %this.missionName @ ".mis";
}
// requires that the terrain object be named 'terrain'
if(SaveTerrainCheckBox.getValue())
if(isObject(terrain))
terrain.save(%this.missionName @ ".ter");
else
warn(" Failed to save TerrainObject (no object exists)");
//
if(SaveTerrainScriptCheckBox.getValue())
if(Texture_material.rowCount())
Texture::save(%this.missionName @ "_texture.cs");
else
warn(" Failed to save Terrain Script file. Nothing to save.");
//
if(SaveHeightFieldScriptCheckBox.getValue())
if(Heightfield_operation.rowCount())
HeightField::doSaveHeightfield(%this.missionName @ "_heightfield.cs");
else
warn(" Failed to save HeightField Script file. Nothing to save.");
}