From 8d78997145cd1d0bbf6cdd50d534eec3601deb7f Mon Sep 17 00:00:00 2001 From: automatic9045 <67314487+automatic9045@users.noreply.github.com> Date: Wed, 20 Sep 2023 23:01:43 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20[=E3=82=AF=E3=83=A9=E3=82=B9=E3=83=A9?= =?UTF-8?q?=E3=83=83=E3=83=91=E3=83=BC]=E8=83=8C=E6=99=AF=E3=83=A2?= =?UTF-8?q?=E3=83=87=E3=83=AB=E3=82=92=E6=93=8D=E4=BD=9C=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Libs/BveTypes/BveTypes.csproj | 1 + .../ClassWrappers/Public/Background.cs | 64 +++++++++++++++++++ Libs/BveTypes/WrapTypes/5.8.7554.391.xml | 6 ++ Libs/BveTypes/WrapTypes/6.0.7554.619.xml | 6 ++ 4 files changed, 77 insertions(+) create mode 100644 Libs/BveTypes/ClassWrappers/Public/Background.cs diff --git a/Libs/BveTypes/BveTypes.csproj b/Libs/BveTypes/BveTypes.csproj index 8101d0a9..3dc7a2e7 100644 --- a/Libs/BveTypes/BveTypes.csproj +++ b/Libs/BveTypes/BveTypes.csproj @@ -81,6 +81,7 @@ + diff --git a/Libs/BveTypes/ClassWrappers/Public/Background.cs b/Libs/BveTypes/ClassWrappers/Public/Background.cs new file mode 100644 index 00000000..192a55bb --- /dev/null +++ b/Libs/BveTypes/ClassWrappers/Public/Background.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +using SlimDX; + +using FastMember; +using TypeWrapping; + +namespace BveTypes.ClassWrappers +{ + /// + /// 背景モデルを表します。 + /// + public class Background : ClassWrapperBase + { + [InitializeClassWrapper] + private static void Initialize(BveTypeSet bveTypes) + { + ClassMemberSet members = bveTypes.GetClassInfoOf(); + + BackgroundObjectsField = members.GetSourceFieldOf(nameof(BackgroundObjects)); + + DrawMethod = members.GetSourceMethodOf(nameof(Draw)); + } + + /// + /// オリジナル オブジェクトから クラスの新しいインスタンスを初期化します。 + /// + /// ラップするオリジナル オブジェクト。 + protected Background(object src) : base(src) + { + } + + /// + /// オリジナル オブジェクトからラッパーのインスタンスを生成します。 + /// + /// ラップするオリジナル オブジェクト。 + /// オリジナル オブジェクトをラップした クラスのインスタンス。 + [CreateClassWrapperFromSource] + public static Background FromSource(object src) => src is null ? null : new Background(src); + + + private static FastField BackgroundObjectsField; + /// + /// 背景ストラクチャーのリストを取得・設定します。 + /// + public MapFunctionList BackgroundObjects + { + get => MapFunctionList.FromSource(BackgroundObjectsField.GetValue(Src)); + set => BackgroundObjectsField.SetValue(Src, value.Src); + } + + private static FastMethod DrawMethod; + /// + /// 回転角度を指定して背景モデルを描画します。 + /// + /// 描画に使用する 。 + /// 方角に合わせるための回転行列。 + public void Draw(Direct3DProvider direct3DProvider, Matrix rotationMatrix) => DrawMethod.Invoke(Src, new object[] { direct3DProvider, rotationMatrix }); + } +} diff --git a/Libs/BveTypes/WrapTypes/5.8.7554.391.xml b/Libs/BveTypes/WrapTypes/5.8.7554.391.xml index 065af609..b55447bb 100644 --- a/Libs/BveTypes/WrapTypes/5.8.7554.391.xml +++ b/Libs/BveTypes/WrapTypes/5.8.7554.391.xml @@ -97,6 +97,12 @@ + + + + + + diff --git a/Libs/BveTypes/WrapTypes/6.0.7554.619.xml b/Libs/BveTypes/WrapTypes/6.0.7554.619.xml index 065af609..b55447bb 100644 --- a/Libs/BveTypes/WrapTypes/6.0.7554.619.xml +++ b/Libs/BveTypes/WrapTypes/6.0.7554.619.xml @@ -97,6 +97,12 @@ + + + + + +