using System.Collections.Generic;
using System.Collections;
using UnityEngine;
public class Zoo : MonoBehaviour
{
private List<Animal> fence = new List<Animal>();
private Dictionary<Animal.AnimalType, int> dicFence = new Dictionary<Animal.AnimalType, int>();
void Start()
{
AddAnimalToFence(Animal.AnimalType.Goat);
AddAnimalToFence(Animal.AnimalType.Goat);
AddAnimalToFence(Animal.AnimalType.Giraffe);
AddAnimalToFence(Animal.AnimalType.Elephant);
AddAnimalToFence(Animal.AnimalType.Lion);
PrintAnimalsInFence();
DicAddAnimalToFence(Animal.AnimalType.Goat);
DicAddAnimalToFence(Animal.AnimalType.Goat);
DicAddAnimalToFence(Animal.AnimalType.Giraffe);
DicAddAnimalToFence(Animal.AnimalType.Elephant);
DicAddAnimalToFence(Animal.AnimalType.Lion);
DicPrintAnimalsInFence();
}
void AddAnimalToFence(Animal.AnimalType type)
{
Animal animal = new Animal(type);
fence.Add(animal);
}
void PrintAnimalsInFence()
{
foreach (var animal in fence)
{
Debug.Log(animal.Type);
}
}
void DicAddAnimalToFence(Animal.AnimalType type)
{
if (dicFence.ContainsKey(type))
{
dicFence[type]++;
}
else
{
dicFence.Add(type, 1);
}
}
void DicPrintAnimalsInFence()
{
foreach (var animal in dicFence)
{
Debug.LogFormat("{0} x {1}", animal.Key, animal.Value);
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Animal
{
public enum AnimalType
{
Goat,
Lion,
Giraffe,
Elephant
}
public AnimalType Type { get; set; }
public Animal(AnimalType type)
{
Type = type;
}
}
반응형
'산대특 > 게임 알고리즘' 카테고리의 다른 글
커스텀 JsonConverter로 데이터 역직렬화해서 클래스 이름 출력하기 (1) | 2024.03.14 |
---|---|
메멘토 패턴(Memento Pattern) (0) | 2024.02.27 |
직렬화(Serialization)와 역직렬화(Deserialization) (0) | 2024.02.05 |
동기(Synchronous)와 비동기(Asynchronous) (0) | 2024.02.05 |
디자인 패턴 (0) | 2024.02.05 |