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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
veigr
August 22, 2015
Programming
1
8.9k
KanColleViewer プラグインの作り方 入門編
KanColleViewer プラグイン作成のチュートリアル。
veigr
August 22, 2015
Tweet
Share
More Decks by veigr
See All by veigr
HTTP/2 をなんとなく理解した気になれる話 / Understanding HTTP2
veigr
5
2.7k
KanColleViewer PluginAnalyzer の実装
veigr
0
1.8k
カラーマネジメントシステムの概要 と カラマネプログラミング初歩
veigr
1
3.5k
Other Decks in Programming
See All in Programming
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
140
Docコメントで始める簡単ガードレール
keisukeikeda
1
110
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
280
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
500
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
260
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
180
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
170
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
720
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
2
110
How to stabilize UI tests using XCTest
akkeylab
0
120
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
710
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
250
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
200
Bash Introduction
62gerente
615
210k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
210
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
170
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
250
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
130
The Cult of Friendly URLs
andyhume
79
6.8k
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