Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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.4k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.6k
はじめての C# 大統一理論
monry
PRO
0
780
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
280
Unity で ARゲームを作った話
monry
PRO
1
900
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
3k
UniFlow 完全に理解した / I can develop UniFlow a little.
monry
PRO
0
540
Democratized Unity Package Manager
monry
PRO
1
2.9k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
1.2k
Other Decks in Technology
See All in Technology
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
4
1.9k
Lookerで実現するセキュアな外部データ提供
zozotech
PRO
0
200
AgentCore BrowserとClaude Codeスキルを活用した 『初手AI』を実現する業務自動化AIエージェント基盤
ruzia
7
1.2k
AIBuildersDay_track_A_iidaxs
iidaxs
4
1.1k
20251222_next_js_cache__1_.pdf
sutetotanuki
0
170
Building Serverless AI Memory with Mastra × AWS
vvatanabe
0
380
最近の生成 AI の活用事例紹介
asei
1
110
JEDAI認定プログラム JEDAI Order 2026 エントリーのご案内 / JEDAI Order 2026 Entry
databricksjapan
0
170
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
320
ExpoのインダストリーブースでみたAWSが見せる製造業の未来
hamadakoji
0
190
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
110
普段使ってるClaude Skillsの紹介(by Notebooklm)
zerebom
8
2k
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Ruling the World: When Life Gets Gamed
codingconduct
0
100
New Earth Scene 8
popppiees
0
1.2k
Statistics for Hackers
jakevdp
799
230k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
750
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
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!!