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
さては密結合だなオメー Clean Architecture で学ぶ テストフレンドリーな疎結...
Search
Tetsuya Mori
PRO
June 06, 2018
Technology
9
28k
さては密結合だなオメー Clean Architecture で学ぶ テストフレンドリーな疎結合設計/Loosely Coupled Design Learning with Clean Architecture
2018/06/06 に開催された「Unity テスト完全に理解した」という勉強会での発表資料です。
Tetsuya Mori
PRO
June 06, 2018
Tweet
Share
More Decks by Tetsuya Mori
See All by Tetsuya Mori
ビルドシステムを C# 大統一したお話
monry
PRO
2
1.3k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.5k
はじめての C# 大統一理論
monry
PRO
0
760
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
270
Unity で ARゲームを作った話
monry
PRO
1
850
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
3k
UniFlow 完全に理解した / I can develop UniFlow a little.
monry
PRO
0
530
Democratized Unity Package Manager
monry
PRO
1
2.8k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
1.1k
Other Decks in Technology
See All in Technology
from Sakichi Toyoda to Agile
kawaguti
PRO
1
110
社内報はAIにやらせよう / Let AI handle the company newsletter
saka2jp
8
1.3k
スタートアップにおけるこれからの「データ整備」
shomaekawa
2
340
AI ReadyなData PlatformとしてのAutonomous Databaseアップデート
oracle4engineer
PRO
0
230
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
4
360
ガバメントクラウド(AWS)へのデータ移行戦略の立て方【虎の巻】 / 20251011 Mitsutosi Matsuo
shift_evolve
PRO
2
180
衛星画像超解像化によって実現する2D, 3D空間情報の即時生成と“AI as a Service”/ Real-time generation spatial data enabled_by satellite image super-resolution
lehupa
0
120
AWS 잘하는 개발자 되기 - AWS 시작하기: 클라우드 개념부터 IAM까지
kimjaewook
0
120
ガバメントクラウドの概要と自治体事例(名古屋市)
techniczna
2
210
AWS IoT 超入門 2025
hattori
0
290
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
150
[Keynote] What do you need to know about DevEx in 2025
salaboy
0
150
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
A Tale of Four Properties
chriscoyier
160
23k
Bash Introduction
62gerente
615
210k
Code Reviewing Like a Champion
maltzj
525
40k
Rails Girls Zürich Keynote
gr2m
95
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Designing for humans not robots
tammielis
254
26k
Statistics for Hackers
jakevdp
799
220k
Transcript
גࣜձࣾΩοζελʔ CTO ɹ࠸ ͯ͞ີ݁߹ͩͳΦϝʔ Clean Architecture ͰֶͿ ςετϑϨϯυϦʔͳૄ݁߹ઃܭ Unity ςετશʹཧղͨ͠
@ 2018/06/06
2 ͜ΜΜʂ
3 ಥવͰ͕͢ ઃܭਤͷݕূ༻ઃܭਤ ςετɺॻ͍ͯ·͔͢ʁ
4 ࢲɺ࠷ۙ·Ͱ ॻ͍͍ͯ·ͤΜͰͨͬ͠ʂ
rΜΓ͌ઌੜ l͋ͳͨͨͪͷதͰςετΛॻ͍͍ͯΔऀ͕ɺ ·ͣɺࢲʹੴΛ͛ͳ͍͞ɻz 5
6 ͋͋ͬʂੴΛ͛ͳ͍Ͱʂ ϚαΧϦΛ͛ͳ͍Ͱʂʂʢ࣮ʣ
ࣗݾհ 7
wɹ࠸ʢBLBΜΓ͌ઌੜʣ w࡛ۄݝ࢈ wגࣜձࣾΩοζελʔ$50 wࡀϲ݄ͷ່ʹκοίϯ-07& w͓ञͱ߹এͱϓϩάϥϛϯά͕झຯ w5XJUUFS!NPOSZ(JU)VC!NPOSZ 8 Who am I
?
w ࢠͲ͚εϚϗΞϓϦ ։ൃͳͲ w ͋ͨΓ͔Β 6OJUZΨοπϦ w ͬ͜͝ϥϯυ ྦྷܭສ%- w
"QQ4UPSF(PPHMF1MBZ ʹͯࢠͲ͚ΧςΰϦ ϥϯΩϯά501 9 ͓͠͝ͱ
લஔ͖ 10
11 ࠓճ
12 ϓϩδΣΫτͷίʔυΛ ςετ͠қ͘͢Δख๏ʹ ͍͓ͭͯ͠͠·͢ɻ
ΞδΣϯμ 13
w6OJUZςετʹ͓͚Δ՝ wૄ݁߹ͷجຊతͳߟ͑ํ w$MFBO"SDIJUFDUVSFʹ͍ͭͯ w$"'6ʹ͍ͭͯ 14 ͓͠ͳ͕͖
15 ຊ
w6OJUZςετʹ͓͚Δ՝ wૄ݁߹ͷجຊతͳߟ͑ํ w$MFBO"SDIJUFDUVSFʹ͍ͭͯ w$"'6ʹ͍ͭͯ 16 ͓͠ͳ͕͖
Unity ςετʹ͓͚Δ՝ 17
w୯ମςετ6OJU5FTU w݁߹ςετ*OUFHSBUJPO5FTU w૯߹ςετ4ZTUFN5FTU 18 ςετ is Կʁ Unity ςετʹ͓͚Δ՝
wʮ͍ɺγϯϓϧͳΫϥεͳΒ65ॻ͚ΔΜ͢Αʯ wঢ়ଶΛඞཁͱ͢Δςετ͕γϯυΠ w֎෦σʔλʹґଘ͢Δςετɺ 4DSJQUBCMF0CKFDUͷσʔλʹґଘ͢Δςετ͕ γϯυΠ w7JFX .POP#FIBWJPVS ʹґଘ͢Δͱ͔ͳΔͱ ઈత 19
Կނɺॻ(͔|͚)ͳ͍ʁ Unity ςετʹ͓͚Δ՝
wʮ͍ɺ1MBZ.PEFςετ͋ΔΜʯ w͍ͬͯ͟ΈΔͱɺ৭ʑͳ՝͕ ݟ͑ͯ͘Δ 20 Կނɺॻ(͔|͚)ͳ͍ʁ Unity ςετʹ͓͚Δ՝
w͋ΔΫϥεͭҎ্ͷΫϥεͷ ΠϯελϯεΛඞཁͱ͍ͯ͠Δ w߹ʹΑͬͯɺͦΕΒͷ ΠϯελϯεߋʹผͷΫϥεͷ ΠϯελϯεΛඞཁͱ͍ͯ͠Δ ͳΜͯ͜ͱ 21 ՝ʁ Unity ςετʹ͓͚Δ՝
wσʔλͷݩωλʹڌΒͣɺσʔλΛ औಘɾઃఆ͢ΔॲཧΛςετ͍ͨ͠ w<0CTPMFUF>3FTPVSDFT-PBE w6OJUZ8FC3FRVFTU wϩʔΧϧΩϟογϡ wFUD 22 ՝ʁ Unity
ςετʹ͓͚Δ՝
w7JFXͷॲཧ͕λοϓೖྗΛલఏʹͯ͠ ͍Δ wଞͷ(BNF0CKFDU͕ॳظԽ͞Ε͍ͯΔ ίτΛલఏʹ͍ͯ͠Δ w4JOHMFUPOͱ͔ͰલͷγʔϯͰઃఆ͞ ΕͨΛඞཁͱ͢Δ 23 ՝ʁ Unity ςετʹ͓͚Δ՝
24 ͜͏͍͏ঢ়ଶ
25 is
26 ີ݁߹
27 ີ݁߹
28 ີ݁߹
29
w4JOHMFUPO.POP#FIBWJPVSűŒŕŰŖ wTUBUJD͓͡͞Μ w ߦΛ͑Δ6QEBUF 30 ີ݁߹ Unity ςετʹ͓͚Δ՝
wͪΐͬͱؾΛൈ͘ͱ͙͢͜͏ͳΔ w݁߹Λ΄Ͳ͍ͯૄ݁߹ʹ͠Α͏ʂ 31 ີ݁߹ Unity ςετʹ͓͚Δ՝
32 ͦͷลΛ౿·͑ͯ
w6OJUZςετʹ͓͚Δ՝ wૄ݁߹ͷجຊతͳߟ͑ํ w$MFBO"SDIJUFDUVSFʹ͍ͭͯ w$"'6ʹ͍ͭͯ 33 ͓͠ͳ͕͖
ૄ݁߹ͷجຊతͳߟ͑ํ 34
35
36 Ҏ্ɻ
37 ………ɻ
38 ૄ݁߹ͷͨΊͷ ςΫχοΫΛʢࡶʹʣհ
w4JOHMF3FTQPOTJCJMJUZ1SJODJQMF w0QFODMPTFEQSJODJQMF w-JTLPWTVCTUJUVUJPOQSJODJQMF w*OUFSGBDFTFHSFHBUJPOQSJODJQMF w%FQFOEFODZJOWFSTJPOQSJODJQMF 39 SOLID ݪଇ ૄ݁߹ͷجຊతͳߟ͑ํ
w୯Ұͷݪଇ w։์ดͷݪଇ wϦείϑͷஔݪଇ wΠϯλϑΣʔεͷݪଇ wґଘੑٯసͷ๏ଇ 40 SOLID ݪଇ ૄ݁߹ͷجຊతͳߟ͑ํ
41
w40-*%ݪଇ͕कΒΕ͍ͯΔίʔυ ͦͷҰͭҰͭʹ͍ͭͯɺؔ৺ͷ͕ ߦΘΕ͍ͯΔͱݴ͑Δ w͢ͳΘͪɺݸʑͷίʔυʹ͓͚Δ ςετରͷؔ৺ࣄ͕গͳ͍ w͢ͳΘͪɺૄ݁߹ͩͱݴ͑Δ 42 SOLID ݪଇ ૄ݁߹ͷجຊతͳߟ͑ํ
wૄ݁߹ͳγεςϜʹର͢Δςετ ͭͷςετίʔυ͕ෛ͏͕ڱ͍ wςετΛ࣮ࢪ͢Δࡍͷ४උॲཧ͕ গͳ͘ͳΔέʔε͕ଟ͍ 43 ૄ݁߹ × ςετ ૄ݁߹ͷجຊతͳߟ͑ํ
wۃͱͯ͠ɺ֤ཁૉʹର͢Δ65͕ ॻ͔Ε͍ͯΕ*5ͦ͜·Ͱ ؤுΒͳͯ͘ࡁΉ 44 ૄ݁߹ × ςετ ૄ݁߹ͷجຊతͳߟ͑ํ
45 ͰʁHow to ૄ݁߹ʁ
w6OJUZςετʹ͓͚Δ՝ wૄ݁߹ͷجຊతͳߟ͑ํ w$MFBO"SDIJUFDUVSFʹ͍ͭͯ w$"'6ʹ͍ͭͯ 46 ͓͠ͳ͕͖
Clean Architecture ʹ͍ͭͯ 47
48 ͷɺલʹ
w͜͜·Ͱ୯ҰͷΫϥεʹؔ͢Δ ؔ৺ͷʹ͍ͭͯ wҰͭࢹ࠲Λ֦͛ͯϨΠϠʔʹؔ͢Δ ؔ৺ͷʹ͍ͭͯߟ͑Δ 49 ؔ৺ͷ Clean Architecture ʹ͍ͭͯ
wιϑτΣΞΞʔΩςΫνϟ ʹԙ͍ͯɺҰൠʹҎԼͷ Α͏ʹϨΠϠʔΛ͚Δ ʢίτ͕ଟ͍ʣ w1SFTFOUBUJPO ݟͨ w%PNBJO ϩδοΫ
w%BUB σʔλ 50 ؔ৺ͷ for ϨΠϠʔ Presentation Domain Data Clean Architecture ʹ͍ͭͯ
w.7$.71ͳͲͷ ΞʔΩςΫνϟʹΑΓ 1SFTFOUBUJPOͱ%PNBJO ͷ͕࣮ݱ͞ΕΔ w֤ΞʔΩςΫνϟͰ ͷ۩ମతͳखஈ ༷ʑ w.71.77.ͩͱ 3YΛ͏ͷ͕Ұൠతʁ 51
ؔ৺ͷ for ϨΠϠʔ Presentation Domain Data Clean Architecture ʹ͍ͭͯ
w%PNBJOͱ%BUBͷ ֤छσβΠϯύλʔϯ͕ ୲͏͜ͱ͕ଟ͔ͬͨ wͱ͍͏͔ɺ.7 Ͱ %PNBJOҎ߱ʹ͍ͭͯͷ ΛΞʔΩςΫνϟ ͱͯ͠ෛ͍ͬͯͳ͍ײ͡ 52 ؔ৺ͷ
for ϨΠϠʔ Presentation Domain Data Clean Architecture ʹ͍ͭͯ
wͰɺͦͷลఆٛͨ͠ ΞʔΩςΫνϟ͕ొ͢Δ w)FYBHPOBM"SDIJUFDUVSF w0OJPO"SDIJUFDUVSF w$MFBO"SDIJUFDUVSF 53 ؔ৺ͷ for ϨΠϠʔ Presentation
Domain Data Clean Architecture ʹ͍ͭͯ
54 Α͏͘ຊ
w6ODMF#PC 3PCFSU$.BSUJO ࢯ͕ ݄ʹఏҊ wJ04ͷ7*1&3ͳΜ͔ίϨ͕ݯྲྀ 55 Clean Architecture Clean Architecture
ʹ͍ͭͯ
56 Clean Architecture Clean Architecture ʹ͍ͭͯ
57 ͳΔ΄ͲɺΘ͔ΒΜɻ
58 ࢲͳΓʹղऍͯ͠Έͨ
wϨΠϠʔͷׂΛఆٛ͢Δ wϨΠϠͷΛ໌֬Խ wOBNFTQBDFͳͲͰ ͔Γ͘͢͢Δ 59 Clean Architecture Clean Architecture ʹ͍ͭͯ
wґଘͷϧʔϧΛकΔ wؔ৺ͷ͖Ұํ wݪଇతʹಉϨΠϠʔؒ ґଘͤ͞ͳ͍ wϨΠϠʔΛඈͼӽ͑ͳ͍ 60 Clean Architecture Clean Architecture
ʹ͍ͭͯ
wϨΠϠʔఆٛࣗ༝ wͱ͔ෆఆ wϓϩμΫτຖʹॊೈʹ wΓͳ͖Ό૿͢ 61 Clean Architecture Clean Architecture ʹ͍ͭͯ
wϨΠϠʔؒͷؔ৺Λ w40-*%ݪଇ wJOUFSGBDFΛ༻͍ͯ ۩Ϋϥεͷґଘഉআ w%FQFOEFODZ*OKFDUJPOT 62 Clean Architecture Clean Architecture
ʹ͍ͭͯ
wಉ৺ԁͷਤؔ৺ͷ͖ wଆ֎ଆΛΒͳ͍ w(BUFXBZT%#͕ Ͳ͏ͬͯσʔλΛ ѻ͏͔Βͳ͍ɺͱ͔ wσʔλͷྲྀΕผͷ͓ wӈԼͷਤ͕ιϨ 63 Clean Architecture
Clean Architecture ʹ͍ͭͯ
64 ΜͰ
65 ͜ΕΛ Unity ʢ͔ͬͯ C#ʣ Ͱ࣮ͯ͠Έͨ
w6OJUZςετʹ͓͚Δ՝ wૄ݁߹ͷجຊతͳߟ͑ํ w$MFBO"SDIJUFDUVSFʹ͍ͭͯ w$"'6ʹ͍ͭͯ 66 ͓͠ͳ͕͖
CAFU ʹ͍ͭͯ 67
w$MFBO"SDIJUFDUVSF'PS6OJUZͷུ wʮ͔;ʔʯͱಡΉ wώωϦ͕ͳ͍ͱ͔ݴΘͳ͍ɻ w.*5-JDFOTFͳ044 wIUUQTHJUIVCDPNVNNQSPKFDUTDBGV@DPSF 68 CAFU is Կʁ CAFU
ʹ͍ͭͯ
wجຊతʹJOUFSGBDFͷΈΛఏڙ w6OJUZͱର͢Δ্ͰඞཁʹͳΔ ΫϥεΛఏڙ wΩοζελʔͷΞϓϦ։ൃͰ ઈͬͯΔ 69 CAFU is Կʁ CAFU
ʹ͍ͭͯ
70 ϨΠϠʔఆٛ
71 ϨΠϠʔఆٛ CAFU ʹ͍ͭͯ
72 ґଘؔ CAFU ʹ͍ͭͯ
w.POP#FIBWJPVSͱର͠ ݟͨΛ࢘ΔϨΠϠʔ w1SFTFOUFSͷΈґଘՄ 73 Presentation / View CAFU ʹ͍ͭͯ
w7JFXͱ6TF$BTFΛܨ͙ϨΠϠʔ w6TF$BTFޙड़ wঢ়ଶΛ࣋ͨͳ͍ 74 Presentation / Presenter CAFU ʹ͍ͭͯ
wϏδωεϩδοΫͷ࣮ͦͷͷ wܭࢉॲཧͳͲΛ୲͏ wޙड़ͷ.PEFMͱͯ͠දݱ͞ΕΔ ঢ়ଶΛอ࣋ͨ͠Γ͢Δ 75 Domain / UseCase CAFU ʹ͍ͭͯ
wओʹ7JFXͰͷར༻Λతͱͨ͠ σʔλͷߏ w6OJ3YΛ௨ͯ͡7JFXʹૹΒΕΔ w3YετϦʔϜΛؚΊͨঢ়ଶΛཧ 76 Domain / Model CAFU ʹ͍ͭͯ
wޙड़ͷ&OUJUZͱ.PEFMͱΛ૬ޓม ͢ΔͨΊͷTranslate()ϝιουΛ උ͑Δ w֎෦༷ͷมߋΛ6TF$BTF7JFX ʹͤ͞ͳ͍ͨΊʹఆٛ 77 Domain / Translator CAFU
ʹ͍ͭͯ
w%BUBϨΠϠʔͱର͢ΔͨΊͷ ϨΠϠʔ wσʔλΛಡΈॻ͖͢ΔͨΊͷ ΠϯλϑΣʔεΛ࣋ͭ 78 Domain / Repository CAFU ʹ͍ͭͯ
wσʔλͷߏΛఆٛͨ͠ϨΠϠʔ wσʔλͷ࣮ମ͕ԿͰ͋Εɺ ߏදݱͱͯ͠ҰͭͷΫϥεͰද͢ w4DSJQUBCMF0CKFDU͕ϝϯυΠʜɻ 79 Data / Entity CAFU ʹ͍ͭͯ
wσʔλͷऔΓѻ͍Λ࣮ͨ͠ϨΠϠʔ w4DSJQUBCMF0CKFDUͱ͔ɺ 8FC"1*ܦ༝ͷ+40/ͱ͔ɺ 42-JUFܦ༝ͷσʔλͱ͔ɺFUD 80 Data / DataStore CAFU ʹ͍ͭͯ
wFOVNͱ͔DPOTUతͳΛཧ͢Δ ͨΊͷ"QQMJDBUJPOϨΠϠʔ w%*༻ͷ'BDUPSZΫϥεͱ͔Λ ֨ೲ͢Δ6UJMJUZϨΠϠʔ 81 ͦͷଞ CAFU ʹ͍ͭͯ
wམͪϞϊήʔϜΛྫʹղઆ wʙ৭ͷάϛ͕ ݸηοτͰམԼ wͭἧ͏ͱফ͑Δ wළͷ࠷্ஈ·Ͱୡͨ͠Β ήʔϜΦʔόʔ wͦͷ࣌ͷείΞΛه 82 ྫ͑ CAFU
ʹ͍ͭͯ
• Controller w γʔϯ੍ޚ w 1SFTFOUFSॳظԽ • Gummi w ߱ͬͯ͘Δάϛ
•Floor wϘτϧͷচ •Ceil wϘτϧͷఱҪ •Wall wϘτϧͷน 83 Presentation / View CAFU ʹ͍ͭͯ
w Gummiʹ.PDLΠϕϯτ͕ඈΜͰ͖ͨΒ .PDL1SFTFOUFSͷϝιου͕ݺΕΔ͔ʁςετ w .PDL1SFTFOUFSͷ3YετϦʔϜʹ ͕ྲྀΕ͖ͯͨΒWall͕ΤϑΣΫτΛ *OTUBOUJBUF͢Δ͔ʁςετ 84 Presentation /
View CAFU ʹ͍ͭͯ
•StagePresenter wγʔϯैଐ1SFTFOUFS 85 Presentation / Presenter CAFU ʹ͍ͭͯ
86 Presentation / Presenter CAFU ʹ͍ͭͯ w StagePresenterͷ֤ϝιουΛςετ w 6TF$BTFͷΠϯελϯεશͯ.PDL
w 1SFTFOUFSϨΠϠʔςετॻ͘ՁΊ
•GummiStateUseCase wεςʔδதͷάϛͷঢ়ଶ Λཧɾܭࢉ wάϛணˠ࠶ܭࢉͱ͔ wͪ͗Εఆͱ͔ •ScoreUseCase wಘΛཧɾܭࢉ •StageUseCase wεςʔδͷߏΛཧ wԿ৭ͷάϛΛग़͢ʁ
wམԼεϐʔυʁ 87 Domain / UseCase CAFU ʹ͍ͭͯ
88 Domain / UseCase CAFU ʹ͍ͭͯ w ֤6TF$BTFͷQVCMJDϝιουΛςετ w ೖྗग़ྗ1SJNJUJWFͳJOUFSGBDFΛ
௨ͯ͡ߦΘΕΔϋζ w ScoreUseCaseͷ&OUJUZ.PEFM.PDL͢Δ
•GummiModel wάϛҰͭΛදݱ w৭ͱ͔4UBUFͱ͔ •GummiMapModel wεςʔδͷશάϛใ •ForecastGummiModel w༧ࠂάϛͷঢ়ଶ •ScoreModel wݱࡏͷಘ •PointModel
wάϛফڈʹΑΔ֫ಘಘ 89 Domain / Model CAFU ʹ͍ͭͯ
90 Domain / Model CAFU ʹ͍ͭͯ w ͪΐͬͱͨ͠ͷՃॲཧͳͲΛߦ͍ͬͯΔ ߹ςετॻ͘ w
جຊతʹςετॻ͔ͳͯ͘Ϥαι
•GummiTranslator w4UBHF-FWFM&OUJUZͱ Ґஔ͔Β4DPSF.PEFM Λੜ •ScoreEntityTranslator w4DPSF.PEFMΛ 4DPSF&OUJUZʹม 91 Domain /
Translator CAFU ʹ͍ͭͯ
92 Domain / Translator CAFU ʹ͍ͭͯ w GummiModelTranslatorIStageLevelEntityΛ .PDLͯ͠Translate()Λςετ w
ScoreEntityTranslatorIScoreModelΛ .PDLͯ͠Translate()Λςετ
•ScoreRepository wείΞΛಡΈॻ͖ •StageLevelRepository wεςʔδͷάϛ৭ߏ ͳͲͷϚελΛऔಘ 93 Domain / Repository CAFU
ʹ͍ͭͯ
94 Domain / Repository CAFU ʹ͍ͭͯ w ScoreRepositoryIScoreModelͷ.PDLͰςετ w StageLevelRepositoryIStageLevelEntity
Ͱςετ
•ScoreEntity wεςʔδͷείΞ •ScoreMapEntity wશεςʔδͷείΞ •GummiPointMapEntity w࿈ຖͷ֫ಘϚελ •StageLevelEntity wεςʔδқఆٛ •StageLevelMapEntity wશεςʔδͷқ
95 Data / Entity CAFU ʹ͍ͭͯ
96 Data / Entity CAFU ʹ͍ͭͯ w .PEFMಉ༷ɺಛघͳϝιουΛੜ͍ͯ͠ͳ͍ ݶΓςετෆཁ
•ScriptableObjectDataStore wγʔϯதͷҙͷ ίϯϙʔωϯτ͔Β ࢀর͞ΕΔ 4DSJQUBCMF0CKFDU͔Β &OUJUZΛऔಘ •LocalStorageDataStore wϩʔΧϧετϨʔδʹ +40/ͱ͔Ͱ&OUJUZΛ อଘͨ͠ΓಡΜͩΓ
97 Data / DataStore CAFU ʹ͍ͭͯ
98 Data / DataStore CAFU ʹ͍ͭͯ w ScriptableObjectDataStore'JYUVSFγʔϯ ͔ΒͷΠϯελϯεऔಘΛςετ w
LocalStorageDataStoreҙͷ&OUJUZΛ ૬ޓʹಡΈॻ͖ग़དྷΔ͔Λςετ
99 σʔλͷྲྀΕ
wϘλϯ͕ΫϦοΫ͞ΕͯԿ͔ॲཧ͢Δ 100 σʔλͷྲྀΕ CAFU ʹ͍ͭͯ
wԿΒ͔ͷτϦΨʔͰঢ়ଶ͕มԽ 101 σʔλͷྲྀΕ CAFU ʹ͍ͭͯ
wλΠϚʔతͳ࣮ 102 σʔλͷྲྀΕ CAFU ʹ͍ͭͯ
wόφʔը૾Λαʔό͔Βऔಘ 103 σʔλͷྲྀΕ CAFU ʹ͍ͭͯ
wόφʔը૾ΛʹΩϟογϡ 104 σʔλͷྲྀΕ CAFU ʹ͍ͭͯ
wϚελσʔλΛ4DSJQUBCMF0CKFDU͔Βऔಘ 105 σʔλͷྲྀΕ CAFU ʹ͍ͭͯ
wϚελσʔλΛ4DSJQUBCMF0CKFDU͔Βऔಘ ʢϥΠτ൛ʣ 106 σʔλͷྲྀΕ CAFU ʹ͍ͭͯ
·ͱΊ 107
wૄ݁߹ͳΞϓϦέʔγϣϯΛ ߏங͢Δͱςετ͕͘͢͠ͳΔ w$MFBO"SDIJUFDUVSF͕Φεεϝ w$"'6ͬͯΈͯͶʂελʔśūŢŒţ 108 ·ͱΊ
109 Thank you for your attention!!