Всем привет!
Столкнулся с такой проблемой:
Имеются 3 скрипта
Код
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Block : MonoBehaviour
{
public string blockName;
public int blockId;
public int textureX;
public int textureY;
public static List<Block> blocks = new List<Block>();
//public string
public Block ()
{
blockId = -1;
}
public Block(int id, string name, int tX, int tY)
{
id = blockId;
name = blockName;
tX = textureX;
tY = textureY;
}
public static Block getBlock(int id)
{
foreach (Block b in blocks)
{
if (b.blockId == id)
return b;
}
return new Block();
}
}
Код
using UnityEngine;
using System.Collections;
public class blockList : MonoBehaviour
{
void Awake()
{
Block stone = new Block(1, "Stone", 1, 16);
Block.blocks.Add(stone);
}
}
Код
using UnityEngine;
using System.Collections;
public class TestGetBlock : MonoBehaviour {
public int blocKid;
public string blocKname;
// Update is called once per frame
void Start ()
{
Block b = Block.getBlock(blocKid);
blocKname = b.blockName;
}
}
Работать должно так : 2 -ой скрипт добавляет новый блок в List первого,
а 3-й получает блок (по его id) и записывает его имя в переменную blocKname,
но переменная blocKname почему-то остается пустой.
Помогите пожалуйста!