Получение блока с характеристиками из скрипта - Форум Игроделов
Вс, 29 Июн 2025, 21:00 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Получение блока с характеристиками из скрипта
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
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2025
Войти Зарегистрироваться