Пример #1
0
        private Size oldSize;                                                                                   //!< リサイズ前のサイズ

        ////////////////////////////////////////////////////////////////////////////////
        ///	@brief			コンストラクタ
        ///	@fn				FormMain()
        ///	@return			ありません
        ///	@author			Yuta Yoshinaga
        ///	@date			2017.10.20
        ///
        ////////////////////////////////////////////////////////////////////////////////
        public Reversi()
        {
            InitializeComponent();
            oldSize.Width  = 0;
            oldSize.Height = 0;

            System.IO.Directory.CreateDirectory(System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\Y.Y Magic\\Reversi4ColorForm");
            string setPath = System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\Y.Y Magic\\Reversi4ColorForm\\" + "AppSetting.xml";

            try
            {
                this.m_AppSettings = this.LoadSettingXml(setPath);
                if (this.m_AppSettings == null)
                {
                    this.m_AppSettings = new ReversiSetting();
                    this.SaveSettingXml(setPath, ref this.m_AppSettings);
                }
                this.m_ReversiPlay            = new ReversiPlay();
                this.m_ReversiPlay.mSetting   = this.m_AppSettings;
                this.m_ReversiPlay.viewMsgDlg = this.ViewMsgDlg;
                this.m_ReversiPlay.drawSingle = this.DrawSingle;
                this.m_ReversiPlay.curColMsg  = this.CurColMsg;
                this.m_ReversiPlay.curStsMsg  = this.CurStsMsg;
                this.appInit();
                Task newTask = new Task(() => { this.m_ReversiPlay.reset(); });
                newTask.Start();
            }
            catch (Exception ex)
            {
                System.Console.WriteLine("FormMain(1) : " + ex.Message);
                System.Console.WriteLine("FormMain(1) : " + ex.StackTrace);
            }
        }
Пример #2
0
        ////////////////////////////////////////////////////////////////////////////////
        ///	@brief			セッティングクリック
        ///	@fn				void button2_Click(object sender, EventArgs e)
        ///	@param[in]		object sender
        ///	@param[in]		EventArgs e
        ///	@return			ありません
        ///	@author			Yuta Yoshinaga
        ///	@date			2017.10.20
        ///
        ////////////////////////////////////////////////////////////////////////////////
        private void button2_Click(object sender, EventArgs e)
        {
            System.IO.Directory.CreateDirectory(System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\Y.Y Magic\\Reversi4ColorForm");
            string setPath = System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\Y.Y Magic\\Reversi4ColorForm\\" + "AppSetting.xml";

            SettingForm form = new SettingForm(this.m_AppSettings);

            // *** オーナーウィンドウにthisを指定する *** //
            form.ShowDialog(this);

            this.m_AppSettings = form.mSetting;
            SaveSettingXml(setPath, ref this.m_AppSettings);

            // *** フォームが必要なくなったところで、Disposeを呼び出す *** //
            form.Dispose();
            this.m_ReversiPlay.mSetting = this.m_AppSettings;
            this.appInit();
            Task newTask = new Task(() => { this.m_ReversiPlay.reset(); });

            newTask.Start();
        }
Пример #3
0
        ////////////////////////////////////////////////////////////////////////////////
        ///	@brief			設定XMLファイルロード
        ///	@fn				ReversiSetting LoadSettingXml(string path)
        ///	@param[in]		string path		設定XMLファイルパス
        ///	@return			ReversiSettingオブジェクトインスタンス
        ///	@author			Yuta Yoshinaga
        ///	@date			2017.10.20
        ///
        ////////////////////////////////////////////////////////////////////////////////
        public ReversiSetting LoadSettingXml(string path)
        {
            ReversiSetting ret = null;

            try
            {
                // *** XMLをReversiSettingオブジェクトに読み込む *** //
                XmlSerializer serializer = new XmlSerializer(typeof(ReversiSetting));
                ret = new ReversiSetting();

                FileStream fsr = new FileStream(path, FileMode.Open);

                // *** XMLファイルを読み込み、逆シリアル化(復元)する *** //
                ret = (ReversiSetting)serializer.Deserialize(fsr);
                fsr.Close();
            }
            catch (Exception ex)
            {
                System.Console.WriteLine("LoadSettingXml() : " + ex.Message);
                System.Console.WriteLine("LoadSettingXml() : " + ex.StackTrace);
                ret = null;
            }
            return(ret);
        }
Пример #4
0
        ////////////////////////////////////////////////////////////////////////////////
        ///	@brief			設定XMLファイルセーブ
        ///	@fn				int SaveSettingXml(string path,ReversiSetting appSet)
        ///	@param[in]		string path			設定XMLファイルパス
        ///	@param[out]		ReversiSetting appSet	設定XMLファイルオブジェクト
        ///	@return			0 : 成功 それ以外 : 失敗
        ///	@author			Yuta Yoshinaga
        ///	@date			2017.10.20
        ///
        ////////////////////////////////////////////////////////////////////////////////
        public int SaveSettingXml(string path, ref ReversiSetting appSet)
        {
            int ret = 0;

            try
            {
                // *** XMLをReversiSettingオブジェクトに読み込む *** //
                XmlSerializer serializer = new XmlSerializer(typeof(ReversiSetting));

                // *** カレントディレクトリに"AppSetting.xml"というファイルで書き出す *** //
                FileStream fsw = new FileStream(path, FileMode.Create);

                // *** オブジェクトをシリアル化してXMLファイルに書き込む *** //
                serializer.Serialize(fsw, appSet);
                fsw.Close();
            }
            catch (Exception exl)
            {
                System.Console.WriteLine("SaveSettingXml() : " + exl.Message);
                System.Console.WriteLine("SaveSettingXml() : " + exl.StackTrace);
                ret = -1;
            }
            return(ret);
        }
 ////////////////////////////////////////////////////////////////////////////////
 ///	@brief			コンストラクタ
 ///	@fn				SettingForm(ReversiSetting mSetting)
 ///	@return			ありません
 ///	@author			Yuta Yoshinaga
 ///	@date			2017.10.20
 ///
 ////////////////////////////////////////////////////////////////////////////////
 public SettingForm(ReversiSetting mSetting)
 {
     InitializeComponent();
     this.mSetting = mSetting;
     this.reflectSettingForm();
 }