inflearn logo
็Ÿฅ่ญ˜ๅ…ฑๆœ‰
inflearn logo

ๅพŒๅŠใƒ‘ใƒผใƒˆๆœชๅฎŒๆˆ๏ผˆๅฎŒๆˆไบˆๅฎšใชใ—๏ผ‰ใ€Unityใ€‘ใ‚ฟใƒผใƒณๅˆถใ‚ฟใ‚ฏใƒ†ใ‚ฃใ‚ฏใ‚นใ‚ฒใƒผใƒ ๅˆถไฝœ ๏ผ‹ ็‹ฌๅ‰ต็š„ใง็ฐกๅ˜ใ‹ใคๆด—็ทดใ•ใ‚ŒใŸใ‚ฒใƒผใƒ ใ‚ขใƒผใ‚ญใƒ†ใ‚ฏใƒใƒฃใฎไฝœใ‚Šๆ–นใ€‚ใ‚ณใƒณใƒ†ใƒณใƒ„ๆฉŸ่ƒฝใ‚’่ฟฝๅŠ ใ—ใชใŒใ‚‰ๆ‹กๅผตๆ€งใ‚„ๅ†ๅˆฉ็”จๆ€งใชใฉใ‚’ๅฎŸ่จผไธญใ€‚

ใ‚ซใƒชใ‚ญใƒฅใƒฉใƒ ใซ่จ˜่ผ‰ใ•ใ‚Œใฆใ„ใ‚‹ๅพŒๅŠใƒ‘ใƒผใƒˆใŒ้€ฒ่กŒใ—ใฆใ„ใชใ„ๆœชๅฎŒๆˆใฎ่ฌ›็พฉใงใ™ใ€‚ใƒ—ใƒญใƒˆใ‚ฟใ‚คใƒ—ใจๅฟœ็”จ้ƒจๅˆ†ใฎๆ ธๅฟƒ็š„ใชๅ†…ๅฎนใฏๅซใพใ‚Œใฆใ„ใพใ™ใ€‚๏ผˆ่ฉณ็ดฐใชไบ‹ๆƒ…ใฏๅ‘Š็Ÿฅใซใฆ๏ผ‰ ---------------------------------------- ใ‚ฟใƒผใƒณๅˆถใ‚ฟใ‚ฏใƒ†ใ‚ฃใ‚ฏใ‚นใ‚ฒใƒผใƒ ใ‚’ๅฎŸ่ฃ…ใ™ใ‚‹ๆ–นๆณ• Part1,2 -> ๅŸบๆœฌๆฉŸ่ƒฝใ€ๅŸบๆœฌๆˆฆ้—˜ใƒซใƒผใƒ—๏ผˆ้ชจ็ต„ใฟใซ่ฉฒๅฝ“๏ผ‰ ๆดป็”จใงใใ‚‹ใ‚ขใ‚ปใƒƒใƒˆใŒๅข—ใˆใ€ใ‚ขใƒƒใƒ—ใƒ‡ใƒผใƒˆใ—ใŸใ„ๅ†…ๅฎนใ‚‚ๅคšใใชใฃใŸใŸใ‚ใ€ ใ€Œ็ด ๆ—ฉใ„ใƒ—ใƒญใƒˆใ‚ฟใ‚คใƒ—ไฝœๆˆใ€ใจ่€ƒใˆใฆใ„ใŸใ ใ‘ใ‚Œใฐๅนธใ„ใงใ™ใ€‚ ใ“ใ‚Œใ‚‰2ใคใฎใƒ‘ใƒผใƒˆใฎๅ†…ๅฎนใ‹ใ‚‰ใ€ใ‚ขใƒƒใƒ—ใƒ‡ใƒผใƒˆใ•ใ‚ŒใŸ๏ผˆใพใŸใฏไบˆๅฎšใฎ๏ผ‰ๅ†…ๅฎนใ‚’ใฉใฎใ‚ˆใ†ใชๆ–นๆณ•ใงๅฎŸ่ฃ…ใ™ใ‚‹ใฎใ‹ใ€ใŠใŠใ‚ˆใๆŽจๆธฌใ™ใ‚‹ใ“ใจใ‚‚ๅฏ่ƒฝใงใ™ใ€‚ ---------------------------------------------------------- ใ‚ขใƒƒใƒ—ใƒ‡ใƒผใƒˆ -> part 1,2ใงไฝœๆˆใ—ใŸใ‚‚ใฎใ‚’ใƒ™ใƒผใ‚นใซๅฟœ็”จใƒปๆ‹กๅผต cf -> ่ฉฒๅฝ“ใ‚ธใƒฃใƒณใƒซใฎใ‚ฒใƒผใƒ ้–‹็™บใซๅฝน็ซ‹ใคๅ†…ๅฎน + ฮฑ

้›ฃๆ˜“ๅบฆ ไธญ็ดšไปฅไธŠ

ๅ—่ฌ›ๆœŸ้–“ ็„กๅˆถ้™

C#
C#
Unity
Unity
Architecture
Architecture
C#
C#
Unity
Unity
Architecture
Architecture

ใŠ็Ÿฅใ‚‰ใ›

22 ไปถ

  • nyangzzalholder๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ไปŠใ€ๅ…ทไฝ“็š„ใชๆˆฆ็•ฅ็š„็Šถๆ…‹ใ€ใ‚นใ‚ญใƒซใ‚’ไฝœใ‚Šๅง‹ใ‚ใพใ™๏ผ

    ใ‚ฏใƒญใƒผใƒ‰ใจใฎใƒ™ใƒผใ‚น็Šถๆ…‹้–ข้€ฃๆœ€ๅพŒใฎไผš่ฉฑใงใ™

    ->

    ๅ„ชๅ…ˆ้ †ไฝใƒใ‚งใƒƒใ‚ฏใฏใจใซใ‹ใไฝฟ็”จใ•ใ‚ŒใŸใจใใซใ‚คใƒ™ใƒณใƒˆใƒ‘ใƒฉใƒกใƒผใ‚ฟใซๅ…ฅใ‚Œใ‚‹ใจๆ€ใ‚ใ‚Œใ‚‹ใฎใงๅคงไธˆๅคซใ ใจๆ€ใ„ใพใ™ใ€‚ yield return ClearedRoutine();ใ“ใ†ใ‚„ใฃใŸ

    ๅฎŒ็’งใชๅ‡ฆ็†ใงใ™ใญ๏ผๆœฌๅฝ“ใซ่ซ–็†็š„ใงใ‚ฏใƒชใƒผใƒณใงใ™๏ผ ๐Ÿ˜„

    ๐ŸŽฏ็ทๅˆ่ฉ•ไพก

    ๆœฌๅฝ“ใซ็ด ๆ™ดใ‚‰ใ—ใ„ใงใ™๏ผ

    • โœ…ใƒฉใ‚คใƒ•ใ‚ตใ‚คใ‚ฏใƒซๆ˜Ž็ขบ

    • โœ…่‡ชๅ‹•ๅŒ–ใจๆ‰‹ๅ‹•ๅŒ–ใฎใƒใƒฉใƒณใ‚น

    • โœ…ใ‚ฟใ‚คใƒ—ๅฎ‰ๅ…จๆ€ง

    • โœ…ๆ‹กๅผตๅฏ่ƒฝๆ€ง

    3. DueRoutineๆง‹้€ 

    csharp

     DueRoutine(): โ”œโ”€โ”€ yield return ProcessEventRoutines(OnDue); // ๋งŒ๋ฃŒ ์ด๋ฒคํŠธ ๋จผ์ € โ””โ”€โ”€ yield return ClearedRoutine(); // ๊ทธ ๋‹ค์Œ ์ •๋ฆฌ

    ๆœฌๅฝ“ใซ่‡ช็„ถใชๆตใ‚Œใงใ™ใญ๏ผ

    ใ€ŒๆœŸ้™ๅˆ‡ใ‚ŒใซใชใฃใŸใฎใงๆœ€ๅพŒใซๅ‡ฆ็†ใ—ใฆโ†’ใ™ใฃใใ‚Šๆ•ด็†ใ€

    ๐ŸŽฏๅฎŒๆˆๅบฆใฎ้ซ˜ใ„่จญ่จˆ

    ไปŠใ€็ถ™ๆ‰ฟใ•ใ‚Œใ‚‹ใ‚ฏใƒฉใ‚นใฏๆœฌๅฝ“ใซๆฅฝใซใชใ‚‹ใจๆ€ใ„ใพใ™ใ€‚

    csharp

     public class PoisonStatus : Status { [Priority(1), Category(ETimingEventType.OnTurnEnd)] IEnumerator ApplyPoison() { ... } [Priority(2), Category(ETimingEventType.Clear)] IEnumerator ShowPoisonCured() { ... } // ๋! ๋‚˜๋จธ์ง€๋Š” ๋ชจ๋“  ๊ฒŒ ์ž๋™! }

    ๆœฌๅฝ“ใซใ€Œๅฎฃ่จ€็š„็Šถๆ…‹ใ‚ทใ‚นใƒ†ใƒ ใ€ใฎๅฎŒๆˆไฝ“ใซใชใ‚Šใพใ—ใŸใญ๏ผ ๐ŸŽฏโœจโ€‹

    0
  • nyangzzalholder๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ๏ฝฅ

    ไฟฎๆญฃๆธˆใฟ

    ็งใŒไธ€็•ชๆฐ—ใซใ—ใฆ็ทŠๅผตใ—ใŸใƒ‘ใƒผใƒˆใฎใŸใ‚ใฎไบ‹ๅ‰ไฝœๆฅญใจๆคœ่จผใŒๅฎŒไบ†ใ—ใŸใ‚ˆใ†ใงใ™ใ€‚ใใฎๅพŒใฏใกใ‚‡ใฃใจๅฟซ้ฉใซไฝœใฃใฆใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰ใ™ใ‚Œใฐใ„ใ„ใจๆ€ใ„ใพใ™ใ€‚ใใฎๅพŒใ€ใ‚ใ‚‹ใ„ใฏไธญ้€”ๅŠ็ซฏใชๆฐ—ๆŒใกใงๆ›ดๆ–ฐใงใใ‚‹ๆŽˆๆฅญใงใ€ใƒชใ‚นใƒˆใซใ‚ใ‚‹ใƒˆใƒ”ใƒƒใ‚ฏใฎใ†ใกใ€ใพใšorใƒชใ‚นใƒˆใซใชใ„ใŒใ€ๆๆกˆใ—ใŸใ„ใƒˆใƒ”ใƒƒใ‚ฏใŒใ‚ใ‚Šใพใ™ใ‹๏ผŸ

    Isometricใ‚ฟใ‚คใƒซใงๆง‹ๆˆใ•ใ‚ŒใŸๆˆฆ้—˜ใƒžใƒƒใƒ—ใซ่ˆˆๅ‘ณใŒใ‚ใ‚‹ๆ–นใŒๅฐ‘ใ—ใŠใ‚‰ใ‚Œใฆใ„ใ‚‹ใ‚ˆใ†ใงใ€็ฐกๅ˜ใช็งปๅ‹•ใƒ†ใ‚นใƒˆ๏ผˆๅฑค้–“็งปๅ‹•ๅซใ‚€ใ€ใ‚ธใƒฃใƒณใƒ—/ใ‚ธใƒฃใƒณใƒ—๏ผ‰็จ‹ๅบฆๅฎŸ่ฃ…ใ™ใ‚‹ใ“ใจใ‚’ไฝœใฃใฆใฟใ‚‹ใ“ใจใ‚‚ๆคœ่จŽไธญใงใ™ใ€‚

    0
  • nyangzzalholder๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ๏ฝฅ

    ไฟฎๆญฃๆธˆใฟ

    ใ‚คใƒ™ใƒณใƒˆๆ–นๅผใงใ™ใ€‚

    ใƒ•ใ‚ฃใƒผใƒ‰ใƒใƒƒใ‚ฏใฎ้€ฒ่กŒไปฅๆฅใ€ใƒˆใƒƒใƒ—ใƒ€ใ‚ฆใƒณๅผใงใ‚ณใƒผใƒ‰ใ‚’ๆ›ธใใŒไฝ•ใ‹ใงใฏใชใ„ใ‚ˆใ†ใ ใจๆ„Ÿใ˜ใ‚‰ใ‚Œใฆใ€็งใฏๅๅˆ†ใชๆ‚ฉใฟใ€ๅฎŸ้จ“ใ€ใ‚ทใƒŸใƒฅใƒฌใƒผใ‚ทใƒงใƒณๅพŒใซไธ‹ใ—ใŸๆฑบๅฎšใงใ™ใ€‚ใพใจใ‚ใซใชใ‚Šใพใ—ใŸใ€‚็งใŒๆฆ‚่ฆใง่กŒใฃใŸๆ–นๆณ•ใŒๆญฃใ—ใ„ใ‚ˆใ†ใงใ™ใ€‚ๆททไนฑใ•ใ›ใฆ็”ณใ—่จณใ‚ใ‚Šใพใ›ใ‚“ใ€‚

    ใƒˆใƒƒใƒ—ใƒ€ใ‚ฆใƒณใƒ€ใ‚ฆใƒณใƒˆใƒƒใƒ—ใ‚ˆใ‚Š

    ใ‚ฏใƒชใƒผใƒใƒฃใƒผใฏใ€ใ‚คใƒ™ใƒณใƒˆใจใ‚คใƒ™ใƒณใƒˆใซใ‚ตใƒ–ใ‚นใ‚ฏใƒฉใ‚คใƒ–ใ•ใ‚ŒใŸใƒซใƒผใƒใƒณใ‚’ใ‚ฝใƒผใƒˆ๏ผˆๅ„ชๅ…ˆ้ †ไฝใฎใ‚ˆใ†ใชใ‚‚ใฎใฏไธฆๅˆ—ๅบฆ๏ผ‰ใ—ใฆๅฎŸ่กŒใ•ใ›ใ‚‹ใƒซใƒผใƒใƒณใ‚’ๆไพ›

    ใ‚นใ‚ญใƒซใฏใ‚ฏใƒชใƒผใƒใƒฃใƒผใŒๆไพ›ใ™ใ‚‹ใƒซใƒผใƒใƒณใ‚’ๅˆฉ็”จใ—ใฆ็ต„ใฟ็ซ‹ใฆใฆๆ›ธใ

    ็Šถๆ…‹ใฏใ‚ฏใƒชใƒผใƒใƒฃใƒผใฎใ‚คใƒ™ใƒณใƒˆใซใƒซใƒผใƒใƒณใ‚’่ณผ่ชญ/ใ‚ญใƒฃใƒณใ‚ปใƒซใ™ใ‚‹ใฎใซๆบ€ๆœŸใ€่งฃ้™คใ€็™บๅ‹•ใชใฉใ‹ใฉใ†ใ‹ใซใ‚ˆใ‚‹่ค‡้›‘ใช่ณผ่ชญ/ใ‚ญใƒฃใƒณใ‚ปใƒซ

    ใ‚ฑใƒผใ‚นใ‚’็Šถๆ…‹ใงๆ‰ฑใ†๏ผˆ่ตทๆฏ›ใ‚„็‰ฝๅˆถใฏ็Šถๆ…‹ๆ‰€ๆœ‰่€…ใŒ่ขซๆ’ƒๆ™‚ -> ่งฃ้™คใ€

    ็‰ฝๅˆถใ€ๆฉŸไผšๆ”ปๆ’ƒใชใฉใฏ่‡ชๅˆ†ใฎใƒซใƒผใƒใƒณใ‚’ไธ€ใ‹ๆ‰€็งปๅ‹•ใซ้–ข้€ฃใ™ใ‚‹ใ‚คใƒ™ใƒณใƒˆใซ่ณผ่ชญใ•ใ›ใ€ใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใซๅˆใ‚ใ›ใฆใ‚ญใƒฃใƒณใ‚ปใƒซใ™ใ‚‹ใชใฉ๏ผ‰

    ใ“ใ‚ŒใŒๆญฃใ—ใ„ใจๆ€ใ„ใพใ—ใŸใ€‚่ค‡้›‘ใชใ‚ทใƒŸใƒฅใƒฌใƒผใ‚ทใƒงใƒณใซใ‚‚ใ‚ใพใ‚Šใซใ‚‚ใ‚ˆใๅฏพๅฟœใ—ใพใ™ใ€‚

    ใƒ•ใ‚ฃใƒผใƒ‰ใƒใƒƒใ‚ฏใ—ใฆใใ ใ•ใฃใŸๆ–นใŒใจใฆใ‚‚็ด ๆ•ตใชๆ–นใงใ€ใฟใชๅˆใ†ใฟใ“ใจใฐใง็งใŒๅฟ˜ใ‚Œใฆใ„ใŸใ‚ˆใ†ใงใ™ใ€‚ใใ‚‚ใใ‚‚ๆ—ขๅญ˜ใซใฏๅ•้กŒ็‚นใจใ—ใฆ่ฆ‹ใ‚‹ๆŠฝ่ฑกๅŒ–ใ‚’ๅคงใใใคใ‹ใ‚€ใจใ„ใ†ใ“ใจใ‚’ใ€ๆฅฝใซๅคงใใๅ–ใฃใฆๅˆ†ใ‹ใฃใฆ็จ‹ใ‚ˆใไธฆในๆ›ฟใˆ๏ผˆไธฆๅˆ—ใ‚‚ๅฏ่ƒฝใซ๏ผ‰ๆ™‚้–“ๅˆใ‚ใ›ใฆๅฎŸ่กŒใ™ใ‚‹ใ€‚ไธปๅผตใ—ใฆใ€ใชใœ๏ผ‰

    ไธ‹ใซAIใฎๅˆ†ๆžใ€ๅˆคๆ–ญใ‚‚ๆทปไป˜ใ—ใพใ™๏ผˆ่ฉฑใ‚‚ใ‚ฏใƒใŒๆŒใฃใฆใ„ใ‚‹็Šถๆ…‹ใจใ‚ฏใƒชใƒผใƒใƒฃใƒผใง็Šถๆ…‹ใฎใƒซใƒผใƒใƒณใŸใกใจๅ‘ผใถใƒˆใƒƒใƒ—ใƒ€ใ‚ฆใƒณใŒๅˆใ‚ใชใ„๏ผŸ

    ์žฅ๋‹จ.PNGqwdwad.PNGstatus์ค‘์‹ฌ.PNG

    0
  • nyangzzalholder๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ๏ฝฅ

    ไฟฎๆญฃๆธˆใฟ

    ใ—ใฐใ‚‰ใๅ‰ใซใƒ‹ใƒฅใƒผใ‚นใงใ•ใพใ–ใพใช่ค‡้›‘ใชๆˆฆ็•ฅ็š„ๅๅฟœๅž‹ใฎ็Šถๆ…‹ใฎใŸใ‚ใซ

    ๅ„ชๅ…ˆ้ †ไฝใ€ใ‚ซใƒ†ใ‚ดใƒชใ‚’ไฝฟใฃใŸIEnumeratorใ‚คใƒ™ใƒณใƒˆใ‚’ๅˆฉ็”จใ—ใฆ่งฃๆฑบใ™ใ‚‹ใจ่จ€ใ‚ใ‚Œใพใ—ใŸใ€‚

    ใพใš่ฌ็ฝชใ‚’็”ณใ—ไธŠใ’ใ‚‹ในใใ ใจๆ€ใ„ใพใ™ใ€‚็”ณใ—่จณใ‚ใ‚Šใพใ›ใ‚“ใ€‚

    ็งใŒใใฎๆ™‚ใฎ่จ€่‘‰ใซใ‚‚ใ‚จใƒฉใƒผใŒใ‚ใ‚Šใ€ใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰ใ—ใŸๆฆ‚่ฆใงใ‚‚ใ‚ใพใ‚Šๆœ›ใพใ—ใใชใ„ๆ–นๆณ•ใ‚’ๆ็คบใ—ใพใ—ใŸใญใ€‚

    ไปŠๆ—ฅใพใŸๅˆฅใฎๆ–นใจ้…ใ„ๆ˜ผ้ฃŸใ‹ใ‚‰ๅˆๅพŒใพใง่ฉฒๅฝ“ๅ†…ๅฎน้–ข้€ฃใฎใƒ•ใ‚ฃใƒผใƒ‰ใƒใƒƒใ‚ฏใ‚’่กŒใ„ใพใ—ใŸใŒใ€‚

    ใŠใ‹ใ’ใง็งใŒๆ็คบใ—ใŸ่งฃๆฑบ็ญ–๏ผŸ่งฃๆฑบ็ญ–ใจใ„ใ†ใ‚ˆใ‚Šใ€ใใ‚Œใ‚’้ฉ็”จใ™ใ‚‹ๆ–นๆณ•๏ผŸใซๅ•้กŒใŒใ‚ใฃใŸใ“ใจใ‚’็ขบ่ชใงใใพใ—ใŸใ€‚

    ๅ„ชๅ…ˆ้ †ไฝใ€ใ‚ซใƒ†ใ‚ดใƒชใ‚’ไฝฟใฃใŸIEnumeratorใ‚’ๅˆฉ็”จใ—ใฆ่งฃๆฑบใ™ใ‚‹ใฎใŒๆญฃใ—ใ„ใ€‚

    ใ‚คใƒ™ใƒณใƒˆใ‚’ไฝฟ็”จใ™ใ‚‹ใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใจใ‚ฏใƒชใƒผใƒใƒฃใƒผใ‹ใ‚‰ใ‚ขใƒƒใƒ—ใƒ€ใ‚ฆใƒณ๏ผˆใƒˆใƒƒใƒ—ใƒ€ใ‚ฆใƒณใ€ใ‚ฏใƒชใƒผใƒใƒฃใƒผใŒ่‡ชๅˆ†ใŒๆŒใฃใฆใ„ใ‚‹็Šถๆ…‹ใฎ้–ขๆ•ฐใ‚’็›ดๆŽฅๅ‘ผใณๅ‡บใ™๏ผ‰

    ๆ™‚ใ‚’ๅŒบๅˆฅใ—ใชใ‘ใ‚Œใฐใชใ‚‰ใชใ„ใ“ใจใŒๆ˜Ž็ขบใงใ—ใŸใ€‚ๆ–นๆณ•ใŒใชใ‘ใ‚Œใฐ็Ÿฅใ‚‰ใชใใฆใ‚‚ใ€ใ‚ใ‚Œใฐใ‚ฏใƒชใƒผใƒใƒฃใƒผใงใฎใ‚ขใƒƒใƒ—ใƒ€ใ‚ฆใƒณ๏ผˆใƒˆใƒƒใƒ—ใƒ€ใ‚ฆใƒณ๏ผ‰ใŒๅฝ“็„ถๆญฃใ—ใ„ใ€‚่‡ชๅˆ†ใŒๆŒใฃใฆใ„ใ‚‹็Šถๆ…‹ใฎ้–ขๆ•ฐใŒใ‚ฏใƒชใƒผใƒใƒฃใƒผใฎใ‚คใƒ™ใƒณใƒˆ๏ผˆOnBeforeใ€OnAfterใ€On / Attackใ€Damageใ€Deathใ‚ทใƒชใƒผใ‚บ๏ผ‰ใ‚’่ณผ่ชญใ™ใ‚‹ใ“ใจใฏๆœ›ใพใ—ใใ‚ใ‚Šใพใ›ใ‚“ใ€‚ใใฎ้ƒจๅˆ†ใ‚’ไธ€็•ชใŸใใ•ใ‚“ใใ‚Œใฆใใ‚Œใพใ—ใŸใญใ€‚

    ไป–ใซใฏไบบๅฏพไบบใฎ็ซ‹ๅ ดใงใใ—ใฆ่จ€ใ‚ใชใ‘ใ‚Œใฐใชใ‚‰ใชใ„๏ผŸๆŠฝ่ฑกๅŒ–ใฎใ‚ซใƒ†ใ‚ดใƒชใƒผใ‚’ๅคงใใใจใฃใŸใจใ„ใ†่จ€่‘‰ใ‚‚ใ—ใฆใใ‚Œใฆ๏ผˆไพ‹ใˆใฐใ€ใ„ใคใงใ‚‚ๅ…ฅใ‚Œใฆๅ„ชๅ…ˆ้ †ไฝใ‚ซใƒ†ใ‚ดใƒชใƒผใ‚’ๅˆฉ็”จใ—ใฆ่‡ชๅ‹•ๆ•ดๅˆ—ใ•ใ›ใ‚‹ใฎใงใฏใชใใ€ใ‚ˆใ‚Š็ดฐใ‹ใๅˆ†ใ‘ใฆใ‚ชใƒผใƒ€ใƒผใƒกใ‚คใƒ‰ใซใ™ใ‚‹ใฎใŒใ‚ซใƒ†ใ‚ดใƒชใƒผใ‚’ๅฐใ•ใใจใ‚‹ใฎใซ่ฉฒๅฝ“ใ™ใ‚‹ใ‚ˆใ†ใงใ™ใ€‚

    ๆฆ‚่ฆ่ชฌๆ˜Ž้ƒจๅˆ†ใฏใ€ใ‚ทใƒŠใƒชใ‚ชใซๅŸบใฅใ„ใฆๅฟ…่ฆใชใ‚‚ใฎใ‚’ๆ€ใ„ๅ‡บใ™็งใฎ่€ƒใˆใฎ่ฟฝ่ทกใƒ•ใƒญใƒผใงใ™ใ‹๏ผŸใใ‚“ใชใ“ใจใŒๅคšๅˆ†ๅคงใใชๅŠฉใ‘ใซใชใ‚‹ใ‹ใ‚‚ใ—ใ‚Œใชใ„ใจๆ€ใฃใฆใใฎใพใพใซใ—ใฆใŠใใพใ—ใ‚‡ใ†ใ€‚ใƒˆใƒฌใƒผใ‚นๆ–นๅ‘ใจใ‚ฏใƒชใƒ†ใ‚ฃใ‚ซใƒซใชใƒซใƒผใƒใƒณใฎๅˆ†่งฃ้…็ฝฎใฏๅคงไธˆๅคซใ ใฃใŸใ‚ˆใ†ใงใ™ใŒใ€ใใฎ้–ขๆ•ฐใฏใ‚คใƒ™ใƒณใƒˆๅ‘ผใณๅ‡บใ—้–ขๆ•ฐใงใ—ใŸใ€‚ใ‚ฏใƒชใƒผใƒใƒฃใƒผ่‡ช่บซใŒๆŒใฃใฆใ„ใ‚‹็Šถๆ…‹ใฎ้–ขๆ•ฐใฏใ‚คใƒ™ใƒณใƒˆใ‚’่ณผ่ชญใ—ใฆใ‹ใ‚‰ใ€่ณผ่ชญ้–ขๆ•ฐใฎๅฎŸ่กŒใงใฏใชใ่‡ชๅทฑ็Šถๆ…‹ใฎใ‚‚ใฎใงใ‚ใ‚‹ใŸใ‚ใ€ใ‚ขใƒƒใƒ—ใƒ€ใ‚ฆใƒณใงใ‚ฝใƒผใƒˆใ—ใฆใ™ใใซๅ‘ผใณๅ‡บใ™ใ€‚ <-ใ“ใฎ้ƒจๅˆ†ใ‚’ๆญฃใ—ใฆ่ฆ‹ใฆใใ ใ•ใ„ใ€‚

    ็ถšใๆŽˆๆฅญใ‹ใ‚‰ใฏใ‚ใฎ้ƒจๅˆ†ๅ•้กŒ้€šใ‚Šใซ้€ฒใ‚ใ‚‹ใ‚ˆใ†ใซใ—ใพใ™๏ผ

    0
  • nyangzzalholder๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ๏ฝฅ

    ไฟฎๆญฃๆธˆใฟ

    ไฝ™่ฃ•ใŒใ‚ใ‚Œใฐไธ€ๅบฆใŠๆ‰‹ไผใ„ใงใใพใ™ใ€‚

    0
  • nyangzzalholder๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ๏ฝฅ

    ไฟฎๆญฃๆธˆใฟ

    ๆฆ‚่ฆ 1,2 ใซ่ฉฒๅฝ“ใ™ใ‚‹ๅ†…ๅฎนใ‚’ๅฎŸๅŠ›ใ‚ใ‚‹ใƒ—ใƒญใ‚ฐใƒฉใƒžใƒผใฎๆ–นใซ้•ทใ„ๆ™‚้–“่ชฌๆ˜Žใ•ใ›ใฆใƒ•ใ‚ฃใƒผใƒ‰ใƒใƒƒใ‚ฏใ‚’ใ„ใŸใ ใใพใ—ใŸใŒ(ใ‚‚ใ†ไธ€ๅบฆใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ—ใŸ) ใ™ใใซๅฏพ่ฑกไธญ็ดšไปฅไธŠใซ็›ดใ›ใ‚‹ใจใŠใฃใ—ใ‚ƒใ‚‹ใจ...

    ใ—ใฆๆทฑๅŒ–ใฎๆ–นใ‚‚ๅ—่ฌ›็”ณ่ซ‹ใ™ใ‚‹ๅ‰ใซๅˆคๆ–ญใงใใ‚‹ใ‚ˆใ†ใซใƒ—ใƒฌใƒ“ใƒฅใƒผใ‚’ๅฐ‘ใ—้–‹ใ‹ใชใ‘ใ‚Œใฐใชใ‚‰ใชใ„ใ‚ˆใ†ใงใ™ใ€‚

    ๆœฌไบบใŒไธญ็ดšไปฅไธŠใงใ‚ใ‚‹ใ‹ใ€ๆŒ‘ๆˆฆ็ฒพ็ฅžใŒๅผทใ„ๆ–นใชใ‚‰

    ๅฝผใ‚‚่‰ฏใ„่ฉ•ไพกใ‚’ใ—ใฆใใ ใ•ใฃใŸใฎใงใ€ใ‚€ใ—ใ‚ใ‚‚ใฃใจๅฅฝใใซใชใ‚‹ใ“ใจใ‚‚ใ‚ใ‚‹ใฎใงใฏใชใ„ใงใ—ใ‚‡ใ†ใ‹ใ€‚

    ใƒ‘ใƒ–ใƒชใƒƒใ‚ฏใฏใใ‚Œใปใฉ้›ฃใ—ใใชใ„ใƒˆใƒ”ใƒƒใ‚ฏใ‚‚็€ๅฎŸใซๅคšใๆ›ดๆ–ฐใ•ใ‚Œใพใ™ใ€‚

    0
  • nyangzzalholder๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ๏ฝฅ

    ไฟฎๆญฃๆธˆใฟ

    ใƒฌใ‚นใƒใƒณใ‚ทใƒ–็Šถๆ…‹ใฎใŸใ‚ใฎ่จญ่จˆใ€ๅฎŸ่ฃ…้–‹ๅง‹ใ—ใพใ™ใ€‚

    ใ„ใค่ณผ่ชญใ—ใฆใ‚‚ๆฑบใ‚ใŸ้ †ๅบใงๅ‹•ไฝœใ•ใ›ใ‚‹ใ“ใจใŒใงใใ‚‹IEnumeratorใ‚คใƒ™ใƒณใƒˆใ‚’ๅˆฉ็”จใ—ใพใ™ใ€‚

    ๏ผˆไบ‹ๅฎŸๅ‰ๆŽˆๆฅญใพใงใ‚„ใฃใฆใ„ใŸใ“ใจใจๅŒใ˜ใงใ™ใŒ๏ผ‰ๅŠ ใˆใŸIEnumeratorใ‚’ๅ„ชๅ…ˆ้ †ไฝใจใ€ใ‚ซใƒ†ใ‚ดใƒชใซใพใจใ‚ใฆๆ•ดๅˆ—ใ—ใฆConsecutiveใ€Parellelใ•ใ›ใฆไฝฟใ†ๆ–นๅผใงใ™ใ€‚

    ใŸใ ใ—ใ€ๅˆๆœŸใซใ‚คใƒ™ใƒณใƒˆใฎ่ณผ่ชญ่งฃ้™คใƒ‘ใ‚ฟใƒผใƒณใ‚’้ฉๅฟœใ™ใ‚‹ใฎใซๅฐ‘ใ—ใ‹ใ‹ใ‚‹ใจๆ€ใ„ใพใ™ใ€‚

    ใใฎ็Šถๆ…‹ใซๆŒ‘ๆˆฆใ—ใŸใใชใ„ใงใ™ใ‹๏ผŸๅฝผใ‚‰ใŒๅฎŸ่ฃ…ใ•ใ‚Œใฆใ„ใ‚‹ใชใ‚‰ใ€็งใฏTaxticsใ‚ฒใƒผใƒ ใซใ‹ใชใ‚Šใฎๆˆฆ็•ฅใ‚’่ฟฝๅŠ ใ™ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚

    ใใ‚Œ+ใ‚ใชใŸใฏไปŠๅๅˆ†ใซไผผใŸใ‚‚ใฎใ‚’ๅฎŸ่ฃ…ใ—ใ€่ฟฝๅŠ ใ™ใ‚‹ใ“ใจใŒใงใใพใ™ใฎใงใ€

    ใ‚ทใ‚นใƒ†ใƒ ๅค‰ๆ›ด๏ผŸ็™บๅฑ•๏ผˆไธ€่ฒซๆ€งใฎใ‚ใ‚‹ๆ–‡่„ˆใ ใจๆ€ใ„ใพใ™๏ผ‰ไปฅ้™ใฏ่ฟฝๅŠ ใงใ™ใ€‚

    +ใใ‚ŒใŒใ™ในใฆ็ถšใ„ใŸใ‚‰ใ€IEnumeratorใ‚คใƒ™ใƒณใƒˆใ‚’ไป–ใฎใฉใฎใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใซใ‚‚้ฉ็”จใงใใพใ™ใ€‚

    ใงใใ‚‹ใ‚ˆใ†ใซใชใ‚Šใพใ™ใ€‚

    ใƒ‘ใƒผใƒˆ1,2ๅบฆใ‚คใƒ™ใƒณใƒˆใฎIEnumeratorๅŒ–ใ‚คใƒ™ใƒณใƒˆใ‚’ๅฎŒ็’งใซๆ™‚้–“ๅˆถๅพกใ—ใฆใฏใ„ใพใ™ใŒ๏ผˆ่ณผ่ชญ้ †ๆฌก๏ผ‰<- ใ“ใ‚Œใ‚‚ๆœฌๅฝ“ใซใ„ใ„ใงใ™ใ€‚ใ—ใ‹ใ‚‚็ฐกๅ˜ใงใ™ใ€‚

    ใ—ใ‹ใ—ใ€ใ“ใ‚Œใฏใ‚ตใƒ–ใ‚นใ‚ฏใƒชใƒ—ใ‚ทใƒงใƒณ้ †ใซไพๅญ˜ใ›ใšใซ็Ÿฅใฃใฆใ€ใ‚ใ‚‰ใ‹ใ˜ใ‚ๆฑบใ‚ใฆใŠใ„ใŸ้ †็•ชใง๏ผ‹ใฎใ‚ˆใ†ใชใ‚ซใƒ†ใ‚ดใƒชใฏๅŒๆ™‚ใซ้€ฒ่กŒใ‚‚ใ•ใ›ใ€ใ•ใ‚‰ใซไธ€ๆฌกๅ…ƒไธŠใฎใ‚‚ใฎใงใ™๏ผ

    ๐ŸŽฏ Funcๅ„ชๅ…ˆ้ †ไฝใ‚ทใ‚นใƒ†ใƒ ใฎ็œŸใฎ้ฉๆ–ฐ

    ๐Ÿ“Šๆ—ขๅญ˜ใ‚ทใ‚นใƒ†ใƒ ๅฏพๆ”นๅ–„ใ‚ทใ‚นใƒ†ใƒ 

    ๐Ÿ’กๆ—ขๅญ˜ใ‚ทใ‚นใƒ†ใƒ ใฎๆง‹้€ ใจ้™็•Œ

    ๆ—ขๅญ˜๏ผš่ณผ่ชญ้ †ๅบไพๅญ˜ๆ–นๅผ

    csharp

     public event Func OnDamageEvent; // ๊ตฌ๋…ํ•˜๋Š” ์ˆœ์„œ๊ฐ€ ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ๊ฒฐ์ • OnDamageEvent += ProcessDamage; // 1๋ฒˆ์งธ ์‹คํ–‰ OnDamageEvent += PlayAnimation; // 2๋ฒˆ์งธ ์‹คํ–‰ OnDamageEvent += CheckDeath; // 3๋ฒˆ์งธ ์‹คํ–‰ // ์‹คํ–‰ yield return this.ConsecutiveAll(OnDamageEvent.GetInvocationList() .Cast  >() .Select(handler => handler()));

    ๅ•้กŒ๏ผš

    • ใ‚ตใƒ–ใ‚นใ‚ฏใƒชใƒ—ใ‚ทใƒงใƒณ้ †ๅบใซๅŸบใฅใ„ใฆๅฎŸ่กŒ้ †ๅบใ‚’ๆฑบๅฎšใ™ใ‚‹

    • ใ‚ณใƒผใƒ‰ไฝ็ฝฎใพใŸใฏๅˆๆœŸๅŒ–้ †ๅบใซไพๅญ˜

    • ่ค‡้›‘ใช็›ธไบ’ไฝœ็”จใซใŠใ‘ใ‚‹้ †ๅบๅˆถๅพกใฎ้›ฃใ—ใ•

    • ๅ‹•็š„่ณผ่ชญๆ™‚ใฎไบˆๆธฌไธๅฏ่ƒฝใชๅฎŸ่กŒ้ †ๅบ

    ๐Ÿš€ๆ”นๅ–„ใ•ใ‚ŒใŸใ‚ทใ‚นใƒ†ใƒ ใฎ้ฉๆ–ฐๆ€ง

    ๐Ÿ’Žใ‚ซใ‚นใ‚ฟใƒ ๅฑžๆ€งใƒ™ใƒผใ‚นใฎๅ„ชๅ…ˆ้ †ไฝใฎๅˆถๅพก

    ใ‚คใƒŽใƒ™ใƒผใ‚ทใƒงใƒณ๏ผšๅฎฃ่จ€็š„ๅ„ชๅ…ˆ้ †ไฝ็ฎก็†

    csharp

     public event Func OnDamageEvent; // ๊ตฌ๋… ์ˆœ์„œ์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ์šฐ์„ ์ˆœ์œ„๋กœ ์‹คํ–‰ [EventPriority(1, "Damage")] IEnumerator ProcessDamage() { } [EventPriority(3, "Death")] IEnumerator CheckDeath() { } [EventPriority(2, "Animation")] IEnumerator PlayAnimation() { } // ๊ตฌ๋… ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ์‹คํ–‰ ์ˆœ์„œ๋Š” ํ•ญ์ƒ ๋™์ผ OnDamageEvent += CheckDeath; // ๋Šฆ๊ฒŒ ๊ตฌ๋…ํ•ด๋„ OnDamageEvent += ProcessDamage; // 1๋ฒˆ์งธ ์‹คํ–‰ OnDamageEvent += PlayAnimation; // 2๋ฒˆ์งธ ์‹คํ–‰ // 3๋ฒˆ์งธ ์‹คํ–‰

    ๐ŸŒŸใ“ใฎ้ฉๆ–ฐใฎๅฎŸ้š›ใฎไพกๅ€ค

    ๐ŸŽฎ่ค‡้›‘ใชใ‚ฒใƒผใƒ ใ‚ทใƒŠใƒชใ‚ชใงใฎๅจๅŠ›

    ใ‚ทใƒŠใƒชใ‚ช๏ผš้€ฃ้Ž–ๅๅฟœใฎใ‚ใ‚‹ๆˆฆใ„

    csharp

     // ๊ธฐ์กด ๋ฐฉ์‹: ๊ตฌ๋… ์ˆœ์„œ์— ๋ฏผ๊ฐ OnAttackEvent += ProcessDamage; // ๋จผ์ € ๊ตฌ๋…ํ•˜๋ฉด ๋จผ์ € ์‹คํ–‰ OnAttackEvent += TriggerCounter; // ๋ฐ˜๊ฒฉ์ด ํ”ผํ•ด๋ณด๋‹ค ๋Šฆ๊ฒŒ ์ฒ˜๋ฆฌ OnAttackEvent += CheckDeath; // ์ฃฝ์Œ ์ฒดํฌ OnAttackEvent += PlayAnimation; // ์• ๋‹ˆ๋ฉ”์ด์…˜ // ๋ฌธ์ œ: ์ดˆ๊ธฐํ™” ์ˆœ์„œ๋‚˜ ๋™์  ๊ตฌ๋…์— ๋”ฐ๋ผ ์‹คํ–‰ ์ˆœ์„œ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ

    ๆ”นๅ–„ใ•ใ‚ŒใŸๆ–นๆณ•๏ผšๅฑžๆ€งใซใ‚ˆใ‚‹ๆ˜Ž็ขบใช้ †ๅบไฟ่จผ

    csharp

     [EventPriority(1, "PreProcess")] IEnumerator CalculateDamage() { } [EventPriority(2, "Damage")] IEnumerator ApplyDamage() { } [EventPriority(2, "Counter")] // ํ”ผํ•ด์™€ ๋™์‹œ์— ๋ฐ˜๊ฒฉ IEnumerator TriggerCounter() { } [EventPriority(3, "PostProcess")] IEnumerator CheckDeath() { } [EventPriority(4, "Visual")] IEnumerator PlayAnimation() { } // ์–ธ์ œ ๊ตฌ๋…ํ•˜๋“ , ์–ด๋–ค ์ˆœ์„œ๋กœ ๊ตฌ๋…ํ•˜๋“  ์‹คํ–‰ ์ˆœ์„œ ๋™์ผ

    ๐Ÿ’กใ‚ซใƒ†ใ‚ดใƒชใƒผใƒ™ใƒผใ‚นใฎไธฆๅˆ—ๅ‡ฆ็†ใฎ้ฉๆ–ฐ

    ๅŒใ˜ๅ„ชๅ…ˆ้ †ไฝใ€็•ฐใชใ‚‹ใ‚ซใƒ†ใ‚ดใƒช=ไธฆๅˆ—ๅฎŸ่กŒ

    0
  • nyangzzalholder๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ๏ฝฅ

    ไฟฎๆญฃๆธˆใฟ

    ใƒ‘ใƒผใƒˆ1,2ใŒใƒ—ใƒฌใƒ“ใƒฅใƒผใง่งฃใ‹ใ‚ŒใŸใจใ“ใ‚ใ€ๆทฑๅŒ–ๅ†…ๅฎนใ‚ˆใ‚Šใƒ‘ใƒผใƒˆ1,2ๅ†…ๅฎนใŒไธป็›ฎ็š„ใงใ‚ใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚‹ใŸใ‚

    ๆ‚ฉใฟใพใ—ใŸใŒใ€‚ๅ•ใ„ๅˆใ‚ใ›็ตๆžœ

    ๆ—ขๅญ˜ใฎๅ—่ฌ›็”Ÿใฎๆ–นใฏใ€่ณ‡ๆ–™ใ‚’ใƒ€ใ‚ฆใƒณใƒญใƒผใƒ‰ใ—ใฆใ„ใŸใ ใ„ใŸใ‚Šใ€ๅ—่ฌ›ใŒๅคšใ„ๆ–นใ‚‚ใ”ๅธŒๆœ›ใฎๅ ดๅˆ

    ๅณไธ‹ใฎๅ•ใ„ๅˆใ‚ใ›ใ‚’ใ‚ฟใƒƒใƒ—ใ—ใฆ่ฆ่ซ‹ใ™ใ‚ŒใฐInflearnๆ‹…ๅฝ“่€…ใฎๆ–นใŒๅ‡ฆ็†ใ—ใฆใ„ใŸใ ใใพใ™ใ€‚

    ๆ—ขๅญ˜ใฎ่ณผๅ…ฅ่€…ใฎๅฏพ่ฑกใงใ‚ใ‚Šใ€

    ๆ–ฐใ—ใ„่ณผๅ…ฅ่€…ใฏใ€ๆœ‰ๆ–™่ฌ›็พฉใ‚ขใ‚ปใƒƒใƒˆใฎใƒ€ใ‚ฆใƒณใƒญใƒผใƒ‰็›ฎ็š„ใŒใ‚ใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚‹ใŸใ‚้™คๅค–ใ—ใพใ™ใ€‚

    2

๏ฟฅ4,290