Бодрый день, задача в главный публичный объект засунуть глобальные переменные и объявления некоторых типов. С глоб переменными все понятно, а вот когда начинал засовывать структуры и enum-ы, тут меня тупняк и посетил.
Код
using UnityEngine; using System.Collections;
public class MainVariScript : MonoBehaviour { public enum body{ thin = 60, normal = 85, fat = 100 } public struct completedMan{ public string name; public body mybody; } // Use this for initialization void Start () { completedMan mainMan; mainMan.mybody = body.thin; mainMan.name = "FatherFucker";
Debug.Log ("Huh, im main man and im "+mainMan.mybody+" "+mainMan.name);
}
// Update is called once per frame void Update () {
} } }
так все ок.
Теперь добавляем в сцену еще 1 объект и вешаем на него скрипт ManScript.
Код
using UnityEngine; using System.Collections;
public class ManScript : MonoBehaviour { public completedMan anotherMan; // ????????????????? // Use this for initialization void Start () { anotherMan.name = "FatherFucker's son"; anotherMan.mybody = body.fat; Debug.Log ("Huh, im another man and im "+anotherMan.mybody+" "+anotherMan.name);
}
// Update is called once per frame void Update () {
} }
unity не видит моей структуры
Теперь собсно вопрос: как объявлять глобальные типы, видимые из любых скриптов любых объектов, если только не напрямую наследовать.
Тыкс, раз уж так вопрос №2 есть вообще смысл использовать таких мамонтов, как структуры? (выигрыш в производительности... нее??)
ну и 3-е. очень чето без #define тоскливо.. как кто обходится?
Сообщение отредактировал Ranger - Среда, 03 Июля 2013, 10:12
Ну у тебя и быдлокод, еле прочитал все это. Просто у тебя enum объявлен внутри класса, следовательно при обращаться к нему надо тоже через класс, например MainVariScript.body. Но проще просто объявить его за пределами класса. Читайте официальную документацию, там все написано.
Сообщение отредактировал 404notfound - Среда, 03 Июля 2013, 10:09