2014-10-07 4 views
3

Для того, чтобы класс был присоединен к GameObject, он должен наследовать от MonoBehaviour. Если я создаю базовый класс символов, содержащий все атрибуты, совместно используемые как NPC, так и ПК, как мне создать экземпляры этого класса и прикрепить его к игровым объектам? Чтобы дать конкретный пример проблемы, если класс базового символа имеет переменные, такие как здоровье, выносливость, сила и т. Д., И я хочу, чтобы конкретный игровой объект имел определенный набор этих атрибутов, как я могу привязать его к игровому объекту как он не может наследовать базовый класс символов?Как создать экземпляры базового класса символов

Я подозреваю, что ошибка, которую я делаю, состоит в том, чтобы думать, что эти экземпляры должны быть привязаны к объектам, с которыми я хочу, чтобы они были связаны, но некоторые четкие рекомендации здесь были бы наиболее ценными.

ответ

4

Кажется, что вы действительно хотите, это базовый класс, который также позволяет его детям быть MonoBehaviours. Вы можете сделать это, сделав свой базовый класс абстрактным MonoBehaviour и унаследовав его.

public abstract class Base : MonoBehaviour 
{ 
    protected int HP; 
} 

Тогда ваши дети этого класса также будут MonoBehaviours, которые вы можете прикрепить к геймобжектам.

public class Ninja : Base 
{ 
    void Start() 
    { 
      HP = 100; 
    } 
} 
Смежные вопросы