2015-02-07 2 views
-1
  • мне нужно, чтобы иметь возможность разыменования указателя ничтожного для целей системы типа телеграммы для использования в моей игре я буду разработки. Причина для указателя void заключается в том, что мне нужен способ передать определенный пользователем тип или системный тип, который является дополнительными данными (любой тип данных, поэтому мне не нужно создавать несколько функций) в функцию, которая отправляет сообщение другим компонентам в моей игре.Стараясь быть в состоянии разыменования недействительного указателя на пользователе определенного типа в стороне от типа системы

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

  • Поскольку моя игра карточная игра, я дам несколько примеров, почему я пытаюсь сделать это:

  • Example1: карта играется, которая должна иметь дело 2 урона выбранного, так он отправил бы цель с помощью TakeDamage (тип сообщения enum) и значение 2.

  • Пример2: Играется карта, которая дает своей цели новую способность, поэтому она будет сообщать цель с помощью AddAbility (тип сообщения перечисления) и способность добавлять (который будет классом, содержащим способность реагировать, а что нет).

  • Также спросить, есть ли другой способ сделать это без использования указателя void, если я не могу сделать это с указателем на пустоту?

+0

Как вы можете разыменовать указатель на пустоту? Сколько байтов является «пустотой»? –

+0

Из того, что я прочитал, вы можете разыменовать указатель void, отбросив его на указатель системного типа, а затем разыщите его. Пример - указатель на пустоту. Вы бы указали указатель void на двойной указатель, затем используйте оператор разыменования и получите значение. –

+0

Если вы читали о указателях void, то вы действительно не читаете о C#. Как насчет передачи объекта? Что вы планируете _do_ с указателем, как только вы его разыграли? –

ответ

0

ОК. После прочтения объекта и выполнения небольшой тестовой программы с использованием моей системы обмена сообщениями я могу использовать объект вместо указателя void. Когда я задал этот вопрос, я не знал об объекте (новичок в C#).