2013-04-01 5 views
8

Sto cercando di utilizzare i binari del programma spaziale kerbal (ksp) per leggere in uno dei modelli di parti ksp, ho aggiunto i binari ksp e UnityEngine.dll sotto riferimenti quindi sto facendo quanto segue:Problemi durante il tentativo di utilizzare i file binari ksp/unity3d?

Planet p = new Planet(); 

l'esecuzione di questo mi dà il seguente eccezione di protezione:

metodi eCall devono essere confezionati in un modulo di sistema.

Posso bypassare o risolvere questo problema?

Edit:

ho scoperto che non è dalla DLL KSP ma da quelle untiy, usano:

[WrapperlessIcall ] 
    [MethodImpl (MethodImplOptions.InternalCall)] 
    public extern void StopAllCoroutines(); 

Ho bisogno di un modo per superare questo.

+0

I metodi ECall devono essere impacchettati in un modulo di sistema. Ciò significa che tutte le chiamate del tipo InternalCall possono essere fatte solo da mscorlib.dll e tali ma nessun assembly creato dall'utente. – Middas

+0

Come li chiama l'unità? Ho bisogno di un modo per aggirarlo. –

+0

Come stai importando la DLL ksp nel tuo progetto Unity? –

risposta

0

MethodImplOptions.InternalCall indica semplicemente che StopAllCoroutines è implementato direttamente in CLR anziché in BCL (o in un'altra libreria). Ecco MSDN.

Per quanto riguarda la revisione di Unity3D, non è possibile effettuare questa operazione, non sarà possibile ignorarlo.

Problemi correlati