Rev 94 | Rev 217 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#pragma onceusing namespace System;using namespace System::ComponentModel;using namespace System::Collections;using namespace System::Windows::Forms;using namespace System::Data;using namespace System::Drawing;#include "CustomiseTurret.h"#include "CustomiseGuns.h"#include "CustomiseWeapons.h"#include "CustomiseWeapons1.h"#include "CustomiseModel.h"#include "CustomisePerformance.h"#include "CustomiseInfo.h"namespace Creator {/// <summary>/// Summary for CustomiseShip////// WARNING: If you change the name of this class, you will need to change the/// 'Resource File Name' property for the managed resource compiler tool/// associated with all .resx files this class depends on. Otherwise/// the designers will not be able to interact properly with localized/// resources associated with this form./// </summary>public ref class CustomiseShip : public System::Windows::Forms::Form{public:CustomiseShip(CXspFile *shipFile, Windows::Forms::Form ^mainForm, CPackages *p, ImageList ^imagesSmall, ImageList ^imagesLarge, CGameDirectories *gameDir);CGameDirectories *gameDirectories();String ^GetPosition(int pos){switch ( pos ){case 0:return "Cockpit";case 1:return "Front";case 2:return "Rear";case 3:return "Left";case 4:return "Right";case 5:return "Top";case 6:return "Bottom";}return "";}void UpdateGunTurrets() { m_pCustomiseGuns->UpdateGunTurrets(); }void SetupControls();void SwitchGame();void LoadText(CVirtualFileSystem *vfs);void UpdateDisplay(){m_pCustomiseInfo->UpdateDisplay();m_pCustomisePerformance->UpdateDisplay();m_pCustomiseWeapons1->UpdateDisplay();m_pCustomiseModel->UpdateDisplay();m_pCustomiseTurret->UpdateDisplay();}protected:~CustomiseShip(){if (components){delete components;}delete m_pShipData;if ( m_pWeapons )m_pWeapons->MemoryClear();delete m_pWeapons;if ( m_pModels )delete m_pModels;}CustomiseInfo ^m_pCustomiseInfo;CustomisePerformance ^m_pCustomisePerformance;CustomiseWeapons1 ^m_pCustomiseWeapons1;CustomiseModel ^m_pCustomiseModel;CustomiseWeapons ^m_pCustomiseWeapons;CustomiseGuns ^m_pCustomiseGuns;CustomiseTurret ^m_pCustomiseTurret;CLinkList<SWeaponMasks> *m_pWeapons;CPackages *m_pPackages;bool m_bUpdateing;Windows::Forms::Form ^m_pMainForm;CXspFile *m_pShipFile;CShipData *m_pShipData;CyStringList *m_pModels;CGameDirectories *_pGameDir;/// <summary>/// Clean up any resources being used./// </summary>private: System::Windows::Forms::Panel^ panel1;private: System::Windows::Forms::Label^ label1;private: System::Windows::Forms::ComboBox^ ComboGame;private: System::Windows::Forms::Panel^ panel2;private: System::Windows::Forms::Button^ button2;private: System::Windows::Forms::Button^ ButSave;private: System::Windows::Forms::ListView^ listView2;private: System::Windows::Forms::ListView^ listView1;private: System::Windows::Forms::CheckBox^ CheckWeaponDefaultCockpit;private: System::Windows::Forms::TabPage^ tabPage7;private: System::Windows::Forms::TabPage^ tabPage6;private: System::Windows::Forms::TabPage^ tabPage5;private: System::Windows::Forms::TabPage^ tabPage4;private: System::Windows::Forms::TabPage^ tabPage3;private: System::Windows::Forms::TabPage^ tabPage2;private: System::Windows::Forms::TabControl^ tabControl1;private: System::Windows::Forms::TabPage^ tabPage1;private: System::ComponentModel::IContainer^ components;/// <summary>/// Required designer variable./// </summary>#pragma region Windows Form Designer generated code/// <summary>/// Required method for Designer support - do not modify/// the contents of this method with the code editor./// </summary>void InitializeComponent(void){this->panel1 = (gcnew System::Windows::Forms::Panel());this->ComboGame = (gcnew System::Windows::Forms::ComboBox());this->label1 = (gcnew System::Windows::Forms::Label());this->panel2 = (gcnew System::Windows::Forms::Panel());this->button2 = (gcnew System::Windows::Forms::Button());this->ButSave = (gcnew System::Windows::Forms::Button());this->tabPage7 = (gcnew System::Windows::Forms::TabPage());this->tabPage6 = (gcnew System::Windows::Forms::TabPage());this->tabPage5 = (gcnew System::Windows::Forms::TabPage());this->tabPage4 = (gcnew System::Windows::Forms::TabPage());this->tabPage3 = (gcnew System::Windows::Forms::TabPage());this->tabPage2 = (gcnew System::Windows::Forms::TabPage());this->tabControl1 = (gcnew System::Windows::Forms::TabControl());this->tabPage1 = (gcnew System::Windows::Forms::TabPage());this->panel1->SuspendLayout();this->panel2->SuspendLayout();this->tabControl1->SuspendLayout();this->SuspendLayout();//// panel1//this->panel1->Controls->Add(this->ComboGame);this->panel1->Controls->Add(this->label1);this->panel1->Dock = System::Windows::Forms::DockStyle::Top;this->panel1->Location = System::Drawing::Point(10, 10);this->panel1->Name = L"panel1";this->panel1->Padding = System::Windows::Forms::Padding(5);this->panel1->Size = System::Drawing::Size(548, 32);this->panel1->TabIndex = 0;//// ComboGame//this->ComboGame->Dock = System::Windows::Forms::DockStyle::Fill;this->ComboGame->DropDownStyle = System::Windows::Forms::ComboBoxStyle::DropDownList;this->ComboGame->FormattingEnabled = true;this->ComboGame->Location = System::Drawing::Point(155, 5);this->ComboGame->Name = L"ComboGame";this->ComboGame->Size = System::Drawing::Size(388, 21);this->ComboGame->TabIndex = 1;this->ComboGame->SelectedIndexChanged += gcnew System::EventHandler(this, &CustomiseShip::ComboGame_SelectedIndexChanged);//// label1//this->label1->Dock = System::Windows::Forms::DockStyle::Left;this->label1->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point,static_cast<System::Byte>(0)));this->label1->Location = System::Drawing::Point(5, 5);this->label1->Name = L"label1";this->label1->Size = System::Drawing::Size(150, 22);this->label1->TabIndex = 0;this->label1->Text = L"Primary Game";this->label1->TextAlign = System::Drawing::ContentAlignment::MiddleLeft;//// panel2//this->panel2->Controls->Add(this->button2);this->panel2->Controls->Add(this->ButSave);this->panel2->Dock = System::Windows::Forms::DockStyle::Bottom;this->panel2->Location = System::Drawing::Point(10, 553);this->panel2->Name = L"panel2";this->panel2->Padding = System::Windows::Forms::Padding(8);this->panel2->Size = System::Drawing::Size(548, 46);this->panel2->TabIndex = 1;//// button2//this->button2->DialogResult = System::Windows::Forms::DialogResult::Cancel;this->button2->Dock = System::Windows::Forms::DockStyle::Right;this->button2->Location = System::Drawing::Point(331, 8);this->button2->Name = L"button2";this->button2->Size = System::Drawing::Size(99, 30);this->button2->TabIndex = 1;this->button2->Text = L"Cancel";this->button2->UseVisualStyleBackColor = true;//// ButSave//this->ButSave->DialogResult = System::Windows::Forms::DialogResult::OK;this->ButSave->Dock = System::Windows::Forms::DockStyle::Right;this->ButSave->Location = System::Drawing::Point(430, 8);this->ButSave->Name = L"ButSave";this->ButSave->Size = System::Drawing::Size(110, 30);this->ButSave->TabIndex = 0;this->ButSave->Text = L"Save";this->ButSave->UseVisualStyleBackColor = true;this->ButSave->Click += gcnew System::EventHandler(this, &CustomiseShip::ButSave_Click);//// tabPage7//this->tabPage7->Location = System::Drawing::Point(4, 22);this->tabPage7->Name = L"tabPage7";this->tabPage7->Padding = System::Windows::Forms::Padding(10);this->tabPage7->Size = System::Drawing::Size(540, 485);this->tabPage7->TabIndex = 6;this->tabPage7->Text = L"Guns";this->tabPage7->UseVisualStyleBackColor = true;//// tabPage6//this->tabPage6->Location = System::Drawing::Point(4, 22);this->tabPage6->Margin = System::Windows::Forms::Padding(10);this->tabPage6->Name = L"tabPage6";this->tabPage6->Padding = System::Windows::Forms::Padding(3);this->tabPage6->Size = System::Drawing::Size(540, 485);this->tabPage6->TabIndex = 5;this->tabPage6->Text = L"Turrets";this->tabPage6->UseVisualStyleBackColor = true;//// tabPage5//this->tabPage5->Location = System::Drawing::Point(4, 22);this->tabPage5->Name = L"tabPage5";this->tabPage5->Padding = System::Windows::Forms::Padding(10);this->tabPage5->Size = System::Drawing::Size(540, 485);this->tabPage5->TabIndex = 4;this->tabPage5->Text = L"Lasers/Missiles";this->tabPage5->UseVisualStyleBackColor = true;//// tabPage4//this->tabPage4->Location = System::Drawing::Point(4, 22);this->tabPage4->Name = L"tabPage4";this->tabPage4->Padding = System::Windows::Forms::Padding(3);this->tabPage4->Size = System::Drawing::Size(540, 485);this->tabPage4->TabIndex = 3;this->tabPage4->Text = L"Model";this->tabPage4->UseVisualStyleBackColor = true;//// tabPage3//this->tabPage3->Location = System::Drawing::Point(4, 22);this->tabPage3->Name = L"tabPage3";this->tabPage3->Padding = System::Windows::Forms::Padding(3);this->tabPage3->Size = System::Drawing::Size(540, 485);this->tabPage3->TabIndex = 2;this->tabPage3->Text = L"Weapons";this->tabPage3->UseVisualStyleBackColor = true;//// tabPage2//this->tabPage2->Location = System::Drawing::Point(4, 22);this->tabPage2->Name = L"tabPage2";this->tabPage2->Padding = System::Windows::Forms::Padding(3);this->tabPage2->Size = System::Drawing::Size(540, 485);this->tabPage2->TabIndex = 1;this->tabPage2->Text = L"Performance";this->tabPage2->UseVisualStyleBackColor = true;//// tabControl1//this->tabControl1->Controls->Add(this->tabPage1);this->tabControl1->Controls->Add(this->tabPage2);this->tabControl1->Controls->Add(this->tabPage3);this->tabControl1->Controls->Add(this->tabPage4);this->tabControl1->Controls->Add(this->tabPage5);this->tabControl1->Controls->Add(this->tabPage6);this->tabControl1->Controls->Add(this->tabPage7);this->tabControl1->Dock = System::Windows::Forms::DockStyle::Fill;this->tabControl1->Location = System::Drawing::Point(10, 42);this->tabControl1->Name = L"tabControl1";this->tabControl1->SelectedIndex = 0;this->tabControl1->Size = System::Drawing::Size(548, 511);this->tabControl1->TabIndex = 2;//// tabPage1//this->tabPage1->Location = System::Drawing::Point(4, 22);this->tabPage1->Name = L"tabPage1";this->tabPage1->Padding = System::Windows::Forms::Padding(3);this->tabPage1->Size = System::Drawing::Size(540, 485);this->tabPage1->TabIndex = 0;this->tabPage1->Text = L"Ship Info";this->tabPage1->UseVisualStyleBackColor = true;//// CustomiseShip//this->AcceptButton = this->ButSave;this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;this->CancelButton = this->button2;this->ClientSize = System::Drawing::Size(568, 609);this->Controls->Add(this->tabControl1);this->Controls->Add(this->panel2);this->Controls->Add(this->panel1);this->Name = L"CustomiseShip";this->Padding = System::Windows::Forms::Padding(10);this->ShowInTaskbar = false;this->StartPosition = System::Windows::Forms::FormStartPosition::CenterParent;this->Text = L"Customise Ship";this->panel1->ResumeLayout(false);this->panel2->ResumeLayout(false);this->tabControl1->ResumeLayout(false);this->ResumeLayout(false);}#pragma endregionprivate: System::Void ComboGame_SelectedIndexChanged(System::Object^ sender, System::EventArgs^ e) {this->SwitchGame();}private: System::Void ButSave_Click(System::Object^ sender, System::EventArgs^ e) {m_pShipFile->SetCreatedShipData(m_pShipData);for ( SWeaponMasks *m = m_pWeapons->First(); m; m = m_pWeapons->Next() ){if ( m->iLaserMask > -1 )m_pShipFile->SetLaserMask(m->iGame, m->iLaserMask);if ( m->iMissileMask > -1 )m_pShipFile->SetMissileMask(m->iGame, m->iMissileMask);}}};}