/// <summary> /// 初期化を行う。 /// </summary> /// <param name="title">タイトル</param> /// <param name="width">横幅</param> /// <param name="height">縦幅</param> /// <param name="option">オプション</param> /// <returns>成否</returns> public static bool Initialize(string title, int width, int height, EngineOption option) { if (core != null) { return(false); } //if (!CheckDLL()) return false; try { core = swig.Core_Imp.CreateCore(); } catch (System.TypeInitializationException) { // DLLが見つからないケース return(false); } var result = core.Initialize(title, width, height, option.IsFullScreen, option.GraphicsType == GraphicsType.OpenGL, option.IsMultithreadingMode); if (result) { GC.Initialize(); SetupMembers(); return(true); } else { core.Release(); core = null; return(false); } }
/// <summary> /// 外部ウインドウにゲーム画面を表示する初期化を行う。 /// </summary> /// <param name="handle1">ハンドル1</param> /// <param name="handle2">ハンドル2</param> /// <param name="width">横幅</param> /// <param name="height">縦幅</param> /// <param name="option">オプション</param> /// <returns>成否</returns> public static bool InitializeByExternalWindow(IntPtr handle1, IntPtr handle2, int width, int height, EngineOption option) { if (core != null) { return(false); } if (!CheckDLL()) { return(false); } try { core = swig.Core_Imp.CreateCore(); } catch (System.TypeInitializationException) { // DLLが見つからないケース return(false); } var result = core.InitializeByExternalWindow(handle1, handle2, width, height, option.GraphicsType == GraphicsType.OpenGL, option.IsMultithreadingMode); if (result) { GC.Initialize(); SetupMembers(); return(true); } else { core.Release(); core = null; return(false); } }