Unity¤Ë´ØÏ¢¤¹¤ëµ­»ö¤Ç¤¹

¡¡Dictionary ¤Î¼ÂÁõÎã¤òÄ󼨤·¤Þ¤¹¡£¤Þ¤¿ List ¤È¤Î°ã¤¤¤òÈæ³Ó¤·¡¢ºÎÍÑ»þ¤Î¥Ý¥¤¥ó¥È¤ò²òÀ⤷¤Þ¤¹¡£

¡¡¤Ê¤ª¡¢¥µ¥ó¥×¥ë¥³¡¼¥É¤Î Dictionary ¤Î½é´ü²½¤Ë¤Ï Target-typed new ɽ¸½¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£



£±¡¥¥¢¥¤¥Æ¥à¤ÈÃÆÌô¤Î´ÉÍý


¡¡°Ê²¼¤Ï¡¢¥¢¥¤¥Æ¥à¤ÈÃÆÌô¤Î´ÉÍý¤ËDictionary¤ò³èÍѤ¹¤ëÎã¤Ç¤¹¡£

¡¡¤³¤Î¥³¡¼¥É¤Ï¡¢¥¢¥¤¥Æ¥à¤ÈÃÆÌô¤ÎÀ¸À®¡¢´ÉÍý¡¢¤ª¤è¤Ó»ÈÍѤò Dictionary ¤Ë¤è¤ê¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
enum ¤òºîÀ®¤·¤Æ¤½¤ì¤¾¤ì¤Î¥­¡¼¤È¤·¡¢½ê»ý¤·¤Æ¤¤¤ë¿ô¤òÃͤȤ·¤Þ¤¹¡£


using System.Collections.Generic;

public enum ItemType
{
    HealthPotion,
    AmmoPack,
    Shield,
}

public enum AmmoType
{
    PistolAmmo,
    ShotgunShells,
    RifleAmmo,
}

public class GameManager : MonoBehaviour
{
    // ¥¢¥¤¥Æ¥à¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹
    private Dictionary<ItemType, int> itemInventory = new ();

    // ÃÆÌô¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹
    private Dictionary<AmmoType, int> ammoInventory = new ();

    private void Start()
    {
        // ½é´ü¥¢¥¤¥Æ¥à¤ÈÃÆÌô¤ÎÀßÄê
        itemInventory[ItemType.HealthPotion] = 3;
        itemInventory[ItemType.AmmoPack] = 5;
        itemInventory[ItemType.Shield] = 1;

        ammoInventory[AmmoType.PistolAmmo] = 50;
        ammoInventory[AmmoType.ShotgunShells] = 20;
        ammoInventory[AmmoType.RifleAmmo] = 100;

        // ¥¢¥¤¥Æ¥à¤Î»ÈÍÑÎã
        UseItem(ItemType.HealthPotion);
        UseItem(ItemType.AmmoPack);

        // ÃÆÌô¤Î»ÈÍÑÎã
        UseAmmo(AmmoType.PistolAmmo, 10);
        UseAmmo(AmmoType.ShotgunShells, 5);
    }

    // ¥¢¥¤¥Æ¥à¤ò»ÈÍѤ¹¤ë¥á¥½¥Ã¥É
    private void UseItem(ItemType itemType)
    {
        if (itemInventory.ContainsKey(itemType) && itemInventory[itemType] > 0)
        {
            // ¥¢¥¤¥Æ¥à¤ò»ÈÍѤ¹¤ë½èÍý¤ò¤³¤³¤ËÄɲÃ
            Debug.Log($"¥¢¥¤¥Æ¥à¤ò»ÈÍÑ : { itemType }");
            itemInventory[itemType]--;
        }
        else
        {
            Debug.Log($"¥¢¥¤¥Æ¥à¤¬ÉÔ­¤·¤Æ¤¤¤Þ¤¹ : { itemType }");
        }
    }

    // ÃÆÌô¤ò»ÈÍѤ¹¤ë¥á¥½¥Ã¥É
    private void UseAmmo(AmmoType ammoType, int amount)
    {
        if (ammoInventory.ContainsKey(ammoType) && ammoInventory[ammoType] >= amount)
        {
            // ÃÆÌô¤ò»ÈÍѤ¹¤ë½èÍý¤ò¤³¤³¤ËÄɲÃ
            Debug.Log($"ÃÆÌô¤ò»ÈÍÑ : { ammoType } (¿ôÎÌ : { amount })");
            ammoInventory[ammoType] -= amount;
        }
        else
        {
            Debug.Log($"ÃÆÌô¤¬ÉÔ­¤·¤Æ¤¤¤Þ¤¹ : { ammoType }");
        }
    }
}

¡¡¤³¤Î¥µ¥ó¥×¥ë¥³¡¼¥É¤Ç¤Ï¡¢2¤Ä¤ÎDictionary¤ò»ÈÍѤ·¤Æ¥¢¥¤¥Æ¥à¤ÈÃÆÌô¤ò´ÉÍý¤·¤Æ¤¤¤Þ¤¹¡£

¡¡Start¥á¥½¥Ã¥É¤Ç½é´üÃͤòÀßÄꤷ¡¢UseItem¤ÈUseAmmo¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Æ¥¢¥¤¥Æ¥à¤ÈÃÆÌô¤ò»ÈÍѤǤ­¤Þ¤¹¡£
¥¢¥¤¥Æ¥à¤ÈÃÆÌô¤Î¼ïÎà¤Ïenum¤Ç´ÉÍý¤µ¤ì¡¢¤½¤ì¤¾¤ì¤Î¼ïÎà¤ËÂбþ¤¹¤ë¿ôÎ̤¬Dictionary¤ÇÄÉÀפµ¤ì¤Þ¤¹¡£

¡¡¥¢¥¤¥Æ¥à¤ÈÃÆÌô¤ò»ÈÍѤ¹¤ëºÝ¤Ë¤Ï¡¢Dictionary¤ò¥Á¥§¥Ã¥¯¤·¤Æ¸ºß¤¹¤ë¤«¡¢¿ôÎ̤¬½½Ê¬¤«¤É¤¦¤«¤ò³Îǧ¤·¡¢É¬Íפ˱þ¤¸¤Æ¸º»»¤·¤Þ¤¹¡£

¡¡¤³¤Î¥³¡¼¥É¤Ï¡¢¥²¡¼¥àÆâ¤Î¥¢¥¤¥Æ¥à¤ÈÃÆÌô¤Î´ÉÍý¤ËÌòΩ¤Á¡¢Äɲäε¡Ç½¤ä¥í¥¸¥Ã¥¯¤òÁȤ߹þ¤àºÝ¤Î´ðÈפȤʤê¤Þ¤¹¡£


£²¡¥³Æ¥×¥ì¥¤¥ä¡¼¤Î¥¹¥³¥¢´ÉÍý


¡¡¥×¥ì¥¤¥ä¡¼¤Î¥¹¥³¥¢¤ò´ÉÍý¤¹¤ë¤¿¤á¤ËDictionary¤ò»ÈÍѤǤ­¤Þ¤¹¡£

¡¡¥×¥ì¥¤¥ä¡¼¤Î̾Á°¤ò¥­¡¼¤È¤·¡¢¥¹¥³¥¢¤òÃͤȤ·¤ÆÊݸ¤·¤Þ¤¹¡£


using System.Collections.Generic;

public class ScoreManager : MonoBehaviour
{
    private Dictionary<string, int> playerScores = new ();

    private void Start()
    {
        // ¥×¥ì¥¤¥ä¡¼¤Î¥¹¥³¥¢¤Î½é´ü²½
        playerScores["Player1"] = 0;
        playerScores["Player2"] = 0;
    }

    // ¥¹¥³¥¢¤òÁý¤ä¤¹¥á¥½¥Ã¥É
    public void IncreaseScore(string playerName, int points)
    {
        if (playerScores.ContainsKey(playerName))
        {
            playerScores[playerName] += points;
        }
        else
        {
            Debug.Log($"¥×¥ì¥¤¥ä¡¼¤¬Â¸ºß¤·¤Þ¤»¤ó : { playerName }");
        }
    }
}

¡¡¤³¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤´¤È¤Ë¥¹¥³¥¢¤òÄÉÀפ·¡¢IncreaseScore¥á¥½¥Ã¥É¤Ç¥¹¥³¥¢¤òÁý¤ä¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£


£³¡¥Å¨¤Î¥É¥í¥Ã¥×¥¢¥¤¥Æ¥à


¡¡Å¨¤¬¥¢¥¤¥Æ¥à¤ò¥É¥í¥Ã¥×¤¹¤ë¾ì¹ç¡¢Dictionary¤ò»ÈÍѤ·¤Æ¥¢¥¤¥Æ¥à¤Î¼ïÎà¤È¥É¥í¥Ã¥×³ÎΨ¤ò´ÉÍý¤Ç¤­¤Þ¤¹¡£
enum ¤òºîÀ®¤·¤Æ¥­¡¼¤È¤·¡¢¥É¥í¥Ã¥×³ÎΨ¤ÎÃͤòÃͤȤ·¤Þ¤¹¡£


using System.Collections.Generic;

public enum ItemType
{
    HealthPotion,
    AmmoPack,
    Shield,
}

public class EnemyDropManager : MonoBehaviour
{
    private Dictionary<ItemType, float> dropTable = new ();

    private void Start()
    {
        // ¥¢¥¤¥Æ¥à¤Î¥É¥í¥Ã¥×³ÎΨ¤ÎÀßÄê
        dropTable[ItemType.HealthPotion] = 0.3f;
        dropTable[ItemType.AmmoPack] = 0.2f;
        dropTable[ItemType.Shield] = 0.1f;
    }

    // Ũ¤¬¥¢¥¤¥Æ¥à¤ò¥É¥í¥Ã¥×¤¹¤ë¥á¥½¥Ã¥É
    public ItemType DropItem()
    {
        float randomValue = Random.value;
        foreach (var kvp in dropTable)
        {
            if (randomValue < kvp.Value)
            {
                return kvp.Key;
            }
            randomValue -= kvp.Value;
        }
        // ¥É¥í¥Ã¥×¥¢¥¤¥Æ¥à¤¬¤Ê¤¤¾ì¹ç
        return ItemType.None;
    }
}

¡¡¤³¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥É¥í¥Ã¥×³ÎΨ¤ò»ý¤Ä¥¢¥¤¥Æ¥à¤È¡¢¥é¥ó¥À¥à¤Ë¥¢¥¤¥Æ¥à¤ò¥É¥í¥Ã¥×¤¹¤ë¥á¥½¥Ã¥É¤¬¤¢¤ê¤Þ¤¹¡£
¥¢¥¤¥Æ¥à¤¬¥É¥í¥Ã¥×¤µ¤ì¤ë³ÎΨ¤ÏDictionary¤Ç´ÉÍý¤µ¤ì¤Æ¤¤¤Þ¤¹¡£


£´¡¥¥¯¥¨¥¹¥È¿Ê¹Ô¤Î´ÉÍý


¡¡¥²¡¼¥àÆâ¤Î¥¯¥¨¥¹¥È¤Î¿Ê¹Ô¾õ¶·¤òDictionary¤ò»ÈÍѤ·¤Æ´ÉÍý¤Ç¤­¤Þ¤¹¡£
¥¯¥¨¥¹¥ÈID¤ò¥­¡¼¤È¤·¡¢¿Ê¹Ô¾õ¶·¤ò enum ¤È¤·¤ÆºîÀ®¤·¡¢Îóµó»Ò¤òÃͤȤ·¤ÆÊݸ¤·¤Þ¤¹¡£


using System.Collections.Generic;

public enum QuestStatus
{
    InProgress,
    Completed,
    Failed,
}

public class QuestManager : MonoBehaviour
{
    private Dictionary<int, QuestStatus> questStatus = new ();

    private void Start()
    {
        // ¥¯¥¨¥¹¥È¤Î½é´ü¾õÂÖ¤òÀßÄê
        questStatus[1] = QuestStatus.InProgress;
        questStatus[2] = QuestStatus.InProgress;
    }

    // ¥¯¥¨¥¹¥È¤Î¿Ê¹Ô¾õ¶·¤ò¹¹¿·¤¹¤ë¥á¥½¥Ã¥É
    public void UpdateQuestStatus(int questID, QuestStatus status)
    {
        if (questStatus.ContainsKey(questID))
        {
            questStatus[questID] = status;
        }
        else
        {
            Debug.Log($"¥¯¥¨¥¹¥È¤¬Â¸ºß¤·¤Þ¤»¤ó : { questID }");
        }
    }
}

¡¡¤³¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥¯¥¨¥¹¥È¤Î¿Ê¹Ô¾õ¶·¤òÄÉÀפ·¡¢UpdateQuestStatus¥á¥½¥Ã¥É¤Ç¹¹¿·¤Ç¤­¤Þ¤¹¡£


£µ¡¥¥µ¡¼¥Ð¡¼¥Ç¡¼¥¿¤ÎÁ÷¼õ¿®


¡¡¥µ¡¼¥Ð¡¼´Ø·¸¤Î¥Ç¡¼¥¿Á÷¼õ¿®¤ËDictionary¤ò»ÈÍѤ¹¤ë°ìÈÌŪ¤Ê¥±¡¼¥¹¤Ï¡¢¥µ¡¼¥Ð¡¼¤«¤é¥¯¥é¥¤¥¢¥ó¥È¤ËÁ÷¿®¤µ¤ì¤ë¥Ç¡¼¥¿¤òɽ¸½¤¹¤ë¤¿¤á¤Ç¤¹¡£

¡¡°Ê²¼¤Ë¡¢¥µ¡¼¥Ð¡¼¤«¤éÁ÷¿®¤µ¤ì¤¿¥×¥ì¥¤¥ä¡¼¾ðÊó¤òDictionary¤ò»È¤Ã¤Æ¼õ¿®¤·¡¢¤½¤ì¤ò¥¯¥é¥¤¥¢¥ó¥È¤ÇÍøÍѤ¹¤ë¥µ¥ó¥×¥ë¥³¡¼¥É¤ò¼¨¤·¤Þ¤¹¡£


¥µ¡¼¥Ð¡¼¤«¤éÁ÷¿®¤µ¤ì¤¿¥Ç¡¼¥¿¤ÎÎã


¡ãjson¡ä
{
    "players": {
        "player1": {
            "name": "Alice",
            "score": 100
        },
        "player2": {
            "name": "Bob",
            "score": 200
        },
        "player3": {
            "name": "Charlie",
            "score": 150
        }
    }
}

¡¡¤³¤Î¥Ç¡¼¥¿¤ò¥¯¥é¥¤¥¢¥ó¥È¤Ç¼õ¿®¤·¡¢Dictionary¤ò»ÈÍѤ·¤Æ½èÍý¤·¤Þ¤¹¡£


¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¼õ¿®¤¹¤ëÎã



using System.Collections.Generic;
using UnityEngine;

public class PlayerInfo
{
    public string name;
    public int score;
}

public class ServerDataReceiver : MonoBehaviour
{
    // ¥µ¡¼¥Ð¡¼¤«¤éÁ÷¿®¤µ¤ì¤¿¥Ç¡¼¥¿¤ò³ÊǼ¤¹¤ëDictionary
    private Dictionary<string, PlayerInfo> playerData = new ();

    // ¥µ¡¼¥Ð¡¼¤«¤é¤Î¥Ç¡¼¥¿¤ò¼õ¿®¤¹¤ë´Ø¿ô
    public void ReceiveServerData(string jsonString)
    {
        // JSON¥Ç¡¼¥¿¤ò¥Ç¥·¥ê¥¢¥é¥¤¥º¤·¤ÆDictionary¤Ë³ÊǼ
        Dictionary<string, Dictionary<string, object>> serverData = MiniJSON.Json.Deserialize(jsonString) as Dictionary<string, Dictionary<string, object>>;

        if (serverData != null && serverData.ContainsKey("players"))
        {
            Dictionary<string, object> players = serverData["players"];
            foreach (var player in players)
            {
                string playerId = player.Key;
                Dictionary<string, object> playerInfoDict = player.Value as Dictionary<string, object>;

                // PlayerInfo¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤ÆDictionary¤ËÄɲÃ
                PlayerInfo playerInfo = new PlayerInfo
                {
                    name = playerInfoDict["name"].ToString(),
                    score = int.Parse(playerInfoDict["score"].ToString())
                };

                playerData[playerId] = playerInfo;
            }
        }
    }

    // ¥¯¥é¥¤¥¢¥ó¥È¤Ç¥Ç¡¼¥¿¤òÍøÍѤ¹¤ëÎã
    public void UsePlayerData()
    {
        if (playerData.ContainsKey("player1"))
        {
            PlayerInfo player1Info = playerData["player1"];
            Debug.Log("Player1 Name: " + player1Info.name);
            Debug.Log("Player1 Score: " + player1Info.score);
        }
    }
}

¡¡¤³¤Î¥µ¥ó¥×¥ë¥³¡¼¥É¤Ç¤Ï¡¢¥µ¡¼¥Ð¡¼¤«¤éÁ÷¿®¤µ¤ì¤¿JSON¥Ç¡¼¥¿¤ò¼õ¿®¤·¡¢MiniJSON¤ò»ÈÍѤ·¤Æ¥Ç¥·¥ê¥¢¥é¥¤¥º¤·¤Þ¤¹¡£
¥Ç¥·¥ê¥¢¥é¥¤¥º¤µ¤ì¤¿¥Ç¡¼¥¿¤ÏDictionary¤È¤·¤Æ¼èÆÀ¤·¡¢¥¯¥é¥¤¥¢¥ó¥ÈÆâ¤ÇÍøÍѲÄǽ¤Ê·Á¤ËÊÑ´¹¤·¤Æ¤¤¤Þ¤¹¡£

¡¡¼õ¿®¤·¤¿¥Ç¡¼¥¿¤òDictionary¤Ë³ÊǼ¤¹¤ë¤³¤È¤Ç¡¢³Æ¥×¥ì¥¤¥ä¡¼¤Î¾ðÊó¤ò¸úΨŪ¤Ë´ÉÍý¤Ç¤­¤Þ¤¹¡£
¤Þ¤¿¡¢É¬Íפ˱þ¤¸¤Æ¥Ç¡¼¥¿¤Î¹¹¿·¤ä½èÍý¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£


£¶¡¥List ¤È Dictionary ¤ÎÈæ³Ó¤È»È¤¤Ê¬¤±Êý


¡¡Dictionary¤ÈList¤Ï¡¢C#¤Ç¥Ç¡¼¥¿¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î°Û¤Ê¤ë¥³¥ì¥¯¥·¥ç¥ó·¿¤Ç¤¹¡£
¤½¤ì¤¾¤ì¤Î»È¤¤Ê¬¤±¤Ë¤ÏÃí°Õ¤¬É¬ÍפǤ¹¡£°Ê²¼¤Ë¡¢Dictionary¤ÈList¤Î¼ç¤Ê°ã¤¤¤ÈÃí°ÕÅÀ¤òÈæ³Ó¤·¤Æ²òÀ⤷¤Þ¤¹¡£


£±¡¥Dictionary¤ÎÆÃħ¤ÈÃí°ÕÅÀ


¡¡¡¡¥­¡¼¤ÈÃͤΥڥ¢

¡¡¡¡¡¡¡¡¡¡Dictionary¤Ï¥­¡¼¤ÈÃͤΥڥ¢¤ò»ý¤Ä¥Ç¡¼¥¿¹½Â¤¤Ç¤¹¡£¥­¡¼¤ò»È¤Ã¤ÆÃͤ˥¢¥¯¥»¥¹¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¤³¤ì¤Ï¡¢°ì°Õ¤Î¼±Ê̻Ҥò»ý¤ÄÍ×ÁǤò´ÉÍý¤¹¤ë¤Î¤ËŬ¤·¤Æ¤¤¤Þ¤¹¡£Î㤨¤Ð¡¢¥×¥ì¥¤¥ä¡¼Ì¾¤È¥¹¥³¥¢¡¢¥¢¥¤¥Æ¥à¤Î¼ïÎà¤È¿ôÎ̤ʤɡ£

¡¡¡¡¹â®¤Ê¸¡º÷

¡¡¡¡¡¡¡¡¡¡Dictionary¤Ï¥­¡¼¤ËÂФ¹¤ëÃͤò¹â®¤Ë¸¡º÷¤Ç¤­¤ë¤¿¤á¡¢Â絬ÌϤʥǡ¼¥¿¥»¥Ã¥È¤Ë¤ª¤¤¤Æ¸úΨŪ¤Ç¤¹¡£
¡¡¡¡¡¡¡¡¸¡º÷»þ´Ö¤Ï¥Ç¡¼¥¿¤Î¥µ¥¤¥º¤Ë°Í¸¤·¤Ê¤¤¤¿¤á¡¢¥ê¥¹¥È¤è¤ê¤âŬ¤·¤Æ¤¤¤Þ¤¹¡£

¡¡¡¡ÉԲĻëÀ­(¥·¥ê¥¢¥é¥¤¥ºÉÔ²Ä)

¡¡¡¡¡¡¡¡¡¡Dictionary¤Ï¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡Ä̾¥­¡¼¤ÈÃͤΥڥ¢¤òɽ¸½¤¹¤ë¤¿¤á¤Ë¥«¥¹¥¿¥à¥¨¥Ç¥£¥¿¤ò¼ÂÁõ¤¹¤ë¤«¡¢¥·¥ê¥¢¥é¥¤¥º²Äǽ¤Ê¥«¥¹¥¿¥à¥¯¥é¥¹¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£



¡¡Dictionary¤Ï¥­¡¼¤¬°ì°Õ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£½ÅÊ£¤¹¤ë¥­¡¼¤ò»ý¤Ä¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
¥­¡¼¤Î¥Ï¥Ã¥·¥å¥³¡¼¥É¤¬ÉÔÊѤǤ¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥­¡¼¤¬Êѹ¹¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£


£²¡¥List¤ÎÆÃħ¤ÈÃí°ÕÅÀ


¡¡¡¡Í×ÁǤΰìÍ÷

¡¡¡¡¡¡¡¡¡¡List¤ÏÍ×ÁǤΰìÍ÷¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥Ç¡¼¥¿¹½Â¤¤Ç¡¢Í×ÁǤؤΥ¢¥¯¥»¥¹¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¤³¤ì¤Ï¡¢½ç½ø¤¬½ÅÍפǤ¢¤ê¡¢Í×ÁǤνÅÊ£¤òµöÍƤ¹¤ë¾ì¹ç¤ËŬ¤·¤Æ¤¤¤Þ¤¹¡£

¡¡¡¡¥Ç¡¼¥¿¤Î½ç½ø

¡¡¡¡¡¡¡¡¡¡List¤ÏÍ×ÁǤ¬Äɲ䵤줿½ç½ø¤òÊÝ»ý¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢½ç½ø¤¬½ÅÍפʾì¹ç¡¢Î㤨¤Ð¥×¥ì¥¤¥ä¡¼¤Î¥¿¡¼¥ó¤Î½ç½ø¤Ê¤É¡¢¥ê¥¹¥È¤òÁªÂò¤¹¤ëÍýͳ¤Ç¤¹¡£

¡¡¡¡²Ä»ëÀ­(¥·¥ê¥¢¥é¥¤¥º²Äǽ)

¡¡¡¡¡¡¡¡¡¡List¤Ï SerializeField°À­¡¢¤¢¤ë¤¤¤Ï public ½¤¾þ»Ò¤ÇÀë¸À¤¹¤ë¤³¤È¤Ç¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡ListÆâ¤ÎÍ×ÁǤϥꥹ¥È¤È¤·¤Æɽ¼¨¤µ¤ì¡¢Í×ÁǤοô¤äÆâÍƤòľÀܳÎǧ¡¢¤ª¤è¤ÓÍ×ÁǤòÊÔ½¸¤·¤¿¤ê¡¢Ê¤ӽç¤òÊѤ¨¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£



¡¡List¤ÏÍ×ÁǤθ¡º÷¤¬ÃÙ¤¤¤Ç¤¹¡£Í×ÁǤòÆÃÄê¤Î¾ò·ï¤Ç¸¡º÷¤¹¤ë¾ì¹ç¡¢Dictionary¤è¤ê¤â»þ´Ö¤¬¤«¤«¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
Í×ÁǤνç½ø¤¬°Ý»ý¤µ¤ì¤ë¤¿¤á¡¢Í×ÁǤÎÁÞÆþ¤äºï½ü¤¬Dictionary¤è¤ê¤âÃÙ¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£


£³¡¥»È¤¤Ê¬¤±¤Î¥Ý¥¤¥ó¥È


¡¡¡¡¥Ç¡¼¥¿¤Î°ì°ÕÀ­

¡¡¡¡¡¡¡¡¡¡¥­¡¼¤ÈÃͤΥڥ¢¤¬É¬ÍפǤ¢¤ê¡¢¥Ç¡¼¥¿¤Î°ì°ÕÀ­¤¬½ÅÍפʾì¹ç¤ÏDictionary¤òÁªÂò¤·¤Þ¤¹¡£¥×¥ì¥¤¥ä¡¼¤Î¥¹¥³¥¢¡¢¥¢¥¤¥Æ¥à¤Î¿ôÎ̤ʤɤ¬³ºÅö¤·¤Þ¤¹¡£

¡¡¡¡Í×ÁǤνç½ø
¡¡
¡¡¡¡¡¡¡¡¡¡Í×ÁǤνç½ø¤¬½ÅÍפǤ¢¤ê¡¢½ÅÊ£¤¬µöÍƤµ¤ì¤ë¾ì¹ç¤ÏList¤ò»ÈÍѤ·¤Þ¤¹¡£¥×¥ì¥¤¥ä¡¼¤Î¥¿¡¼¥ó½ç½ø¡¢¥¢¥¤¥Æ¥à¤Î¥ê¥¹¥È¤Ê¤É¤¬³ºÅö¤·¤Þ¤¹¡£

¡¡¡¡¥Ç¡¼¥¿¥¢¥¯¥»¥¹¤Î¸úΨ

¡¡¡¡¡¡¡¡¡¡¥Ç¡¼¥¿¤Î¹â®¤Ê¸¡º÷¤ä¥¢¥¯¥»¥¹¤¬É¬Íפʾì¹ç¤ÏDictionary¤¬Å¬¤·¤Æ¤¤¤Þ¤¹¡£ÆÃÄê¤Î¥­¡¼¤ò»ý¤Ä¥Ç¡¼¥¿¤òÁÇÁ᤯¼èÆÀ¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤ËÌòΩ¤Á¤Þ¤¹¡£

¡¡¡¡Í×ÁǤÎÄɲÃ/ºï½ü

¡¡¡¡¡¡¡¡¡¡Í×ÁǤνç½ø¤¬Êѹ¹¤µ¤ì¤ë¤³¤È¤Ê¤¯¡¢Í×ÁǤÎÄɲäȺï½ü¤¬ÉÑÈˤ˹Ԥï¤ì¤ë¾ì¹ç¤ÏList¤ò»ÈÍѤ·¤Þ¤¹¡£¥ê¥¹¥È¤ÏÍ×ÁǤÎÄɲäȺï½ü¤¬Dictionary¤è¤ê¤â¸úΨŪ¤Ç¤¹¡£

¡¡¡¡²Ä»ë²½¤È¥Ç¥Ð¥Ã¥°¸úΨ

¡¡¡¡¡¡¡¡¡¡List¤ÏUnity¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ç´Êñ¤Ëɽ¼¨¤Ç¤­¤Þ¤¹¤¬¡¢Dictionary¤ÏÄ̾參¥¹¥¿¥à¥¨¥Ç¥£¥¿¤ä¥«¥¹¥¿¥à¥¯¥é¥¹¤ò»ÈÍѤ·¤Æɽ¼¨¤¹¤ëɬÍפ¬¤¢¤ë¤È¤¤¤¦°ã¤¤¤¬¤¢¤ê¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¤¿¤À¤·¡¢¥×¥é¥°¥¤¥ó(¥¢¥»¥Ã¥È)¤Ë¤è¤Ã¤Æ¤Ï¡¢Dictionary¤ÎľÀÜŪ¤Ê¥µ¥Ý¡¼¥È¤òÄ󶡤¹¤ë¤â¤Î¤â¸ºß¤·¤Þ¤¹¡£


£´¡¥¥·¥ê¥¢¥é¥¤¥º¤ÎÊýË¡


¡¡List ¤Î¾ì¹ç¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¡¢SerializeField°À­¤«¡¢public ½¤¾þ»Ò¤òÉÕÍ¿¤·¤ÆÊÑ¿ô¤ÎÀë¸À¤ò¹Ô¤¤¤Þ¤¹¡£

[SerializeField]
private List<GameObject> gameObjectsList;

public List<GameObject> gameObjectsList;

¡¡¤³¤Î¤è¤¦¤Ê¥ê¥¹¥È¤ò»ý¤Ä¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¤¿¾ì¹ç¡¢Unity¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë gameObjectsList ÊÑ¿ô¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¤½¤Î¤Þ¤Þ¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ç¤âÍ×ÁǤòÄɲᢺï½ü¡¢ÊÔ½¸¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£



¡¡Dictionary ¤Î¾ì¹ç¤Ë¤Ï¤½¤Î¤Þ¤Þ¤Ç¤Ï¥·¥ê¥¢¥é¥¤¥º¤µ¤ì¤º¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¤Î¤Ç¡¢
¥«¥¹¥¿¥à¥¯¥é¥¹¤òºîÀ®¤¹¤ë¤³¤È¤ÇÂбþ¤·¤Þ¤¹¡£

[System.Serializable]
public class SerializableDictionary<TKey, TValue>
{
    public List<TKey> keys;
    public List<TValue> values;
}

¡¡¤³¤Î¤è¤¦¤Ë SerializableDictionary ¤Î¤è¤¦¤Ê¥«¥¹¥¿¥à¥¯¥é¥¹¤òºîÀ®¤·¡¢¤³¤ì¤ò»ÈÍѤ·¤ÆDictionary¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Çɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£



¡¡°Ê¾å¤Î¤è¤¦¤Ë¡¢Å¬Àڤʥ³¥ì¥¯¥·¥ç¥ó·¿¤òÁªÂò¤¹¤ë¤³¤È¤Ï¡¢¥²¡¼¥à¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤È¥³¡¼¥É¤ÎÊݼéÀ­¤Ë±Æ¶Á¤òÍ¿¤¨¤ë½ÅÍפʷèÄê¤Ç¤¹¡£
¥×¥í¥¸¥§¥¯¥È¤ÎÍ×·ï¤È¥Ë¡¼¥º¤Ë±þ¤¸¤Æ¡¢Dictionary¤ÈList¤òŬÀڤ˻Ȥ¤Ê¬¤±¤ë¤³¤È¤¬ÂçÀڤǤ¹¡£


£·¡¥¤Þ¤È¤á


¡¡¤³¤ì¤é¤Î¥µ¥ó¥×¥ë¥³¡¼¥É¤Ï¡¢Dictionary¤ò»ÈÍѤ·¤Æ¥²¡¼¥àÆâ¤ÎÍÍ¡¹¤Ê¾ðÊó¤ä¾õÂÖ¤ò´ÉÍý¤¹¤ëÊýË¡¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£

¡¡Dictionary¤ÏÈó¾ï¤Ë½ÀÆð¤Ç¶¯ÎϤʥǡ¼¥¿¹½Â¤¤Ç¤¢¤ê¡¢¥²¡¼¥àÆâ¤Î¿¤¯¤Îµ¡Ç½¤ò¼ÂÁõ¤¹¤ëºÝ¤ËÌòΩ¤Á¤Þ¤¹¡£

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

Menu



´ðÁÃ

µ»½Ñ/Ãμ±(¼ÂÁõÎã)

3D¥¢¥¯¥·¥ç¥ó¥²¡¼¥à

2D¤ª¤Ï¤¸¤­¥²¡¼¥à(ȯŸÊÔ)

2D¶¯À©²£¥¹¥¯¥í¡¼¥ë¥¢¥¯¥·¥ç¥ó(ȯŸÊÔ)

2D¥¿¥Ã¥×¥·¥å¡¼¥Æ¥£¥ó¥°(³ÈÄ¥ÊÔ)

¥ì¡¼¥¹¥²¡¼¥à(È´¿è)

2DÊüÃÖ¥²¡¼¥à(ȯŸÊÔ)

3D¥ì¡¼¥ë¥¬¥ó¥·¥å¡¼¥Æ¥£¥ó¥°(±þÍÑÊÔ)

3Dæ½Ð¥²¡¼¥à(È´¿è)

2D¥ê¥¢¥ë¥¿¥¤¥à¥¹¥È¥é¥Æ¥¸¡¼

3D¥¿¥Ã¥×¥¢¥¯¥·¥ç¥ó(NavMeshAgent »ÈÍÑ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥«¥¨¥ë¤Î°Ù¤Ë¡Á¡¢¥Ü¥³¥¹¥«¥¦¥©¡¼¥ºÉ÷)

VideoPlayer ¥¤¥Ù¥ó¥ÈϢư¤Î¼ÂÁõÎã

VideoPlayer ¥ê¥¹¥ÈÆ⤫¤é¥à¡¼¥Ó¡¼ºÆÀ¸¤Î¼ÂÁõÎã(ȯŸ)

AR ²èÁüÉÕ¤­¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¤Î¼ÂÁõÎã

AR ¥ê¥¹¥ÈÆ⤫¤éÀ¸À®¤Î¼ÂÁõÎã(ȯŸ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥µ¥Ð¥¤¥Ð¡¼É÷)

private



¤³¤Î¥µ¥¤¥ÈÆâ¤ÎºîÉʤϥæ¥Ë¥Æ¥£¤Á¤ã¤ó¥é¥¤¥»¥ó¥¹¾ò¹à¤Î¸µ¤ËÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£

´ÉÍý¿Í/Éû´ÉÍý¿Í¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹