¡¡¥¹¥¯¥ê¥×¥È¤òÍøÍѤ¹¤ë¤È¡¢¼«¥¹¥¯¥ê¥×¥È¤ËÍÑ°Õ¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤À¤±¤Ç¤Ï¤Ê¤¯¡¢Â¾¤Î¥¹¥¯¥ê¥×¥È¤ËÍÑ°Õ¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤ÆÌ¿Îá¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¤Ë¤Ï¡¢¸Æ¤Ó½Ð¤µ¤ì¤ë¥á¥½¥Ã¥É¤¬public ½¤¾þ»Ò¤ÇÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¤³¤È¤È¡¢¸Æ¤Ó½Ð¤·¤¿¤¤¥á¥½¥Ã¥É¤ò´ÉÍý¤·¤Æ¤¤¤ë¥¹¥¯¥ê¥×¥È¤Ø¤Îɳ¤Å¤±(ÊÑ¿ô¤Ø¤ÎÂåÆþ¤ä°ì»þŪ¤Ê¼èÆÀ)¤¬É¬Íפˤʤê¤Þ¤¹¡£
¡¡¥¹¥³¥¢¤Î²Ã»»¤Ë¤Ä¤¤¤Æ¤ÏGameManager¥¯¥é¥¹Æâ¤Ë¤ª¤¤¤Æ½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢¤½¤ì¤ò¥²¡¼¥à²èÌ̤Îɽ¼¨¤ØÈ¿±Ç¤¹¤ë½èÍý¤ÏÊ̤Υ¯¥é¥¹(UIManager¡Ë¤Î¥á¥½¥Ã¥É¤¬½èÍý¤ò¹Ô¤¦»ÅÁȤߤǤ¹¡£
½èÍý¤¹¤ë²ó¿ô¤¬¾¯¤Ê¤±¤ì¤Ð°ì»þŪ¤Ëɳ¤Å¤±¤ò¼èÆÀ¤¹¤ì¤Ð¤è¤¤¤Ç¤¹¤¬¡¢¥¹¥³¥¢¤Î¹¹¿·¤Ï¥²¡¼¥àÆâ¤Ë²¿²ó¤âÉÑÈˤ˹Ԥï¤ì¤ë½èÍý¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢Àë¸À¥Õ¥£¡¼¥ë¥É¤ËÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¡¢¤½¤³¤ÇUIManager¥¯¥é¥¹¤Ø¤Îɳ¤Å¤±¤òÍÑ°Õ¤·¤Þ¤¹¡£
¡¡UIManager¥¯¥é¥¹¤âGameManager¥¯¥é¥¹¤â¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¥Ò¥¨¥é¥ë¥¡¼¤Ë¸ºß¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤¦¤¤¤Ã¤¿¾ì¹ç¤Ë¤Ï¥²¡¼¥à¼Â¹Ô¸å¤Ë¥¹¥¯¥ê¥×¥ÈÆâ¤Ç¼èÆÀ¤¹¤ë°Ê³°¤Ë¤â
SerializeField°À¤ÎÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤é»öÁ°¤Ë¥¢¥µ¥¤¥ó¤·¤Æ¤ª¤¯¤³¤È¤Ç¡¢É³¤Å¤±¤·¤¿¾õÂ֤ǥ²¡¼¥à¤ò³«»Ï¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡
GameManager.cs
¡¡<=¡¡¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤¤Þ¤¹¡£
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class GameManager : MonoBehaviour
{
// º£¤Þ¤Ç¤ÎÀë¸À¥Õ¥£¡¼¥ë¥É¤Ï¤½¤Î¤Þ¤Þ¤Ê¤Î¤Ç¾Êά
/////* ¤³¤³¤«¤éÄɲà *////
[SerializeField]
private UIManager uiManager;
/////* ¤³¤³¤Þ¤ÇÄɲà *////
IEnumerator Start() {
¡¡¡¡¡¡¡¡// Êѹ¹¤Ê¤·¤Î¤¿¤á¾Êά
¡¡¡¡}
private IEnumerator LoadEtoSprites(){
// Êѹ¹¤Ê¤·¤Î¤¿¤á¾Êά
}
private IEnumerator CreateEtos(int count) {
// Êѹ¹¤Ê¤·¤Î¤¿¤á¾Êά
}
¡¡¡¡void Update() {
// Êѹ¹¤Ê¤·¤Î¤¿¤á¾Êά
}
private void OnStartDrag() {
¡¡¡¡¡¡¡¡// Êѹ¹¤Ê¤·¤Î¤¿¤á¾Êά
}
private void OnDragging() {
// Êѹ¹¤Ê¤·¤Î¤¿¤á¾Êά
}
¡¡¡¡/// <summary>
/// ´³»Ù¤Î¥É¥é¥Ã¥°¤ò¤ä¤á¤¿¡Ê»Ø¤ò²èÌ̤«¤éÎ¥¤·¤¿¡ËºÝ¤Î½èÍý¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// ¡ù¡¡¥á¥½¥Ã¥ÉÆâ¤Ë½èÍý¤ò£±¹ÔÄɲ乤롡¡ù
/// </summary>
¡¡¡¡private void OnEndDrag() {
// ¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤ë´³»Ù¤¬£³¤Ä°Ê¾å¤¢¤Ã¤¿¤éºï½ü¤¹¤ë½èÍý¤Ë¤¦¤Ä¤ë
if (eraseEtoList.Count >= 3) {
// ÁªÂò¤µ¤ì¤Æ¤¤¤ë´³»Ù¤ò¾Ã¤¹
for (int i = 0; i < eraseEtoList.Count; i++) {
// ´³»Ù¥ê¥¹¥È¤«¤é¼è¤ê½ü¤¯
etoList.Remove(eraseEtoList[i]);
// ´³»Ù¤òºï½ü
Destroy(eraseEtoList[i].gameObject);
}
/////* ¤³¤³¤«¤é½èÍý¤òÄɲà *////
// ¥¹¥³¥¢¤È¾Ã¤·¤¿´³»Ù¤Î¿ô¤Î²Ã»»
AddScores(currentEtoType, eraseEtoList.Count);
/////* ¤³¤³¤Þ¤ÇÄɲà *////
// ¾Ã¤·¤¿´³»Ù¤Î¿ô¤À¤±¿·¤·¤¤´³»Ù¤ò¥é¥ó¥À¥à¤ËÀ¸À®
StartCoroutine(CreateEtos(eraseEtoList.Count));
// ºï½ü¥ê¥¹¥È¤ò¥¯¥ê¥¢¤¹¤ë
eraseEtoList.Clear();
} else {
// ¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤ë´³»Ù¤¬£²¤Ä°Ê²¼¤Ê¤é¡¢ºï½ü¤Ï¤·¤Ê¤¤
// ºï½ü¥ê¥¹¥È¤«¤é¡¢ºï½ü¸õÊä¤Ç¤¢¤Ã¤¿´³»Ù¤ò¼è¤ê½ü¤¯
for (int i = 0; i < eraseEtoList.Count; i++) {
// ³Æ´³»Ù¤ÎÁªÂòÃæ¤Î¾õÂÖ¤ò²ò½ü¤¹¤ë
eraseEtoList[i].isSelected = false;
¡¡ // ´³»Ù¤Î¿§¤ÎÆ©ÌÀÅÙ¤ò¸µ¤ÎÆ©ÌÀÅÙ¤ËÌ᤹
ChangeEtoAlpha(eraseEtoList[i], 1.0f);
}
}
// ¼¡²ó¤Î´³»Ù¤ò¾Ã¤¹½èÍý¤Î¤¿¤á¤Ë¡¢³ÆÊÑ¿ô¤ÎÃͤònull¤Ë¤¹¤ë
firstSelectEto = null;
lastSelectEto = null;
currentEtoType = null;
}
private void AddEraseEtolList(Eto dragEto) {
// Êѹ¹¤Ê¤·¤Î¤¿¤á¾Êά
}
private void RemoveEraseEtoList(Eto dragEto) {
// Êѹ¹¤Ê¤·¤Î¤¿¤á¾Êά
}
private void ChangeEtoAlpha(Eto dragEto, float alphaValue) {
// Êѹ¹¤Ê¤·¤¿¤á¾Êά
}
/////* ¤³¤³¤«¤é¥á¥½¥Ã¥É¤ò£±¤ÄÄɲà *////
/// <summary>
/// ¥¹¥³¥¢¤È¾Ã¤·¤¿´³»Ù¤Î¿ô¤ò²Ã»»
/// </summary>
/// <param name="etoType">¾Ã¤·¤¿´³»Ù¤Î¼ïÎà</param>
/// <param name="count">¾Ã¤·¤¿´³»Ù¤Î¿ô</param>
private void AddScores(EtoType? etoType, int count) {
¡¡¡¡¡¡¡¡// ¥¹¥³¥¢¤ò²Ã»»(EtoPoint * ¾Ã¤·¤¿¿ô)
GameData.instance.score += GameData.instance.etoPoint * count;
// ¾Ã¤·¤¿´³»Ù¤Î¿ô¤ò²Ã»»
GameData.instance.eraseEtoCount += count;
// ¥¹¥³¥¢²Ã»»¤È²èÌ̤ι¹¿·½èÍý
uiManager.UpdateDisplayScore();
}
/////* ¤³¤³¤Þ¤ÇÄɲà *////
}
¡¡GameManager¥¹¥¯¥ê¥×¥È¤Î½¤Àµ¤¬½ª¤ï¤Ã¤¿¤é¡¢¥Ò¥¨¥é¥ë¥¡¼¤ÎGameManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤¹¡£
SerializeField°À¤ÇÀë¸À¤·¤¿UIManagerÊÑ¿ô¤Î¥¢¥µ¥¤¥ó¤¬²Äǽ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢Æ±¤¸¤¯¥Ò¥¨¥é¥ë¥¡¼¤Ë¤¢¤ëUIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£
GameManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü