Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
KanColleViewer プラグインの作り方 入門編
Search
veigr
August 22, 2015
Programming
1
8.4k
KanColleViewer プラグインの作り方 入門編
KanColleViewer プラグイン作成のチュートリアル。
veigr
August 22, 2015
Tweet
Share
More Decks by veigr
See All by veigr
HTTP/2 をなんとなく理解した気になれる話 / Understanding HTTP2
veigr
5
2.3k
KanColleViewer PluginAnalyzer の実装
veigr
0
1.6k
カラーマネジメントシステムの概要 と カラマネプログラミング初歩
veigr
1
3k
Other Decks in Programming
See All in Programming
Scala におけるコンパイラエラーとの付き合い方
chencmd
2
410
長期運用プロダクトの開発速度を維持し続けるためのリファクタリング実践例
wataruss
8
2.7k
意外とフォントが大事だった話 / Font Issues on Internationalization
fumi23
0
100
状態管理ライブラリZustandの導入から運用まで
k1tikurisu
3
460
いつか使える ObjectSpace / Maybe useful ObjectSpace
euglena1215
2
130
RAGの回答精度評価用のQAデータセットを生成AIに作らせた話
kurahara
0
240
What we keep in mind when migrating from Serverless Framework to AWS CDK and AWS SAM
kasacchiful
1
140
1人で挑むSwiftコンパイラ 〜型システム入門編〜
s_shimotori
0
340
Android開発以外のAndroid開発経験の活かしどころ
konifar
2
700
Using Livebook to build and deploy internal tools @ ElixirConf 2024
hugobarauna
0
240
実践!難読化ガイド
mitchan
0
120
オートマトン学習しろ / Do automata learning
makenowjust
3
120
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
190
16k
Building a Modern Day E-commerce SEO Strategy
aleyda
36
6.8k
The Invisible Customer
myddelton
119
13k
The Language of Interfaces
destraynor
153
23k
How STYLIGHT went responsive
nonsquared
93
5.1k
YesSQL, Process and Tooling at Scale
rocio
167
14k
Design by the Numbers
sachag
277
19k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
58k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Fantastic passwords and where to find them - at NoRuKo
philnash
48
2.8k
No one is an island. Learnings from fostering a developers community.
thoeni
18
2.9k
Teambox: Starting and Learning
jrom
131
8.7k
Transcript
KanColleViewer プラグイン の作り方 入門編 1
自己紹介とか ゔぇい • 小さいSIerでWPF+ASP.NET WebAPIな小さい業務アプリとか作ってます • VS2002の頃からずっと .NET メイン (たまにJavaとかFlexとか)
• KanColleViewer プラグインもいくつか作ってます • 最近は KanColleViewer 本体の開発も少し • Twitter : @veigr • Blog : http://www.cat-ears.net/ 2
KanColleViewer とは 3
KanColleViewer とは 4 a.k.a. 「提督業も忙しい!」 ぐらばく (@Grabacr07) さん作
「提督業も忙しい! (KanColleViewer) は、 DMM.com が配信しているブラウザゲーム『艦隊これ くしょん ~艦これ~』をより遊びやすくするための ツールです。」 引用元 : http://grabacr.net/kancolleviewer
KanColleViewer プラグイン 5
KanColleViewer プラグイン 6 KanColleViewer はプラグインによる機能拡張が可能 MEF (Managed Extensibility
Framework) を利用している KanColleViewer 4.0 以降、作成が比較的簡単になった
KanColleViewer プラグイン 作例 7
KanColleViewer プラグイン 作例 8 MapHP プラグイン (攻略海域情報表示)
KanColleViewer プラグイン作例 9 LvChart プラグイン (艦娘Lvチャート)
KanColleViewer プラグイン作例 10 BattleInfo プラグイン (戦闘情報表示)
KanColleViewer プラグインを作ってみる 11
艦隊司令部のコメントを表示するだけのやつ 12
その1 13
「WPF ユーザー コントロール ライブラリ」 プロジェクトを作る 14
その2 15
NuGet パッケージをインストール 16 KanColleViewer.Composition • プラグイン インターフェイス群 KanColleViewer.PluginAnalyzer
• プラグイン開発用 Roslyn Code Analyzer KanColleWrapper • 艦これデータ・通信部 KanColleViewer.Controls • Controls, Converters, Styles
その3 17
「IPlugin」インターフェイスを実装 18 Analyzer に怒られるので実装
その4 19
「Export」「ExportMetadata」属性を追加 20 Analyzer に言われるがまま足して編集
「Export」「ExportMetadata」属性を追加 21 ExportMetadata は 設定 > プラグイン タブに表示 される内容
その5 22
「ITool」インターフェイスも実装 23 ここに画面が 出せるようになる
その6 24
画面を作る 25 とりあえず艦隊司令部のコメントを出すだけのやつ
その7 26
ビルドして Plugins フォルダに DLL コピペ 27
その8 28
起動して確認 29
ね、簡単でしょ? 30
まとめ 1. 「WPF ユーザー コントロール ライブラリ」プロジェクトを作る 2. NuGet パッケージをインストール 3.
「IPlugin」インターフェイスを実装 4. 「Export」、「ExportMetadata」属性を追加 5. 「ITool」インターフェイスを実装 6. 画面を作る 7. ビルドして Plugins フォルダに DLL をコピペ 8. 起動して確認 31