Базовые классы организмов[]
Класс - Organism (Организм)[]
Класс Organism (Организм) является базовым классом для классов Animal/Plant (Животное/Растение). Он содержит функциональные возможности, общие для классов Animal и Plant.
Класс - Plant (Растение)[]
Это базовый класс, используемый любыми существами, которые хотят перейти в вид растений (Plant). Данный класс содержит все методы, определяющие действия и модели поведения растений.
Класс - Animal (Животное)[]
Это исходный класс для производных при создании животного.
Класс - Action (Действие)[]
Этот класс определяет общие свойства для всех команд/действий, которые можно назначить существу. Сюда входят перемещение, воспроизводство, питание, нападения и т.д.
Класс - EngineSettings (Настройки среды)[]
EngineSettings содержит различные константы, влияющие на среду игры, атрибуты существ и рассчитанные значения для Terrarium. Можно использовать эти значения для принятия решений или расчета собственных новых значений для существ. Однако они не должны противоречить законам физики или биологии Terrarium.
Вспомагательные классы[]
Класс - LoadEventArgs[]
Специальный объект, используемый для хранения аргументов, передаваемых делегату LoadEventHandler. В настоящее время существам, использующим этот объект, не передается какая-либо информация.
Делегат - LoadEventHandler[]
Описание делегата, необходимого для перехвата события Load существа. Отправителем всегда будет собственное существо, а LoadEventArgs будет содержать информацию, с помощью которой можно обработать ход существа.
Класс - IdleEventArgs[]
Специальный объект, используемый для хранения аргументов, передаваемых делегату IdleEventHandler. В настоящее время существам, использующим этот объект, не передается какая-либо информация.
Делегат - IdleEventHandler[]
Описание делегата, необходимого для перехвата события Idle существа. Отправителем всегда будет данное существо, а IdleEventArgs будет содержать информацию, с помощью которой можно обработать ход существа.
Перечисление - PopulationChangeReason[]
Описывает причину смерти существа.
Значения:
- Error - Для существа было сгенерировано исключение, и его функционирование было приостановлено.
- Killed - Существо погибло при нападении другого существа.
- NotDead - Существо еще не умерло. Возвращается всеми существами, живущими в террариуме, и является символом-заполнителем для представления живого состояния.
- OldAge - Существо умерло от старости. Это происходит при истечении времени продолжительности жизни существа.
- SecurityViolation - Существо выполнило действие, нарушившее безопасность террариума.
- Sick - Существо еще не умерло. Возвращается всеми существами, живущими в террариуме, и является символом-заполнителем для представления живого состояния.
- Starved - Существо умерло от голода. Если у существа заканчивается энергия, оно считается умирающим от голода.
- Timeout - Срок существования существа полностью исчерпан, и время его жизни закончилось.
Класс - TeleportedEventArgs[]
Специальный объект, используемый для хранения аргументов, передаваемых делегату TeleportedEventHandler. В настоящее время после телепортации информация существу не передается.
Метод - TeleportedEventArgs.String ToString[]
Используется для получения строковой информации об аргументах данного события, применяемой при отладке.
Возвращаемое значение: System.String, содержащее значение '#Teleported'
Делегат - TeleportedEventHandler[]
Описание делегат, необходимого для перехвата события Teleported существа. Отправителем всегда будет собственное существо, а TeleportedEventArgs будет содержать информацию, с помощью которой можно обработать ход существа.
Это событие может быть запущено каждый раз при телепортации существа внутри террариума, либо другому сетевому партнеру. Можно использовать для определения необходимости сброса и повторной инициализации значений, относящихся к “особому миру”.
Делегат - TraceEventHandler[]
Только для использования в системе.
Интерфейсы[]
Интерфейс - ISpecies[]
В этом интерфейсе содержится вся информация, относящаяся к видам, - общая как для растений, так и животных. Разработчики существ могут получить всю информацию, воспользовавшись свойством Species объекта OrganismState.
Вся информация о видах является постоянной. Виды существ представляют основные особенности, такие как MatureSize существа, время между моментами роста и продолжительность жизни.
Метод - ISpecies.Boolean IsSameSpecies(ISpecies)[]
Используется для определения принадлежности существа с информацией Species к виду другого существа с информацией Species. Метод удобен для оценки и запоминания силы/слабости других существ.
Параметры:
- species Интерфейс ISpecies существа для сравнения с этим существом.
Возвращаемое значение: True, если информация о видах совпадает, в противном случае - False.
Свойство - ISpecies.Int32 GrowthWait { get; }[]
Количество времени во временных интервалах игры, которое существо должно выждать до вырастания в размере на одну единицу размеров. Начальное свойство GrowthWait определено таким образом, что существо достигнет максимального размера или MatureRadius по истечении половины продолжительности жизни.
С каждым временным интервалом GrowthWait будет понижаться на одну единицу. По достижении GrowthWait 0 существо будет расти при соблюдении всех требований роста. Рост происходит автоматически все время, пока соблюдаются требования роста.
Возвращаемое значение: System.Int32, представляющее число временных интервалов до того, как существо сможет расти.
Свойство - ISpecies.Int32 LifeSpan { get; }[]
Количество времени во временных интервалах, в течение которого существо может жить. Пройдя всю продолжительность жизни своего вида, существо умирает по причине PopulationChangeReason.OldAge.
Возвращаемое значение: System.Int32, представляющее число временных интервалов, в течение которого существо может жить.
Свойство - ISpecies.Int32 MatureRadius { get; }[]
Максимальные размеры (радиус), до которых может вырасти существо после достижения взрослого состояния. По достижении существом взрослого состояния оно может совершать дополнительные действия, такие, как воспроизводство, в то время как некоторые действия (например, рост) для него уже недоступны.
Возвращаемое значение: System.Int32, представляющее размеры полноценного взрослого существа.
Свойство - ISpecies.Int32 MaximumEnergyPerUnitRadius { get; }[]
Максимальное количество энергии, которую существо может сохранить для каждой единицы размеров, которых оно достигло. Это позволяет крупным существам сохранять больше энергии, чем существам небольших размеров.
Возвращаемое значение: System.Int32, представляющее максимальное количество энергии, которое существо может сохранить на единицу размеров.
Свойство - ISpecies.Int32 ReproductionWait { get; }[]
Количество времени во временных интервалах, которые существо должно выждать между процессами воспроизводства. Обычно в течение жизни существа воспроизводятся несколько раз, поэтому для определения максимального числа актов воспроизводства применяется временной предел между воспроизводством и продолжительностью жизни существа.
С каждым временным интервалом ReproductionWait будет понижаться на одну единицу. По достижении ReproductionWait нулевого значения будет удовлетворено одно из требований - свойство CanReproduce. Как только существо станет способно размножаться, необходимо вызвать BeginReproduction для начала инкубационного периода.
Возвращаемое значение: System.Int32, представляющее число временных интервалов между воспроизводством.
Свойство - ISpecies.String Skin { get; }[]
Возвращает скин, в котором существо будет отображаться в Terrarium.
Возвращаемое значение: System.String, идентифицирующее скин существа.
Интерфейс - IPlantSpecies[]
Информация о свойствах видов, применимых только к растениям (также необходимы для разработчиков). Этот класс используется для получения общей информации о возможностях того или иного вида растений.
Свойство - IPlantSpecies.PlantSkinFamilyEnum SkinFamily { get; }[]
Возвращает SkinFamily, которое растение будет использовать в Terrarium.
Возвращаемое значение: System.String, обозначающий семейство скинов для растения.
Интерфейс - IAnimalSpecies[]
Информация о свойствах видов, применимых только к животным (также необходимы для разработчиков). Этот класс используется для получения общей информации о возможностях того или иного вида животных.
Свойство - IAnimalSpecies.Int32 EatingSpeedPerUnitRadius { get; }[]
Количество пищи, которое существо может съесть за один временной интервал /на одну единицу размеров. Это означает, что крупные существа могут съесть за один временной интервал больше пищи, чем существа небольших размеров.
Возвращаемое значение: System.Int32, представляющее количество пищи, которое существо может съесть за один временной интервал/на одну единицу размеров.
Свойство - IAnimalSpecies.Int32 EyesightRadius { get; }[]
Расстояние, на которое существо может видеть. Используется для определения видимой области при вызове метода Scan.
Возвращаемое значение: System.Int32, представляющее расстояние, на которое существо может видеть.
Свойство - IAnimalSpecies.Int32 InvisibleOdds { get; }[]
Возможность того, что существо будет невидимым для другого существа, использующего метод Scan.
Возвращаемое значение: System.Int32, представляющее существу возможность стать невидимым.
Свойство - IAnimalSpecies.Boolean IsCarnivore { get; }[]
Определяет, является ли существо хищником.
Возвращаемое значение: True, если существо является хищником, в противном случае - False.
Свойство - IAnimalSpecies.Int32 MaximumAttackDamagePerUnitRadius { get; }[]
Максимальное количество повреждений, которое может нанести существо за один временной интервал/на одну единицу размеров. Означает, что нападения крупных существ могут причинить больше вреда за один временной интервал, чем нападения существ небольших размеров.
Возвращаемое значение: System.Int32, представляющее максимальные повреждения, которые можно нанести на единицу размеров.
Свойство - IAnimalSpecies.Int32 MaximumDefendDamagePerUnitRadius { get; }[]
Максимальное количество повреждений, которое может выдержать существо за один временной интервал/на одну единицу размеров. Это означает, что крупные существа за один временной интервал смогут защититься от повреждений лучше, чем существа небольших размеров.
Возвращаемое значение: System.Int32, представляющее максимальное количество повреждений, которые существо может выдержать на единицу размеров.
Свойство - IAnimalSpecies.Int32 MaximumSpeed { get; }[]
Максимальная скорость, с которой существо может перемещаться.
Возвращаемое значение: System.Int32, представляющее максимальное значение скорости, с которой существо может перемещаться.
Свойство - IAnimalSpecies.AnimalSkinFamilyEnum SkinFamily { get; }[]
Возвращает SkinFamily, которое существо будет использовать в Terrarium.
Возвращаемое значение: System.String, идентифицирующее семейство скинов существа.
Атрибуты[]
- OrganismClassAttribute - этот атрибут должен присутствовать у всех существ для определения имени класса сборки, являющегося производным из Plant или Animal, и содержащего код для функционирования существа. Этот атрибут необходим при сборке каждого существа, и при попытке представить существо без него будет сгенерирована ошибка времени загрузки.
- AuthorInformationAttribute - этот атрибут должен присутствовать у всех существ, чтобы можно было определить автора существа при участии в состязаниях. Сюда входит как имя автора, так и адрес электронной почты. Имя автора будет использоваться на страницах рейтингов и в списках лучших, а адрес электронной почты предназначен для разработчиков Terrarium для контакта с пользователями с целью раздачи призов.
- CamouflagePointsAttribute - определяет легкость обнаружения данного животного другими животными.
- CarnivoreAttribute - выбор плотоядности (true)/травоядности (false) животного.
- EyesightPointsAttribute - определяет остроту зрения данного животного.
- MarkingColor - определяет цвет (значение из перечисления System.Drawing.KnownColor), используемый для определенной окраски существа.
- MatureSize - определяет размер взрослого организма (от 25 до 48).
- MaximumEnergyPoints - пункты, примененные к атрибуту MaximumEnergyPoints, определяют, сколько энергии создаваемое животное может сохранить, т.е. определяется необходимая частота приемов животным пищи.
- MaximumSpeedPointsAttribute - определяет максимальную скорость перемещения животного.
- SeedSpreadDistanceAttribute - радиус разброса семян растения (обязателен для растений).
Исключения[]
- GameEngineException - Базовый класс для всех исключений, которые вызываются игрой для существа.
- OrganismException - Базовый класс для всех исключений, которые генерируются игрой для существ.
- AlreadyFullException - Животное употребило достаточное количество пищи, поэтому данное действие не имеет смысла.
- AlreadyReproducingException - Воспроизводство можно осуществлять только по окончании текущего процесса воспроизводства.
- ImproperFoodException - Существо произвело попытку употребить неподходящую пищу: хищники должны есть мясо, а травоядные животные - растения.
- IsDeadException - Больше не используется, но оставлен для совместимости. В дальнейшем будет удален.
- NotDeadException - В качестве еды может использоваться только мертвое животное.
- NotEnoughEnergyException - Недостаточно энергии на выполнение этого действия.
- NotHungryException - Существу необходимо быть голодным (т.е. уровень энергии – Normal или Deterioration) для выполнения этого действия.
- NotMatureException - Воспроизводиться могут только взрослые существа.
- NotReadyToReproduceException - Прошло недостаточно времени с момента последнего воспроизводства.
- NotVisibleException - Создаваемое существо произвело попытку выполнить действие в отношении другого существа, невидимого для него.
- NotWithinDistanceException - Целевое существо находится слишком далеко для выполнения требуемого действия.
- OutOfBoundsException - Была произведена попытка переместиться в позицию, выходящую за границы мира.
- TooFastException - Данный организм не может двигаться с этой скоростью.
- SizeOutOfRangeCharacteristicException - [В разработке]
- TooManyPointsException - [В разработке]
- TooManyPointsOnOneCharacteristicException - [В разработке]