ºÇ½ª¹¹¿·¡§ orika_ex_miyako 2024ǯ01·î03Æü(¿å) 17:04:01ÍúÎò
¼ê½ç£´¡¡¡¼¥×¥ì¥¤¥ä¡¼¤ÎºîÀ®¡¼
¡¡£¶¡¥Character ¥¯¥é¥¹¤òºîÀ®¤¹¤ë ¡¡£·¡¥GameData ¥¯¥é¥¹¤òºîÀ®¤¹¤ë
¡¡¿·¤·¤¤³Ø½¬ÆâÍƤϡ¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
¡¡¡¦UniRx ¤Î¥¤¥ó¥Ý¡¼¥È ¡¡¡¦namespace ¤Îµ¡Ç½ ¡¡¡¦MonoBehaviour ¤ò·Ñ¾µ¤·¤Ê¤¤¥¯¥é¥¹ ¡¡¡¦UniRx ¤Î³èÍÑ¡¡¡¼ReactiveProperty¡¼ ¡¡¡¦¥·¥ó¥°¥ë¥È¥ó¥¯¥é¥¹ ¡¡¡¦¥é¥à¥À¼°¤òÍøÍѤ·¤¿¡¢Ìá¤êÃͤΤ¢¤ë¥á¥½¥Ã¥É¤Î¾ÊάµË¡
¡¡¡¡¥×¥ì¥¤¥ä¡¼¤È¥¨¥Í¥ß¡¼¤òÀ©¸æ¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¤Ç¤¹¡£
£±¤Ä¤Î¥¯¥é¥¹¤òξ¼Ô¤ËÍøÍѤ·¤Æ´ÉÍý¤·¤Þ¤¹¡£
¡¡¤³¤Î¥¯¥é¥¹¤Ë¤Ï MonoBehavour ¥¯¥é¥¹¤Ï·Ñ¾µ¤·¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ëɳ¤Å¤«¤Ê¤¤¥¯¥é¥¹¤òÍøÍѤ·¤¿¥¢¥×¥í¡¼¥ÁÊýË¡¤Ç¤ÎÀ߷פˤʤê¤Þ¤¹¡£
¡¡Unity ¤Î¥¢¥»¥Ã¥È¥¹¥È¥¢¤«¤é¥¤¥ó¥Ý¡¼¥È¤ª´ê¤¤¤·¤Þ¤¹¡£
UniRx - Reactive Extensions for Unity
https://assetstore.unity.com/packages/tools/integr...
¡¡¤³¤³¤Ç¤Ï UniRx ¼«ÂΤβòÀâ¤Ï¹Ô¤¤¤Þ¤»¤ó¡£
¡¡¥Ð¥È¥ë»þ¤Ë¤ª¤±¤ë¥«¡¼¥É¤òÇÛÃÖ¤¹¤ë°ÌÃ֤Υª¡¼¥Ê¡¼¤ä¡¢¥¥ã¥é¥¯¥¿¡¼¤Î½êͼԤòÀßÄꤹ¤ëºÝ¤ËÍøÍѤ·¤Þ¤¹¡£
¤³¤³¤Ç¤Ï£±¤Ä¤Î¥¹¥¯¥ê¥×¥È¤È¤·¤ÆºîÀ®¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¼¡¤Î Character ¥¯¥é¥¹Æâ¤Ëµ½Ò¤·¤Æ¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¤½¤Î¾ì¹ç¡¢Æþ¤ì»Ò·¿¤Ë¤Ï¤»¤º¡¢£±¤Ä¤ÎÆÈΩ¤·¤¿ enum ¤È¤·¤ÆºîÀ®¤·¤Æ¤ª¤¯¤È¤è¤¤¤Ç¤·¤ç¤¦¡£
OwnerStatus.cs
¡¡namespace¤Ï¡¢C#¤Ç¥×¥í¥°¥é¥ß¥ó¥°¤¹¤ëºÝ¤Ë¥³¡¼¥É¤ÎÀ°Íý¤ä¹½Â¤²½¤ò½õ¤±¤ë¤¿¤á¤Î»ÅÁȤߤǤ¹¡£
Unity¥×¥í¥¸¥§¥¯¥È¤Ç¤Ï¡¢Ê£¿ô¤Î¥¹¥¯¥ê¥×¥È¤ä¥¯¥é¥¹¤¬Â¸ºß¤¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤òŬÀÚ¤ËÀ°Íý¤·¡¢Ì¾Á°¤Î¾×ÆͤòÈò¤±¤ë¤¿¤á¤Ënamespace¤ò»ÈÍѤ·¤Þ¤¹¡£
¡¡namespace¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢¥¯¥é¥¹¤ä´Ø¿ô¤¬¤É¤Î¥°¥ë¡¼¥×¤Ë°¤·¤Æ¤¤¤ë¤«¤òÌÀ¼¨Åª¤Ë»ØÄê¤Ç¤¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢°Û¤Ê¤ë¾ì½ê¤ÇƱ¤¸Ì¾Á°¤Î¥¯¥é¥¹¤ä´Ø¿ô¤òÄêµÁ¤·¤Æ¤â¡¢¤½¤ì¤¾¤ì¤¬°Û¤Ê¤ënamespace¤Ë°¤·¤Æ¤¤¤ë¸Â¤ê¡¢Ì¾Á°¤Î¾×Æͤò²óÈò¤Ç¤¤Þ¤¹¡£
¡¡Î㤨¤Ð¡¢¥¢¥»¥Ã¥È¥¹¥È¥¢¤«¤é¥¤¥ó¥Ý¡¼¥È¤·¤¿¥¢¥»¥Ã¥ÈÆâ¤Î¥¹¥¯¥ê¥×¥È¤Î¥Õ¥¡¥¤¥ë̾¤Ë¡ÖGameManager¡×¤È¤¤¤¦Ì¾Á°¤¬¤¢¤Ã¤¿¤È¤¡¢
namespace ¤Îµ¡Ç½¤òÍøÍѤ·¤Æ¤¤¤ì¤Ð¡¢Æ±Ì¾¤Î GameManager ¤òÊ£¿ôºîÀ®¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡¤³¤Î¤è¤¦¤Ë namespace¤ò»È¤¦¤³¤È¤Ç¡¢°Û¤Ê¤ë¥¹¥¯¥ê¥×¥È¤Ç¤âƱ¤¸Ì¾Á°¤Î¥¯¥é¥¹¤ä´Ø¿ô¤òÄêµÁ¤Ç¤¡¢¤½¤ì¤¾¤ì¤¬ÆÈΩ¤·¤ÆÆ°ºî¤·¤Þ¤¹¡£
¡¡¤Þ¤¿Â絬ÌÏ¤Ê¥×¥í¥¸¥§¥¯¥È¤Ç¤Ï¡¢¿ôÉ´¤â¤Î¥¯¥é¥¹¤ä´Ø¿ô¤¬Â¸ºß¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤é¤ònamespace¤´¤È¤Ë¤Þ¤È¤á¤ë¤³¤È¤Ç¡¢¥³¡¼¥É¤ÎÀ°Íý¤¬¤·¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£
¡¡Î㤨¤Ð¡¢UI¤Ë´Ø¤¹¤ë¥¯¥é¥¹¤Ï¡ÖUI¡×namespace¤Ë¤Þ¤È¤á¡¢¥²¡¼¥à¥í¥¸¥Ã¥¯¤Ë´Ø¤¹¤ë¥¯¥é¥¹¤Ï¡ÖGameplay¡×namespace¤Ë¤Þ¤È¤á¤ë¤Ê¤É¡¢µ¡Ç½¤´¤È¤ËÀ°Íý¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¥Ô¥ê¥ª¥É¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡¢¡ÖMyGame.UI¡×¤ä¡ÖMyGame.GamePlay¡×¤Î¤è¤¦¤Ë½ñ¤¯¤³¤È¤â²Äǽ¤Ç¤¹¡£
¡¡ºîÀ®¤·¤¿ namespace ¤Ï using ¤ÇÀë¸À¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤¤¤Ä¤â¥¹¥¯¥ê¥×¥È¤Î¾åÉô¤Ë½ñ¤¤¤Æ¤¤¤ë¤â¤Î¤Ç¤¹¤Í¡£
¡¡C#¤Ç¤Înamespace¤ÎÀë¸À¤ÏÈó¾ï¤Ë´Êñ¤Ç¤¹¡£
Ä̾¥Õ¥¡¥¤¥ë¤ÎÀèƬ¤Ënamespace¤òÀë¸À¤·¤Þ¤¹¡£
¡¡°Ê²¼¤Ï´ðËÜŪ¤Ê¹½Ê¸¤Ç¤¹¡£
namespace Mynamespace { // ¤³¤³¤Ë¥¯¥é¥¹¤ä´Ø¿ô¤òÄêµÁ¤¹¤ë }¡¡
¡¡Î㤨¤Ð¡¢¼«Ê¬¤Î¥²¡¼¥à¤Ë´ØÏ¢¤¹¤ë¥¯¥é¥¹¤ä´Ø¿ô¤ò¤Þ¤È¤á¤ë¤¿¤á¤Ë¡¢¼¡¤Î¤è¤¦¤Ënamespace¤òÀë¸À¤Ç¤¤Þ¤¹¡£
¡ã»ÈÍÑÎã¡ä
namespace MyGame { public class Player { // ¥×¥ì¥¤¥ä¡¼¤Î¥×¥í¥Ñ¥Æ¥£¤ä¥á¥½¥Ã¥É¤òÄêµÁ } public class Enemy { // Ũ¤Î¥×¥í¥Ñ¥Æ¥£¤ä¥á¥½¥Ã¥É¤òÄêµÁ } }
¡¡¾åµ¤ÎÎã¤Ç¤Ï¡¢Player¥¯¥é¥¹¤ÈEnemy¥¯¥é¥¹¤Ï¶¦¤ËMyGame¤È¤¤¤¦namespace¤Ë°¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢Â¾¤ÎnamespaceÆâ¤ÇƱ¤¸Ì¾Á°¤Î¥¯¥é¥¹¤¬Â¸ºß¤·¤Æ¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¡¡
¡¡ºîÀ®¤·¤¿ namespace ¤Ï¾¤Î¥¯¥é¥¹Æâ¤Î using ¤ÇÀë¸À¤Ç¤¤Þ¤¹¡£
¡¡MonoBehaviour ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Ê¤¤¥¯¥é¥¹¤È¤·¤ÆºîÀ®¤¹¤ë¤³¤È¤Ç¡¢ ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ëɳ¤Å¤«¤Ê¤¤¡¢¥Ç¡¼¥¿´ÉÍý¤Î¤ß¤Î¥¯¥é¥¹¤È¤·¤ÆÀ©ºî¤·¤Æ¤ª¤¤Þ¤¹¡£
¡¡MonoBehaviour¤Î·Ñ¾µ¤¬¤¢¤ê¤Þ¤»¤ó¤Î¤Ç¡¢¤½¤Î¥¯¥é¥¹¤Ï¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¤·¡¢Instantiate ¥á¥½¥Ã¥É¤ÇÀ¸À®½ÐÍè¤Þ¤»¤ó¡£
Âå¤ï¤ê¤Ë¡¢¤¤¤º¤ì¤Î¥¹¥¯¥ê¥×¥È¤«¤é¤Ç¤â¥¤¥ó¥¹¥¿¥ó¥¹(new)¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤½¤Î¾ì¹ç¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¥á¥½¥Ã¥É¤òÍÑ°Õ¤·¤Æ¤ª¤¯¤³¤È¤Ç½é´üÃͤÎÂåÆþ½èÍý¤â²Äǽ¤Ç¤¹¡£
¡¡²¼µ¤Î½èÍý¤Ë¤ª¤¤¤Æ¡¢UniRx ¤Î ReactiveProperty ¤¬ÍøÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£
public ReactiveProperty<int> Hp = new(); public ReactiveProperty<int> Shield = new(); public ReactiveProperty<int> AttackPower = new(); /// <summary> /// Hp ¹¹¿· /// </summary> /// <param name="amount"></param> public virtual void UpdateHp(int amount) { hp = Mathf.Clamp(hp += amount, 0, maxHp); Debug.Log($" {status} : {GetHp}"); Hp.Value = Mathf.Clamp(Hp.Value += amount, 0, maxHp); Debug.Log($" {status} : {Hp.Value}"); } /// <summary> /// ¥·¡¼¥ë¥ÉÃ͹¹¿· /// </summary> /// <param name="amount"></param> public void UpdateShield(int amount) { Shield.Value += amount; Debug.Log($" {status} : {Shield.Value}"); }
¡¡ReactiveProperty ¤Ï¥×¥í¥Ñ¥Æ¥£¤Î°·¤¤¤È¤Ê¤ê¤Þ¤¹¤¬¡¢¥·¥ê¥¢¥é¥¤¥º¤Ç¤¤Þ¤¹¤Î¤Ç¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼É½¼¨²Äǽ¤Ç¤¹¡£
Value ¤òÍøÍѤ·¤ÆÃͤ˥¢¥¯¥»¥¹¤·¤Þ¤¹¡£
¡¡Ãͤ¬¹¹¿·¤µ¤ì¤ë¤È¡¢Subscribe ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢ÃͤËɳ¤Å¤¤¤Æ¾¤Î½èÍý¤òϢư¤µ¤»¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
¡Ê¤³¤Î»þÅÀ¤Ç¤Ï¤Þ¤À Subscribe ¤Ï¤·¤Æ¤¤¤Þ¤»¤ó¡Ë
¡¡¥²¡¼¥àÆâ¤Î¥Ç¡¼¥¿¤òÊÝ»ý¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£
¥×¥ì¥¤¥ä¡¼¤Î¾ðÊó¤äŨ¤Î¾ðÊó¡¢¥¹¥Æ¡¼¥¸¤Î¾ðÊó¤Ê¤É¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¤òºîÀ®¤·¡¢°ì¸µ´ÉÍý¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¡¡
¡¡¤³¤Î¥¯¥é¥¹¤Ï¿¤¯¤Î¥¯¥é¥¹¤«¤é»²¾È¤µ¤ì¤ë¤³¤È¤¬Â¿¤¯¤Ê¤ëÁ°Äó¤Ç¤¹¤Î¤Ç¡¢¥·¥ó¥°¥ë¥È¥ó¡¦¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤òÍøÍѤ·¤¿À߷פò¹Ô¤¤¤Þ¤¹¡£
¡¡Æä˥·¥ó¥°¥ë¥È¥ó¥¯¥é¥¹¤Î¾ì¹ç¡¢¥·¡¼¥óÁ«°Ü»þ¤Ë¤âÇË´þ¤µ¤ì¤Ê¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¤¹¤ë¤³¤È¤Ç
¤É¤Î¥¯¥é¥¹¤«¤é¤Ç¤âÊÑ¿ô¤ä¥á¥½¥Ã¥É¤Ë¥¢¥¯¥»¥¹¤Ç¤¡¢¥·¡¼¥óÁ«°Ü¸å¤âÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤ë¥¯¥é¥¹¤È¤·¤ÆÀ®Î©¤·¤Þ¤¹¡£
¡¡À޳ѤǤ¹¤Î¤Ç¡¢¤³¤Á¤é¤Ç¤â namespace ¤âÍøÍѤ·¤Æ¥¯¥é¥¹¤òºîÀ®¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Phantom { public class GameData : MonoBehaviour { public static GameData instance; private Character player; private Character opponent; void Awake() { if (instance == null) { instance = this; DontDestroyOnLoad(gameObject); } else { Destroy(gameObject); } ¡¡¡¡¡¡¡¡¡¡¡¡// ¥Ç¥Ð¥Ã¥° ¡¡¡¡¡¡¡¡¡¡¡¡InitCharacter(OwnerStatus.Player, 10); } /// <summary> /// ¥¥ã¥é¥¯¥é¡¼¤ÎÀ¸À® /// ¥×¥ì¥¤¥ä¡¼¤ÈÂÐÀïÁê¼ê¶¦ÍÑ /// </summary> /// <param name="status"></param> /// <param name="hp"></param> public void InitCharacter(OwnerStatus status, int hp) { if (status == OwnerStatus.Player) { // ¥×¥ì¥¤¥ä¡¼¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¡¢HP¤òÀßÄê player = new (hp, status); Debug.Log($"¥×¥ì¥¤¥ä¡¼À¸À® / Hp : {hp}") }else{ // ÂÐÀïÁê¼ê¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¡¢HP¤òÀßÄê opponent = new (hp, status); Debug.Log($"ÂÐÀïÁê¼êÀ¸À® / Hp : {hp}") } } public Character GetPlayer() => player; public Character GetOpponent() => opponent; } }
¡¡Àè¤Û¤ÉºîÀ®¤·¤¿ Character ¥¯¥é¥¹¤òÍøÍѤ·¡¢¥×¥ì¥¤¥ä¡¼¤ÈŨ¤ÎξÊý¤òƱ̾¤Î¥¯¥é¥¹¤Ç´ÉÍý¤·¤Þ¤¹¡£
¤½¤ì¤¾¤ì¤¬°Û¤Ê¤ë¥¤¥ó¥¹¥¿¥ó¥¹¤ò»ý¤Ä¤¿¤á¡¢Æ±¤¸¥¯¥é¥¹¤Ç¤¢¤Ã¤Æ¤â¡¢°Û¤Ê¤ë Hp ¤ò´ÉÍý¤Ç¤¤Þ¤¹¡£
¡¡¥·¥ó¥°¥ë¥È¥ó¤È¤Ï¡¢¿ô¿¤¯¤¢¤ë¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Î£±¤Ä¤Ç¤¹¡£¤½¤Î¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬É¬¤º£±¤Ä¤Ç¤¢¤ë¤³¤È¤òÊݾڤ¹¤ë¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Î¤³¤È¤ò¸À¤¤¤Þ¤¹¡£
¡¡GameData ¥¯¥é¥¹¤Ç¤Ï¡¢¤³¤Î¥·¥ó¥°¥ë¥È¥ó¤òºÎÍѤ·¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥²¡¼¥àÃæ¤òÄ̤¸¤Æ¡¢¤³¤ÎGameData ¥¯¥é¥¹¤¬£±¤Ä¤·¤«Â¸ºß¤Ç¤¤Ê¤¤¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¼ÂÁõÎã¤ÏÊ£¿ô¤¢¤ê¤Þ¤¹¤¬¡¢°ìÈÖÆɤߤ䤹¤¤Êý¼°¤Çµ½Ò¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤Î¥·¥ó¥°¥ë¥È¥ó¤Ë¤è¤Ã¤Æ¥¤¥ó¥¹¥¿¥ó¥¹¤¬£±¤Ä¤«À¸À®¤µ¤ì¤Ê¤¤¤³¤È¤¬Êݾڤµ¤ì¤Þ¤¹¤Î¤Ç¡¢¤³¤ÎGameData ¥¯¥é¥¹¤Ø¤Î»²¾È¤Ï¡¢¤¤¤º¤ì¤Î¥¯¥é¥¹¤«¤é¤Ç¤¢¤Ã¤Æ¤âÊÑ¿ô¤ò²ð¤µ¤º¤Ë»²¾È¤ò¹Ô¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡Î㤨¤Ð¡¢Enemy¤È¤¤¤¦¥¯¥é¥¹¤¬¤¢¤ê¡¢¤½¤ÎEmeny¥¯¥é¥¹¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬£µ¤Ä¤¢¤Ã¤¿¾ì¹ç¡¢¡Ö¤É¤Î¡×Enemy¥¯¥é¥¹¤Ç¤¢¤ë¤«¤ò³ÎÄê¤Ç¤¤Ê¤¤¤È¡¢ÂоݤȤʤëEnemy¥¯¥é¥¹¤Ø¤Ï»²¾È¤Ç¤¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢Enemy·¿¤ÎÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¡¢¤½¤ÎÊÑ¿ô¤Ø»²¾È¤·¤¿¤¤Enemy¥¯¥é¥¹¤òÂåÆþ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤Ï¤¸¤á¤ÆEnemy¥¯¥é¥¹¤Î¾ðÊó¤ò°·¤¦¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¤Ç¤¹¤¬¥·¥ó¥°¥ë¥È¥ó¤Ç¤¢¤ëGameData ¥¯¥é¥¹¤Î¾ì¹ç¤Ë¤Ï¡¢¤³¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¾ï¤Ë£±¤Ä¤·¤«¤Ê¤¤¤³¤È¤¬Êݾڤµ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¡Ö¤É¤Î¡×¤È¤¤¤¦»ØÄê¤ÎÉôʬ¤¬ÉÔÍפˤʤê¤Þ¤¹¡£
¤Ä¤Þ¤êÊÑ¿ô¤Ø¤ÎÂåÆþ¤¬ÉÔÍפˤʤê¤Þ¤¹¡£
¡¡GameData ¤È¤¤¤¦»ØÄê¤Ï¤¹¤Ê¤ï¤Á¡¢¼«Æ°Åª¤Ë¤¿¤À£±¤Ä¤Î GameData ¤Ø¤Î»²¾È¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
¡¡Ìá¤êÃͤΤ¢¤ë¥á¥½¥Ã¥ÉÆâ¤Î½èÍý¤¬£±¹Ô¤À¤±¤Î¾ì¹ç¡¢¥é¥à¥À¼°¤òÍøÍѤ¹¤ë¤³¤È¤Ç¾ÊάµË¡¤Ë¤è¤êµ½Ò¤Ç¤¤Þ¤¹¡£
¡ãÄ̾ï¤ÎÌá¤êÃͤΤ¢¤ë¥á¥½¥Ã¥É¡ä
/// <summary> /// ¥×¥ì¥¤¥ä¡¼¤Î¼èÆÀ /// </summary> /// <returns></returns> public Character GetPlayer() { return player; } /// <summary> /// ÂÐÀïÁê¼ê(¥¨¥Í¥ß¡¼)¤Î¼èÆÀ /// </summary> /// <returns></returns> public Character GetOpponent() { return opponent; }
¡¡¡¡¡¡¢
¡ã¥é¥à¥À¼°¤òÍøÍѤ·¤¿¡¢Ìá¤êÃͤΤ¢¤ë¥á¥½¥Ã¥É¤Î¾ÊάµË¡¡ä
public Character GetPlayer() => player; public Character GetOpponent() => opponent;
¡¡¥é¥à¥À¼°¤Î½ñ¼°¤Ë§¤ê¡¢°ú¿ô => ½èÍý¤Î½ñ¼°¤Çµ½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¡¡Ìá¤êÃͤΤʤ¤ void ¥á¥½¥Ã¥É¤Ç¤ÏÍøÍѤǤ¤Þ¤»¤ó¡£
¡¡¤É¤Î¤è¤¦¤Ë½èÍý¤¬Æ°¤¤¤Æ¡¢¤É¤Î¤è¤¦¤Ë¤Ê¤ì¤Ð¤¤¤¤¤Î¤«¡¢¥¤¥á¡¼¥¸¤òºî¤Ã¤Æ¤«¤é³Îǧ¤·¤Æ¤¤¤¤Þ¤·¤ç¤¦¡£
¡¡¥²¡¼¥à¤ò¼Â¹Ô¤·¡¢GameData ¥¯¥é¥¹¤¬¥Ò¥¨¥é¥ë¥¡¼Æâ¤Î DontDestroyOnLoad ¥·¡¼¥ó¤Ë°ÜÆ°¤¹¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
¡¡¼¡¤Ï¡¡¼ê½ç£µ¡¡¡Ý¡Ý?¡¡¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯