<?xml version="1.0" encoding="utf-8"?>
<plug-in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  ><!--
  xmlns:ctb="nft.framework.plugin.IContributionFactory"
  xsi:schemaLocation="nft.framework.plugin.Plugin ../../xsd/plugin.xsd
  nft.framework.plugin.IContributionFactory ../../xsd/ctb_factory.xsd"
  xmlns="nft.framework.plugin.Plugin">
  -->
  <title>システム</title>
  <author>C477</author>
  <homepage>http://www.rocket.ne.jp/~nao/</homepage>

  <!-- システム組み込みの標準コントリビューション型 -->
  <contribution type="binary" id="TestModule">
    <name>TestBinaryModule</name>
    <class name="nft.debug.TestBinaryModule" codebase=".Core"/>
  </contribution>
  <declare-contribution>
    <name>Anonymous</name>
    <description>Independent contributions decrared without specific factroy.</description>
    <factory-class name="nft.framework.plugin.CtbAnonymousCtbFactory"/>
  </declare-contribution>
  <declare-contribution type="ignore">
    <name>Dummy(for debug)</name>
    <description>dummy contribtions for debug/development purpose.</description>
    <factory-class name="nft.framework.plugin.DummyContributionFactory"/>
    </declare-contribution>  
  <declare-contribution>
    <name>SubForm</name>
    <description>Child GUI forms</description>
    <class name="nft.contributions.ui.CtbSubform" codebase=".MainFrame"/>
  </declare-contribution>
  <declare-contribution>
    <name>GameTool</name>
    <description>provide control for player on current game.</description>
    <class name="nft.contributions.game.CtbGameTool" codebase=".Core"/>
  </declare-contribution>
  
  <declare-contribution  type="MenuItems">
    <name>Menu items</name>
    <class name="nft.contributions.ui.CtbMenuItem"/>
  </declare-contribution>
  <declare-contribution type="Command">
    <name>User commands</name>
    <class name="nft.contributions.ui.CtbCommand"/>
  </declare-contribution>
  <declare-contribution  type="CommandUI">
    <name>Command UIs</name>
    <class name="nft.contributions.ui.CtbCommandUI"/>
  </declare-contribution>
  <declare-contribution type="CommandUIGroup">
    <name>Command UI Group definition</name>
    <class name="nft.contributions.ui.CtbCommandUIGroup"/>
  </declare-contribution>
  <declare-contribution type="Image">
    <name>Image Resources</name>
    <class name="nft.contributions.graphics.CtbImageResource" codebase=".Core"/>
  </declare-contribution>
  <declare-contribution type="TerrainGenerator">
    <name>Terrain generators</name>
    <class name="nft.contributions.game.CtbTerrainGenerator" codebase=".Core"/>
  </declare-contribution>
  <declare-contribution  type="WorldDivider">
    <name>World dividers</name>
    <class name="nft.contributions.game.CtbWorldDivider" codebase=".Core"/>
  </declare-contribution>
  <declare-contribution type="GroundTexture">
    <name>Terrain(ground) textrue sets</name>
    <class name="nft.contributions.terrain.CtbSimpleGroundTexture" codebase=".Core"/>
    <factory-class name="nft.contributions.terrain.CtbGroundTextureFactory" codebase=".Core"/>
  </declare-contribution>
  <declare-contribution type="CliffTexture">
    <name>Cliff texture sets</name>
    <class name="nft.contributions.terrain.CtbSimpleCliffTexture" codebase=".Core"/>
    <factory-class name="nft.contributions.terrain.CtbCliffTextureFactory" codebase=".Core"/>
  </declare-contribution>
  <declare-contribution type="HeightCutPlaneTexture">
    <name>Height-cut plane texture sets</name>
    <class name="nft.contributions.terrain.CtbHeightCutPlaneTexture" codebase=".Core"/>
    <factory-class name="nft.contributions.terrain.CtbHeightCutPlaneTextureFactory" codebase=".Core"/>
  </declare-contribution>
  <declare-contribution type="HeightCutSlopeTexture">
    <name>Height-cut slope (terrain) texture sets</name>
    <class name="nft.contributions.terrain.CtbHeightCutSlopeTexture" codebase=".Core"/>
    <factory-class name="nft.contributions.terrain.CtbHeightCutSlopeTextureFactory" codebase=".Core"/>
  </declare-contribution>
  <declare-contribution  type="StructureSkin">
    <name>Texture skin for structures and objects in the scene.)</name>
    <class name="nft.contributions.graphics.CtbStructureSkin" codebase=".Core"/>
  </declare-contribution>
  
  <contribution type="MenuItems" id="BaseMenu">
    <name>システム基本メニュー</name>
    <location parent="ROOT"/>
    <entries>
      <item mid="FILE" caption="ファイル(&amp;F)">
        <item mid="GAME|NEWMAP" caption="新規マップ(&amp;N)">新しいマップを生成します。</item>
        <item mid="OPTION|PLUGINLIST" caption="プラグイン一覧(&amp;P)"/>
        <item mid="EXIT|EXIT" caption="終了(&amp;X)">ゲームを終了します。</item>
      </item>
      <item mid="VIEW" caption="表示(&amp;V)">
        <item mid="TOOL|INSPECTOR" caption="調査ツール"/>
      </item>
      <item mid="BUILD" caption="建設(&amp;B)">
      </item>
      <item mid="HELP" caption="ヘルプ(&amp;H)">
        <item mid="DEBUG|XNAFORMTEST" caption="XNAコントロールテスト"/>
        <item mid="DEBUG|TABLEFORMTEST" caption="テーブルレイアウトのテスト"/>
        <item mid="DEBUG|TERRAINTEST" caption="地形データ確認"/>
        <item mid="DEBUG|DOCKTEST" caption="DockWindowコントロールテスト"/>
        <item mid="DEBUG|NAVIPANEL" caption="DockWindowコントロールテスト2"/>
        <item mid="DEBUG|EXCEPTION" caption="例外発生テスト"/>
        <item mid="DEBUG|CACHEDIR" caption="キャッシュディレクトリ...(&amp;C)"/>
        <item mid="ABOUT|ABOUT" caption="NeoFreeTrainについて(&amp;A)">NeoFreeTrainに関する情報を表示します。</item>
        <item mid="ABOUT|SYSTEM" caption="システム情報(&amp;S)">現在の実行環境に関する情報を表示します。</item>
      </item>
    </entries>
  </contribution>

  <contribution type="CommandUI" id="TestCommandUI">
    <name>CommandUIサンプル</name>
    <short-caption>サンプル</short-caption>
    <long-caption>サンプルコマンド</long-caption>
    <description>CommandUIコントリビューションのサンプル</description>
    <icon index="1">../../res/plugin_icons.bmp</icon>
    <setup>
      <menu-item parent="HELP" before="DEBUG|DOCKTEST" after="DEBUG|EXCEPTION" id="DEBUG|TESTUI"/>
      <tool-item parent="MAIN" after="A|CCC" before="E|EEE" id="A|TEST"/>
    </setup>
  </contribution>

  <contribution type="Command" id="C_ViewRotateLeft">
    <name>ビューの左回転</name>
    <class name="nft.impl.view.ViewCommands" codebase=".Core"/>
    <method name="GetRotateLeftCommand" static="true"/>
    <command toolbar="ActiveView" button="ROTATE|LEFT" />
  </contribution>
  <contribution type="Command" id="C_ViewRotateRight">
    <name>ビューの右回転</name>
    <class name="nft.impl.view.ViewCommands" codebase=".Core"/>
    <method name="GetRotateRightCommand" static="true"/>
    <command toolbar="ActiveView" button="ROTATE|RIGHT" />
  </contribution>
<!--
  <contribution type="Command" id="C_ViewZoomIn">
    <name>ビューの拡大</name>
    <class name="nft.impl.view.ViewCommands" codebase=".Core"/>
    <method name="GetZoomInCommand" static="true"/>
    <command toolbar="ActiveView" button="ZOOM|ZOOMIN" />
  </contribution>

  <contribution type="Command" id="C_ViewZoomOut">
    <name>ビューの縮小</name>
    <class name="nft.impl.view.ViewCommands" codebase=".Core"/>
    <method name="GetZoomOutCommand" static="true"/>
    <command toolbar="ActiveView" button="ZOOM|ZOOMOUT" />
  </contribution>
  <contribution type="Command" id="C_SetTestObjects">
    <name>テスト物体配置</name>
    <class name="nft.impl.view.ViewCommands" codebase=".Core"/>
    <method name="GetAddRandomObjCommand" static="true"/>
    <command toolbar="ActiveView" button="TEST|SETOBJS" />
  </contribution>
-->
  <contribution type="Command" id="C_AboutNFT">
    <name>NeoFTについて</name>
    <class name="nft.ui.system.AboutDialog" codebase=".UI"/>
    <command type="ModalForm" menupath="HELP\ABOUT|ABOUT"/>
  </contribution>

  <contribution type="Command" id="C_SystemInfo">
    <name>システム情報</name>
    <class name="nft.ui.system.SystemInfoForm" codebase=".UI"/>
    <command type="ModalForm" menupath="HELP\ABOUT|SYSTEM" />
  </contribution>

  <contribution type="Command" id="C_ShowPluginList">
    <name>プラグイン一覧コマンド</name>
    <class name="nft.ui.system.PluginListDialog" codebase=".UI"/>
    <command type="ModalForm" menupath="FILE\OPTION|PLUGINLIST" />
  </contribution>

  <contribution type="Command" id="C_TestXnaControl">
    <name>XNAコントロールテスト</name>
    <class name="nft.debug.TestXnaForm" codebase=".Core"/>
    <command type="ModelessForm" menupath="HELP\DEBUG|XNAFORMTEST" />
  </contribution>

  <contribution type="Command" id="C_TestTerrainForm">
    <name>地表起伏パターンの一覧表示確認</name>
    <class name="nft.debug.TestTerrainForm" codebase=".Core"/>
    <command type="ModelessForm" menupath="HELP\DEBUG|TERRAINTEST" />
  </contribution>

  <contribution type="Command" id="C_TestTableLayout">
    <name>テーブルレイアウトのテスト</name>
    <class name="nft.debug.TableForm"/>
    <command type="ModelessForm" menupath="HELP\DEBUG|TABLEFORMTEST" />
  </contribution>

  <contribution type="Command" id="C_TestDockWindow">
    <name>SubFormコントロールテスト</name>
    <class name="nft.contributions.debug.TestDockWindow"/>
    <command type="SubForm" menupath="HELP\DEBUG|DOCKTEST" />
  </contribution>

  <contribution type="Command" id="C_TestNaviPanel">
    <name>ナビパネルテスト</name>
    <class name="nft.contributions.ui.MapNaviPanel"/>
    <command type="SubForm" menupath="HELP\DEBUG|NAVIPANEL" />
  </contribution>

  <contribution type="Command" id="C_ThrowException">
    <name>例外発生テスト</name>
    <class name="nft.debug.TestErrorMessage"/>
    <command menupath="HELP\DEBUG|EXCEPTION" />
  </contribution>

  <contribution type="Command" id="C_CacheUtil">
    <name>キャッシュディレクトリ管理</name>
    <class name="nft.debug.CacheDirManageForm"/>
    <command type="ModelessForm" menupath="HELP\DEBUG|CACHEDIR" />
  </contribution>

  <!--
	<contribution type="Command" id="C_TestGameSave">
	<name>TestGame Save</name>
	<class name="nft.debug.TestGame" codebase=".Core"/>
	<method name="GetCommandEntity" static="true"/>
	<command menupath="HELP\DEBUG|TEST" />
	</contribution>
	<contribution type="Command" id="C_TestGameLoad">
	<name>TestGame Load</name>
	<class name="nft.debug.TestGame" codebase=".Core"/>
	<method name="GetCommandEntity" static="true"/>
	<command menupath="HELP\DEBUG|TEST" />
	</contribution>
	<contribution type="Command" id="C_PrepareQueue">
	<name>Que in events</name>
	<class name="nft.debug.TestClockEvent" codebase="..\..\TestSerialize"/>
	<command menupath="HELP\DEBUG|TEST" />
	</contribution>
  -->

  <contribution type="Anonymous" id="Test_CtbAnonymous">
    <name>匿名コントリビューション</name>
    <description>ファクトリ宣言を必要としない、孤立したコントリビューションのサンプル(CtbAnonymousを継承すべし)</description>
    <class name="nft.debug.TestAnonymousCtb" codebase=".Core"/>
  </contribution>

  <contribution type="Command" id="C_CreateNewMap">
    <name>新規マップ作成</name>
    <class name="nft.ui.core.CreateMapForm" codebase=".UI"/>
    <command type="ModalForm" menupath="FILE\GAME|NEWMAP" />
  </contribution>

  <contribution type="Anonymous" id="C_StructureSkinCatalog">
    <name>[カタログ]建造物スキン</name>
    <description>建造物外観スキンのカタログ</description>
    <class name="nft.contributions.graphics.CtbStructureSkinCatalog" codebase=".Core"/>
  </contribution>

  <!--<contribution type="SubForm" id="InspectorTool">
    <name>調査ツール</name>
    <class name="nft.ui.core.InspectorTool" codebase=".UI"/>
    <options>permanent</options>
  </contribution>-->
  <contribution type="Command" id="C_InspectorTool">
    <name>調査ツール</name>
    <class name="nft.ui.core.InspectorTool" codebase=".UI"/>
    <command type="SubForm" menupath="VIEW\TOOL|INSPECTOR" />
  </contribution>
  
  <contribution type="TerrainGenerator" id="FlatTerrainGenerator">
    <name>シンプル平坦マップ</name>
    <description>真っ平らな地形を生成します</description>
    <class name="nft.contributions.game.CtbFlatTerrainGenerator" codebase=".Core"/>
  </contribution>
  <contribution type="TerrainGenerator" id="ImageImportTerrainGenerator">
    <name>画像読み込み標高変換</name>
    <description>指定の画像を読み込み、輝度を標高に変換した地図を生成します</description>
    <class name="nft.contributions.game.CtbImageImportTerrainGenerator" codebase=".Core"/>
    <setup name="nft.ui.core.TerrainFromBitmapSetup" codebase=".UI"/>
  </contribution>
  <contribution type="WorldDivider" id="SimpleDivider">
    <name>シンプル格子分割</name>
    <description>等サイズの格子状に分割します</description>
    <class name="nft.contributions.game.CtbSimpleDivider" codebase=".Core"/>
  </contribution>

  <contribution type="GroundTexture" id="BareLandTexture">
    <name>地表:更地</name>
    <description>更地の地表</description>
    <basecolor>#eeeeee</basecolor>
  </contribution>
  <contribution type="CliffTexture" id="DefaultCliffTexture">
    <name>崖:標準</name>
    <description>標準の崖テクスチャ</description>
    <basecolor>208,146,68</basecolor>
  </contribution>
  <contribution type="HeightCutPlaneTexture" id="WaterSurfaceTexture">
    <name>水面</name>
    <description>水面テクスチャ</description>
    <basecolor>#0995cc</basecolor>
  </contribution>
  <contribution type="CliffTexture" id="UnderWaterCliffTexture">
    <name>崖:水底</name>
    <description>水底の崖テクスチャ</description>
    <basecolor>110,100,180</basecolor>
  </contribution>
  <contribution type="GroundTexture" id="UnderWaterTexture">
    <name>地表:水底</name>
    <description>水面透過時の水底地表</description>
    <basecolor>#7799ff</basecolor>
  </contribution>
  <contribution type="HeightCutSlopeTexture" id="UnderWaterSurfaceTexture">
    <name>HC:水底</name>
    <description>海底テクスチャ</description>
    <basecolor>#7799ff0</basecolor>
  </contribution>

</plug-in>
