zillionプロジェクト開発ブログ 普通の人はあまりようがないと思うのですが・・・ 忍者ブログ

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

OEのプラグイン開発したいぜ!!
って人のために、ちゃんとDLL用のインターフェースを作りました。
これで、だれでもプラグインが作れるはずです。
(もちろん、C#の知識は必至ですが)

とりあえず、以下がインターフェースです。
これを利用してDLLが読み込まれます。
また、デフォルトでMMORPG用のプラグインを制作しているので、できれば別方面でお願いします。
プラグイン開発者は、メールにて話をいただければ中身の処理に関して、答えます。
こんなのもあったほうがいいのでは?とか致命的なミスがあった場合は、コメントで指摘してくださると非常に助かります。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace OE.src
{
        /// <summary>
        /// プラグインが実装しなければならないインターフェイス
        /// </summary>
    interface PluginDLLInterface
    {
        /// <summary>
        /// プラグインの固有の名前です
        /// </summary>
        String PluginName { get; }
        /// <summary>
        /// プラグインのインストールされたローカルの場所を絶対パスで示します。
        /// 改行文字(\n)はサポートしません。
        /// </summary>
        String PluginLocalAddress { get; }
        /// <summary>
        /// プラグインの簡易説明です。プラグインを選ぶ画面で使用されます。
        /// 改行文字(\n)をサポートします。
        /// </summary>
        String PluginShortDescription { get; }
        /// <summary>
        /// プラグインのバージョンです。プラグインを選ぶ画面で表示されますが、
        /// これで自動更新されたりはしません。自動更新させたい場合、プラグインの中に
        /// 機能を埋め込む必要性があります。
        /// 改行文字(\n)をサポートしません。
        /// </summary>
        String PluginVersion { get; }
        /// <summary>
        /// プラグインのコピーライトです。プラグインのライセンス画面で表示されます。
        /// 著作権に関する情報もこのプロパティに記してください。
        /// 改行文字(\n)をサポートします。
        /// </summary>
        String PluginCopyLight { get; }
        /// <summary>
        /// プラグインの作者名です。
        /// チーム名を書くのも、開発者チーム全員の名前を書くのも自由です。
        /// </summary>
        String PluginFrom { get; }
        /// <summary>
        /// プラグインが読み込まれたときに実行されます。
        /// プラグインホスト(エディター側)のインターフェースの参照を送ります。
        /// *注意!!
        /// --プラグインが選ばれたときに実行されるわけではありません。
        /// --DLLが読み込まれた後に実行されます。
        /// --したがって、プラグインのメインの処理をここに書かないでください。
        /// </summary>
        /// <param name="Host">エディタ側のインターフェースの参照を返します。</param>
        void Initlize(PluginDLLHostInterface Host);
        /// <summary>
        /// プラグインをユーザーが選択したときに実行される
        /// プラグインのメインメソッドです。
        /// ここが押されたときに、プラグインは、メインの処理を実行します。
        /// </summary>
        void Init_Main();
        /// <summary>
        /// プラグインをユーザーが閉じたときに呼び出されます。
        /// 保存などの処理を行い、プラグイン側が、自らフォームをフォームのアイテムをすべて
        /// 不可視の状態にすべきです。
        /// </summary>
        void Close();
        /// <summary>
        /// プラグインがアンロードされた際に呼び出されます。
        /// 基本的には、エディタ自体が閉じられる際に呼び出されます。
        /// </summary>
        void UnLoad();

    }
    /// <summary>
    /// プラグインホストが実装するインターフェース
    /// </summary>
    interface PluginDLLHostInterface
    {
        /// <summary>
        /// エディター自体のバージョンを返します。
        /// 必要とされたバージョンを見込めない場合、プラグインは、その他の処理をせず
        /// メッセージを表示し、ユーザーに警告を出すべきです。
        /// </summary>
        String EditerVersion { get; }
        /// <summary>
        /// このインターフェース自体のバージョンを返します。
        /// インターフェースのバージョンが古いと、エラーが起きる確率が非常に高いです。
        /// プラグインはこのバージョンをチェックし、ダメならば、警告を即刻出して、
        /// プラグインはそれ以上の処理を実行することを避けるべきです。
        /// *このインターフェースのバージョン(0.80)
        /// </summary>
        double InterfaceVersion { get; }
        /// <summary>
        /// OEサーバーへ完成したファイルをアップロードします。
        /// ただしこの処理は、失敗した場合、falseを返し、メッセージボックスでエラーの原因を
        /// 出力します。
        /// </summary>
        /// <param name="url">OEサーバーにアップロードするフォルダのリストです。</param>
        /// <param name="num">フォルダの数です。</param>
        /// <returns>失敗時にはfalseを返します。成功時にはtrueを返します。</returns>
        bool UploadOEfile(String[] url,int num);
        /// <summary>
        /// エディターのエディションを返します。
        /// Basic,Standardなどの文字列が入っています。
        /// </summary>
        String EditerEdition { get; }

    }
}



拍手[0回]

PR

◎ Post your Comment
Name
Title
E-mail
URL
Comment
Pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
◎ この記事へのトラックバック
Trackback URL
◎ カウンター
◎ カレンダー
06 2017/07 08
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
◎ 最新CM
[10/24 名無しの権兵衛]
[08/30 名無しの権兵衛]
[08/14 no name no future]
[08/05 ゲームサークルEaSt]
[07/28 リオウ]
◎ プロフィール
HN:
kyasbal
年齢:
22
性別:
男性
誕生日:
1994/09/22
職業:
人間
趣味:
趣味ねぇ~~う~ん・・・
◎ ブログ内検索
◎ バーコード
◎ アクセス解析
◎ フリーエリア
◎ フリーエリア
Script: Ninja Blog 
Design by: タイムカプセル
忍者ブログ 
[PR]