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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Tetsuya Mori
PRO
September 02, 2019
Programming
550
0
Share
UniFlow 完全に理解した / I can develop UniFlow a little.
2019/09/02 (Mon) に実施された「KidsStar 開発合宿」で発表した UniFlow というライブラリの解説資料です。
Tetsuya Mori
PRO
September 02, 2019
More Decks by Tetsuya Mori
See All by Tetsuya Mori
ビルドシステムを C# 大統一したお話
monry
PRO
2
1.5k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.7k
はじめての C# 大統一理論
monry
PRO
0
810
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
300
Unity で ARゲームを作った話
monry
PRO
1
980
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
3.1k
Democratized Unity Package Manager
monry
PRO
1
3k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
1.2k
ごっこランドをささえる技術 〜AssetBundle 編〜/AssetBundle Fully Understood
monry
PRO
3
7.3k
Other Decks in Programming
See All in Programming
NakouPAY説明用
annouim0
0
280
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
120
エラー処理の温故知新 / history of error handling technic
ryotanakaya
7
1.7k
アーキテクチャモダナイゼーションとは何か
nwiizo
19
5.6k
The Less-Told Story of Socket Timeouts
coe401_
3
780
実用!Hono RPC2026
yodaka
2
280
Running Swift without an OS
kishikawakatsumi
0
860
t *testing.T は どこからやってくるの?
otakakot
1
820
WebAssembly を読み込むベストプラクティス 2026年春版 / Best Practices for Loading WebAssembly (Spring 2026)
petamoriken
4
860
🦞OpenClaw works with AWS
licux
1
300
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
2.7k
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
1
3.2M
Facilitating Awesome Meetings
lara
57
6.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Into the Great Unknown - MozCon
thekraken
41
2.4k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
4 Signs Your Business is Dying
shpigford
187
22k
Balancing Empowerment & Direction
lara
6
1.1k
Design in an AI World
tapps
1
200
Paper Plane
katiecoart
PRO
1
49k
A Tale of Four Properties
chriscoyier
163
24k
Odyssey Design
rkendrick25
PRO
2
580
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