이것은 실제로 혼란스러워 보이지만 값으로 다른 클래스로 채워진 사전을 만들고 키로 문자를 사용하려고합니다. 그 사전에있는 키를 호출 할 때 "새로운 ClassInDictionary"를 입력하는 것처럼 행동 할 필요가 있습니다.C# 사전에 클래스 넣기 및 호출시 새 인스턴스 만들기
다른 블록을 정의하는 다른 기호로 텍스트 파일을 만들 수 있습니다. "나는 단순히 blockIdentifier을 [호출 할 필요가
public class BlockDirt : Block
{
public int hi;
public BlockDirt()
: base("Dirt Block.png", 0, 0, true)
{
}
}
:
blockIdentifier.Add("=", new BlockAir()); // Define which class corresponds to which letter
blockIdentifier.Add("-", new BlockDirt());
for (int mapX = 0; mapX < mapWidth; mapX++)
{
for (int mapY = 0; mapY < mapHeight; mapY++)
{
try
{
Block block = blockIdentifier[mapSplit[mapY].Substring(mapX, 1)]; // Simply find which letter to use, let's pretend it's: "="
// The line above should be creating a new instance of the class BlockAir
block.blockX = mapX * 45;
block.blockY = mapY * 45;
mapList[mapY, mapX] = block;
}
catch (Exception)
{
}
}
}
변수 blockIdentifier :
public static Dictionary<string, Block> blockIdentifier = new Dictionary<string, Block>();
그리고 BlockDirt 여기에 명확한 일을 돕는다
내 현재 코드입니다 = "] 클래스 BlockDirt() 클래스의 새 인스턴스를 가져 오려면 어떻게해야합니까?
그리고 귀하의 질문은 무엇입니까? – Pete
처음에 클래스를 어떻게 저장합니까? –
죄송합니다. 중요한 부분을 정말로 잊어 버렸습니다. blockIdentifier [ "="]를 호출하고 클래스 BlockDirt() 클래스의 새 인스턴스를 가져와야합니다. –