Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
KanColleViewer プラグインの作り方 入門編
Search
veigr
August 22, 2015
Programming
9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
KanColleViewer プラグインの作り方 入門編
KanColleViewer プラグイン作成のチュートリアル。
veigr
August 22, 2015
More Decks by veigr
See All by veigr
HTTP/2 をなんとなく理解した気になれる話 / Understanding HTTP2
veigr
5
2.9k
KanColleViewer PluginAnalyzer の実装
veigr
0
1.9k
カラーマネジメントシステムの概要 と カラマネプログラミング初歩
veigr
1
3.6k
Other Decks in Programming
See All in Programming
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
340
プロダクトコードからライブラリの境界を見つける
elmetal
PRO
0
100
contenteditable と日本語入力に向き合う
colorful12
0
100
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
390
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
340
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.1k
setup-vp GitLab対応の裏側
naokihaba
0
150
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.4k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
450
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
230
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
180
パーソナライズPodcastを作った話
repunit11
0
120
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
10k
We Are The Robots
honzajavorek
0
380
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Google's AI Overviews - The New Search
badams
0
1.6k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
470
Building Adaptive Systems
keathley
44
3.2k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
sira's awesome portfolio website redesign presentation
elsirapls
0
440
First, design no harm
axbom
PRO
2
1.3k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
560
Building Flexible Design Systems
yeseniaperezcruz
330
41k
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