Использование структур в ДЛЛках

Программирование на Юнити.

Использование структур в ДЛЛках

Сообщение viktor_kot 31 янв 2012, 09:06

Всем здравствуйте. Помогите мастера.
Ситуация следующая:
обращаюсь к внешней ддлки sixense (драйвер устройства razer hydra)

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

в описании SDK нашел описание структуры данных

typedef struct _sixenseControllerData {
float pos[3];
float rot_mat[3][3];
unsigned char joystick_x;
unsigned char joystick_y;
unsigned char trigger;
unsigned int buttons;
unsigned char sequence_number;
float rot_quat[4];
unsigned short firmware_revision;
unsigned short hardware_revision;
unsigned short packet_type;
unsigned short magnetic_frequency;
int enabled;
int controller_index;
unsigned char is_docked;
unsigned char which_hand;
} sixenseControllerData;


в скрипте описываю следующую структуру
Синтаксис:
Используется csharp
    public struct _sixenseControllerData{
        float[] pos;
        float[][] rot_mat;
        char joystick_x;
        char joystick_y;
        char trigger;
        int buttons;
        char sequence_number;
        float[] rot_quat;
        short firmware_revision;
        short hardware_revision;
        short packet_type;
        short magnetic_frequency;
        int enabled;
        int controller_index;
        char is_docked;
        char which_hand;    
    } ;
 


в итоге юнити вылетает, когда обращаюсь к данным через ддлку
есть подозрение что это происходит из-за того что в хелпе указан фиксированный массив float pos[3];
у меня же в скрипте float[] pos;
фикс кол-во в массиве прописать в скрипте не могу - выдает ошибку, ругается на синтаксис

ПОМОГИТЕ, ПОДСКАЖИТЕ КАК БЫТЬ
Аватара пользователя
viktor_kot
UNIт
 
Сообщения: 132
Зарегистрирован: 26 июл 2011, 11:00

Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9