#pragma once
#include "BaseForm.h"

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;


namespace ObjDataEdit
{
	/// <summary> 
	/// Summary for BodyObjForm
	///
	/// 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>

#ifndef _Just_Show_DotNet_Form_
    public __gc class BodyObjForm : public System::Windows::Forms::Form
#else 
    public __gc class BodyObjForm : public BaseForm
#endif	
	{
	public: 
        BodyObjForm( char* FormName , char* DBName , char* OutputFile  , bool IsReadOnly , SearchFormTypeENUM FormType ) :  BaseForm( FormName , DBName , OutputFile  , IsReadOnly , FormType )
        {
            InitializeComponent();
            this->panel4_Base->Controls->Add(this->panel1);
        }             
        
	protected: 
		void Dispose(Boolean disposing)
		{
			if (disposing && components)
			{
				components->Dispose();
			}
			__super::Dispose(disposing);
		}
    private: System::Windows::Forms::Panel *  panel1;
	private: System::Windows::Forms::GroupBox*  groupBox1;
	private: System::Windows::Forms::CheckedListBox*  CLB_OtherType;




	private: System::Windows::Forms::GroupBox*  groupBox3;
	private: System::Windows::Forms::CheckedListBox*  CLB_RaceLimit;
	private: System::Windows::Forms::GroupBox*  groupBox5;
	private: System::Windows::Forms::CheckedListBox*  CLB_SexLimit;
	private: System::Windows::Forms::ComboBox*  comboBox8;
	private: System::Windows::Forms::Label*  label12;
	private: System::Windows::Forms::Label*  label31;
	private: System::Windows::Forms::TextBox*  textBox16;


	private:
		/// <summary>
		/// Required designer variable.
		/// </summary>
		System::ComponentModel::Container* components;

		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		void InitializeComponent(void)
		{
			this->panel1 = (new System::Windows::Forms::Panel());
			this->comboBox8 = (new System::Windows::Forms::ComboBox());
			this->label12 = (new System::Windows::Forms::Label());
			this->groupBox5 = (new System::Windows::Forms::GroupBox());
			this->CLB_SexLimit = (new System::Windows::Forms::CheckedListBox());
			this->groupBox3 = (new System::Windows::Forms::GroupBox());
			this->CLB_RaceLimit = (new System::Windows::Forms::CheckedListBox());
			this->groupBox1 = (new System::Windows::Forms::GroupBox());
			this->CLB_OtherType = (new System::Windows::Forms::CheckedListBox());
			this->label31 = (new System::Windows::Forms::Label());
			this->textBox16 = (new System::Windows::Forms::TextBox());
			this->panel1->SuspendLayout();
			this->groupBox5->SuspendLayout();
			this->groupBox3->SuspendLayout();
			this->groupBox1->SuspendLayout();
			this->SuspendLayout();
			// 
			// panel1
			// 
			this->panel1->Controls->Add(this->label31);
			this->panel1->Controls->Add(this->textBox16);
			this->panel1->Controls->Add(this->comboBox8);
			this->panel1->Controls->Add(this->label12);
			this->panel1->Controls->Add(this->groupBox5);
			this->panel1->Controls->Add(this->groupBox3);
			this->panel1->Controls->Add(this->groupBox1);
			this->panel1->Dock = System::Windows::Forms::DockStyle::Fill;
			this->panel1->Location = System::Drawing::Point(0, 0);
			this->panel1->Name = S"panel1";
			this->panel1->Size = System::Drawing::Size(792, 774);
			this->panel1->TabIndex = 0;
			// 
			// comboBox8
			// 
			this->comboBox8->DropDownStyle = System::Windows::Forms::ComboBoxStyle::DropDownList;
			this->comboBox8->FormattingEnabled = true;
			System::Object* __mcTemp__1[] = new System::Object*[2];
			__mcTemp__1[0] = S"髮型";
			__mcTemp__1[1] = S"臉型";
			this->comboBox8->Items->AddRange(__mcTemp__1);
			this->comboBox8->Location = System::Drawing::Point(51, 12);
			this->comboBox8->Name = S"comboBox8";
			this->comboBox8->Size = System::Drawing::Size(98, 20);
			this->comboBox8->TabIndex = 137;
			this->comboBox8->Tag = S"ObjType";
			this->comboBox8->SelectedIndexChanged += new System::EventHandler(this, &BodyObjForm::GetIndex_SelectedIndexChanged);
			// 
			// label12
			// 
			this->label12->AutoSize = true;
			this->label12->Location = System::Drawing::Point(16, 15);
			this->label12->Name = S"label12";
			this->label12->Size = System::Drawing::Size(29, 12);
			this->label12->TabIndex = 136;
			this->label12->Text = S"類型";
			// 
			// groupBox5
			// 
			this->groupBox5->Controls->Add(this->CLB_SexLimit);
			this->groupBox5->Location = System::Drawing::Point(10, 125);
			this->groupBox5->Name = S"groupBox5";
			this->groupBox5->Size = System::Drawing::Size(115, 88);
			this->groupBox5->TabIndex = 135;
			this->groupBox5->TabStop = false;
			this->groupBox5->Text = S"性別";
			// 
			// CLB_SexLimit
			// 
			this->CLB_SexLimit->CheckOnClick = true;
			System::Object* __mcTemp__2[] = new System::Object*[2];
			__mcTemp__2[0] = S"男";
			__mcTemp__2[1] = S"女";
			this->CLB_SexLimit->Items->AddRange(__mcTemp__2);
			this->CLB_SexLimit->Location = System::Drawing::Point(8, 16);
			this->CLB_SexLimit->Name = S"CLB_SexLimit";
			this->CLB_SexLimit->Size = System::Drawing::Size(96, 55);
			this->CLB_SexLimit->TabIndex = 1;
			this->CLB_SexLimit->Tag = S"LimitSex";
			this->CLB_SexLimit->SelectedValueChanged += new System::EventHandler(this, &BodyObjForm::ChangeFlag);
			// 
			// groupBox3
			// 
			this->groupBox3->Controls->Add(this->CLB_RaceLimit);
			this->groupBox3->Location = System::Drawing::Point(131, 46);
			this->groupBox3->Name = S"groupBox3";
			this->groupBox3->Size = System::Drawing::Size(104, 167);
			this->groupBox3->TabIndex = 134;
			this->groupBox3->TabStop = false;
			this->groupBox3->Text = S"種族";
			// 
			// CLB_RaceLimit
			// 
			this->CLB_RaceLimit->CheckOnClick = true;
			System::Object* __mcTemp__3[] = new System::Object*[7];
			__mcTemp__3[0] = S"種族1";
			__mcTemp__3[1] = S"種族2";
			__mcTemp__3[2] = S"種族3";
			__mcTemp__3[3] = S"種族4";
			__mcTemp__3[4] = S"種族5";
			__mcTemp__3[5] = S"種族6";
			__mcTemp__3[6] = S"種族7";
			this->CLB_RaceLimit->Items->AddRange(__mcTemp__3);
			this->CLB_RaceLimit->Location = System::Drawing::Point(8, 16);
			this->CLB_RaceLimit->Name = S"CLB_RaceLimit";
			this->CLB_RaceLimit->Size = System::Drawing::Size(88, 140);
			this->CLB_RaceLimit->TabIndex = 0;
			this->CLB_RaceLimit->Tag = S"LimitRace";
			this->CLB_RaceLimit->SelectedValueChanged += new System::EventHandler(this, &BodyObjForm::ChangeFlag);
			// 
			// groupBox1
			// 
			this->groupBox1->Controls->Add(this->CLB_OtherType);
			this->groupBox1->Location = System::Drawing::Point(12, 46);
			this->groupBox1->Name = S"groupBox1";
			this->groupBox1->Size = System::Drawing::Size(113, 73);
			this->groupBox1->TabIndex = 133;
			this->groupBox1->TabStop = false;
			this->groupBox1->Text = S"限制條件";
			// 
			// CLB_OtherType
			// 
			this->CLB_OtherType->CheckOnClick = true;
			System::Object* __mcTemp__4[] = new System::Object*[2];
			__mcTemp__4[0] = S"選角";
			__mcTemp__4[1] = S"商城使用";
			this->CLB_OtherType->Items->AddRange(__mcTemp__4);
			this->CLB_OtherType->Location = System::Drawing::Point(6, 21);
			this->CLB_OtherType->Name = S"CLB_OtherType";
			this->CLB_OtherType->Size = System::Drawing::Size(96, 38);
			this->CLB_OtherType->TabIndex = 132;
			this->CLB_OtherType->Tag = S"LimitSetting";
			this->CLB_OtherType->SelectedValueChanged += new System::EventHandler(this, &BodyObjForm::ChangeFlag);
			// 
			// label31
			// 
			this->label31->AutoSize = true;
			this->label31->Location = System::Drawing::Point(186, 20);
			this->label31->Name = S"label31";
			this->label31->Size = System::Drawing::Size(77, 12);
			this->label31->TabIndex = 178;
			this->label31->Text = S"優先選取權值";
			// 
			// textBox16
			// 
			this->textBox16->Location = System::Drawing::Point(275, 17);
			this->textBox16->Name = S"textBox16";
			this->textBox16->Size = System::Drawing::Size(79, 22);
			this->textBox16->TabIndex = 179;
			this->textBox16->Tag = S"Priority";
			this->textBox16->Text = S"0";
			this->textBox16->TextChanged += new System::EventHandler(this, &BodyObjForm::GetIntValue_TextChanged);
			// 
			// BodyObjForm
			// 
			this->AutoScaleBaseSize = System::Drawing::Size(5, 15);
			this->ClientSize = System::Drawing::Size(792, 774);
			this->Controls->Add(this->panel1);
			this->Name = S"BodyObjForm";
			this->Text = S"BodyObjForm";
			this->panel1->ResumeLayout(false);
			this->panel1->PerformLayout();
			this->groupBox5->ResumeLayout(false);
			this->groupBox3->ResumeLayout(false);
			this->groupBox1->ResumeLayout(false);
			this->ResumeLayout(false);

		}		

#ifndef _Just_Show_DotNet_Form_
private:
    System::Void GetStr_TextChanged(System::Object *  sender, System::EventArgs *  e);
    System::Void GetValue_ValueChanged(System::Object *  sender, System::EventArgs *  e);
    System::Void ChangeFlag(System::Object *  sender, System::EventArgs *  e);

    System::Void GetIntValue_TextChanged(System::Object *  sender, System::EventArgs *  e);
    System::Void BaseForm_Closing(System::Object *  sender, System::ComponentModel::CancelEventArgs *  e);
    System::Void SearchObj_DClick(System::Object *  sender, System::EventArgs *  e);
	System::Void GetIndex_SelectedIndexChanged(System::Object*  sender, System::EventArgs*  e);
#endif
    //######################################################################################################
protected:
    //主要需要繼承的涵式
    virtual ReaderClass< DB_GameObjDbStruct >* ObjReader( );       
    virtual void    OnActive();
    virtual void    OnSelectObj( bool LockOk );
    //輸出時額外設定
    virtual void    OnOutputObjSetting( DB_GameObjDbStruct* TempObj );
    virtual void    OnTimeProc();
    virtual int     ObjSize();
    //######################################################################################################


};
}