Хорошо пакс!
Смысл такой, я хочу создать свой объект со своими свойствами и методами.
Т.е. такой же объект, или класс (пока не очень разбираюсь как правильно) как GameObject, Camera и т.д.
Т.е. задача - создать свой класс npc, и добавить ему свойства position, life и т.д. Добавить методы Create(), Destroy().
Чтобы в дальнейшем в скрипте можно было обращаться к полям примерно так:
npc newNPC = npc.Create();
newNPC.position = Vector3(1,2,3);
newNPC.life = 100;
void Update()
{
if (newNPC.life<=0) { newNPC.Destroy(); }
}
Буду очень рад, если покажешь маленький наглядный примерчик!
Пакс, я нашел твой пример, это как раз то что мне нужно. Только там парочка непоняток.
using System;
using System.Collections.Generic;
namespace test
{
//Начало класса
public class Worker
{
public int age = 0;
public string name;
}
//Конец класса
class Test
{
// Объявление и инициализация списка
public List<Worker> workers = new List<Worker>();
[STAThread]
static void Main(string[] args)
{
Worker wrkl = new Worker();
wrkl.age = 30;
wrkl.name = "Петров Иван Сергеевич";
// Добавление первого элемента списка
workers.Add(wrkl);
wrkl = new Worker();
wrkl.age = 40;
wrkl.name = "Иванов Петр Сергеевич";
// Добавление второго элемента списка
workers.Add(wrkl);
// Перебор всех элементов списка
foreach(Worker worker in workers)
{
Console.WriteLine(worker .name + " - " + worker .age + " года");
}
// Очистка списка
workers.Clear();
}
}
}
Ругался так: (28,13):
error CS0120: An object reference is required to access non-static member `test.Test.workers'
Поправил строку на
public static List<Worker> workers = new List<Worker>();
Ошибка пропала, но ругается что имя скрипта не совпадает с внутрескриптовым. (Пробовал и test и Test, всё равно ругается..)
Помоги плиз, как надо обозвать скрипт, и можно в твоём примере добавить MonoBehavior??