mta-mono/MultiTheftAuto/Native/Element.cs

189 lines
7.5 KiB
C#
Raw Normal View History

2015-12-12 10:10:23 +00:00
using System;
using System.Runtime.CompilerServices;
namespace MultiTheftAuto.Native
{
public static class Element
{
// Element create/destroy
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern UInt32 Create( string type, string ID );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool Destroy( UInt32 userdata );
// Element get funcs
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern UInt32 GetRootElement();
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool IsElement( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern string GetType( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern string GetID( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern UInt32 Clone( UInt32 userdata, Vector3 position = null, bool cloneChildren = false );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern UInt32[] GetByType( string elementType, UInt32 startElement = 0 );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern UInt32 GetByID( string elementID, int index = 0 );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern UInt32 GetByIndex( string type, int index );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern UInt32 GetChild( UInt32 parent, int index );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern int GetChildrenCount( UInt32 parent );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern string GetData( UInt32 userdata, string key, bool inherit = true );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern Array GetAllData( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern UInt32 GetParent( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern Vector3 GetPosition( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern Vector3 GetRotation( UInt32 userdata, string order = "default" );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern Vector3 GetVelocity( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern int GetInterior( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool IsWithinColShape( UInt32 userdata, UInt32 colshape );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool IsWithinMarker( UInt32 userdata, UInt32 marker );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern int GetDimension( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern string GetZoneName( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool IsAttached( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern UInt32 GetAttachedTo( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern UInt32 GetColShape( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern int GetAlpha( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool IsDoubleSided( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern float GetHealth( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern int GetModel( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool IsInWater( UInt32 userdata );
// [MethodImpl( MethodImplOptions.InternalCall )]
// public static extern bool GetElementAttachedOffsets( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern UInt32 GetSyncer( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool GetCollisionsEnabled( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool IsFrozen( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern UInt32 GetLowLODElement( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool IsElementLowLOD( UInt32 userdata );
// Element set funcs
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool ClearElementVisibleTo( UInt32 userdata );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetID( UInt32 userdata, string ID );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetData( UInt32 userdata, string key, string value, bool sync = true );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool RemoveData( UInt32 userdata, string key );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetParent( UInt32 userdata, UInt32 parent );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetPosition( UInt32 userdata, Vector3 position, bool warp = true );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetRotation( UInt32 userdata, Vector3 rotation, string order = "default", bool pedRotation = false );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetVelocity( UInt32 userdata, Vector3 velocity );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetVisibleTo( UInt32 userdata, UInt32 target, bool visible );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetInterior( UInt32 userdata, int interior, Vector3 position = null );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetDimension( UInt32 userdata, int dimension );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool Attach( UInt32 userdata, UInt32 target, Vector3 offsetPosition = null, Vector3 offsetRotation = null );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool Detach( UInt32 userdata, UInt32 target = 0 );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetAlpha( UInt32 userdata, int alpha );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetDoubleSided( UInt32 userdata, bool doubleSided );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetHealth( UInt32 userdata, float health );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetModel( UInt32 userdata, int model );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetAttachedOffsets( UInt32 userdata, Vector3 offsetPosition = null, Vector3 offsetRotation = null );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetSyncer( UInt32 userdata, UInt32 player );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetCollisionsEnabled( UInt32 userdata, bool enabled );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetFrozen( UInt32 userdata, bool frozen );
[MethodImpl( MethodImplOptions.InternalCall )]
public static extern bool SetLowLODElement( UInt32 userdata, UInt32 lowLod );
}
}