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
UniFlow 完全に理解した / I can develop UniFlow a little.
Search
Tetsuya Mori
PRO
September 02, 2019
Programming
0
490
UniFlow 完全に理解した / I can develop UniFlow a little.
2019/09/02 (Mon) に実施された「KidsStar 開発合宿」で発表した UniFlow というライブラリの解説資料です。
Tetsuya Mori
PRO
September 02, 2019
Tweet
Share
More Decks by Tetsuya Mori
See All by Tetsuya Mori
ビルドシステムを C# 大統一したお話
monry
PRO
2
1.1k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.4k
はじめての C# 大統一理論
monry
PRO
0
680
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
200
Unity で ARゲームを作った話
monry
PRO
1
720
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
2.8k
Democratized Unity Package Manager
monry
PRO
1
2.6k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
1k
ごっこランドをささえる技術 〜AssetBundle 編〜/AssetBundle Fully Understood
monry
PRO
3
6.8k
Other Decks in Programming
See All in Programming
ErdMap: Thinking about a map for Rails applications
makicamel
1
640
AppRouterを用いた大規模サービス開発におけるディレクトリ構成の変遷と問題点
eiganken
1
440
盆栽転じて家具となる / Bonsai and Furnitures
aereal
0
1.9k
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
940
快速入門可觀測性
blueswen
0
500
Flatt Security XSS Challenge 解答・解説
flatt_security
0
730
Findy Team+ Awardを受賞したかった!ベストプラクティス応募内容をふりかえり、開発生産性向上もふりかえる / Findy Team Plus Award BestPractice and DPE Retrospective 2024
honyanya
0
140
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
3
2.1k
為你自己學 Python
eddie
0
520
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
370
Androidアプリの One Experience リリース
nein37
0
1.2k
.NETでOBS Studio操作してみたけど…… / Operating OBS Studio by .NET
skasweb
0
120
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
GitHub's CSS Performance
jonrohan
1030
460k
Code Review Best Practice
trishagee
65
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Bash Introduction
62gerente
610
210k
Optimizing for Happiness
mojombo
376
70k
Speed Design
sergeychernyshev
25
740
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
How to Ace a Technical Interview
jacobian
276
23k
The Power of CSS Pseudo Elements
geoffreycrofte
74
5.4k
Transcript
גࣜձࣾΩοζελʔ$50 ɹ࠸ 6OJ'MPX શʹཧղͨ͠ .PO ,JET4UBS։ൃ߹॓ *DBOEFWFMPQ6OJ'MPXBMJUUMF
͜Μʹͪʂ
w6OJ'MPXͷ֓ཁ w6OJ'MPXͷ͍ํ w6OJ'MPXͷ֦ு ΞδΣϯμ ηογϣϯ֓ཁ
w$"'6ͬͯͯɺʮ1SFTFOUBUJPOʹԙ͚Δ ΠϕϯτͷऔΓճ͕͠໘ष͍ͳ͊ʯͬͯײͯ͡Δਓ wʮϘλϯͷ֦ॖΞχϝͪʯͱ͔ʮೋԡ͠ରࡦʯͱ͔ ຖճॻ͔ͳ͖Ό͍͚ͳ͍͚ͲநԽ͠ਏ͍ॲཧΛڞ௨Խ ͍ͨ͠ͱࢥ͍ͬͯΔਓ wνϡʔτϦΞϧͱ͔ͷʮͪΐͬͱϢʔβΠϯλϥΫγϣϯ ඞཁͳΜ͚ͩͲɺجຊࣗಈ࠶ੜʯΈ͍ͨͳॲཧΛ ίʔυॻ͔ͣʹ࣮ݱ͍ͨ͠ਓ w͍ͬͯ͏͔,JET4UBSؔऀͰ6OJUZ৮Δਓ
ࠓͷରऀ ηογϣϯ֓ཁ
w6OJ'MPXʹ͍ͭͯ ࠓ͢ίτ ηογϣϯ֓ཁ
w6*&MFNFOUTʹ͍ͭͯ w(SBQI7JFXʹ͍ͭͯ ࠓ͞ͳ͍ίτ ηογϣϯ֓ཁ
ηΫγϣϯλΠτϧ wࣄגࣜձࣾΩοζελʔ$50 wՈ࠺ɾ່ w6OJUZྺ w!NPOSZ wBLBΜΓ͌ઌੜ 7 ࣗݾհ ηογϣϯ֓ཁ
ࣗݾհ"XBSE ηογϣϯ֓ཁ w.JDSPTPGU.71 GPS%FWFMPQFS5FDIOPMPHJFT w6OJUZ"NCBTTBEPS
ࣗݾհ+PC ηογϣϯ֓ཁ ະबֶࣇʙখֶߍֶ͚ͷ ৬ۀମݧΞϓϦʮͬ͜͝ϥϯυʯΛ Ҏ্ʹΘͨΓ։ൃɾӡӦ
ηΫγϣϯλΠτϧ wΩοζελʔֶशா 1JYJW#005)ʹͯ ධൢചதʂ w"TTFU#VOEMF w։ൃൿ wւ֎ۈͷ͓͠ wษڧձ։࠵ w"OESPJEࣗಈςετ w7FDUPS(SBQIJDT
10 ࣗݾհ13 IUUQTLJETTUBSUCGCPPUIQN ηογϣϯ֓ཁ
ࣗݾհ13 ηογϣϯ֓ཁ #ͷϥδ ύʔιφϦςΟͬͯ·͢ʂ ήετืूதʂ
w6OJ'MPXͷ֓ཁ w6OJ'MPXͷ͍ํ w6OJ'MPXͷ֦ு ΞδΣϯμ ΠϚίί
4VNNBSZPG6OJ'MPX
ίϯηϓτ 6OJ'MPXͷ֓ཁ %FWFMPQNFOU 1SFTFOUBUJPO-BZFST XJUIPVU$PEJOH
ίϯηϓτ 6OJ'MPXͷ֓ཁ wϧʔϧΛ౷Ұ w֤छΠϕϯτͷϝοηʔδϯά wॲཧͷݺͼग़͠ w֦ுੑߴ͘ wฤू͠қ͘
8IBUEPFT6OJ'MPXEP 6OJ'MPXͷ֓ཁ w6OJUZͷੈքͰൃੜ͢Δ֤छॲཧΛ ଓ͢ΔύΠϓϥΠϯͱͯ͠ػೳ wྲྀΕ͖ͯͨॲཧΛϝοηʔδͱͯ͠ ϏδωεϩδοΫʹड͚͢
ߏཁૉ 6OJ'MPXͷ֓ཁ w$POOFDUBCMF w$POOFDUPS w3FDFJWFS w&WFOU.FTTBHFT w6OJ'MPX(SBQI
ߏཁૉ$POOFDUBCMF 6OJ'MPXͷ֓ཁ w$POOFDUPS w&WFOU w$POUSPMMFS w-PHJD w3FDFJWFS
ߏཁૉ$POOFDUBCMF 6OJ'MPXͷ֓ཁ w$POOFDUPS w&WFOU w$POUSPMMFS w-PHJD w3FDFJWFS 6OJUZͷ֤छॲཧΛଓ
͕ࣗॲཧͷى ඌʹͳΓ͏Δ ConnectorBaseΛܧঝ
ߏཁૉ$POOFDUBCMF 6OJ'MPXͷ֓ཁ w$POOFDUPS w&WFOU w$POUSPMMFS w-PHJD w3FDFJWFS ʮλοϓ࣌ʯʮԻऴྃ࣌ʯ
ʮ5JNFMJOFऴྃ࣌ʯ ͱ͔ͷΠϕϯτൃՐ࣌ʹ ޙଓͷ$POOFDUBCMF ʹଓ
ߏཁૉ$POOFDUBCMF 6OJ'MPXͷ֓ཁ w$POOFDUPS w&WFOU w$POUSPMMFS w-PHJD w3FDFJWFS ʮԻ࠶ੜʯʮΞχϝ࠶ੜʯ
ʮ5JNFMJOFఀࢭʯ ͱ͍ͬͨॲཧΛݺͼग़ͯ͠ ޙଓͷ$POOFDUBCMF ʹଓ
ߏཁૉ$POOFDUBCMF 6OJ'MPXͷ֓ཁ w$POOFDUPS w&WFOU w$POUSPMMFS w-PHJD w3FDFJWFS ʮ5JNFSʯʮ*OUFSWBMʯ
ʮ'JMUFS ະ࣮ ʯ ͳͲͷཧతͳॲཧΛ࣮ߦ͠ ޙଓͷ$POOFDUBCMF ʹଓ
ߏཁૉ$POOFDUBCMF 6OJ'MPXͷ֓ཁ w$POOFDUPS w&WFOU w$POUSPMMFS w-PHJD w3FDFJWFS ྲྀΕ͖ͯͨϝοηʔδΛ
ड͚औͬͯʮԿ͔ʯ͢Δ ࠓͷॴҎԼ͕ར༻Մೳ wԿ͠ͳ͍ wϩάग़ྗ͢Δ wIObservable.OnNext()
ߏཁૉ&WFOU.FTTBHFT 6OJ'MPXͷ֓ཁ wܦ༝͖ͯͨ͠$POOFDUBCMFͷ ใ͕֨ೲ͞ΕΔ wIReceiver.OnReceive(EventMessages eventMessages) w·͊ɺ͏ίτগͳ͍ͱࢥ͏
ߏཁૉ6OJ'MPX(SBQI 6OJ'MPXͷ֓ཁ
ߏཁૉ6OJ'MPX(SBQI 6OJ'MPXͷ֓ཁ ͕Μͬͨ
ߏཁૉ6OJ'MPX(SBQI 6OJ'MPXͷ֓ཁ w4DFOF1SFGBCʹؚ·ΕΔ $POOFDUBCMFͷใΛҰཡ wͦͷͰ৽͍͠$POOFDUBCMFΛ Ճ͢ΔͳͲͷฤू࡞ۀ0, wৄ͘͠ޙड़
w6OJ'MPXͷ֓ཁ w6OJ'MPXͷ͍ํ w6OJ'MPXͷ֦ு ΞδΣϯμ ΠϚίί
)PXUPVTF6OJ'MPX
%FNP 6OJ'MPXͷ͍ํ -JWF%FNP
w6OJ'MPXͷ֓ཁ w6OJ'MPXͷ͍ํ w6OJ'MPXͷ֦ு ΞδΣϯμ ΠϚίί
&YUFOE6OJ'MPX
$POOFDUPSՃ 6OJ'MPXͷ֦ு wछผΛΘͣConnectorBaseΛܧঝ͠·͠ΐ͏ w[AddComponentMenu]ΛΕͣʹ w6OJ'MPX(SBQI͔Βࢀর͞Ε·͢ wϝχϡʔ໊"UniFlow/<Type>/<Name>"ͱ ͠·͠ΐ͏ wFH[AddComponentMenu("UniFlow/Event/FooBarEvent")]
3FDFJWFSՃ 6OJ'MPXͷ֦ு wReceiverBaseΛܧঝ͠·͠ΐ͏ w$"'6͔Β͏߹ ObservableReceiverBase͕ศར wpublic interface IFoo
: IObservableReceiver wpublic class Foo : ObservableReceiverBase, IFoo w[Inject] private IFoo Foo { get; }
6OJ'MPX(SBQIʁ 6OJ'MPXͷ֦ு wConnectableBaseΛܧঝͨ͠ Ϋϥεࣗಈతʹ(SBQI/PEFͷ ରʹͳΔ w"EE/PEFͷ5SFF AddComponentMenuଐੑͷ ύϥϝʔλΛಡΜͰߏங
5IBOLZPVGPSZPVS BUUFOUJPO