<?xml version="1.0"?>
<CSScriptData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ScriptType>CS2</ScriptType>
  <CompilerVersion>4</CompilerVersion>
  <ReferenceAssemblies>
    <string>System.dll</string>
    <string>System.Core.dll</string>
    <string>System.Data.dll</string>
    <string>System.Data.DataSetExtensions.dll</string>
    <string>System.Deployment.dll</string>
    <string>System.Drawing.dll</string>
    <string>System.Windows.Forms.dll</string>
    <string>System.Xml.dll</string>
    <string>System.Xml.Linq.dll</string>
    <string>Microsoft.CSharp.dll</string>
  </ReferenceAssemblies>
  <UsingText>using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using PEPlugin;
using PEPlugin.SDX;
using PEPlugin.Pmx;
using PEPlugin.Pmd;
using PEPlugin.Vmd;
using PEPlugin.Vme;
using PEPlugin.Form;
using PEPlugin.View;
using PXCPlugin;
using SlimDX;
using SlimDX.Direct3D9;
using IES = PEPlugin.Vme.IPEVmeEventState;
using IBS = PEPlugin.Vme.IPEVmeBoneState;
using ISS = PEPlugin.Vme.IPEVmeSingleValueState;
using IMS = PEPlugin.Vme.IPEVmeSingleValueState;
using ICS = PEPlugin.Vme.IPEVmeCameraState;
using ILS = PEPlugin.Vme.IPEVmeLightState;
</UsingText>
  <FullCodeText>
// using項目はメニューから一括管理

// Scriptプラグインクラス(クラス名変更不可)
public class CSScriptClass : PEPluginClass
{
    // コンストラクタ
    public CSScriptClass() : base()
    {
        // 起動オプション
        // boot時実行(true/false), プラグインメニューへの登録(true/false), メニュー登録名("")
        m_option = new PEPluginOption(false, true, "CSScript生成プラグイン");
    }

    // エントリポイント
    public override void Run(IPERunArgs args)
    {
        base.Run(args);
        try {
            // ここへ処理を追加してください.
            

        }
        catch (Exception ex) {
            MessageBox.Show(ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
        }
    }
}
</FullCodeText>
  <CodeText>
// ---- サンプルコード ----
// オブジェクト追加(Cプラグイン共通)
//

// 頂点
var v = bdx.Vertex();       // 頂点生成／パラメータ設定は省略(同以下)
vertex.Add(v);              // 頂点リストへ追加

// 材質／面
var mt = bdx.Material();    // 材質生成
material.Add(mt);           // 材質リストへ追加

var f = bdx.Face();         // 面生成
mt.Faces.Add(f);            // 材質内の面リストへ追加

// ボーン
var bn = bdx.Bone();        // ボーン生成
bone.Add(bn);               // ボーンリストへ追加

// IKリンク
var link = bdx.IKLink();    // IKリンク生成
bn.IK.Links.Add(link);      // ボーン内のIKリンクリストへ追加

// モーフ
var mp = bdx.Morph();       // モーフ生成
morph.Add(mp);              // モーフリストへ追加

// モーフオフセット
var ovx = bdx.VertexMorphOffset();      // 頂点モーフオフセット
mp.Offsets.Add(ovx);                    // オフセット追加(以下省略)
var ouv = bdx.UVMorphOffset();          // UVモーフオフセット
var obn = bdx.BoneMorphOffset();        // ボーンモーフオフセット
var omt = bdx.MaterialMorphOffset();    // 材質モーフオフセット
var ogp = bdx.GroupMorphOffset();       // グループモーフオフセット
var ofl = bdx.GroupMorphOffset();       // フリップモーフオフセット | フリップモーフはグループモーフと共通
var oip = bdx.ImpulseMorphOffset();     // インパルスモーフオフセット

// 表示枠
var n = bdx.Node();         // 表示枠生成
node.Add(n);                // 表示枠リストへ追加

var nb = bdx.BoneNodeItem(bone[0]);     // 表示枠ボーン要素
var nm = bdx.MorphNodeItem(morph[0]);   // 表示枠モーフ要素

// 剛体
var bdy = bdx.Body();       // 剛体生成
body.Add(bdy);              // 剛体リストへ追加

// Joint
var j = bdx.Joint();        // Joint生成
joint.Add(j);               // Jointリストへ追加

// SoftBody
var sb = bdx.SoftBody();    // SoftBody生成
sbody.Add(sb);              // SoftBodyリストへ追加

</CodeText>
  <CodeHeader>//
// ---- 簡易編集用ヘッダコード ----

// 常用接続変数一括登録

// ホスト配下
IPEPluginHost host = args.Host;
IPEBuilder builder = host.Builder;
IPEShortBuilder bd = host.Builder.SC;		// 短絡系ビルダ
IPXPmxBuilder bdx = host.Builder.Pmx;		// PMXビルダ
IPEConnector connect = host.Connector;
IPEPMDViewConnector view = host.Connector.View.PMDView;

// PMX関連
IPXPmx pmx = connect.Pmx.GetCurrentState();     // PMX取得

IPXHeader header = pmx.Header;                  // header   :ヘッダ
IPXModelInfo info = pmx.ModelInfo;              // info     :モデル情報
IList&lt;IPXVertex&gt; vertex = pmx.Vertex;           // vertex   :頂点   | リスト
IList&lt;IPXMaterial&gt; material = pmx.Material;     // material :材質   | リスト
IList&lt;IPXBone&gt; bone = pmx.Bone;                 // bone     :ボーン | リスト
IList&lt;IPXMorph&gt; morph = pmx.Morph;				// morph    :モーフ | リスト
IList&lt;IPXNode&gt; node = pmx.Node;					// node     :表示枠 | リスト
IList&lt;IPXBody&gt; body = pmx.Body;                 // body     :剛体   | リスト
IList&lt;IPXJoint&gt; joint = pmx.Joint;              // joint    :Joint  | リスト
IList&lt;IPXSoftBody&gt; sbody = pmx.SoftBody;        // sbody    :SoftBody  | リスト

</CodeHeader>
  <CodeFooter>//
// ---- 簡易編集用フッタコード ----

// 更新処理
// デフォルト設定ではフッタコードはOFF

// PMX更新
connect.Pmx.Update(pmx);

// Form更新
connect.Form.UpdateList(UpdateObject.All);  // 重い場合は引数を変更して個別に更新

// View更新
connect.View.PMDView.UpdateModel();         // Viewの更新が不要な場合はコメントアウト
connect.View.PMDView.UpdateView();


</CodeFooter>
  <CodeHeader_CPugin>//
// ---- 簡易編集用ヘッダコード ----

// 常用接続変数一括登録
IPXPmxBuilder bdx = m_bld;		// PMXビルダ

// PMX関連
IPXPmx pmx = PXCBridge.GetCurrentPmx(args.Connector);     // PMX取得

IPXHeader header = pmx.Header;                  // header   :ヘッダ
IPXModelInfo info = pmx.ModelInfo;              // info     :モデル情報
IList&lt;IPXVertex&gt; vertex = pmx.Vertex;           // vertex   :頂点   | リスト
IList&lt;IPXMaterial&gt; material = pmx.Material;     // material :材質   | リスト
IList&lt;IPXBone&gt; bone = pmx.Bone;                 // bone     :ボーン | リスト
IList&lt;IPXMorph&gt; morph = pmx.Morph;				// morph    :モーフ | リスト
IList&lt;IPXNode&gt; node = pmx.Node;					// node     :表示枠 | リスト
IList&lt;IPXBody&gt; body = pmx.Body;                 // body     :剛体   | リスト
IList&lt;IPXJoint&gt; joint = pmx.Joint;              // joint    :Joint  | リスト
IList&lt;IPXSoftBody&gt; sbody = pmx.SoftBody;        // sbody    :SoftBody  | リスト

</CodeHeader_CPugin>
  <CodeFooter_CPugin>//
// ---- 簡易編集用フッタコード ----

// 更新処理
// デフォルト設定ではフッタコードはOFF

// PMX更新
PXCBridge.UpdatePmx(args.Connector, pmx);

</CodeFooter_CPugin>
  <EnableHeader>true</EnableHeader>
  <EnableFooter>false</EnableFooter>
  <EnableCPluginMode>false</EnableCPluginMode>
  <ActivePages>1</ActivePages>
</CSScriptData>