Virtual Laboratory Wiki

Класс - Animal (Животное)[]

Это исходный класс для производных при создании животного.

События[]

  • MoveCompletedEventHandler MoveCompleted - The MoveCompleted event is fired whenever your creature has completed a movement operation. This can either mean the creature reached the destination or that the creature was blocked and can't move anymore.
  • AttackCompletedEventHandler AttackCompleted - The AttackCompleted event is fired whenever your creature has completed an attack operation. Your creature should hook this event to learn the results of the battle such as how much damage was inflicted and whether the target creature was killed.
  • EatCompletedEventHandler EatCompleted - Fired when an EatAction is completed.
  • IdleEventHandler Idle - Fired after all other events have been fired.
  • LoadEventHandler Load - Fired before all other events have been fired.
  • TeleportedEventHandler Teleported - Fired after an organism has been teleported.
  • ReproduceCompletedEventHandler ReproduceCompleted - Fired on the parent when a ReproduceAction is completed.
  • BornEventHandler Born - Fired on an organism when it is first born.
  • DefendCompletedEventHandler DefendCompleted - Fired when a DefendAction is completed.
  • AttackedEventHandler Attacked - Fired when an organism is being attacked by another organism.

Метод - Animal.Void BeginAttacking(AnimalState)[]

Метод, используемый для передачи существу команды нападения на другое существо. За один раунд можно напасть только на одно существо, и один вызов BeginAttacking инициирует нападение на целевое существо в следующем временном интервале. Вызов BeginAttacking несколько раз в рамках одного хода приведет к нападению создаваемого существа на цель, указанную в последнем вызове BeginAttacking.

Процесс нападения является асинхронным, поэтому потребуется обработать событие AttackCompleted для перехода в состояние нападения. Целевое существо может не погибнуть при единичном нападении, поэтому потребуется определить, живо ли оно, и вызывать BeginAttacking один раз за раунд до тех пор, пока целевое существо не погибнет или не убежит.

Параметры:

  • targetAnimal Объект AnimalState, представляющий существо, на которое данное существо должно напасть.

Исключения:

  • System.ArgumentNullException Генерируется, если параметр targetAnimal является нулевым.
  • NotHungryException Генерируется, если существо не достаточно голодно для нападения.

Метод - Animal.Void BeginDefending(AnimalState)[]

Метод, используемый для передачи существу команды защиты от нападения другого существа. Защищаться можно только от одного существа, поэтому помочь данному существу сможет только последний вызов BeginDefending в следующем ходе.

Как только существо закончило выполнение действий по защите от нападения, будет запущено событие DefendCompleted, и при наличии обработчика событий он будет вызван. Это событие можно использовать для определения результатов защиты.

Параметры:

  • targetAnimal AnimalState, представляющее животное, от которого необходимо защищаться.

Исключения:

  • System.ArgumentNullException Генерируется, если параметр targetAnimal является нулевым.


Метод - Animal.Void BeginEating(OrganismState)[]

Метод, используемый для передачи существу команды начала поедания другого существа. За один раунд можно съесть только одно существо, и единичный вызов BeginEating инициирует нападение на целевое существо в следующем временном интервале. Вызов BeginEating несколько раз в рамках одного хода приведет к поеданию данным существом цели, указанной в последнем вызове BeginEating.

Процесс поедания является асинхронным, поэтому потребуется обработать событие EatCompleted для перехода в состояние кусания. Количества пищи, получаемого за один укус, может быть недостаточно для получения необходимого количества энергии, поэтому для полного съедения противника может потребоваться несколько укусов.

Параметры:

  • targetOrganism OrganismState существа, которое требуется съесть.

Исключения:

  • System.ArgumentNullException Генерируется, если параметр targetOrganism является нулевым.
  • AlreadyFullException Генерируется, если существо не достаточно голодно для того, чтобы питаться.
  • NotVisibleException Генерируется, если существо исчезает из поля зрения данного существа.
  • NotWithinDistanceException Генерируется, если данное существо находится за пределами расстояния, с которого поедание становится возможным.
  • ImproperFoodException Генерируется, если хищник производит попытку питаться растениями, а травоядное животное – хищниками.
  • NotDeadException Генерируется, если хищник производит попытку съесть еще живое существо.

Метод - Animal.Void BeginMoving(MovementVector)[]

Метод, используемый для передачи существу команды перемещения в определенное место с определенной скоростью. Фактическая операция перемещения может занять несколько ходов, но она всегда инициируется при помощи этого метода. Место, к которому осуществляется перемещение, должно располагаться в рамках границ мира, а скорость перемещения не должна превышать Species.MaximumSpeed существа.

После вызова существо начнет двигаться к указанной точке. Это перемещение будет продолжаться до тех пор, пока существу не будет дана другая команда BeginMoving, оно достигнет места назначения или чем-либо блокируется. Все вызовы BeginMoving отменяют предыдущие вызовы, поэтому нужно быть осторожным при задании перемещений по нескольким направлениям.

По завершении перемещения будет запущено событие MoveCompleted, и при наличии соответствующего обработчика событий он будет вызван. Обработчик событий предоставит полную информацию о результатах предпринятой операции перемещения.

Параметры:

  • вектор - MovementVector определяет точку, к которой движется существо, а также скорость его перемещения.


Исключения:

  • System.ArgumentNullException Генерируется, если параметр вектора является нулевым.
  • OutOfBoundsException Генерируется, если указанное место перемещения находится за пределами границ мира.
  • TooFastException Генерируется, если скорость, определенная в векторе, превышает Species.MaximumSpeed.

Метод - Animal.Boolean CanAttack(AnimalState)[]

Используется для определения способности данного существа напасть на другое существо. Для хищников постоянно возвращается True, поскольку они всегда нападают. Хищниками этот метод вызываться не должен.

Для травоядных возвращается значение True только в случае, если они достаточно голодны, чтобы быть агрессивными. Травоядные могут напасть на существо в следующем раунде, если это существо нападало на них в предыдущем раунде. Лучшим способом для нападения на существо, нападающее на данное существо, является обработка события Attacked.

Параметры:

  • targetAnimal AnimalState для существа, на которое необходимо напасть.

Возвращаемое значение: True, если создаваемое существо может напасть на целевое существо, в противном случае - False.

Исключения:

  • System.ArgumentNullException Генерируется, если параметр targetAnimal является нулевым.


Метод - Animal.Void DeserializeAnimal(MemoryStream)[]

Любой класс, наследующийся из Animal, должен пропускать этот метод. Этот метод вызывается с MemoryStream, с которого пользователь может читать любые данные, записанные во время вызова SerializeAnimal.

При считывании с MemoryStream необходимо соблюдать осторожность, поскольку значения могут быть усечены до 8000 байт, если было записано более 8000 байт.

Параметры:

  • m MemoryStream, используемый существом для десериализации данных.

Метод - Animal.Boolean IsMySpecies(OrganismState)[]

Позволяет существу определить, представляет ли OrganismState другого существа тот же вид. Может использоваться для определения необходимости нападения/защиты.

Обычно существа одного вида не нападают друг на друга, не защищаются друг от друга и не убивают друг друга. Часто они помогают представителям своего вида защищаться или нападать на существа других видов. Когда хищники одного вида стареют, они могут пожертвовать собой и стать пищей для представителей своего вида.

Параметры:

  • targetState OrganismState для существа, используемого при сравнении видов.

Возвращаемое значение: True, если существо, обладающее состоянием объекта, принадлежит к тому же виду, в противном случае - False.

Исключения:

  • System.ArgumentNullException Генерируется, если параметр targetState является нулевым.

Метод - Animal.OrganismState LookFor(OrganismState)[]

Производит попытку возвратить обновленный OrganismState, присвоенный состоянию OrganismState существа. Эта функция может возвратить Null, если существо не обнаружено или замаскировалось. Этот метод можно вызывать несколько раз, и результаты будут различные.

Параметры:

  • organismState Устаревший объект OrganismState, который необходимо обновить.

Возвращаемое значение: OrganismState, представляющий искомое существо, либо Null, если существо не обнаружено.

Исключения:

  • System.ArgumentNullException Генерируется, если параметр organismState является нулевым.

Метод - Animal.OrganismState RefreshState(String)[]

Производит попытку возвратить обновленный OrganismState, присвоенный ID существа. Эта функция может возвратить Null, если существо не обнаружено или замаскировалось. Этот метод можно вызывать несколько раз, как метод LookFor, и результаты будут различные.

Параметры:

  • organismID GUID, представляющий определенное существо в системе.

Возвращаемое значение: OrganismState, представляющий искомое существо, либо Null, если существо не обнаружено.

Исключения:

  • System.ArgumentNullException Генерируется, если параметр organismID является нулевым.

Метод - Animal.ArrayList Scan[]

Просматривает окружающую среду из текущего местоположения данного существа и возвращает ArrayList объектов OrganismState с представлением увиденного.

Радиус области, просматриваемой существом, зависит от количества пунктов, размещенных в атрибуте EyesightPoints. При маскировке животные могут скрываться, оставаясь при этом в пределах видимости. Это означает, что большее число пунктов, размещенных в атрибуте EyesightPoints, позволит увидеть замаскированных существ.

Из-за маскировки и случайного соотношения скрывания и возможности быть увиденным другим существом многократные вызовы метода Scan могут возвращать различные результаты. Однако каждый вызов метода Scan отнимает время от полного срока существования существа.

Вместо вызова метода Scan рекомендуется придерживаться объектов OrganismState, определить целевое существо, после чего применить метод LookFor для обновления состояния. Метод LookFor также учитывает маскировку и может в первый раз не сработать, но в плане времени он гораздо более экономичен, нежели метод Scan.

Возвращаемое значение: System.Collections.ArrayList объектов OrganismState, которые может видеть существо.

Метод - Animal.Void SerializeAnimal(MemoryStream)[]

Любой класс, наследующийся из Animal, должен пропускать этот метод. Этот метод вызывается с MemoryStream, где пользователь может разместить любые данные, которые необходимо сериализовать, во время сохранения игры или телепортации.

Этот метод дополнен методом DeserializeAnimal, вызываемым для десериализации данных при восстановлении существа. Авторам необходимо соблюдать осторожность при записи в MemoryStream, поскольку запись будет усечена до 8000 байт.

Параметры:

  • m MemoryStream, используемый существом для сериализации данных.


Метод - Animal.Void StopMoving[]

Удаляет любые незаконченные операции перемещения, выполняемые существом.

Метод - Animal.Boolean WithinAttackingRange(AnimalState)[]

Используется для определения того, что существо находится на допустимом расстоянии для нападения на другое существо.

Этот метод не производит попытки подтвердить положение organismState с учетом текущего состояния окружающего мира. При передаче устаревшего объекта можно получить устаревшие результаты. Убедитесь, что для получения самых последних результатов используется метод LookFor.

Параметры:

  • targetOrganism OrganismState существа, на которое планируется нападение.

Возвращаемое значение: True, если существо находится на допустимом расстоянии для нападения, в противном случае - False.

Исключения:

  • System.ArgumentNullException Генерируется, если параметр targetOrganims является нулевым.

Метод - Animal.Boolean WithinEatingRange(OrganismState)[]

Используется для определения того, что существо находится на допустимом расстоянии для поедания другого существа.

Этот метод не производит попытки подтвердить положение organismState с учетом текущего состояния окружающего мира. При передаче устаревшего объекта можно получить устаревшие результаты. Убедитесь, что для получения самых последних результатов используется метод LookFor.

Параметры:

  • targetOrganism OrganismState существа, которое планируется съесть.

Возвращаемое значение: True, если существо находится на допустимом расстоянии для поедания, в противном случае - False.

Исключения:

  • System.ArgumentNullException Генерируется, если параметр targetOrganim является нулевым.

Свойство - Animal.AntennaState Antennas { get; set; }[]

Обеспечивает доступ к усам существ. Для усов имеется определенный набор точек, определяющих положение, в котором они могут находиться. Определение состояний таким образом становится возможным при передаче числовых данных.

Возвращаемое значение: AntennaState существа для инициализации связи.

Свойство - Animal.Boolean CanEat { get; }[]

Используется для определения способности существа питаться в зависимости от количества его энергии. Из BeginEating также можно перехватить AlreadyFullException

Возвращаемое значение: True, если существо достаточно голодно, чтобы питаться, в противном случае - False.


Свойство - Animal.AttackAction CurrentAttackAction { get; }[]

После того, как существо начало выполнение действий по нападению, можно получить доступ к объекту AttackAction, представляющему текущее действие по нападению. Его можно использовать для наблюдения за существом, на которое осуществляется нападение, а также для определения более подходящего противника.

Возвращаемое значение: Объект AttackAction, представляющий текущее действие по нападению, и значения, передаваемые в BeginAttacking.


Свойство - Animal.DefendAction CurrentDefendAction { get; }[]

После того, как существо начало выполнение действий по защите, можно получить доступ к объекту DefendAction, представляющему текущее действие по защите. Его можно использовать для наблюдения за существом, от которого требуется защититься, а также для определения более подходящего противника.

Возвращаемое значение: Объект DefendAction, представляющий текущее действие по защите, и значения, передаваемые в BeginDefending.


Свойство - Animal.EatAction CurrentEatAction { get; }[]

После того, как существо начало выполнение действий по поеданию, можно получить доступ к объекту EatAction, представляющему текущее действие по поеданию. Его можно использовать для наблюдения за съедаемым существом, а также для определения наличия более подходящей еды.

Возвращаемое значение: Объект EatAction, представляющий текущее действие по поеданию, и значения, передаваемые в BeginEating.


Свойство - Animal.MoveToAction CurrentMoveToAction { get; }[]

После того, как существо начало выполнение действий по перемещению, можно получить доступ к объекту MoveToAction, представляющему текущее действие по перемещению. Его можно использовать для наблюдения за местом, к которому осуществляется перемещение, и скоростью перемещения существа, а также для определения возможной необходимости смены направления движения.

Возвращаемое значение: Объект MoveToAction, представляющий текущее действие по перемещению, и значения, передаваемые в BeginMoving.

Свойство - Animal.Boolean IsAttacking { get; }[]

Используется для определения того, была ли передана существу команда нападения. Также можно проверить свойство CurrentAttackAction для просмотра существа, на которое происходит нападение. Поскольку процесс нападения является асинхронным, данное существо не будет нападать до следующего временного интервала.

Возвращаемое значение: True, если существо будет нападать в следующем временном интервале, в противном случае - False.

Свойство - Animal.Boolean IsDefending { get; }[]

Используется для определения того, была ли передана существу команда защиты. Также можно проверить свойство CurrentDefendAction для просмотра существа, от которого требуется защищаться. Поскольку процесс защиты является асинхронным, данное существо не будет защищаться до следующего временного интервала.

Возвращаемое значение: True, если существо будет защищаться в следующем временном интервале, в противном случае - False.


Свойство - Animal.Boolean IsEating { get; }[]

Используется для определения того, была ли передана существу команда поедания. Также можно проверить свойство CurrentEatAction для получения информации о фактическом существа, которое съедается. Поскольку процесс поедания является асинхронным, данное существо не будет питаться до следующего временного интервала.

Возвращаемое значение: True, если существо будет питаться в следующем временном интервале, в противном случае - False.

Свойство - Animal.Boolean IsMoving { get; }[]

Используется для определения того, была ли передана существу команда перемещения. Также можно проверить свойство CurrentMoveToAction для получения фактического вектора перемещения данного существа. Поскольку процесс перемещения является асинхронным, данное существо могло не начать перемещение.

Возвращаемое значение: True, если существо перемещается или будет перемещаться, в противном случае - False.

Свойство - Animal.IAnimalSpecies Species { get; }[]

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

Возвращаемое значение: IAnimalSpecies, представляющее постоянные характеристики существа.

Свойство - Animal.AnimalState State { get; }[]

Текущее состояние собственного существа. Используется для получения последней информации о состоянии здоровья существа, полученных повреждениях и других статистических данных, доступных в объекте AnimalState.

Возвращаемое значение: AnimalState, представляющее самое последнее состояние существа.

Свойство - Animal.Int32 WorldHeight { get; }[]

Высота мира по отдельным точкам/пикселам. Эти значения используются для того, чтобы не выйти за границы террариума, а также для контролирования размера/плотности популяции существа.

Возвращаемое значение: System.Int32, представляющее высоту террариума в точках/пикселах.

Свойство - Animal.Int32 WorldWidth { get; }[]

Ширина мира по отдельным точкам/пикселам. Эти значения используются для того, чтобы не выйти за границы террариума, а также для контролирования размера/плотности популяции существа.

Возвращаемое значение: System.Int32, представляющее ширину террариума в точках/пикселах.

Связанные классы[]

Класс - AnimalState[]

Представляет состояние существа в течение определенного временного интервала. В этом классе представлена информация о видах существа, количестве полученных повреждений и требования к методам расчета энергии.

Дополнительную информацию см. в описании класса OrganismState, где представлена общая информация для состояний Plant/Animal.


Метод - AnimalState.Double EnergyRequiredToMove(Double, Int32)[]

Представляет метод для определения затрат энергии существа при выполнении того или иного действия по перемещению. Чем медленнее существо перемещается, тем меньше энергии затрачивается на преодоление определенного расстояния. С учетом этого можно задать оптимальное соотношение скорости перемещения к определенному месту и затрат времени и энергии.

Параметры: расстояние Расстояние, которое требуется преодолеть. скорость Скорость, с которой существо будет перемещаться.

Возвращаемое значение: System.Double, представляющее количество энергии, требуемое для выполнения действий по перемещению.

Свойство - AnimalState.IAnimalSpecies AnimalSpecies { get; }[]

Предоставляет информацию о видах существ через интерфейс IAnimalSpecies. Используется для определения статистики для расчета степени угрозы/количества пищи.

Возвращаемое значение: IAnimalSpecies, указывающее виды данного существа, представленные этим состоянием.


Свойство - AnimalState.AntennaState Antennas { get; set; }[]

Обеспечивает доступ к версии полученной с помощью усов информации только для чтения. Для усов имеется определенный набор точек, определяющих положение, в котором они могут находиться. Определение состояний таким образом становится возможным при передаче числовых данных.

Это свойство используется для просмотра состояния усов других существ. При необходимости задания состояний усов собственного существа воспользуйтесь свойством Antennas базового класса Animal.

Возвращаемое значение: AntennaState существа для инициализации связи.

Свойство - AnimalState.Int32 Damage { get; }[]

Представляет абсолютное количество повреждений, полученных существом. Обычно для определения степени повреждений существа больше подходит PercentInjured, однако это абсолютное значение можно использовать для разных типов расчетов.

В некоторые полезные приложения входит исследование повреждений, полученных во время каждого временного интервала, с определением НАИБОЛЕЕ высокого уровня повреждений, а не самого высокого процента повреждений. Определение способности существа выдержать удар от другого существа и остаться при этом живым. Определение статистического шанса существа на победу в схватке с обновлением показателей такого шанса в каждом раунде. Все это можно сделать при помощи свойства Damage, а не свойства PercentInjured.

Возвращаемое значение: System.Int32, представляющее полное значение полученных повреждений.

Свойство - AnimalState.Double PercentInjured { get; }[]

Представление процентов полученных повреждений относительно общего значения допустимых повреждений, после которых существо гибнет. Это удобно для расчета того, какое существо представляет наиболее доступную цель из-за своей слабости.

Возвращаемое значение: System.Double десятичный процент от общего числа повреждений. 0 обозначает наилучшее состояние здоровья, 1 - смерть.

Свойство - AnimalState.Int32 RotTicks { get; }[]

Представление числа временных интервалов, во время которых разлагается тело того или иного существа. Это удобно для определения возможности использования тела в качестве еды (если времени на разложение требуется достаточно много).

При нормальных обстоятельствах тело существует в течение 100 временных интервалов. Однако это время может сократиться при слишком высокой нагрузке, а большое количество существ умирает от болезней.

Возвращаемое значение: System.Int32, представляющее число временных интервалов, во время которых существо было мертвым.

Атрибут - AnimalSkin[]

Определение скина, используемой для отображения существа на экране.

Перечисление (enum) - AnimalSkinFamily[]

Используется атрибутом AnimalSkin. Подобно "семейству шрифтов" в среде Windows, это перечень содержит семейство скинов, используемых при отображении существа, пользовательский скин которого загрузить невозможно.

Значения:

  • Ant - Скин Ant (муравья) используется в том случае, если пользовательский скин загрузить невозможно.
  • Beetle - Скин Beetle (жука) используется в том случае, если пользовательский скин загрузить невозможно.
  • Inchworm - Скин Inchworm (червя) используется в том случае, если пользовательский скин загрузить невозможно.
  • Scorpion - Скин Scorpion (скорпиона) используется в том случае, если пользовательский скин загрузить невозможно.
  • Spider - Скин Spider (паука) используется в том случае, если пользовательский скин загрузить невозможно.

Класс - AntennaState[]

Обеспечение доступа к усам существа. Каждое существо имеет две уса, каждый из которых может находиться в 10 разных положениях. Это обеспечивает множество состояний, которые могут использоваться для связи с другими существами того же вида или с существами других видов.

По умолчанию оба уса установлены в положение AntennaPosition.Left. Помимо установки состояния каждого отдельно взятого уса. Можно также использовать свойство AntennaValue для задания значений от 0 до 99. Это предназначено для упрощения работы, поскольку большинство разработчиков будет использовать эту структуру для передачи данных (возможно, данных ячеек), а не простых флажков или состояний.

Свойство - AntennaState.Int32 AntennaValue { get; set; }[]

Используется для получения числовых данных от 0 до 99, представляющих AntennaPosition как LeftAntenna, так и RightAntenna. Можно задать положение каждого из усов вводом нового значения от 0 до 99, если AntennaState не установлено как постоянное. По умолчанию AntennaState, расположенное в классе Animal, никогда не помечается как постоянное, а AntennaState класса AnimalState всегда является постоянным.

Можно задать значения каждого из усов отдельно, не используя это специальное значение, представляющее каждый их усов в числовой форме.

Возвращаемое значение: AntennaPosition, представляющее местоположение LeftAntenna

Свойство - AntennaState.AntennaPosition LeftAntenna { get; set; }[]

Используется для занятия положения LeftAntenna. Можно задать положение LeftAntenna, если AntennaState не отмечено как постоянное. По умолчанию AntennaState, расположенное в классе Animal, никогда не помечается как постоянное, а AntennaState класса AnimalState всегда является постоянным.

Можно использовать свойство AntennaValue при попытке передачи простых чисел или при организации конечного механизма, имеющего более 10 особых состояний.

Возвращаемое значение: AntennaPosition, представляющее местоположение LeftAntenna

Свойство - AntennaState.AntennaPosition RightAntenna { get; set; }[]

Используется для занятия положения RightAntenna. Можно задать положение RightAntenna, если AntennaState не отмечено как постоянное. По умолчанию AntennaState, расположенное в классе Animal, никогда не помечается как постоянное, а AntennaState класса AnimalState всегда является постоянным.

Можно использовать свойство AntennaValue при попытке передачи простых чисел или при организации конечного механизма, имеющего более 10 особых состояний.

Возвращаемое значение: AntennaPosition, представляющее местоположение LeftAntenna

Перечисление - AntennaPosition[]

Представляет различные позиции, в которых могут находиться LeftAntenna и RightAntenna. Значения вне допустимого диапазона не учитываются, а значением по умолчанию всегда является AntennaPosition.Left.


Значения:

  • Backward - Усы будут направлены назад; это указывается путем установки значения 9 при использовании свойства AntennaValue в AntennaState.
  • Bottom - Усы будут направлены вниз; это указывается путем установки значения 3 при использовании свойства AntennaValue в AntennaState.
  • BottomLeft - Усы будут направлены вниз влево; это указывается путем установки значения 6 при использовании свойства AntennaValue в AntennaState.
  • BottomRight - Усы будут направлены вниз вправо; это указывается путем установки значения 7 при использовании свойства AntennaValue в AntennaState.
  • Forward - Усы будут направлены вперед; это указывается путем установки значения 8 при использовании свойства AntennaValue в AntennaState.
  • Left - Усы будут направлены влево; это указывается путем установки значения 0 при использовании свойства AntennaValue в AntennaState.
  • Right - Усы будут направлены вправо; это указывается путем установки значения 1 при использовании свойства AntennaValue в AntennaState.
  • Top - Усы будут направлены вверх; это указывается путем установки значения 2 при использовании свойства AntennaValue в AntennaState.
  • UpperLeft - Усы будут направлены вверх влево; это указывается путем установки значения 4 при использовании свойства AntennaValue в AntennaState.
  • UpperRight - Усы будут направлены вверх вправо; это указывается путем установки значения 5 при использовании свойства AntennaValue в AntennaState.

Класс - BornEventArgs[]

Специальный объект, используемый для хранения аргументов, передаваемых делегату BornEventHandler. В настоящее время доступен только byte[], содержащий специальные значения инициализации для только что рожденного существа.

Метод - BornEventArgs.String ToString[]

Используется для получения строковой информации об этом событии в целях отладки.

Возвращаемое значение: System.String, содержащее значение '#Born'

Свойство - BornEventArgs.Byte[] Dna { get; }[]

Метод для получения детенышем ДНК родителей в форме byte[]. Это свойство может быть нулевым, если родитель не захочет передавать свою ДНК детенышу.

Возвращаемое значение: System.Byte[] специальных данных, которые может использовать детеныш.

Делегат - BornEventHandler[]

Описание делегата, необходимого для перехвата события Born существа. Отправителем всегда будет собственное существо, а BornEventArgs будет содержать информацию, с помощью которой можно обработать ход существа.

Это событие может быть запущено для данного существа только один раз при его рождении, и в этом случае BornEventArgs может либо иметь какую-либо родительскую ДНК, либо не иметь, если существа создавались игровым механизмом во время их ввода.

См. также[]