Получение блока с характеристиками из скрипта - Форум Игроделов
Чт, 02 Май 2024, 08:02 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » СКРИПТИНГ » Получение блока с характеристиками из скрипта
Получение блока с характеристиками из скрипта
7MaZaHaKa7Дата: Чт, 31 Дек 2015, 19:00 | Сообщение # 1
 
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
Всем привет!
Столкнулся с такой проблемой:
Имеются 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 почему-то остается пустой.
Помогите пожалуйста!
 
СообщениеВсем привет!
Столкнулся с такой проблемой:
Имеются 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 почему-то остается пустой.
Помогите пожалуйста!

Автор - 7MaZaHaKa7
Дата добавления - 31 Дек 2015 в 19:00
AswoДата: Пт, 01 Янв 2016, 00:46 | Сообщение # 2
КЗОИ
 
Сообщений: 1031
Награды: 18
Репутация: 430
Статус: Offline
7MaZaHaKa7, у вас в конструкторе Block ошибка, нужно:

Код
public Block(int id, string name, int tX, int tY)
    {
        blockId = id;
        blockName = name;
        textureX = tX;
        textureY = tY;
    }


end.
 
Сообщение7MaZaHaKa7, у вас в конструкторе Block ошибка, нужно:

Код
public Block(int id, string name, int tX, int tY)
    {
        blockId = id;
        blockName = name;
        textureX = tX;
        textureY = tY;
    }

Автор - Aswo
Дата добавления - 01 Янв 2016 в 00:46
7MaZaHaKa7Дата: Пт, 01 Янв 2016, 01:25 | Сообщение # 3
 
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
Aswo, спасибо вам большое, всё отлично работает!
 
СообщениеAswo, спасибо вам большое, всё отлично работает!

Автор - 7MaZaHaKa7
Дата добавления - 01 Янв 2016 в 01:25
Форум Игроделов » UNITY3D » СКРИПТИНГ » Получение блока с характеристиками из скрипта
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024