---@meta

--
--AndroidJavaRunnable is the Unity representation of a java.lang.Runnable object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@class UnityEngine.AndroidJavaRunnable: System.MulticastDelegate
---@source UnityEngine.AndroidJNIModule.dll
CS.UnityEngine.AndroidJavaRunnable = {}

---@source UnityEngine.AndroidJNIModule.dll
function CS.UnityEngine.AndroidJavaRunnable.Invoke() end

---@source UnityEngine.AndroidJNIModule.dll
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.AndroidJavaRunnable.BeginInvoke(callback, object) end

---@source UnityEngine.AndroidJNIModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.AndroidJavaRunnable.EndInvoke(result) end


---@source UnityEngine.AndroidJNIModule.dll
---@class UnityEngine.AndroidJavaException: System.Exception
---@source UnityEngine.AndroidJNIModule.dll
---@field StackTrace string
---@source UnityEngine.AndroidJNIModule.dll
CS.UnityEngine.AndroidJavaException = {}


--
--This class can be used to implement any java interface. Any java vm method invocation matching the interface on the proxy object will automatically be passed to the c# implementation.
--
---@source UnityEngine.AndroidJNIModule.dll
---@class UnityEngine.AndroidJavaProxy: object
--
--Java interface implemented by the proxy.
--
---@source UnityEngine.AndroidJNIModule.dll
---@field javaInterface UnityEngine.AndroidJavaClass
---@source UnityEngine.AndroidJNIModule.dll
CS.UnityEngine.AndroidJavaProxy = {}

--
--Called by the java vm whenever a method is invoked on the java proxy interface. You can override this to run special code on method invokation, or you can leave the implementation as is, and leave the default behavior which is to look for c# methods matching the signature of the java method.
--
--```plaintext
--Params: methodName - Name of the invoked java method.
--        args - Arguments passed from the java vm - converted into AndroidJavaObject, AndroidJavaClass or a primitive.
--        javaArgs - Arguments passed from the java vm - all objects are represented by AndroidJavaObject, int for instance is represented by a java.lang.Integer object.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param methodName string
---@param args object[]
---@return AndroidJavaObject
function CS.UnityEngine.AndroidJavaProxy.Invoke(methodName, args) end

--
--Called by the java vm whenever a method is invoked on the java proxy interface. You can override this to run special code on method invokation, or you can leave the implementation as is, and leave the default behavior which is to look for c# methods matching the signature of the java method.
--
--```plaintext
--Params: methodName - Name of the invoked java method.
--        args - Arguments passed from the java vm - converted into AndroidJavaObject, AndroidJavaClass or a primitive.
--        javaArgs - Arguments passed from the java vm - all objects are represented by AndroidJavaObject, int for instance is represented by a java.lang.Integer object.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param methodName string
---@param javaArgs UnityEngine.AndroidJavaObject[]
---@return AndroidJavaObject
function CS.UnityEngine.AndroidJavaProxy.Invoke(methodName, javaArgs) end

--
--Returns true when the objects are equal and false if otherwise.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj UnityEngine.AndroidJavaObject
---@return Boolean
function CS.UnityEngine.AndroidJavaProxy.equals(obj) end

--
--Returns the hash code of the java proxy object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@return Int32
function CS.UnityEngine.AndroidJavaProxy.hashCode() end

--
--Returns C# class name + " <c# proxy java object>".
--
---@source UnityEngine.AndroidJNIModule.dll
---@return String
function CS.UnityEngine.AndroidJavaProxy.toString() end


--
--AndroidJavaObject is the Unity representation of a generic instance of java.lang.Object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@class UnityEngine.AndroidJavaObject: object
---@source UnityEngine.AndroidJNIModule.dll
CS.UnityEngine.AndroidJavaObject = {}

--
--IDisposable callback.
--
---@source UnityEngine.AndroidJNIModule.dll
function CS.UnityEngine.AndroidJavaObject.Dispose() end

---@source UnityEngine.AndroidJNIModule.dll
---@param methodName string
---@param args T[]
function CS.UnityEngine.AndroidJavaObject.Call(methodName, args) end

--
--Call a Java method on an object.
--
--```plaintext
--Params: methodName - Specifies which method to call.
--        args - An array of parameters passed to the method.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param methodName string
---@param args object[]
function CS.UnityEngine.AndroidJavaObject.Call(methodName, args) end

---@source UnityEngine.AndroidJNIModule.dll
---@param methodName string
---@param args T[]
function CS.UnityEngine.AndroidJavaObject.CallStatic(methodName, args) end

--
--Call a static Java method on a class.
--
--```plaintext
--Params: methodName - Specifies which method to call.
--        args - An array of parameters passed to the method.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param methodName string
---@param args object[]
function CS.UnityEngine.AndroidJavaObject.CallStatic(methodName, args) end

---@source UnityEngine.AndroidJNIModule.dll
---@param fieldName string
---@return FieldType
function CS.UnityEngine.AndroidJavaObject.Get(fieldName) end

---@source UnityEngine.AndroidJNIModule.dll
---@param fieldName string
---@param val FieldType
function CS.UnityEngine.AndroidJavaObject.Set(fieldName, val) end

---@source UnityEngine.AndroidJNIModule.dll
---@param fieldName string
---@return FieldType
function CS.UnityEngine.AndroidJavaObject.GetStatic(fieldName) end

---@source UnityEngine.AndroidJNIModule.dll
---@param fieldName string
---@param val FieldType
function CS.UnityEngine.AndroidJavaObject.SetStatic(fieldName, val) end

--
--Retrieves the raw <tt>jobject</tt> pointer to the Java object.
--
--Note: Using raw JNI functions requires advanced knowledge of the Android Java Native Interface (JNI). Please take note.
--
---@source UnityEngine.AndroidJNIModule.dll
---@return IntPtr
function CS.UnityEngine.AndroidJavaObject.GetRawObject() end

--
--Retrieves the raw <tt>jclass</tt> pointer to the Java class.
--
--Note: Using raw JNI functions requires advanced knowledge of the Android Java Native Interface (JNI). Please take note.
--
---@source UnityEngine.AndroidJNIModule.dll
---@return IntPtr
function CS.UnityEngine.AndroidJavaObject.GetRawClass() end

---@source UnityEngine.AndroidJNIModule.dll
---@param methodName string
---@param args T[]
---@return ReturnType
function CS.UnityEngine.AndroidJavaObject.Call(methodName, args) end

---@source UnityEngine.AndroidJNIModule.dll
---@param methodName string
---@param args object[]
---@return ReturnType
function CS.UnityEngine.AndroidJavaObject.Call(methodName, args) end

---@source UnityEngine.AndroidJNIModule.dll
---@param methodName string
---@param args T[]
---@return ReturnType
function CS.UnityEngine.AndroidJavaObject.CallStatic(methodName, args) end

---@source UnityEngine.AndroidJNIModule.dll
---@param methodName string
---@param args object[]
---@return ReturnType
function CS.UnityEngine.AndroidJavaObject.CallStatic(methodName, args) end


--
--AndroidJavaClass is the Unity representation of a generic instance of java.lang.Class.
--
---@source UnityEngine.AndroidJNIModule.dll
---@class UnityEngine.AndroidJavaClass: UnityEngine.AndroidJavaObject
---@source UnityEngine.AndroidJNIModule.dll
CS.UnityEngine.AndroidJavaClass = {}


---@source UnityEngine.AndroidJNIModule.dll
---@class UnityEngine.jvalue: System.ValueType
---@source UnityEngine.AndroidJNIModule.dll
---@field z bool
---@source UnityEngine.AndroidJNIModule.dll
---@field b sbyte
---@source UnityEngine.AndroidJNIModule.dll
---@field c char
---@source UnityEngine.AndroidJNIModule.dll
---@field s short
---@source UnityEngine.AndroidJNIModule.dll
---@field i int
---@source UnityEngine.AndroidJNIModule.dll
---@field j long
---@source UnityEngine.AndroidJNIModule.dll
---@field f float
---@source UnityEngine.AndroidJNIModule.dll
---@field d double
---@source UnityEngine.AndroidJNIModule.dll
---@field l System.IntPtr
---@source UnityEngine.AndroidJNIModule.dll
CS.UnityEngine.jvalue = {}


--
--Helper interface for JNI interaction; signature creation and method lookups.
--
--Note: Using raw JNI functions requires advanced knowledge of the Android Java Native Interface (JNI). Please take note.
--
---@source UnityEngine.AndroidJNIModule.dll
---@class UnityEngine.AndroidJNIHelper: object
--
--Set debug to true to log calls through the AndroidJNIHelper.
--
---@source UnityEngine.AndroidJNIModule.dll
---@field debug bool
---@source UnityEngine.AndroidJNIModule.dll
CS.UnityEngine.AndroidJNIHelper = {}

--
--Scans a particular Java class for a constructor method matching a signature.
--
--```plaintext
--Params: javaClass - Raw JNI Java class object (obtained by calling AndroidJNI.FindClass).
--        signature - Constructor method signature (e.g. obtained by calling AndroidJNIHelper.GetSignature).
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param javaClass System.IntPtr
---@return IntPtr
function CS.UnityEngine.AndroidJNIHelper:GetConstructorID(javaClass) end

--
--Scans a particular Java class for a constructor method matching a signature.
--
--```plaintext
--Params: javaClass - Raw JNI Java class object (obtained by calling AndroidJNI.FindClass).
--        signature - Constructor method signature (e.g. obtained by calling AndroidJNIHelper.GetSignature).
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param javaClass System.IntPtr
---@param signature string
---@return IntPtr
function CS.UnityEngine.AndroidJNIHelper:GetConstructorID(javaClass, signature) end

--
--Scans a particular Java class for a method matching a name and a signature.
--
--```plaintext
--Params: javaClass - Raw JNI Java class object (obtained by calling AndroidJNI.FindClass).
--        methodName - Name of the method as declared in Java.
--        signature - Method signature (e.g. obtained by calling AndroidJNIHelper.GetSignature).
--        isStatic - Set to <tt>true<tt> for static methods; <tt>false<tt> for instance (nonstatic) methods.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param javaClass System.IntPtr
---@param methodName string
---@return IntPtr
function CS.UnityEngine.AndroidJNIHelper:GetMethodID(javaClass, methodName) end

--
--Scans a particular Java class for a method matching a name and a signature.
--
--```plaintext
--Params: javaClass - Raw JNI Java class object (obtained by calling AndroidJNI.FindClass).
--        methodName - Name of the method as declared in Java.
--        signature - Method signature (e.g. obtained by calling AndroidJNIHelper.GetSignature).
--        isStatic - Set to <tt>true<tt> for static methods; <tt>false<tt> for instance (nonstatic) methods.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param javaClass System.IntPtr
---@param methodName string
---@param signature string
---@return IntPtr
function CS.UnityEngine.AndroidJNIHelper:GetMethodID(javaClass, methodName, signature) end

--
--Scans a particular Java class for a method matching a name and a signature.
--
--```plaintext
--Params: javaClass - Raw JNI Java class object (obtained by calling AndroidJNI.FindClass).
--        methodName - Name of the method as declared in Java.
--        signature - Method signature (e.g. obtained by calling AndroidJNIHelper.GetSignature).
--        isStatic - Set to <tt>true<tt> for static methods; <tt>false<tt> for instance (nonstatic) methods.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param javaClass System.IntPtr
---@param methodName string
---@param signature string
---@param isStatic bool
---@return IntPtr
function CS.UnityEngine.AndroidJNIHelper:GetMethodID(javaClass, methodName, signature, isStatic) end

--
--Scans a particular Java class for a field matching a name and a signature.
--
--```plaintext
--Params: javaClass - Raw JNI Java class object (obtained by calling AndroidJNI.FindClass).
--        fieldName - Name of the field as declared in Java.
--        signature - Field signature (e.g. obtained by calling AndroidJNIHelper.GetSignature).
--        isStatic - Set to <tt>true<tt> for static fields; <tt>false<tt> for instance (nonstatic) fields.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param javaClass System.IntPtr
---@param fieldName string
---@return IntPtr
function CS.UnityEngine.AndroidJNIHelper:GetFieldID(javaClass, fieldName) end

--
--Scans a particular Java class for a field matching a name and a signature.
--
--```plaintext
--Params: javaClass - Raw JNI Java class object (obtained by calling AndroidJNI.FindClass).
--        fieldName - Name of the field as declared in Java.
--        signature - Field signature (e.g. obtained by calling AndroidJNIHelper.GetSignature).
--        isStatic - Set to <tt>true<tt> for static fields; <tt>false<tt> for instance (nonstatic) fields.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param javaClass System.IntPtr
---@param fieldName string
---@param signature string
---@return IntPtr
function CS.UnityEngine.AndroidJNIHelper:GetFieldID(javaClass, fieldName, signature) end

--
--Scans a particular Java class for a field matching a name and a signature.
--
--```plaintext
--Params: javaClass - Raw JNI Java class object (obtained by calling AndroidJNI.FindClass).
--        fieldName - Name of the field as declared in Java.
--        signature - Field signature (e.g. obtained by calling AndroidJNIHelper.GetSignature).
--        isStatic - Set to <tt>true<tt> for static fields; <tt>false<tt> for instance (nonstatic) fields.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param javaClass System.IntPtr
---@param fieldName string
---@param signature string
---@param isStatic bool
---@return IntPtr
function CS.UnityEngine.AndroidJNIHelper:GetFieldID(javaClass, fieldName, signature, isStatic) end

--
--Creates a UnityJavaRunnable object (implements java.lang.Runnable).
--
--```plaintext
--Params: runnable - A delegate representing the java.lang.Runnable.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param jrunnable UnityEngine.AndroidJavaRunnable
---@return IntPtr
function CS.UnityEngine.AndroidJNIHelper:CreateJavaRunnable(jrunnable) end

--
--Creates a java proxy object which connects to the supplied proxy implementation.
--
--```plaintext
--Params: proxy - An implementatinon of a java interface in c#.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param proxy UnityEngine.AndroidJavaProxy
---@return IntPtr
function CS.UnityEngine.AndroidJNIHelper:CreateJavaProxy(proxy) end

--
--Creates a Java array from a managed array.
--
--```plaintext
--Params: array - Managed array to be converted into a Java array object.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.Array
---@return IntPtr
function CS.UnityEngine.AndroidJNIHelper:ConvertToJNIArray(array) end

--
--Creates the parameter array to be used as argument list when invoking Java code through CallMethod() in AndroidJNI.
--
--```plaintext
--Params: args - An array of objects that should be converted to Call parameters.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param args object[]
function CS.UnityEngine.AndroidJNIHelper:CreateJNIArgArray(args) end

--
--Deletes any local jni references previously allocated by CreateJNIArgArray().
--
--```plaintext
--Params: args - The array of arguments used as a parameter to CreateJNIArgArray().
--        jniArgs - The array returned by CreateJNIArgArray().
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param args object[]
---@param jniArgs UnityEngine.jvalue[]
function CS.UnityEngine.AndroidJNIHelper:DeleteJNIArgArray(args, jniArgs) end

--
--Get a JNI method ID for a constructor based on calling arguments.
--
--```plaintext
--Params: javaClass - Raw JNI Java class object (obtained by calling AndroidJNI.FindClass).
--        args - Array with parameters to be passed to the constructor when invoked.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param jclass System.IntPtr
---@param args object[]
---@return IntPtr
function CS.UnityEngine.AndroidJNIHelper:GetConstructorID(jclass, args) end

--
--Get a JNI method ID based on calling arguments.
--
--```plaintext
--Params: javaClass - Raw JNI Java class object (obtained by calling AndroidJNI.FindClass).
--        methodName - Name of the method as declared in Java.
--        args - Array with parameters to be passed to the method when invoked.
--        isStatic - Set to <tt>true<tt> for static methods; <tt>false<tt> for instance (nonstatic) methods.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param jclass System.IntPtr
---@param methodName string
---@param args object[]
---@param isStatic bool
---@return IntPtr
function CS.UnityEngine.AndroidJNIHelper:GetMethodID(jclass, methodName, args, isStatic) end

--
--Creates the JNI signature string for particular object type.
--
--```plaintext
--Params: obj - Object for which a signature is to be produced.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj object
---@return String
function CS.UnityEngine.AndroidJNIHelper:GetSignature(obj) end

--
--Creates the JNI signature string for an object parameter list.
--
--```plaintext
--Params: args - Array of object for which a signature is to be produced.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param args object[]
---@return String
function CS.UnityEngine.AndroidJNIHelper:GetSignature(args) end

---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@return ArrayType
function CS.UnityEngine.AndroidJNIHelper:ConvertFromJNIArray(array) end

---@source UnityEngine.AndroidJNIModule.dll
---@param jclass System.IntPtr
---@param methodName string
---@param args object[]
---@param isStatic bool
---@return IntPtr
function CS.UnityEngine.AndroidJNIHelper:GetMethodID(jclass, methodName, args, isStatic) end

---@source UnityEngine.AndroidJNIModule.dll
---@param jclass System.IntPtr
---@param fieldName string
---@param isStatic bool
---@return IntPtr
function CS.UnityEngine.AndroidJNIHelper:GetFieldID(jclass, fieldName, isStatic) end

---@source UnityEngine.AndroidJNIModule.dll
---@param args object[]
---@return String
function CS.UnityEngine.AndroidJNIHelper:GetSignature(args) end


--
--'Raw' JNI interface to Android Java VM from Unity scripting (C#).
--
--Note: Using raw JNI functions requires advanced knowledge of the Android Java Native Interface (JNI). Please take note.
--
---@source UnityEngine.AndroidJNIModule.dll
---@class UnityEngine.AndroidJNI: object
---@source UnityEngine.AndroidJNIModule.dll
CS.UnityEngine.AndroidJNI = {}

--
--Attaches the current thread to a Java (Dalvik) VM.
--
---@source UnityEngine.AndroidJNIModule.dll
---@return Int32
function CS.UnityEngine.AndroidJNI:AttachCurrentThread() end

--
--Detaches the current thread from a Java (Dalvik) VM.
--
---@source UnityEngine.AndroidJNIModule.dll
---@return Int32
function CS.UnityEngine.AndroidJNI:DetachCurrentThread() end

--
--Returns the version of the native method interface.
--
---@source UnityEngine.AndroidJNIModule.dll
---@return Int32
function CS.UnityEngine.AndroidJNI:GetVersion() end

--
--This function loads a locally-defined class.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param name string
---@return IntPtr
function CS.UnityEngine.AndroidJNI:FindClass(name) end

--
--Converts a <tt>java.lang.reflect.Method<tt> or <tt>java.lang.reflect.Constructor<tt> object to a method ID.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param refMethod System.IntPtr
---@return IntPtr
function CS.UnityEngine.AndroidJNI:FromReflectedMethod(refMethod) end

--
--Converts a <tt>java.lang.reflect.Field</tt> to a field ID.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param refField System.IntPtr
---@return IntPtr
function CS.UnityEngine.AndroidJNI:FromReflectedField(refField) end

--
--Converts a method ID derived from clazz to a <tt>java.lang.reflect.Method<tt> or <tt>java.lang.reflect.Constructor<tt> object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param methodID System.IntPtr
---@param isStatic bool
---@return IntPtr
function CS.UnityEngine.AndroidJNI:ToReflectedMethod(clazz, methodID, isStatic) end

--
--Converts a field ID derived from cls to a <tt>java.lang.reflect.Field</tt> object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@param isStatic bool
---@return IntPtr
function CS.UnityEngine.AndroidJNI:ToReflectedField(clazz, fieldID, isStatic) end

--
--If <tt>clazz<tt> represents any class other than the class <tt>Object<tt>, then this function returns the object that represents the superclass of the class specified by <tt>clazz</tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@return IntPtr
function CS.UnityEngine.AndroidJNI:GetSuperclass(clazz) end

--
--Determines whether an object of <tt>clazz1<tt> can be safely cast to <tt>clazz2<tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz1 System.IntPtr
---@param clazz2 System.IntPtr
---@return Boolean
function CS.UnityEngine.AndroidJNI:IsAssignableFrom(clazz1, clazz2) end

--
--Causes a <tt>java.lang.Throwable</tt> object to be thrown.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@return Int32
function CS.UnityEngine.AndroidJNI:Throw(obj) end

--
--Constructs an exception object from the specified class with the <tt>message</tt> specified by message and causes that exception to be thrown.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param message string
---@return Int32
function CS.UnityEngine.AndroidJNI:ThrowNew(clazz, message) end

--
--Determines if an exception is being thrown.
--
---@source UnityEngine.AndroidJNIModule.dll
---@return IntPtr
function CS.UnityEngine.AndroidJNI:ExceptionOccurred() end

--
--Prints an exception and a backtrace of the stack to the <tt>logcat</tt>
--
---@source UnityEngine.AndroidJNIModule.dll
function CS.UnityEngine.AndroidJNI:ExceptionDescribe() end

--
--Clears any exception that is currently being thrown.
--
---@source UnityEngine.AndroidJNIModule.dll
function CS.UnityEngine.AndroidJNI:ExceptionClear() end

--
--Raises a fatal error and does not expect the VM to recover. This function does not return.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param message string
function CS.UnityEngine.AndroidJNI:FatalError(message) end

--
--Creates a new local reference frame, in which at least a given number of local references can be created.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param capacity int
---@return Int32
function CS.UnityEngine.AndroidJNI:PushLocalFrame(capacity) end

--
--Pops off the current local reference frame, frees all the local references, and returns a local reference in the previous local reference frame for the given <tt>result</tt> object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param ptr System.IntPtr
---@return IntPtr
function CS.UnityEngine.AndroidJNI:PopLocalFrame(ptr) end

--
--Creates a new global reference to the object referred to by the <tt>obj</tt> argument.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewGlobalRef(obj) end

--
--Deletes the global reference pointed to by <tt>obj</tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
function CS.UnityEngine.AndroidJNI:DeleteGlobalRef(obj) end

--
--Creates a new global weak reference to the object referred to by the <tt>obj</tt> argument.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewWeakGlobalRef(obj) end

--
--Deletes the global weak reference pointed to by <tt>obj</tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
function CS.UnityEngine.AndroidJNI:DeleteWeakGlobalRef(obj) end

--
--Creates a new local reference that refers to the same object as <tt>obj</tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewLocalRef(obj) end

--
--Deletes the local reference pointed to by <tt>obj</tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
function CS.UnityEngine.AndroidJNI:DeleteLocalRef(obj) end

--
--Tests whether two references refer to the same Java object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj1 System.IntPtr
---@param obj2 System.IntPtr
---@return Boolean
function CS.UnityEngine.AndroidJNI:IsSameObject(obj1, obj2) end

--
--Ensures that at least a given number of local references can be created in the current thread.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param capacity int
---@return Int32
function CS.UnityEngine.AndroidJNI:EnsureLocalCapacity(capacity) end

--
--Allocates a new Java object without invoking any of the constructors for the object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@return IntPtr
function CS.UnityEngine.AndroidJNI:AllocObject(clazz) end

--
--Constructs a new Java object. The method ID indicates which constructor method to invoke. This ID must be obtained by calling GetMethodID() with <init> as the method name and void (V) as the return type.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewObject(clazz, methodID, args) end

--
--Returns the class of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@return IntPtr
function CS.UnityEngine.AndroidJNI:GetObjectClass(obj) end

--
--Tests whether an object is an instance of a class.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param clazz System.IntPtr
---@return Boolean
function CS.UnityEngine.AndroidJNI:IsInstanceOf(obj, clazz) end

--
--Returns the method ID for an instance (nonstatic) method of a class or interface.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param name string
---@param sig string
---@return IntPtr
function CS.UnityEngine.AndroidJNI:GetMethodID(clazz, name, sig) end

--
--Returns the field ID for an instance (nonstatic) field of a class.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param name string
---@param sig string
---@return IntPtr
function CS.UnityEngine.AndroidJNI:GetFieldID(clazz, name, sig) end

--
--Returns the method ID for a static method of a class.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param name string
---@param sig string
---@return IntPtr
function CS.UnityEngine.AndroidJNI:GetStaticMethodID(clazz, name, sig) end

--
--Returns the field ID for a static field of a class.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param name string
---@param sig string
---@return IntPtr
function CS.UnityEngine.AndroidJNI:GetStaticFieldID(clazz, name, sig) end

--
--Constructs a new <tt>java.lang.String</tt> object from an array of Unicode characters.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param chars string
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewString(chars) end

--
--Constructs a new <tt>java.lang.String</tt> object from an array of Unicode characters.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param chars char[]
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewString(chars) end

--
--Constructs a new <tt>java.lang.String</tt> object from an array of characters in modified UTF-8 encoding.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param bytes string
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewStringUTF(bytes) end

--
--Returns a pointer to the array of Unicode characters of the string. This pointer is valid until ReleaseStringchars() is called.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param str System.IntPtr
---@return String
function CS.UnityEngine.AndroidJNI:GetStringChars(str) end

--
--Returns the length (the count of Unicode characters) of a Java string.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param str System.IntPtr
---@return Int32
function CS.UnityEngine.AndroidJNI:GetStringLength(str) end

--
--Returns the length in bytes of the modified UTF-8 representation of a string.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param str System.IntPtr
---@return Int32
function CS.UnityEngine.AndroidJNI:GetStringUTFLength(str) end

--
--Returns a managed string object representing the string in modified UTF-8 encoding.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param str System.IntPtr
---@return String
function CS.UnityEngine.AndroidJNI:GetStringUTFChars(str) end

--
--Calls a Java instance method defined by <tt>methodID<tt>, optionally passing an array of arguments (<tt>args<tt>) to the method.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return String
function CS.UnityEngine.AndroidJNI:CallStringMethod(obj, methodID, args) end

--
--Calls a Java instance method defined by <tt>methodID<tt>, optionally passing an array of arguments (<tt>args<tt>) to the method.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return IntPtr
function CS.UnityEngine.AndroidJNI:CallObjectMethod(obj, methodID, args) end

--
--Calls a Java instance method defined by <tt>methodID<tt>, optionally passing an array of arguments (<tt>args<tt>) to the method.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return Int32
function CS.UnityEngine.AndroidJNI:CallIntMethod(obj, methodID, args) end

--
--Calls a Java instance method defined by <tt>methodID<tt>, optionally passing an array of arguments (<tt>args<tt>) to the method.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return Boolean
function CS.UnityEngine.AndroidJNI:CallBooleanMethod(obj, methodID, args) end

--
--Calls a Java instance method defined by <tt>methodID<tt>, optionally passing an array of arguments (<tt>args<tt>) to the method.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return Int16
function CS.UnityEngine.AndroidJNI:CallShortMethod(obj, methodID, args) end

--
--Calls a Java instance method defined by <tt>methodID<tt>, optionally passing an array of arguments (<tt>args<tt>) to the method.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return Byte
function CS.UnityEngine.AndroidJNI:CallByteMethod(obj, methodID, args) end

--
--Calls a Java instance method defined by <tt>methodID<tt>, optionally passing an array of arguments (<tt>args<tt>) to the method.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return SByte
function CS.UnityEngine.AndroidJNI:CallSByteMethod(obj, methodID, args) end

--
--Calls a Java instance method defined by <tt>methodID<tt>, optionally passing an array of arguments (<tt>args<tt>) to the method.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return Char
function CS.UnityEngine.AndroidJNI:CallCharMethod(obj, methodID, args) end

--
--Calls a Java instance method defined by <tt>methodID<tt>, optionally passing an array of arguments (<tt>args<tt>) to the method.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return Single
function CS.UnityEngine.AndroidJNI:CallFloatMethod(obj, methodID, args) end

--
--Calls a Java instance method defined by <tt>methodID<tt>, optionally passing an array of arguments (<tt>args<tt>) to the method.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return Double
function CS.UnityEngine.AndroidJNI:CallDoubleMethod(obj, methodID, args) end

--
--Calls a Java instance method defined by <tt>methodID<tt>, optionally passing an array of arguments (<tt>args<tt>) to the method.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return Int64
function CS.UnityEngine.AndroidJNI:CallLongMethod(obj, methodID, args) end

--
--Calls a Java instance method defined by <tt>methodID<tt>, optionally passing an array of arguments (<tt>args<tt>) to the method.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
function CS.UnityEngine.AndroidJNI:CallVoidMethod(obj, methodID, args) end

--
--Returns the value of an instance (nonstatic) field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@return String
function CS.UnityEngine.AndroidJNI:GetStringField(obj, fieldID) end

--
--Returns the value of an instance (nonstatic) field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@return IntPtr
function CS.UnityEngine.AndroidJNI:GetObjectField(obj, fieldID) end

--
--Returns the value of an instance (nonstatic) field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@return Boolean
function CS.UnityEngine.AndroidJNI:GetBooleanField(obj, fieldID) end

--
--Returns the value of an instance (nonstatic) field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@return Byte
function CS.UnityEngine.AndroidJNI:GetByteField(obj, fieldID) end

--
--Returns the value of an instance (nonstatic) field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@return SByte
function CS.UnityEngine.AndroidJNI:GetSByteField(obj, fieldID) end

--
--Returns the value of an instance (nonstatic) field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@return Char
function CS.UnityEngine.AndroidJNI:GetCharField(obj, fieldID) end

--
--Returns the value of an instance (nonstatic) field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@return Int16
function CS.UnityEngine.AndroidJNI:GetShortField(obj, fieldID) end

--
--Returns the value of an instance (nonstatic) field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@return Int32
function CS.UnityEngine.AndroidJNI:GetIntField(obj, fieldID) end

--
--Returns the value of an instance (nonstatic) field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@return Int64
function CS.UnityEngine.AndroidJNI:GetLongField(obj, fieldID) end

--
--Returns the value of an instance (nonstatic) field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@return Single
function CS.UnityEngine.AndroidJNI:GetFloatField(obj, fieldID) end

--
--Returns the value of an instance (nonstatic) field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@return Double
function CS.UnityEngine.AndroidJNI:GetDoubleField(obj, fieldID) end

--
--Sets the value of an instance field of the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@param val string
function CS.UnityEngine.AndroidJNI:SetStringField(obj, fieldID, val) end

--
--Sets the value of an instance field of the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@param val System.IntPtr
function CS.UnityEngine.AndroidJNI:SetObjectField(obj, fieldID, val) end

--
--Sets the value of an instance field of the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@param val bool
function CS.UnityEngine.AndroidJNI:SetBooleanField(obj, fieldID, val) end

--
--Sets the value of an instance field of the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@param val byte
function CS.UnityEngine.AndroidJNI:SetByteField(obj, fieldID, val) end

--
--Sets the value of an instance field of the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@param val sbyte
function CS.UnityEngine.AndroidJNI:SetSByteField(obj, fieldID, val) end

--
--Sets the value of an instance field of the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@param val char
function CS.UnityEngine.AndroidJNI:SetCharField(obj, fieldID, val) end

--
--Sets the value of an instance field of the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@param val short
function CS.UnityEngine.AndroidJNI:SetShortField(obj, fieldID, val) end

--
--Sets the value of an instance field of the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@param val int
function CS.UnityEngine.AndroidJNI:SetIntField(obj, fieldID, val) end

--
--Sets the value of an instance field of the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@param val long
function CS.UnityEngine.AndroidJNI:SetLongField(obj, fieldID, val) end

--
--Sets the value of an instance field of the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@param val float
function CS.UnityEngine.AndroidJNI:SetFloatField(obj, fieldID, val) end

--
--Sets the value of an instance field of the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param obj System.IntPtr
---@param fieldID System.IntPtr
---@param val double
function CS.UnityEngine.AndroidJNI:SetDoubleField(obj, fieldID, val) end

--
--Invokes the specified <tt>methodID<tt> static method on a Java object, optionally passing in an array of arguments (<tt>args<tt>).
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return String
function CS.UnityEngine.AndroidJNI:CallStaticStringMethod(clazz, methodID, args) end

--
--Invokes the specified <tt>methodID<tt> static method on a Java object, optionally passing in an array of arguments (<tt>args<tt>).
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return IntPtr
function CS.UnityEngine.AndroidJNI:CallStaticObjectMethod(clazz, methodID, args) end

--
--Invokes the specified <tt>methodID<tt> static method on a Java object, optionally passing in an array of arguments (<tt>args<tt>).
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return Int32
function CS.UnityEngine.AndroidJNI:CallStaticIntMethod(clazz, methodID, args) end

--
--Invokes the specified <tt>methodID<tt> static method on a Java object, optionally passing in an array of arguments (<tt>args<tt>).
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return Boolean
function CS.UnityEngine.AndroidJNI:CallStaticBooleanMethod(clazz, methodID, args) end

--
--Invokes the specified <tt>methodID<tt> static method on a Java object, optionally passing in an array of arguments (<tt>args<tt>).
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return Int16
function CS.UnityEngine.AndroidJNI:CallStaticShortMethod(clazz, methodID, args) end

--
--Invokes the specified <tt>methodID<tt> static method on a Java object, optionally passing in an array of arguments (<tt>args<tt>).
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return Byte
function CS.UnityEngine.AndroidJNI:CallStaticByteMethod(clazz, methodID, args) end

--
--Invokes the specified <tt>methodID<tt> static method on a Java object, optionally passing in an array of arguments (<tt>args<tt>).
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return SByte
function CS.UnityEngine.AndroidJNI:CallStaticSByteMethod(clazz, methodID, args) end

--
--Invokes the specified <tt>methodID<tt> static method on a Java object, optionally passing in an array of arguments (<tt>args<tt>).
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return Char
function CS.UnityEngine.AndroidJNI:CallStaticCharMethod(clazz, methodID, args) end

--
--Invokes the specified <tt>methodID<tt> static method on a Java object, optionally passing in an array of arguments (<tt>args<tt>).
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return Single
function CS.UnityEngine.AndroidJNI:CallStaticFloatMethod(clazz, methodID, args) end

--
--Invokes the specified <tt>methodID<tt> static method on a Java object, optionally passing in an array of arguments (<tt>args<tt>).
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return Double
function CS.UnityEngine.AndroidJNI:CallStaticDoubleMethod(clazz, methodID, args) end

--
--Invokes the specified <tt>methodID<tt> static method on a Java object, optionally passing in an array of arguments (<tt>args<tt>).
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
---@return Int64
function CS.UnityEngine.AndroidJNI:CallStaticLongMethod(clazz, methodID, args) end

--
--Invokes the specified <tt>methodID<tt> static method on a Java object, optionally passing in an array of arguments (<tt>args<tt>).
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param methodID System.IntPtr
---@param args UnityEngine.jvalue[]
function CS.UnityEngine.AndroidJNI:CallStaticVoidMethod(clazz, methodID, args) end

--
--Returns the value of a static field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@return String
function CS.UnityEngine.AndroidJNI:GetStaticStringField(clazz, fieldID) end

--
--Returns the value of a static field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@return IntPtr
function CS.UnityEngine.AndroidJNI:GetStaticObjectField(clazz, fieldID) end

--
--Returns the value of a static field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@return Boolean
function CS.UnityEngine.AndroidJNI:GetStaticBooleanField(clazz, fieldID) end

--
--Returns the value of a static field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@return Byte
function CS.UnityEngine.AndroidJNI:GetStaticByteField(clazz, fieldID) end

--
--Returns the value of a static field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@return SByte
function CS.UnityEngine.AndroidJNI:GetStaticSByteField(clazz, fieldID) end

--
--Returns the value of a static field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@return Char
function CS.UnityEngine.AndroidJNI:GetStaticCharField(clazz, fieldID) end

--
--Returns the value of a static field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@return Int16
function CS.UnityEngine.AndroidJNI:GetStaticShortField(clazz, fieldID) end

--
--Returns the value of a static field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@return Int32
function CS.UnityEngine.AndroidJNI:GetStaticIntField(clazz, fieldID) end

--
--Returns the value of a static field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@return Int64
function CS.UnityEngine.AndroidJNI:GetStaticLongField(clazz, fieldID) end

--
--Returns the value of a static field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@return Single
function CS.UnityEngine.AndroidJNI:GetStaticFloatField(clazz, fieldID) end

--
--Returns the value of a static field of an object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@return Double
function CS.UnityEngine.AndroidJNI:GetStaticDoubleField(clazz, fieldID) end

--
--Sets the value of a static field in the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@param val string
function CS.UnityEngine.AndroidJNI:SetStaticStringField(clazz, fieldID, val) end

--
--Sets the value of a static field in the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@param val System.IntPtr
function CS.UnityEngine.AndroidJNI:SetStaticObjectField(clazz, fieldID, val) end

--
--Sets the value of a static field in the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@param val bool
function CS.UnityEngine.AndroidJNI:SetStaticBooleanField(clazz, fieldID, val) end

--
--Sets the value of a static field in the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@param val byte
function CS.UnityEngine.AndroidJNI:SetStaticByteField(clazz, fieldID, val) end

--
--Sets the value of a static field in the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@param val sbyte
function CS.UnityEngine.AndroidJNI:SetStaticSByteField(clazz, fieldID, val) end

--
--Sets the value of a static field in the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@param val char
function CS.UnityEngine.AndroidJNI:SetStaticCharField(clazz, fieldID, val) end

--
--Sets the value of a static field in the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@param val short
function CS.UnityEngine.AndroidJNI:SetStaticShortField(clazz, fieldID, val) end

--
--Sets the value of a static field in the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@param val int
function CS.UnityEngine.AndroidJNI:SetStaticIntField(clazz, fieldID, val) end

--
--Sets the value of a static field in the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@param val long
function CS.UnityEngine.AndroidJNI:SetStaticLongField(clazz, fieldID, val) end

--
--Sets the value of a static field in the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@param val float
function CS.UnityEngine.AndroidJNI:SetStaticFloatField(clazz, fieldID, val) end

--
--Sets the value of a static field in the specified object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param clazz System.IntPtr
---@param fieldID System.IntPtr
---@param val double
function CS.UnityEngine.AndroidJNI:SetStaticDoubleField(clazz, fieldID, val) end

--
--Converts a managed array of System.Boolean to a Java array of <tt>boolean</tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array bool[]
---@return IntPtr
function CS.UnityEngine.AndroidJNI:ToBooleanArray(array) end

--
--Converts a managed array of System.Byte to a Java array of <tt>byte</tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array byte[]
---@return IntPtr
function CS.UnityEngine.AndroidJNI:ToByteArray(array) end

--
--Converts a managed array of System.SByte to a Java array of <tt>byte</tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array sbyte[]
---@return IntPtr
function CS.UnityEngine.AndroidJNI:ToSByteArray(array) end

--
--Converts a managed array of System.Char to a Java array of <tt>char</tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array char[]
---@return IntPtr
function CS.UnityEngine.AndroidJNI:ToCharArray(array) end

--
--Converts a managed array of System.Int16 to a Java array of <tt>short</tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array short[]
---@return IntPtr
function CS.UnityEngine.AndroidJNI:ToShortArray(array) end

--
--Converts a managed array of System.Int32 to a Java array of <tt>int</tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array int[]
---@return IntPtr
function CS.UnityEngine.AndroidJNI:ToIntArray(array) end

--
--Converts a managed array of System.Int64 to a Java array of <tt>long</tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array long[]
---@return IntPtr
function CS.UnityEngine.AndroidJNI:ToLongArray(array) end

--
--Converts a managed array of System.Single to a Java array of <tt>float</tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array float[]
---@return IntPtr
function CS.UnityEngine.AndroidJNI:ToFloatArray(array) end

--
--Converts a managed array of System.Double to a Java array of <tt>double</tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array double[]
---@return IntPtr
function CS.UnityEngine.AndroidJNI:ToDoubleArray(array) end

---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr[]
---@param arrayClass System.IntPtr
---@return IntPtr
function CS.UnityEngine.AndroidJNI:ToObjectArray(array, arrayClass) end

--
--Converts a managed array of System.IntPtr, representing Java objects, to a Java array of <tt>java.lang.Object</tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr[]
---@return IntPtr
function CS.UnityEngine.AndroidJNI:ToObjectArray(array) end

--
--Converts a Java array of <tt>boolean</tt> to a managed array of System.Boolean.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
function CS.UnityEngine.AndroidJNI:FromBooleanArray(array) end

--
--Converts a Java array of <tt>byte</tt> to a managed array of System.Byte.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
function CS.UnityEngine.AndroidJNI:FromByteArray(array) end

--
--Converts a Java array of <tt>byte</tt> to a managed array of System.SByte.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
function CS.UnityEngine.AndroidJNI:FromSByteArray(array) end

--
--Converts a Java array of <tt>char</tt> to a managed array of System.Char.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
function CS.UnityEngine.AndroidJNI:FromCharArray(array) end

--
--Converts a Java array of <tt>short</tt> to a managed array of System.Int16.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
function CS.UnityEngine.AndroidJNI:FromShortArray(array) end

--
--Converts a Java array of <tt>int</tt> to a managed array of System.Int32.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
function CS.UnityEngine.AndroidJNI:FromIntArray(array) end

--
--Converts a Java array of <tt>long</tt> to a managed array of System.Int64.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
function CS.UnityEngine.AndroidJNI:FromLongArray(array) end

--
--Converts a Java array of <tt>float</tt> to a managed array of System.Single.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
function CS.UnityEngine.AndroidJNI:FromFloatArray(array) end

--
--Converts a Java array of <tt>double</tt> to a managed array of System.Double.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
function CS.UnityEngine.AndroidJNI:FromDoubleArray(array) end

--
--Converts a Java array of <tt>java.lang.Object</tt> to a managed array of System.IntPtr, representing Java objects.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
function CS.UnityEngine.AndroidJNI:FromObjectArray(array) end

--
--Returns the number of elements in the array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@return Int32
function CS.UnityEngine.AndroidJNI:GetArrayLength(array) end

--
--Constructs a new primitive array object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param size int
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewBooleanArray(size) end

--
--Constructs a new primitive array object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param size int
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewByteArray(size) end

--
--Constructs a new primitive array object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param size int
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewSByteArray(size) end

--
--Constructs a new primitive array object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param size int
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewCharArray(size) end

--
--Constructs a new primitive array object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param size int
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewShortArray(size) end

--
--Constructs a new primitive array object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param size int
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewIntArray(size) end

--
--Constructs a new primitive array object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param size int
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewLongArray(size) end

--
--Constructs a new primitive array object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param size int
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewFloatArray(size) end

--
--Constructs a new primitive array object.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param size int
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewDoubleArray(size) end

--
--Constructs a new array holding objects in class <tt>clazz<tt>. All elements are initially set to <tt>obj<tt>.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param size int
---@param clazz System.IntPtr
---@param obj System.IntPtr
---@return IntPtr
function CS.UnityEngine.AndroidJNI:NewObjectArray(size, clazz, obj) end

--
--Returns the value of one element of a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@return Boolean
function CS.UnityEngine.AndroidJNI:GetBooleanArrayElement(array, index) end

--
--Returns the value of one element of a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@return Byte
function CS.UnityEngine.AndroidJNI:GetByteArrayElement(array, index) end

--
--Returns the value of one element of a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@return SByte
function CS.UnityEngine.AndroidJNI:GetSByteArrayElement(array, index) end

--
--Returns the value of one element of a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@return Char
function CS.UnityEngine.AndroidJNI:GetCharArrayElement(array, index) end

--
--Returns the value of one element of a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@return Int16
function CS.UnityEngine.AndroidJNI:GetShortArrayElement(array, index) end

--
--Returns the value of one element of a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@return Int32
function CS.UnityEngine.AndroidJNI:GetIntArrayElement(array, index) end

--
--Returns the value of one element of a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@return Int64
function CS.UnityEngine.AndroidJNI:GetLongArrayElement(array, index) end

--
--Returns the value of one element of a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@return Single
function CS.UnityEngine.AndroidJNI:GetFloatArrayElement(array, index) end

--
--Returns the value of one element of a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@return Double
function CS.UnityEngine.AndroidJNI:GetDoubleArrayElement(array, index) end

--
--Returns an element of an <tt>Object</tt> array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@return IntPtr
function CS.UnityEngine.AndroidJNI:GetObjectArrayElement(array, index) end

--
--Sets the boolean value of one element in a primitive array.
--
--```plaintext
--Params: array - The array of native booleans.
--        index - Index of the array element to set.
--        val - The value to set - for 'true' use 1, for 'false' use 0.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@param val byte
function CS.UnityEngine.AndroidJNI:SetBooleanArrayElement(array, index, val) end

--
--Sets the boolean value of one element in a primitive array.
--
--```plaintext
--Params: array - The array of native booleans.
--        index - Index of the array element to set.
--        val - The value to set.
--        
--```
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@param val bool
function CS.UnityEngine.AndroidJNI:SetBooleanArrayElement(array, index, val) end

--
--Sets the sbyte value of one element in a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@param val sbyte
function CS.UnityEngine.AndroidJNI:SetByteArrayElement(array, index, val) end

--
--Sets the sbyte value of one element in a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@param val sbyte
function CS.UnityEngine.AndroidJNI:SetSByteArrayElement(array, index, val) end

--
--Sets the char value of one element in a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@param val char
function CS.UnityEngine.AndroidJNI:SetCharArrayElement(array, index, val) end

--
--Sets the short value of one element in a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@param val short
function CS.UnityEngine.AndroidJNI:SetShortArrayElement(array, index, val) end

--
--Sets the int value of one element in a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@param val int
function CS.UnityEngine.AndroidJNI:SetIntArrayElement(array, index, val) end

--
--Sets the long value of one element in a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@param val long
function CS.UnityEngine.AndroidJNI:SetLongArrayElement(array, index, val) end

--
--Sets the float value of one element in a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@param val float
function CS.UnityEngine.AndroidJNI:SetFloatArrayElement(array, index, val) end

--
--Sets the double value of one element in a primitive array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@param val double
function CS.UnityEngine.AndroidJNI:SetDoubleArrayElement(array, index, val) end

--
--Sets an element of an <tt>Object</tt> array.
--
---@source UnityEngine.AndroidJNIModule.dll
---@param array System.IntPtr
---@param index int
---@param obj System.IntPtr
function CS.UnityEngine.AndroidJNI:SetObjectArrayElement(array, index, obj) end


---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.IAnimationClipSource
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.IAnimationClipSource = {}

---@source UnityEngine.AnimationModule.dll
---@param results System.Collections.Generic.List<UnityEngine.AnimationClip>
function CS.UnityEngine.IAnimationClipSource.GetAnimationClips(results) end


--
--SharedBetweenAnimatorsAttribute is an attribute that specify that this StateMachineBehaviour should be instantiate only once and shared among all Animator instance. This attribute reduce the memory footprint for each controller instance.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.SharedBetweenAnimatorsAttribute: System.Attribute
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.SharedBetweenAnimatorsAttribute = {}


--
--StateMachineBehaviour is a component that can be added to a state machine state. It's the base class every script on a state derives from.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.StateMachineBehaviour: UnityEngine.ScriptableObject
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.StateMachineBehaviour = {}

---@source UnityEngine.AnimationModule.dll
---@param animator UnityEngine.Animator
---@param stateInfo UnityEngine.AnimatorStateInfo
---@param layerIndex int
function CS.UnityEngine.StateMachineBehaviour.OnStateEnter(animator, stateInfo, layerIndex) end

---@source UnityEngine.AnimationModule.dll
---@param animator UnityEngine.Animator
---@param stateInfo UnityEngine.AnimatorStateInfo
---@param layerIndex int
function CS.UnityEngine.StateMachineBehaviour.OnStateUpdate(animator, stateInfo, layerIndex) end

---@source UnityEngine.AnimationModule.dll
---@param animator UnityEngine.Animator
---@param stateInfo UnityEngine.AnimatorStateInfo
---@param layerIndex int
function CS.UnityEngine.StateMachineBehaviour.OnStateExit(animator, stateInfo, layerIndex) end

---@source UnityEngine.AnimationModule.dll
---@param animator UnityEngine.Animator
---@param stateInfo UnityEngine.AnimatorStateInfo
---@param layerIndex int
function CS.UnityEngine.StateMachineBehaviour.OnStateMove(animator, stateInfo, layerIndex) end

---@source UnityEngine.AnimationModule.dll
---@param animator UnityEngine.Animator
---@param stateInfo UnityEngine.AnimatorStateInfo
---@param layerIndex int
function CS.UnityEngine.StateMachineBehaviour.OnStateIK(animator, stateInfo, layerIndex) end

--
--Called on the first Update frame when making a transition to a state machine. This is not called when making a transition into a state machine sub-state.
--
--```plaintext
--Params: animator - The Animator playing this state machine.
--        stateMachinePathHash - The full path hash for this state machine.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param animator UnityEngine.Animator
---@param stateMachinePathHash int
function CS.UnityEngine.StateMachineBehaviour.OnStateMachineEnter(animator, stateMachinePathHash) end

--
--Called on the last Update frame when making a transition out of a StateMachine. This is not called when making a transition into a StateMachine sub-state.
--
--```plaintext
--Params: animator - The Animator playing this state machine.
--        stateMachinePathHash - The full path hash for this state machine.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param animator UnityEngine.Animator
---@param stateMachinePathHash int
function CS.UnityEngine.StateMachineBehaviour.OnStateMachineExit(animator, stateMachinePathHash) end

---@source UnityEngine.AnimationModule.dll
---@param animator UnityEngine.Animator
---@param stateInfo UnityEngine.AnimatorStateInfo
---@param layerIndex int
---@param controller UnityEngine.Animations.AnimatorControllerPlayable
function CS.UnityEngine.StateMachineBehaviour.OnStateEnter(animator, stateInfo, layerIndex, controller) end

---@source UnityEngine.AnimationModule.dll
---@param animator UnityEngine.Animator
---@param stateInfo UnityEngine.AnimatorStateInfo
---@param layerIndex int
---@param controller UnityEngine.Animations.AnimatorControllerPlayable
function CS.UnityEngine.StateMachineBehaviour.OnStateUpdate(animator, stateInfo, layerIndex, controller) end

---@source UnityEngine.AnimationModule.dll
---@param animator UnityEngine.Animator
---@param stateInfo UnityEngine.AnimatorStateInfo
---@param layerIndex int
---@param controller UnityEngine.Animations.AnimatorControllerPlayable
function CS.UnityEngine.StateMachineBehaviour.OnStateExit(animator, stateInfo, layerIndex, controller) end

---@source UnityEngine.AnimationModule.dll
---@param animator UnityEngine.Animator
---@param stateInfo UnityEngine.AnimatorStateInfo
---@param layerIndex int
---@param controller UnityEngine.Animations.AnimatorControllerPlayable
function CS.UnityEngine.StateMachineBehaviour.OnStateMove(animator, stateInfo, layerIndex, controller) end

---@source UnityEngine.AnimationModule.dll
---@param animator UnityEngine.Animator
---@param stateInfo UnityEngine.AnimatorStateInfo
---@param layerIndex int
---@param controller UnityEngine.Animations.AnimatorControllerPlayable
function CS.UnityEngine.StateMachineBehaviour.OnStateIK(animator, stateInfo, layerIndex, controller) end

---@source UnityEngine.AnimationModule.dll
---@param animator UnityEngine.Animator
---@param stateMachinePathHash int
---@param controller UnityEngine.Animations.AnimatorControllerPlayable
function CS.UnityEngine.StateMachineBehaviour.OnStateMachineEnter(animator, stateMachinePathHash, controller) end

---@source UnityEngine.AnimationModule.dll
---@param animator UnityEngine.Animator
---@param stateMachinePathHash int
---@param controller UnityEngine.Animations.AnimatorControllerPlayable
function CS.UnityEngine.StateMachineBehaviour.OnStateMachineExit(animator, stateMachinePathHash, controller) end


--
--Used by Animation.Play function.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.PlayMode: System.Enum
--
--Will stop all animations that were started in the same layer. This is the default when playing animations.
--
---@source UnityEngine.AnimationModule.dll
---@field StopSameLayer UnityEngine.PlayMode
--
--Will stop all animations that were started with this component before playing.
--
---@source UnityEngine.AnimationModule.dll
---@field StopAll UnityEngine.PlayMode
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.PlayMode = {}

---@source 
---@param value any
---@return UnityEngine.PlayMode
function CS.UnityEngine.PlayMode:__CastFrom(value) end


--
--Used by Animation.Play function.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.QueueMode: System.Enum
--
--Will start playing after all other animations have stopped playing.
--
---@source UnityEngine.AnimationModule.dll
---@field CompleteOthers UnityEngine.QueueMode
--
--Starts playing immediately. This can be used if you just want to quickly create a duplicate animation.
--
---@source UnityEngine.AnimationModule.dll
---@field PlayNow UnityEngine.QueueMode
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.QueueMode = {}

---@source 
---@param value any
---@return UnityEngine.QueueMode
function CS.UnityEngine.QueueMode:__CastFrom(value) end


--
--Used by Animation.Play function.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimationBlendMode: System.Enum
--
--Animations will be blended.
--
---@source UnityEngine.AnimationModule.dll
---@field Blend UnityEngine.AnimationBlendMode
--
--Animations will be added.
--
---@source UnityEngine.AnimationModule.dll
---@field Additive UnityEngine.AnimationBlendMode
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimationBlendMode = {}

---@source 
---@param value any
---@return UnityEngine.AnimationBlendMode
function CS.UnityEngine.AnimationBlendMode:__CastFrom(value) end


---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimationPlayMode: System.Enum
---@source UnityEngine.AnimationModule.dll
---@field Stop UnityEngine.AnimationPlayMode
---@source UnityEngine.AnimationModule.dll
---@field Queue UnityEngine.AnimationPlayMode
---@source UnityEngine.AnimationModule.dll
---@field Mix UnityEngine.AnimationPlayMode
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimationPlayMode = {}

---@source 
---@param value any
---@return UnityEngine.AnimationPlayMode
function CS.UnityEngine.AnimationPlayMode:__CastFrom(value) end


--
--This enum controlls culling of Animation component.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimationCullingType: System.Enum
--
--Animation culling is disabled - object is animated even when offscreen.
--
---@source UnityEngine.AnimationModule.dll
---@field AlwaysAnimate UnityEngine.AnimationCullingType
--
--Animation is disabled when renderers are not visible.
--
---@source UnityEngine.AnimationModule.dll
---@field BasedOnRenderers UnityEngine.AnimationCullingType
---@source UnityEngine.AnimationModule.dll
---@field BasedOnClipBounds UnityEngine.AnimationCullingType
---@source UnityEngine.AnimationModule.dll
---@field BasedOnUserBounds UnityEngine.AnimationCullingType
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimationCullingType = {}

---@source 
---@param value any
---@return UnityEngine.AnimationCullingType
function CS.UnityEngine.AnimationCullingType:__CastFrom(value) end


--
--The animation component is used to play back animations.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.Animation: UnityEngine.Behaviour
--
--The default animation.
--
---@source UnityEngine.AnimationModule.dll
---@field clip UnityEngine.AnimationClip
--
--Should the default animation clip (the Animation.clip property) automatically start playing on startup?
--
---@source UnityEngine.AnimationModule.dll
---@field playAutomatically bool
--
--How should time beyond the playback range of the clip be treated?
--
---@source UnityEngine.AnimationModule.dll
---@field wrapMode UnityEngine.WrapMode
--
--Is an animation currently being played?
--
---@source UnityEngine.AnimationModule.dll
---@field isPlaying bool
---@source UnityEngine.AnimationModule.dll
---@field this[] UnityEngine.AnimationState
--
--When turned on, animations will be executed in the physics loop. This is only useful in conjunction with kinematic rigidbodies.
--
---@source UnityEngine.AnimationModule.dll
---@field animatePhysics bool
--
--When turned on, Unity might stop animating if it thinks that the results of the animation won't be visible to the user.
--
---@source UnityEngine.AnimationModule.dll
---@field animateOnlyIfVisible bool
--
--Controls culling of this Animation component.
--
---@source UnityEngine.AnimationModule.dll
---@field cullingType UnityEngine.AnimationCullingType
--
--AABB of this Animation animation component in local space.
--
---@source UnityEngine.AnimationModule.dll
---@field localBounds UnityEngine.Bounds
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.Animation = {}

--
--Stops all playing animations that were started with this Animation.
--
---@source UnityEngine.AnimationModule.dll
function CS.UnityEngine.Animation.Stop() end

--
--Stops an animation named name.
--
---@source UnityEngine.AnimationModule.dll
---@param name string
function CS.UnityEngine.Animation.Stop(name) end

--
--Rewinds all animations.
--
---@source UnityEngine.AnimationModule.dll
function CS.UnityEngine.Animation.Rewind() end

--
--Rewinds the animation named name.
--
---@source UnityEngine.AnimationModule.dll
---@param name string
function CS.UnityEngine.Animation.Rewind(name) end

--
--Samples animations at the current state.
--
---@source UnityEngine.AnimationModule.dll
function CS.UnityEngine.Animation.Sample() end

--
--Is the animation named name playing?
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@return Boolean
function CS.UnityEngine.Animation.IsPlaying(name) end

---@source UnityEngine.AnimationModule.dll
---@return Boolean
function CS.UnityEngine.Animation.Play() end

--
--Plays an animation without blending.
--
---@source UnityEngine.AnimationModule.dll
---@param mode UnityEngine.PlayMode
---@return Boolean
function CS.UnityEngine.Animation.Play(mode) end

--
--Plays an animation without blending.
--
---@source UnityEngine.AnimationModule.dll
---@param animation string
---@return Boolean
function CS.UnityEngine.Animation.Play(animation) end

--
--Plays an animation without blending.
--
---@source UnityEngine.AnimationModule.dll
---@param animation string
---@param mode UnityEngine.PlayMode
---@return Boolean
function CS.UnityEngine.Animation.Play(animation, mode) end

--
--Fades the animation with name animation in over a period of time seconds and fades other animations out.
--
---@source UnityEngine.AnimationModule.dll
---@param animation string
function CS.UnityEngine.Animation.CrossFade(animation) end

--
--Fades the animation with name animation in over a period of time seconds and fades other animations out.
--
---@source UnityEngine.AnimationModule.dll
---@param animation string
---@param fadeLength float
function CS.UnityEngine.Animation.CrossFade(animation, fadeLength) end

--
--Fades the animation with name animation in over a period of time seconds and fades other animations out.
--
---@source UnityEngine.AnimationModule.dll
---@param animation string
---@param fadeLength float
---@param mode UnityEngine.PlayMode
function CS.UnityEngine.Animation.CrossFade(animation, fadeLength, mode) end

--
--Blends the animation named animation towards targetWeight over the next time seconds.
--
---@source UnityEngine.AnimationModule.dll
---@param animation string
function CS.UnityEngine.Animation.Blend(animation) end

--
--Blends the animation named animation towards targetWeight over the next time seconds.
--
---@source UnityEngine.AnimationModule.dll
---@param animation string
---@param targetWeight float
function CS.UnityEngine.Animation.Blend(animation, targetWeight) end

--
--Blends the animation named animation towards targetWeight over the next time seconds.
--
---@source UnityEngine.AnimationModule.dll
---@param animation string
---@param targetWeight float
---@param fadeLength float
function CS.UnityEngine.Animation.Blend(animation, targetWeight, fadeLength) end

--
--Cross fades an animation after previous animations has finished playing.
--
---@source UnityEngine.AnimationModule.dll
---@param animation string
---@return AnimationState
function CS.UnityEngine.Animation.CrossFadeQueued(animation) end

--
--Cross fades an animation after previous animations has finished playing.
--
---@source UnityEngine.AnimationModule.dll
---@param animation string
---@param fadeLength float
---@return AnimationState
function CS.UnityEngine.Animation.CrossFadeQueued(animation, fadeLength) end

--
--Cross fades an animation after previous animations has finished playing.
--
---@source UnityEngine.AnimationModule.dll
---@param animation string
---@param fadeLength float
---@param queue UnityEngine.QueueMode
---@return AnimationState
function CS.UnityEngine.Animation.CrossFadeQueued(animation, fadeLength, queue) end

--
--Cross fades an animation after previous animations has finished playing.
--
---@source UnityEngine.AnimationModule.dll
---@param animation string
---@param fadeLength float
---@param queue UnityEngine.QueueMode
---@param mode UnityEngine.PlayMode
---@return AnimationState
function CS.UnityEngine.Animation.CrossFadeQueued(animation, fadeLength, queue, mode) end

--
--Plays an animation after previous animations has finished playing.
--
---@source UnityEngine.AnimationModule.dll
---@param animation string
---@return AnimationState
function CS.UnityEngine.Animation.PlayQueued(animation) end

--
--Plays an animation after previous animations has finished playing.
--
---@source UnityEngine.AnimationModule.dll
---@param animation string
---@param queue UnityEngine.QueueMode
---@return AnimationState
function CS.UnityEngine.Animation.PlayQueued(animation, queue) end

--
--Plays an animation after previous animations has finished playing.
--
---@source UnityEngine.AnimationModule.dll
---@param animation string
---@param queue UnityEngine.QueueMode
---@param mode UnityEngine.PlayMode
---@return AnimationState
function CS.UnityEngine.Animation.PlayQueued(animation, queue, mode) end

--
--Adds a clip to the animation with name newName.
--
---@source UnityEngine.AnimationModule.dll
---@param clip UnityEngine.AnimationClip
---@param newName string
function CS.UnityEngine.Animation.AddClip(clip, newName) end

--
--Adds clip to the only play between firstFrame and lastFrame. The new clip will also be added to the animation with name newName.
--
--```plaintext
--Params: addLoopFrame - Should an extra frame be inserted at the end that matches the first frame? Turn this on if you are making a looping animation.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param clip UnityEngine.AnimationClip
---@param newName string
---@param firstFrame int
---@param lastFrame int
function CS.UnityEngine.Animation.AddClip(clip, newName, firstFrame, lastFrame) end

--
--Adds clip to the only play between firstFrame and lastFrame. The new clip will also be added to the animation with name newName.
--
--```plaintext
--Params: addLoopFrame - Should an extra frame be inserted at the end that matches the first frame? Turn this on if you are making a looping animation.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param clip UnityEngine.AnimationClip
---@param newName string
---@param firstFrame int
---@param lastFrame int
---@param addLoopFrame bool
function CS.UnityEngine.Animation.AddClip(clip, newName, firstFrame, lastFrame, addLoopFrame) end

--
--Remove clip from the animation list.
--
---@source UnityEngine.AnimationModule.dll
---@param clip UnityEngine.AnimationClip
function CS.UnityEngine.Animation.RemoveClip(clip) end

--
--Remove clip from the animation list.
--
---@source UnityEngine.AnimationModule.dll
---@param clipName string
function CS.UnityEngine.Animation.RemoveClip(clipName) end

--
--Get the number of clips currently assigned to this animation.
--
---@source UnityEngine.AnimationModule.dll
---@return Int32
function CS.UnityEngine.Animation.GetClipCount() end

---@source UnityEngine.AnimationModule.dll
---@param mode UnityEngine.AnimationPlayMode
---@return Boolean
function CS.UnityEngine.Animation.Play(mode) end

---@source UnityEngine.AnimationModule.dll
---@param animation string
---@param mode UnityEngine.AnimationPlayMode
---@return Boolean
function CS.UnityEngine.Animation.Play(animation, mode) end

---@source UnityEngine.AnimationModule.dll
---@param layer int
function CS.UnityEngine.Animation.SyncLayer(layer) end

---@source UnityEngine.AnimationModule.dll
---@return IEnumerator
function CS.UnityEngine.Animation.GetEnumerator() end

---@source UnityEngine.AnimationModule.dll
---@param name string
---@return AnimationClip
function CS.UnityEngine.Animation.GetClip(name) end


--
--The AnimationState gives full control over animation blending.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimationState: UnityEngine.TrackedReference
--
--Enables / disables the animation.
--
---@source UnityEngine.AnimationModule.dll
---@field enabled bool
--
--The weight of animation.
--
---@source UnityEngine.AnimationModule.dll
---@field weight float
--
--Wrapping mode of the animation.
--
---@source UnityEngine.AnimationModule.dll
---@field wrapMode UnityEngine.WrapMode
--
--The current time of the animation.
--
---@source UnityEngine.AnimationModule.dll
---@field time float
--
--The normalized time of the animation.
--
---@source UnityEngine.AnimationModule.dll
---@field normalizedTime float
--
--The playback speed of the animation. 1 is normal playback speed.
--
---@source UnityEngine.AnimationModule.dll
---@field speed float
--
--The normalized playback speed.
--
---@source UnityEngine.AnimationModule.dll
---@field normalizedSpeed float
--
--The length of the animation clip in seconds.
--
---@source UnityEngine.AnimationModule.dll
---@field length float
---@source UnityEngine.AnimationModule.dll
---@field layer int
--
--The clip that is being played by this animation state.
--
---@source UnityEngine.AnimationModule.dll
---@field clip UnityEngine.AnimationClip
--
--The name of the animation.
--
---@source UnityEngine.AnimationModule.dll
---@field name string
--
--Which blend mode should be used?
--
---@source UnityEngine.AnimationModule.dll
---@field blendMode UnityEngine.AnimationBlendMode
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimationState = {}

--
--Adds a transform which should be animated. This allows you to reduce the number of animations you have to create.
--
--```plaintext
--Params: mix - The transform to animate.
--        recursive - Whether to also animate all children of the specified transform.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param mix UnityEngine.Transform
function CS.UnityEngine.AnimationState.AddMixingTransform(mix) end

--
--Adds a transform which should be animated. This allows you to reduce the number of animations you have to create.
--
--```plaintext
--Params: mix - The transform to animate.
--        recursive - Whether to also animate all children of the specified transform.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param mix UnityEngine.Transform
---@param recursive bool
function CS.UnityEngine.AnimationState.AddMixingTransform(mix, recursive) end

--
--Removes a transform which should be animated.
--
---@source UnityEngine.AnimationModule.dll
---@param mix UnityEngine.Transform
function CS.UnityEngine.AnimationState.RemoveMixingTransform(mix) end


--
--AnimationEvent lets you call a script function similar to SendMessage as part of playing back an animation.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimationEvent: object
---@source UnityEngine.AnimationModule.dll
---@field data string
--
--String parameter that is stored in the event and will be sent to the function.
--
---@source UnityEngine.AnimationModule.dll
---@field stringParameter string
--
--Float parameter that is stored in the event and will be sent to the function.
--
---@source UnityEngine.AnimationModule.dll
---@field floatParameter float
--
--Int parameter that is stored in the event and will be sent to the function.
--
---@source UnityEngine.AnimationModule.dll
---@field intParameter int
--
--Object reference parameter that is stored in the event and will be sent to the function.
--
---@source UnityEngine.AnimationModule.dll
---@field objectReferenceParameter UnityEngine.Object
--
--The name of the function that will be called.
--
---@source UnityEngine.AnimationModule.dll
---@field functionName string
--
--The time at which the event will be fired off.
--
---@source UnityEngine.AnimationModule.dll
---@field time float
--
--Function call options.
--
---@source UnityEngine.AnimationModule.dll
---@field messageOptions UnityEngine.SendMessageOptions
--
--Returns true if this Animation event has been fired by an Animation component.
--
---@source UnityEngine.AnimationModule.dll
---@field isFiredByLegacy bool
--
--Returns true if this Animation event has been fired by an Animator component.
--
---@source UnityEngine.AnimationModule.dll
---@field isFiredByAnimator bool
--
--The animation state that fired this event (Read Only).
--
---@source UnityEngine.AnimationModule.dll
---@field animationState UnityEngine.AnimationState
--
--The animator state info related to this event (Read Only).
--
---@source UnityEngine.AnimationModule.dll
---@field animatorStateInfo UnityEngine.AnimatorStateInfo
--
--The animator clip info related to this event (Read Only).
--
---@source UnityEngine.AnimationModule.dll
---@field animatorClipInfo UnityEngine.AnimatorClipInfo
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimationEvent = {}


--
--Stores keyframe based animations.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimationClip: UnityEngine.Motion
--
--Animation length in seconds. (Read Only)
--
---@source UnityEngine.AnimationModule.dll
---@field length float
--
--Frame rate at which keyframes are sampled. (Read Only)
--
---@source UnityEngine.AnimationModule.dll
---@field frameRate float
--
--Sets the default wrap mode used in the animation state.
--
---@source UnityEngine.AnimationModule.dll
---@field wrapMode UnityEngine.WrapMode
--
--AABB of this Animation Clip in local space of Animation component that it is attached too.
--
---@source UnityEngine.AnimationModule.dll
---@field localBounds UnityEngine.Bounds
--
--Set to true if the AnimationClip will be used with the Legacy Animation component ( instead of the Animator ).
--
---@source UnityEngine.AnimationModule.dll
---@field legacy bool
--
--Returns true if the animation contains curve that drives a humanoid rig.
--
---@source UnityEngine.AnimationModule.dll
---@field humanMotion bool
--
--Returns true if the animation clip has no curves and no events.
--
---@source UnityEngine.AnimationModule.dll
---@field empty bool
--
--Returns true if the Animation has animation on the root transform.
--
---@source UnityEngine.AnimationModule.dll
---@field hasGenericRootTransform bool
--
--Returns true if the AnimationClip has editor curves for its root motion.
--
---@source UnityEngine.AnimationModule.dll
---@field hasMotionFloatCurves bool
--
--Returns true if the AnimationClip has root motion curves.
--
---@source UnityEngine.AnimationModule.dll
---@field hasMotionCurves bool
--
--Returns true if the AnimationClip has root Curves.
--
---@source UnityEngine.AnimationModule.dll
---@field hasRootCurves bool
--
--Animation Events for this animation clip.
--
---@source UnityEngine.AnimationModule.dll
---@field events UnityEngine.AnimationEvent[]
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimationClip = {}

--
--Samples an animation at a given time for any animated properties.
--
--```plaintext
--Params: go - The animated game object.
--        time - The time to sample an animation.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param go UnityEngine.GameObject
---@param time float
function CS.UnityEngine.AnimationClip.SampleAnimation(go, time) end

--
--Assigns the curve to animate a specific property.
--
--```plaintext
--Params: relativePath - Path to the game object this curve applies to. The relativePath
--        is formatted similar to a pathname, e.g. "rootspineleftArm".  If relativePath
--        is empty it refers to the game object the animation clip is attached to.
--        type - The class type of the component that is animated.
--        propertyName - The name or path to the property being animated.
--        curve - The animation curve.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param relativePath string
---@param type System.Type
---@param propertyName string
---@param curve UnityEngine.AnimationCurve
function CS.UnityEngine.AnimationClip.SetCurve(relativePath, type, propertyName, curve) end

--
--Realigns quaternion keys to ensure shortest interpolation paths.
--
---@source UnityEngine.AnimationModule.dll
function CS.UnityEngine.AnimationClip.EnsureQuaternionContinuity() end

--
--Clears all curves from the clip.
--
---@source UnityEngine.AnimationModule.dll
function CS.UnityEngine.AnimationClip.ClearCurves() end

--
--Adds an animation event to the clip.
--
--```plaintext
--Params: evt - AnimationEvent to add.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param evt UnityEngine.AnimationEvent
function CS.UnityEngine.AnimationClip.AddEvent(evt) end


--
--Target.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AvatarTarget: System.Enum
--
--The root, the position of the game object.
--
---@source UnityEngine.AnimationModule.dll
---@field Root UnityEngine.AvatarTarget
--
--The body, center of mass.
--
---@source UnityEngine.AnimationModule.dll
---@field Body UnityEngine.AvatarTarget
--
--The left foot.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftFoot UnityEngine.AvatarTarget
--
--The right foot.
--
---@source UnityEngine.AnimationModule.dll
---@field RightFoot UnityEngine.AvatarTarget
--
--The left hand.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftHand UnityEngine.AvatarTarget
--
--The right hand.
--
---@source UnityEngine.AnimationModule.dll
---@field RightHand UnityEngine.AvatarTarget
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AvatarTarget = {}

---@source 
---@param value any
---@return UnityEngine.AvatarTarget
function CS.UnityEngine.AvatarTarget:__CastFrom(value) end


--
--Information about what animation clips is played and its weight.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimationInfo: System.ValueType
--
--Animation clip that is played.
--
---@source UnityEngine.AnimationModule.dll
---@field clip UnityEngine.AnimationClip
--
--The weight of the animation clip.
--
---@source UnityEngine.AnimationModule.dll
---@field weight float
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimationInfo = {}


--
--Interface to control the Mecanim animation system.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.Animator: UnityEngine.Behaviour
--
--Returns true if the current rig is optimizable with AnimatorUtility.OptimizeTransformHierarchy.
--
---@source UnityEngine.AnimationModule.dll
---@field isOptimizable bool
--
--Returns true if the current rig is humanoid, false if it is generic.
--
---@source UnityEngine.AnimationModule.dll
---@field isHuman bool
--
--Returns true if the current rig has root motion.
--
---@source UnityEngine.AnimationModule.dll
---@field hasRootMotion bool
--
--Returns the scale of the current Avatar for a humanoid rig, (1 by default if the rig is generic).
--
---@source UnityEngine.AnimationModule.dll
---@field humanScale float
--
--Returns whether the animator is initialized successfully.
--
---@source UnityEngine.AnimationModule.dll
---@field isInitialized bool
--
--Gets the avatar delta position for the last evaluated frame.
--
---@source UnityEngine.AnimationModule.dll
---@field deltaPosition UnityEngine.Vector3
--
--Gets the avatar delta rotation for the last evaluated frame.
--
---@source UnityEngine.AnimationModule.dll
---@field deltaRotation UnityEngine.Quaternion
--
--Gets the avatar velocity  for the last evaluated frame.
--
---@source UnityEngine.AnimationModule.dll
---@field velocity UnityEngine.Vector3
--
--Gets the avatar angular velocity for the last evaluated frame.
--
---@source UnityEngine.AnimationModule.dll
---@field angularVelocity UnityEngine.Vector3
--
--The root position, the position of the game object.
--
---@source UnityEngine.AnimationModule.dll
---@field rootPosition UnityEngine.Vector3
--
--The root rotation, the rotation of the game object.
--
---@source UnityEngine.AnimationModule.dll
---@field rootRotation UnityEngine.Quaternion
--
--Should root motion be applied?
--
---@source UnityEngine.AnimationModule.dll
---@field applyRootMotion bool
--
--When linearVelocityBlending is set to true, the root motion velocity and angular velocity will be blended linearly.
--
---@source UnityEngine.AnimationModule.dll
---@field linearVelocityBlending bool
--
--When turned on, animations will be executed in the physics loop. This is only useful in conjunction with kinematic rigidbodies.
--
---@source UnityEngine.AnimationModule.dll
---@field animatePhysics bool
--
--Specifies the update mode of the Animator.
--
---@source UnityEngine.AnimationModule.dll
---@field updateMode UnityEngine.AnimatorUpdateMode
--
--Returns true if the object has a transform hierarchy.
--
---@source UnityEngine.AnimationModule.dll
---@field hasTransformHierarchy bool
--
--The current gravity weight based on current animations that are played.
--
---@source UnityEngine.AnimationModule.dll
---@field gravityWeight float
--
--The position of the body center of mass.
--
---@source UnityEngine.AnimationModule.dll
---@field bodyPosition UnityEngine.Vector3
--
--The rotation of the body center of mass.
--
---@source UnityEngine.AnimationModule.dll
---@field bodyRotation UnityEngine.Quaternion
--
--Automatic stabilization of feet during transition and blending.
--
---@source UnityEngine.AnimationModule.dll
---@field stabilizeFeet bool
--
--Returns the number of layers in the controller.
--
---@source UnityEngine.AnimationModule.dll
---@field layerCount int
--
--The AnimatorControllerParameter list used by the animator. (Read Only)
--
---@source UnityEngine.AnimationModule.dll
---@field parameters UnityEngine.AnimatorControllerParameter[]
--
--Returns the number of parameters in the controller.
--
---@source UnityEngine.AnimationModule.dll
---@field parameterCount int
--
--Blends pivot point between body center of mass and feet pivot.
--
---@source UnityEngine.AnimationModule.dll
---@field feetPivotActive float
--
--Gets the pivot weight.
--
---@source UnityEngine.AnimationModule.dll
---@field pivotWeight float
--
--Get the current position of the pivot.
--
---@source UnityEngine.AnimationModule.dll
---@field pivotPosition UnityEngine.Vector3
--
--If automatic matching is active.
--
---@source UnityEngine.AnimationModule.dll
---@field isMatchingTarget bool
--
--The playback speed of the Animator. 1 is normal playback speed.
--
---@source UnityEngine.AnimationModule.dll
---@field speed float
--
--Returns the position of the target specified by SetTarget.
--
---@source UnityEngine.AnimationModule.dll
---@field targetPosition UnityEngine.Vector3
--
--Returns the rotation of the target specified by SetTarget.
--
---@source UnityEngine.AnimationModule.dll
---@field targetRotation UnityEngine.Quaternion
--
--Controls culling of this Animator component.
--
---@source UnityEngine.AnimationModule.dll
---@field cullingMode UnityEngine.AnimatorCullingMode
--
--Sets the playback position in the recording buffer.
--
---@source UnityEngine.AnimationModule.dll
---@field playbackTime float
--
--Start time of the first frame of the buffer relative to the frame at which StartRecording was called.
--
---@source UnityEngine.AnimationModule.dll
---@field recorderStartTime float
--
--End time of the recorded clip relative to when StartRecording was called.
--
---@source UnityEngine.AnimationModule.dll
---@field recorderStopTime float
--
--Gets the mode of the Animator recorder.
--
---@source UnityEngine.AnimationModule.dll
---@field recorderMode UnityEngine.AnimatorRecorderMode
--
--The runtime representation of AnimatorController that controls the Animator.
--
---@source UnityEngine.AnimationModule.dll
---@field runtimeAnimatorController UnityEngine.RuntimeAnimatorController
--
--Returns true if Animator has any playables assigned to it.
--
---@source UnityEngine.AnimationModule.dll
---@field hasBoundPlayables bool
--
--Gets/Sets the current Avatar.
--
---@source UnityEngine.AnimationModule.dll
---@field avatar UnityEngine.Avatar
--
--The PlayableGraph created by the Animator.
--
---@source UnityEngine.AnimationModule.dll
---@field playableGraph UnityEngine.Playables.PlayableGraph
--
--Additional layers affects the center of mass.
--
---@source UnityEngine.AnimationModule.dll
---@field layersAffectMassCenter bool
--
--Get left foot bottom height.
--
---@source UnityEngine.AnimationModule.dll
---@field leftFeetBottomHeight float
--
--Get right foot bottom height.
--
---@source UnityEngine.AnimationModule.dll
---@field rightFeetBottomHeight float
---@source UnityEngine.AnimationModule.dll
---@field logWarnings bool
--
--Sets whether the Animator sends events of type AnimationEvent.
--
---@source UnityEngine.AnimationModule.dll
---@field fireEvents bool
--
--Controls the behaviour of the Animator component when a GameObject is disabled.
--
---@source UnityEngine.AnimationModule.dll
---@field keepAnimatorControllerStateOnDisable bool
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.Animator = {}

--
--Gets the list of AnimatorClipInfo currently played by the current state.
--
--```plaintext
--Params: layerIndex - The layer's index.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param layerIndex int
function CS.UnityEngine.Animator.GetCurrentAnimationClipState(layerIndex) end

--
--Gets the list of AnimatorClipInfo currently played by the next state.
--
--```plaintext
--Params: layerIndex - The layer's index.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param layerIndex int
function CS.UnityEngine.Animator.GetNextAnimationClipState(layerIndex) end

---@source UnityEngine.AnimationModule.dll
function CS.UnityEngine.Animator.Stop() end

--
--The value of the parameter.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@return Single
function CS.UnityEngine.Animator.GetFloat(name) end

--
--The value of the parameter.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param id int
---@return Single
function CS.UnityEngine.Animator.GetFloat(id) end

--
--Send float values to the Animator to affect transitions.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        value - The new parameter value.
--        dampTime - The damper total time.
--        deltaTime - The delta time to give to the damper.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@param value float
function CS.UnityEngine.Animator.SetFloat(name, value) end

--
--Send float values to the Animator to affect transitions.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        value - The new parameter value.
--        dampTime - The damper total time.
--        deltaTime - The delta time to give to the damper.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@param value float
---@param dampTime float
---@param deltaTime float
function CS.UnityEngine.Animator.SetFloat(name, value, dampTime, deltaTime) end

--
--Send float values to the Animator to affect transitions.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        value - The new parameter value.
--        dampTime - The damper total time.
--        deltaTime - The delta time to give to the damper.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param id int
---@param value float
function CS.UnityEngine.Animator.SetFloat(id, value) end

--
--Send float values to the Animator to affect transitions.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        value - The new parameter value.
--        dampTime - The damper total time.
--        deltaTime - The delta time to give to the damper.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param id int
---@param value float
---@param dampTime float
---@param deltaTime float
function CS.UnityEngine.Animator.SetFloat(id, value, dampTime, deltaTime) end

--
--The value of the parameter.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@return Boolean
function CS.UnityEngine.Animator.GetBool(name) end

--
--The value of the parameter.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param id int
---@return Boolean
function CS.UnityEngine.Animator.GetBool(id) end

--
--Sets the value of the given boolean parameter.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        value - The new parameter value.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@param value bool
function CS.UnityEngine.Animator.SetBool(name, value) end

--
--Sets the value of the given boolean parameter.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        value - The new parameter value.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param id int
---@param value bool
function CS.UnityEngine.Animator.SetBool(id, value) end

--
--The value of the parameter.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@return Int32
function CS.UnityEngine.Animator.GetInteger(name) end

--
--The value of the parameter.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param id int
---@return Int32
function CS.UnityEngine.Animator.GetInteger(id) end

--
--Sets the value of the given integer parameter.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        value - The new parameter value.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@param value int
function CS.UnityEngine.Animator.SetInteger(name, value) end

--
--Sets the value of the given integer parameter.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        value - The new parameter value.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param id int
---@param value int
function CS.UnityEngine.Animator.SetInteger(id, value) end

--
--Sets the value of the given trigger parameter.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param name string
function CS.UnityEngine.Animator.SetTrigger(name) end

--
--Sets the value of the given trigger parameter.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param id int
function CS.UnityEngine.Animator.SetTrigger(id) end

--
--Resets the value of the given trigger parameter.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param name string
function CS.UnityEngine.Animator.ResetTrigger(name) end

--
--Resets the value of the given trigger parameter.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param id int
function CS.UnityEngine.Animator.ResetTrigger(id) end

--
--True if the parameter is controlled by a curve, false otherwise.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@return Boolean
function CS.UnityEngine.Animator.IsParameterControlledByCurve(name) end

--
--True if the parameter is controlled by a curve, false otherwise.
--
--```plaintext
--Params: name - The parameter name.
--        id - The parameter ID.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param id int
---@return Boolean
function CS.UnityEngine.Animator.IsParameterControlledByCurve(id) end

--
--Return the current position of this IK goal in world space.
--
--```plaintext
--Params: goal - The AvatarIKGoal that is queried.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param goal UnityEngine.AvatarIKGoal
---@return Vector3
function CS.UnityEngine.Animator.GetIKPosition(goal) end

--
--Sets the position of an IK goal.
--
--```plaintext
--Params: goal - The AvatarIKGoal that is set.
--        goalPosition - The position in world space.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param goal UnityEngine.AvatarIKGoal
---@param goalPosition UnityEngine.Vector3
function CS.UnityEngine.Animator.SetIKPosition(goal, goalPosition) end

--
--Gets the rotation of an IK goal.
--
--```plaintext
--Params: goal - The AvatarIKGoal that is is queried.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param goal UnityEngine.AvatarIKGoal
---@return Quaternion
function CS.UnityEngine.Animator.GetIKRotation(goal) end

--
--Sets the rotation of an IK goal.
--
--```plaintext
--Params: goal - The AvatarIKGoal that is set.
--        goalRotation - The rotation in world space.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param goal UnityEngine.AvatarIKGoal
---@param goalRotation UnityEngine.Quaternion
function CS.UnityEngine.Animator.SetIKRotation(goal, goalRotation) end

--
--Gets the translative weight of an IK goal (0 = at the original animation before IK, 1 = at the goal).
--
--```plaintext
--Params: goal - The AvatarIKGoal that is queried.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param goal UnityEngine.AvatarIKGoal
---@return Single
function CS.UnityEngine.Animator.GetIKPositionWeight(goal) end

--
--Sets the translative weight of an IK goal (0 = at the original animation before IK, 1 = at the goal).
--
--```plaintext
--Params: goal - The AvatarIKGoal that is set.
--        value - The translative weight.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param goal UnityEngine.AvatarIKGoal
---@param value float
function CS.UnityEngine.Animator.SetIKPositionWeight(goal, value) end

--
--Gets the rotational weight of an IK goal (0 = rotation before IK, 1 = rotation at the IK goal).
--
--```plaintext
--Params: goal - The AvatarIKGoal that is queried.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param goal UnityEngine.AvatarIKGoal
---@return Single
function CS.UnityEngine.Animator.GetIKRotationWeight(goal) end

--
--Sets the rotational weight of an IK goal (0 = rotation before IK, 1 = rotation at the IK goal).
--
--```plaintext
--Params: goal - The AvatarIKGoal that is set.
--        value - The rotational weight.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param goal UnityEngine.AvatarIKGoal
---@param value float
function CS.UnityEngine.Animator.SetIKRotationWeight(goal, value) end

--
--Return the current position of this IK hint in world space.
--
--```plaintext
--Params: hint - The AvatarIKHint that is queried.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param hint UnityEngine.AvatarIKHint
---@return Vector3
function CS.UnityEngine.Animator.GetIKHintPosition(hint) end

--
--Sets the position of an IK hint.
--
--```plaintext
--Params: hint - The AvatarIKHint that is set.
--        hintPosition - The position in world space.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param hint UnityEngine.AvatarIKHint
---@param hintPosition UnityEngine.Vector3
function CS.UnityEngine.Animator.SetIKHintPosition(hint, hintPosition) end

--
--Return translative weight.
--
--```plaintext
--Params: hint - The AvatarIKHint that is queried.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param hint UnityEngine.AvatarIKHint
---@return Single
function CS.UnityEngine.Animator.GetIKHintPositionWeight(hint) end

--
--Sets the translative weight of an IK hint (0 = at the original animation before IK, 1 = at the hint).
--
--```plaintext
--Params: hint - The AvatarIKHint that is set.
--        value - The translative weight.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param hint UnityEngine.AvatarIKHint
---@param value float
function CS.UnityEngine.Animator.SetIKHintPositionWeight(hint, value) end

--
--Sets the look at position.
--
--```plaintext
--Params: lookAtPosition - The position to lookAt.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param lookAtPosition UnityEngine.Vector3
function CS.UnityEngine.Animator.SetLookAtPosition(lookAtPosition) end

--
--Set look at weights.
--
--```plaintext
--Params: weight - (0-1) the global weight of the LookAt, multiplier for other parameters.
--        bodyWeight - (0-1) determines how much the body is involved in the LookAt.
--        headWeight - (0-1) determines how much the head is involved in the LookAt.
--        eyesWeight - (0-1) determines how much the eyes are involved in the LookAt.
--        clampWeight - (0-1) 0.0 means the character is completely unrestrained in motion, 1.0 means he's completely clamped (look at becomes impossible), and 0.5 means he'll be able to move on half of the possible range (180 degrees).
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param weight float
function CS.UnityEngine.Animator.SetLookAtWeight(weight) end

--
--Set look at weights.
--
--```plaintext
--Params: weight - (0-1) the global weight of the LookAt, multiplier for other parameters.
--        bodyWeight - (0-1) determines how much the body is involved in the LookAt.
--        headWeight - (0-1) determines how much the head is involved in the LookAt.
--        eyesWeight - (0-1) determines how much the eyes are involved in the LookAt.
--        clampWeight - (0-1) 0.0 means the character is completely unrestrained in motion, 1.0 means he's completely clamped (look at becomes impossible), and 0.5 means he'll be able to move on half of the possible range (180 degrees).
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param weight float
---@param bodyWeight float
function CS.UnityEngine.Animator.SetLookAtWeight(weight, bodyWeight) end

--
--Set look at weights.
--
--```plaintext
--Params: weight - (0-1) the global weight of the LookAt, multiplier for other parameters.
--        bodyWeight - (0-1) determines how much the body is involved in the LookAt.
--        headWeight - (0-1) determines how much the head is involved in the LookAt.
--        eyesWeight - (0-1) determines how much the eyes are involved in the LookAt.
--        clampWeight - (0-1) 0.0 means the character is completely unrestrained in motion, 1.0 means he's completely clamped (look at becomes impossible), and 0.5 means he'll be able to move on half of the possible range (180 degrees).
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param weight float
---@param bodyWeight float
---@param headWeight float
function CS.UnityEngine.Animator.SetLookAtWeight(weight, bodyWeight, headWeight) end

--
--Set look at weights.
--
--```plaintext
--Params: weight - (0-1) the global weight of the LookAt, multiplier for other parameters.
--        bodyWeight - (0-1) determines how much the body is involved in the LookAt.
--        headWeight - (0-1) determines how much the head is involved in the LookAt.
--        eyesWeight - (0-1) determines how much the eyes are involved in the LookAt.
--        clampWeight - (0-1) 0.0 means the character is completely unrestrained in motion, 1.0 means he's completely clamped (look at becomes impossible), and 0.5 means he'll be able to move on half of the possible range (180 degrees).
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param weight float
---@param bodyWeight float
---@param headWeight float
---@param eyesWeight float
function CS.UnityEngine.Animator.SetLookAtWeight(weight, bodyWeight, headWeight, eyesWeight) end

--
--Set look at weights.
--
--```plaintext
--Params: weight - (0-1) the global weight of the LookAt, multiplier for other parameters.
--        bodyWeight - (0-1) determines how much the body is involved in the LookAt.
--        headWeight - (0-1) determines how much the head is involved in the LookAt.
--        eyesWeight - (0-1) determines how much the eyes are involved in the LookAt.
--        clampWeight - (0-1) 0.0 means the character is completely unrestrained in motion, 1.0 means he's completely clamped (look at becomes impossible), and 0.5 means he'll be able to move on half of the possible range (180 degrees).
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param weight float
---@param bodyWeight float
---@param headWeight float
---@param eyesWeight float
---@param clampWeight float
function CS.UnityEngine.Animator.SetLookAtWeight(weight, bodyWeight, headWeight, eyesWeight, clampWeight) end

--
--Sets local rotation of a human bone during a IK pass.
--
--```plaintext
--Params: humanBoneId - The human bone Id.
--        rotation - The local rotation.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param humanBoneId UnityEngine.HumanBodyBones
---@param rotation UnityEngine.Quaternion
function CS.UnityEngine.Animator.SetBoneLocalRotation(humanBoneId, rotation) end

---@source UnityEngine.AnimationModule.dll
---@return T
function CS.UnityEngine.Animator.GetBehaviour() end

---@source UnityEngine.AnimationModule.dll
function CS.UnityEngine.Animator.GetBehaviours() end

---@source UnityEngine.AnimationModule.dll
---@param fullPathHash int
---@param layerIndex int
function CS.UnityEngine.Animator.GetBehaviours(fullPathHash, layerIndex) end

--
--The layer name.
--
--```plaintext
--Params: layerIndex - The layer index.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param layerIndex int
---@return String
function CS.UnityEngine.Animator.GetLayerName(layerIndex) end

--
--The layer index.
--
--```plaintext
--Params: layerName - The layer name.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param layerName string
---@return Int32
function CS.UnityEngine.Animator.GetLayerIndex(layerName) end

--
--The layer weight.
--
--```plaintext
--Params: layerIndex - The layer index.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param layerIndex int
---@return Single
function CS.UnityEngine.Animator.GetLayerWeight(layerIndex) end

--
--Sets the weight of the layer at the given index.
--
--```plaintext
--Params: layerIndex - The layer index.
--        weight - The new layer weight.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param layerIndex int
---@param weight float
function CS.UnityEngine.Animator.SetLayerWeight(layerIndex, weight) end

--
--An AnimatorStateInfo with the information on the current state.
--
--```plaintext
--Params: layerIndex - The layer index.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param layerIndex int
---@return AnimatorStateInfo
function CS.UnityEngine.Animator.GetCurrentAnimatorStateInfo(layerIndex) end

--
--An AnimatorStateInfo with the information on the next state.
--
--```plaintext
--Params: layerIndex - The layer index.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param layerIndex int
---@return AnimatorStateInfo
function CS.UnityEngine.Animator.GetNextAnimatorStateInfo(layerIndex) end

--
--An AnimatorTransitionInfo with the informations on the current transition.
--
--```plaintext
--Params: layerIndex - The layer's index.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param layerIndex int
---@return AnimatorTransitionInfo
function CS.UnityEngine.Animator.GetAnimatorTransitionInfo(layerIndex) end

--
--The number of AnimatorClipInfo in the current state.
--
--```plaintext
--Params: layerIndex - The layer index.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param layerIndex int
---@return Int32
function CS.UnityEngine.Animator.GetCurrentAnimatorClipInfoCount(layerIndex) end

--
--The number of AnimatorClipInfo in the next state.
--
--```plaintext
--Params: layerIndex - The layer index.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param layerIndex int
---@return Int32
function CS.UnityEngine.Animator.GetNextAnimatorClipInfoCount(layerIndex) end

--
--An array of all the AnimatorClipInfo in the current state.
--
--```plaintext
--Params: layerIndex - The layer index.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param layerIndex int
function CS.UnityEngine.Animator.GetCurrentAnimatorClipInfo(layerIndex) end

--
--An array of all the AnimatorClipInfo in the next state.
--
--```plaintext
--Params: layerIndex - The layer index.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param layerIndex int
function CS.UnityEngine.Animator.GetNextAnimatorClipInfo(layerIndex) end

---@source UnityEngine.AnimationModule.dll
---@param layerIndex int
---@param clips System.Collections.Generic.List<UnityEngine.AnimatorClipInfo>
function CS.UnityEngine.Animator.GetCurrentAnimatorClipInfo(layerIndex, clips) end

---@source UnityEngine.AnimationModule.dll
---@param layerIndex int
---@param clips System.Collections.Generic.List<UnityEngine.AnimatorClipInfo>
function CS.UnityEngine.Animator.GetNextAnimatorClipInfo(layerIndex, clips) end

--
--True if there is a transition on the given layer, false otherwise.
--
--```plaintext
--Params: layerIndex - The layer index.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param layerIndex int
---@return Boolean
function CS.UnityEngine.Animator.IsInTransition(layerIndex) end

--
--See AnimatorController.parameters.
--
---@source UnityEngine.AnimationModule.dll
---@param index int
---@return AnimatorControllerParameter
function CS.UnityEngine.Animator.GetParameter(index) end

---@source UnityEngine.AnimationModule.dll
---@param matchPosition UnityEngine.Vector3
---@param matchRotation UnityEngine.Quaternion
---@param targetBodyPart UnityEngine.AvatarTarget
---@param weightMask UnityEngine.MatchTargetWeightMask
---@param startNormalizedTime float
function CS.UnityEngine.Animator.MatchTarget(matchPosition, matchRotation, targetBodyPart, weightMask, startNormalizedTime) end

--
--Automatically adjust the GameObject position and rotation.
--
--```plaintext
--Params: matchPosition - The position we want the body part to reach.
--        matchRotation - The rotation in which we want the body part to be.
--        targetBodyPart - The body part that is involved in the match.
--        weightMask - Structure that contains weights for matching position and rotation.
--        startNormalizedTime - Start time within the animation clip (0 - beginning of clip, 1 - end of clip).
--        targetNormalizedTime - End time within the animation clip (0 - beginning of clip, 1 - end of clip), values greater than 1 can be set to trigger a match after a certain number of loops. Ex: 2.3 means at 30% of 2nd loop.
--        completeMatch - Allows you to specify what should happen if the MatchTarget function is interrupted. A value of true causes the GameObject to immediately move to the matchPosition if interrupted. A value of false causes the GameObject to stay at its current position if interrupted.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param matchPosition UnityEngine.Vector3
---@param matchRotation UnityEngine.Quaternion
---@param targetBodyPart UnityEngine.AvatarTarget
---@param weightMask UnityEngine.MatchTargetWeightMask
---@param startNormalizedTime float
---@param targetNormalizedTime float
function CS.UnityEngine.Animator.MatchTarget(matchPosition, matchRotation, targetBodyPart, weightMask, startNormalizedTime, targetNormalizedTime) end

---@source UnityEngine.AnimationModule.dll
---@param matchPosition UnityEngine.Vector3
---@param matchRotation UnityEngine.Quaternion
---@param targetBodyPart UnityEngine.AvatarTarget
---@param weightMask UnityEngine.MatchTargetWeightMask
---@param startNormalizedTime float
---@param targetNormalizedTime float
---@param completeMatch bool
function CS.UnityEngine.Animator.MatchTarget(matchPosition, matchRotation, targetBodyPart, weightMask, startNormalizedTime, targetNormalizedTime, completeMatch) end

--
--Interrupts the automatic target matching.
--
---@source UnityEngine.AnimationModule.dll
function CS.UnityEngine.Animator.InterruptMatchTarget() end

--
--Interrupts the automatic target matching.
--
---@source UnityEngine.AnimationModule.dll
---@param completeMatch bool
function CS.UnityEngine.Animator.InterruptMatchTarget(completeMatch) end

---@source UnityEngine.AnimationModule.dll
---@param normalizedTime float
function CS.UnityEngine.Animator.ForceStateNormalizedTime(normalizedTime) end

---@source UnityEngine.AnimationModule.dll
---@param stateName string
---@param fixedTransitionDuration float
function CS.UnityEngine.Animator.CrossFadeInFixedTime(stateName, fixedTransitionDuration) end

---@source UnityEngine.AnimationModule.dll
---@param stateName string
---@param fixedTransitionDuration float
---@param layer int
function CS.UnityEngine.Animator.CrossFadeInFixedTime(stateName, fixedTransitionDuration, layer) end

---@source UnityEngine.AnimationModule.dll
---@param stateName string
---@param fixedTransitionDuration float
---@param layer int
---@param fixedTimeOffset float
function CS.UnityEngine.Animator.CrossFadeInFixedTime(stateName, fixedTransitionDuration, layer, fixedTimeOffset) end

--
--Creates a crossfade from the current state to any other state using times in seconds.
--
--```plaintext
--Params: stateName - The name of the state.
--        stateHashName - The hash name of the state.
--        fixedTransitionDuration - The duration of the transition (in seconds).
--        layer - The layer where the crossfade occurs.
--        fixedTimeOffset - The time of the state (in seconds).
--        normalizedTransitionTime - The time of the transition (normalized).
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param stateName string
---@param fixedTransitionDuration float
---@param layer int
---@param fixedTimeOffset float
---@param normalizedTransitionTime float
function CS.UnityEngine.Animator.CrossFadeInFixedTime(stateName, fixedTransitionDuration, layer, fixedTimeOffset, normalizedTransitionTime) end

---@source UnityEngine.AnimationModule.dll
---@param stateHashName int
---@param fixedTransitionDuration float
---@param layer int
---@param fixedTimeOffset float
function CS.UnityEngine.Animator.CrossFadeInFixedTime(stateHashName, fixedTransitionDuration, layer, fixedTimeOffset) end

---@source UnityEngine.AnimationModule.dll
---@param stateHashName int
---@param fixedTransitionDuration float
---@param layer int
function CS.UnityEngine.Animator.CrossFadeInFixedTime(stateHashName, fixedTransitionDuration, layer) end

---@source UnityEngine.AnimationModule.dll
---@param stateHashName int
---@param fixedTransitionDuration float
function CS.UnityEngine.Animator.CrossFadeInFixedTime(stateHashName, fixedTransitionDuration) end

--
--Creates a crossfade from the current state to any other state using times in seconds.
--
--```plaintext
--Params: stateName - The name of the state.
--        stateHashName - The hash name of the state.
--        fixedTransitionDuration - The duration of the transition (in seconds).
--        layer - The layer where the crossfade occurs.
--        fixedTimeOffset - The time of the state (in seconds).
--        normalizedTransitionTime - The time of the transition (normalized).
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param stateHashName int
---@param fixedTransitionDuration float
---@param layer int
---@param fixedTimeOffset float
---@param normalizedTransitionTime float
function CS.UnityEngine.Animator.CrossFadeInFixedTime(stateHashName, fixedTransitionDuration, layer, fixedTimeOffset, normalizedTransitionTime) end

--
--Forces a write of the default values stored in the animator.
--
---@source UnityEngine.AnimationModule.dll
function CS.UnityEngine.Animator.WriteDefaultValues() end

---@source UnityEngine.AnimationModule.dll
---@param stateName string
---@param normalizedTransitionDuration float
---@param layer int
---@param normalizedTimeOffset float
function CS.UnityEngine.Animator.CrossFade(stateName, normalizedTransitionDuration, layer, normalizedTimeOffset) end

---@source UnityEngine.AnimationModule.dll
---@param stateName string
---@param normalizedTransitionDuration float
---@param layer int
function CS.UnityEngine.Animator.CrossFade(stateName, normalizedTransitionDuration, layer) end

---@source UnityEngine.AnimationModule.dll
---@param stateName string
---@param normalizedTransitionDuration float
function CS.UnityEngine.Animator.CrossFade(stateName, normalizedTransitionDuration) end

--
--Creates a crossfade from the current state to any other state using normalized times.
--
--```plaintext
--Params: stateName - The name of the state.
--        stateHashName - The hash name of the state.
--        normalizedTransitionDuration - The duration of the transition (normalized).
--        layer - The layer where the crossfade occurs.
--        normalizedTimeOffset - The time of the state (normalized).
--        normalizedTransitionTime - The time of the transition (normalized).
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param stateName string
---@param normalizedTransitionDuration float
---@param layer int
---@param normalizedTimeOffset float
---@param normalizedTransitionTime float
function CS.UnityEngine.Animator.CrossFade(stateName, normalizedTransitionDuration, layer, normalizedTimeOffset, normalizedTransitionTime) end

--
--Creates a crossfade from the current state to any other state using normalized times.
--
--```plaintext
--Params: stateName - The name of the state.
--        stateHashName - The hash name of the state.
--        normalizedTransitionDuration - The duration of the transition (normalized).
--        layer - The layer where the crossfade occurs.
--        normalizedTimeOffset - The time of the state (normalized).
--        normalizedTransitionTime - The time of the transition (normalized).
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param stateHashName int
---@param normalizedTransitionDuration float
---@param layer int
---@param normalizedTimeOffset float
---@param normalizedTransitionTime float
function CS.UnityEngine.Animator.CrossFade(stateHashName, normalizedTransitionDuration, layer, normalizedTimeOffset, normalizedTransitionTime) end

---@source UnityEngine.AnimationModule.dll
---@param stateHashName int
---@param normalizedTransitionDuration float
---@param layer int
---@param normalizedTimeOffset float
function CS.UnityEngine.Animator.CrossFade(stateHashName, normalizedTransitionDuration, layer, normalizedTimeOffset) end

---@source UnityEngine.AnimationModule.dll
---@param stateHashName int
---@param normalizedTransitionDuration float
---@param layer int
function CS.UnityEngine.Animator.CrossFade(stateHashName, normalizedTransitionDuration, layer) end

---@source UnityEngine.AnimationModule.dll
---@param stateHashName int
---@param normalizedTransitionDuration float
function CS.UnityEngine.Animator.CrossFade(stateHashName, normalizedTransitionDuration) end

---@source UnityEngine.AnimationModule.dll
---@param stateName string
---@param layer int
function CS.UnityEngine.Animator.PlayInFixedTime(stateName, layer) end

---@source UnityEngine.AnimationModule.dll
---@param stateName string
function CS.UnityEngine.Animator.PlayInFixedTime(stateName) end

--
--Plays a state.
--
--```plaintext
--Params: stateName - The state name.
--        stateNameHash - The state hash name. If stateNameHash is 0, it changes the current state time.
--        layer - The layer index. If layer is -1, it plays the first state with the given state name or hash.
--        fixedTime - The time offset (in seconds).
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param stateName string
---@param layer int
---@param fixedTime float
function CS.UnityEngine.Animator.PlayInFixedTime(stateName, layer, fixedTime) end

--
--Plays a state.
--
--```plaintext
--Params: stateName - The state name.
--        stateNameHash - The state hash name. If stateNameHash is 0, it changes the current state time.
--        layer - The layer index. If layer is -1, it plays the first state with the given state name or hash.
--        fixedTime - The time offset (in seconds).
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param stateNameHash int
---@param layer int
---@param fixedTime float
function CS.UnityEngine.Animator.PlayInFixedTime(stateNameHash, layer, fixedTime) end

---@source UnityEngine.AnimationModule.dll
---@param stateNameHash int
---@param layer int
function CS.UnityEngine.Animator.PlayInFixedTime(stateNameHash, layer) end

---@source UnityEngine.AnimationModule.dll
---@param stateNameHash int
function CS.UnityEngine.Animator.PlayInFixedTime(stateNameHash) end

---@source UnityEngine.AnimationModule.dll
---@param stateName string
---@param layer int
function CS.UnityEngine.Animator.Play(stateName, layer) end

---@source UnityEngine.AnimationModule.dll
---@param stateName string
function CS.UnityEngine.Animator.Play(stateName) end

--
--Plays a state.
--
--```plaintext
--Params: stateName - The state name.
--        stateNameHash - The state hash name. If stateNameHash is 0, it changes the current state time.
--        layer - The layer index. If layer is -1, it plays the first state with the given state name or hash.
--        normalizedTime - The time offset between zero and one.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param stateName string
---@param layer int
---@param normalizedTime float
function CS.UnityEngine.Animator.Play(stateName, layer, normalizedTime) end

--
--Plays a state.
--
--```plaintext
--Params: stateName - The state name.
--        stateNameHash - The state hash name. If stateNameHash is 0, it changes the current state time.
--        layer - The layer index. If layer is -1, it plays the first state with the given state name or hash.
--        normalizedTime - The time offset between zero and one.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param stateNameHash int
---@param layer int
---@param normalizedTime float
function CS.UnityEngine.Animator.Play(stateNameHash, layer, normalizedTime) end

---@source UnityEngine.AnimationModule.dll
---@param stateNameHash int
---@param layer int
function CS.UnityEngine.Animator.Play(stateNameHash, layer) end

---@source UnityEngine.AnimationModule.dll
---@param stateNameHash int
function CS.UnityEngine.Animator.Play(stateNameHash) end

--
--Sets an AvatarTarget and a targetNormalizedTime for the current state.
--
--```plaintext
--Params: targetIndex - The avatar body part that is queried.
--        targetNormalizedTime - The current state Time that is queried.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param targetIndex UnityEngine.AvatarTarget
---@param targetNormalizedTime float
function CS.UnityEngine.Animator.SetTarget(targetIndex, targetNormalizedTime) end

--
--Returns true if the transform is controlled by the Animator\.
--
--```plaintext
--Params: transform - The transform that is queried.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param transform UnityEngine.Transform
---@return Boolean
function CS.UnityEngine.Animator.IsControlled(transform) end

--
--Returns Transform mapped to this human bone id.
--
--```plaintext
--Params: humanBoneId - The human bone that is queried, see enum HumanBodyBones for a list of possible values.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param humanBoneId UnityEngine.HumanBodyBones
---@return Transform
function CS.UnityEngine.Animator.GetBoneTransform(humanBoneId) end

--
--Sets the animator in playback mode.
--
---@source UnityEngine.AnimationModule.dll
function CS.UnityEngine.Animator.StartPlayback() end

--
--Stops the animator playback mode. When playback stops, the avatar resumes getting control from game logic.
--
---@source UnityEngine.AnimationModule.dll
function CS.UnityEngine.Animator.StopPlayback() end

--
--Sets the animator in recording mode, and allocates a circular buffer of size frameCount.
--
--```plaintext
--Params: frameCount - The number of frames (updates) that will be recorded. If frameCount is 0, the recording will continue until the user calls StopRecording. The maximum value for frameCount is 10000.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param frameCount int
function CS.UnityEngine.Animator.StartRecording(frameCount) end

--
--Stops animator record mode.
--
---@source UnityEngine.AnimationModule.dll
function CS.UnityEngine.Animator.StopRecording() end

--
--True if the state exists in this layer, false otherwise.
--
--```plaintext
--Params: layerIndex - The layer index.
--        stateID - The state ID.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param layerIndex int
---@param stateID int
---@return Boolean
function CS.UnityEngine.Animator.HasState(layerIndex, stateID) end

--
--Generates an parameter id from a string.
--
--```plaintext
--Params: name - The string to convert to Id.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@return Int32
function CS.UnityEngine.Animator:StringToHash(name) end

--
--Evaluates the animator based on deltaTime.
--
--```plaintext
--Params: deltaTime - The time delta.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param deltaTime float
function CS.UnityEngine.Animator.Update(deltaTime) end

--
--Rebind all the animated properties and mesh data with the Animator.
--
---@source UnityEngine.AnimationModule.dll
function CS.UnityEngine.Animator.Rebind() end

--
--Apply the default Root Motion.
--
---@source UnityEngine.AnimationModule.dll
function CS.UnityEngine.Animator.ApplyBuiltinRootMotion() end

--
--Gets the value of a vector parameter.
--
--```plaintext
--Params: name - The name of the parameter.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@return Vector3
function CS.UnityEngine.Animator.GetVector(name) end

--
--Gets the value of a vector parameter.
--
--```plaintext
--Params: id - The id of the parameter. The id is generated using Animator::StringToHash.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param id int
---@return Vector3
function CS.UnityEngine.Animator.GetVector(id) end

--
--Sets the value of a vector parameter.
--
--```plaintext
--Params: name - The name of the parameter.
--        value - The new value for the parameter.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@param value UnityEngine.Vector3
function CS.UnityEngine.Animator.SetVector(name, value) end

--
--Sets the value of a vector parameter.
--
--```plaintext
--Params: id - The id of the parameter. The id is generated using Animator::StringToHash.
--        value - The new value for the parameter.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param id int
---@param value UnityEngine.Vector3
function CS.UnityEngine.Animator.SetVector(id, value) end

--
--Gets the value of a quaternion parameter.
--
--```plaintext
--Params: name - The name of the parameter.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@return Quaternion
function CS.UnityEngine.Animator.GetQuaternion(name) end

--
--Gets the value of a quaternion parameter.
--
--```plaintext
--Params: id - The id of the parameter. The id is generated using Animator::StringToHash.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param id int
---@return Quaternion
function CS.UnityEngine.Animator.GetQuaternion(id) end

--
--Sets the value of a quaternion parameter.
--
--```plaintext
--Params: name - The name of the parameter.
--        value - The new value for the parameter.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@param value UnityEngine.Quaternion
function CS.UnityEngine.Animator.SetQuaternion(name, value) end

--
--Sets the value of a quaternion parameter.
--
--```plaintext
--Params: id - Of the parameter. The id is generated using Animator::StringToHash.
--        value - The new value for the parameter.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param id int
---@param value UnityEngine.Quaternion
function CS.UnityEngine.Animator.SetQuaternion(id, value) end


--
--IK Goal.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AvatarIKGoal: System.Enum
--
--The left foot.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftFoot UnityEngine.AvatarIKGoal
--
--The right foot.
--
---@source UnityEngine.AnimationModule.dll
---@field RightFoot UnityEngine.AvatarIKGoal
--
--The left hand.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftHand UnityEngine.AvatarIKGoal
--
--The right hand.
--
---@source UnityEngine.AnimationModule.dll
---@field RightHand UnityEngine.AvatarIKGoal
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AvatarIKGoal = {}

---@source 
---@param value any
---@return UnityEngine.AvatarIKGoal
function CS.UnityEngine.AvatarIKGoal:__CastFrom(value) end


--
--IK Hint.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AvatarIKHint: System.Enum
--
--The left knee IK hint.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftKnee UnityEngine.AvatarIKHint
--
--The right knee IK hint.
--
---@source UnityEngine.AnimationModule.dll
---@field RightKnee UnityEngine.AvatarIKHint
--
--The left elbow IK hint.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftElbow UnityEngine.AvatarIKHint
--
--The right elbow IK hint.
--
---@source UnityEngine.AnimationModule.dll
---@field RightElbow UnityEngine.AvatarIKHint
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AvatarIKHint = {}

---@source 
---@param value any
---@return UnityEngine.AvatarIKHint
function CS.UnityEngine.AvatarIKHint:__CastFrom(value) end


--
--The type of the parameter.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimatorControllerParameterType: System.Enum
--
--Float type parameter.
--
---@source UnityEngine.AnimationModule.dll
---@field Float UnityEngine.AnimatorControllerParameterType
--
--Int type parameter.
--
---@source UnityEngine.AnimationModule.dll
---@field Int UnityEngine.AnimatorControllerParameterType
--
--Boolean type parameter.
--
---@source UnityEngine.AnimationModule.dll
---@field Bool UnityEngine.AnimatorControllerParameterType
--
--Trigger type parameter.
--
---@source UnityEngine.AnimationModule.dll
---@field Trigger UnityEngine.AnimatorControllerParameterType
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimatorControllerParameterType = {}

---@source 
---@param value any
---@return UnityEngine.AnimatorControllerParameterType
function CS.UnityEngine.AnimatorControllerParameterType:__CastFrom(value) end


--
--The mode of the Animator's recorder.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimatorRecorderMode: System.Enum
--
--The Animator recorder is offline.
--
---@source UnityEngine.AnimationModule.dll
---@field Offline UnityEngine.AnimatorRecorderMode
--
--The Animator recorder is in Playback.
--
---@source UnityEngine.AnimationModule.dll
---@field Playback UnityEngine.AnimatorRecorderMode
--
--The Animator recorder is in Record.
--
---@source UnityEngine.AnimationModule.dll
---@field Record UnityEngine.AnimatorRecorderMode
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimatorRecorderMode = {}

---@source 
---@param value any
---@return UnityEngine.AnimatorRecorderMode
function CS.UnityEngine.AnimatorRecorderMode:__CastFrom(value) end


--
--Describe the unit of a duration.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.DurationUnit: System.Enum
--
--A fixed duration is a duration expressed in seconds.
--
---@source UnityEngine.AnimationModule.dll
---@field Fixed UnityEngine.DurationUnit
--
--A normalized duration is a duration expressed in percentage.
--
---@source UnityEngine.AnimationModule.dll
---@field Normalized UnityEngine.DurationUnit
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.DurationUnit = {}

---@source 
---@param value any
---@return UnityEngine.DurationUnit
function CS.UnityEngine.DurationUnit:__CastFrom(value) end


--
--Culling mode for the Animator.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimatorCullingMode: System.Enum
--
--Always animate the entire character. Object is animated even when offscreen.
--
---@source UnityEngine.AnimationModule.dll
---@field AlwaysAnimate UnityEngine.AnimatorCullingMode
--
--Retarget, IK and write of Transforms are disabled when renderers are not visible.
--
---@source UnityEngine.AnimationModule.dll
---@field CullUpdateTransforms UnityEngine.AnimatorCullingMode
--
--Animation is completely disabled when renderers are not visible.
--
---@source UnityEngine.AnimationModule.dll
---@field CullCompletely UnityEngine.AnimatorCullingMode
---@source UnityEngine.AnimationModule.dll
---@field BasedOnRenderers UnityEngine.AnimatorCullingMode
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimatorCullingMode = {}

---@source 
---@param value any
---@return UnityEngine.AnimatorCullingMode
function CS.UnityEngine.AnimatorCullingMode:__CastFrom(value) end


--
--The update mode of the Animator.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimatorUpdateMode: System.Enum
--
--Normal update of the animator.
--
---@source UnityEngine.AnimationModule.dll
---@field Normal UnityEngine.AnimatorUpdateMode
--
--Updates the animator during the physic loop in order to have the animation system synchronized with the physics engine.
--
---@source UnityEngine.AnimationModule.dll
---@field AnimatePhysics UnityEngine.AnimatorUpdateMode
--
--Animator updates independently of Time.timeScale.
--
---@source UnityEngine.AnimationModule.dll
---@field UnscaledTime UnityEngine.AnimatorUpdateMode
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimatorUpdateMode = {}

---@source 
---@param value any
---@return UnityEngine.AnimatorUpdateMode
function CS.UnityEngine.AnimatorUpdateMode:__CastFrom(value) end


--
--Information about clip being played and blended by the Animator.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimatorClipInfo: System.ValueType
--
--Returns the animation clip played by the Animator.
--
---@source UnityEngine.AnimationModule.dll
---@field clip UnityEngine.AnimationClip
--
--Returns the blending weight used by the Animator to blend this clip.
--
---@source UnityEngine.AnimationModule.dll
---@field weight float
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimatorClipInfo = {}


--
--Information about the current or next state.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimatorStateInfo: System.ValueType
--
--The full path hash for this state.
--
---@source UnityEngine.AnimationModule.dll
---@field fullPathHash int
--
--The hashed name of the State.
--
---@source UnityEngine.AnimationModule.dll
---@field nameHash int
--
--The hash is generated using Animator.StringToHash. The hash does not include the name of the parent layer.
--
---@source UnityEngine.AnimationModule.dll
---@field shortNameHash int
--
--Normalized time of the State.
--
---@source UnityEngine.AnimationModule.dll
---@field normalizedTime float
--
--Current duration of the state.
--
---@source UnityEngine.AnimationModule.dll
---@field length float
--
--The playback speed of the animation. 1 is the normal playback speed.
--
---@source UnityEngine.AnimationModule.dll
---@field speed float
--
--The speed multiplier for this state.
--
---@source UnityEngine.AnimationModule.dll
---@field speedMultiplier float
--
--The Tag of the State.
--
---@source UnityEngine.AnimationModule.dll
---@field tagHash int
--
--Is the state looping.
--
---@source UnityEngine.AnimationModule.dll
---@field loop bool
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimatorStateInfo = {}

--
--Does name match the name of the active state in the statemachine?
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@return Boolean
function CS.UnityEngine.AnimatorStateInfo.IsName(name) end

--
--Does tag match the tag of the active state in the statemachine.
--
---@source UnityEngine.AnimationModule.dll
---@param tag string
---@return Boolean
function CS.UnityEngine.AnimatorStateInfo.IsTag(tag) end


--
--Information about the current transition.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimatorTransitionInfo: System.ValueType
--
--The hash name of the Transition.
--
---@source UnityEngine.AnimationModule.dll
---@field fullPathHash int
--
--The simplified name of the Transition.
--
---@source UnityEngine.AnimationModule.dll
---@field nameHash int
--
--The user-specified name of the Transition.
--
---@source UnityEngine.AnimationModule.dll
---@field userNameHash int
--
--The unit of the transition duration.
--
---@source UnityEngine.AnimationModule.dll
---@field durationUnit UnityEngine.DurationUnit
--
--Duration of the transition.
--
---@source UnityEngine.AnimationModule.dll
---@field duration float
--
--Normalized time of the Transition.
--
---@source UnityEngine.AnimationModule.dll
---@field normalizedTime float
--
--Returns true if the transition is from an AnyState node, or from Animator.CrossFade.
--
---@source UnityEngine.AnimationModule.dll
---@field anyState bool
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimatorTransitionInfo = {}

--
--Does name match the name of the active Transition.
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@return Boolean
function CS.UnityEngine.AnimatorTransitionInfo.IsName(name) end

--
--Does userName match the name of the active Transition.
--
---@source UnityEngine.AnimationModule.dll
---@param name string
---@return Boolean
function CS.UnityEngine.AnimatorTransitionInfo.IsUserName(name) end


--
--Use this struct to specify the position and rotation weight mask for Animator.MatchTarget.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.MatchTargetWeightMask: System.ValueType
--
--Position XYZ weight.
--
---@source UnityEngine.AnimationModule.dll
---@field positionXYZWeight UnityEngine.Vector3
--
--Rotation weight.
--
---@source UnityEngine.AnimationModule.dll
---@field rotationWeight float
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.MatchTargetWeightMask = {}


--
--Used to communicate between scripting and the controller. Some parameters can be set in scripting and used by the controller, while other parameters are based on Custom Curves in Animation Clips and can be sampled using the scripting API.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimatorControllerParameter: object
--
--The name of the parameter.
--
---@source UnityEngine.AnimationModule.dll
---@field name string
--
--Returns the hash of the parameter based on its name.
--
---@source UnityEngine.AnimationModule.dll
---@field nameHash int
--
--The type of the parameter.
--
---@source UnityEngine.AnimationModule.dll
---@field type UnityEngine.AnimatorControllerParameterType
--
--The default float value for the parameter.
--
---@source UnityEngine.AnimationModule.dll
---@field defaultFloat float
--
--The default int value for the parameter.
--
---@source UnityEngine.AnimationModule.dll
---@field defaultInt int
--
--The default bool value for the parameter.
--
---@source UnityEngine.AnimationModule.dll
---@field defaultBool bool
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimatorControllerParameter = {}

---@source UnityEngine.AnimationModule.dll
---@param o object
---@return Boolean
function CS.UnityEngine.AnimatorControllerParameter.Equals(o) end

---@source UnityEngine.AnimationModule.dll
---@return Int32
function CS.UnityEngine.AnimatorControllerParameter.GetHashCode() end


--
--This class defines a pair of clips used by AnimatorOverrideController.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimationClipPair: object
--
--The original clip from the controller.
--
---@source UnityEngine.AnimationModule.dll
---@field originalClip UnityEngine.AnimationClip
--
--The override animation clip.
--
---@source UnityEngine.AnimationModule.dll
---@field overrideClip UnityEngine.AnimationClip
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimationClipPair = {}


--
--Interface to control Animator Override Controller.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimatorOverrideController: UnityEngine.RuntimeAnimatorController
--
--The Runtime Animator Controller that the Animator Override Controller overrides.
--
---@source UnityEngine.AnimationModule.dll
---@field runtimeAnimatorController UnityEngine.RuntimeAnimatorController
---@source UnityEngine.AnimationModule.dll
---@field this[] UnityEngine.AnimationClip
---@source UnityEngine.AnimationModule.dll
---@field this[] UnityEngine.AnimationClip
--
--Returns the count of overrides.
--
---@source UnityEngine.AnimationModule.dll
---@field overridesCount int
--
--Returns the list of orignal Animation Clip from the controller and their override Animation Clip.
--
---@source UnityEngine.AnimationModule.dll
---@field clips UnityEngine.AnimationClipPair[]
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimatorOverrideController = {}

---@source UnityEngine.AnimationModule.dll
---@param overrides System.Collections.Generic.List<System.Collections.Generic.KeyValuePair<UnityEngine.AnimationClip, UnityEngine.AnimationClip>>
function CS.UnityEngine.AnimatorOverrideController.GetOverrides(overrides) end

---@source UnityEngine.AnimationModule.dll
---@param overrides System.Collections.Generic.IList<System.Collections.Generic.KeyValuePair<UnityEngine.AnimationClip, UnityEngine.AnimationClip>>
function CS.UnityEngine.AnimatorOverrideController.ApplyOverrides(overrides) end


--
--Various utilities for animator manipulation.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AnimatorUtility: object
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AnimatorUtility = {}

--
--This function will remove all transform hierarchy under GameObject, the animator will write directly transform matrices into the skin mesh matrices saving alot of CPU cycles.
--
--```plaintext
--Params: go - GameObject to Optimize.
--        exposedTransforms - List of transform name to expose.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param go UnityEngine.GameObject
---@param exposedTransforms string[]
function CS.UnityEngine.AnimatorUtility:OptimizeTransformHierarchy(go, exposedTransforms) end

--
--This function will recreate all transform hierarchy under GameObject.
--
--```plaintext
--Params: go - GameObject to Deoptimize.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param go UnityEngine.GameObject
function CS.UnityEngine.AnimatorUtility:DeoptimizeTransformHierarchy(go) end


--
--Enumeration of all the muscles in the body.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.BodyDof: System.Enum
--
--The spine front-back muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field SpineFrontBack UnityEngine.BodyDof
--
--The spine left-right muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field SpineLeftRight UnityEngine.BodyDof
--
--The spine roll left-right muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field SpineRollLeftRight UnityEngine.BodyDof
--
--The chest front-back muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field ChestFrontBack UnityEngine.BodyDof
--
--The chest left-right muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field ChestLeftRight UnityEngine.BodyDof
--
--The chest roll left-right muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field ChestRollLeftRight UnityEngine.BodyDof
--
--The upper chest front-back muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field UpperChestFrontBack UnityEngine.BodyDof
--
--The upper chest left-right muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field UpperChestLeftRight UnityEngine.BodyDof
--
--The upper chest roll left-right muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field UpperChestRollLeftRight UnityEngine.BodyDof
--
--The last value of the BodyDof enum.
--
---@source UnityEngine.AnimationModule.dll
---@field LastBodyDof UnityEngine.BodyDof
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.BodyDof = {}

---@source 
---@param value any
---@return UnityEngine.BodyDof
function CS.UnityEngine.BodyDof:__CastFrom(value) end


--
--Enumeration of all the muscles in the head.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.HeadDof: System.Enum
--
--The neck front-back muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field NeckFrontBack UnityEngine.HeadDof
--
--The neck left-right muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field NeckLeftRight UnityEngine.HeadDof
--
--The neck roll left-right muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field NeckRollLeftRight UnityEngine.HeadDof
--
--The head front-back muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field HeadFrontBack UnityEngine.HeadDof
--
--The head left-right muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field HeadLeftRight UnityEngine.HeadDof
--
--The head roll left-right muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field HeadRollLeftRight UnityEngine.HeadDof
--
--The left eye down-up muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftEyeDownUp UnityEngine.HeadDof
--
--The left eye in-out muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftEyeInOut UnityEngine.HeadDof
--
--The right eye down-up muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field RightEyeDownUp UnityEngine.HeadDof
--
--The right eye in-out muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field RightEyeInOut UnityEngine.HeadDof
--
--The jaw down-up muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field JawDownUp UnityEngine.HeadDof
--
--The jaw left-right muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field JawLeftRight UnityEngine.HeadDof
--
--The last value of the HeadDof enum.
--
---@source UnityEngine.AnimationModule.dll
---@field LastHeadDof UnityEngine.HeadDof
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.HeadDof = {}

---@source 
---@param value any
---@return UnityEngine.HeadDof
function CS.UnityEngine.HeadDof:__CastFrom(value) end


--
--Enumeration of all the muscles in a leg.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.LegDof: System.Enum
--
--The upper leg front-back muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field UpperLegFrontBack UnityEngine.LegDof
--
--The upper leg in-out muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field UpperLegInOut UnityEngine.LegDof
--
--The upper leg roll in-out muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field UpperLegRollInOut UnityEngine.LegDof
--
--The leg close-open muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field LegCloseOpen UnityEngine.LegDof
--
--The leg roll in-out muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field LegRollInOut UnityEngine.LegDof
--
--The foot close-open muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field FootCloseOpen UnityEngine.LegDof
--
--The foot in-out muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field FootInOut UnityEngine.LegDof
--
--The toes up-down muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field ToesUpDown UnityEngine.LegDof
--
--The last value of the LegDof enum.
--
---@source UnityEngine.AnimationModule.dll
---@field LastLegDof UnityEngine.LegDof
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.LegDof = {}

---@source 
---@param value any
---@return UnityEngine.LegDof
function CS.UnityEngine.LegDof:__CastFrom(value) end


--
--Enumeration of all the muscles in an arm.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.ArmDof: System.Enum
--
--The shoulder down-up muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field ShoulderDownUp UnityEngine.ArmDof
--
--The shoulder front-back muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field ShoulderFrontBack UnityEngine.ArmDof
--
--The arm down-up muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field ArmDownUp UnityEngine.ArmDof
--
--The arm front-back muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field ArmFrontBack UnityEngine.ArmDof
--
--The arm roll in-out muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field ArmRollInOut UnityEngine.ArmDof
--
--The forearm close-open muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field ForeArmCloseOpen UnityEngine.ArmDof
--
--The forearm roll in-out muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field ForeArmRollInOut UnityEngine.ArmDof
--
--The hand down-up muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field HandDownUp UnityEngine.ArmDof
--
--The hand in-out muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field HandInOut UnityEngine.ArmDof
--
--The last value of the ArmDof enum.
--
---@source UnityEngine.AnimationModule.dll
---@field LastArmDof UnityEngine.ArmDof
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.ArmDof = {}

---@source 
---@param value any
---@return UnityEngine.ArmDof
function CS.UnityEngine.ArmDof:__CastFrom(value) end


--
--Enumeration of all the muscles in a finger.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.FingerDof: System.Enum
--
--The proximal down-up muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field ProximalDownUp UnityEngine.FingerDof
--
--The proximal in-out muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field ProximalInOut UnityEngine.FingerDof
--
--The intermediate close-open muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field IntermediateCloseOpen UnityEngine.FingerDof
--
--The distal close-open muscle.
--
---@source UnityEngine.AnimationModule.dll
---@field DistalCloseOpen UnityEngine.FingerDof
--
--The last value of the FingerDof enum.
--
---@source UnityEngine.AnimationModule.dll
---@field LastFingerDof UnityEngine.FingerDof
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.FingerDof = {}

---@source 
---@param value any
---@return UnityEngine.FingerDof
function CS.UnityEngine.FingerDof:__CastFrom(value) end


--
--Enumeration of all the parts in a human.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.HumanPartDof: System.Enum
--
--The human body part.
--
---@source UnityEngine.AnimationModule.dll
---@field Body UnityEngine.HumanPartDof
--
--The human head part.
--
---@source UnityEngine.AnimationModule.dll
---@field Head UnityEngine.HumanPartDof
--
--The human left leg part.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftLeg UnityEngine.HumanPartDof
--
--The human right leg part.
--
---@source UnityEngine.AnimationModule.dll
---@field RightLeg UnityEngine.HumanPartDof
--
--The human left arm part.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftArm UnityEngine.HumanPartDof
--
--The human right arm part.
--
---@source UnityEngine.AnimationModule.dll
---@field RightArm UnityEngine.HumanPartDof
--
--The human left thumb finger part.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftThumb UnityEngine.HumanPartDof
--
--The human left index finger part.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftIndex UnityEngine.HumanPartDof
--
--The human left middle finger part.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftMiddle UnityEngine.HumanPartDof
--
--The human left ring finger part.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftRing UnityEngine.HumanPartDof
--
--The human left little finger part.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftLittle UnityEngine.HumanPartDof
--
--The human right thumb finger part.
--
---@source UnityEngine.AnimationModule.dll
---@field RightThumb UnityEngine.HumanPartDof
--
--The human right index finger part.
--
---@source UnityEngine.AnimationModule.dll
---@field RightIndex UnityEngine.HumanPartDof
--
--The human right middle finger part.
--
---@source UnityEngine.AnimationModule.dll
---@field RightMiddle UnityEngine.HumanPartDof
--
--The human right ring finger part.
--
---@source UnityEngine.AnimationModule.dll
---@field RightRing UnityEngine.HumanPartDof
--
--The human right little finger part.
--
---@source UnityEngine.AnimationModule.dll
---@field RightLittle UnityEngine.HumanPartDof
---@source UnityEngine.AnimationModule.dll
---@field LastHumanPartDof UnityEngine.HumanPartDof
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.HumanPartDof = {}

---@source 
---@param value any
---@return UnityEngine.HumanPartDof
function CS.UnityEngine.HumanPartDof:__CastFrom(value) end


--
--Human Body Bones.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.HumanBodyBones: System.Enum
--
--This is the Hips bone.
--
---@source UnityEngine.AnimationModule.dll
---@field Hips UnityEngine.HumanBodyBones
--
--This is the Left Upper Leg bone.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftUpperLeg UnityEngine.HumanBodyBones
--
--This is the Right Upper Leg bone.
--
---@source UnityEngine.AnimationModule.dll
---@field RightUpperLeg UnityEngine.HumanBodyBones
--
--This is the Left Knee bone.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftLowerLeg UnityEngine.HumanBodyBones
--
--This is the Right Knee bone.
--
---@source UnityEngine.AnimationModule.dll
---@field RightLowerLeg UnityEngine.HumanBodyBones
--
--This is the Left Ankle bone.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftFoot UnityEngine.HumanBodyBones
--
--This is the Right Ankle bone.
--
---@source UnityEngine.AnimationModule.dll
---@field RightFoot UnityEngine.HumanBodyBones
--
--This is the first Spine bone.
--
---@source UnityEngine.AnimationModule.dll
---@field Spine UnityEngine.HumanBodyBones
--
--This is the Chest bone.
--
---@source UnityEngine.AnimationModule.dll
---@field Chest UnityEngine.HumanBodyBones
--
--This is the Upper Chest bone.
--
---@source UnityEngine.AnimationModule.dll
---@field UpperChest UnityEngine.HumanBodyBones
--
--This is the Neck bone.
--
---@source UnityEngine.AnimationModule.dll
---@field Neck UnityEngine.HumanBodyBones
--
--This is the Head bone.
--
---@source UnityEngine.AnimationModule.dll
---@field Head UnityEngine.HumanBodyBones
--
--This is the Left Shoulder bone.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftShoulder UnityEngine.HumanBodyBones
--
--This is the Right Shoulder bone.
--
---@source UnityEngine.AnimationModule.dll
---@field RightShoulder UnityEngine.HumanBodyBones
--
--This is the Left Upper Arm bone.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftUpperArm UnityEngine.HumanBodyBones
--
--This is the Right Upper Arm bone.
--
---@source UnityEngine.AnimationModule.dll
---@field RightUpperArm UnityEngine.HumanBodyBones
--
--This is the Left Elbow bone.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftLowerArm UnityEngine.HumanBodyBones
--
--This is the Right Elbow bone.
--
---@source UnityEngine.AnimationModule.dll
---@field RightLowerArm UnityEngine.HumanBodyBones
--
--This is the Left Wrist bone.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftHand UnityEngine.HumanBodyBones
--
--This is the Right Wrist bone.
--
---@source UnityEngine.AnimationModule.dll
---@field RightHand UnityEngine.HumanBodyBones
--
--This is the Left Toes bone.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftToes UnityEngine.HumanBodyBones
--
--This is the Right Toes bone.
--
---@source UnityEngine.AnimationModule.dll
---@field RightToes UnityEngine.HumanBodyBones
--
--This is the Left Eye bone.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftEye UnityEngine.HumanBodyBones
--
--This is the Right Eye bone.
--
---@source UnityEngine.AnimationModule.dll
---@field RightEye UnityEngine.HumanBodyBones
--
--This is the Jaw bone.
--
---@source UnityEngine.AnimationModule.dll
---@field Jaw UnityEngine.HumanBodyBones
--
--This is the left thumb 1st phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftThumbProximal UnityEngine.HumanBodyBones
--
--This is the left thumb 2nd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftThumbIntermediate UnityEngine.HumanBodyBones
--
--This is the left thumb 3rd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftThumbDistal UnityEngine.HumanBodyBones
--
--This is the left index 1st phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftIndexProximal UnityEngine.HumanBodyBones
--
--This is the left index 2nd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftIndexIntermediate UnityEngine.HumanBodyBones
--
--This is the left index 3rd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftIndexDistal UnityEngine.HumanBodyBones
--
--This is the left middle 1st phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftMiddleProximal UnityEngine.HumanBodyBones
--
--This is the left middle 2nd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftMiddleIntermediate UnityEngine.HumanBodyBones
--
--This is the left middle 3rd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftMiddleDistal UnityEngine.HumanBodyBones
--
--This is the left ring 1st phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftRingProximal UnityEngine.HumanBodyBones
--
--This is the left ring 2nd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftRingIntermediate UnityEngine.HumanBodyBones
--
--This is the left ring 3rd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftRingDistal UnityEngine.HumanBodyBones
--
--This is the left little 1st phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftLittleProximal UnityEngine.HumanBodyBones
--
--This is the left little 2nd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftLittleIntermediate UnityEngine.HumanBodyBones
--
--This is the left little 3rd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftLittleDistal UnityEngine.HumanBodyBones
--
--This is the right thumb 1st phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field RightThumbProximal UnityEngine.HumanBodyBones
--
--This is the right thumb 2nd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field RightThumbIntermediate UnityEngine.HumanBodyBones
--
--This is the right thumb 3rd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field RightThumbDistal UnityEngine.HumanBodyBones
--
--This is the right index 1st phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field RightIndexProximal UnityEngine.HumanBodyBones
--
--This is the right index 2nd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field RightIndexIntermediate UnityEngine.HumanBodyBones
--
--This is the right index 3rd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field RightIndexDistal UnityEngine.HumanBodyBones
--
--This is the right middle 1st phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field RightMiddleProximal UnityEngine.HumanBodyBones
--
--This is the right middle 2nd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field RightMiddleIntermediate UnityEngine.HumanBodyBones
--
--This is the right middle 3rd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field RightMiddleDistal UnityEngine.HumanBodyBones
--
--This is the right ring 1st phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field RightRingProximal UnityEngine.HumanBodyBones
--
--This is the right ring 2nd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field RightRingIntermediate UnityEngine.HumanBodyBones
--
--This is the right ring 3rd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field RightRingDistal UnityEngine.HumanBodyBones
--
--This is the right little 1st phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field RightLittleProximal UnityEngine.HumanBodyBones
--
--This is the right little 2nd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field RightLittleIntermediate UnityEngine.HumanBodyBones
--
--This is the right little 3rd phalange.
--
---@source UnityEngine.AnimationModule.dll
---@field RightLittleDistal UnityEngine.HumanBodyBones
--
--This is the Last bone index delimiter.
--
---@source UnityEngine.AnimationModule.dll
---@field LastBone UnityEngine.HumanBodyBones
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.HumanBodyBones = {}

---@source 
---@param value any
---@return UnityEngine.HumanBodyBones
function CS.UnityEngine.HumanBodyBones:__CastFrom(value) end


--
--Avatar definition.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.Avatar: UnityEngine.Object
--
--Return true if this avatar is a valid mecanim avatar. It can be a generic avatar or a human avatar.
--
---@source UnityEngine.AnimationModule.dll
---@field isValid bool
--
--Return true if this avatar is a valid human avatar.
--
---@source UnityEngine.AnimationModule.dll
---@field isHuman bool
--
--Returns the HumanDescription used to create this Avatar.
--
---@source UnityEngine.AnimationModule.dll
---@field humanDescription UnityEngine.HumanDescription
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.Avatar = {}


--
--Details of the Transform name mapped to the skeleton bone of a model and its default position and rotation in the T-pose.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.SkeletonBone: System.ValueType
--
--The name of the Transform mapped to the bone.
--
---@source UnityEngine.AnimationModule.dll
---@field name string
--
--The T-pose position of the bone in local space.
--
---@source UnityEngine.AnimationModule.dll
---@field position UnityEngine.Vector3
--
--The T-pose rotation of the bone in local space.
--
---@source UnityEngine.AnimationModule.dll
---@field rotation UnityEngine.Quaternion
--
--The T-pose scaling of the bone in local space.
--
---@source UnityEngine.AnimationModule.dll
---@field scale UnityEngine.Vector3
---@source UnityEngine.AnimationModule.dll
---@field transformModified int
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.SkeletonBone = {}


--
--This class stores the rotation limits that define the muscle for a single human bone.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.HumanLimit: System.ValueType
--
--Should this limit use the default values?
--
---@source UnityEngine.AnimationModule.dll
---@field useDefaultValues bool
--
--The maximum negative rotation away from the initial value that this muscle can apply.
--
---@source UnityEngine.AnimationModule.dll
---@field min UnityEngine.Vector3
--
--The maximum rotation away from the initial value that this muscle can apply.
--
---@source UnityEngine.AnimationModule.dll
---@field max UnityEngine.Vector3
--
--The default orientation of a bone when no muscle action is applied.
--
---@source UnityEngine.AnimationModule.dll
---@field center UnityEngine.Vector3
--
--Length of the bone to which the limit is applied.
--
---@source UnityEngine.AnimationModule.dll
---@field axisLength float
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.HumanLimit = {}


--
--The mapping between a bone in the model and the conceptual bone in the Mecanim human anatomy.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.HumanBone: System.ValueType
--
--The rotation limits that define the muscle for this bone.
--
---@source UnityEngine.AnimationModule.dll
---@field limit UnityEngine.HumanLimit
--
--The name of the bone to which the Mecanim human bone is mapped.
--
---@source UnityEngine.AnimationModule.dll
---@field boneName string
--
--The name of the Mecanim human bone to which the bone from the model is mapped.
--
---@source UnityEngine.AnimationModule.dll
---@field humanName string
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.HumanBone = {}


--
--Class that holds humanoid avatar parameters to pass to the AvatarBuilder.BuildHumanAvatar function.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.HumanDescription: System.ValueType
--
--Mapping between Mecanim bone names and bone names in the rig.
--
---@source UnityEngine.AnimationModule.dll
---@field human UnityEngine.HumanBone[]
--
--List of bone Transforms to include in the model.
--
---@source UnityEngine.AnimationModule.dll
---@field skeleton UnityEngine.SkeletonBone[]
--
--Defines how the upper arm's roll/twisting is distributed between the shoulder and elbow joints.
--
---@source UnityEngine.AnimationModule.dll
---@field upperArmTwist float
--
--Defines how the lower arm's roll/twisting is distributed between the elbow and wrist joints.
--
---@source UnityEngine.AnimationModule.dll
---@field lowerArmTwist float
--
--Defines how the upper leg's roll/twisting is distributed between the thigh and knee joints.
--
---@source UnityEngine.AnimationModule.dll
---@field upperLegTwist float
--
--Defines how the lower leg's roll/twisting is distributed between the knee and ankle.
--
---@source UnityEngine.AnimationModule.dll
---@field lowerLegTwist float
--
--Amount by which the arm's length is allowed to stretch when using IK.
--
---@source UnityEngine.AnimationModule.dll
---@field armStretch float
--
--Amount by which the leg's length is allowed to stretch when using IK.
--
---@source UnityEngine.AnimationModule.dll
---@field legStretch float
--
--Modification to the minimum distance between the feet of a humanoid model.
--
---@source UnityEngine.AnimationModule.dll
---@field feetSpacing float
--
--True for any human that has a translation Degree of Freedom (DoF). It is set to false by default.
--
---@source UnityEngine.AnimationModule.dll
---@field hasTranslationDoF bool
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.HumanDescription = {}


--
--Class to build avatars from user scripts.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AvatarBuilder: object
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AvatarBuilder = {}

--
--Returns the Avatar, you must always always check the avatar is valid before using it with Avatar.isValid.
--
--```plaintext
--Params: go - Root object of your transform hierachy. It must be the top most gameobject when you create the avatar.
--        humanDescription - Humanoid description of the avatar.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param go UnityEngine.GameObject
---@param humanDescription UnityEngine.HumanDescription
---@return Avatar
function CS.UnityEngine.AvatarBuilder:BuildHumanAvatar(go, humanDescription) end

--
--Create a new generic avatar.
--
--```plaintext
--Params: go - Root object of your transform hierarchy.
--        rootMotionTransformName - Transform name of the root motion transform. If empty no root motion is defined and you must take care of avatar movement yourself.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param go UnityEngine.GameObject
---@param rootMotionTransformName string
---@return Avatar
function CS.UnityEngine.AvatarBuilder:BuildGenericAvatar(go, rootMotionTransformName) end


--
--Avatar body part.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AvatarMaskBodyPart: System.Enum
--
--The Root.
--
---@source UnityEngine.AnimationModule.dll
---@field Root UnityEngine.AvatarMaskBodyPart
--
--The Body.
--
---@source UnityEngine.AnimationModule.dll
---@field Body UnityEngine.AvatarMaskBodyPart
--
--The Head.
--
---@source UnityEngine.AnimationModule.dll
---@field Head UnityEngine.AvatarMaskBodyPart
--
--The Left Leg.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftLeg UnityEngine.AvatarMaskBodyPart
--
--The Right Leg.
--
---@source UnityEngine.AnimationModule.dll
---@field RightLeg UnityEngine.AvatarMaskBodyPart
--
--The Left Arm.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftArm UnityEngine.AvatarMaskBodyPart
--
--The Right Arm.
--
---@source UnityEngine.AnimationModule.dll
---@field RightArm UnityEngine.AvatarMaskBodyPart
--
--Left Fingers.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftFingers UnityEngine.AvatarMaskBodyPart
--
--Right Fingers.
--
---@source UnityEngine.AnimationModule.dll
---@field RightFingers UnityEngine.AvatarMaskBodyPart
--
--Left Foot IK.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftFootIK UnityEngine.AvatarMaskBodyPart
--
--Right Foot IK.
--
---@source UnityEngine.AnimationModule.dll
---@field RightFootIK UnityEngine.AvatarMaskBodyPart
--
--Left Hand IK.
--
---@source UnityEngine.AnimationModule.dll
---@field LeftHandIK UnityEngine.AvatarMaskBodyPart
--
--Right Hand IK.
--
---@source UnityEngine.AnimationModule.dll
---@field RightHandIK UnityEngine.AvatarMaskBodyPart
--
--Total number of body parts.
--
---@source UnityEngine.AnimationModule.dll
---@field LastBodyPart UnityEngine.AvatarMaskBodyPart
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AvatarMaskBodyPart = {}

---@source 
---@param value any
---@return UnityEngine.AvatarMaskBodyPart
function CS.UnityEngine.AvatarMaskBodyPart:__CastFrom(value) end


--
--AvatarMask is used to mask out humanoid body parts and transforms.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.AvatarMask: UnityEngine.Object
--
--The number of humanoid body parts.
--
---@source UnityEngine.AnimationModule.dll
---@field humanoidBodyPartCount int
--
--Number of transforms.
--
---@source UnityEngine.AnimationModule.dll
---@field transformCount int
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.AvatarMask = {}

--
--Returns true if the humanoid body part at the given index is active.
--
--```plaintext
--Params: index - The index of the humanoid body part.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param index UnityEngine.AvatarMaskBodyPart
---@return Boolean
function CS.UnityEngine.AvatarMask.GetHumanoidBodyPartActive(index) end

--
--Sets the humanoid body part at the given index to active or not.
--
--```plaintext
--Params: index - The index of the humanoid body part.
--        value - Active or not.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param index UnityEngine.AvatarMaskBodyPart
---@param value bool
function CS.UnityEngine.AvatarMask.SetHumanoidBodyPartActive(index, value) end

---@source UnityEngine.AnimationModule.dll
---@param transform UnityEngine.Transform
function CS.UnityEngine.AvatarMask.AddTransformPath(transform) end

--
--Adds a transform path into the AvatarMask.
--
--```plaintext
--Params: transform - The transform to add into the AvatarMask.
--        recursive - Whether to also add all children of the specified transform.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param transform UnityEngine.Transform
---@param recursive bool
function CS.UnityEngine.AvatarMask.AddTransformPath(transform, recursive) end

---@source UnityEngine.AnimationModule.dll
---@param transform UnityEngine.Transform
function CS.UnityEngine.AvatarMask.RemoveTransformPath(transform) end

--
--Removes a transform path from the AvatarMask.
--
--```plaintext
--Params: transform - The Transform that should be removed from the AvatarMask.
--        recursive - Whether to also remove all children of the specified transform.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param transform UnityEngine.Transform
---@param recursive bool
function CS.UnityEngine.AvatarMask.RemoveTransformPath(transform, recursive) end

--
--Returns the path of the transform at the given index.
--
--```plaintext
--Params: index - The index of the transform.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param index int
---@return String
function CS.UnityEngine.AvatarMask.GetTransformPath(index) end

--
--Sets the path of the transform at the given index.
--
--```plaintext
--Params: index - The index of the transform.
--        path - The path of the transform.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param index int
---@param path string
function CS.UnityEngine.AvatarMask.SetTransformPath(index, path) end

--
--Returns true if the transform at the given index is active.
--
--```plaintext
--Params: index - The index of the transform.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param index int
---@return Boolean
function CS.UnityEngine.AvatarMask.GetTransformActive(index) end

--
--Sets the tranform at the given index to active or not.
--
--```plaintext
--Params: index - The index of the transform.
--        value - Active or not.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param index int
---@param value bool
function CS.UnityEngine.AvatarMask.SetTransformActive(index, value) end


--
--Retargetable humanoid pose.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.HumanPose: System.ValueType
--
--The human body position for that pose.
--
---@source UnityEngine.AnimationModule.dll
---@field bodyPosition UnityEngine.Vector3
--
--The human body orientation for that pose.
--
---@source UnityEngine.AnimationModule.dll
---@field bodyRotation UnityEngine.Quaternion
--
--The array of muscle values for that pose.
--
---@source UnityEngine.AnimationModule.dll
---@field muscles float[]
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.HumanPose = {}


--
--Use this class to create, read, and write the HumanPose for a humanoid avatar skeleton hierarchy or an avatar pose.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.HumanPoseHandler: object
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.HumanPoseHandler = {}

---@source UnityEngine.AnimationModule.dll
function CS.UnityEngine.HumanPoseHandler.Dispose() end

---@source UnityEngine.AnimationModule.dll
---@param humanPose UnityEngine.HumanPose
function CS.UnityEngine.HumanPoseHandler.GetHumanPose(humanPose) end

---@source UnityEngine.AnimationModule.dll
---@param humanPose UnityEngine.HumanPose
function CS.UnityEngine.HumanPoseHandler.SetHumanPose(humanPose) end

---@source UnityEngine.AnimationModule.dll
---@param humanPose UnityEngine.HumanPose
function CS.UnityEngine.HumanPoseHandler.GetInternalHumanPose(humanPose) end

---@source UnityEngine.AnimationModule.dll
---@param humanPose UnityEngine.HumanPose
function CS.UnityEngine.HumanPoseHandler.SetInternalHumanPose(humanPose) end

---@source UnityEngine.AnimationModule.dll
---@param avatarPose Unity.Collections.NativeArray<float>
function CS.UnityEngine.HumanPoseHandler.GetInternalAvatarPose(avatarPose) end

---@source UnityEngine.AnimationModule.dll
---@param avatarPose Unity.Collections.NativeArray<float>
function CS.UnityEngine.HumanPoseHandler.SetInternalAvatarPose(avatarPose) end


--
--Details of all the human bone and muscle types defined by Mecanim.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.HumanTrait: object
--
--The number of human muscle types defined by Mecanim.
--
---@source UnityEngine.AnimationModule.dll
---@field MuscleCount int
--
--Array of the names of all human muscle types defined by Mecanim.
--
---@source UnityEngine.AnimationModule.dll
---@field MuscleName string[]
--
--The number of human bone types defined by Mecanim.
--
---@source UnityEngine.AnimationModule.dll
---@field BoneCount int
--
--Array of the names of all human bone types defined by Mecanim.
--
---@source UnityEngine.AnimationModule.dll
---@field BoneName string[]
--
--The number of bone types that are required by Mecanim for any human model.
--
---@source UnityEngine.AnimationModule.dll
---@field RequiredBoneCount int
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.HumanTrait = {}

--
--Obtain the muscle index for a particular bone index and "degree of freedom".
--
--```plaintext
--Params: i - Bone index.
--        dofIndex - Number representing a "degree of freedom": 0 for X-Axis, 1 for Y-Axis, 2 for Z-Axis.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param i int
---@param dofIndex int
---@return Int32
function CS.UnityEngine.HumanTrait:MuscleFromBone(i, dofIndex) end

--
--Return the bone to which a particular muscle is connected.
--
--```plaintext
--Params: i - Muscle index.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param i int
---@return Int32
function CS.UnityEngine.HumanTrait:BoneFromMuscle(i) end

--
--Is the bone a member of the minimal set of bones that Mecanim requires for a human model?
--
--```plaintext
--Params: i - Index of the bone to test.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param i int
---@return Boolean
function CS.UnityEngine.HumanTrait:RequiredBone(i) end

--
--Get the default minimum value of rotation for a muscle in degrees.
--
--```plaintext
--Params: i - Muscle index.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param i int
---@return Single
function CS.UnityEngine.HumanTrait:GetMuscleDefaultMin(i) end

--
--Get the default maximum value of rotation for a muscle in degrees.
--
--```plaintext
--Params: i - Muscle index.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param i int
---@return Single
function CS.UnityEngine.HumanTrait:GetMuscleDefaultMax(i) end

--
--The bone hierarchy mass.
--
--```plaintext
--Params: i - The humanoid bone index.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param i int
---@return Single
function CS.UnityEngine.HumanTrait:GetBoneDefaultHierarchyMass(i) end

--
--Humanoid bone index of parent.
--
--```plaintext
--Params: i - Humanoid bone index to get parent from.
--        
--```
--
---@source UnityEngine.AnimationModule.dll
---@param i int
---@return Int32
function CS.UnityEngine.HumanTrait:GetParentBone(i) end


--
--Base class for AnimationClips and BlendTrees.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.Motion: UnityEngine.Object
---@source UnityEngine.AnimationModule.dll
---@field averageDuration float
---@source UnityEngine.AnimationModule.dll
---@field averageAngularSpeed float
---@source UnityEngine.AnimationModule.dll
---@field averageSpeed UnityEngine.Vector3
---@source UnityEngine.AnimationModule.dll
---@field apparentSpeed float
---@source UnityEngine.AnimationModule.dll
---@field isLooping bool
---@source UnityEngine.AnimationModule.dll
---@field legacy bool
---@source UnityEngine.AnimationModule.dll
---@field isHumanMotion bool
---@source UnityEngine.AnimationModule.dll
---@field isAnimatorMotion bool
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.Motion = {}

---@source UnityEngine.AnimationModule.dll
---@param val bool
---@return Boolean
function CS.UnityEngine.Motion.ValidateIfRetargetable(val) end


--
--The runtime representation of the AnimatorController. Use this representation to change the Animator Controller during runtime.
--
---@source UnityEngine.AnimationModule.dll
---@class UnityEngine.RuntimeAnimatorController: UnityEngine.Object
--
--Retrieves all AnimationClip used by the controller.
--
---@source UnityEngine.AnimationModule.dll
---@field animationClips UnityEngine.AnimationClip[]
---@source UnityEngine.AnimationModule.dll
CS.UnityEngine.RuntimeAnimatorController = {}


--
--Asynchronous create request for an AssetBundle.
--
---@source UnityEngine.AssetBundleModule.dll
---@class UnityEngine.AssetBundleCreateRequest: UnityEngine.AsyncOperation
--
--Asset object being loaded (Read Only).
--
---@source UnityEngine.AssetBundleModule.dll
---@field assetBundle UnityEngine.AssetBundle
---@source UnityEngine.AssetBundleModule.dll
CS.UnityEngine.AssetBundleCreateRequest = {}


--
--Manifest for all the AssetBundles in the build.
--
---@source UnityEngine.AssetBundleModule.dll
---@class UnityEngine.AssetBundleManifest: UnityEngine.Object
---@source UnityEngine.AssetBundleModule.dll
CS.UnityEngine.AssetBundleManifest = {}

--
--An array of asset bundle names.
--
---@source UnityEngine.AssetBundleModule.dll
function CS.UnityEngine.AssetBundleManifest.GetAllAssetBundles() end

--
--An array of asset bundle names.
--
---@source UnityEngine.AssetBundleModule.dll
function CS.UnityEngine.AssetBundleManifest.GetAllAssetBundlesWithVariant() end

--
--The 128-bit hash for the asset bundle.
--
--```plaintext
--Params: assetBundleName - Name of the asset bundle.
--        
--```
--
---@source UnityEngine.AssetBundleModule.dll
---@param assetBundleName string
---@return Hash128
function CS.UnityEngine.AssetBundleManifest.GetAssetBundleHash(assetBundleName) end

--
--Array of asset bundle names this asset bundle depends on.
--
--```plaintext
--Params: assetBundleName - Name of the asset bundle.
--        
--```
--
---@source UnityEngine.AssetBundleModule.dll
---@param assetBundleName string
function CS.UnityEngine.AssetBundleManifest.GetDirectDependencies(assetBundleName) end

--
--Get all the dependent AssetBundles for the given AssetBundle.
--
--```plaintext
--Params: assetBundleName - Name of the asset bundle.
--        
--```
--
---@source UnityEngine.AssetBundleModule.dll
---@param assetBundleName string
function CS.UnityEngine.AssetBundleManifest.GetAllDependencies(assetBundleName) end


--
--Asynchronous AssetBundle recompression from one compression method and level to another.
--
---@source UnityEngine.AssetBundleModule.dll
---@class UnityEngine.AssetBundleRecompressOperation: UnityEngine.AsyncOperation
--
--A string describing the recompression operation result (Read Only).
--
---@source UnityEngine.AssetBundleModule.dll
---@field humanReadableResult string
--
--Path of the AssetBundle being recompressed (Read Only).
--
---@source UnityEngine.AssetBundleModule.dll
---@field inputPath string
--
--Path of the resulting recompressed AssetBundle (Read Only).
--
---@source UnityEngine.AssetBundleModule.dll
---@field outputPath string
--
--Result of the recompression operation.
--
---@source UnityEngine.AssetBundleModule.dll
---@field result UnityEngine.AssetBundleLoadResult
--
--True if the recompress operation is complete and was successful, otherwise false (Read Only).
--
---@source UnityEngine.AssetBundleModule.dll
---@field success bool
---@source UnityEngine.AssetBundleModule.dll
CS.UnityEngine.AssetBundleRecompressOperation = {}


--
--Asynchronous load request from an AssetBundle.
--
---@source UnityEngine.AssetBundleModule.dll
---@class UnityEngine.AssetBundleRequest: UnityEngine.ResourceRequest
--
--Asset object being loaded (Read Only).
--
---@source UnityEngine.AssetBundleModule.dll
---@field asset UnityEngine.Object
--
--Asset objects with sub assets being loaded. (Read Only)
--
---@source UnityEngine.AssetBundleModule.dll
---@field allAssets UnityEngine.Object[]
---@source UnityEngine.AssetBundleModule.dll
CS.UnityEngine.AssetBundleRequest = {}


--
--Compression Method for Asset Bundles.
--
---@source UnityEngine.AssetBundleModule.dll
---@class UnityEngine.CompressionType: System.Enum
--
--Uncompressed Asset Bundles are larger than compressed Asset Bundles, but they are the fastest to access once downloaded.
--
---@source UnityEngine.AssetBundleModule.dll
---@field None UnityEngine.CompressionType
--
--LZMA compression results in smaller compressed Asset Bundles but they must be entirely decompressed before use.
--
---@source UnityEngine.AssetBundleModule.dll
---@field Lzma UnityEngine.CompressionType
--
--LZ4 compression results in larger compressed files than LZMA, but does not require the entire bundle to be decompressed before use.
--
---@source UnityEngine.AssetBundleModule.dll
---@field Lz4 UnityEngine.CompressionType
--
--LZ4HC is a high compression variant of LZ4. LZ4HC compression results in larger compressed files than LZMA, but does not require the entire bundle to be decompressed before use.
--
---@source UnityEngine.AssetBundleModule.dll
---@field Lz4HC UnityEngine.CompressionType
---@source UnityEngine.AssetBundleModule.dll
CS.UnityEngine.CompressionType = {}

---@source 
---@param value any
---@return UnityEngine.CompressionType
function CS.UnityEngine.CompressionType:__CastFrom(value) end


--
--Compression Levels relate to how much time should be spent compressing Assets into an Asset Bundle.
--
---@source UnityEngine.AssetBundleModule.dll
---@class UnityEngine.CompressionLevel: System.Enum
--
--No compression.
--
---@source UnityEngine.AssetBundleModule.dll
---@field None UnityEngine.CompressionLevel
---@source UnityEngine.AssetBundleModule.dll
---@field Fastest UnityEngine.CompressionLevel
---@source UnityEngine.AssetBundleModule.dll
---@field Fast UnityEngine.CompressionLevel
---@source UnityEngine.AssetBundleModule.dll
---@field Normal UnityEngine.CompressionLevel
---@source UnityEngine.AssetBundleModule.dll
---@field High UnityEngine.CompressionLevel
---@source UnityEngine.AssetBundleModule.dll
---@field Maximum UnityEngine.CompressionLevel
---@source UnityEngine.AssetBundleModule.dll
CS.UnityEngine.CompressionLevel = {}

---@source 
---@param value any
---@return UnityEngine.CompressionLevel
function CS.UnityEngine.CompressionLevel:__CastFrom(value) end


--
--Contains information about compression methods, compression levels and block sizes that are supported by Asset Bundle compression at build time and recompression at runtime.
--
---@source UnityEngine.AssetBundleModule.dll
---@class UnityEngine.BuildCompression: System.ValueType
--
--Uncompressed Asset Bundle.
--
---@source UnityEngine.AssetBundleModule.dll
---@field Uncompressed UnityEngine.BuildCompression
--
--LZ4HC "Chunk Based" Compression.
--
---@source UnityEngine.AssetBundleModule.dll
---@field LZ4 UnityEngine.BuildCompression
--
--LZMA Compression.
--
---@source UnityEngine.AssetBundleModule.dll
---@field LZMA UnityEngine.BuildCompression
--
--Uncompressed Asset Bundle.
--
---@source UnityEngine.AssetBundleModule.dll
---@field UncompressedRuntime UnityEngine.BuildCompression
--
--LZ4 Compression for runtime recompression.
--
---@source UnityEngine.AssetBundleModule.dll
---@field LZ4Runtime UnityEngine.BuildCompression
---@source UnityEngine.AssetBundleModule.dll
---@field compression UnityEngine.CompressionType
---@source UnityEngine.AssetBundleModule.dll
---@field level UnityEngine.CompressionLevel
---@source UnityEngine.AssetBundleModule.dll
---@field blockSize uint
---@source UnityEngine.AssetBundleModule.dll
CS.UnityEngine.BuildCompression = {}


--
--Controls the global audio settings from script.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioSettings: object
---@source UnityEngine.AudioModule.dll
---@field driverCaps UnityEngine.AudioSpeakerMode
--
--Returns the speaker mode capability of the current audio driver. (Read Only)
--
---@source UnityEngine.AudioModule.dll
---@field driverCapabilities UnityEngine.AudioSpeakerMode
--
--Gets the current speaker mode. Default is 2 channel stereo.
--
---@source UnityEngine.AudioModule.dll
---@field speakerMode UnityEngine.AudioSpeakerMode
--
--Returns the current time of the audio system.
--
---@source UnityEngine.AudioModule.dll
---@field dspTime double
--
--Get the mixer's current output rate.
--
---@source UnityEngine.AudioModule.dll
---@field outputSampleRate int
---@source UnityEngine.AudioModule.dll
---@field OnAudioConfigurationChanged UnityEngine.AudioSettings.AudioConfigurationChangeHandler
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioSettings = {}

---@source UnityEngine.AudioModule.dll
---@param bufferLength int
---@param numBuffers int
function CS.UnityEngine.AudioSettings:GetDSPBufferSize(bufferLength, numBuffers) end

---@source UnityEngine.AudioModule.dll
---@param bufferLength int
---@param numBuffers int
function CS.UnityEngine.AudioSettings:SetDSPBufferSize(bufferLength, numBuffers) end

--
--An array of spatializer names.
--
---@source UnityEngine.AudioModule.dll
function CS.UnityEngine.AudioSettings:GetSpatializerPluginNames() end

--
--The spatializer plugin name.
--
---@source UnityEngine.AudioModule.dll
---@return String
function CS.UnityEngine.AudioSettings:GetSpatializerPluginName() end

--
--Sets the spatializer plugin for all platform groups. If a null or empty string is passed in, the existing spatializer plugin will be cleared.
--
--```plaintext
--Params: pluginName - The spatializer plugin name.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param pluginName string
function CS.UnityEngine.AudioSettings:SetSpatializerPluginName(pluginName) end

--
--The new configuration to be applied.
--
---@source UnityEngine.AudioModule.dll
---@return AudioConfiguration
function CS.UnityEngine.AudioSettings:GetConfiguration() end

--
--True if all settings could be successfully applied.
--
--```plaintext
--Params: config - The new configuration to be used.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param config UnityEngine.AudioConfiguration
---@return Boolean
function CS.UnityEngine.AudioSettings:Reset(config) end

---@source UnityEngine.AudioModule.dll
---@param value UnityEngine.AudioSettings.AudioConfigurationChangeHandler
function CS.UnityEngine.AudioSettings:add_OnAudioConfigurationChanged(value) end

---@source UnityEngine.AudioModule.dll
---@param value UnityEngine.AudioSettings.AudioConfigurationChangeHandler
function CS.UnityEngine.AudioSettings:remove_OnAudioConfigurationChanged(value) end


--
--A delegate called whenever the global audio settings are changed, either by AudioSettings.Reset or by an external device change such as the OS control panel changing the sample rate or because the default output device was changed, for example when plugging in an HDMI monitor or a USB headset.
--
--```plaintext
--Params: deviceWasChanged - True if the change was caused by an device change.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioConfigurationChangeHandler: System.MulticastDelegate
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioConfigurationChangeHandler = {}

---@source UnityEngine.AudioModule.dll
---@param deviceWasChanged bool
function CS.UnityEngine.AudioConfigurationChangeHandler.Invoke(deviceWasChanged) end

---@source UnityEngine.AudioModule.dll
---@param deviceWasChanged bool
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.AudioConfigurationChangeHandler.BeginInvoke(deviceWasChanged, callback, object) end

---@source UnityEngine.AudioModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.AudioConfigurationChangeHandler.EndInvoke(result) end


--
--This class encapsulates properties and methods to handle audio output thread on iOS/Android.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.Mobile: object
--
--Returns true if current device media volume is 0.
--
---@source UnityEngine.AudioModule.dll
---@field muteState bool
--
--Set this property to true to make audio output thread automatically stop when device media volume is set to 0 and to start it again when volume is not 0.
--
---@source UnityEngine.AudioModule.dll
---@field stopAudioOutputOnMute bool
--
--Returns true if audio output thread is working.
--
---@source UnityEngine.AudioModule.dll
---@field audioOutputStarted bool
---@source UnityEngine.AudioModule.dll
---@field OnMuteStateChanged System.Action<bool>
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.Mobile = {}

---@source UnityEngine.AudioModule.dll
---@param value System.Action<bool>
function CS.UnityEngine.Mobile:add_OnMuteStateChanged(value) end

---@source UnityEngine.AudioModule.dll
---@param value System.Action<bool>
function CS.UnityEngine.Mobile:remove_OnMuteStateChanged(value) end

--
--Starts audio output thread on Android/iOS.
--
---@source UnityEngine.AudioModule.dll
function CS.UnityEngine.Mobile:StartAudioOutput() end

--
--Stops audio thread on Android/iOS.
--
---@source UnityEngine.AudioModule.dll
function CS.UnityEngine.Mobile:StopAudioOutput() end


--
--A representation of audio sources in 3D.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioSource: UnityEngine.AudioBehaviour
--
--PanLevel has been deprecated. Use spatialBlend instead.
--
---@source UnityEngine.AudioModule.dll
---@field panLevel float
--
--Pan has been deprecated. Use panStereo instead.
--
---@source UnityEngine.AudioModule.dll
---@field pan float
--
--The volume of the audio source (0.0 to 1.0).
--
---@source UnityEngine.AudioModule.dll
---@field volume float
--
--The pitch of the audio source.
--
---@source UnityEngine.AudioModule.dll
---@field pitch float
--
--Playback position in seconds.
--
---@source UnityEngine.AudioModule.dll
---@field time float
--
--Playback position in PCM samples.
--
---@source UnityEngine.AudioModule.dll
---@field timeSamples int
--
--The default AudioClip to play.
--
---@source UnityEngine.AudioModule.dll
---@field clip UnityEngine.AudioClip
--
--The target group to which the AudioSource should route its signal.
--
---@source UnityEngine.AudioModule.dll
---@field outputAudioMixerGroup UnityEngine.Audio.AudioMixerGroup
--
--Gets or sets the gamepad audio output type for this audio source.
--
---@source UnityEngine.AudioModule.dll
---@field gamepadSpeakerOutputType UnityEngine.GamepadSpeakerOutputType
--
--Is the clip playing right now (Read Only)?
--
---@source UnityEngine.AudioModule.dll
---@field isPlaying bool
--
--True if all sounds played by the AudioSource (main sound started by Play() or playOnAwake as well as one-shots) are culled by the audio system.
--
---@source UnityEngine.AudioModule.dll
---@field isVirtual bool
--
--Is the audio clip looping?
--
---@source UnityEngine.AudioModule.dll
---@field loop bool
--
--This makes the audio source not take into account the volume of the audio listener.
--
---@source UnityEngine.AudioModule.dll
---@field ignoreListenerVolume bool
--
--If set to true, the audio source will automatically start playing on awake.
--
---@source UnityEngine.AudioModule.dll
---@field playOnAwake bool
--
--Allows AudioSource to play even though AudioListener.pause is set to true. This is useful for the menu element sounds or background music in pause menus.
--
---@source UnityEngine.AudioModule.dll
---@field ignoreListenerPause bool
--
--Whether the Audio Source should be updated in the fixed or dynamic update.
--
---@source UnityEngine.AudioModule.dll
---@field velocityUpdateMode UnityEngine.AudioVelocityUpdateMode
--
--Pans a playing sound in a stereo way (left or right). This only applies to sounds that are Mono or Stereo.
--
---@source UnityEngine.AudioModule.dll
---@field panStereo float
--
--Sets how much this AudioSource is affected by 3D spatialisation calculations (attenuation, doppler etc). 0.0 makes the sound full 2D, 1.0 makes it full 3D.
--
---@source UnityEngine.AudioModule.dll
---@field spatialBlend float
--
--Enables or disables spatialization.
--
---@source UnityEngine.AudioModule.dll
---@field spatialize bool
--
--Determines if the spatializer effect is inserted before or after the effect filters.
--
---@source UnityEngine.AudioModule.dll
---@field spatializePostEffects bool
--
--The amount by which the signal from the AudioSource will be mixed into the global reverb associated with the Reverb Zones.
--
---@source UnityEngine.AudioModule.dll
---@field reverbZoneMix float
--
--Bypass effects (Applied from filter components or global listener filters).
--
---@source UnityEngine.AudioModule.dll
---@field bypassEffects bool
--
--When set global effects on the AudioListener will not be applied to the audio signal generated by the AudioSource. Does not apply if the AudioSource is playing into a mixer group.
--
---@source UnityEngine.AudioModule.dll
---@field bypassListenerEffects bool
--
--When set doesn't route the signal from an AudioSource into the global reverb associated with reverb zones.
--
---@source UnityEngine.AudioModule.dll
---@field bypassReverbZones bool
--
--Sets the Doppler scale for this AudioSource.
--
---@source UnityEngine.AudioModule.dll
---@field dopplerLevel float
--
--Sets the spread angle (in degrees) of a 3d stereo or multichannel sound in speaker space.
--
---@source UnityEngine.AudioModule.dll
---@field spread float
--
--Sets the priority of the AudioSource.
--
---@source UnityEngine.AudioModule.dll
---@field priority int
--
--Un- / Mutes the AudioSource. Mute sets the volume=0, Un-Mute restore the original volume.
--
---@source UnityEngine.AudioModule.dll
---@field mute bool
--
--Within the Min distance the AudioSource will cease to grow louder in volume.
--
---@source UnityEngine.AudioModule.dll
---@field minDistance float
--
--(Logarithmic rolloff) MaxDistance is the distance a sound stops attenuating at.
--
---@source UnityEngine.AudioModule.dll
---@field maxDistance float
--
--Sets/Gets how the AudioSource attenuates over distance.
--
---@source UnityEngine.AudioModule.dll
---@field rolloffMode UnityEngine.AudioRolloffMode
---@source UnityEngine.AudioModule.dll
---@field minVolume float
---@source UnityEngine.AudioModule.dll
---@field maxVolume float
---@source UnityEngine.AudioModule.dll
---@field rolloffFactor float
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioSource = {}

--
--Returns TRUE if enabling audio output through this users controller was successful.
--
--```plaintext
--Params: slot - Slot number of the gamepad (0-3).
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param slot int
---@return Boolean
function CS.UnityEngine.AudioSource.PlayOnGamepad(slot) end

--
--Returns true if successful.
--
---@source UnityEngine.AudioModule.dll
---@return Boolean
function CS.UnityEngine.AudioSource.DisableGamepadOutput() end

---@source UnityEngine.AudioModule.dll
---@param slot int
---@param mixLevel int
---@return Boolean
function CS.UnityEngine.AudioSource.SetGamepadSpeakerMixLevel(slot, mixLevel) end

---@source UnityEngine.AudioModule.dll
---@param slot int
---@return Boolean
function CS.UnityEngine.AudioSource.SetGamepadSpeakerMixLevelDefault(slot) end

---@source UnityEngine.AudioModule.dll
---@param slot int
---@param restricted bool
---@return Boolean
function CS.UnityEngine.AudioSource.SetGamepadSpeakerRestrictedAudio(slot, restricted) end

--
--Returns true if the gamepad supports the specified audio output type.
--
--```plaintext
--Params: outputType - The desired output type.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param outputType UnityEngine.GamepadSpeakerOutputType
---@return Boolean
function CS.UnityEngine.AudioSource:GamepadSpeakerSupportsOutputType(outputType) end

---@source UnityEngine.AudioModule.dll
function CS.UnityEngine.AudioSource.Play() end

--
--Plays the clip.
--
--```plaintext
--Params: delay - Deprecated. Delay in number of samples, assuming a 44100Hz sample rate (meaning that Play(44100) will delay the playing by exactly 1 sec).
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param delay ulong
function CS.UnityEngine.AudioSource.Play(delay) end

--
--Plays the clip with a delay specified in seconds. Users are advised to use this function instead of the old Play(delay) function that took a delay specified in samples relative to a reference rate of 44.1 kHz as an argument.
--
--```plaintext
--Params: delay - Delay time specified in seconds.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param delay float
function CS.UnityEngine.AudioSource.PlayDelayed(delay) end

--
--Plays the clip at a specific time on the absolute time-line that AudioSettings.dspTime reads from.
--
--```plaintext
--Params: time - Time in seconds on the absolute time-line that AudioSettings.dspTime refers to for when the sound should start playing.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param time double
function CS.UnityEngine.AudioSource.PlayScheduled(time) end

--
--Plays an AudioClip, and scales the AudioSource volume by volumeScale.
--
--```plaintext
--Params: clip - The clip being played.
--        volumeScale - The scale of the volume (0-1).
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param clip UnityEngine.AudioClip
function CS.UnityEngine.AudioSource.PlayOneShot(clip) end

--
--Plays an AudioClip, and scales the AudioSource volume by volumeScale.
--
--```plaintext
--Params: clip - The clip being played.
--        volumeScale - The scale of the volume (0-1).
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param clip UnityEngine.AudioClip
---@param volumeScale float
function CS.UnityEngine.AudioSource.PlayOneShot(clip, volumeScale) end

--
--Changes the time at which a sound that has already been scheduled to play will start.
--
--```plaintext
--Params: time - Time in seconds.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param time double
function CS.UnityEngine.AudioSource.SetScheduledStartTime(time) end

--
--Changes the time at which a sound that has already been scheduled to play will end. Notice that depending on the timing not all rescheduling requests can be fulfilled.
--
--```plaintext
--Params: time - Time in seconds.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param time double
function CS.UnityEngine.AudioSource.SetScheduledEndTime(time) end

--
--Stops playing the clip.
--
---@source UnityEngine.AudioModule.dll
function CS.UnityEngine.AudioSource.Stop() end

--
--Pauses playing the clip.
--
---@source UnityEngine.AudioModule.dll
function CS.UnityEngine.AudioSource.Pause() end

--
--Unpause the paused playback of this AudioSource.
--
---@source UnityEngine.AudioModule.dll
function CS.UnityEngine.AudioSource.UnPause() end

--
--Plays an AudioClip at a given position in world space.
--
--```plaintext
--Params: clip - Audio data to play.
--        position - Position in world space from which sound originates.
--        volume - Playback volume.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param clip UnityEngine.AudioClip
---@param position UnityEngine.Vector3
function CS.UnityEngine.AudioSource:PlayClipAtPoint(clip, position) end

--
--Plays an AudioClip at a given position in world space.
--
--```plaintext
--Params: clip - Audio data to play.
--        position - Position in world space from which sound originates.
--        volume - Playback volume.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param clip UnityEngine.AudioClip
---@param position UnityEngine.Vector3
---@param volume float
function CS.UnityEngine.AudioSource:PlayClipAtPoint(clip, position, volume) end

--
--Set the custom curve for the given AudioSourceCurveType.
--
--```plaintext
--Params: type - The curve type that should be set.
--        curve - The curve that should be applied to the given curve type.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param type UnityEngine.AudioSourceCurveType
---@param curve UnityEngine.AnimationCurve
function CS.UnityEngine.AudioSource.SetCustomCurve(type, curve) end

--
--The custom AnimationCurve corresponding to the given curve type.
--
--```plaintext
--Params: type - The curve type to get.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param type UnityEngine.AudioSourceCurveType
---@return AnimationCurve
function CS.UnityEngine.AudioSource.GetCustomCurve(type) end

--
--Deprecated Version. Returns a block of the currently playing source's output data.
--
---@source UnityEngine.AudioModule.dll
---@param numSamples int
---@param channel int
function CS.UnityEngine.AudioSource.GetOutputData(numSamples, channel) end

--
--Provides a block of the currently playing source's output data.
--
--```plaintext
--Params: samples - The array to populate with audio samples. Its length must be a power of 2.
--        channel - The channel to sample from.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param samples float[]
---@param channel int
function CS.UnityEngine.AudioSource.GetOutputData(samples, channel) end

--
--Deprecated Version. Returns a block of the currently playing source's spectrum data.
--
--```plaintext
--Params: numSamples - The number of samples to retrieve. Must be a power of 2.
--        channel - The channel to sample from.
--        window - The FFTWindow type to use when sampling.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param numSamples int
---@param channel int
---@param window UnityEngine.FFTWindow
function CS.UnityEngine.AudioSource.GetSpectrumData(numSamples, channel, window) end

--
--Provides a block of the currently playing audio source's spectrum data.
--
--```plaintext
--Params: samples - The array to populate with audio samples. Its length must be a power of 2.
--        channel - The channel to sample from.
--        window - The FFTWindow type to use when sampling.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param samples float[]
---@param channel int
---@param window UnityEngine.FFTWindow
function CS.UnityEngine.AudioSource.GetSpectrumData(samples, channel, window) end

--
--True, if the parameter could be set.
--
--```plaintext
--Params: index - Zero-based index of user-defined parameter to be set.
--        value - New value of the user-defined parameter.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param index int
---@param value float
---@return Boolean
function CS.UnityEngine.AudioSource.SetSpatializerFloat(index, value) end

---@source UnityEngine.AudioModule.dll
---@param index int
---@param value float
---@return Boolean
function CS.UnityEngine.AudioSource.GetSpatializerFloat(index, value) end

---@source UnityEngine.AudioModule.dll
---@param index int
---@param value float
---@return Boolean
function CS.UnityEngine.AudioSource.GetAmbisonicDecoderFloat(index, value) end

--
--True, if the parameter could be set.
--
--```plaintext
--Params: index - Zero-based index of user-defined parameter to be set.
--        value - New value of the user-defined parameter.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param index int
---@param value float
---@return Boolean
function CS.UnityEngine.AudioSource.SetAmbisonicDecoderFloat(index, value) end


--
--The Audio Low Pass Filter passes low frequencies of an AudioSource or all sounds reaching an AudioListener, while removing frequencies higher than the Cutoff Frequency.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioLowPassFilter: UnityEngine.Behaviour
---@source UnityEngine.AudioModule.dll
---@field lowpassResonaceQ float
--
--Returns or sets the current custom frequency cutoff curve.
--
---@source UnityEngine.AudioModule.dll
---@field customCutoffCurve UnityEngine.AnimationCurve
--
--Lowpass cutoff frequency in hz. 10.0 to 22000.0. Default = 5000.0.
--
---@source UnityEngine.AudioModule.dll
---@field cutoffFrequency float
--
--Determines how much the filter's self-resonance is dampened.
--
---@source UnityEngine.AudioModule.dll
---@field lowpassResonanceQ float
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioLowPassFilter = {}


--
--The Audio High Pass Filter passes high frequencies of an AudioSource, and cuts off signals with frequencies lower than the Cutoff Frequency.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioHighPassFilter: UnityEngine.Behaviour
---@source UnityEngine.AudioModule.dll
---@field highpassResonaceQ float
--
--Highpass cutoff frequency in hz. 10.0 to 22000.0. Default = 5000.0.
--
---@source UnityEngine.AudioModule.dll
---@field cutoffFrequency float
--
--Determines how much the filter's self-resonance isdampened.
--
---@source UnityEngine.AudioModule.dll
---@field highpassResonanceQ float
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioHighPassFilter = {}


--
--The Audio Reverb Filter takes an Audio Clip and distorts it to create a custom reverb effect.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioReverbFilter: UnityEngine.Behaviour
---@source UnityEngine.AudioModule.dll
---@field lFReference float
--
--Set/Get reverb preset properties.
--
---@source UnityEngine.AudioModule.dll
---@field reverbPreset UnityEngine.AudioReverbPreset
--
--Mix level of dry signal in output in millibels (mB). Ranges from -10000.0 to 0.0. Default is 0.
--
---@source UnityEngine.AudioModule.dll
---@field dryLevel float
--
--Room effect level at low frequencies in millibels (mB). Ranges from -10000.0 to 0.0. Default is 0.0.
--
---@source UnityEngine.AudioModule.dll
---@field room float
--
--Room effect high-frequency level re. low frequency level in millibels (mB). Ranges from -10000.0 to 0.0. Default is 0.0.
--
---@source UnityEngine.AudioModule.dll
---@field roomHF float
---@source UnityEngine.AudioModule.dll
---@field roomRolloffFactor float
--
--Reverberation decay time at low-frequencies in seconds. Ranges from 0.1 to 20.0. Default is 1.0.
--
---@source UnityEngine.AudioModule.dll
---@field decayTime float
--
--Decay HF Ratio : High-frequency to low-frequency decay time ratio. Ranges from 0.1 to 2.0. Default is 0.5.
--
---@source UnityEngine.AudioModule.dll
---@field decayHFRatio float
--
--Early reflections level relative to room effect in millibels (mB). Ranges from -10000.0 to 1000.0. Default is -10000.0.
--
---@source UnityEngine.AudioModule.dll
---@field reflectionsLevel float
--
--Late reverberation level relative to room effect in millibels (mB). Ranges from -10000.0 to 2000.0. Default is 0.0.
--
---@source UnityEngine.AudioModule.dll
---@field reflectionsDelay float
--
--Late reverberation level relative to room effect in millibels (mB). Ranges from -10000.0 to 2000.0. Default is 0.0.
--
---@source UnityEngine.AudioModule.dll
---@field reverbLevel float
--
--Late reverberation delay time relative to first reflection in seconds. Ranges from 0.0 to 0.1. Default is 0.04.
--
---@source UnityEngine.AudioModule.dll
---@field reverbDelay float
--
--Reverberation diffusion (echo density) in percent. Ranges from 0.0 to 100.0. Default is 100.0.
--
---@source UnityEngine.AudioModule.dll
---@field diffusion float
--
--Reverberation density (modal density) in percent. Ranges from 0.0 to 100.0. Default is 100.0.
--
---@source UnityEngine.AudioModule.dll
---@field density float
--
--Reference high frequency in hertz (Hz). Ranges from 1000.0 to 20000.0. Default is 5000.0.
--
---@source UnityEngine.AudioModule.dll
---@field hfReference float
--
--Room effect low-frequency level in millibels (mB). Ranges from -10000.0 to 0.0. Default is 0.0.
--
---@source UnityEngine.AudioModule.dll
---@field roomLF float
--
--Reference low-frequency in hertz (Hz). Ranges from 20.0 to 1000.0. Default is 250.0.
--
---@source UnityEngine.AudioModule.dll
---@field lfReference float
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioReverbFilter = {}


--
--These are speaker types defined for use with AudioSettings.speakerMode.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioSpeakerMode: System.Enum
--
--Channel count is unaffected.
--
---@source UnityEngine.AudioModule.dll
---@field Raw UnityEngine.AudioSpeakerMode
--
--Channel count is set to 1. The speakers are monaural.
--
---@source UnityEngine.AudioModule.dll
---@field Mono UnityEngine.AudioSpeakerMode
--
--Channel count is set to 2. The speakers are stereo. This is the editor default.
--
---@source UnityEngine.AudioModule.dll
---@field Stereo UnityEngine.AudioSpeakerMode
--
--Channel count is set to 4. 4 speaker setup. This includes front left, front right, rear left, rear right.
--
---@source UnityEngine.AudioModule.dll
---@field Quad UnityEngine.AudioSpeakerMode
--
--Channel count is set to 5. 5 speaker setup. This includes front left, front right, center, rear left, rear right.
--
---@source UnityEngine.AudioModule.dll
---@field Surround UnityEngine.AudioSpeakerMode
--
--Channel count is set to 6. 5.1 speaker setup. This includes front left, front right, center, rear left, rear right and a subwoofer.
--
---@source UnityEngine.AudioModule.dll
---@field Mode5point1 UnityEngine.AudioSpeakerMode
--
--Channel count is set to 8. 7.1 speaker setup. This includes front left, front right, center, rear left, rear right, side left, side right and a subwoofer.
--
---@source UnityEngine.AudioModule.dll
---@field Mode7point1 UnityEngine.AudioSpeakerMode
--
--Channel count is set to 2. Stereo output, but data is encoded in a way that is picked up by a Prologic/Prologic2 decoder and split into a 5.1 speaker setup.
--
---@source UnityEngine.AudioModule.dll
---@field Prologic UnityEngine.AudioSpeakerMode
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioSpeakerMode = {}

---@source 
---@param value any
---@return UnityEngine.AudioSpeakerMode
function CS.UnityEngine.AudioSpeakerMode:__CastFrom(value) end


--
--Value describing the current load state of the audio data associated with an AudioClip.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioDataLoadState: System.Enum
--
--Value returned by AudioClip.loadState for an AudioClip that has no audio data loaded and where loading has not been initiated yet.
--
---@source UnityEngine.AudioModule.dll
---@field Unloaded UnityEngine.AudioDataLoadState
--
--Value returned by AudioClip.loadState for an AudioClip that is currently loading audio data.
--
---@source UnityEngine.AudioModule.dll
---@field Loading UnityEngine.AudioDataLoadState
--
--Value returned by AudioClip.loadState for an AudioClip that has succeeded loading its audio data.
--
---@source UnityEngine.AudioModule.dll
---@field Loaded UnityEngine.AudioDataLoadState
--
--Value returned by AudioClip.loadState for an AudioClip that has failed loading its audio data.
--
---@source UnityEngine.AudioModule.dll
---@field Failed UnityEngine.AudioDataLoadState
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioDataLoadState = {}

---@source 
---@param value any
---@return UnityEngine.AudioDataLoadState
function CS.UnityEngine.AudioDataLoadState:__CastFrom(value) end


--
--Specifies the current properties or desired properties to be set for the audio system.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioConfiguration: System.ValueType
--
--The current speaker mode used by the audio output device.
--
---@source UnityEngine.AudioModule.dll
---@field speakerMode UnityEngine.AudioSpeakerMode
--
--The length of the DSP buffer in samples determining the latency of sounds by the audio output device.
--
---@source UnityEngine.AudioModule.dll
---@field dspBufferSize int
--
--The current sample rate of the audio output device used.
--
---@source UnityEngine.AudioModule.dll
---@field sampleRate int
--
--The current maximum number of simultaneously audible sounds in the game.
--
---@source UnityEngine.AudioModule.dll
---@field numRealVoices int
--
--The  maximum number of managed sounds in the game. Beyond this limit sounds will simply stop playing.
--
---@source UnityEngine.AudioModule.dll
---@field numVirtualVoices int
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioConfiguration = {}


--
--An enum containing different compression types.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioCompressionFormat: System.Enum
--
--Uncompressed pulse-code modulation.
--
---@source UnityEngine.AudioModule.dll
---@field PCM UnityEngine.AudioCompressionFormat
--
--Vorbis compression format.
--
---@source UnityEngine.AudioModule.dll
---@field Vorbis UnityEngine.AudioCompressionFormat
--
--Adaptive differential pulse-code modulation.
--
---@source UnityEngine.AudioModule.dll
---@field ADPCM UnityEngine.AudioCompressionFormat
--
--MPEG Audio Layer III.
--
---@source UnityEngine.AudioModule.dll
---@field MP3 UnityEngine.AudioCompressionFormat
--
--Sony proprietary hardware format.
--
---@source UnityEngine.AudioModule.dll
---@field VAG UnityEngine.AudioCompressionFormat
--
--Sony proprietory hardware codec.
--
---@source UnityEngine.AudioModule.dll
---@field HEVAG UnityEngine.AudioCompressionFormat
--
--Xbox One proprietary hardware format.
--
---@source UnityEngine.AudioModule.dll
---@field XMA UnityEngine.AudioCompressionFormat
--
--AAC Audio Compression.
--
---@source UnityEngine.AudioModule.dll
---@field AAC UnityEngine.AudioCompressionFormat
--
--Nintendo ADPCM audio compression format.
--
---@source UnityEngine.AudioModule.dll
---@field GCADPCM UnityEngine.AudioCompressionFormat
--
--Sony proprietary hardware format.
--
---@source UnityEngine.AudioModule.dll
---@field ATRAC9 UnityEngine.AudioCompressionFormat
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioCompressionFormat = {}

---@source 
---@param value any
---@return UnityEngine.AudioCompressionFormat
function CS.UnityEngine.AudioCompressionFormat:__CastFrom(value) end


--
--Determines how the audio clip is loaded in.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioClipLoadType: System.Enum
--
--The audio data is decompressed when the audio clip is loaded.
--
---@source UnityEngine.AudioModule.dll
---@field DecompressOnLoad UnityEngine.AudioClipLoadType
--
--The audio data of the clip will be kept in memory in compressed form.
--
---@source UnityEngine.AudioModule.dll
---@field CompressedInMemory UnityEngine.AudioClipLoadType
--
--Streams audio data from disk.
--
---@source UnityEngine.AudioModule.dll
---@field Streaming UnityEngine.AudioClipLoadType
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioClipLoadType = {}

---@source 
---@param value any
---@return UnityEngine.AudioClipLoadType
function CS.UnityEngine.AudioClipLoadType:__CastFrom(value) end


--
--Describes when an AudioSource or AudioListener is updated.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioVelocityUpdateMode: System.Enum
--
--Updates the source or listener in the MonoBehaviour.FixedUpdate loop if it is attached to a Rigidbody, dynamic MonoBehaviour.Update otherwise.
--
---@source UnityEngine.AudioModule.dll
---@field Auto UnityEngine.AudioVelocityUpdateMode
--
--Updates the source or listener in the MonoBehaviour.FixedUpdate loop.
--
---@source UnityEngine.AudioModule.dll
---@field Fixed UnityEngine.AudioVelocityUpdateMode
--
--Updates the source or listener in the dynamic MonoBehaviour.Update loop.
--
---@source UnityEngine.AudioModule.dll
---@field Dynamic UnityEngine.AudioVelocityUpdateMode
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioVelocityUpdateMode = {}

---@source 
---@param value any
---@return UnityEngine.AudioVelocityUpdateMode
function CS.UnityEngine.AudioVelocityUpdateMode:__CastFrom(value) end


--
--Spectrum analysis windowing types.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.FFTWindow: System.Enum
--
--W[n] = 1.0.
--
---@source UnityEngine.AudioModule.dll
---@field Rectangular UnityEngine.FFTWindow
--
--W[n] = TRI(2n/N).
--
---@source UnityEngine.AudioModule.dll
---@field Triangle UnityEngine.FFTWindow
--
--W[n] = 0.54 - (0.46 * COS(n/N) ).
--
---@source UnityEngine.AudioModule.dll
---@field Hamming UnityEngine.FFTWindow
--
--W[n] = 0.5 * (1.0 - COS(n/N) ).
--
---@source UnityEngine.AudioModule.dll
---@field Hanning UnityEngine.FFTWindow
--
--W[n] = 0.42 - (0.5 * COS(nN) ) + (0.08 * COS(2.0 * nN) ).
--
---@source UnityEngine.AudioModule.dll
---@field Blackman UnityEngine.FFTWindow
--
--W[n] = 0.35875 - (0.48829 * COS(1.0 * nN)) + (0.14128 * COS(2.0 * nN)) - (0.01168 * COS(3.0 * n/N)).
--
---@source UnityEngine.AudioModule.dll
---@field BlackmanHarris UnityEngine.FFTWindow
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.FFTWindow = {}

---@source 
---@param value any
---@return UnityEngine.FFTWindow
function CS.UnityEngine.FFTWindow:__CastFrom(value) end


--
--Rolloff modes that a 3D sound can have in an audio source.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioRolloffMode: System.Enum
--
--Use this mode when you want a real-world rolloff.
--
---@source UnityEngine.AudioModule.dll
---@field Logarithmic UnityEngine.AudioRolloffMode
--
--Use this mode when you want to lower the volume of your sound over the distance.
--
---@source UnityEngine.AudioModule.dll
---@field Linear UnityEngine.AudioRolloffMode
--
--Use this when you want to use a custom rolloff.
--
---@source UnityEngine.AudioModule.dll
---@field Custom UnityEngine.AudioRolloffMode
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioRolloffMode = {}

---@source 
---@param value any
---@return UnityEngine.AudioRolloffMode
function CS.UnityEngine.AudioRolloffMode:__CastFrom(value) end


--
--This defines the curve type of the different custom curves that can be queried and set within the AudioSource.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioSourceCurveType: System.Enum
--
--Custom Volume Rolloff.
--
---@source UnityEngine.AudioModule.dll
---@field CustomRolloff UnityEngine.AudioSourceCurveType
--
--The Spatial Blend.
--
---@source UnityEngine.AudioModule.dll
---@field SpatialBlend UnityEngine.AudioSourceCurveType
--
--Reverb Zone Mix.
--
---@source UnityEngine.AudioModule.dll
---@field ReverbZoneMix UnityEngine.AudioSourceCurveType
--
--The 3D Spread.
--
---@source UnityEngine.AudioModule.dll
---@field Spread UnityEngine.AudioSourceCurveType
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioSourceCurveType = {}

---@source 
---@param value any
---@return UnityEngine.AudioSourceCurveType
function CS.UnityEngine.AudioSourceCurveType:__CastFrom(value) end


--
--Gamepad audio output types.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.GamepadSpeakerOutputType: System.Enum
--
--Audio output is through the gamepads audio speaker if the gamepad supports playing audio.
--
---@source UnityEngine.AudioModule.dll
---@field Speaker UnityEngine.GamepadSpeakerOutputType
--
--Audio output is through the gamepads vibration device if the gamepad supports playing audio as vibration.
--
---@source UnityEngine.AudioModule.dll
---@field Vibration UnityEngine.GamepadSpeakerOutputType
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.GamepadSpeakerOutputType = {}

---@source 
---@param value any
---@return UnityEngine.GamepadSpeakerOutputType
function CS.UnityEngine.GamepadSpeakerOutputType:__CastFrom(value) end


--
--Reverb presets used by the Reverb Zone class and the audio reverb filter.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioReverbPreset: System.Enum
--
--No reverb preset selected.
--
---@source UnityEngine.AudioModule.dll
---@field Off UnityEngine.AudioReverbPreset
--
--Generic preset.
--
---@source UnityEngine.AudioModule.dll
---@field Generic UnityEngine.AudioReverbPreset
--
--Padded cell preset.
--
---@source UnityEngine.AudioModule.dll
---@field PaddedCell UnityEngine.AudioReverbPreset
--
--Room preset.
--
---@source UnityEngine.AudioModule.dll
---@field Room UnityEngine.AudioReverbPreset
--
--Bathroom preset.
--
---@source UnityEngine.AudioModule.dll
---@field Bathroom UnityEngine.AudioReverbPreset
--
--Livingroom preset.
--
---@source UnityEngine.AudioModule.dll
---@field Livingroom UnityEngine.AudioReverbPreset
--
--Stoneroom preset.
--
---@source UnityEngine.AudioModule.dll
---@field Stoneroom UnityEngine.AudioReverbPreset
--
--Auditorium preset.
--
---@source UnityEngine.AudioModule.dll
---@field Auditorium UnityEngine.AudioReverbPreset
--
--Concert hall preset.
--
---@source UnityEngine.AudioModule.dll
---@field Concerthall UnityEngine.AudioReverbPreset
--
--Cave preset.
--
---@source UnityEngine.AudioModule.dll
---@field Cave UnityEngine.AudioReverbPreset
--
--Arena preset.
--
---@source UnityEngine.AudioModule.dll
---@field Arena UnityEngine.AudioReverbPreset
--
--Hangar preset.
--
---@source UnityEngine.AudioModule.dll
---@field Hangar UnityEngine.AudioReverbPreset
--
--Carpeted hallway preset.
--
---@source UnityEngine.AudioModule.dll
---@field CarpetedHallway UnityEngine.AudioReverbPreset
--
--Hallway preset.
--
---@source UnityEngine.AudioModule.dll
---@field Hallway UnityEngine.AudioReverbPreset
--
--Stone corridor preset.
--
---@source UnityEngine.AudioModule.dll
---@field StoneCorridor UnityEngine.AudioReverbPreset
--
--Alley preset.
--
---@source UnityEngine.AudioModule.dll
---@field Alley UnityEngine.AudioReverbPreset
--
--Forest preset.
--
---@source UnityEngine.AudioModule.dll
---@field Forest UnityEngine.AudioReverbPreset
--
--City preset.
--
---@source UnityEngine.AudioModule.dll
---@field City UnityEngine.AudioReverbPreset
--
--Mountains preset.
--
---@source UnityEngine.AudioModule.dll
---@field Mountains UnityEngine.AudioReverbPreset
--
--Quarry preset.
--
---@source UnityEngine.AudioModule.dll
---@field Quarry UnityEngine.AudioReverbPreset
--
--Plain preset.
--
---@source UnityEngine.AudioModule.dll
---@field Plain UnityEngine.AudioReverbPreset
--
--Parking Lot preset.
--
---@source UnityEngine.AudioModule.dll
---@field ParkingLot UnityEngine.AudioReverbPreset
--
--Sewer pipe preset.
--
---@source UnityEngine.AudioModule.dll
---@field SewerPipe UnityEngine.AudioReverbPreset
--
--Underwater presset.
--
---@source UnityEngine.AudioModule.dll
---@field Underwater UnityEngine.AudioReverbPreset
--
--Drugged preset.
--
---@source UnityEngine.AudioModule.dll
---@field Drugged UnityEngine.AudioReverbPreset
--
--Dizzy preset.
--
---@source UnityEngine.AudioModule.dll
---@field Dizzy UnityEngine.AudioReverbPreset
--
--Psychotic preset.
--
---@source UnityEngine.AudioModule.dll
---@field Psychotic UnityEngine.AudioReverbPreset
--
--User defined preset.
--
---@source UnityEngine.AudioModule.dll
---@field User UnityEngine.AudioReverbPreset
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioReverbPreset = {}

---@source 
---@param value any
---@return UnityEngine.AudioReverbPreset
function CS.UnityEngine.AudioReverbPreset:__CastFrom(value) end


--
--A container for audio data.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioClip: UnityEngine.Object
--
--The length of the audio clip in seconds. (Read Only)
--
---@source UnityEngine.AudioModule.dll
---@field length float
--
--The length of the audio clip in samples. (Read Only)
--
---@source UnityEngine.AudioModule.dll
---@field samples int
--
--The number of channels in the audio clip. (Read Only)
--
---@source UnityEngine.AudioModule.dll
---@field channels int
--
--The sample frequency of the clip in Hertz. (Read Only)
--
---@source UnityEngine.AudioModule.dll
---@field frequency int
--
--Returns true if the AudioClip is ready to play (read-only).
--
---@source UnityEngine.AudioModule.dll
---@field isReadyToPlay bool
--
--The load type of the clip (read-only).
--
---@source UnityEngine.AudioModule.dll
---@field loadType UnityEngine.AudioClipLoadType
--
--Preloads audio data of the clip when the clip asset is loaded. When this flag is off, scripts have to call AudioClip.LoadAudioData() to load the data before the clip can be played. Properties like length, channels and format are available before the audio data has been loaded.
--
---@source UnityEngine.AudioModule.dll
---@field preloadAudioData bool
--
--Returns true if this audio clip is ambisonic (read-only).
--
---@source UnityEngine.AudioModule.dll
---@field ambisonic bool
--
--Corresponding to the "Load In Background" flag in the inspector, when this flag is set, the loading will happen delayed without blocking the main thread.
--
---@source UnityEngine.AudioModule.dll
---@field loadInBackground bool
--
--Returns the current load state of the audio data associated with an AudioClip.
--
---@source UnityEngine.AudioModule.dll
---@field loadState UnityEngine.AudioDataLoadState
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioClip = {}

--
--Returns true if loading succeeded.
--
---@source UnityEngine.AudioModule.dll
---@return Boolean
function CS.UnityEngine.AudioClip.LoadAudioData() end

--
--Returns false if unloading failed.
--
---@source UnityEngine.AudioModule.dll
---@return Boolean
function CS.UnityEngine.AudioClip.UnloadAudioData() end

--
--Fills an array with sample data from the clip.
--
---@source UnityEngine.AudioModule.dll
---@param data float[]
---@param offsetSamples int
---@return Boolean
function CS.UnityEngine.AudioClip.GetData(data, offsetSamples) end

--
--Set sample data in a clip.
--
---@source UnityEngine.AudioModule.dll
---@param data float[]
---@param offsetSamples int
---@return Boolean
function CS.UnityEngine.AudioClip.SetData(data, offsetSamples) end

--
--A reference to the created AudioClip.
--
--```plaintext
--Params: name - Name of clip.
--        lengthSamples - Number of sample frames.
--        channels - Number of channels per frame.
--        frequency - Sample frequency of clip.
--        _3D - Audio clip is played back in 3D.
--        stream - True if clip is streamed, that is if the pcmreadercallback generates data on the fly.
--        pcmreadercallback - This callback is invoked to generate a block of sample data. Non-streamed clips call this only once at creation time while streamed clips call this continuously.
--        pcmsetpositioncallback - This callback is invoked whenever the clip loops or changes playback position.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param name string
---@param lengthSamples int
---@param channels int
---@param frequency int
---@param _3D bool
---@param stream bool
---@return AudioClip
function CS.UnityEngine.AudioClip:Create(name, lengthSamples, channels, frequency, _3D, stream) end

---@source UnityEngine.AudioModule.dll
---@param name string
---@param lengthSamples int
---@param channels int
---@param frequency int
---@param _3D bool
---@param stream bool
---@param pcmreadercallback UnityEngine.AudioClip.PCMReaderCallback
---@return AudioClip
function CS.UnityEngine.AudioClip:Create(name, lengthSamples, channels, frequency, _3D, stream, pcmreadercallback) end

---@source UnityEngine.AudioModule.dll
---@param name string
---@param lengthSamples int
---@param channels int
---@param frequency int
---@param _3D bool
---@param stream bool
---@param pcmreadercallback UnityEngine.AudioClip.PCMReaderCallback
---@param pcmsetpositioncallback UnityEngine.AudioClip.PCMSetPositionCallback
---@return AudioClip
function CS.UnityEngine.AudioClip:Create(name, lengthSamples, channels, frequency, _3D, stream, pcmreadercallback, pcmsetpositioncallback) end

--
--A reference to the created AudioClip.
--
--```plaintext
--Params: name - Name of clip.
--        lengthSamples - Number of sample frames.
--        channels - Number of channels per frame.
--        frequency - Sample frequency of clip.
--        _3D - Audio clip is played back in 3D.
--        stream - True if clip is streamed, that is if the pcmreadercallback generates data on the fly.
--        pcmreadercallback - This callback is invoked to generate a block of sample data. Non-streamed clips call this only once at creation time while streamed clips call this continuously.
--        pcmsetpositioncallback - This callback is invoked whenever the clip loops or changes playback position.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param name string
---@param lengthSamples int
---@param channels int
---@param frequency int
---@param stream bool
---@return AudioClip
function CS.UnityEngine.AudioClip:Create(name, lengthSamples, channels, frequency, stream) end

---@source UnityEngine.AudioModule.dll
---@param name string
---@param lengthSamples int
---@param channels int
---@param frequency int
---@param stream bool
---@param pcmreadercallback UnityEngine.AudioClip.PCMReaderCallback
---@return AudioClip
function CS.UnityEngine.AudioClip:Create(name, lengthSamples, channels, frequency, stream, pcmreadercallback) end

---@source UnityEngine.AudioModule.dll
---@param name string
---@param lengthSamples int
---@param channels int
---@param frequency int
---@param stream bool
---@param pcmreadercallback UnityEngine.AudioClip.PCMReaderCallback
---@param pcmsetpositioncallback UnityEngine.AudioClip.PCMSetPositionCallback
---@return AudioClip
function CS.UnityEngine.AudioClip:Create(name, lengthSamples, channels, frequency, stream, pcmreadercallback, pcmsetpositioncallback) end


--
--The Audio Echo Filter repeats a sound after a given Delay, attenuating the repetitions based on the Decay Ratio.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioEchoFilter: UnityEngine.Behaviour
--
--Echo delay in ms. 10 to 5000. Default = 500.
--
---@source UnityEngine.AudioModule.dll
---@field delay float
--
--Echo decay per delay. 0 to 1. 1.0 = No decay, 0.0 = total decay (i.e. simple 1 line delay). Default = 0.5.
--
---@source UnityEngine.AudioModule.dll
---@field decayRatio float
--
--Volume of original signal to pass to output. 0.0 to 1.0. Default = 1.0.
--
---@source UnityEngine.AudioModule.dll
---@field dryMix float
--
--Volume of echo signal to pass to output. 0.0 to 1.0. Default = 1.0.
--
---@source UnityEngine.AudioModule.dll
---@field wetMix float
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioEchoFilter = {}


--
--The Audio Chorus Filter takes an Audio Clip and processes it creating a chorus effect.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioChorusFilter: UnityEngine.Behaviour
--
--Volume of original signal to pass to output. 0.0 to 1.0. Default = 0.5.
--
---@source UnityEngine.AudioModule.dll
---@field dryMix float
--
--Volume of 1st chorus tap. 0.0 to 1.0. Default = 0.5.
--
---@source UnityEngine.AudioModule.dll
---@field wetMix1 float
--
--Volume of 2nd chorus tap. This tap is 90 degrees out of phase of the first tap. 0.0 to 1.0. Default = 0.5.
--
---@source UnityEngine.AudioModule.dll
---@field wetMix2 float
--
--Volume of 3rd chorus tap. This tap is 90 degrees out of phase of the second tap. 0.0 to 1.0. Default = 0.5.
--
---@source UnityEngine.AudioModule.dll
---@field wetMix3 float
--
--Chorus delay in ms. 0.1 to 100.0. Default = 40.0 ms.
--
---@source UnityEngine.AudioModule.dll
---@field delay float
--
--Chorus modulation rate in hz. 0.0 to 20.0. Default = 0.8 hz.
--
---@source UnityEngine.AudioModule.dll
---@field rate float
--
--Chorus modulation depth. 0.0 to 1.0. Default = 0.03.
--
---@source UnityEngine.AudioModule.dll
---@field depth float
--
--Chorus feedback. Controls how much of the wet signal gets fed back into the chorus buffer. 0.0 to 1.0. Default = 0.0.
--
---@source UnityEngine.AudioModule.dll
---@field feedback float
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioChorusFilter = {}


--
--Use this class to record to an AudioClip using a connected microphone.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.Microphone: object
--
--A list of available microphone devices, identified by name.
--
---@source UnityEngine.AudioModule.dll
---@field devices string[]
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.Microphone = {}

--
--The function returns null if the recording fails to start.
--
--```plaintext
--Params: deviceName - The name of the device.
--        loop - Indicates whether the recording should continue recording if lengthSec is reached, and wrap around and record from the beginning of the AudioClip.
--        lengthSec - Is the length of the AudioClip produced by the recording.
--        frequency - The sample rate of the AudioClip produced by the recording.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param deviceName string
---@param loop bool
---@param lengthSec int
---@param frequency int
---@return AudioClip
function CS.UnityEngine.Microphone:Start(deviceName, loop, lengthSec, frequency) end

--
--Stops recording.
--
--```plaintext
--Params: deviceName - The name of the device.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param deviceName string
function CS.UnityEngine.Microphone:End(deviceName) end

--
--Query if a device is currently recording.
--
--```plaintext
--Params: deviceName - The name of the device.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param deviceName string
---@return Boolean
function CS.UnityEngine.Microphone:IsRecording(deviceName) end

--
--Get the position in samples of the recording.
--
--```plaintext
--Params: deviceName - The name of the device.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param deviceName string
---@return Int32
function CS.UnityEngine.Microphone:GetPosition(deviceName) end

---@source UnityEngine.AudioModule.dll
---@param deviceName string
---@param minFreq int
---@param maxFreq int
function CS.UnityEngine.Microphone:GetDeviceCaps(deviceName, minFreq, maxFreq) end


--
--Delegate called each time AudioClip reads data.
--
--```plaintext
--Params: data - Array of floats containing data read from the clip.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.PCMReaderCallback: System.MulticastDelegate
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.PCMReaderCallback = {}

---@source UnityEngine.AudioModule.dll
---@param data float[]
function CS.UnityEngine.PCMReaderCallback.Invoke(data) end

---@source UnityEngine.AudioModule.dll
---@param data float[]
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.PCMReaderCallback.BeginInvoke(data, callback, object) end

---@source UnityEngine.AudioModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.PCMReaderCallback.EndInvoke(result) end


--
--Delegate called each time AudioClip changes read position.
--
--```plaintext
--Params: position - New position in the audio clip.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.PCMSetPositionCallback: System.MulticastDelegate
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.PCMSetPositionCallback = {}

---@source UnityEngine.AudioModule.dll
---@param position int
function CS.UnityEngine.PCMSetPositionCallback.Invoke(position) end

---@source UnityEngine.AudioModule.dll
---@param position int
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.PCMSetPositionCallback.BeginInvoke(position, callback, object) end

---@source UnityEngine.AudioModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.PCMSetPositionCallback.EndInvoke(result) end


---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioBehaviour: UnityEngine.Behaviour
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioBehaviour = {}


--
--Representation of a listener in 3D space.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioListener: UnityEngine.AudioBehaviour
--
--Controls the game sound volume (0.0 to 1.0).
--
---@source UnityEngine.AudioModule.dll
---@field volume float
--
--The paused state of the audio system.
--
---@source UnityEngine.AudioModule.dll
---@field pause bool
--
--This lets you set whether the Audio Listener should be updated in the fixed or dynamic update.
--
---@source UnityEngine.AudioModule.dll
---@field velocityUpdateMode UnityEngine.AudioVelocityUpdateMode
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioListener = {}

--
--Deprecated Version. Returns a block of the listener (master)'s output data.
--
---@source UnityEngine.AudioModule.dll
---@param numSamples int
---@param channel int
function CS.UnityEngine.AudioListener:GetOutputData(numSamples, channel) end

--
--Provides a block of the listener (master)'s output data.
--
--```plaintext
--Params: samples - The array to populate with audio samples. Its length must be a power of 2.
--        channel - The channel to sample from.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param samples float[]
---@param channel int
function CS.UnityEngine.AudioListener:GetOutputData(samples, channel) end

--
--Deprecated Version. Returns a block of the listener (master)'s spectrum data.
--
--```plaintext
--Params: numSamples - Number of values (the length of the samples array). Must be a power of 2. Min = 64. Max = 8192.
--        channel - The channel to sample from.
--        window - The FFTWindow type to use when sampling.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param numSamples int
---@param channel int
---@param window UnityEngine.FFTWindow
function CS.UnityEngine.AudioListener:GetSpectrumData(numSamples, channel, window) end

--
--Provides a block of the listener (master)'s spectrum data.
--
--```plaintext
--Params: samples - The array to populate with audio samples. Its length must be a power of 2.
--        channel - The channel to sample from.
--        window - The FFTWindow type to use when sampling.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param samples float[]
---@param channel int
---@param window UnityEngine.FFTWindow
function CS.UnityEngine.AudioListener:GetSpectrumData(samples, channel, window) end


--
--Allow recording the main output of the game or specific groups in the AudioMixer.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioRenderer: object
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioRenderer = {}

--
--True if the engine was switched into output recording mode. False if it is already recording.
--
---@source UnityEngine.AudioModule.dll
---@return Boolean
function CS.UnityEngine.AudioRenderer:Start() end

--
--True if the engine was recording when this function was called.
--
---@source UnityEngine.AudioModule.dll
---@return Boolean
function CS.UnityEngine.AudioRenderer:Stop() end

--
--Number of samples available since last recorded frame.
--
---@source UnityEngine.AudioModule.dll
---@return Int32
function CS.UnityEngine.AudioRenderer:GetSampleCountForCaptureFrame() end

---@source UnityEngine.AudioModule.dll
---@param buffer Unity.Collections.NativeArray<float>
---@return Boolean
function CS.UnityEngine.AudioRenderer:Render(buffer) end


--
--Reverb Zones are used when you want to create location based ambient effects in the Scene.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioReverbZone: UnityEngine.Behaviour
--
--The distance from the centerpoint that the reverb will have full effect at. Default = 10.0.
--
---@source UnityEngine.AudioModule.dll
---@field minDistance float
--
--The distance from the centerpoint that the reverb will not have any effect. Default = 15.0.
--
---@source UnityEngine.AudioModule.dll
---@field maxDistance float
--
--Set/Get reverb preset properties.
--
---@source UnityEngine.AudioModule.dll
---@field reverbPreset UnityEngine.AudioReverbPreset
--
--Room effect level (at mid frequencies).
--
---@source UnityEngine.AudioModule.dll
---@field room int
--
--Relative room effect level at high frequencies.
--
---@source UnityEngine.AudioModule.dll
---@field roomHF int
--
--Relative room effect level at low frequencies.
--
---@source UnityEngine.AudioModule.dll
---@field roomLF int
--
--Reverberation decay time at mid frequencies.
--
---@source UnityEngine.AudioModule.dll
---@field decayTime float
--
--High-frequency to mid-frequency decay time ratio.
--
---@source UnityEngine.AudioModule.dll
---@field decayHFRatio float
--
--Early reflections level relative to room effect.
--
---@source UnityEngine.AudioModule.dll
---@field reflections int
--
--Initial reflection delay time.
--
---@source UnityEngine.AudioModule.dll
---@field reflectionsDelay float
--
--Late reverberation level relative to room effect.
--
---@source UnityEngine.AudioModule.dll
---@field reverb int
--
--Late reverberation delay time relative to initial reflection.
--
---@source UnityEngine.AudioModule.dll
---@field reverbDelay float
--
--Reference high frequency (hz).
--
---@source UnityEngine.AudioModule.dll
---@field HFReference float
--
--Reference low frequency (hz).
--
---@source UnityEngine.AudioModule.dll
---@field LFReference float
--
--Like rolloffscale in global settings, but for reverb room size effect.
--
---@source UnityEngine.AudioModule.dll
---@field roomRolloffFactor float
--
--Value that controls the echo density in the late reverberation decay.
--
---@source UnityEngine.AudioModule.dll
---@field diffusion float
--
--Value that controls the modal density in the late reverberation decay.
--
---@source UnityEngine.AudioModule.dll
---@field density float
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioReverbZone = {}


--
--MovieTexture has been removed. Use VideoPlayer instead.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.MovieTexture: UnityEngine.Texture
--
--MovieTexture has been removed. Use VideoPlayer instead.
--
---@source UnityEngine.AudioModule.dll
---@field audioClip UnityEngine.AudioClip
--
--MovieTexture has been removed. Use VideoPlayer instead.
--
---@source UnityEngine.AudioModule.dll
---@field loop bool
--
--MovieTexture has been removed. Use VideoPlayer instead.
--
---@source UnityEngine.AudioModule.dll
---@field isPlaying bool
--
--MovieTexture has been removed. Use VideoPlayer instead.
--
---@source UnityEngine.AudioModule.dll
---@field isReadyToPlay bool
--
--MovieTexture has been removed. Use VideoPlayer instead.
--
---@source UnityEngine.AudioModule.dll
---@field duration float
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.MovieTexture = {}

--
--MovieTexture has been removed. Use VideoPlayer instead.
--
---@source UnityEngine.AudioModule.dll
function CS.UnityEngine.MovieTexture.Play() end

--
--MovieTexture has been removed. Use VideoPlayer instead.
--
---@source UnityEngine.AudioModule.dll
function CS.UnityEngine.MovieTexture.Stop() end

--
--MovieTexture has been removed. Use VideoPlayer instead.
--
---@source UnityEngine.AudioModule.dll
function CS.UnityEngine.MovieTexture.Pause() end


--
--The Audio Distortion Filter distorts the sound from an AudioSource or sounds reaching the AudioListener.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.AudioDistortionFilter: UnityEngine.Behaviour
--
--Distortion value. 0.0 to 1.0. Default = 0.5.
--
---@source UnityEngine.AudioModule.dll
---@field distortionLevel float
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.AudioDistortionFilter = {}


---@source UnityEngine.AudioModule.dll
---@class UnityEngine.WebCamFlags: System.Enum
---@source UnityEngine.AudioModule.dll
---@field FrontFacing UnityEngine.WebCamFlags
---@source UnityEngine.AudioModule.dll
---@field AutoFocusPointSupported UnityEngine.WebCamFlags
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.WebCamFlags = {}

---@source 
---@param value any
---@return UnityEngine.WebCamFlags
function CS.UnityEngine.WebCamFlags:__CastFrom(value) end


--
--Enum representing the different types of web camera device.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.WebCamKind: System.Enum
--
--Wide angle (default) camera.
--
---@source UnityEngine.AudioModule.dll
---@field WideAngle UnityEngine.WebCamKind
--
--A Telephoto camera device. These devices have a longer focal length than a wide-angle camera.
--
---@source UnityEngine.AudioModule.dll
---@field Telephoto UnityEngine.WebCamKind
--
--Camera which supports synchronized color and depth data (currently these are only dual back and true depth cameras on latest iOS devices).
--
---@source UnityEngine.AudioModule.dll
---@field ColorAndDepth UnityEngine.WebCamKind
--
--Ultra wide angle camera. These devices have a shorter focal length than a wide-angle camera.
--
---@source UnityEngine.AudioModule.dll
---@field UltraWideAngle UnityEngine.WebCamKind
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.WebCamKind = {}

---@source 
---@param value any
---@return UnityEngine.WebCamKind
function CS.UnityEngine.WebCamKind:__CastFrom(value) end


--
--A structure describing the webcam device.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.WebCamDevice: System.ValueType
--
--A human-readable name of the device. Varies across different systems.
--
---@source UnityEngine.AudioModule.dll
---@field name string
--
--True if camera faces the same direction a screen does, false otherwise.
--
---@source UnityEngine.AudioModule.dll
---@field isFrontFacing bool
--
--Property of type WebCamKind denoting the kind of webcam device.
--
---@source UnityEngine.AudioModule.dll
---@field kind UnityEngine.WebCamKind
--
--A string identifier used to create a depth data based WebCamTexture.
--
---@source UnityEngine.AudioModule.dll
---@field depthCameraName string
--
--Returns true if the camera supports automatic focusing on points of interest and false otherwise.
--
---@source UnityEngine.AudioModule.dll
---@field isAutoFocusPointSupported bool
--
--Possible WebCamTexture resolutions for this device.
--
---@source UnityEngine.AudioModule.dll
---@field availableResolutions UnityEngine.Resolution[]
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.WebCamDevice = {}


--
--WebCam Textures are textures onto which the live video input is rendered.
--
---@source UnityEngine.AudioModule.dll
---@class UnityEngine.WebCamTexture: UnityEngine.Texture
--
--Return a list of available devices.
--
---@source UnityEngine.AudioModule.dll
---@field devices UnityEngine.WebCamDevice[]
--
--Returns if the camera is currently playing.
--
---@source UnityEngine.AudioModule.dll
---@field isPlaying bool
--
--Set this to specify the name of the device to use.
--
---@source UnityEngine.AudioModule.dll
---@field deviceName string
--
--Set the requested frame rate of the camera device (in frames per second).
--
---@source UnityEngine.AudioModule.dll
---@field requestedFPS float
--
--Set the requested width of the camera device.
--
---@source UnityEngine.AudioModule.dll
---@field requestedWidth int
--
--Set the requested height of the camera device.
--
---@source UnityEngine.AudioModule.dll
---@field requestedHeight int
--
--Returns an clockwise angle (in degrees), which can be used to rotate a polygon so camera contents are shown in correct orientation.
--
---@source UnityEngine.AudioModule.dll
---@field videoRotationAngle int
--
--Returns if the texture image is vertically flipped.
--
---@source UnityEngine.AudioModule.dll
---@field videoVerticallyMirrored bool
--
--Did the video buffer update this frame?
--
---@source UnityEngine.AudioModule.dll
---@field didUpdateThisFrame bool
--
--This property allows you to set/get the auto focus point of the camera. This works only on Android and iOS devices.
--
---@source UnityEngine.AudioModule.dll
---@field autoFocusPoint UnityEngine.Vector2?
--
--This property is true if the texture is based on depth data.
--
---@source UnityEngine.AudioModule.dll
---@field isDepth bool
---@source UnityEngine.AudioModule.dll
CS.UnityEngine.WebCamTexture = {}

--
--Starts the camera.
--
---@source UnityEngine.AudioModule.dll
function CS.UnityEngine.WebCamTexture.Play() end

--
--Pauses the camera.
--
---@source UnityEngine.AudioModule.dll
function CS.UnityEngine.WebCamTexture.Pause() end

--
--Stops the camera.
--
---@source UnityEngine.AudioModule.dll
function CS.UnityEngine.WebCamTexture.Stop() end

--
--Returns pixel color at coordinates (x, y).
--
---@source UnityEngine.AudioModule.dll
---@param x int
---@param y int
---@return Color
function CS.UnityEngine.WebCamTexture.GetPixel(x, y) end

--
--An array that contains a copy of the requested pixel colors, represented by Color structs.
--
---@source UnityEngine.AudioModule.dll
function CS.UnityEngine.WebCamTexture.GetPixels() end

--
--Get a block of pixel colors.
--
---@source UnityEngine.AudioModule.dll
---@param x int
---@param y int
---@param blockWidth int
---@param blockHeight int
function CS.UnityEngine.WebCamTexture.GetPixels(x, y, blockWidth, blockHeight) end

---@source UnityEngine.AudioModule.dll
function CS.UnityEngine.WebCamTexture.GetPixels32() end

--
--An array that contains a copy of the requested pixel colors, represented by Color32 structs.
--
--```plaintext
--Params: colors - Optional array to receive pixel data.
--        
--```
--
---@source UnityEngine.AudioModule.dll
---@param colors UnityEngine.Color32[]
function CS.UnityEngine.WebCamTexture.GetPixels32(colors) end


--
--Interface for reading and writing inputs in a Unity Cluster.
--
---@source UnityEngine.ClusterInputModule.dll
---@class UnityEngine.ClusterInput: object
---@source UnityEngine.ClusterInputModule.dll
CS.UnityEngine.ClusterInput = {}

--
--Returns the axis value as a continous float.
--
--```plaintext
--Params: name - Name of input to poll.c.
--        
--```
--
---@source UnityEngine.ClusterInputModule.dll
---@param name string
---@return Single
function CS.UnityEngine.ClusterInput:GetAxis(name) end

--
--Returns the binary value of a button.
--
--```plaintext
--Params: name - Name of input to poll.
--        
--```
--
---@source UnityEngine.ClusterInputModule.dll
---@param name string
---@return Boolean
function CS.UnityEngine.ClusterInput:GetButton(name) end

--
--Return the position of a tracker as a Vector3.
--
--```plaintext
--Params: name - Name of input to poll.
--        
--```
--
---@source UnityEngine.ClusterInputModule.dll
---@param name string
---@return Vector3
function CS.UnityEngine.ClusterInput:GetTrackerPosition(name) end

--
--Returns the rotation of a tracker as a Quaternion.
--
--```plaintext
--Params: name - Name of input to poll.
--        
--```
--
---@source UnityEngine.ClusterInputModule.dll
---@param name string
---@return Quaternion
function CS.UnityEngine.ClusterInput:GetTrackerRotation(name) end

--
--Sets the axis value for this input. Only works for input typed Custom.
--
--```plaintext
--Params: name - Name of input to modify.
--        value - Value to set.
--        
--```
--
---@source UnityEngine.ClusterInputModule.dll
---@param name string
---@param value float
function CS.UnityEngine.ClusterInput:SetAxis(name, value) end

--
--Sets the button value for this input. Only works for input typed Custom.
--
--```plaintext
--Params: name - Name of input to modify.
--        value - Value to set.
--        
--```
--
---@source UnityEngine.ClusterInputModule.dll
---@param name string
---@param value bool
function CS.UnityEngine.ClusterInput:SetButton(name, value) end

--
--Sets the tracker position for this input. Only works for input typed Custom.
--
--```plaintext
--Params: name - Name of input to modify.
--        value - Value to set.
--        
--```
--
---@source UnityEngine.ClusterInputModule.dll
---@param name string
---@param value UnityEngine.Vector3
function CS.UnityEngine.ClusterInput:SetTrackerPosition(name, value) end

--
--Sets the tracker rotation for this input. Only works for input typed Custom.
--
--```plaintext
--Params: name - Name of input to modify.
--        value - Value to set.
--        
--```
--
---@source UnityEngine.ClusterInputModule.dll
---@param name string
---@param value UnityEngine.Quaternion
function CS.UnityEngine.ClusterInput:SetTrackerRotation(name, value) end

--
--True if the operation succeed.
--
--```plaintext
--Params: name - Name of the input entry. This has to be unique.
--        deviceName - Device name registered to VRPN server.
--        serverUrl - URL to the vrpn server.
--        index - Index of the Input entry, refer to vrpn.cfg if unsure.
--        type - Type of the input.
--        
--```
--
---@source UnityEngine.ClusterInputModule.dll
---@param name string
---@param deviceName string
---@param serverUrl string
---@param index int
---@param type UnityEngine.ClusterInputType
---@return Boolean
function CS.UnityEngine.ClusterInput:AddInput(name, deviceName, serverUrl, index, type) end

--
--Edit an input entry which added via ClusterInput.AddInput.
--
--```plaintext
--Params: name - Name of the input entry. This has to be unique.
--        deviceName - Device name registered to VRPN server.
--        serverUrl - URL to the vrpn server.
--        index - Index of the Input entry, refer to vrpn.cfg if unsure.
--        type - Type of the ClusterInputType as follow.
--        
--```
--
---@source UnityEngine.ClusterInputModule.dll
---@param name string
---@param deviceName string
---@param serverUrl string
---@param index int
---@param type UnityEngine.ClusterInputType
---@return Boolean
function CS.UnityEngine.ClusterInput:EditInput(name, deviceName, serverUrl, index, type) end

--
--Check the connection status of the device to the VRPN server it connected to.
--
--```plaintext
--Params: name - Name of the input entry.
--        
--```
--
---@source UnityEngine.ClusterInputModule.dll
---@param name string
---@return Boolean
function CS.UnityEngine.ClusterInput:CheckConnectionToServer(name) end


--
--A helper class that contains static method to inquire status of Unity Cluster.
--
---@source UnityEngine.ClusterRendererModule.dll
---@class UnityEngine.ClusterNetwork: object
--
--Check whether the current instance is a master node in the cluster network.
--
---@source UnityEngine.ClusterRendererModule.dll
---@field isMasterOfCluster bool
--
--Check whether the current instance is disconnected from the cluster network.
--
---@source UnityEngine.ClusterRendererModule.dll
---@field isDisconnected bool
--
--To acquire or set the node index of the current machine from the cluster network.
--
---@source UnityEngine.ClusterRendererModule.dll
---@field nodeIndex int
---@source UnityEngine.ClusterRendererModule.dll
CS.UnityEngine.ClusterNetwork = {}


---@source UnityEngine.ClusterRendererModule.dll
---@class UnityEngine.ClusterSerialization: object
---@source UnityEngine.ClusterRendererModule.dll
CS.UnityEngine.ClusterSerialization = {}

---@source UnityEngine.ClusterRendererModule.dll
---@param buffer Unity.Collections.NativeArray<byte>
---@return Int32
function CS.UnityEngine.ClusterSerialization:SaveTimeManagerState(buffer) end

---@source UnityEngine.ClusterRendererModule.dll
---@param buffer Unity.Collections.NativeArray<byte>
---@return Boolean
function CS.UnityEngine.ClusterSerialization:RestoreTimeManagerState(buffer) end

---@source UnityEngine.ClusterRendererModule.dll
---@param buffer Unity.Collections.NativeArray<byte>
---@return Int32
function CS.UnityEngine.ClusterSerialization:SaveInputManagerState(buffer) end

---@source UnityEngine.ClusterRendererModule.dll
---@param buffer Unity.Collections.NativeArray<byte>
---@return Boolean
function CS.UnityEngine.ClusterSerialization:RestoreInputManagerState(buffer) end

---@source UnityEngine.ClusterRendererModule.dll
---@param buffer Unity.Collections.NativeArray<byte>
---@return Int32
function CS.UnityEngine.ClusterSerialization:SaveClusterInputState(buffer) end

---@source UnityEngine.ClusterRendererModule.dll
---@param buffer Unity.Collections.NativeArray<byte>
---@return Boolean
function CS.UnityEngine.ClusterSerialization:RestoreClusterInputState(buffer) end


--
--Options for how to send a message.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SendMessageOptions: System.Enum
--
--A receiver is required for SendMessage.
--
---@source UnityEngine.CoreModule.dll
---@field RequireReceiver UnityEngine.SendMessageOptions
--
--No receiver is required for SendMessage.
--
---@source UnityEngine.CoreModule.dll
---@field DontRequireReceiver UnityEngine.SendMessageOptions
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SendMessageOptions = {}

---@source 
---@param value any
---@return UnityEngine.SendMessageOptions
function CS.UnityEngine.SendMessageOptions:__CastFrom(value) end


--
--The various primitives that can be created using the GameObject.CreatePrimitive function.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.PrimitiveType: System.Enum
--
--A sphere primitive.
--
---@source UnityEngine.CoreModule.dll
---@field Sphere UnityEngine.PrimitiveType
--
--A capsule primitive.
--
---@source UnityEngine.CoreModule.dll
---@field Capsule UnityEngine.PrimitiveType
--
--A cylinder primitive.
--
---@source UnityEngine.CoreModule.dll
---@field Cylinder UnityEngine.PrimitiveType
--
--A cube primitive.
--
---@source UnityEngine.CoreModule.dll
---@field Cube UnityEngine.PrimitiveType
--
--A plane primitive.
--
---@source UnityEngine.CoreModule.dll
---@field Plane UnityEngine.PrimitiveType
--
--A quad primitive.
--
---@source UnityEngine.CoreModule.dll
---@field Quad UnityEngine.PrimitiveType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.PrimitiveType = {}

---@source 
---@param value any
---@return UnityEngine.PrimitiveType
function CS.UnityEngine.PrimitiveType:__CastFrom(value) end


--
--The coordinate space in which to operate.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Space: System.Enum
--
--Applies transformation relative to the world coordinate system.
--
---@source UnityEngine.CoreModule.dll
---@field World UnityEngine.Space
--
--Applies transformation relative to the local coordinate system.
--
---@source UnityEngine.CoreModule.dll
---@field Self UnityEngine.Space
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Space = {}

---@source 
---@param value any
---@return UnityEngine.Space
function CS.UnityEngine.Space:__CastFrom(value) end


--
--The platform application is running. Returned by Application.platform.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RuntimePlatform: System.Enum
--
--In the Unity editor on macOS.
--
---@source UnityEngine.CoreModule.dll
---@field OSXEditor UnityEngine.RuntimePlatform
--
--In the player on macOS.
--
---@source UnityEngine.CoreModule.dll
---@field OSXPlayer UnityEngine.RuntimePlatform
--
--In the player on Windows.
--
---@source UnityEngine.CoreModule.dll
---@field WindowsPlayer UnityEngine.RuntimePlatform
--
--In the web player on macOS.
--
---@source UnityEngine.CoreModule.dll
---@field OSXWebPlayer UnityEngine.RuntimePlatform
--
--In the Dashboard widget on macOS.
--
---@source UnityEngine.CoreModule.dll
---@field OSXDashboardPlayer UnityEngine.RuntimePlatform
--
--In the web player on Windows.
--
---@source UnityEngine.CoreModule.dll
---@field WindowsWebPlayer UnityEngine.RuntimePlatform
--
--In the Unity editor on Windows.
--
---@source UnityEngine.CoreModule.dll
---@field WindowsEditor UnityEngine.RuntimePlatform
--
--In the player on the iPhone.
--
---@source UnityEngine.CoreModule.dll
---@field IPhonePlayer UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field XBOX360 UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field PS3 UnityEngine.RuntimePlatform
--
--In the player on Android devices.
--
---@source UnityEngine.CoreModule.dll
---@field Android UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field NaCl UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field FlashPlayer UnityEngine.RuntimePlatform
--
--In the player on Linux.
--
---@source UnityEngine.CoreModule.dll
---@field LinuxPlayer UnityEngine.RuntimePlatform
--
--In the Unity editor on Linux.
--
---@source UnityEngine.CoreModule.dll
---@field LinuxEditor UnityEngine.RuntimePlatform
--
--In the player on WebGL
--
---@source UnityEngine.CoreModule.dll
---@field WebGLPlayer UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field MetroPlayerX86 UnityEngine.RuntimePlatform
--
--In the player on Windows Store Apps when CPU architecture is X86.
--
---@source UnityEngine.CoreModule.dll
---@field WSAPlayerX86 UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field MetroPlayerX64 UnityEngine.RuntimePlatform
--
--In the player on Windows Store Apps when CPU architecture is X64.
--
---@source UnityEngine.CoreModule.dll
---@field WSAPlayerX64 UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field MetroPlayerARM UnityEngine.RuntimePlatform
--
--In the player on Windows Store Apps when CPU architecture is ARM.
--
---@source UnityEngine.CoreModule.dll
---@field WSAPlayerARM UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field WP8Player UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field BB10Player UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field BlackBerryPlayer UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field TizenPlayer UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field PSP2 UnityEngine.RuntimePlatform
--
--In the player on the Playstation 4.
--
---@source UnityEngine.CoreModule.dll
---@field PS4 UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field PSM UnityEngine.RuntimePlatform
--
--In the player on Xbox One.
--
---@source UnityEngine.CoreModule.dll
---@field XboxOne UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field SamsungTVPlayer UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field WiiU UnityEngine.RuntimePlatform
--
--In the player on the Apple's tvOS.
--
---@source UnityEngine.CoreModule.dll
---@field tvOS UnityEngine.RuntimePlatform
--
--In the player on Nintendo Switch.
--
---@source UnityEngine.CoreModule.dll
---@field Switch UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field Lumin UnityEngine.RuntimePlatform
--
--In the player on Stadia.
--
---@source UnityEngine.CoreModule.dll
---@field Stadia UnityEngine.RuntimePlatform
--
--In the player on CloudRendering.
--
---@source UnityEngine.CoreModule.dll
---@field CloudRendering UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field GameCoreScarlett UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field GameCoreXboxSeries UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
---@field GameCoreXboxOne UnityEngine.RuntimePlatform
--
--In the player on the Playstation 5.
--
---@source UnityEngine.CoreModule.dll
---@field PS5 UnityEngine.RuntimePlatform
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RuntimePlatform = {}

---@source 
---@param value any
---@return UnityEngine.RuntimePlatform
function CS.UnityEngine.RuntimePlatform:__CastFrom(value) end


--
--The language the user's operating system is running in. Returned by Application.systemLanguage.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SystemLanguage: System.Enum
--
--Afrikaans.
--
---@source UnityEngine.CoreModule.dll
---@field Afrikaans UnityEngine.SystemLanguage
--
--Arabic.
--
---@source UnityEngine.CoreModule.dll
---@field Arabic UnityEngine.SystemLanguage
--
--Basque.
--
---@source UnityEngine.CoreModule.dll
---@field Basque UnityEngine.SystemLanguage
--
--Belarusian.
--
---@source UnityEngine.CoreModule.dll
---@field Belarusian UnityEngine.SystemLanguage
--
--Bulgarian.
--
---@source UnityEngine.CoreModule.dll
---@field Bulgarian UnityEngine.SystemLanguage
--
--Catalan.
--
---@source UnityEngine.CoreModule.dll
---@field Catalan UnityEngine.SystemLanguage
--
--Chinese.
--
---@source UnityEngine.CoreModule.dll
---@field Chinese UnityEngine.SystemLanguage
--
--Czech.
--
---@source UnityEngine.CoreModule.dll
---@field Czech UnityEngine.SystemLanguage
--
--Danish.
--
---@source UnityEngine.CoreModule.dll
---@field Danish UnityEngine.SystemLanguage
--
--Dutch.
--
---@source UnityEngine.CoreModule.dll
---@field Dutch UnityEngine.SystemLanguage
--
--English.
--
---@source UnityEngine.CoreModule.dll
---@field English UnityEngine.SystemLanguage
--
--Estonian.
--
---@source UnityEngine.CoreModule.dll
---@field Estonian UnityEngine.SystemLanguage
--
--Faroese.
--
---@source UnityEngine.CoreModule.dll
---@field Faroese UnityEngine.SystemLanguage
--
--Finnish.
--
---@source UnityEngine.CoreModule.dll
---@field Finnish UnityEngine.SystemLanguage
--
--French.
--
---@source UnityEngine.CoreModule.dll
---@field French UnityEngine.SystemLanguage
--
--German.
--
---@source UnityEngine.CoreModule.dll
---@field German UnityEngine.SystemLanguage
--
--Greek.
--
---@source UnityEngine.CoreModule.dll
---@field Greek UnityEngine.SystemLanguage
--
--Hebrew.
--
---@source UnityEngine.CoreModule.dll
---@field Hebrew UnityEngine.SystemLanguage
---@source UnityEngine.CoreModule.dll
---@field Hugarian UnityEngine.SystemLanguage
--
--Icelandic.
--
---@source UnityEngine.CoreModule.dll
---@field Icelandic UnityEngine.SystemLanguage
--
--Indonesian.
--
---@source UnityEngine.CoreModule.dll
---@field Indonesian UnityEngine.SystemLanguage
--
--Italian.
--
---@source UnityEngine.CoreModule.dll
---@field Italian UnityEngine.SystemLanguage
--
--Japanese.
--
---@source UnityEngine.CoreModule.dll
---@field Japanese UnityEngine.SystemLanguage
--
--Korean.
--
---@source UnityEngine.CoreModule.dll
---@field Korean UnityEngine.SystemLanguage
--
--Latvian.
--
---@source UnityEngine.CoreModule.dll
---@field Latvian UnityEngine.SystemLanguage
--
--Lithuanian.
--
---@source UnityEngine.CoreModule.dll
---@field Lithuanian UnityEngine.SystemLanguage
--
--Norwegian.
--
---@source UnityEngine.CoreModule.dll
---@field Norwegian UnityEngine.SystemLanguage
--
--Polish.
--
---@source UnityEngine.CoreModule.dll
---@field Polish UnityEngine.SystemLanguage
--
--Portuguese.
--
---@source UnityEngine.CoreModule.dll
---@field Portuguese UnityEngine.SystemLanguage
--
--Romanian.
--
---@source UnityEngine.CoreModule.dll
---@field Romanian UnityEngine.SystemLanguage
--
--Russian.
--
---@source UnityEngine.CoreModule.dll
---@field Russian UnityEngine.SystemLanguage
--
--Serbo-Croatian.
--
---@source UnityEngine.CoreModule.dll
---@field SerboCroatian UnityEngine.SystemLanguage
--
--Slovak.
--
---@source UnityEngine.CoreModule.dll
---@field Slovak UnityEngine.SystemLanguage
--
--Slovenian.
--
---@source UnityEngine.CoreModule.dll
---@field Slovenian UnityEngine.SystemLanguage
--
--Spanish.
--
---@source UnityEngine.CoreModule.dll
---@field Spanish UnityEngine.SystemLanguage
--
--Swedish.
--
---@source UnityEngine.CoreModule.dll
---@field Swedish UnityEngine.SystemLanguage
--
--Thai.
--
---@source UnityEngine.CoreModule.dll
---@field Thai UnityEngine.SystemLanguage
--
--Turkish.
--
---@source UnityEngine.CoreModule.dll
---@field Turkish UnityEngine.SystemLanguage
--
--Ukrainian.
--
---@source UnityEngine.CoreModule.dll
---@field Ukrainian UnityEngine.SystemLanguage
--
--Vietnamese.
--
---@source UnityEngine.CoreModule.dll
---@field Vietnamese UnityEngine.SystemLanguage
--
--ChineseSimplified.
--
---@source UnityEngine.CoreModule.dll
---@field ChineseSimplified UnityEngine.SystemLanguage
--
--ChineseTraditional.
--
---@source UnityEngine.CoreModule.dll
---@field ChineseTraditional UnityEngine.SystemLanguage
--
--Unknown.
--
---@source UnityEngine.CoreModule.dll
---@field Unknown UnityEngine.SystemLanguage
--
--Hungarian.
--
---@source UnityEngine.CoreModule.dll
---@field Hungarian UnityEngine.SystemLanguage
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SystemLanguage = {}

---@source 
---@param value any
---@return UnityEngine.SystemLanguage
function CS.UnityEngine.SystemLanguage:__CastFrom(value) end


--
--The type of the log message in Debug.unityLogger.Log or delegate registered with Application.RegisterLogCallback.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LogType: System.Enum
--
--LogType used for Errors.
--
---@source UnityEngine.CoreModule.dll
---@field Error UnityEngine.LogType
--
--LogType used for Asserts. (These could also indicate an error inside Unity itself.)
--
---@source UnityEngine.CoreModule.dll
---@field Assert UnityEngine.LogType
--
--LogType used for Warnings.
--
---@source UnityEngine.CoreModule.dll
---@field Warning UnityEngine.LogType
--
--LogType used for regular log messages.
--
---@source UnityEngine.CoreModule.dll
---@field Log UnityEngine.LogType
--
--LogType used for Exceptions.
--
---@source UnityEngine.CoreModule.dll
---@field Exception UnityEngine.LogType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LogType = {}

---@source 
---@param value any
---@return UnityEngine.LogType
function CS.UnityEngine.LogType:__CastFrom(value) end


--
--Option flags for specifying special treatment of a log message.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LogOption: System.Enum
--
--Normal log message.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.LogOption
--
--The log message will not have a stacktrace appended automatically.
--
---@source UnityEngine.CoreModule.dll
---@field NoStacktrace UnityEngine.LogOption
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LogOption = {}

---@source 
---@param value any
---@return UnityEngine.LogOption
function CS.UnityEngine.LogOption:__CastFrom(value) end


--
--Priority of a thread.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ThreadPriority: System.Enum
--
--Lowest thread priority.
--
---@source UnityEngine.CoreModule.dll
---@field Low UnityEngine.ThreadPriority
--
--Below normal thread priority.
--
---@source UnityEngine.CoreModule.dll
---@field BelowNormal UnityEngine.ThreadPriority
--
--Normal thread priority.
--
---@source UnityEngine.CoreModule.dll
---@field Normal UnityEngine.ThreadPriority
--
--Highest thread priority.
--
---@source UnityEngine.CoreModule.dll
---@field High UnityEngine.ThreadPriority
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ThreadPriority = {}

---@source 
---@param value any
---@return UnityEngine.ThreadPriority
function CS.UnityEngine.ThreadPriority:__CastFrom(value) end


--
--SortingLayer allows you to set the render order of multiple sprites easily. There is always a default SortingLayer named "Default" which all sprites are added to initially. Added more SortingLayers to easily control the order of rendering of groups of sprites. Layers can be ordered before or after the default layer.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SortingLayer: System.ValueType
--
--This is the unique id assigned to the layer. It is not an ordered running value and it should not be used to compare with other layers to determine the sorting order.
--
---@source UnityEngine.CoreModule.dll
---@field id int
--
--Returns the name of the layer as defined in the TagManager.
--
---@source UnityEngine.CoreModule.dll
---@field name string
--
--This is the relative value that indicates the sort order of this layer relative to the other layers.
--
---@source UnityEngine.CoreModule.dll
---@field value int
--
--Returns all the layers defined in this project.
--
---@source UnityEngine.CoreModule.dll
---@field layers UnityEngine.SortingLayer[]
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SortingLayer = {}

--
--The final sorting value of the layer relative to other layers.
--
--```plaintext
--Params: id - The unique value of the sorting layer as returned by any renderer's sortingLayerID property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param id int
---@return Int32
function CS.UnityEngine.SortingLayer:GetLayerValueFromID(id) end

--
--The final sorting value of the layer relative to other layers.
--
--```plaintext
--Params: name - The unique value of the sorting layer as returned by any renderer's sortingLayerID property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Int32
function CS.UnityEngine.SortingLayer:GetLayerValueFromName(name) end

--
--The unique id of the layer with name.
--
--```plaintext
--Params: name - The name of the layer.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Int32
function CS.UnityEngine.SortingLayer:NameToID(name) end

--
--The name of the layer with id or "<unknown layer>" for invalid id.
--
--```plaintext
--Params: id - The unique id of the layer.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param id int
---@return String
function CS.UnityEngine.SortingLayer:IDToName(id) end

--
--True if the id provided is valid and assigned to a layer.
--
--```plaintext
--Params: id - The unique id of a layer.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param id int
---@return Boolean
function CS.UnityEngine.SortingLayer:IsValid(id) end


--
--Sets which weights to use when calculating curve segments.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.WeightedMode: System.Enum
--
--Exclude both inWeight or outWeight when calculating curve segments.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.WeightedMode
--
--Include inWeight when calculating the previous curve segment.
--
---@source UnityEngine.CoreModule.dll
---@field In UnityEngine.WeightedMode
--
--Include outWeight when calculating the next curve segment.
--
---@source UnityEngine.CoreModule.dll
---@field Out UnityEngine.WeightedMode
--
--Include inWeight and outWeight when calculating curve segments.
--
---@source UnityEngine.CoreModule.dll
---@field Both UnityEngine.WeightedMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.WeightedMode = {}

---@source 
---@param value any
---@return UnityEngine.WeightedMode
function CS.UnityEngine.WeightedMode:__CastFrom(value) end


--
--A single keyframe that can be injected into an animation curve.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Keyframe: System.ValueType
--
--The time of the keyframe.
--
---@source UnityEngine.CoreModule.dll
---@field time float
--
--The value of the curve at keyframe.
--
---@source UnityEngine.CoreModule.dll
---@field value float
--
--Sets the incoming tangent for this key. The incoming tangent affects the slope of the curve from the previous key to this key.
--
---@source UnityEngine.CoreModule.dll
---@field inTangent float
--
--Sets the outgoing tangent for this key. The outgoing tangent affects the slope of the curve from this key to the next key.
--
---@source UnityEngine.CoreModule.dll
---@field outTangent float
--
--Sets the incoming weight for this key. The incoming weight affects the slope of the curve from the previous key to this key.
--
---@source UnityEngine.CoreModule.dll
---@field inWeight float
--
--Sets the outgoing weight for this key. The outgoing weight affects the slope of the curve from this key to the next key.
--
---@source UnityEngine.CoreModule.dll
---@field outWeight float
--
--Weighted mode for the keyframe.
--
---@source UnityEngine.CoreModule.dll
---@field weightedMode UnityEngine.WeightedMode
--
--TangentMode is deprecated.  Use AnimationUtility.SetKeyLeftTangentMode or AnimationUtility.SetKeyRightTangentMode instead.
--
---@source UnityEngine.CoreModule.dll
---@field tangentMode int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Keyframe = {}


--
--Determines how time is treated outside of the keyframed range of an AnimationClip or AnimationCurve.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.WrapMode: System.Enum
--
--When time reaches the end of the animation clip, the clip will automatically stop playing and time will be reset to beginning of the clip.
--
---@source UnityEngine.CoreModule.dll
---@field Once UnityEngine.WrapMode
--
--When time reaches the end of the animation clip, time will continue at the beginning.
--
---@source UnityEngine.CoreModule.dll
---@field Loop UnityEngine.WrapMode
--
--When time reaches the end of the animation clip, time will ping pong back between beginning and end.
--
---@source UnityEngine.CoreModule.dll
---@field PingPong UnityEngine.WrapMode
--
--Reads the default repeat mode set higher up.
--
---@source UnityEngine.CoreModule.dll
---@field Default UnityEngine.WrapMode
--
--Plays back the animation. When it reaches the end, it will keep playing the last frame and never stop playing.
--
---@source UnityEngine.CoreModule.dll
---@field ClampForever UnityEngine.WrapMode
---@source UnityEngine.CoreModule.dll
---@field Clamp UnityEngine.WrapMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.WrapMode = {}

---@source 
---@param value any
---@return UnityEngine.WrapMode
function CS.UnityEngine.WrapMode:__CastFrom(value) end


--
--Store a collection of Keyframes that can be evaluated over time.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.AnimationCurve: object
--
--All keys defined in the animation curve.
--
---@source UnityEngine.CoreModule.dll
---@field keys UnityEngine.Keyframe[]
---@source UnityEngine.CoreModule.dll
---@field this[] UnityEngine.Keyframe
--
--The number of keys in the curve. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field length int
--
--The behaviour of the animation before the first keyframe.
--
---@source UnityEngine.CoreModule.dll
---@field preWrapMode UnityEngine.WrapMode
--
--The behaviour of the animation after the last keyframe.
--
---@source UnityEngine.CoreModule.dll
---@field postWrapMode UnityEngine.WrapMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.AnimationCurve = {}

--
--The value of the curve, at the point in time specified.
--
--```plaintext
--Params: time - The time within the curve you want to evaluate (the horizontal axis in the curve graph).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param time float
---@return Single
function CS.UnityEngine.AnimationCurve.Evaluate(time) end

--
--The index of the added key, or -1 if the key could not be added.
--
--```plaintext
--Params: time - The time at which to add the key (horizontal axis in the curve graph).
--        value - The value for the key (vertical axis in the curve graph).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param time float
---@param value float
---@return Int32
function CS.UnityEngine.AnimationCurve.AddKey(time, value) end

--
--The index of the added key, or -1 if the key could not be added.
--
--```plaintext
--Params: key - The key to add to the curve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param key UnityEngine.Keyframe
---@return Int32
function CS.UnityEngine.AnimationCurve.AddKey(key) end

--
--The index of the keyframe after moving it.
--
--```plaintext
--Params: index - The index of the key to move.
--        key - The key (with its new time) to insert.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@param key UnityEngine.Keyframe
---@return Int32
function CS.UnityEngine.AnimationCurve.MoveKey(index, key) end

--
--Removes a key.
--
--```plaintext
--Params: index - The index of the key to remove.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
function CS.UnityEngine.AnimationCurve.RemoveKey(index) end

--
--Smooth the in and out tangents of the keyframe at index.
--
--```plaintext
--Params: index - The index of the keyframe to be smoothed.
--        weight - The smoothing weight to apply to the keyframe's tangents.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@param weight float
function CS.UnityEngine.AnimationCurve.SmoothTangents(index, weight) end

--
--The constant curve created from the specified values.
--
--```plaintext
--Params: timeStart - The start time for the constant curve.
--        timeEnd - The start time for the constant curve.
--        value - The value for the constant curve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param timeStart float
---@param timeEnd float
---@param value float
---@return AnimationCurve
function CS.UnityEngine.AnimationCurve:Constant(timeStart, timeEnd, value) end

--
--The linear curve created from the specified values.
--
--```plaintext
--Params: timeStart - The start time for the linear curve.
--        valueStart - The start value for the linear curve.
--        timeEnd - The end time for the linear curve.
--        valueEnd - The end value for the linear curve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param timeStart float
---@param valueStart float
---@param timeEnd float
---@param valueEnd float
---@return AnimationCurve
function CS.UnityEngine.AnimationCurve:Linear(timeStart, valueStart, timeEnd, valueEnd) end

--
--The ease-in and out curve generated from the specified values.
--
--```plaintext
--Params: timeStart - The start time for the ease curve.
--        valueStart - The start value for the ease curve.
--        timeEnd - The end time for the ease curve.
--        valueEnd - The end value for the ease curve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param timeStart float
---@param valueStart float
---@param timeEnd float
---@param valueEnd float
---@return AnimationCurve
function CS.UnityEngine.AnimationCurve:EaseInOut(timeStart, valueStart, timeEnd, valueEnd) end

---@source UnityEngine.CoreModule.dll
---@param o object
---@return Boolean
function CS.UnityEngine.AnimationCurve.Equals(o) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.AnimationCurve
---@return Boolean
function CS.UnityEngine.AnimationCurve.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.AnimationCurve.GetHashCode() end


--
--Access to application run-time data.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Application: object
--
--Is some level being loaded? (Read Only) (Obsolete).
--
---@source UnityEngine.CoreModule.dll
---@field isLoadingLevel bool
--
--How many bytes have we downloaded from the main unity web stream (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field streamedBytes int
--
--Indicates whether Unity's webplayer security model is enabled.
--
---@source UnityEngine.CoreModule.dll
---@field webSecurityEnabled bool
--
--Returns true when called in any kind of built Player, or when called in the Editor in Play Mode (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field isPlaying bool
--
--Whether the player currently has focus. Read-only.
--
---@source UnityEngine.CoreModule.dll
---@field isFocused bool
--
--Returns a GUID for this build (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field buildGUID string
--
--Should the player be running when the application is in the background?
--
---@source UnityEngine.CoreModule.dll
---@field runInBackground bool
--
--Returns true when Unity is launched with the -batchmode flag from the command line (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field isBatchMode bool
--
--Contains the path to the game data folder on the target device (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field dataPath string
--
--The path to the StreamingAssets folder (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field streamingAssetsPath string
--
--(Read Only) Contains the path to a persistent data directory.
--
---@source UnityEngine.CoreModule.dll
---@field persistentDataPath string
--
--Contains the path to a temporary data / cache directory (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field temporaryCachePath string
--
--The URL of the document. For WebGL, this a web URL. For Android, iOS, or Universal Windows Platform (UWP) this is a deep link URL. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field absoluteURL string
--
--The version of the Unity runtime used to play the content.
--
---@source UnityEngine.CoreModule.dll
---@field unityVersion string
--
--Returns application version number  (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field version string
--
--Returns the name of the store or package that installed the application (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field installerName string
--
--Returns application identifier at runtime. On Apple platforms this is the 'bundleIdentifier' saved in the info.plist file, on Android it's the 'package' from the AndroidManifest.xml.
--
---@source UnityEngine.CoreModule.dll
---@field identifier string
--
--Returns application install mode (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field installMode UnityEngine.ApplicationInstallMode
--
--Returns application running in sandbox (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field sandboxType UnityEngine.ApplicationSandboxType
--
--Returns application product name (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field productName string
--
--Return application company name (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field companyName string
--
--A unique cloud project identifier. It is unique for every project (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field cloudProjectId string
--
--Instructs the game to try to render at a specified frame rate.
--
---@source UnityEngine.CoreModule.dll
---@field targetFrameRate int
--
--Obsolete. Use Application.SetStackTraceLogType.
--
---@source UnityEngine.CoreModule.dll
---@field stackTraceLogType UnityEngine.StackTraceLogType
--
--Returns the path to the console log file, or an empty string if the current platform does not support log files.
--
---@source UnityEngine.CoreModule.dll
---@field consoleLogPath string
--
--Priority of background loading thread.
--
---@source UnityEngine.CoreModule.dll
---@field backgroundLoadingPriority UnityEngine.ThreadPriority
--
--Returns false if application is altered in any way after it was built.
--
---@source UnityEngine.CoreModule.dll
---@field genuine bool
--
--Returns true if application integrity can be confirmed.
--
---@source UnityEngine.CoreModule.dll
---@field genuineCheckAvailable bool
--
--Checks whether splash screen is being shown.
--
---@source UnityEngine.CoreModule.dll
---@field isShowingSplashScreen bool
--
--Returns the platform the game is running on (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field platform UnityEngine.RuntimePlatform
--
--Is the current Runtime platform a known mobile platform.
--
---@source UnityEngine.CoreModule.dll
---@field isMobilePlatform bool
--
--Is the current Runtime platform a known console platform.
--
---@source UnityEngine.CoreModule.dll
---@field isConsolePlatform bool
--
--The language the user's operating system is running in.
--
---@source UnityEngine.CoreModule.dll
---@field systemLanguage UnityEngine.SystemLanguage
--
--Returns the type of Internet reachability currently possible on the device.
--
---@source UnityEngine.CoreModule.dll
---@field internetReachability UnityEngine.NetworkReachability
---@source UnityEngine.CoreModule.dll
---@field isPlayer bool
--
--The total number of levels available (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field levelCount int
--
--Note: This is now obsolete. Use SceneManager.GetActiveScene instead. (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field loadedLevel int
--
--The name of the level that was last loaded (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field loadedLevelName string
--
--Are we running inside the Unity editor? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field isEditor bool
---@source UnityEngine.CoreModule.dll
---@field lowMemory UnityEngine.Application.LowMemoryCallback
---@source UnityEngine.CoreModule.dll
---@field logMessageReceived UnityEngine.Application.LogCallback
---@source UnityEngine.CoreModule.dll
---@field logMessageReceivedThreaded UnityEngine.Application.LogCallback
---@source UnityEngine.CoreModule.dll
---@field onBeforeRender UnityEngine.Events.UnityAction
---@source UnityEngine.CoreModule.dll
---@field focusChanged System.Action<bool>
---@source UnityEngine.CoreModule.dll
---@field deepLinkActivated System.Action<string>
---@source UnityEngine.CoreModule.dll
---@field wantsToQuit System.Func<bool>
---@source UnityEngine.CoreModule.dll
---@field quitting System.Action
---@source UnityEngine.CoreModule.dll
---@field unloading System.Action
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Application = {}

---@source UnityEngine.CoreModule.dll
---@param exitCode int
function CS.UnityEngine.Application:Quit(exitCode) end

--
--Quits the player application.
--
--```plaintext
--Params: exitCode - An optional exit code to return when the player application terminates on Windows, Mac and Linux. Defaults to 0.
--        
--```
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Application:Quit() end

--
--Cancels quitting the application. This is useful for showing a splash screen at the end of a game.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Application:CancelQuit() end

--
--Unloads the Unity Player.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Application:Unload() end

--
--How far has the download progressed? [0...1].
--
---@source UnityEngine.CoreModule.dll
---@param levelIndex int
---@return Single
function CS.UnityEngine.Application:GetStreamProgressForLevel(levelIndex) end

--
--How far has the download progressed? [0...1].
--
---@source UnityEngine.CoreModule.dll
---@param levelName string
---@return Single
function CS.UnityEngine.Application:GetStreamProgressForLevel(levelName) end

--
--Can the streamed level be loaded?
--
---@source UnityEngine.CoreModule.dll
---@param levelIndex int
---@return Boolean
function CS.UnityEngine.Application:CanStreamedLevelBeLoaded(levelIndex) end

--
--Can the streamed level be loaded?
--
---@source UnityEngine.CoreModule.dll
---@param levelName string
---@return Boolean
function CS.UnityEngine.Application:CanStreamedLevelBeLoaded(levelName) end

--
--True if the object is part of the playing world.
--
--```plaintext
--Params: obj - The object to test.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param obj UnityEngine.Object
---@return Boolean
function CS.UnityEngine.Application:IsPlaying(obj) end

--
--Returns an array of feature tags in use for this build.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Application:GetBuildTags() end

--
--Set an array of feature tags for this build.
--
---@source UnityEngine.CoreModule.dll
---@param buildTags string[]
function CS.UnityEngine.Application:SetBuildTags(buildTags) end

--
--Is Unity activated with the Pro license?
--
---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.Application:HasProLicense() end

--
--Execution of a script function in the contained web page.
--
--```plaintext
--Params: script - The Javascript function to call.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param script string
function CS.UnityEngine.Application:ExternalEval(script) end

---@source UnityEngine.CoreModule.dll
---@param delegateMethod UnityEngine.Application.AdvertisingIdentifierCallback
---@return Boolean
function CS.UnityEngine.Application:RequestAdvertisingIdentifierAsync(delegateMethod) end

--
--Opens the URL specified, subject to the permissions and limitations of your app’s current platform and environment. This is handled in different ways depending on the nature of the URL, and with different security restrictions, depending on the runtime platform.
--
--```plaintext
--Params: url - The URL to open.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param url string
function CS.UnityEngine.Application:OpenURL(url) end

---@source UnityEngine.CoreModule.dll
---@param mode int
function CS.UnityEngine.Application:ForceCrash(mode) end

--
--Get stack trace logging options. The default value is StackTraceLogType.ScriptOnly.
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@return StackTraceLogType
function CS.UnityEngine.Application:GetStackTraceLogType(logType) end

--
--Set stack trace logging options. The default value is StackTraceLogType.ScriptOnly.
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@param stackTraceType UnityEngine.StackTraceLogType
function CS.UnityEngine.Application:SetStackTraceLogType(logType, stackTraceType) end

--
--Request authorization to use the webcam or microphone on iOS.
--
---@source UnityEngine.CoreModule.dll
---@param mode UnityEngine.UserAuthorization
---@return AsyncOperation
function CS.UnityEngine.Application:RequestUserAuthorization(mode) end

--
--Check if the user has authorized use of the webcam or microphone in the Web Player.
--
---@source UnityEngine.CoreModule.dll
---@param mode UnityEngine.UserAuthorization
---@return Boolean
function CS.UnityEngine.Application:HasUserAuthorization(mode) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Application.LowMemoryCallback
function CS.UnityEngine.Application:add_lowMemory(value) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Application.LowMemoryCallback
function CS.UnityEngine.Application:remove_lowMemory(value) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Application.LogCallback
function CS.UnityEngine.Application:add_logMessageReceived(value) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Application.LogCallback
function CS.UnityEngine.Application:remove_logMessageReceived(value) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Application.LogCallback
function CS.UnityEngine.Application:add_logMessageReceivedThreaded(value) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Application.LogCallback
function CS.UnityEngine.Application:remove_logMessageReceivedThreaded(value) end

--
--Calls a function in the web page that contains the WebGL Player.
--
--```plaintext
--Params: functionName - Name of the function to call.
--        args - Array of arguments passed in the call.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param functionName string
---@param args object[]
function CS.UnityEngine.Application:ExternalCall(functionName, args) end

---@source UnityEngine.CoreModule.dll
---@param o UnityEngine.Object
function CS.UnityEngine.Application:DontDestroyOnLoad(o) end

--
--Captures a screenshot at path filename as a PNG file.
--
--```plaintext
--Params: filename - Pathname to save the screenshot file to.
--        superSize - Factor by which to increase resolution.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param filename string
---@param superSize int
function CS.UnityEngine.Application:CaptureScreenshot(filename, superSize) end

--
--Captures a screenshot at path filename as a PNG file.
--
--```plaintext
--Params: filename - Pathname to save the screenshot file to.
--        superSize - Factor by which to increase resolution.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param filename string
function CS.UnityEngine.Application:CaptureScreenshot(filename) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Events.UnityAction
function CS.UnityEngine.Application:add_onBeforeRender(value) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Events.UnityAction
function CS.UnityEngine.Application:remove_onBeforeRender(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action<bool>
function CS.UnityEngine.Application:add_focusChanged(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action<bool>
function CS.UnityEngine.Application:remove_focusChanged(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action<string>
function CS.UnityEngine.Application:add_deepLinkActivated(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action<string>
function CS.UnityEngine.Application:remove_deepLinkActivated(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Func<bool>
function CS.UnityEngine.Application:add_wantsToQuit(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Func<bool>
function CS.UnityEngine.Application:remove_wantsToQuit(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action
function CS.UnityEngine.Application:add_quitting(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action
function CS.UnityEngine.Application:remove_quitting(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action
function CS.UnityEngine.Application:add_unloading(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action
function CS.UnityEngine.Application:remove_unloading(value) end

---@source UnityEngine.CoreModule.dll
---@param handler UnityEngine.Application.LogCallback
function CS.UnityEngine.Application:RegisterLogCallback(handler) end

---@source UnityEngine.CoreModule.dll
---@param handler UnityEngine.Application.LogCallback
function CS.UnityEngine.Application:RegisterLogCallbackThreaded(handler) end

--
--Note: This is now obsolete. Use SceneManager.LoadScene instead.
--
--```plaintext
--Params: index - The level to load.
--        name - The name of the level to load.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
function CS.UnityEngine.Application:LoadLevel(index) end

--
--Note: This is now obsolete. Use SceneManager.LoadScene instead.
--
--```plaintext
--Params: index - The level to load.
--        name - The name of the level to load.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
function CS.UnityEngine.Application:LoadLevel(name) end

--
--Loads a level additively.
--
---@source UnityEngine.CoreModule.dll
---@param index int
function CS.UnityEngine.Application:LoadLevelAdditive(index) end

--
--Loads a level additively.
--
---@source UnityEngine.CoreModule.dll
---@param name string
function CS.UnityEngine.Application:LoadLevelAdditive(name) end

--
--Loads the level asynchronously in the background.
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@return AsyncOperation
function CS.UnityEngine.Application:LoadLevelAsync(index) end

--
--Loads the level asynchronously in the background.
--
---@source UnityEngine.CoreModule.dll
---@param levelName string
---@return AsyncOperation
function CS.UnityEngine.Application:LoadLevelAsync(levelName) end

--
--Loads the level additively and asynchronously in the background.
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@return AsyncOperation
function CS.UnityEngine.Application:LoadLevelAdditiveAsync(index) end

--
--Loads the level additively and asynchronously in the background.
--
---@source UnityEngine.CoreModule.dll
---@param levelName string
---@return AsyncOperation
function CS.UnityEngine.Application:LoadLevelAdditiveAsync(levelName) end

--
--Return true if the Scene is unloaded.
--
--```plaintext
--Params: index - Index of the Scene in the PlayerSettings to unload.
--        scenePath - Name of the Scene to Unload.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@return Boolean
function CS.UnityEngine.Application:UnloadLevel(index) end

--
--Return true if the Scene is unloaded.
--
--```plaintext
--Params: index - Index of the Scene in the PlayerSettings to unload.
--        scenePath - Name of the Scene to Unload.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param scenePath string
---@return Boolean
function CS.UnityEngine.Application:UnloadLevel(scenePath) end


--
--Delegate method for fetching advertising ID.
--
--```plaintext
--Params: advertisingId - Advertising ID.
--        trackingEnabled - Indicates whether user has chosen to limit ad tracking.
--        errorMsg - Error message.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.AdvertisingIdentifierCallback: System.MulticastDelegate
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.AdvertisingIdentifierCallback = {}

---@source UnityEngine.CoreModule.dll
---@param advertisingId string
---@param trackingEnabled bool
---@param errorMsg string
function CS.UnityEngine.AdvertisingIdentifierCallback.Invoke(advertisingId, trackingEnabled, errorMsg) end

---@source UnityEngine.CoreModule.dll
---@param advertisingId string
---@param trackingEnabled bool
---@param errorMsg string
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.AdvertisingIdentifierCallback.BeginInvoke(advertisingId, trackingEnabled, errorMsg, callback, object) end

---@source UnityEngine.CoreModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.AdvertisingIdentifierCallback.EndInvoke(result) end


--
--This is the delegate function when a mobile device notifies of low memory.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LowMemoryCallback: System.MulticastDelegate
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LowMemoryCallback = {}

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.LowMemoryCallback.Invoke() end

---@source UnityEngine.CoreModule.dll
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.LowMemoryCallback.BeginInvoke(callback, object) end

---@source UnityEngine.CoreModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.LowMemoryCallback.EndInvoke(result) end


--
--Use this delegate type with Application.logMessageReceived or Application.logMessageReceivedThreaded to monitor what gets logged.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LogCallback: System.MulticastDelegate
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LogCallback = {}

---@source UnityEngine.CoreModule.dll
---@param condition string
---@param stackTrace string
---@param type UnityEngine.LogType
function CS.UnityEngine.LogCallback.Invoke(condition, stackTrace, type) end

---@source UnityEngine.CoreModule.dll
---@param condition string
---@param stackTrace string
---@param type UnityEngine.LogType
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.LogCallback.BeginInvoke(condition, stackTrace, type, callback, object) end

---@source UnityEngine.CoreModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.LogCallback.EndInvoke(result) end


--
--Stack trace logging options.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.StackTraceLogType: System.Enum
--
--No stack trace will be outputed to log.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.StackTraceLogType
--
--Only managed stack trace will be outputed.
--
---@source UnityEngine.CoreModule.dll
---@field ScriptOnly UnityEngine.StackTraceLogType
--
--Native and managed stack trace will be logged.
--
---@source UnityEngine.CoreModule.dll
---@field Full UnityEngine.StackTraceLogType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.StackTraceLogType = {}

---@source 
---@param value any
---@return UnityEngine.StackTraceLogType
function CS.UnityEngine.StackTraceLogType:__CastFrom(value) end


--
--Describes network reachability options.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.NetworkReachability: System.Enum
--
--Network is not reachable.
--
---@source UnityEngine.CoreModule.dll
---@field NotReachable UnityEngine.NetworkReachability
--
--Network is reachable via carrier data network.
--
---@source UnityEngine.CoreModule.dll
---@field ReachableViaCarrierDataNetwork UnityEngine.NetworkReachability
--
--Network is reachable via WiFi or cable.
--
---@source UnityEngine.CoreModule.dll
---@field ReachableViaLocalAreaNetwork UnityEngine.NetworkReachability
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.NetworkReachability = {}

---@source 
---@param value any
---@return UnityEngine.NetworkReachability
function CS.UnityEngine.NetworkReachability:__CastFrom(value) end


--
--Constants to pass to Application.RequestUserAuthorization.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.UserAuthorization: System.Enum
--
--Request permission to use any video input sources attached to the computer.
--
---@source UnityEngine.CoreModule.dll
---@field WebCam UnityEngine.UserAuthorization
--
--Request permission to use any audio input sources attached to the computer.
--
---@source UnityEngine.CoreModule.dll
---@field Microphone UnityEngine.UserAuthorization
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.UserAuthorization = {}

---@source 
---@param value any
---@return UnityEngine.UserAuthorization
function CS.UnityEngine.UserAuthorization:__CastFrom(value) end


--
--Application installation mode (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ApplicationInstallMode: System.Enum
--
--Application install mode unknown.
--
---@source UnityEngine.CoreModule.dll
---@field Unknown UnityEngine.ApplicationInstallMode
--
--Application installed via online store.
--
---@source UnityEngine.CoreModule.dll
---@field Store UnityEngine.ApplicationInstallMode
--
--Application installed via developer build.
--
---@source UnityEngine.CoreModule.dll
---@field DeveloperBuild UnityEngine.ApplicationInstallMode
--
--Application installed via ad hoc distribution.
--
---@source UnityEngine.CoreModule.dll
---@field Adhoc UnityEngine.ApplicationInstallMode
--
--Application installed via enterprise distribution.
--
---@source UnityEngine.CoreModule.dll
---@field Enterprise UnityEngine.ApplicationInstallMode
--
--Application running in editor.
--
---@source UnityEngine.CoreModule.dll
---@field Editor UnityEngine.ApplicationInstallMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ApplicationInstallMode = {}

---@source 
---@param value any
---@return UnityEngine.ApplicationInstallMode
function CS.UnityEngine.ApplicationInstallMode:__CastFrom(value) end


--
--Application sandbox type.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ApplicationSandboxType: System.Enum
--
--Application sandbox type is unknown.
--
---@source UnityEngine.CoreModule.dll
---@field Unknown UnityEngine.ApplicationSandboxType
--
--Application not running in a sandbox.
--
---@source UnityEngine.CoreModule.dll
---@field NotSandboxed UnityEngine.ApplicationSandboxType
--
--Application is running in a sandbox.
--
---@source UnityEngine.CoreModule.dll
---@field Sandboxed UnityEngine.ApplicationSandboxType
--
--Application is running in broken sandbox.
--
---@source UnityEngine.CoreModule.dll
---@field SandboxBroken UnityEngine.ApplicationSandboxType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ApplicationSandboxType = {}

---@source 
---@param value any
---@return UnityEngine.ApplicationSandboxType
function CS.UnityEngine.ApplicationSandboxType:__CastFrom(value) end


--
--Type of the imported(native) data.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.AudioType: System.Enum
--
--3rd party / unknown plugin format.
--
---@source UnityEngine.CoreModule.dll
---@field UNKNOWN UnityEngine.AudioType
--
--Acc - not supported.
--
---@source UnityEngine.CoreModule.dll
---@field ACC UnityEngine.AudioType
--
--Aiff.
--
---@source UnityEngine.CoreModule.dll
---@field AIFF UnityEngine.AudioType
--
--Impulse tracker.
--
---@source UnityEngine.CoreModule.dll
---@field IT UnityEngine.AudioType
--
--Protracker / Fasttracker MOD.
--
---@source UnityEngine.CoreModule.dll
---@field MOD UnityEngine.AudioType
--
--MP2/MP3 MPEG.
--
---@source UnityEngine.CoreModule.dll
---@field MPEG UnityEngine.AudioType
--
--Ogg vorbis.
--
---@source UnityEngine.CoreModule.dll
---@field OGGVORBIS UnityEngine.AudioType
--
--ScreamTracker 3.
--
---@source UnityEngine.CoreModule.dll
---@field S3M UnityEngine.AudioType
--
--Microsoft WAV.
--
---@source UnityEngine.CoreModule.dll
---@field WAV UnityEngine.AudioType
--
--FastTracker 2 XM.
--
---@source UnityEngine.CoreModule.dll
---@field XM UnityEngine.AudioType
--
--Xbox360 XMA.
--
---@source UnityEngine.CoreModule.dll
---@field XMA UnityEngine.AudioType
--
--VAG.
--
---@source UnityEngine.CoreModule.dll
---@field VAG UnityEngine.AudioType
--
--iPhone hardware decoder, supports AAC, ALAC and MP3. Extracodecdata is a pointer to an FMOD_AUDIOQUEUE_EXTRACODECDATA structure.
--
---@source UnityEngine.CoreModule.dll
---@field AUDIOQUEUE UnityEngine.AudioType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.AudioType = {}

---@source 
---@param value any
---@return UnityEngine.AudioType
function CS.UnityEngine.AudioType:__CastFrom(value) end


--
--Data structure for downloading AssetBundles to a customized cache path. See Also:UnityWebRequestAssetBundle.GetAssetBundle for more information.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CachedAssetBundle: System.ValueType
--
--AssetBundle name which is used as the customized cache path.
--
---@source UnityEngine.CoreModule.dll
---@field name string
--
--Hash128 which is used as the version of the AssetBundle.
--
---@source UnityEngine.CoreModule.dll
---@field hash UnityEngine.Hash128
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CachedAssetBundle = {}


--
--Data structure for cache. Please refer to See Also:Caching.AddCache for more information.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Cache: System.ValueType
--
--Returns true if the cache is valid.
--
---@source UnityEngine.CoreModule.dll
---@field valid bool
--
--Returns true if the cache is ready.
--
---@source UnityEngine.CoreModule.dll
---@field ready bool
--
--Returns true if the cache is readonly.
--
---@source UnityEngine.CoreModule.dll
---@field readOnly bool
--
--Returns the path of the cache.
--
---@source UnityEngine.CoreModule.dll
---@field path string
--
--Returns the index of the cache in the cache list.
--
---@source UnityEngine.CoreModule.dll
---@field index int
--
--Returns the number of currently unused bytes in the cache.
--
---@source UnityEngine.CoreModule.dll
---@field spaceFree long
--
--Allows you to specify the total number of bytes that can be allocated for the cache.
--
---@source UnityEngine.CoreModule.dll
---@field maximumAvailableStorageSpace long
--
--Returns the used disk space in bytes.
--
---@source UnityEngine.CoreModule.dll
---@field spaceOccupied long
--
--The number of seconds that an AssetBundle may remain unused in the cache before it is automatically deleted.
--
---@source UnityEngine.CoreModule.dll
---@field expirationDelay int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Cache = {}

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Cache
---@param rhs UnityEngine.Cache
---@return Boolean
function CS.UnityEngine.Cache:op_Equality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Cache
---@param rhs UnityEngine.Cache
---@return Boolean
function CS.UnityEngine.Cache:op_Inequality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Cache.GetHashCode() end

---@source UnityEngine.CoreModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.Cache.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.Cache
---@return Boolean
function CS.UnityEngine.Cache.Equals(other) end

--
--Returns True when cache clearing succeeded.
--
--```plaintext
--Params: expiration - The number of seconds that AssetBundles may remain unused in the cache.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.Cache.ClearCache() end

--
--Returns True when cache clearing succeeded.
--
--```plaintext
--Params: expiration - The number of seconds that AssetBundles may remain unused in the cache.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param expiration int
---@return Boolean
function CS.UnityEngine.Cache.ClearCache(expiration) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CacheIndex: System.ValueType
---@source UnityEngine.CoreModule.dll
---@field name string
---@source UnityEngine.CoreModule.dll
---@field bytesUsed int
---@source UnityEngine.CoreModule.dll
---@field expires int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CacheIndex = {}


--
--The Caching class lets you manage cached AssetBundles, downloaded using UnityWebRequestAssetBundle.GetAssetBundle().
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Caching: object
--
--Controls compression of cache data. Enabled by default.
--
---@source UnityEngine.CoreModule.dll
---@field compressionEnabled bool
--
--Returns true if Caching system is ready for use.
--
---@source UnityEngine.CoreModule.dll
---@field ready bool
---@source UnityEngine.CoreModule.dll
---@field spaceUsed int
---@source UnityEngine.CoreModule.dll
---@field spaceOccupied long
---@source UnityEngine.CoreModule.dll
---@field spaceAvailable int
---@source UnityEngine.CoreModule.dll
---@field spaceFree long
---@source UnityEngine.CoreModule.dll
---@field maximumAvailableDiskSpace long
---@source UnityEngine.CoreModule.dll
---@field expirationDelay int
--
--Returns the cache count in the cache list.
--
---@source UnityEngine.CoreModule.dll
---@field cacheCount int
--
--Returns the default cache which is added by Unity internally.
--
---@source UnityEngine.CoreModule.dll
---@field defaultCache UnityEngine.Cache
--
--Gets or sets the current cache in which AssetBundles should be cached.
--
---@source UnityEngine.CoreModule.dll
---@field currentCacheForWriting UnityEngine.Cache
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Caching = {}

--
--True when cache clearing succeeded, false if cache was in use.
--
--```plaintext
--Params: expiration - The number of seconds that AssetBundles may remain unused in the cache.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.Caching:ClearCache() end

--
--True when cache clearing succeeded, false if cache was in use.
--
--```plaintext
--Params: expiration - The number of seconds that AssetBundles may remain unused in the cache.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param expiration int
---@return Boolean
function CS.UnityEngine.Caching:ClearCache(expiration) end

--
--Returns true when cache clearing succeeded.  Can return false if any cached bundle is in use.
--
--```plaintext
--Params: assetBundleName - The AssetBundle name.
--        hash - Version needs to be cleaned.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param assetBundleName string
---@param hash UnityEngine.Hash128
---@return Boolean
function CS.UnityEngine.Caching:ClearCachedVersion(assetBundleName, hash) end

--
--Returns true when cache clearing succeeded.
--
--```plaintext
--Params: assetBundleName - The AssetBundle name.
--        hash - Version needs to be kept.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param assetBundleName string
---@param hash UnityEngine.Hash128
---@return Boolean
function CS.UnityEngine.Caching:ClearOtherCachedVersions(assetBundleName, hash) end

--
--Returns true when cache clearing succeeded.
--
--```plaintext
--Params: assetBundleName - The AssetBundle name.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param assetBundleName string
---@return Boolean
function CS.UnityEngine.Caching:ClearAllCachedVersions(assetBundleName) end

---@source UnityEngine.CoreModule.dll
---@param assetBundleName string
---@param outCachedVersions System.Collections.Generic.List<UnityEngine.Hash128>
function CS.UnityEngine.Caching:GetCachedVersions(assetBundleName, outCachedVersions) end

--
--True if an AssetBundle matching the url and version parameters has previously been loaded using UnityWebRequestAssetBundle.GetAssetBundle() and is currently stored in the cache. Returns false if the AssetBundle is not in cache, either because it has been flushed from the cache or was never loaded using the Caching API.
--
--```plaintext
--Params: string - Url The filename of the AssetBundle. Domain and path information are stripped from this string automatically.
--        int - Version The version number of the AssetBundle to check for. Negative values are not allowed.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param url string
---@param version int
---@return Boolean
function CS.UnityEngine.Caching:IsVersionCached(url, version) end

---@source UnityEngine.CoreModule.dll
---@param url string
---@param hash UnityEngine.Hash128
---@return Boolean
function CS.UnityEngine.Caching:IsVersionCached(url, hash) end

---@source UnityEngine.CoreModule.dll
---@param cachedBundle UnityEngine.CachedAssetBundle
---@return Boolean
function CS.UnityEngine.Caching:IsVersionCached(cachedBundle) end

--
--Bumps the timestamp of a cached file to be the current time.
--
---@source UnityEngine.CoreModule.dll
---@param url string
---@param version int
---@return Boolean
function CS.UnityEngine.Caching:MarkAsUsed(url, version) end

---@source UnityEngine.CoreModule.dll
---@param url string
---@param hash UnityEngine.Hash128
---@return Boolean
function CS.UnityEngine.Caching:MarkAsUsed(url, hash) end

---@source UnityEngine.CoreModule.dll
---@param cachedBundle UnityEngine.CachedAssetBundle
---@return Boolean
function CS.UnityEngine.Caching:MarkAsUsed(cachedBundle) end

---@source UnityEngine.CoreModule.dll
---@param url string
---@param version int
function CS.UnityEngine.Caching:SetNoBackupFlag(url, version) end

---@source UnityEngine.CoreModule.dll
---@param url string
---@param hash UnityEngine.Hash128
function CS.UnityEngine.Caching:SetNoBackupFlag(url, hash) end

---@source UnityEngine.CoreModule.dll
---@param cachedBundle UnityEngine.CachedAssetBundle
function CS.UnityEngine.Caching:SetNoBackupFlag(cachedBundle) end

---@source UnityEngine.CoreModule.dll
---@param url string
---@param version int
function CS.UnityEngine.Caching:ResetNoBackupFlag(url, version) end

---@source UnityEngine.CoreModule.dll
---@param url string
---@param hash UnityEngine.Hash128
function CS.UnityEngine.Caching:ResetNoBackupFlag(url, hash) end

---@source UnityEngine.CoreModule.dll
---@param cachedBundle UnityEngine.CachedAssetBundle
function CS.UnityEngine.Caching:ResetNoBackupFlag(cachedBundle) end

---@source UnityEngine.CoreModule.dll
---@param url string
---@return Int32
function CS.UnityEngine.Caching:GetVersionFromCache(url) end

--
--Add a cache with the given path.
--
--```plaintext
--Params: cachePath - Path to the cache folder.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param cachePath string
---@return Cache
function CS.UnityEngine.Caching:AddCache(cachePath) end

--
--A reference to the Cache at the index specified.
--
--```plaintext
--Params: cacheIndex - Index of the cache to get.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param cacheIndex int
---@return Cache
function CS.UnityEngine.Caching:GetCacheAt(cacheIndex) end

--
--A reference to the Cache with the given path.
--
--```plaintext
--Params: cachePath - The cache path.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param cachePath string
---@return Cache
function CS.UnityEngine.Caching:GetCacheByPath(cachePath) end

---@source UnityEngine.CoreModule.dll
---@param cachePaths System.Collections.Generic.List<string>
function CS.UnityEngine.Caching:GetAllCachePaths(cachePaths) end

--
--Returns true if the Cache is removed.
--
--```plaintext
--Params: cache - The Cache to be removed.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param cache UnityEngine.Cache
---@return Boolean
function CS.UnityEngine.Caching:RemoveCache(cache) end

--
--Moves the source Cache before the destination Cache in the cache list.
--
--```plaintext
--Params: src - The Cache to move.
--        dst - The Cache which should come after the source Cache in the cache list.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param src UnityEngine.Cache
---@param dst UnityEngine.Cache
function CS.UnityEngine.Caching:MoveCacheBefore(src, dst) end

--
--Moves the source Cache after the destination Cache in the cache list.
--
--```plaintext
--Params: src - The Cache to move.
--        dst - The Cache which should come before the source Cache in the cache list.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param src UnityEngine.Cache
---@param dst UnityEngine.Cache
function CS.UnityEngine.Caching:MoveCacheAfter(src, dst) end

---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.Caching:CleanCache() end


--
--A Camera is a device through which the player views the world.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Camera: UnityEngine.Behaviour
--
--Delegate that you can use to execute custom code before a Camera culls the scene.
--
---@source UnityEngine.CoreModule.dll
---@field onPreCull UnityEngine.Camera.CameraCallback
--
--Delegate that you can use to execute custom code before a Camera renders the scene.
--
---@source UnityEngine.CoreModule.dll
---@field onPreRender UnityEngine.Camera.CameraCallback
--
--Delegate that you can use to execute custom code after a Camera renders the scene.
--
---@source UnityEngine.CoreModule.dll
---@field onPostRender UnityEngine.Camera.CameraCallback
--
--The distance of the near clipping plane from the the Camera, in world units.
--
---@source UnityEngine.CoreModule.dll
---@field nearClipPlane float
--
--The distance of the far clipping plane from the Camera, in world units.
--
---@source UnityEngine.CoreModule.dll
---@field farClipPlane float
--
--The field of view of the camera in degrees.
--
---@source UnityEngine.CoreModule.dll
---@field fieldOfView float
--
--The rendering path that should be used, if possible.
--
---@source UnityEngine.CoreModule.dll
---@field renderingPath UnityEngine.RenderingPath
--
--The rendering path that is currently being used (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field actualRenderingPath UnityEngine.RenderingPath
--
--High dynamic range rendering.
--
---@source UnityEngine.CoreModule.dll
---@field allowHDR bool
--
--MSAA rendering.
--
---@source UnityEngine.CoreModule.dll
---@field allowMSAA bool
--
--Dynamic Resolution Scaling.
--
---@source UnityEngine.CoreModule.dll
---@field allowDynamicResolution bool
--
--Should camera rendering be forced into a RenderTexture.
--
---@source UnityEngine.CoreModule.dll
---@field forceIntoRenderTexture bool
--
--Camera's half-size when in orthographic mode.
--
---@source UnityEngine.CoreModule.dll
---@field orthographicSize float
--
--Is the camera orthographic (true) or perspective (false)?
--
---@source UnityEngine.CoreModule.dll
---@field orthographic bool
--
--Opaque object sorting mode.
--
---@source UnityEngine.CoreModule.dll
---@field opaqueSortMode UnityEngine.Rendering.OpaqueSortMode
--
--Transparent object sorting mode.
--
---@source UnityEngine.CoreModule.dll
---@field transparencySortMode UnityEngine.TransparencySortMode
--
--An axis that describes the direction along which the distances of objects are measured for the purpose of sorting.
--
---@source UnityEngine.CoreModule.dll
---@field transparencySortAxis UnityEngine.Vector3
--
--Camera's depth in the camera rendering order.
--
---@source UnityEngine.CoreModule.dll
---@field depth float
--
--The aspect ratio (width divided by height).
--
---@source UnityEngine.CoreModule.dll
---@field aspect float
--
--Get the world-space speed of the camera (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field velocity UnityEngine.Vector3
--
--This is used to render parts of the Scene selectively.
--
---@source UnityEngine.CoreModule.dll
---@field cullingMask int
--
--Mask to select which layers can trigger events on the camera.
--
---@source UnityEngine.CoreModule.dll
---@field eventMask int
--
--How to perform per-layer culling for a Camera.
--
---@source UnityEngine.CoreModule.dll
---@field layerCullSpherical bool
--
--Identifies what kind of camera this is, using the CameraType enum.
--
---@source UnityEngine.CoreModule.dll
---@field cameraType UnityEngine.CameraType
--
--Sets the culling maks used to determine which objects from which Scenes to draw.
--See EditorSceneManager.SetSceneCullingMask.
--
---@source UnityEngine.CoreModule.dll
---@field overrideSceneCullingMask ulong
--
--Per-layer culling distances.
--
---@source UnityEngine.CoreModule.dll
---@field layerCullDistances float[]
--
--Whether or not the Camera will use occlusion culling during rendering.
--
---@source UnityEngine.CoreModule.dll
---@field useOcclusionCulling bool
--
--Sets a custom matrix for the camera to use for all culling queries.
--
---@source UnityEngine.CoreModule.dll
---@field cullingMatrix UnityEngine.Matrix4x4
--
--The color with which the screen will be cleared.
--
---@source UnityEngine.CoreModule.dll
---@field backgroundColor UnityEngine.Color
--
--How the camera clears the background.
--
---@source UnityEngine.CoreModule.dll
---@field clearFlags UnityEngine.CameraClearFlags
--
--How and if camera generates a depth texture.
--
---@source UnityEngine.CoreModule.dll
---@field depthTextureMode UnityEngine.DepthTextureMode
--
--Should the camera clear the stencil buffer after the deferred light pass?
--
---@source UnityEngine.CoreModule.dll
---@field clearStencilAfterLightingPass bool
--
--Enable [UsePhysicalProperties] to use physical camera properties to compute the field of view and the frustum.
--
---@source UnityEngine.CoreModule.dll
---@field usePhysicalProperties bool
--
--The size of the camera sensor, expressed in millimeters.
--
---@source UnityEngine.CoreModule.dll
---@field sensorSize UnityEngine.Vector2
--
--The lens offset of the camera. The lens shift is relative to the sensor size. For example, a lens shift of 0.5 offsets the sensor by half its horizontal size.
--
---@source UnityEngine.CoreModule.dll
---@field lensShift UnityEngine.Vector2
--
--The camera focal length, expressed in millimeters. To use this property, enable UsePhysicalProperties.
--
---@source UnityEngine.CoreModule.dll
---@field focalLength float
--
--There are two gates for a camera, the sensor gate and the resolution gate. The physical camera sensor gate is defined by the sensorSize property, the resolution gate is defined by the render target area.
--
---@source UnityEngine.CoreModule.dll
---@field gateFit UnityEngine.Camera.GateFitMode
--
--Where on the screen is the camera rendered in normalized coordinates.
--
---@source UnityEngine.CoreModule.dll
---@field rect UnityEngine.Rect
--
--Where on the screen is the camera rendered in pixel coordinates.
--
---@source UnityEngine.CoreModule.dll
---@field pixelRect UnityEngine.Rect
--
--How wide is the camera in pixels (not accounting for dynamic resolution scaling) (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field pixelWidth int
--
--How tall is the camera in pixels (not accounting for dynamic resolution scaling) (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field pixelHeight int
--
--How wide is the camera in pixels (accounting for dynamic resolution scaling) (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field scaledPixelWidth int
--
--How tall is the camera in pixels (accounting for dynamic resolution scaling) (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field scaledPixelHeight int
--
--Destination render texture.
--
---@source UnityEngine.CoreModule.dll
---@field targetTexture UnityEngine.RenderTexture
--
--Gets the temporary RenderTexture target for this Camera.
--
---@source UnityEngine.CoreModule.dll
---@field activeTexture UnityEngine.RenderTexture
--
--Set the target display for this Camera.
--
---@source UnityEngine.CoreModule.dll
---@field targetDisplay int
--
--Matrix that transforms from camera space to world space (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field cameraToWorldMatrix UnityEngine.Matrix4x4
--
--Matrix that transforms from world to camera space.
--
---@source UnityEngine.CoreModule.dll
---@field worldToCameraMatrix UnityEngine.Matrix4x4
--
--Set a custom projection matrix.
--
---@source UnityEngine.CoreModule.dll
---@field projectionMatrix UnityEngine.Matrix4x4
--
--Get or set the raw projection matrix with no camera offset (no jittering).
--
---@source UnityEngine.CoreModule.dll
---@field nonJitteredProjectionMatrix UnityEngine.Matrix4x4
--
--Should the jittered matrix be used for transparency rendering?
--
---@source UnityEngine.CoreModule.dll
---@field useJitteredProjectionMatrixForTransparentRendering bool
--
--Get the view projection matrix used on the last frame.
--
---@source UnityEngine.CoreModule.dll
---@field previousViewProjectionMatrix UnityEngine.Matrix4x4
--
--The first enabled Camera component that is tagged "MainCamera" (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field main UnityEngine.Camera
--
--The camera we are currently rendering with, for low-level render control only (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field current UnityEngine.Camera
--
--If not null, the camera will only render the contents of the specified Scene.
--
---@source UnityEngine.CoreModule.dll
---@field scene UnityEngine.SceneManagement.Scene
--
--Stereoscopic rendering.
--
---@source UnityEngine.CoreModule.dll
---@field stereoEnabled bool
--
--The distance between the virtual eyes. Use this to query or set the current eye separation. Note that most VR devices provide this value, in which case setting the value will have no effect.
--
---@source UnityEngine.CoreModule.dll
---@field stereoSeparation float
--
--Distance to a point where virtual eyes converge.
--
---@source UnityEngine.CoreModule.dll
---@field stereoConvergence float
--
--Determines whether the stereo view matrices are suitable to allow for a single pass cull.
--
---@source UnityEngine.CoreModule.dll
---@field areVRStereoViewMatricesWithinSingleCullTolerance bool
--
--Defines which eye of a VR display the Camera renders into.
--
---@source UnityEngine.CoreModule.dll
---@field stereoTargetEye UnityEngine.StereoTargetEyeMask
--
--Returns the eye that is currently rendering.
--If called when stereo is not enabled it will return Camera.MonoOrStereoscopicEye.Mono.
--
--If called during a camera rendering callback such as OnRenderImage it will return the currently rendering eye.
--
--If called outside of a rendering callback and stereo is enabled, it will return the default eye which is Camera.MonoOrStereoscopicEye.Left.
--
---@source UnityEngine.CoreModule.dll
---@field stereoActiveEye UnityEngine.Camera.MonoOrStereoscopicEye
--
--The number of cameras in the current Scene.
--
---@source UnityEngine.CoreModule.dll
---@field allCamerasCount int
--
--Returns all enabled cameras in the Scene.
--
---@source UnityEngine.CoreModule.dll
---@field allCameras UnityEngine.Camera[]
--
--Number of command buffers set up on this camera (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field commandBufferCount int
---@source UnityEngine.CoreModule.dll
---@field isOrthoGraphic bool
---@source UnityEngine.CoreModule.dll
---@field mainCamera UnityEngine.Camera
---@source UnityEngine.CoreModule.dll
---@field near float
---@source UnityEngine.CoreModule.dll
---@field far float
---@source UnityEngine.CoreModule.dll
---@field fov float
--
--High dynamic range rendering.
--
---@source UnityEngine.CoreModule.dll
---@field hdr bool
--
--Render only once and use resulting image for both eyes.
--
---@source UnityEngine.CoreModule.dll
---@field stereoMirrorMode bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Camera = {}

--
--Revert all camera parameters to default.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Camera.Reset() end

--
--Resets this Camera's transparency sort settings to the default. Default transparency settings are taken from GraphicsSettings instead of directly from this Camera.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Camera.ResetTransparencySortSettings() end

--
--Revert the aspect ratio to the screen's aspect ratio.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Camera.ResetAspect() end

--
--Make culling queries reflect the camera's built in parameters.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Camera.ResetCullingMatrix() end

--
--Make the camera render with shader replacement.
--
---@source UnityEngine.CoreModule.dll
---@param shader UnityEngine.Shader
---@param replacementTag string
function CS.UnityEngine.Camera.SetReplacementShader(shader, replacementTag) end

--
--Remove shader replacement from camera.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Camera.ResetReplacementShader() end

--
--Returns the effective vertical field of view.
--
---@source UnityEngine.CoreModule.dll
---@return Single
function CS.UnityEngine.Camera.GetGateFittedFieldOfView() end

--
--Returns the effective lens shift value.
--
---@source UnityEngine.CoreModule.dll
---@return Vector2
function CS.UnityEngine.Camera.GetGateFittedLensShift() end

--
--Sets the Camera to render to the chosen buffers of one or more RenderTextures.
--
--```plaintext
--Params: colorBuffer - The RenderBuffer(s) to which color information will be rendered.
--        depthBuffer - The RenderBuffer to which depth information will be rendered.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param colorBuffer UnityEngine.RenderBuffer
---@param depthBuffer UnityEngine.RenderBuffer
function CS.UnityEngine.Camera.SetTargetBuffers(colorBuffer, depthBuffer) end

--
--Sets the Camera to render to the chosen buffers of one or more RenderTextures.
--
--```plaintext
--Params: colorBuffer - The RenderBuffer(s) to which color information will be rendered.
--        depthBuffer - The RenderBuffer to which depth information will be rendered.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param colorBuffer UnityEngine.RenderBuffer[]
---@param depthBuffer UnityEngine.RenderBuffer
function CS.UnityEngine.Camera.SetTargetBuffers(colorBuffer, depthBuffer) end

--
--Make the rendering position reflect the camera's position in the Scene.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Camera.ResetWorldToCameraMatrix() end

--
--Make the projection reflect normal camera's parameters.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Camera.ResetProjectionMatrix() end

--
--Oblique near-plane projection matrix.
--
--```plaintext
--Params: clipPlane - Vector4 that describes a clip plane.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param clipPlane UnityEngine.Vector4
---@return Matrix4x4
function CS.UnityEngine.Camera.CalculateObliqueMatrix(clipPlane) end

---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3
---@param eye UnityEngine.Camera.MonoOrStereoscopicEye
---@return Vector3
function CS.UnityEngine.Camera.WorldToScreenPoint(position, eye) end

---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3
---@param eye UnityEngine.Camera.MonoOrStereoscopicEye
---@return Vector3
function CS.UnityEngine.Camera.WorldToViewportPoint(position, eye) end

---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3
---@param eye UnityEngine.Camera.MonoOrStereoscopicEye
---@return Vector3
function CS.UnityEngine.Camera.ViewportToWorldPoint(position, eye) end

---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3
---@param eye UnityEngine.Camera.MonoOrStereoscopicEye
---@return Vector3
function CS.UnityEngine.Camera.ScreenToWorldPoint(position, eye) end

--
--Transforms position from world space into screen space.
--
--```plaintext
--Params: eye - Optional argument that can be used to specify which eye transform to use. Default is Mono.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Camera.WorldToScreenPoint(position) end

--
--Transforms position from world space into viewport space.
--
--```plaintext
--Params: eye - Optional argument that can be used to specify which eye transform to use. Default is Mono.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Camera.WorldToViewportPoint(position) end

--
--The 3d vector in World space.
--
--```plaintext
--Params: position - The 3d vector in Viewport space.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Camera.ViewportToWorldPoint(position) end

--
--The worldspace point created by converting the screen space point at the provided distance z from the camera plane.
--
--```plaintext
--Params: position - A screen space position (often mouse x, y), plus a z position for depth (for example, a camera clipping plane).
--        eye - By default, Camera.MonoOrStereoscopicEye.Mono. Can be set to Camera.MonoOrStereoscopicEye.Left or Camera.MonoOrStereoscopicEye.Right for use in stereoscopic rendering (e.g., for VR).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Camera.ScreenToWorldPoint(position) end

--
--Transforms position from screen space into viewport space.
--
---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Camera.ScreenToViewportPoint(position) end

--
--Transforms position from viewport space into screen space.
--
---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Camera.ViewportToScreenPoint(position) end

---@source UnityEngine.CoreModule.dll
---@param pos UnityEngine.Vector3
---@param eye UnityEngine.Camera.MonoOrStereoscopicEye
---@return Ray
function CS.UnityEngine.Camera.ViewportPointToRay(pos, eye) end

--
--Returns a ray going from camera through a viewport point.
--
--```plaintext
--Params: eye - Optional argument that can be used to specify which eye transform to use. Default is Mono.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param pos UnityEngine.Vector3
---@return Ray
function CS.UnityEngine.Camera.ViewportPointToRay(pos) end

---@source UnityEngine.CoreModule.dll
---@param pos UnityEngine.Vector3
---@param eye UnityEngine.Camera.MonoOrStereoscopicEye
---@return Ray
function CS.UnityEngine.Camera.ScreenPointToRay(pos, eye) end

--
--Returns a ray going from camera through a screen point.
--
--```plaintext
--Params: eye - Optional argument that can be used to specify which eye transform to use. Default is Mono.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param pos UnityEngine.Vector3
---@return Ray
function CS.UnityEngine.Camera.ScreenPointToRay(pos) end

---@source UnityEngine.CoreModule.dll
---@param viewport UnityEngine.Rect
---@param z float
---@param eye UnityEngine.Camera.MonoOrStereoscopicEye
---@param outCorners UnityEngine.Vector3[]
function CS.UnityEngine.Camera.CalculateFrustumCorners(viewport, z, eye, outCorners) end

---@source UnityEngine.CoreModule.dll
---@param output UnityEngine.Matrix4x4
---@param focalLength float
---@param sensorSize UnityEngine.Vector2
---@param lensShift UnityEngine.Vector2
---@param nearClip float
---@param farClip float
---@param gateFitParameters UnityEngine.Camera.GateFitParameters
function CS.UnityEngine.Camera:CalculateProjectionMatrixFromPhysicalProperties(output, focalLength, sensorSize, lensShift, nearClip, farClip, gateFitParameters) end

--
--field of view in degrees.
--
--```plaintext
--Params: focalLength - Focal length in millimeters.
--        sensorSize - Sensor size in millimeters. Use the sensor height to get the vertical field of view. Use the sensor width to get the horizontal field of view.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param focalLength float
---@param sensorSize float
---@return Single
function CS.UnityEngine.Camera:FocalLengthToFieldOfView(focalLength, sensorSize) end

--
--Focal length in millimeters.
--
--```plaintext
--Params: fieldOfView - field of view in degrees.
--        sensorSize - Sensor size in millimeters.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param fieldOfView float
---@param sensorSize float
---@return Single
function CS.UnityEngine.Camera:FieldOfViewToFocalLength(fieldOfView, sensorSize) end

--
--Converts the horizontal field of view (FOV) to the vertical FOV, based on the value of the aspect ratio parameter.
--
--```plaintext
--Params: horizontalFOV - The horizontal FOV value in degrees.
--        aspectRatio - The aspect ratio value used for the conversion
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param horizontalFieldOfView float
---@param aspectRatio float
---@return Single
function CS.UnityEngine.Camera:HorizontalToVerticalFieldOfView(horizontalFieldOfView, aspectRatio) end

--
--Converts the vertical field of view (FOV) to the horizontal FOV, based on the value of the aspect ratio parameter.
--
--```plaintext
--Params: verticalFieldOfView - The vertical FOV value in degrees.
--        aspectRatio - The aspect ratio value used for the conversion
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param verticalFieldOfView float
---@param aspectRatio float
---@return Single
function CS.UnityEngine.Camera:VerticalToHorizontalFieldOfView(verticalFieldOfView, aspectRatio) end

---@source UnityEngine.CoreModule.dll
---@param eye UnityEngine.Camera.StereoscopicEye
---@return Matrix4x4
function CS.UnityEngine.Camera.GetStereoNonJitteredProjectionMatrix(eye) end

---@source UnityEngine.CoreModule.dll
---@param eye UnityEngine.Camera.StereoscopicEye
---@return Matrix4x4
function CS.UnityEngine.Camera.GetStereoViewMatrix(eye) end

---@source UnityEngine.CoreModule.dll
---@param eye UnityEngine.Camera.StereoscopicEye
function CS.UnityEngine.Camera.CopyStereoDeviceProjectionMatrixToNonJittered(eye) end

---@source UnityEngine.CoreModule.dll
---@param eye UnityEngine.Camera.StereoscopicEye
---@return Matrix4x4
function CS.UnityEngine.Camera.GetStereoProjectionMatrix(eye) end

---@source UnityEngine.CoreModule.dll
---@param eye UnityEngine.Camera.StereoscopicEye
---@param matrix UnityEngine.Matrix4x4
function CS.UnityEngine.Camera.SetStereoProjectionMatrix(eye, matrix) end

--
--Reset the camera to using the Unity computed projection matrices for all stereoscopic eyes.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Camera.ResetStereoProjectionMatrices() end

---@source UnityEngine.CoreModule.dll
---@param eye UnityEngine.Camera.StereoscopicEye
---@param matrix UnityEngine.Matrix4x4
function CS.UnityEngine.Camera.SetStereoViewMatrix(eye, matrix) end

--
--Reset the camera to using the Unity computed view matrices for all stereoscopic eyes.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Camera.ResetStereoViewMatrices() end

--
--Fills an array of Camera with the current cameras in the Scene, without allocating a new array.
--
--```plaintext
--Params: cameras - An array to be filled up with cameras currently in the Scene.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param cameras UnityEngine.Camera[]
---@return Int32
function CS.UnityEngine.Camera:GetAllCameras(cameras) end

--
--False if rendering fails, else true.
--
--```plaintext
--Params: cubemap - The cube map to render to.
--        faceMask - A bitmask which determines which of the six faces are rendered to.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param cubemap UnityEngine.Cubemap
---@param faceMask int
---@return Boolean
function CS.UnityEngine.Camera.RenderToCubemap(cubemap, faceMask) end

---@source UnityEngine.CoreModule.dll
---@param cubemap UnityEngine.Cubemap
---@return Boolean
function CS.UnityEngine.Camera.RenderToCubemap(cubemap) end

--
--False if rendering fails, else true.
--
--```plaintext
--Params: faceMask - A bitfield indicating which cubemap faces should be rendered into.
--        cubemap - The texture to render to.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param cubemap UnityEngine.RenderTexture
---@param faceMask int
---@return Boolean
function CS.UnityEngine.Camera.RenderToCubemap(cubemap, faceMask) end

---@source UnityEngine.CoreModule.dll
---@param cubemap UnityEngine.RenderTexture
---@return Boolean
function CS.UnityEngine.Camera.RenderToCubemap(cubemap) end

---@source UnityEngine.CoreModule.dll
---@param cubemap UnityEngine.RenderTexture
---@param faceMask int
---@param stereoEye UnityEngine.Camera.MonoOrStereoscopicEye
---@return Boolean
function CS.UnityEngine.Camera.RenderToCubemap(cubemap, faceMask, stereoEye) end

--
--Render the camera manually.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Camera.Render() end

--
--Render the camera with shader replacement.
--
---@source UnityEngine.CoreModule.dll
---@param shader UnityEngine.Shader
---@param replacementTag string
function CS.UnityEngine.Camera.RenderWithShader(shader, replacementTag) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Camera.RenderDontRestore() end

---@source UnityEngine.CoreModule.dll
---@param renderRequests System.Collections.Generic.List<UnityEngine.Camera.RenderRequest>
function CS.UnityEngine.Camera.SubmitRenderRequests(renderRequests) end

---@source UnityEngine.CoreModule.dll
---@param cur UnityEngine.Camera
function CS.UnityEngine.Camera:SetupCurrent(cur) end

--
--Makes this camera's settings match other camera.
--
--```plaintext
--Params: other - Copy camera settings to the other camera.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.Camera
function CS.UnityEngine.Camera.CopyFrom(other) end

--
--Remove command buffers from execution at a specified place.
--
--```plaintext
--Params: evt - When to execute the command buffer during rendering.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param evt UnityEngine.Rendering.CameraEvent
function CS.UnityEngine.Camera.RemoveCommandBuffers(evt) end

--
--Remove all command buffers set on this camera.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Camera.RemoveAllCommandBuffers() end

--
--Add a command buffer to be executed at a specified place.
--
--```plaintext
--Params: evt - When to execute the command buffer during rendering.
--        buffer - The buffer to execute.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param evt UnityEngine.Rendering.CameraEvent
---@param buffer UnityEngine.Rendering.CommandBuffer
function CS.UnityEngine.Camera.AddCommandBuffer(evt, buffer) end

--
--Adds a command buffer to the GPU's async compute queues and executes that command buffer when graphics processing reaches a given point.
--
--```plaintext
--Params: evt - The point during the graphics processing at which this command buffer should commence on the GPU.
--        buffer - The buffer to execute.
--        queueType - The desired async compute queue type to execute the buffer on.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param evt UnityEngine.Rendering.CameraEvent
---@param buffer UnityEngine.Rendering.CommandBuffer
---@param queueType UnityEngine.Rendering.ComputeQueueType
function CS.UnityEngine.Camera.AddCommandBufferAsync(evt, buffer, queueType) end

--
--Remove command buffer from execution at a specified place.
--
--```plaintext
--Params: evt - When to execute the command buffer during rendering.
--        buffer - The buffer to execute.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param evt UnityEngine.Rendering.CameraEvent
---@param buffer UnityEngine.Rendering.CommandBuffer
function CS.UnityEngine.Camera.RemoveCommandBuffer(evt, buffer) end

--
--Array of command buffers.
--
--```plaintext
--Params: evt - When to execute the command buffer during rendering.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param evt UnityEngine.Rendering.CameraEvent
function CS.UnityEngine.Camera.GetCommandBuffers(evt) end

---@source UnityEngine.CoreModule.dll
---@param cullingParameters UnityEngine.Rendering.ScriptableCullingParameters
---@return Boolean
function CS.UnityEngine.Camera.TryGetCullingParameters(cullingParameters) end

---@source UnityEngine.CoreModule.dll
---@param stereoAware bool
---@param cullingParameters UnityEngine.Rendering.ScriptableCullingParameters
---@return Boolean
function CS.UnityEngine.Camera.TryGetCullingParameters(stereoAware, cullingParameters) end

---@source UnityEngine.CoreModule.dll
---@return Single
function CS.UnityEngine.Camera.GetScreenWidth() end

---@source UnityEngine.CoreModule.dll
---@return Single
function CS.UnityEngine.Camera.GetScreenHeight() end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Camera.DoClear() end

--
--Reset to the default field of view.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Camera.ResetFieldOfView() end

--
--Set custom view matrices for both eyes.
--
--```plaintext
--Params: leftMatrix - View matrix for the stereo left eye.
--        rightMatrix - View matrix for the stereo right eye.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param leftMatrix UnityEngine.Matrix4x4
---@param rightMatrix UnityEngine.Matrix4x4
function CS.UnityEngine.Camera.SetStereoViewMatrices(leftMatrix, rightMatrix) end

--
--Sets custom projection matrices for both the left and right stereoscopic eyes.
--
--```plaintext
--Params: leftMatrix - Projection matrix for the stereoscopic left eye.
--        rightMatrix - Projection matrix for the stereoscopic right eye.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param leftMatrix UnityEngine.Matrix4x4
---@param rightMatrix UnityEngine.Matrix4x4
function CS.UnityEngine.Camera.SetStereoProjectionMatrices(leftMatrix, rightMatrix) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Camera.GetStereoViewMatrices() end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Camera.GetStereoProjectionMatrices() end


--
--A pair of SphereColliders used to define shapes for Cloth objects to collide against.
--
---@source UnityEngine.ClothModule.dll
---@class UnityEngine.ClothSphereColliderPair: System.ValueType
--
--The first SphereCollider of a ClothSphereColliderPair.
--
---@source UnityEngine.ClothModule.dll
---@field first UnityEngine.SphereCollider
--
--The second SphereCollider of a ClothSphereColliderPair.
--
---@source UnityEngine.ClothModule.dll
---@field second UnityEngine.SphereCollider
---@source UnityEngine.ClothModule.dll
CS.UnityEngine.ClothSphereColliderPair = {}


--
--The ClothSkinningCoefficient struct is used to set up how a Cloth component is allowed to move with respect to the SkinnedMeshRenderer it is attached to.
--
---@source UnityEngine.ClothModule.dll
---@class UnityEngine.ClothSkinningCoefficient: System.ValueType
--
--Distance a vertex is allowed to travel from the skinned mesh vertex position.
--
---@source UnityEngine.ClothModule.dll
---@field maxDistance float
--
--Definition of a sphere a vertex is not allowed to enter. This allows collision against the animated cloth.
--
---@source UnityEngine.ClothModule.dll
---@field collisionSphereDistance float
---@source UnityEngine.ClothModule.dll
CS.UnityEngine.ClothSkinningCoefficient = {}


--
--The Cloth class provides an interface to cloth simulation physics.
--
---@source UnityEngine.ClothModule.dll
---@class UnityEngine.Cloth: UnityEngine.Component
--
--The current vertex positions of the cloth object.
--
---@source UnityEngine.ClothModule.dll
---@field vertices UnityEngine.Vector3[]
--
--The current normals of the cloth object.
--
---@source UnityEngine.ClothModule.dll
---@field normals UnityEngine.Vector3[]
--
--The cloth skinning coefficients used to set up how the cloth interacts with the skinned mesh.
--
---@source UnityEngine.ClothModule.dll
---@field coefficients UnityEngine.ClothSkinningCoefficient[]
--
--An array of CapsuleColliders which this Cloth instance should collide with.
--
---@source UnityEngine.ClothModule.dll
---@field capsuleColliders UnityEngine.CapsuleCollider[]
--
--An array of ClothSphereColliderPairs which this Cloth instance should collide with.
--
---@source UnityEngine.ClothModule.dll
---@field sphereColliders UnityEngine.ClothSphereColliderPair[]
--
--Cloth's sleep threshold.
--
---@source UnityEngine.ClothModule.dll
---@field sleepThreshold float
--
--Bending stiffness of the cloth.
--
---@source UnityEngine.ClothModule.dll
---@field bendingStiffness float
--
--Stretching stiffness of the cloth.
--
---@source UnityEngine.ClothModule.dll
---@field stretchingStiffness float
--
--Damp cloth motion.
--
---@source UnityEngine.ClothModule.dll
---@field damping float
--
--A constant, external acceleration applied to the cloth.
--
---@source UnityEngine.ClothModule.dll
---@field externalAcceleration UnityEngine.Vector3
--
--A random, external acceleration applied to the cloth.
--
---@source UnityEngine.ClothModule.dll
---@field randomAcceleration UnityEngine.Vector3
--
--Should gravity affect the cloth simulation?
--
---@source UnityEngine.ClothModule.dll
---@field useGravity bool
--
--Is this cloth enabled?
--
---@source UnityEngine.ClothModule.dll
---@field enabled bool
--
--The friction of the cloth when colliding with the character.
--
---@source UnityEngine.ClothModule.dll
---@field friction float
--
--How much to increase mass of colliding particles.
--
---@source UnityEngine.ClothModule.dll
---@field collisionMassScale float
--
--Enable continuous collision to improve collision stability.
--
---@source UnityEngine.ClothModule.dll
---@field enableContinuousCollision bool
--
--Add one virtual particle per triangle to improve collision stability.
--
---@source UnityEngine.ClothModule.dll
---@field useVirtualParticles float
--
--How much world-space movement of the character will affect cloth vertices.
--
---@source UnityEngine.ClothModule.dll
---@field worldVelocityScale float
--
--How much world-space acceleration of the character will affect cloth vertices.
--
---@source UnityEngine.ClothModule.dll
---@field worldAccelerationScale float
--
--Number of cloth solver iterations per second.
--
---@source UnityEngine.ClothModule.dll
---@field clothSolverFrequency float
---@source UnityEngine.ClothModule.dll
---@field solverFrequency bool
--
--Use Tether Anchors.
--
---@source UnityEngine.ClothModule.dll
---@field useTethers bool
--
--Sets the stiffness frequency parameter.
--
---@source UnityEngine.ClothModule.dll
---@field stiffnessFrequency float
--
--Minimum distance at which two cloth particles repel each other (default: 0.0).
--
---@source UnityEngine.ClothModule.dll
---@field selfCollisionDistance float
--
--Self-collision stiffness defines how strong the separating impulse should be for colliding particles.
--
---@source UnityEngine.ClothModule.dll
---@field selfCollisionStiffness float
---@source UnityEngine.ClothModule.dll
---@field useContinuousCollision float
---@source UnityEngine.ClothModule.dll
---@field selfCollision bool
---@source UnityEngine.ClothModule.dll
CS.UnityEngine.Cloth = {}

--
--Clear the pending transform changes from affecting the cloth simulation.
--
---@source UnityEngine.ClothModule.dll
function CS.UnityEngine.Cloth.ClearTransformMotion() end

---@source UnityEngine.ClothModule.dll
---@param indices System.Collections.Generic.List<uint>
function CS.UnityEngine.Cloth.GetSelfAndInterCollisionIndices(indices) end

---@source UnityEngine.ClothModule.dll
---@param indices System.Collections.Generic.List<uint>
function CS.UnityEngine.Cloth.SetSelfAndInterCollisionIndices(indices) end

---@source UnityEngine.ClothModule.dll
---@param indicesOutList System.Collections.Generic.List<uint>
function CS.UnityEngine.Cloth.GetVirtualParticleIndices(indicesOutList) end

---@source UnityEngine.ClothModule.dll
---@param indicesIn System.Collections.Generic.List<uint>
function CS.UnityEngine.Cloth.SetVirtualParticleIndices(indicesIn) end

---@source UnityEngine.ClothModule.dll
---@param weightsOutList System.Collections.Generic.List<UnityEngine.Vector3>
function CS.UnityEngine.Cloth.GetVirtualParticleWeights(weightsOutList) end

---@source UnityEngine.ClothModule.dll
---@param weights System.Collections.Generic.List<UnityEngine.Vector3>
function CS.UnityEngine.Cloth.SetVirtualParticleWeights(weights) end

--
--Fade the cloth simulation in or out.
--
--```plaintext
--Params: enabled - Fading enabled or not.
--        
--```
--
---@source UnityEngine.ClothModule.dll
---@param enabled bool
---@param interpolationTime float
function CS.UnityEngine.Cloth.SetEnabledFading(enabled, interpolationTime) end

---@source UnityEngine.ClothModule.dll
---@param enabled bool
function CS.UnityEngine.Cloth.SetEnabledFading(enabled) end


--
--Values to determine the type of input value to be expect from one entry of ClusterInput.
--
---@source UnityEngine.ClusterInputModule.dll
---@class UnityEngine.ClusterInputType: System.Enum
--
--Device that return a binary result of pressed or not pressed.
--
---@source UnityEngine.ClusterInputModule.dll
---@field Button UnityEngine.ClusterInputType
--
--Device is an analog axis that provides continuous value represented by a float.
--
---@source UnityEngine.ClusterInputModule.dll
---@field Axis UnityEngine.ClusterInputType
--
--Device that provide position and orientation values.
--
---@source UnityEngine.ClusterInputModule.dll
---@field Tracker UnityEngine.ClusterInputType
--
--A user customized input.
--
---@source UnityEngine.ClusterInputModule.dll
---@field CustomProvidedInput UnityEngine.ClusterInputType
---@source UnityEngine.ClusterInputModule.dll
CS.UnityEngine.ClusterInputType = {}

---@source 
---@param value any
---@return UnityEngine.ClusterInputType
function CS.UnityEngine.ClusterInputType:__CastFrom(value) end


--
--Holds data for a single application crash event and provides access to all gathered crash reports.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CrashReport: object
--
--Time, when the crash occured.
--
---@source UnityEngine.CoreModule.dll
---@field time System.DateTime
--
--Crash report data as formatted text.
--
---@source UnityEngine.CoreModule.dll
---@field text string
--
--Returns all currently available reports in a new array.
--
---@source UnityEngine.CoreModule.dll
---@field reports UnityEngine.CrashReport[]
--
--Returns last crash report, or null if no reports are available.
--
---@source UnityEngine.CoreModule.dll
---@field lastReport UnityEngine.CrashReport
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CrashReport = {}

--
--Remove all reports from available reports list.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.CrashReport:RemoveAll() end

--
--Remove report from available reports list.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.CrashReport.Remove() end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.EventProvider: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.EventProvider = {}

---@source UnityEngine.CoreModule.dll
---@param value int
---@param text string
function CS.UnityEngine.EventProvider:WriteCustomEvent(value, text) end


--
--Represents an axis aligned bounding box.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Bounds: System.ValueType
--
--The center of the bounding box.
--
---@source UnityEngine.CoreModule.dll
---@field center UnityEngine.Vector3
--
--The total size of the box. This is always twice as large as the extents.
--
---@source UnityEngine.CoreModule.dll
---@field size UnityEngine.Vector3
--
--The extents of the Bounding Box. This is always half of the size of the Bounds.
--
---@source UnityEngine.CoreModule.dll
---@field extents UnityEngine.Vector3
--
--The minimal point of the box. This is always equal to center-extents.
--
---@source UnityEngine.CoreModule.dll
---@field min UnityEngine.Vector3
--
--The maximal point of the box. This is always equal to center+extents.
--
---@source UnityEngine.CoreModule.dll
---@field max UnityEngine.Vector3
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Bounds = {}

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Bounds.GetHashCode() end

---@source UnityEngine.CoreModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.Bounds.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.Bounds
---@return Boolean
function CS.UnityEngine.Bounds.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Bounds
---@param rhs UnityEngine.Bounds
---@return Boolean
function CS.UnityEngine.Bounds:op_Equality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Bounds
---@param rhs UnityEngine.Bounds
---@return Boolean
function CS.UnityEngine.Bounds:op_Inequality(lhs, rhs) end

--
--Sets the bounds to the min and max value of the box.
--
---@source UnityEngine.CoreModule.dll
---@param min UnityEngine.Vector3
---@param max UnityEngine.Vector3
function CS.UnityEngine.Bounds.SetMinMax(min, max) end

--
--Grows the Bounds to include the point.
--
---@source UnityEngine.CoreModule.dll
---@param point UnityEngine.Vector3
function CS.UnityEngine.Bounds.Encapsulate(point) end

--
--Grow the bounds to encapsulate the bounds.
--
---@source UnityEngine.CoreModule.dll
---@param bounds UnityEngine.Bounds
function CS.UnityEngine.Bounds.Encapsulate(bounds) end

--
--Expand the bounds by increasing its size by amount along each side.
--
---@source UnityEngine.CoreModule.dll
---@param amount float
function CS.UnityEngine.Bounds.Expand(amount) end

--
--Expand the bounds by increasing its size by amount along each side.
--
---@source UnityEngine.CoreModule.dll
---@param amount UnityEngine.Vector3
function CS.UnityEngine.Bounds.Expand(amount) end

--
--Does another bounding box intersect with this bounding box?
--
---@source UnityEngine.CoreModule.dll
---@param bounds UnityEngine.Bounds
---@return Boolean
function CS.UnityEngine.Bounds.Intersects(bounds) end

--
--Does ray intersect this bounding box?
--
---@source UnityEngine.CoreModule.dll
---@param ray UnityEngine.Ray
---@return Boolean
function CS.UnityEngine.Bounds.IntersectRay(ray) end

---@source UnityEngine.CoreModule.dll
---@param ray UnityEngine.Ray
---@param distance float
---@return Boolean
function CS.UnityEngine.Bounds.IntersectRay(ray, distance) end

--
--Returns a formatted string for the bounds.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Bounds.ToString() end

--
--Returns a formatted string for the bounds.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.Bounds.ToString(format) end

--
--Returns a formatted string for the bounds.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.Bounds.ToString(format, formatProvider) end

--
--Is point contained in the bounding box?
--
---@source UnityEngine.CoreModule.dll
---@param point UnityEngine.Vector3
---@return Boolean
function CS.UnityEngine.Bounds.Contains(point) end

--
--The smallest squared distance between the point and this bounding box.
--
---@source UnityEngine.CoreModule.dll
---@param point UnityEngine.Vector3
---@return Single
function CS.UnityEngine.Bounds.SqrDistance(point) end

--
--The point on the bounding box or inside the bounding box.
--
--```plaintext
--Params: point - Arbitrary point.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param point UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Bounds.ClosestPoint(point) end


--
--Represents an axis aligned bounding box with all values as integers.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.BoundsInt: System.ValueType
--
--X value of the minimal point of the box.
--
---@source UnityEngine.CoreModule.dll
---@field x int
--
--Y value of the minimal point of the box.
--
---@source UnityEngine.CoreModule.dll
---@field y int
--
--Z value of the minimal point of the box.
--
---@source UnityEngine.CoreModule.dll
---@field z int
--
--The center of the bounding box.
--
---@source UnityEngine.CoreModule.dll
---@field center UnityEngine.Vector3
--
--The minimal point of the box.
--
---@source UnityEngine.CoreModule.dll
---@field min UnityEngine.Vector3Int
--
--The maximal point of the box.
--
---@source UnityEngine.CoreModule.dll
---@field max UnityEngine.Vector3Int
--
--The minimal x point of the box.
--
---@source UnityEngine.CoreModule.dll
---@field xMin int
--
--The minimal y point of the box.
--
---@source UnityEngine.CoreModule.dll
---@field yMin int
--
--The minimal z point of the box.
--
---@source UnityEngine.CoreModule.dll
---@field zMin int
--
--The maximal x point of the box.
--
---@source UnityEngine.CoreModule.dll
---@field xMax int
--
--The maximal y point of the box.
--
---@source UnityEngine.CoreModule.dll
---@field yMax int
--
--The maximal z point of the box.
--
---@source UnityEngine.CoreModule.dll
---@field zMax int
--
--The position of the bounding box.
--
---@source UnityEngine.CoreModule.dll
---@field position UnityEngine.Vector3Int
--
--The total size of the box.
--
---@source UnityEngine.CoreModule.dll
---@field size UnityEngine.Vector3Int
--
--A BoundsInt.PositionCollection that contains all positions within the BoundsInt.
--
---@source UnityEngine.CoreModule.dll
---@field allPositionsWithin UnityEngine.BoundsInt.PositionEnumerator
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.BoundsInt = {}

--
--Sets the bounds to the min and max value of the box.
--
---@source UnityEngine.CoreModule.dll
---@param minPosition UnityEngine.Vector3Int
---@param maxPosition UnityEngine.Vector3Int
function CS.UnityEngine.BoundsInt.SetMinMax(minPosition, maxPosition) end

--
--Clamps the position and size of this bounding box to the given bounds.
--
--```plaintext
--Params: bounds - Bounds to clamp to.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param bounds UnityEngine.BoundsInt
function CS.UnityEngine.BoundsInt.ClampToBounds(bounds) end

--
--Is point contained in the bounding box?
--
--```plaintext
--Params: position - Point to check.
--        inclusive - Whether the max limits are included in the check.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3Int
---@return Boolean
function CS.UnityEngine.BoundsInt.Contains(position) end

--
--Returns a formatted string for the bounds.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.BoundsInt.ToString() end

--
--Returns a formatted string for the bounds.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.BoundsInt.ToString(format) end

--
--Returns a formatted string for the bounds.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.BoundsInt.ToString(format, formatProvider) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.BoundsInt
---@param rhs UnityEngine.BoundsInt
---@return Boolean
function CS.UnityEngine.BoundsInt:op_Equality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.BoundsInt
---@param rhs UnityEngine.BoundsInt
---@return Boolean
function CS.UnityEngine.BoundsInt:op_Inequality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.BoundsInt.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.BoundsInt
---@return Boolean
function CS.UnityEngine.BoundsInt.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.BoundsInt.GetHashCode() end


--
--An iterator that allows you to iterate over all positions within the BoundsInt.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.PositionEnumerator: System.ValueType
--
--Current position of the enumerator.
--
---@source UnityEngine.CoreModule.dll
---@field Current UnityEngine.Vector3Int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.PositionEnumerator = {}

--
--This BoundsInt.PositionEnumerator.
--
---@source UnityEngine.CoreModule.dll
---@return PositionEnumerator
function CS.UnityEngine.PositionEnumerator.GetEnumerator() end

--
--Whether the enumerator has successfully moved to the next position.
--
---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.PositionEnumerator.MoveNext() end

--
--Resets this enumerator to its starting state.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.PositionEnumerator.Reset() end


--
--Utility class for common geometric functions.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.GeometryUtility: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.GeometryUtility = {}

--
--The planes that form the camera's view frustum.
--
--```plaintext
--Params: camera - The camera with the view frustum that you want to calculate planes from.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param camera UnityEngine.Camera
function CS.UnityEngine.GeometryUtility:CalculateFrustumPlanes(camera) end

--
--The planes that enclose the projection space described by the matrix.
--
--```plaintext
--Params: worldToProjectionMatrix - A matrix that transforms from world space to projection space, from which the planes will be calculated.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param worldToProjectionMatrix UnityEngine.Matrix4x4
function CS.UnityEngine.GeometryUtility:CalculateFrustumPlanes(worldToProjectionMatrix) end

--
--Calculates frustum planes.
--
--```plaintext
--Params: camera - The camera with the view frustum that you want to calculate planes from.
--        planes - An array of 6 Planes that will be overwritten with the calculated plane values.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param camera UnityEngine.Camera
---@param planes UnityEngine.Plane[]
function CS.UnityEngine.GeometryUtility:CalculateFrustumPlanes(camera, planes) end

--
--Calculates frustum planes.
--
--```plaintext
--Params: worldToProjectionMatrix - A matrix that transforms from world space to projection space, from which the planes will be calculated.
--        planes - An array of 6 Planes that will be overwritten with the calculated plane values.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param worldToProjectionMatrix UnityEngine.Matrix4x4
---@param planes UnityEngine.Plane[]
function CS.UnityEngine.GeometryUtility:CalculateFrustumPlanes(worldToProjectionMatrix, planes) end

--
--Calculates the axis-aligned bounding box.
--
--```plaintext
--Params: positions - An array that stores the location of 3d positions.
--        transform - A matrix that changes the position, rotation and size of the bounds calculation.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param positions UnityEngine.Vector3[]
---@param transform UnityEngine.Matrix4x4
---@return Bounds
function CS.UnityEngine.GeometryUtility:CalculateBounds(positions, transform) end

---@source UnityEngine.CoreModule.dll
---@param vertices UnityEngine.Vector3[]
---@param plane UnityEngine.Plane
---@return Boolean
function CS.UnityEngine.GeometryUtility:TryCreatePlaneFromPolygon(vertices, plane) end

--
--Returns true if bounds are inside the plane array.
--
---@source UnityEngine.CoreModule.dll
---@param planes UnityEngine.Plane[]
---@param bounds UnityEngine.Bounds
---@return Boolean
function CS.UnityEngine.GeometryUtility:TestPlanesAABB(planes, bounds) end


--
--Representation of a plane in 3D space.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Plane: System.ValueType
--
--Normal vector of the plane.
--
---@source UnityEngine.CoreModule.dll
---@field normal UnityEngine.Vector3
--
--The distance measured from the Plane to the origin, along the Plane's normal.
--
---@source UnityEngine.CoreModule.dll
---@field distance float
--
--Returns a copy of the plane that faces in the opposite direction.
--
---@source UnityEngine.CoreModule.dll
---@field flipped UnityEngine.Plane
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Plane = {}

--
--Sets a plane using a point that lies within it along with a normal to orient it.
--
--```plaintext
--Params: inNormal - The plane's normal vector.
--        inPoint - A point that lies on the plane.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inNormal UnityEngine.Vector3
---@param inPoint UnityEngine.Vector3
function CS.UnityEngine.Plane.SetNormalAndPosition(inNormal, inPoint) end

--
--Sets a plane using three points that lie within it.  The points go around clockwise as you look down on the top surface of the plane.
--
--```plaintext
--Params: a - First point in clockwise order.
--        b - Second point in clockwise order.
--        c - Third point in clockwise order.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3
---@param b UnityEngine.Vector3
---@param c UnityEngine.Vector3
function CS.UnityEngine.Plane.Set3Points(a, b, c) end

--
--Makes the plane face in the opposite direction.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Plane.Flip() end

--
--Moves the plane in space by the translation vector.
--
--```plaintext
--Params: translation - The offset in space to move the plane with.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param translation UnityEngine.Vector3
function CS.UnityEngine.Plane.Translate(translation) end

--
--The translated plane.
--
--```plaintext
--Params: plane - The plane to move in space.
--        translation - The offset in space to move the plane with.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param plane UnityEngine.Plane
---@param translation UnityEngine.Vector3
---@return Plane
function CS.UnityEngine.Plane:Translate(plane, translation) end

--
--A point on the plane that is closest to point.
--
--```plaintext
--Params: point - The point to project onto the plane.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param point UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Plane.ClosestPointOnPlane(point) end

--
--Returns a signed distance from plane to point.
--
---@source UnityEngine.CoreModule.dll
---@param point UnityEngine.Vector3
---@return Single
function CS.UnityEngine.Plane.GetDistanceToPoint(point) end

--
--Is a point on the positive side of the plane?
--
---@source UnityEngine.CoreModule.dll
---@param point UnityEngine.Vector3
---@return Boolean
function CS.UnityEngine.Plane.GetSide(point) end

--
--Are two points on the same side of the plane?
--
---@source UnityEngine.CoreModule.dll
---@param inPt0 UnityEngine.Vector3
---@param inPt1 UnityEngine.Vector3
---@return Boolean
function CS.UnityEngine.Plane.SameSide(inPt0, inPt1) end

---@source UnityEngine.CoreModule.dll
---@param ray UnityEngine.Ray
---@param enter float
---@return Boolean
function CS.UnityEngine.Plane.Raycast(ray, enter) end

---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Plane.ToString() end

---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.Plane.ToString(format) end

---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.Plane.ToString(format, formatProvider) end


--
--Representation of rays.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Ray: System.ValueType
--
--The origin point of the ray.
--
---@source UnityEngine.CoreModule.dll
---@field origin UnityEngine.Vector3
--
--The direction of the ray.
--
---@source UnityEngine.CoreModule.dll
---@field direction UnityEngine.Vector3
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Ray = {}

--
--Returns a point at distance units along the ray.
--
---@source UnityEngine.CoreModule.dll
---@param distance float
---@return Vector3
function CS.UnityEngine.Ray.GetPoint(distance) end

--
--Returns a formatted string for this ray.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Ray.ToString() end

--
--Returns a formatted string for this ray.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.Ray.ToString(format) end

--
--Returns a formatted string for this ray.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.Ray.ToString(format, formatProvider) end


--
--A ray in 2D space.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Ray2D: System.ValueType
--
--The starting point of the ray in world space.
--
---@source UnityEngine.CoreModule.dll
---@field origin UnityEngine.Vector2
--
--The direction of the ray in world space.
--
---@source UnityEngine.CoreModule.dll
---@field direction UnityEngine.Vector2
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Ray2D = {}

--
--Get a point that lies a given distance along a ray.
--
--```plaintext
--Params: distance - Distance of the desired point along the path of the ray.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param distance float
---@return Vector2
function CS.UnityEngine.Ray2D.GetPoint(distance) end

--
--Returns a formatted string for this 2D ray.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Ray2D.ToString() end

--
--Returns a formatted string for this 2D ray.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.Ray2D.ToString(format) end

--
--Returns a formatted string for this 2D ray.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.Ray2D.ToString(format, formatProvider) end


--
--A 2D Rectangle defined by X and Y position, width and height.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Rect: System.ValueType
--
--Shorthand for writing new Rect(0,0,0,0).
--
---@source UnityEngine.CoreModule.dll
---@field zero UnityEngine.Rect
--
--The X coordinate of the rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field x float
--
--The Y coordinate of the rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field y float
--
--The X and Y position of the rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field position UnityEngine.Vector2
--
--The position of the center of the rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field center UnityEngine.Vector2
--
--The position of the minimum corner of the rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field min UnityEngine.Vector2
--
--The position of the maximum corner of the rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field max UnityEngine.Vector2
--
--The width of the rectangle, measured from the X position.
--
---@source UnityEngine.CoreModule.dll
---@field width float
--
--The height of the rectangle, measured from the Y position.
--
---@source UnityEngine.CoreModule.dll
---@field height float
--
--The width and height of the rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field size UnityEngine.Vector2
--
--The minimum X coordinate of the rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field xMin float
--
--The minimum Y coordinate of the rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field yMin float
--
--The maximum X coordinate of the rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field xMax float
--
--The maximum Y coordinate of the rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field yMax float
---@source UnityEngine.CoreModule.dll
---@field left float
---@source UnityEngine.CoreModule.dll
---@field right float
---@source UnityEngine.CoreModule.dll
---@field top float
---@source UnityEngine.CoreModule.dll
---@field bottom float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Rect = {}

--
--A rectangle matching the specified coordinates.
--
--```plaintext
--Params: xmin - The minimum X coordinate.
--        ymin - The minimum Y coordinate.
--        xmax - The maximum X coordinate.
--        ymax - The maximum Y coordinate.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param xmin float
---@param ymin float
---@param xmax float
---@param ymax float
---@return Rect
function CS.UnityEngine.Rect:MinMaxRect(xmin, ymin, xmax, ymax) end

--
--Set components of an existing Rect.
--
---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param width float
---@param height float
function CS.UnityEngine.Rect.Set(x, y, width, height) end

--
--True if the point lies within the specified rectangle.
--
--```plaintext
--Params: point - Point to test.
--        allowInverse - Does the test allow the Rect's width and height to be negative?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param point UnityEngine.Vector2
---@return Boolean
function CS.UnityEngine.Rect.Contains(point) end

--
--True if the point lies within the specified rectangle.
--
--```plaintext
--Params: point - Point to test.
--        allowInverse - Does the test allow the Rect's width and height to be negative?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param point UnityEngine.Vector3
---@return Boolean
function CS.UnityEngine.Rect.Contains(point) end

--
--True if the point lies within the specified rectangle.
--
--```plaintext
--Params: point - Point to test.
--        allowInverse - Does the test allow the Rect's width and height to be negative?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param point UnityEngine.Vector3
---@param allowInverse bool
---@return Boolean
function CS.UnityEngine.Rect.Contains(point, allowInverse) end

--
--Returns true if the other rectangle overlaps this one. If allowInverse is present and true, the widths and heights of the Rects are allowed to take negative values (ie, the min value is greater than the max), and the test will still work.
--
--```plaintext
--Params: other - Other rectangle to test overlapping with.
--        allowInverse - Does the test allow the widths and heights of the Rects to be negative?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.Rect
---@return Boolean
function CS.UnityEngine.Rect.Overlaps(other) end

--
--Returns true if the other rectangle overlaps this one. If allowInverse is present and true, the widths and heights of the Rects are allowed to take negative values (ie, the min value is greater than the max), and the test will still work.
--
--```plaintext
--Params: other - Other rectangle to test overlapping with.
--        allowInverse - Does the test allow the widths and heights of the Rects to be negative?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.Rect
---@param allowInverse bool
---@return Boolean
function CS.UnityEngine.Rect.Overlaps(other, allowInverse) end

--
--Returns a point inside a rectangle, given normalized coordinates.
--
--```plaintext
--Params: rectangle - Rectangle to get a point inside.
--        normalizedRectCoordinates - Normalized coordinates to get a point for.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param rectangle UnityEngine.Rect
---@param normalizedRectCoordinates UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Rect:NormalizedToPoint(rectangle, normalizedRectCoordinates) end

--
--Returns the normalized coordinates cooresponding the the point.
--
--```plaintext
--Params: rectangle - Rectangle to get normalized coordinates inside.
--        point - A point inside the rectangle to get normalized coordinates for.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param rectangle UnityEngine.Rect
---@param point UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Rect:PointToNormalized(rectangle, point) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Rect
---@param rhs UnityEngine.Rect
---@return Boolean
function CS.UnityEngine.Rect:op_Inequality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Rect
---@param rhs UnityEngine.Rect
---@return Boolean
function CS.UnityEngine.Rect:op_Equality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Rect.GetHashCode() end

---@source UnityEngine.CoreModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.Rect.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.Rect
---@return Boolean
function CS.UnityEngine.Rect.Equals(other) end

--
--Returns a formatted string for this Rect.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Rect.ToString() end

--
--Returns a formatted string for this Rect.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.Rect.ToString(format) end

--
--Returns a formatted string for this Rect.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.Rect.ToString(format, formatProvider) end


--
--A 2D Rectangle defined by x, y, width, height with integers.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RectInt: System.ValueType
--
--Left coordinate of the rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field x int
--
--Top coordinate of the rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field y int
--
--Center coordinate of the rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field center UnityEngine.Vector2
--
--The lower left corner of the rectangle; which is the minimal position of the rectangle along the x- and y-axes, when it is aligned to both axes.
--
---@source UnityEngine.CoreModule.dll
---@field min UnityEngine.Vector2Int
--
--The upper right corner of the rectangle; which is the maximal position of the rectangle along the x- and y-axes, when it is aligned to both axes.
--
---@source UnityEngine.CoreModule.dll
---@field max UnityEngine.Vector2Int
--
--Width of the rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field width int
--
--Height of the rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field height int
--
--Shows the minimum X value of the RectInt.
--
---@source UnityEngine.CoreModule.dll
---@field xMin int
--
--Show the minimum Y value of the RectInt.
--
---@source UnityEngine.CoreModule.dll
---@field yMin int
--
--Shows the maximum X value of the RectInt.
--
---@source UnityEngine.CoreModule.dll
---@field xMax int
--
--Shows the maximum Y value of the RectInt.
--
---@source UnityEngine.CoreModule.dll
---@field yMax int
--
--Returns the position (x, y) of the RectInt.
--
---@source UnityEngine.CoreModule.dll
---@field position UnityEngine.Vector2Int
--
--Returns the width and height of the RectInt.
--
---@source UnityEngine.CoreModule.dll
---@field size UnityEngine.Vector2Int
--
--A RectInt.PositionCollection that contains all positions within the RectInt.
--
---@source UnityEngine.CoreModule.dll
---@field allPositionsWithin UnityEngine.RectInt.PositionEnumerator
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RectInt = {}

--
--Sets the bounds to the min and max value of the rect.
--
---@source UnityEngine.CoreModule.dll
---@param minPosition UnityEngine.Vector2Int
---@param maxPosition UnityEngine.Vector2Int
function CS.UnityEngine.RectInt.SetMinMax(minPosition, maxPosition) end

--
--Clamps the position and size of the RectInt to the given bounds.
--
--```plaintext
--Params: bounds - Bounds to clamp the RectInt.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param bounds UnityEngine.RectInt
function CS.UnityEngine.RectInt.ClampToBounds(bounds) end

--
--Whether the position is within the RectInt.
--
--```plaintext
--Params: position - Position to check.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector2Int
---@return Boolean
function CS.UnityEngine.RectInt.Contains(position) end

--
--True if the other rectangle overlaps this one.
--
--```plaintext
--Params: other - Other rectangle to test overlapping with.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.RectInt
---@return Boolean
function CS.UnityEngine.RectInt.Overlaps(other) end

--
--Returns the x, y, width and height of the RectInt.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.RectInt.ToString() end

--
--Returns the x, y, width and height of the RectInt.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.RectInt.ToString(format) end

--
--Returns the x, y, width and height of the RectInt.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.RectInt.ToString(format, formatProvider) end

--
--Returns true if the given RectInt is equal to this RectInt.
--
---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.RectInt
---@return Boolean
function CS.UnityEngine.RectInt.Equals(other) end


--
--An iterator that allows you to iterate over all positions within the RectInt.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.PositionEnumerator: System.ValueType
--
--Current position of the enumerator.
--
---@source UnityEngine.CoreModule.dll
---@field Current UnityEngine.Vector2Int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.PositionEnumerator = {}

--
--This RectInt.PositionEnumerator.
--
---@source UnityEngine.CoreModule.dll
---@return PositionEnumerator
function CS.UnityEngine.PositionEnumerator.GetEnumerator() end

--
--Whether the enumerator has successfully moved to the next position.
--
---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.PositionEnumerator.MoveNext() end

--
--Resets this enumerator to its starting state.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.PositionEnumerator.Reset() end


--
--Offsets for rectangles, borders, etc.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RectOffset: object
--
--Left edge size.
--
---@source UnityEngine.CoreModule.dll
---@field left int
--
--Right edge size.
--
---@source UnityEngine.CoreModule.dll
---@field right int
--
--Top edge size.
--
---@source UnityEngine.CoreModule.dll
---@field top int
--
--Bottom edge size.
--
---@source UnityEngine.CoreModule.dll
---@field bottom int
--
--Shortcut for left + right. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field horizontal int
--
--Shortcut for top + bottom. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field vertical int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RectOffset = {}

--
--Returns a formatted string for this RectOffset.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.RectOffset.ToString() end

--
--Returns a formatted string for this RectOffset.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.RectOffset.ToString(format) end

--
--Returns a formatted string for this RectOffset.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.RectOffset.ToString(format, formatProvider) end

--
--Add the border offsets to a rect.
--
---@source UnityEngine.CoreModule.dll
---@param rect UnityEngine.Rect
---@return Rect
function CS.UnityEngine.RectOffset.Add(rect) end

--
--Remove the border offsets from a rect.
--
---@source UnityEngine.CoreModule.dll
---@param rect UnityEngine.Rect
---@return Rect
function CS.UnityEngine.RectOffset.Remove(rect) end


--
--Allows to control the dynamic Global Illumination.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.DynamicGI: object
--
--Allows for scaling the contribution coming from realtime & baked lightmaps.
--
--Note: this value can be set in the Lighting Window UI and it is serialized, that is not the case for other properties in this class.
--
---@source UnityEngine.CoreModule.dll
---@field indirectScale float
--
--Determines the percentage change in lighting intensity that triggers Unity to recalculate the real-time lightmap.
--
---@source UnityEngine.CoreModule.dll
---@field updateThreshold float
--
--The number of milliseconds that can be spent on material updates.
--
---@source UnityEngine.CoreModule.dll
---@field materialUpdateTimeSlice int
--
--When enabled, new dynamic Global Illumination output is shown in each frame.
--
---@source UnityEngine.CoreModule.dll
---@field synchronousMode bool
--
--Is precomputed realtime Global Illumination output converged?
--
---@source UnityEngine.CoreModule.dll
---@field isConverged bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.DynamicGI = {}

--
--Allows to set an emissive color for a given renderer quickly, without the need to render the emissive input for the entire system.
--
--```plaintext
--Params: renderer - The Renderer that should get a new color.
--        color - The emissive Color.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param renderer UnityEngine.Renderer
---@param color UnityEngine.Color
function CS.UnityEngine.DynamicGI:SetEmissive(renderer, color) end

--
--Allows overriding the distant environment lighting for Realtime GI, without changing the Skybox Material.
--
--```plaintext
--Params: input - Array of float values to be used for Realtime GI environment lighting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param input float[]
function CS.UnityEngine.DynamicGI:SetEnvironmentData(input) end

--
--Schedules an update of the environment texture.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.DynamicGI:UpdateEnvironment() end

--
--Schedules an update of the albedo and emissive textures of a system that contains the renderer or the terrain.
--
--```plaintext
--Params: renderer - The Renderer to use when searching for a system to update.
--        terrain - The Terrain to use when searching for systems to update.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param renderer UnityEngine.Renderer
function CS.UnityEngine.DynamicGI:UpdateMaterials(renderer) end

---@source UnityEngine.CoreModule.dll
---@param renderer UnityEngine.Object
function CS.UnityEngine.DynamicGI:UpdateMaterials(renderer) end

---@source UnityEngine.CoreModule.dll
---@param renderer UnityEngine.Object
---@param x int
---@param y int
---@param width int
---@param height int
function CS.UnityEngine.DynamicGI:UpdateMaterials(renderer, x, y, width, height) end


--
--An object containing settings for precomputing lighting data, that Unity can serialize as a.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LightingSettings: UnityEngine.Object
--
--Whether to enable the Baked Global Illumination system for this Scene.
--
---@source UnityEngine.CoreModule.dll
---@field bakedGI bool
--
--Whether to enable the Realtime Global Illumination system for this Scene.
--
---@source UnityEngine.CoreModule.dll
---@field realtimeGI bool
--
--Determines the lightmap that Unity stores environment lighting in.
--
---@source UnityEngine.CoreModule.dll
---@field realtimeEnvironmentLighting bool
--
--Whether the Unity Editor automatically precomputes lighting data when the Scene data changes. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field autoGenerate bool
--
--Sets the MixedLightingMode that Unity uses for all Mixed Lights in the Scene. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field mixedBakeMode UnityEngine.MixedLightingMode
--
--The intensity of surface albedo throughout the Scene when considered in lighting calculations. This value influences the energy of light at each bounce. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field albedoBoost float
--
--Multiplies the intensity of of indirect lighting in lightmaps. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field indirectScale float
--
--Determines which backend to use for baking lightmaps in the Baked Global Illumination system. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field lightmapper UnityEngine.LightingSettings.Lightmapper
--
--The maximum size in pixels of an individual lightmap texture. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field lightmapMaxSize int
--
--Defines the number of texels to use per world unit when generating lightmaps.
--
---@source UnityEngine.CoreModule.dll
---@field lightmapResolution float
--
--Sets the distance (in texels) between separate UV tiles in lightmaps. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field lightmapPadding int
--
--Whether to compress the lightmap textures that the Progressive Lightmapper generates. (Editor only)
--
---@source UnityEngine.CoreModule.dll
---@field compressLightmaps bool
--
--Whether to apply ambient occlusion to lightmaps. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field ao bool
--
--The distance that a ray travels before Unity considers it to be unoccluded when calculating ambient occlusion in lightmaps. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field aoMaxDistance float
--
--Sets the contrast of ambient occlusion that Unity applies to indirect lighting in lightmaps. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field aoExponentIndirect float
--
--Determines the degree to which direct lighting is considered when calculating ambient occlusion in lightmaps. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field aoExponentDirect float
--
--Whether the Progressive Lightmapper extracts Ambient Occlusion to a separate lightmap. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field extractAO bool
--
--Determines whether the lightmapper should generate directional or non-directional lightmaps. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field directionalityMode UnityEngine.LightmapsMode
--
--Whether the Progressive Lightmapper exports machine learning training data to the Project folder when it performs the bake. ( Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field exportTrainingData bool
--
--Determines the name of the destination folder for the exported textures. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field trainingDataDestination string
--
--Defines the number of texels that Enlighten uses per world unit when calculating indirect lighting. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field indirectResolution float
--
--Specifies whether the Editor calculates the final global illumination light bounce at the same resolution as the baked lightmap.
--
---@source UnityEngine.CoreModule.dll
---@field finalGather bool
--
--Controls the number of rays emitted for every final gather point. A final gather point is a lightmap texel in the final, composited lightmap. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field finalGatherRayCount float
--
--Controls whether a denoising filter is applied to the final gather output.
--
---@source UnityEngine.CoreModule.dll
---@field finalGatherFiltering bool
---@source UnityEngine.CoreModule.dll
---@field sampling UnityEngine.LightingSettings.Sampling
--
--Specifies the number of samples the Progressive Lightmapper uses for direct lighting calculations. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field directSampleCount int
--
--Specifies the number of samples the Progressive Lightmapper uses for indirect lighting calculations. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field indirectSampleCount int
--
--This property is now obsolete. Use LightingSettings.maxBounces.
--
---@source UnityEngine.CoreModule.dll
---@field bounces int
--
--Stores the maximum number of bounces the Progressive Lightmapper computes for indirect lighting. (Editor only)
--
---@source UnityEngine.CoreModule.dll
---@field maxBounces int
--
--This property is now obsolete. Use LightingSettings.minBounces.
--
---@source UnityEngine.CoreModule.dll
---@field russianRouletteStartBounce int
--
--Stores the minimum number of bounces the Progressive Lightmapper computes for indirect lighting. (Editor only)
--
---@source UnityEngine.CoreModule.dll
---@field minBounces int
--
--Whether the Progressive Lightmapper prioritizes baking visible texels within the frustum of the Scene view. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field prioritizeView bool
--
--Specifies the filter type that the Progressive Lightmapper uses for ambient occlusion. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field filteringMode UnityEngine.LightingSettings.FilterMode
--
--Determines the denoiser that the Progressive Lightmapper applies to direct lighting. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field denoiserTypeDirect UnityEngine.LightingSettings.DenoiserType
--
--Determines the denoiser that the Progressive Lightmapper applies to indirect lighting. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field denoiserTypeIndirect UnityEngine.LightingSettings.DenoiserType
--
--Determines the type of denoising that the Progressive Lightmapper applies to ambient occlusion in lightmaps. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field denoiserTypeAO UnityEngine.LightingSettings.DenoiserType
--
--Specifies the filter kernel that the Progressive Lightmapper uses for the direct lighting. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field filterTypeDirect UnityEngine.LightingSettings.FilterType
--
--Specifies the filter kernel that the Progressive Lightmapper uses for indirect lighting. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field filterTypeIndirect UnityEngine.LightingSettings.FilterType
--
--Specifies the filter kernel that the Progressive Lightmapper uses for ambient occlusion. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field filterTypeAO UnityEngine.LightingSettings.FilterType
--
--Specifies the radius the Progressive Lightmapper used to filter the indirect lighting component of the lightmap when using Gaussian filter. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field filteringGaussRadiusDirect int
--
--Specifies the method used by the Progressive Lightmapper to reduce noise in lightmaps. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field filteringGaussRadiusIndirect int
--
--Specifies the radius the Progressive Lightmapper uses to filter the direct lighting component of the lightmap when using Gaussian filter. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field filteringGaussRadiusAO int
--
--Specifies the threshold the Progressive Lightmapper uses to filter the indirect lighting component of the lightmap when using the A-Trous filter. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field filteringAtrousPositionSigmaDirect float
--
--Specifies the radius the Progressive Lightmapper uses to filter the ambient occlusion component in the lightmap when using Gaussian filter. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field filteringAtrousPositionSigmaIndirect float
--
--Specifies the threshold the Progressive Lightmapper uses to filter direct light stored in the lightmap when using the A-Trous filter. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field filteringAtrousPositionSigmaAO float
--
--Specifies the number of samples the Progressive Lightmapper uses when sampling indirect lighting from the skybox. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field environmentSampleCount int
--
--Specifies the number of samples to use for Light Probes relative to the number of samples for lightmap texels. (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field lightProbeSampleCountMultiplier float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LightingSettings = {}


--
--Backends available for baking lighting.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Lightmapper: System.Enum
--
--Backend for baking lighting with Enlighten Baked Global Illumination, based on the Enlighten radiosity middleware.
--
---@source UnityEngine.CoreModule.dll
---@field Enlighten UnityEngine.LightingSettings.Lightmapper
--
--Backend for baking lighting using the CPU. Uses a progressive path tracing algorithm.
--
---@source UnityEngine.CoreModule.dll
---@field ProgressiveCPU UnityEngine.LightingSettings.Lightmapper
--
--Backend for baking lighting using the GPU. Uses a progressive path tracing algorithm.
--
---@source UnityEngine.CoreModule.dll
---@field ProgressiveGPU UnityEngine.LightingSettings.Lightmapper
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Lightmapper = {}

---@source 
---@param value any
---@return UnityEngine.LightingSettings.Lightmapper
function CS.UnityEngine.Lightmapper:__CastFrom(value) end


--
--Enum used to specify how the sensor gate (sensor frame) defined by Camera.sensorSize fits into the resolution gate (render frame).
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.GateFitMode: System.Enum
--
--Fit the resolution gate vertically within the sensor gate.
--
---@source UnityEngine.CoreModule.dll
---@field Vertical UnityEngine.Camera.GateFitMode
--
--Fit the resolution gate horizontally within the sensor gate.
--
---@source UnityEngine.CoreModule.dll
---@field Horizontal UnityEngine.Camera.GateFitMode
--
--Automatically selects a horizontal or vertical fit so that the sensor gate fits completely inside the resolution gate.
--
---@source UnityEngine.CoreModule.dll
---@field Fill UnityEngine.Camera.GateFitMode
--
--Automatically selects a horizontal or vertical fit so that the render frame fits completely inside the resolution gate.
--
---@source UnityEngine.CoreModule.dll
---@field Overscan UnityEngine.Camera.GateFitMode
--
--Stretch the sensor gate to fit exactly into the resolution gate.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.Camera.GateFitMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.GateFitMode = {}

---@source 
---@param value any
---@return UnityEngine.Camera.GateFitMode
function CS.UnityEngine.GateFitMode:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Sampling: System.Enum
---@source UnityEngine.CoreModule.dll
---@field Auto UnityEngine.LightingSettings.Sampling
---@source UnityEngine.CoreModule.dll
---@field Fixed UnityEngine.LightingSettings.Sampling
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Sampling = {}

---@source 
---@param value any
---@return UnityEngine.LightingSettings.Sampling
function CS.UnityEngine.Sampling:__CastFrom(value) end


--
--The available filtering modes for the Progressive Lightmapper.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.FilterMode: System.Enum
--
--No filtering.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.LightingSettings.FilterMode
--
--The filtering is configured automatically.
--
---@source UnityEngine.CoreModule.dll
---@field Auto UnityEngine.LightingSettings.FilterMode
--
--When enabled, you can configure the filtering settings for the Progressive Lightmapper. When disabled, the default filtering settings apply.
--
---@source UnityEngine.CoreModule.dll
---@field Advanced UnityEngine.LightingSettings.FilterMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.FilterMode = {}

---@source 
---@param value any
---@return UnityEngine.LightingSettings.FilterMode
function CS.UnityEngine.FilterMode:__CastFrom(value) end


--
--Enumerates which axis to use when expressing the value for the field of view.
--                The default value is Camera.FieldOfViewAxis.Vertical.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.FieldOfViewAxis: System.Enum
--
--Specifies the field of view as vertical.
--
---@source UnityEngine.CoreModule.dll
---@field Vertical UnityEngine.Camera.FieldOfViewAxis
--
--Specifies the field of view as horizontal.
--
---@source UnityEngine.CoreModule.dll
---@field Horizontal UnityEngine.Camera.FieldOfViewAxis
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.FieldOfViewAxis = {}

---@source 
---@param value any
---@return UnityEngine.Camera.FieldOfViewAxis
function CS.UnityEngine.FieldOfViewAxis:__CastFrom(value) end


--
--The available denoisers for the Progressive Lightmapper.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.DenoiserType: System.Enum
--
--Use this to disable denoising for the lightmap.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.LightingSettings.DenoiserType
--
--NVIDIA Optix Denoiser.
--
---@source UnityEngine.CoreModule.dll
---@field Optix UnityEngine.LightingSettings.DenoiserType
--
--Intel Open Image Denoiser.
--
---@source UnityEngine.CoreModule.dll
---@field OpenImage UnityEngine.LightingSettings.DenoiserType
--
--RadeonPro Denoiser.
--
---@source UnityEngine.CoreModule.dll
---@field RadeonPro UnityEngine.LightingSettings.DenoiserType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.DenoiserType = {}

---@source 
---@param value any
---@return UnityEngine.LightingSettings.DenoiserType
function CS.UnityEngine.DenoiserType:__CastFrom(value) end


--
--Wrapper for gate fit parameters
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.GateFitParameters: System.ValueType
--
--GateFitMode to use. See Camera.GateFitMode.
--
---@source UnityEngine.CoreModule.dll
---@field mode UnityEngine.Camera.GateFitMode
--
--Aspect ratio of the resolution gate.
--
---@source UnityEngine.CoreModule.dll
---@field aspect float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.GateFitParameters = {}


--
--The available filter kernels for the Progressive Lightmapper.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.FilterType: System.Enum
--
--When enabled, the lightmap uses a Gaussian filter.
--
---@source UnityEngine.CoreModule.dll
---@field Gaussian UnityEngine.LightingSettings.FilterType
--
--When enabled, the lightmap uses an A-Trous filter.
--
---@source UnityEngine.CoreModule.dll
---@field ATrous UnityEngine.LightingSettings.FilterType
--
--When enabled, the lightmap uses no filtering.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.LightingSettings.FilterType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.FilterType = {}

---@source 
---@param value any
---@return UnityEngine.LightingSettings.FilterType
function CS.UnityEngine.FilterType:__CastFrom(value) end


--
--Enum used to specify either the left or the right eye of a stereoscopic camera.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.StereoscopicEye: System.Enum
--
--Specifies the target to be the left eye.
--
---@source UnityEngine.CoreModule.dll
---@field Left UnityEngine.Camera.StereoscopicEye
--
--Specifies the target to be the right eye.
--
---@source UnityEngine.CoreModule.dll
---@field Right UnityEngine.Camera.StereoscopicEye
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.StereoscopicEye = {}

---@source 
---@param value any
---@return UnityEngine.Camera.StereoscopicEye
function CS.UnityEngine.StereoscopicEye:__CastFrom(value) end


--
--Gizmos are used to give visual debugging or setup aids in the Scene view.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Gizmos: object
--
--Sets the color for the gizmos that will be drawn next.
--
---@source UnityEngine.CoreModule.dll
---@field color UnityEngine.Color
--
--Sets the Matrix4x4 that the Unity Editor uses to draw Gizmos.
--
---@source UnityEngine.CoreModule.dll
---@field matrix UnityEngine.Matrix4x4
--
--Set a texture that contains the exposure correction for LightProbe gizmos. The value is sampled from the red channel in the middle of the texture.
--
---@source UnityEngine.CoreModule.dll
---@field exposure UnityEngine.Texture
--
--Set a scale for Light Probe gizmos. This scale will be used to render the spherical harmonic preview spheres.
--
---@source UnityEngine.CoreModule.dll
---@field probeSize float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Gizmos = {}

--
--Draws a line starting at from towards to.
--
---@source UnityEngine.CoreModule.dll
---@param from UnityEngine.Vector3
---@param to UnityEngine.Vector3
function CS.UnityEngine.Gizmos:DrawLine(from, to) end

--
--Draws a wireframe sphere with center and radius.
--
---@source UnityEngine.CoreModule.dll
---@param center UnityEngine.Vector3
---@param radius float
function CS.UnityEngine.Gizmos:DrawWireSphere(center, radius) end

--
--Draws a solid sphere with center and radius.
--
---@source UnityEngine.CoreModule.dll
---@param center UnityEngine.Vector3
---@param radius float
function CS.UnityEngine.Gizmos:DrawSphere(center, radius) end

--
--Draw a wireframe box with center and size.
--
---@source UnityEngine.CoreModule.dll
---@param center UnityEngine.Vector3
---@param size UnityEngine.Vector3
function CS.UnityEngine.Gizmos:DrawWireCube(center, size) end

--
--Draw a solid box with center and size.
--
---@source UnityEngine.CoreModule.dll
---@param center UnityEngine.Vector3
---@param size UnityEngine.Vector3
function CS.UnityEngine.Gizmos:DrawCube(center, size) end

--
--Draws a mesh.
--
--```plaintext
--Params: mesh - Mesh to draw as a gizmo.
--        position - Position (default is zero).
--        rotation - Rotation (default is no rotation).
--        scale - Scale (default is no scale).
--        submeshIndex - Submesh to draw (default is -1, which draws whole mesh).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param scale UnityEngine.Vector3
function CS.UnityEngine.Gizmos:DrawMesh(mesh, submeshIndex, position, rotation, scale) end

--
--Draws a wireframe mesh.
--
--```plaintext
--Params: mesh - Mesh to draw as a gizmo.
--        position - Position (default is zero).
--        rotation - Rotation (default is no rotation).
--        scale - Scale (default is no scale).
--        submeshIndex - Submesh to draw (default is -1, which draws whole mesh).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param scale UnityEngine.Vector3
function CS.UnityEngine.Gizmos:DrawWireMesh(mesh, submeshIndex, position, rotation, scale) end

--
--Draw an icon at a position in the Scene view.
--
---@source UnityEngine.CoreModule.dll
---@param center UnityEngine.Vector3
---@param name string
---@param allowScaling bool
function CS.UnityEngine.Gizmos:DrawIcon(center, name, allowScaling) end

---@source UnityEngine.CoreModule.dll
---@param center UnityEngine.Vector3
---@param name string
---@param allowScaling bool
---@param tint UnityEngine.Color
function CS.UnityEngine.Gizmos:DrawIcon(center, name, allowScaling, tint) end

--
--Draw a texture in the Scene.
--
--```plaintext
--Params: screenRect - The size and position of the texture on the "screen" defined by the XY plane.
--        texture - The texture to be displayed.
--        mat - An optional material to apply the texture.
--        leftBorder - Inset from the rectangle's left edge.
--        rightBorder - Inset from the rectangle's right edge.
--        topBorder - Inset from the rectangle's top edge.
--        bottomBorder - Inset from the rectangle's bottom edge.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param screenRect UnityEngine.Rect
---@param texture UnityEngine.Texture
---@param leftBorder int
---@param rightBorder int
---@param topBorder int
---@param bottomBorder int
---@param mat UnityEngine.Material
function CS.UnityEngine.Gizmos:DrawGUITexture(screenRect, texture, leftBorder, rightBorder, topBorder, bottomBorder, mat) end

--
--Draw a camera frustum using the currently set Gizmos.matrix for it's location and rotation.
--
--```plaintext
--Params: center - The apex of the truncated pyramid.
--        fov - Vertical field of view (ie, the angle at the apex in degrees).
--        maxRange - Distance of the frustum's far plane.
--        minRange - Distance of the frustum's near plane.
--        aspect - Width/height ratio.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param center UnityEngine.Vector3
---@param fov float
---@param maxRange float
---@param minRange float
---@param aspect float
function CS.UnityEngine.Gizmos:DrawFrustum(center, fov, maxRange, minRange, aspect) end

--
--Draws a ray starting at from to from + direction.
--
---@source UnityEngine.CoreModule.dll
---@param r UnityEngine.Ray
function CS.UnityEngine.Gizmos:DrawRay(r) end

--
--Draws a ray starting at from to from + direction.
--
---@source UnityEngine.CoreModule.dll
---@param from UnityEngine.Vector3
---@param direction UnityEngine.Vector3
function CS.UnityEngine.Gizmos:DrawRay(from, direction) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
function CS.UnityEngine.Gizmos:DrawMesh(mesh, position, rotation) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
function CS.UnityEngine.Gizmos:DrawMesh(mesh, position) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
function CS.UnityEngine.Gizmos:DrawMesh(mesh) end

--
--Draws a mesh.
--
--```plaintext
--Params: mesh - Mesh to draw as a gizmo.
--        position - Position (default is zero).
--        rotation - Rotation (default is no rotation).
--        scale - Scale (default is no scale).
--        submeshIndex - Submesh to draw (default is -1, which draws whole mesh).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param scale UnityEngine.Vector3
function CS.UnityEngine.Gizmos:DrawMesh(mesh, position, rotation, scale) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
function CS.UnityEngine.Gizmos:DrawMesh(mesh, submeshIndex, position, rotation) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param position UnityEngine.Vector3
function CS.UnityEngine.Gizmos:DrawMesh(mesh, submeshIndex, position) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
function CS.UnityEngine.Gizmos:DrawMesh(mesh, submeshIndex) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
function CS.UnityEngine.Gizmos:DrawWireMesh(mesh, position, rotation) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
function CS.UnityEngine.Gizmos:DrawWireMesh(mesh, position) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
function CS.UnityEngine.Gizmos:DrawWireMesh(mesh) end

--
--Draws a wireframe mesh.
--
--```plaintext
--Params: mesh - Mesh to draw as a gizmo.
--        position - Position (default is zero).
--        rotation - Rotation (default is no rotation).
--        scale - Scale (default is no scale).
--        submeshIndex - Submesh to draw (default is -1, which draws whole mesh).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param scale UnityEngine.Vector3
function CS.UnityEngine.Gizmos:DrawWireMesh(mesh, position, rotation, scale) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
function CS.UnityEngine.Gizmos:DrawWireMesh(mesh, submeshIndex, position, rotation) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param position UnityEngine.Vector3
function CS.UnityEngine.Gizmos:DrawWireMesh(mesh, submeshIndex, position) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
function CS.UnityEngine.Gizmos:DrawWireMesh(mesh, submeshIndex) end

--
--Draw an icon at a position in the Scene view.
--
---@source UnityEngine.CoreModule.dll
---@param center UnityEngine.Vector3
---@param name string
function CS.UnityEngine.Gizmos:DrawIcon(center, name) end

--
--Draw a texture in the Scene.
--
--```plaintext
--Params: screenRect - The size and position of the texture on the "screen" defined by the XY plane.
--        texture - The texture to be displayed.
--        mat - An optional material to apply the texture.
--        leftBorder - Inset from the rectangle's left edge.
--        rightBorder - Inset from the rectangle's right edge.
--        topBorder - Inset from the rectangle's top edge.
--        bottomBorder - Inset from the rectangle's bottom edge.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param screenRect UnityEngine.Rect
---@param texture UnityEngine.Texture
function CS.UnityEngine.Gizmos:DrawGUITexture(screenRect, texture) end

--
--Draw a texture in the Scene.
--
--```plaintext
--Params: screenRect - The size and position of the texture on the "screen" defined by the XY plane.
--        texture - The texture to be displayed.
--        mat - An optional material to apply the texture.
--        leftBorder - Inset from the rectangle's left edge.
--        rightBorder - Inset from the rectangle's right edge.
--        topBorder - Inset from the rectangle's top edge.
--        bottomBorder - Inset from the rectangle's bottom edge.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param screenRect UnityEngine.Rect
---@param texture UnityEngine.Texture
---@param mat UnityEngine.Material
function CS.UnityEngine.Gizmos:DrawGUITexture(screenRect, texture, mat) end

--
--Draw a texture in the Scene.
--
--```plaintext
--Params: screenRect - The size and position of the texture on the "screen" defined by the XY plane.
--        texture - The texture to be displayed.
--        mat - An optional material to apply the texture.
--        leftBorder - Inset from the rectangle's left edge.
--        rightBorder - Inset from the rectangle's right edge.
--        topBorder - Inset from the rectangle's top edge.
--        bottomBorder - Inset from the rectangle's bottom edge.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param screenRect UnityEngine.Rect
---@param texture UnityEngine.Texture
---@param leftBorder int
---@param rightBorder int
---@param topBorder int
---@param bottomBorder int
function CS.UnityEngine.Gizmos:DrawGUITexture(screenRect, texture, leftBorder, rightBorder, topBorder, bottomBorder) end


--
--A Camera eye corresponding to the left or right human eye for stereoscopic rendering, or neither for non-stereoscopic rendering.
--
--A single Camera can render both left and right views in a single frame. Therefore, this enum describes which eye the Camera is currently rendering when returned by Camera.stereoActiveEye during a rendering callback (such as Camera.OnRenderImage), or which eye to act on when passed into a function.
--
--The default value is Camera.MonoOrStereoscopicEye.Left, so Camera.MonoOrStereoscopicEye.Left may be returned by some methods or properties when called outside of rendering if stereoscopic rendering is enabled.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MonoOrStereoscopicEye: System.Enum
--
--Camera eye corresponding to stereoscopic rendering of the left eye.
--
---@source UnityEngine.CoreModule.dll
---@field Left UnityEngine.Camera.MonoOrStereoscopicEye
--
--Camera eye corresponding to stereoscopic rendering of the right eye.
--
---@source UnityEngine.CoreModule.dll
---@field Right UnityEngine.Camera.MonoOrStereoscopicEye
--
--Camera eye corresponding to non-stereoscopic rendering.
--
---@source UnityEngine.CoreModule.dll
---@field Mono UnityEngine.Camera.MonoOrStereoscopicEye
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MonoOrStereoscopicEye = {}

---@source 
---@param value any
---@return UnityEngine.Camera.MonoOrStereoscopicEye
function CS.UnityEngine.MonoOrStereoscopicEye:__CastFrom(value) end


--
--Modes available for submitting when making a render request.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RenderRequestMode: System.Enum
--
--Default value for a request.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.Camera.RenderRequestMode
--
--The render request outputs an object InstanceID buffer.
--
---@source UnityEngine.CoreModule.dll
---@field ObjectId UnityEngine.Camera.RenderRequestMode
--
--The render request outputs a depth value.
--
---@source UnityEngine.CoreModule.dll
---@field Depth UnityEngine.Camera.RenderRequestMode
--
--The render request outputs the interpolated vertex normal.
--
---@source UnityEngine.CoreModule.dll
---@field VertexNormal UnityEngine.Camera.RenderRequestMode
--
--The render request outputs a world position buffer.
--
---@source UnityEngine.CoreModule.dll
---@field WorldPosition UnityEngine.Camera.RenderRequestMode
--
--The render request outputs an entity id.
--
---@source UnityEngine.CoreModule.dll
---@field EntityId UnityEngine.Camera.RenderRequestMode
--
--The render request outputs the materials albedo / base color.
--
---@source UnityEngine.CoreModule.dll
---@field BaseColor UnityEngine.Camera.RenderRequestMode
--
--The render request returns the materials specular color buffer.
--
---@source UnityEngine.CoreModule.dll
---@field SpecularColor UnityEngine.Camera.RenderRequestMode
--
--The render outputs the materials metal value.
--
---@source UnityEngine.CoreModule.dll
---@field Metallic UnityEngine.Camera.RenderRequestMode
--
--The render request outputs the materials emission value.
--
---@source UnityEngine.CoreModule.dll
---@field Emission UnityEngine.Camera.RenderRequestMode
--
--The render request outputs the per pixel normal.
--
---@source UnityEngine.CoreModule.dll
---@field Normal UnityEngine.Camera.RenderRequestMode
--
--The render request returns the materials smoothness buffer.
--
---@source UnityEngine.CoreModule.dll
---@field Smoothness UnityEngine.Camera.RenderRequestMode
--
--The render request returns the material ambient occlusion buffer.
--
---@source UnityEngine.CoreModule.dll
---@field Occlusion UnityEngine.Camera.RenderRequestMode
--
--The render request outputs the materials diffuse color.
--
---@source UnityEngine.CoreModule.dll
---@field DiffuseColor UnityEngine.Camera.RenderRequestMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RenderRequestMode = {}

---@source 
---@param value any
---@return UnityEngine.Camera.RenderRequestMode
function CS.UnityEngine.RenderRequestMode:__CastFrom(value) end


--
--Defines in which space render requests will be be outputted.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RenderRequestOutputSpace: System.Enum
--
--RenderRequests will be rendered in screenspace from the perspective of the camera.
--
---@source UnityEngine.CoreModule.dll
---@field ScreenSpace UnityEngine.Camera.RenderRequestOutputSpace
--
--RenderRequests will be outputted in UV 0 space of the rendered mesh.
--
---@source UnityEngine.CoreModule.dll
---@field UV0 UnityEngine.Camera.RenderRequestOutputSpace
--
--RenderRequests will be outputted in UV 1 space of the rendered mesh.
--
---@source UnityEngine.CoreModule.dll
---@field UV1 UnityEngine.Camera.RenderRequestOutputSpace
--
--RenderRequests will be outputted in UV 2 space of the rendered mesh.
--
---@source UnityEngine.CoreModule.dll
---@field UV2 UnityEngine.Camera.RenderRequestOutputSpace
--
--RenderRequests will be outputted in UV 3 space of the rendered mesh.
--
---@source UnityEngine.CoreModule.dll
---@field UV3 UnityEngine.Camera.RenderRequestOutputSpace
--
--RenderRequests will be outputted in UV 4 space of the rendered mesh.
--
---@source UnityEngine.CoreModule.dll
---@field UV4 UnityEngine.Camera.RenderRequestOutputSpace
--
--RenderRequests will be outputted in UV 5 space of the rendered mesh.
--
---@source UnityEngine.CoreModule.dll
---@field UV5 UnityEngine.Camera.RenderRequestOutputSpace
--
--RenderRequests will be outputted in UV 6 space of the rendered mesh.
--
---@source UnityEngine.CoreModule.dll
---@field UV6 UnityEngine.Camera.RenderRequestOutputSpace
--
--RenderRequests will be outputted in UV 7 space of the rendered mesh.
--
---@source UnityEngine.CoreModule.dll
---@field UV7 UnityEngine.Camera.RenderRequestOutputSpace
--
--RenderRequests will be outputted in UV 8 space of the rendered mesh.
--
---@source UnityEngine.CoreModule.dll
---@field UV8 UnityEngine.Camera.RenderRequestOutputSpace
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RenderRequestOutputSpace = {}

---@source 
---@param value any
---@return UnityEngine.Camera.RenderRequestOutputSpace
function CS.UnityEngine.RenderRequestOutputSpace:__CastFrom(value) end


--
--Use this BeforeRenderOrderAttribute when you need to specify a custom callback order for Application.onBeforeRender.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.BeforeRenderOrderAttribute: System.Attribute
--
--The order, lowest to highest, that the Application.onBeforeRender event recievers will be called in.
--
---@source UnityEngine.CoreModule.dll
---@field order int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.BeforeRenderOrderAttribute = {}


--
--A request that can be used for making specific rendering requests.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RenderRequest: System.ValueType
--
--Is this request properly formed.
--
---@source UnityEngine.CoreModule.dll
---@field isValid bool
--
--The type of request.
--
---@source UnityEngine.CoreModule.dll
---@field mode UnityEngine.Camera.RenderRequestMode
--
--The result of the request.
--
---@source UnityEngine.CoreModule.dll
---@field result UnityEngine.RenderTexture
--
--Defines in which space render requests will be be outputted.
--
---@source UnityEngine.CoreModule.dll
---@field outputSpace UnityEngine.Camera.RenderRequestOutputSpace
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RenderRequest = {}


--
--BillboardAsset describes how a billboard is rendered.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.BillboardAsset: UnityEngine.Object
--
--Width of the billboard.
--
---@source UnityEngine.CoreModule.dll
---@field width float
--
--Height of the billboard.
--
---@source UnityEngine.CoreModule.dll
---@field height float
--
--Height of the billboard that is below ground.
--
---@source UnityEngine.CoreModule.dll
---@field bottom float
--
--Number of pre-rendered images that can be switched when the billboard is viewed from different angles.
--
---@source UnityEngine.CoreModule.dll
---@field imageCount int
--
--Number of vertices in the billboard mesh.
--
---@source UnityEngine.CoreModule.dll
---@field vertexCount int
--
--Number of indices in the billboard mesh.
--
---@source UnityEngine.CoreModule.dll
---@field indexCount int
--
--The material used for rendering.
--
---@source UnityEngine.CoreModule.dll
---@field material UnityEngine.Material
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.BillboardAsset = {}

---@source UnityEngine.CoreModule.dll
---@param imageTexCoords System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.BillboardAsset.GetImageTexCoords(imageTexCoords) end

--
--Get the array of billboard image texture coordinate data.
--
--```plaintext
--Params: imageTexCoords - The list that receives the array.
--        
--```
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.BillboardAsset.GetImageTexCoords() end

---@source UnityEngine.CoreModule.dll
---@param imageTexCoords System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.BillboardAsset.SetImageTexCoords(imageTexCoords) end

--
--Set the array of billboard image texture coordinate data.
--
--```plaintext
--Params: imageTexCoords - The array of data to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param imageTexCoords UnityEngine.Vector4[]
function CS.UnityEngine.BillboardAsset.SetImageTexCoords(imageTexCoords) end

---@source UnityEngine.CoreModule.dll
---@param vertices System.Collections.Generic.List<UnityEngine.Vector2>
function CS.UnityEngine.BillboardAsset.GetVertices(vertices) end

--
--Get the vertices of the billboard mesh.
--
--```plaintext
--Params: vertices - The list that receives the array.
--        
--```
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.BillboardAsset.GetVertices() end

---@source UnityEngine.CoreModule.dll
---@param vertices System.Collections.Generic.List<UnityEngine.Vector2>
function CS.UnityEngine.BillboardAsset.SetVertices(vertices) end

--
--Set the vertices of the billboard mesh.
--
--```plaintext
--Params: vertices - The array of data to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param vertices UnityEngine.Vector2[]
function CS.UnityEngine.BillboardAsset.SetVertices(vertices) end

---@source UnityEngine.CoreModule.dll
---@param indices System.Collections.Generic.List<ushort>
function CS.UnityEngine.BillboardAsset.GetIndices(indices) end

--
--Get the indices of the billboard mesh.
--
--```plaintext
--Params: indices - The list that receives the array.
--        
--```
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.BillboardAsset.GetIndices() end

---@source UnityEngine.CoreModule.dll
---@param indices System.Collections.Generic.List<ushort>
function CS.UnityEngine.BillboardAsset.SetIndices(indices) end

--
--Set the indices of the billboard mesh.
--
--```plaintext
--Params: indices - The array of data to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param indices ushort[]
function CS.UnityEngine.BillboardAsset.SetIndices(indices) end


--
--Renders a billboard from a BillboardAsset.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.BillboardRenderer: UnityEngine.Renderer
--
--The BillboardAsset to render.
--
---@source UnityEngine.CoreModule.dll
---@field billboard UnityEngine.BillboardAsset
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.BillboardRenderer = {}


--
--Describes a single bounding sphere for use by a CullingGroup.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.BoundingSphere: System.ValueType
--
--The position of the center of the BoundingSphere.
--
---@source UnityEngine.CoreModule.dll
---@field position UnityEngine.Vector3
--
--The radius of the BoundingSphere.
--
---@source UnityEngine.CoreModule.dll
---@field radius float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.BoundingSphere = {}


--
--Provides information about the current and previous states of one sphere in a CullingGroup.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CullingGroupEvent: System.ValueType
--
--The index of the sphere that has changed.
--
---@source UnityEngine.CoreModule.dll
---@field index int
--
--Was the sphere considered visible by the most recent culling pass?
--
---@source UnityEngine.CoreModule.dll
---@field isVisible bool
--
--Was the sphere visible before the most recent culling pass?
--
---@source UnityEngine.CoreModule.dll
---@field wasVisible bool
--
--Did this sphere change from being invisible to being visible in the most recent culling pass?
--
---@source UnityEngine.CoreModule.dll
---@field hasBecomeVisible bool
--
--Did this sphere change from being visible to being invisible in the most recent culling pass?
--
---@source UnityEngine.CoreModule.dll
---@field hasBecomeInvisible bool
--
--The current distance band index of the sphere, after the most recent culling pass.
--
---@source UnityEngine.CoreModule.dll
---@field currentDistance int
--
--The distance band index of the sphere before the most recent culling pass.
--
---@source UnityEngine.CoreModule.dll
---@field previousDistance int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CullingGroupEvent = {}


--
--Custom Render Texture Manager.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CustomRenderTextureManager: object
---@source UnityEngine.CoreModule.dll
---@field textureLoaded System.Action<UnityEngine.CustomRenderTexture>
---@source UnityEngine.CoreModule.dll
---@field textureUnloaded System.Action<UnityEngine.CustomRenderTexture>
---@source UnityEngine.CoreModule.dll
---@field updateTriggered System.Action<UnityEngine.CustomRenderTexture, int>
---@source UnityEngine.CoreModule.dll
---@field initializeTriggered System.Action<UnityEngine.CustomRenderTexture>
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CustomRenderTextureManager = {}

---@source UnityEngine.CoreModule.dll
---@param value System.Action<UnityEngine.CustomRenderTexture>
function CS.UnityEngine.CustomRenderTextureManager:add_textureLoaded(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action<UnityEngine.CustomRenderTexture>
function CS.UnityEngine.CustomRenderTextureManager:remove_textureLoaded(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action<UnityEngine.CustomRenderTexture>
function CS.UnityEngine.CustomRenderTextureManager:add_textureUnloaded(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action<UnityEngine.CustomRenderTexture>
function CS.UnityEngine.CustomRenderTextureManager:remove_textureUnloaded(value) end

---@source UnityEngine.CoreModule.dll
---@param currentCustomRenderTextures System.Collections.Generic.List<UnityEngine.CustomRenderTexture>
function CS.UnityEngine.CustomRenderTextureManager:GetAllCustomRenderTextures(currentCustomRenderTextures) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action<UnityEngine.CustomRenderTexture, int>
function CS.UnityEngine.CustomRenderTextureManager:add_updateTriggered(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action<UnityEngine.CustomRenderTexture, int>
function CS.UnityEngine.CustomRenderTextureManager:remove_updateTriggered(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action<UnityEngine.CustomRenderTexture>
function CS.UnityEngine.CustomRenderTextureManager:add_initializeTriggered(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action<UnityEngine.CustomRenderTexture>
function CS.UnityEngine.CustomRenderTextureManager:remove_initializeTriggered(value) end


--
--Describes a set of bounding spheres that should have their visibility and distances maintained.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CullingGroup: object
--
--Sets the callback that will be called when a sphere's visibility and/or distance state has changed.
--
---@source UnityEngine.CoreModule.dll
---@field onStateChanged UnityEngine.CullingGroup.StateChanged
--
--Pauses culling group execution.
--
---@source UnityEngine.CoreModule.dll
---@field enabled bool
--
--Locks the CullingGroup to a specific camera.
--
---@source UnityEngine.CoreModule.dll
---@field targetCamera UnityEngine.Camera
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CullingGroup = {}

--
--Clean up all memory used by the CullingGroup immediately.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.CullingGroup.Dispose() end

--
--Sets the array of bounding sphere definitions that the CullingGroup should compute culling for.
--
--```plaintext
--Params: array - The BoundingSpheres to cull.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param array UnityEngine.BoundingSphere[]
function CS.UnityEngine.CullingGroup.SetBoundingSpheres(array) end

--
--Sets the number of bounding spheres in the bounding spheres array that are actually being used.
--
--```plaintext
--Params: count - The number of bounding spheres being used.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param count int
function CS.UnityEngine.CullingGroup.SetBoundingSphereCount(count) end

--
--Erase a given bounding sphere by moving the final sphere on top of it.
--
--```plaintext
--Params: index - The index of the entry to erase.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
function CS.UnityEngine.CullingGroup.EraseSwapBack(index) end

---@source UnityEngine.CoreModule.dll
---@param index int
---@param myArray T[]
---@param size int
function CS.UnityEngine.CullingGroup:EraseSwapBack(index, myArray, size) end

--
--The number of sphere indices found and written into the result array.
--
--```plaintext
--Params: visible - True if only visible spheres should be retrieved; false if only invisible spheres should be retrieved.
--        distanceIndex - The distance band that retrieved spheres must be in.
--        result - An array that will be filled with the retrieved sphere indices.
--        firstIndex - The index of the sphere to begin searching at.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param visible bool
---@param result int[]
---@param firstIndex int
---@return Int32
function CS.UnityEngine.CullingGroup.QueryIndices(visible, result, firstIndex) end

--
--The number of sphere indices found and written into the result array.
--
--```plaintext
--Params: visible - True if only visible spheres should be retrieved; false if only invisible spheres should be retrieved.
--        distanceIndex - The distance band that retrieved spheres must be in.
--        result - An array that will be filled with the retrieved sphere indices.
--        firstIndex - The index of the sphere to begin searching at.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param distanceIndex int
---@param result int[]
---@param firstIndex int
---@return Int32
function CS.UnityEngine.CullingGroup.QueryIndices(distanceIndex, result, firstIndex) end

--
--The number of sphere indices found and written into the result array.
--
--```plaintext
--Params: visible - True if only visible spheres should be retrieved; false if only invisible spheres should be retrieved.
--        distanceIndex - The distance band that retrieved spheres must be in.
--        result - An array that will be filled with the retrieved sphere indices.
--        firstIndex - The index of the sphere to begin searching at.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param visible bool
---@param distanceIndex int
---@param result int[]
---@param firstIndex int
---@return Int32
function CS.UnityEngine.CullingGroup.QueryIndices(visible, distanceIndex, result, firstIndex) end

--
--True if the sphere is visible; false if it is invisible.
--
--```plaintext
--Params: index - The index of the bounding sphere.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@return Boolean
function CS.UnityEngine.CullingGroup.IsVisible(index) end

--
--The sphere's current distance band index.
--
--```plaintext
--Params: index - The index of the sphere.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@return Int32
function CS.UnityEngine.CullingGroup.GetDistance(index) end

--
--Set bounding distances for 'distance bands' the group should compute, as well as options for how spheres falling into each distance band should be treated.
--
--```plaintext
--Params: distances - An array of bounding distances. The distances should be sorted in increasing order.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param distances float[]
function CS.UnityEngine.CullingGroup.SetBoundingDistances(distances) end

--
--Set the reference point from which distance bands are measured.
--
--```plaintext
--Params: point - A fixed point to measure the distance from.
--        transform - A transform to measure the distance from. The transform's position will be automatically tracked.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param point UnityEngine.Vector3
function CS.UnityEngine.CullingGroup.SetDistanceReferencePoint(point) end

--
--Set the reference point from which distance bands are measured.
--
--```plaintext
--Params: point - A fixed point to measure the distance from.
--        transform - A transform to measure the distance from. The transform's position will be automatically tracked.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param transform UnityEngine.Transform
function CS.UnityEngine.CullingGroup.SetDistanceReferencePoint(transform) end


--
--Provides access to a display / screen for rendering operations.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Display: object
--
--The list of currently connected displays.
--
---@source UnityEngine.CoreModule.dll
---@field displays UnityEngine.Display[]
--
--Horizontal resolution that the display is rendering at.
--
---@source UnityEngine.CoreModule.dll
---@field renderingWidth int
--
--Vertical resolution that the display is rendering at.
--
---@source UnityEngine.CoreModule.dll
---@field renderingHeight int
--
--Horizontal native display resolution.
--
---@source UnityEngine.CoreModule.dll
---@field systemWidth int
--
--Vertical native display resolution.
--
---@source UnityEngine.CoreModule.dll
---@field systemHeight int
--
--Color RenderBuffer.
--
---@source UnityEngine.CoreModule.dll
---@field colorBuffer UnityEngine.RenderBuffer
--
--Depth RenderBuffer.
--
---@source UnityEngine.CoreModule.dll
---@field depthBuffer UnityEngine.RenderBuffer
--
--Gets the state of the display and returns true if the display is active and false if otherwise.
--
---@source UnityEngine.CoreModule.dll
---@field active bool
--
--True when the back buffer requires an intermediate texture to render.
--
---@source UnityEngine.CoreModule.dll
---@field requiresBlitToBackbuffer bool
--
--True when doing a blit to the back buffer requires manual color space conversion.
--
---@source UnityEngine.CoreModule.dll
---@field requiresSrgbBlitToBackbuffer bool
--
--Main Display.
--
---@source UnityEngine.CoreModule.dll
---@field main UnityEngine.Display
--
--Get the Editors active GameView display target.
--
---@source UnityEngine.CoreModule.dll
---@field activeEditorGameViewTarget int
---@source UnityEngine.CoreModule.dll
---@field onDisplaysUpdated UnityEngine.Display.DisplaysUpdatedDelegate
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Display = {}

--
--Activate an external display. Eg. Secondary Monitors connected to the System.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Display.Activate() end

--
--This overloaded function available for Windows allows specifying desired Window Width, Height and Refresh Rate.
--
--```plaintext
--Params: width - Desired Width of the Window (for Windows only. On Linux and Mac uses Screen Width).
--        height - Desired Height of the Window (for Windows only. On Linux and Mac uses Screen Height).
--        refreshRate - Desired Refresh Rate.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param refreshRate int
function CS.UnityEngine.Display.Activate(width, height, refreshRate) end

--
--Set rendering size and position on screen (Windows only).
--
--```plaintext
--Params: width - Change Window Width (Windows Only).
--        height - Change Window Height (Windows Only).
--        x - Change Window Position X (Windows Only).
--        y - Change Window Position Y (Windows Only).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param x int
---@param y int
function CS.UnityEngine.Display.SetParams(width, height, x, y) end

--
--Sets rendering resolution for the display.
--
--```plaintext
--Params: w - Rendering width in pixels.
--        h - Rendering height in pixels.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param w int
---@param h int
function CS.UnityEngine.Display.SetRenderingResolution(w, h) end

---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.Display:MultiDisplayLicense() end

--
--Query relative mouse coordinates.
--
--```plaintext
--Params: inputMouseCoordinates - Mouse Input Position as Coordinates.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inputMouseCoordinates UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Display:RelativeMouseAt(inputMouseCoordinates) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Display.DisplaysUpdatedDelegate
function CS.UnityEngine.Display:add_onDisplaysUpdated(value) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Display.DisplaysUpdatedDelegate
function CS.UnityEngine.Display:remove_onDisplaysUpdated(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.DisplaysUpdatedDelegate: System.MulticastDelegate
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.DisplaysUpdatedDelegate = {}

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.DisplaysUpdatedDelegate.Invoke() end

---@source UnityEngine.CoreModule.dll
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.DisplaysUpdatedDelegate.BeginInvoke(callback, object) end

---@source UnityEngine.CoreModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.DisplaysUpdatedDelegate.EndInvoke(result) end


--
--FlareLayer component.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.FlareLayer: UnityEngine.Behaviour
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.FlareLayer = {}


--
--Platform agnostic fullscreen mode. Not all platforms support all modes.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.FullScreenMode: System.Enum
--
--Exclusive Mode.
--
---@source UnityEngine.CoreModule.dll
---@field ExclusiveFullScreen UnityEngine.FullScreenMode
--
--Fullscreen window.
--
---@source UnityEngine.CoreModule.dll
---@field FullScreenWindow UnityEngine.FullScreenMode
--
--Maximized window.
--
---@source UnityEngine.CoreModule.dll
---@field MaximizedWindow UnityEngine.FullScreenMode
--
--Windowed.
--
---@source UnityEngine.CoreModule.dll
---@field Windowed UnityEngine.FullScreenMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.FullScreenMode = {}

---@source 
---@param value any
---@return UnityEngine.FullScreenMode
function CS.UnityEngine.FullScreenMode:__CastFrom(value) end


--
--The reflection probe is used to capture the surroundings into a texture which is passed to the shaders and used for reflections.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ReflectionProbe: UnityEngine.Behaviour
---@source UnityEngine.CoreModule.dll
---@field type UnityEngine.Rendering.ReflectionProbeType
--
--The size of the box area in which reflections will be applied to the objects. Measured in the probes's local space.
--
---@source UnityEngine.CoreModule.dll
---@field size UnityEngine.Vector3
--
--The center of the box area in which reflections will be applied to the objects. Measured in the probes's local space.
--
---@source UnityEngine.CoreModule.dll
---@field center UnityEngine.Vector3
--
--The near clipping plane distance when rendering the probe.
--
---@source UnityEngine.CoreModule.dll
---@field nearClipPlane float
--
--The far clipping plane distance when rendering the probe.
--
---@source UnityEngine.CoreModule.dll
---@field farClipPlane float
--
--The intensity modifier that is applied to the texture of reflection probe in the shader.
--
---@source UnityEngine.CoreModule.dll
---@field intensity float
--
--The bounding volume of the reflection probe (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field bounds UnityEngine.Bounds
--
--Should this reflection probe use HDR rendering?
--
---@source UnityEngine.CoreModule.dll
---@field hdr bool
--
--Specifies whether Unity should render non-static GameObjects into the Reflection Probe. If you set this to true, Unity renders non-static GameObjects into the Reflection Probe. If you set this to false, Unity does not render non-static GameObjects into the Reflection Probe. Unity only takes this property into account if the Reflection Probe's Type is Custom.
--
---@source UnityEngine.CoreModule.dll
---@field renderDynamicObjects bool
--
--Shadow drawing distance when rendering the probe.
--
---@source UnityEngine.CoreModule.dll
---@field shadowDistance float
--
--Resolution of the underlying reflection texture in pixels.
--
---@source UnityEngine.CoreModule.dll
---@field resolution int
--
--This is used to render parts of the reflecion probe's surrounding selectively.
--
---@source UnityEngine.CoreModule.dll
---@field cullingMask int
--
--How the reflection probe clears the background.
--
---@source UnityEngine.CoreModule.dll
---@field clearFlags UnityEngine.Rendering.ReflectionProbeClearFlags
--
--The color with which the texture of reflection probe will be cleared.
--
---@source UnityEngine.CoreModule.dll
---@field backgroundColor UnityEngine.Color
--
--Distance around probe used for blending (used in deferred probes).
--
---@source UnityEngine.CoreModule.dll
---@field blendDistance float
--
--Should this reflection probe use box projection?
--
---@source UnityEngine.CoreModule.dll
---@field boxProjection bool
--
--Should reflection probe texture be generated in the Editor (ReflectionProbeMode.Baked) or should probe use custom specified texure (ReflectionProbeMode.Custom)?
--
---@source UnityEngine.CoreModule.dll
---@field mode UnityEngine.Rendering.ReflectionProbeMode
--
--Reflection probe importance.
--
---@source UnityEngine.CoreModule.dll
---@field importance int
--
--Sets the way the probe will refresh.
--
--See Also: ReflectionProbeRefreshMode.
--
---@source UnityEngine.CoreModule.dll
---@field refreshMode UnityEngine.Rendering.ReflectionProbeRefreshMode
--
--Sets this probe time-slicing mode
--
--See Also: ReflectionProbeTimeSlicingMode.
--
---@source UnityEngine.CoreModule.dll
---@field timeSlicingMode UnityEngine.Rendering.ReflectionProbeTimeSlicingMode
--
--Reference to the baked texture of the reflection probe's surrounding.
--
---@source UnityEngine.CoreModule.dll
---@field bakedTexture UnityEngine.Texture
--
--Reference to the baked texture of the reflection probe's surrounding. Use this to assign custom reflection texture.
--
---@source UnityEngine.CoreModule.dll
---@field customBakedTexture UnityEngine.Texture
--
--Reference to the realtime texture of the reflection probe's surroundings. Use this to assign a RenderTexture to use for realtime reflection.
--
---@source UnityEngine.CoreModule.dll
---@field realtimeTexture UnityEngine.RenderTexture
--
--Texture which is passed to the shader of the objects in the vicinity of the reflection probe (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field texture UnityEngine.Texture
--
--HDR decode values of the reflection probe texture.
--
---@source UnityEngine.CoreModule.dll
---@field textureHDRDecodeValues UnityEngine.Vector4
---@source UnityEngine.CoreModule.dll
---@field minBakedCubemapResolution int
---@source UnityEngine.CoreModule.dll
---@field maxBakedCubemapResolution int
--
--HDR decode values of the default reflection probe texture.
--
---@source UnityEngine.CoreModule.dll
---@field defaultTextureHDRDecodeValues UnityEngine.Vector4
--
--Texture which is used outside of all reflection probes (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field defaultTexture UnityEngine.Texture
---@source UnityEngine.CoreModule.dll
---@field reflectionProbeChanged System.Action<UnityEngine.ReflectionProbe, UnityEngine.ReflectionProbe.ReflectionProbeEvent>
---@source UnityEngine.CoreModule.dll
---@field defaultReflectionSet System.Action<UnityEngine.Cubemap>
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ReflectionProbe = {}

--
--Revert all ReflectionProbe parameters to default.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.ReflectionProbe.Reset() end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.ReflectionProbe.RenderProbe() end

--
--An integer representing a RenderID which can subsequently be used to check if the probe has finished rendering while rendering in time-slice mode.
--
--          See Also: IsFinishedRendering
--          See Also: timeSlicingMode
--
--```plaintext
--Params: targetTexture - Target RendeTexture in which rendering should be done. Specifying null will update the probe's default texture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param targetTexture UnityEngine.RenderTexture
---@return Int32
function CS.UnityEngine.ReflectionProbe.RenderProbe(targetTexture) end

--
--True if the render has finished, false otherwise.
--
--          See Also: timeSlicingMode
--
--```plaintext
--Params: renderId - An integer representing the RenderID as returned by the RenderProbe method.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param renderId int
---@return Boolean
function CS.UnityEngine.ReflectionProbe.IsFinishedRendering(renderId) end

--
--Returns trues if cubemaps were blended, false otherwise.
--
--```plaintext
--Params: src - Cubemap to blend from.
--        dst - Cubemap to blend to.
--        blend - Blend weight.
--        target - RenderTexture which will hold the result of the blend.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param src UnityEngine.Texture
---@param dst UnityEngine.Texture
---@param blend float
---@param target UnityEngine.RenderTexture
---@return Boolean
function CS.UnityEngine.ReflectionProbe:BlendCubemap(src, dst, blend, target) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action<UnityEngine.ReflectionProbe, UnityEngine.ReflectionProbe.ReflectionProbeEvent>
function CS.UnityEngine.ReflectionProbe:add_reflectionProbeChanged(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action<UnityEngine.ReflectionProbe, UnityEngine.ReflectionProbe.ReflectionProbeEvent>
function CS.UnityEngine.ReflectionProbe:remove_reflectionProbeChanged(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action<UnityEngine.Cubemap>
function CS.UnityEngine.ReflectionProbe:add_defaultReflectionSet(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action<UnityEngine.Cubemap>
function CS.UnityEngine.ReflectionProbe:remove_defaultReflectionSet(value) end


--
--Constants for special values of Screen.sleepTimeout.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SleepTimeout: object
--
--Prevent screen dimming.
--
---@source UnityEngine.CoreModule.dll
---@field NeverSleep int
--
--Set the sleep timeout to whatever the user has specified in the system settings.
--
---@source UnityEngine.CoreModule.dll
---@field SystemSetting int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SleepTimeout = {}


--
--Types of events that occur when ReflectionProbe components are used in a Scene.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ReflectionProbeEvent: System.Enum
--
--An event that occurs when a Reflection Probe component is added to a Scene or enabled in a Scene.
--
---@source UnityEngine.CoreModule.dll
---@field ReflectionProbeAdded UnityEngine.ReflectionProbe.ReflectionProbeEvent
--
--An event that occurs when a Reflection Probe component is unloaded from a Scene or disabled in a Scene.
--
---@source UnityEngine.CoreModule.dll
---@field ReflectionProbeRemoved UnityEngine.ReflectionProbe.ReflectionProbeEvent
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ReflectionProbeEvent = {}

---@source 
---@param value any
---@return UnityEngine.ReflectionProbe.ReflectionProbeEvent
function CS.UnityEngine.ReflectionProbeEvent:__CastFrom(value) end


--
--Provides access to display information.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Screen: object
--
--The current width of the screen window in pixels (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field width int
--
--The current height of the screen window in pixels (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field height int
--
--The current DPI of the screen / device (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field dpi float
--
--The current screen resolution (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field currentResolution UnityEngine.Resolution
--
--Returns all full-screen resolutions that the monitor supports (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field resolutions UnityEngine.Resolution[]
--
--Enables full-screen mode for the application.
--
---@source UnityEngine.CoreModule.dll
---@field fullScreen bool
--
--Set this property to one of the values in FullScreenMode to change the display mode of your application.
--
---@source UnityEngine.CoreModule.dll
---@field fullScreenMode UnityEngine.FullScreenMode
--
--Returns the safe area of the screen in pixels (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field safeArea UnityEngine.Rect
--
--Returns a list of screen areas that are not functional for displaying content (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field cutouts UnityEngine.Rect[]
--
--Enables auto-rotation to portrait.
--
---@source UnityEngine.CoreModule.dll
---@field autorotateToPortrait bool
--
--Enables auto-rotation to portrait, upside down.
--
---@source UnityEngine.CoreModule.dll
---@field autorotateToPortraitUpsideDown bool
--
--Enables auto-rotation to landscape left
--
---@source UnityEngine.CoreModule.dll
---@field autorotateToLandscapeLeft bool
--
--Enables auto-rotation to landscape right.
--
---@source UnityEngine.CoreModule.dll
---@field autorotateToLandscapeRight bool
--
--Specifies logical orientation of the screen.
--
---@source UnityEngine.CoreModule.dll
---@field orientation UnityEngine.ScreenOrientation
--
--A power saving setting, allowing the screen to dim some time after the last active user interaction.
--
---@source UnityEngine.CoreModule.dll
---@field sleepTimeout int
--
--The current brightness of the screen.
--
---@source UnityEngine.CoreModule.dll
---@field brightness float
---@source UnityEngine.CoreModule.dll
---@field GetResolution UnityEngine.Resolution[]
--
--Should the cursor be visible?
--
---@source UnityEngine.CoreModule.dll
---@field showCursor bool
--
--Enable cursor locking
--
---@source UnityEngine.CoreModule.dll
---@field lockCursor bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Screen = {}

--
--Switches the screen resolution.
--
---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param fullscreenMode UnityEngine.FullScreenMode
---@param preferredRefreshRate int
function CS.UnityEngine.Screen:SetResolution(width, height, fullscreenMode, preferredRefreshRate) end

--
--Switches the screen resolution.
--
---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param fullscreenMode UnityEngine.FullScreenMode
function CS.UnityEngine.Screen:SetResolution(width, height, fullscreenMode) end

--
--Switches the screen resolution.
--
---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param fullscreen bool
---@param preferredRefreshRate int
function CS.UnityEngine.Screen:SetResolution(width, height, fullscreen, preferredRefreshRate) end

--
--Switches the screen resolution.
--
---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param fullscreen bool
function CS.UnityEngine.Screen:SetResolution(width, height, fullscreen) end


--
--Color or depth buffer part of a RenderTexture.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RenderBuffer: System.ValueType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RenderBuffer = {}

--
--Returns native RenderBuffer. Be warned this is not native Texture, but rather pointer to unity struct that can be used with native unity API. Currently such API exists only on iOS.
--
---@source UnityEngine.CoreModule.dll
---@return IntPtr
function CS.UnityEngine.RenderBuffer.GetNativeRenderBufferPtr() end


--
--Intended usage of the buffer.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ComputeBufferMode: System.Enum
--
--Static buffer, only initial upload allowed by the CPU
--
---@source UnityEngine.CoreModule.dll
---@field Immutable UnityEngine.ComputeBufferMode
--
--Dynamic buffer.
--
---@source UnityEngine.CoreModule.dll
---@field Dynamic UnityEngine.ComputeBufferMode
--
--Legacy mode, do not use.
--
---@source UnityEngine.CoreModule.dll
---@field Circular UnityEngine.ComputeBufferMode
--
--Stream Out / Transform Feedback output buffer. Internal use only.
--
---@source UnityEngine.CoreModule.dll
---@field StreamOut UnityEngine.ComputeBufferMode
--
--Dynamic, unsynchronized access to the buffer.
--
---@source UnityEngine.CoreModule.dll
---@field SubUpdates UnityEngine.ComputeBufferMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ComputeBufferMode = {}

---@source 
---@param value any
---@return UnityEngine.ComputeBufferMode
function CS.UnityEngine.ComputeBufferMode:__CastFrom(value) end


--
--Raw interface to Unity's drawing functions.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Graphics: object
--
--Returns the currently active color gamut.
--
---@source UnityEngine.CoreModule.dll
---@field activeColorGamut UnityEngine.ColorGamut
--
--The GraphicsTier for the current device.
--
---@source UnityEngine.CoreModule.dll
---@field activeTier UnityEngine.Rendering.GraphicsTier
--
--True when rendering over native UI is enabled in Player Settings (readonly).
--
---@source UnityEngine.CoreModule.dll
---@field preserveFramebufferAlpha bool
--
--The minimum OpenGL ES version. The value is specified in PlayerSettings.
--
---@source UnityEngine.CoreModule.dll
---@field minOpenGLESVersion UnityEngine.Rendering.OpenGLESVersion
--
--Currently active color buffer (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field activeColorBuffer UnityEngine.RenderBuffer
--
--Currently active depth/stencil buffer (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field activeDepthBuffer UnityEngine.RenderBuffer
---@source UnityEngine.CoreModule.dll
---@field deviceName string
---@source UnityEngine.CoreModule.dll
---@field deviceVendor string
---@source UnityEngine.CoreModule.dll
---@field deviceVersion string
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Graphics = {}

--
--Clear random write targets for level pixel shaders.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Graphics:ClearRandomWriteTargets() end

--
--Execute a command buffer.
--
--```plaintext
--Params: buffer - The buffer to execute.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param buffer UnityEngine.Rendering.CommandBuffer
function CS.UnityEngine.Graphics:ExecuteCommandBuffer(buffer) end

--
--Executes a command buffer on an async compute queue with the queue selected based on the ComputeQueueType parameter passed.
--
--```plaintext
--Params: buffer - The CommandBuffer to be executed.
--        queueType - Describes the desired async compute queue the supplied CommandBuffer should be executed on.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param buffer UnityEngine.Rendering.CommandBuffer
---@param queueType UnityEngine.Rendering.ComputeQueueType
function CS.UnityEngine.Graphics:ExecuteCommandBufferAsync(buffer, queueType) end

--
--Sets current render target.
--
--```plaintext
--Params: rt - RenderTexture to set as active render target.
--        mipLevel - Mipmap level to render into (use 0 if not mipmapped).
--        face - Cubemap face to render into (use Unknown if not a cubemap).
--        depthSlice - Depth slice to render into (use 0 if not a 3D or 2DArray render target).
--        colorBuffer - Color buffer to render into.
--        depthBuffer - Depth buffer to render into.
--        colorBuffers - Color buffers to render into (for multiple render target effects).
--        setup - Full render target setup information.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param rt UnityEngine.RenderTexture
---@param mipLevel int
---@param face UnityEngine.CubemapFace
---@param depthSlice int
function CS.UnityEngine.Graphics:SetRenderTarget(rt, mipLevel, face, depthSlice) end

--
--Sets current render target.
--
--```plaintext
--Params: rt - RenderTexture to set as active render target.
--        mipLevel - Mipmap level to render into (use 0 if not mipmapped).
--        face - Cubemap face to render into (use Unknown if not a cubemap).
--        depthSlice - Depth slice to render into (use 0 if not a 3D or 2DArray render target).
--        colorBuffer - Color buffer to render into.
--        depthBuffer - Depth buffer to render into.
--        colorBuffers - Color buffers to render into (for multiple render target effects).
--        setup - Full render target setup information.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param colorBuffer UnityEngine.RenderBuffer
---@param depthBuffer UnityEngine.RenderBuffer
---@param mipLevel int
---@param face UnityEngine.CubemapFace
---@param depthSlice int
function CS.UnityEngine.Graphics:SetRenderTarget(colorBuffer, depthBuffer, mipLevel, face, depthSlice) end

--
--Sets current render target.
--
--```plaintext
--Params: rt - RenderTexture to set as active render target.
--        mipLevel - Mipmap level to render into (use 0 if not mipmapped).
--        face - Cubemap face to render into (use Unknown if not a cubemap).
--        depthSlice - Depth slice to render into (use 0 if not a 3D or 2DArray render target).
--        colorBuffer - Color buffer to render into.
--        depthBuffer - Depth buffer to render into.
--        colorBuffers - Color buffers to render into (for multiple render target effects).
--        setup - Full render target setup information.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param colorBuffers UnityEngine.RenderBuffer[]
---@param depthBuffer UnityEngine.RenderBuffer
function CS.UnityEngine.Graphics:SetRenderTarget(colorBuffers, depthBuffer) end

--
--Sets current render target.
--
--```plaintext
--Params: rt - RenderTexture to set as active render target.
--        mipLevel - Mipmap level to render into (use 0 if not mipmapped).
--        face - Cubemap face to render into (use Unknown if not a cubemap).
--        depthSlice - Depth slice to render into (use 0 if not a 3D or 2DArray render target).
--        colorBuffer - Color buffer to render into.
--        depthBuffer - Depth buffer to render into.
--        colorBuffers - Color buffers to render into (for multiple render target effects).
--        setup - Full render target setup information.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param setup UnityEngine.RenderTargetSetup
function CS.UnityEngine.Graphics:SetRenderTarget(setup) end

--
--Set random write target for level pixel shaders.
--
--```plaintext
--Params: index - Index of the random write target in the shader.
--        uav - Buffer or texture to set as the write target.
--        preserveCounterValue - Whether to leave the append/consume counter value unchanged.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@param uav UnityEngine.RenderTexture
function CS.UnityEngine.Graphics:SetRandomWriteTarget(index, uav) end

--
--Set random write target for level pixel shaders.
--
--```plaintext
--Params: index - Index of the random write target in the shader.
--        uav - Buffer or texture to set as the write target.
--        preserveCounterValue - Whether to leave the append/consume counter value unchanged.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@param uav UnityEngine.ComputeBuffer
---@param preserveCounterValue bool
function CS.UnityEngine.Graphics:SetRandomWriteTarget(index, uav, preserveCounterValue) end

--
--Set random write target for level pixel shaders.
--
--```plaintext
--Params: index - Index of the random write target in the shader.
--        uav - Buffer or texture to set as the write target.
--        preserveCounterValue - Whether to leave the append/consume counter value unchanged.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@param uav UnityEngine.GraphicsBuffer
---@param preserveCounterValue bool
function CS.UnityEngine.Graphics:SetRandomWriteTarget(index, uav, preserveCounterValue) end

--
--Copy texture contents.
--
--```plaintext
--Params: src - Source texture.
--        dst - Destination texture.
--        srcElement - Source texture element (cubemap face, texture array layer or 3D texture depth slice).
--        srcMip - Source texture mipmap level.
--        dstElement - Destination texture element (cubemap face, texture array layer or 3D texture depth slice).
--        dstMip - Destination texture mipmap level.
--        srcX - X coordinate of source texture region to copy (left side is zero).
--        srcY - Y coordinate of source texture region to copy (bottom is zero).
--        srcWidth - Width of source texture region to copy.
--        srcHeight - Height of source texture region to copy.
--        dstX - X coordinate of where to copy region in destination texture (left side is zero).
--        dstY - Y coordinate of where to copy region in destination texture (bottom is zero).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param src UnityEngine.Texture
---@param dst UnityEngine.Texture
function CS.UnityEngine.Graphics:CopyTexture(src, dst) end

---@source UnityEngine.CoreModule.dll
---@param src UnityEngine.Texture
---@param srcElement int
---@param dst UnityEngine.Texture
---@param dstElement int
function CS.UnityEngine.Graphics:CopyTexture(src, srcElement, dst, dstElement) end

--
--Copy texture contents.
--
--```plaintext
--Params: src - Source texture.
--        dst - Destination texture.
--        srcElement - Source texture element (cubemap face, texture array layer or 3D texture depth slice).
--        srcMip - Source texture mipmap level.
--        dstElement - Destination texture element (cubemap face, texture array layer or 3D texture depth slice).
--        dstMip - Destination texture mipmap level.
--        srcX - X coordinate of source texture region to copy (left side is zero).
--        srcY - Y coordinate of source texture region to copy (bottom is zero).
--        srcWidth - Width of source texture region to copy.
--        srcHeight - Height of source texture region to copy.
--        dstX - X coordinate of where to copy region in destination texture (left side is zero).
--        dstY - Y coordinate of where to copy region in destination texture (bottom is zero).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param src UnityEngine.Texture
---@param srcElement int
---@param srcMip int
---@param dst UnityEngine.Texture
---@param dstElement int
---@param dstMip int
function CS.UnityEngine.Graphics:CopyTexture(src, srcElement, srcMip, dst, dstElement, dstMip) end

--
--Copy texture contents.
--
--```plaintext
--Params: src - Source texture.
--        dst - Destination texture.
--        srcElement - Source texture element (cubemap face, texture array layer or 3D texture depth slice).
--        srcMip - Source texture mipmap level.
--        dstElement - Destination texture element (cubemap face, texture array layer or 3D texture depth slice).
--        dstMip - Destination texture mipmap level.
--        srcX - X coordinate of source texture region to copy (left side is zero).
--        srcY - Y coordinate of source texture region to copy (bottom is zero).
--        srcWidth - Width of source texture region to copy.
--        srcHeight - Height of source texture region to copy.
--        dstX - X coordinate of where to copy region in destination texture (left side is zero).
--        dstY - Y coordinate of where to copy region in destination texture (bottom is zero).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param src UnityEngine.Texture
---@param srcElement int
---@param srcMip int
---@param srcX int
---@param srcY int
---@param srcWidth int
---@param srcHeight int
---@param dst UnityEngine.Texture
---@param dstElement int
---@param dstMip int
---@param dstX int
---@param dstY int
function CS.UnityEngine.Graphics:CopyTexture(src, srcElement, srcMip, srcX, srcY, srcWidth, srcHeight, dst, dstElement, dstMip, dstX, dstY) end

--
--True if the call succeeded.
--
--```plaintext
--Params: src - Source texture.
--        dst - Destination texture.
--        srcElement - Source element (e.g. cubemap face).  Set this to 0 for 2D source textures.
--        dstElement - Destination element (e.g. cubemap face or texture array element).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param src UnityEngine.Texture
---@param dst UnityEngine.Texture
---@return Boolean
function CS.UnityEngine.Graphics:ConvertTexture(src, dst) end

--
--True if the call succeeded.
--
--```plaintext
--Params: src - Source texture.
--        dst - Destination texture.
--        srcElement - Source element (e.g. cubemap face).  Set this to 0 for 2D source textures.
--        dstElement - Destination element (e.g. cubemap face or texture array element).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param src UnityEngine.Texture
---@param srcElement int
---@param dst UnityEngine.Texture
---@param dstElement int
---@return Boolean
function CS.UnityEngine.Graphics:ConvertTexture(src, srcElement, dst, dstElement) end

--
--Returns a new GraphicsFence.
--
--```plaintext
--Params: stage - The synchronization stage. See Graphics.CreateGraphicsFence.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param stage UnityEngine.Rendering.SynchronisationStage
---@return GraphicsFence
function CS.UnityEngine.Graphics:CreateAsyncGraphicsFence(stage) end

--
--Returns a new GraphicsFence.
--
--```plaintext
--Params: stage - The synchronization stage. See Graphics.CreateGraphicsFence.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return GraphicsFence
function CS.UnityEngine.Graphics:CreateAsyncGraphicsFence() end

---@source UnityEngine.CoreModule.dll
---@param fenceType UnityEngine.Rendering.GraphicsFenceType
---@param stage UnityEngine.Rendering.SynchronisationStageFlags
---@return GraphicsFence
function CS.UnityEngine.Graphics:CreateGraphicsFence(fenceType, stage) end

--
--Instructs the GPU's processing of the graphics queue to wait until the given GraphicsFence is passed.
--
--```plaintext
--Params: fence - The GraphicsFence that the GPU will be instructed to wait upon before proceeding with its processing of the graphics queue.
--        stage - On some platforms there is a significant gap between the vertex processing completing and the pixel processing begining for a given draw call. This parameter allows for requested wait to be before the next items vertex or pixel processing begins. If a compute shader dispatch is the next item to be submitted then this parameter is ignored.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param fence UnityEngine.Rendering.GraphicsFence
function CS.UnityEngine.Graphics:WaitOnAsyncGraphicsFence(fence) end

--
--Instructs the GPU's processing of the graphics queue to wait until the given GraphicsFence is passed.
--
--```plaintext
--Params: fence - The GraphicsFence that the GPU will be instructed to wait upon before proceeding with its processing of the graphics queue.
--        stage - On some platforms there is a significant gap between the vertex processing completing and the pixel processing begining for a given draw call. This parameter allows for requested wait to be before the next items vertex or pixel processing begins. If a compute shader dispatch is the next item to be submitted then this parameter is ignored.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param fence UnityEngine.Rendering.GraphicsFence
---@param stage UnityEngine.Rendering.SynchronisationStage
function CS.UnityEngine.Graphics:WaitOnAsyncGraphicsFence(fence, stage) end

--
--Draw a texture in screen coordinates.
--
--```plaintext
--Params: screenRect - Rectangle on the screen to use for the texture. In pixel coordinates with (0,0) in the upper-left corner.
--        texture - Texture to draw.
--        sourceRect - Region of the texture to use. In normalized coordinates with (0,0) in the bottom-left corner.
--        leftBorder - Number of pixels from the left that are not affected by scale.
--        rightBorder - Number of pixels from the right that are not affected by scale.
--        topBorder - Number of pixels from the top that are not affected by scale.
--        bottomBorder - Number of pixels from the bottom that are not affected by scale.
--        color - Color that modulates the output. The neutral value is (0.5, 0.5, 0.5, 0.5). Set as vertex color for the shader.
--        mat - Custom Material that can be used to draw the texture. If null is passed, a default material with the Internal-GUITexture.shader is used.
--        pass - If -1 (default), draws all passes in the material. Otherwise, draws given pass only.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param screenRect UnityEngine.Rect
---@param texture UnityEngine.Texture
---@param sourceRect UnityEngine.Rect
---@param leftBorder int
---@param rightBorder int
---@param topBorder int
---@param bottomBorder int
---@param color UnityEngine.Color
---@param mat UnityEngine.Material
---@param pass int
function CS.UnityEngine.Graphics:DrawTexture(screenRect, texture, sourceRect, leftBorder, rightBorder, topBorder, bottomBorder, color, mat, pass) end

--
--Draw a texture in screen coordinates.
--
--```plaintext
--Params: screenRect - Rectangle on the screen to use for the texture. In pixel coordinates with (0,0) in the upper-left corner.
--        texture - Texture to draw.
--        sourceRect - Region of the texture to use. In normalized coordinates with (0,0) in the bottom-left corner.
--        leftBorder - Number of pixels from the left that are not affected by scale.
--        rightBorder - Number of pixels from the right that are not affected by scale.
--        topBorder - Number of pixels from the top that are not affected by scale.
--        bottomBorder - Number of pixels from the bottom that are not affected by scale.
--        color - Color that modulates the output. The neutral value is (0.5, 0.5, 0.5, 0.5). Set as vertex color for the shader.
--        mat - Custom Material that can be used to draw the texture. If null is passed, a default material with the Internal-GUITexture.shader is used.
--        pass - If -1 (default), draws all passes in the material. Otherwise, draws given pass only.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param screenRect UnityEngine.Rect
---@param texture UnityEngine.Texture
---@param sourceRect UnityEngine.Rect
---@param leftBorder int
---@param rightBorder int
---@param topBorder int
---@param bottomBorder int
---@param mat UnityEngine.Material
---@param pass int
function CS.UnityEngine.Graphics:DrawTexture(screenRect, texture, sourceRect, leftBorder, rightBorder, topBorder, bottomBorder, mat, pass) end

--
--Draw a texture in screen coordinates.
--
--```plaintext
--Params: screenRect - Rectangle on the screen to use for the texture. In pixel coordinates with (0,0) in the upper-left corner.
--        texture - Texture to draw.
--        sourceRect - Region of the texture to use. In normalized coordinates with (0,0) in the bottom-left corner.
--        leftBorder - Number of pixels from the left that are not affected by scale.
--        rightBorder - Number of pixels from the right that are not affected by scale.
--        topBorder - Number of pixels from the top that are not affected by scale.
--        bottomBorder - Number of pixels from the bottom that are not affected by scale.
--        color - Color that modulates the output. The neutral value is (0.5, 0.5, 0.5, 0.5). Set as vertex color for the shader.
--        mat - Custom Material that can be used to draw the texture. If null is passed, a default material with the Internal-GUITexture.shader is used.
--        pass - If -1 (default), draws all passes in the material. Otherwise, draws given pass only.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param screenRect UnityEngine.Rect
---@param texture UnityEngine.Texture
---@param leftBorder int
---@param rightBorder int
---@param topBorder int
---@param bottomBorder int
---@param mat UnityEngine.Material
---@param pass int
function CS.UnityEngine.Graphics:DrawTexture(screenRect, texture, leftBorder, rightBorder, topBorder, bottomBorder, mat, pass) end

--
--Draw a texture in screen coordinates.
--
--```plaintext
--Params: screenRect - Rectangle on the screen to use for the texture. In pixel coordinates with (0,0) in the upper-left corner.
--        texture - Texture to draw.
--        sourceRect - Region of the texture to use. In normalized coordinates with (0,0) in the bottom-left corner.
--        leftBorder - Number of pixels from the left that are not affected by scale.
--        rightBorder - Number of pixels from the right that are not affected by scale.
--        topBorder - Number of pixels from the top that are not affected by scale.
--        bottomBorder - Number of pixels from the bottom that are not affected by scale.
--        color - Color that modulates the output. The neutral value is (0.5, 0.5, 0.5, 0.5). Set as vertex color for the shader.
--        mat - Custom Material that can be used to draw the texture. If null is passed, a default material with the Internal-GUITexture.shader is used.
--        pass - If -1 (default), draws all passes in the material. Otherwise, draws given pass only.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param screenRect UnityEngine.Rect
---@param texture UnityEngine.Texture
---@param mat UnityEngine.Material
---@param pass int
function CS.UnityEngine.Graphics:DrawTexture(screenRect, texture, mat, pass) end

--
--Draw a mesh immediately.
--
--```plaintext
--Params: mesh - The Mesh to draw.
--        position - Position of the mesh.
--        rotation - Rotation of the mesh.
--        matrix - The transformation matrix of the mesh (combines position, rotation and other transformations).
--        materialIndex - Subset of the mesh to draw.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param materialIndex int
function CS.UnityEngine.Graphics:DrawMeshNow(mesh, position, rotation, materialIndex) end

--
--Draw a mesh immediately.
--
--```plaintext
--Params: mesh - The Mesh to draw.
--        position - Position of the mesh.
--        rotation - Rotation of the mesh.
--        matrix - The transformation matrix of the mesh (combines position, rotation and other transformations).
--        materialIndex - Subset of the mesh to draw.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
---@param materialIndex int
function CS.UnityEngine.Graphics:DrawMeshNow(mesh, matrix, materialIndex) end

--
--Draw a mesh immediately.
--
--```plaintext
--Params: mesh - The Mesh to draw.
--        position - Position of the mesh.
--        rotation - Rotation of the mesh.
--        matrix - The transformation matrix of the mesh (combines position, rotation and other transformations).
--        materialIndex - Subset of the mesh to draw.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
function CS.UnityEngine.Graphics:DrawMeshNow(mesh, position, rotation) end

--
--Draw a mesh immediately.
--
--```plaintext
--Params: mesh - The Mesh to draw.
--        position - Position of the mesh.
--        rotation - Rotation of the mesh.
--        matrix - The transformation matrix of the mesh (combines position, rotation and other transformations).
--        materialIndex - Subset of the mesh to draw.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
function CS.UnityEngine.Graphics:DrawMeshNow(mesh, matrix) end

--
--Draw a mesh.
--
--```plaintext
--Params: mesh - The Mesh to draw.
--        position - Position of the mesh.
--        rotation - Rotation of the mesh.
--        matrix - Transformation matrix of the mesh (combines position, rotation and other transformations).
--        material - Material to use.
--        layer - to use.
--        camera - If null (default), the mesh will be drawn in all cameras. Otherwise it will be rendered in the given Camera only.
--        submeshIndex - Which subset of the mesh to draw. This applies only to meshes that are composed of several materials.
--        properties - Additional material properties to apply onto material just before this mesh will be drawn. See MaterialPropertyBlock.
--        castShadows - Determines whether the mesh can cast shadows.
--        receiveShadows - Determines whether the mesh can receive shadows.
--        useLightProbes - Should the mesh use light probes?
--        probeAnchor - If used, the mesh will use this Transform's position to sample light probes and find the matching reflection probe.
--        lightProbeUsage - LightProbeUsage for the mesh.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows bool
---@param receiveShadows bool
---@param useLightProbes bool
function CS.UnityEngine.Graphics:DrawMesh(mesh, position, rotation, material, layer, camera, submeshIndex, properties, castShadows, receiveShadows, useLightProbes) end

--
--Draw a mesh.
--
--```plaintext
--Params: mesh - The Mesh to draw.
--        position - Position of the mesh.
--        rotation - Rotation of the mesh.
--        matrix - Transformation matrix of the mesh (combines position, rotation and other transformations).
--        material - Material to use.
--        layer - to use.
--        camera - If null (default), the mesh will be drawn in all cameras. Otherwise it will be rendered in the given Camera only.
--        submeshIndex - Which subset of the mesh to draw. This applies only to meshes that are composed of several materials.
--        properties - Additional material properties to apply onto material just before this mesh will be drawn. See MaterialPropertyBlock.
--        castShadows - Determines whether the mesh can cast shadows.
--        receiveShadows - Determines whether the mesh can receive shadows.
--        useLightProbes - Should the mesh use light probes?
--        probeAnchor - If used, the mesh will use this Transform's position to sample light probes and find the matching reflection probe.
--        lightProbeUsage - LightProbeUsage for the mesh.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param probeAnchor UnityEngine.Transform
---@param useLightProbes bool
function CS.UnityEngine.Graphics:DrawMesh(mesh, position, rotation, material, layer, camera, submeshIndex, properties, castShadows, receiveShadows, probeAnchor, useLightProbes) end

--
--Draw a mesh.
--
--```plaintext
--Params: mesh - The Mesh to draw.
--        position - Position of the mesh.
--        rotation - Rotation of the mesh.
--        matrix - Transformation matrix of the mesh (combines position, rotation and other transformations).
--        material - Material to use.
--        layer - to use.
--        camera - If null (default), the mesh will be drawn in all cameras. Otherwise it will be rendered in the given Camera only.
--        submeshIndex - Which subset of the mesh to draw. This applies only to meshes that are composed of several materials.
--        properties - Additional material properties to apply onto material just before this mesh will be drawn. See MaterialPropertyBlock.
--        castShadows - Determines whether the mesh can cast shadows.
--        receiveShadows - Determines whether the mesh can receive shadows.
--        useLightProbes - Should the mesh use light probes?
--        probeAnchor - If used, the mesh will use this Transform's position to sample light probes and find the matching reflection probe.
--        lightProbeUsage - LightProbeUsage for the mesh.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows bool
---@param receiveShadows bool
---@param useLightProbes bool
function CS.UnityEngine.Graphics:DrawMesh(mesh, matrix, material, layer, camera, submeshIndex, properties, castShadows, receiveShadows, useLightProbes) end

--
--Draw a mesh.
--
--```plaintext
--Params: mesh - The Mesh to draw.
--        position - Position of the mesh.
--        rotation - Rotation of the mesh.
--        matrix - Transformation matrix of the mesh (combines position, rotation and other transformations).
--        material - Material to use.
--        layer - to use.
--        camera - If null (default), the mesh will be drawn in all cameras. Otherwise it will be rendered in the given Camera only.
--        submeshIndex - Which subset of the mesh to draw. This applies only to meshes that are composed of several materials.
--        properties - Additional material properties to apply onto material just before this mesh will be drawn. See MaterialPropertyBlock.
--        castShadows - Determines whether the mesh can cast shadows.
--        receiveShadows - Determines whether the mesh can receive shadows.
--        useLightProbes - Should the mesh use light probes?
--        probeAnchor - If used, the mesh will use this Transform's position to sample light probes and find the matching reflection probe.
--        lightProbeUsage - LightProbeUsage for the mesh.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param probeAnchor UnityEngine.Transform
---@param lightProbeUsage UnityEngine.Rendering.LightProbeUsage
---@param lightProbeProxyVolume UnityEngine.LightProbeProxyVolume
function CS.UnityEngine.Graphics:DrawMesh(mesh, matrix, material, layer, camera, submeshIndex, properties, castShadows, receiveShadows, probeAnchor, lightProbeUsage, lightProbeProxyVolume) end

--
--Draws the same mesh multiple times using GPU instancing.
--
--```plaintext
--Params: mesh - The Mesh to draw.
--        submeshIndex - Which subset of the mesh to draw. This applies only to meshes that are composed of several materials.
--        material - Material to use.
--        matrices - The array of object transformation matrices.
--        count - The number of instances to be drawn.
--        properties - Additional material properties to apply. See MaterialPropertyBlock.
--        castShadows - Determines whether the Meshes should cast shadows.
--        receiveShadows - Determines whether the Meshes should receive shadows.
--        layer - to use.
--        camera - If null (default), the mesh will be drawn in all cameras. Otherwise it will be drawn in the given Camera only.
--        lightProbeUsage - LightProbeUsage for the instances.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices UnityEngine.Matrix4x4[]
---@param count int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
---@param camera UnityEngine.Camera
---@param lightProbeUsage UnityEngine.Rendering.LightProbeUsage
---@param lightProbeProxyVolume UnityEngine.LightProbeProxyVolume
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices, count, properties, castShadows, receiveShadows, layer, camera, lightProbeUsage, lightProbeProxyVolume) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices System.Collections.Generic.List<UnityEngine.Matrix4x4>
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
---@param camera UnityEngine.Camera
---@param lightProbeUsage UnityEngine.Rendering.LightProbeUsage
---@param lightProbeProxyVolume UnityEngine.LightProbeProxyVolume
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices, properties, castShadows, receiveShadows, layer, camera, lightProbeUsage, lightProbeProxyVolume) end

--
--Draws the same mesh multiple times using GPU instancing.
--This is similar to Graphics.DrawMeshInstancedIndirect, except that when the instance count is known from script, it can be supplied directly using this method, rather than via a ComputeBuffer.
--
--```plaintext
--Params: mesh - The Mesh to draw.
--        submeshIndex - Which subset of the mesh to draw. This applies only to meshes that are composed of several materials.
--        material - Material to use.
--        bounds - The bounding volume surrounding the instances you intend to draw.
--        count - The number of instances to be drawn.
--        properties - Additional material properties to apply. See MaterialPropertyBlock.
--        castShadows - Determines whether the Meshes should cast shadows.
--        receiveShadows - Determines whether the Meshes should receive shadows.
--        layer - to use.
--        camera - If null (default), the mesh will be drawn in all cameras. Otherwise it will be drawn in the given Camera only.
--        lightProbeUsage - LightProbeUsage for the instances.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param bounds UnityEngine.Bounds
---@param count int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
---@param camera UnityEngine.Camera
---@param lightProbeUsage UnityEngine.Rendering.LightProbeUsage
---@param lightProbeProxyVolume UnityEngine.LightProbeProxyVolume
function CS.UnityEngine.Graphics:DrawMeshInstancedProcedural(mesh, submeshIndex, material, bounds, count, properties, castShadows, receiveShadows, layer, camera, lightProbeUsage, lightProbeProxyVolume) end

--
--Draws the same mesh multiple times using GPU instancing.
--
--```plaintext
--Params: mesh - The Mesh to draw.
--        submeshIndex - Which subset of the mesh to draw. This applies only to meshes that are composed of several materials.
--        material - Material to use.
--        bounds - The bounding volume surrounding the instances you intend to draw.
--        bufferWithArgs - The GPU buffer containing the arguments for how many instances of this mesh to draw.
--        argsOffset - The byte offset into the buffer, where the draw arguments start.
--        properties - Additional material properties to apply. See MaterialPropertyBlock.
--        castShadows - Determines whether the mesh can cast shadows.
--        receiveShadows - Determines whether the mesh can receive shadows.
--        layer - to use.
--        camera - If null (default), the mesh will be drawn in all cameras. Otherwise it will be drawn in the given Camera only.
--        lightProbeUsage - LightProbeUsage for the instances.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param bounds UnityEngine.Bounds
---@param bufferWithArgs UnityEngine.ComputeBuffer
---@param argsOffset int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
---@param camera UnityEngine.Camera
---@param lightProbeUsage UnityEngine.Rendering.LightProbeUsage
---@param lightProbeProxyVolume UnityEngine.LightProbeProxyVolume
function CS.UnityEngine.Graphics:DrawMeshInstancedIndirect(mesh, submeshIndex, material, bounds, bufferWithArgs, argsOffset, properties, castShadows, receiveShadows, layer, camera, lightProbeUsage, lightProbeProxyVolume) end

--
--Draws the same mesh multiple times using GPU instancing.
--
--```plaintext
--Params: mesh - The Mesh to draw.
--        submeshIndex - Which subset of the mesh to draw. This applies only to meshes that are composed of several materials.
--        material - Material to use.
--        bounds - The bounding volume surrounding the instances you intend to draw.
--        bufferWithArgs - The GPU buffer containing the arguments for how many instances of this mesh to draw.
--        argsOffset - The byte offset into the buffer, where the draw arguments start.
--        properties - Additional material properties to apply. See MaterialPropertyBlock.
--        castShadows - Determines whether the mesh can cast shadows.
--        receiveShadows - Determines whether the mesh can receive shadows.
--        layer - to use.
--        camera - If null (default), the mesh will be drawn in all cameras. Otherwise it will be drawn in the given Camera only.
--        lightProbeUsage - LightProbeUsage for the instances.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param bounds UnityEngine.Bounds
---@param bufferWithArgs UnityEngine.GraphicsBuffer
---@param argsOffset int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
---@param camera UnityEngine.Camera
---@param lightProbeUsage UnityEngine.Rendering.LightProbeUsage
---@param lightProbeProxyVolume UnityEngine.LightProbeProxyVolume
function CS.UnityEngine.Graphics:DrawMeshInstancedIndirect(mesh, submeshIndex, material, bounds, bufferWithArgs, argsOffset, properties, castShadows, receiveShadows, layer, camera, lightProbeUsage, lightProbeProxyVolume) end

--
--Draws procedural geometry on the GPU.
--
--```plaintext
--Params: topology - Topology of the procedural geometry.
--        vertexCount - Vertex count to render.
--        instanceCount - Instance count to render.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param topology UnityEngine.MeshTopology
---@param vertexCount int
---@param instanceCount int
function CS.UnityEngine.Graphics:DrawProceduralNow(topology, vertexCount, instanceCount) end

--
--Draws procedural geometry on the GPU.
--
--```plaintext
--Params: topology - Topology of the procedural geometry.
--        indexCount - Index count to render.
--        instanceCount - Instance count to render.
--        indexBuffer - Index buffer used to submit vertices to the GPU.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param topology UnityEngine.MeshTopology
---@param indexBuffer UnityEngine.GraphicsBuffer
---@param indexCount int
---@param instanceCount int
function CS.UnityEngine.Graphics:DrawProceduralNow(topology, indexBuffer, indexCount, instanceCount) end

--
--Draws procedural geometry on the GPU.
--
--```plaintext
--Params: topology - Topology of the procedural geometry.
--        bufferWithArgs - Buffer with draw arguments.
--        argsOffset - Byte offset where in the buffer the draw arguments are.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param topology UnityEngine.MeshTopology
---@param bufferWithArgs UnityEngine.ComputeBuffer
---@param argsOffset int
function CS.UnityEngine.Graphics:DrawProceduralIndirectNow(topology, bufferWithArgs, argsOffset) end

--
--Draws procedural geometry on the GPU.
--
--```plaintext
--Params: topology - Topology of the procedural geometry.
--        indexBuffer - Index buffer used to submit vertices to the GPU.
--        bufferWithArgs - Buffer with draw arguments.
--        argsOffset - Byte offset where in the buffer the draw arguments are.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param topology UnityEngine.MeshTopology
---@param indexBuffer UnityEngine.GraphicsBuffer
---@param bufferWithArgs UnityEngine.ComputeBuffer
---@param argsOffset int
function CS.UnityEngine.Graphics:DrawProceduralIndirectNow(topology, indexBuffer, bufferWithArgs, argsOffset) end

--
--Draws procedural geometry on the GPU.
--
--```plaintext
--Params: topology - Topology of the procedural geometry.
--        bufferWithArgs - Buffer with draw arguments.
--        argsOffset - Byte offset where in the buffer the draw arguments are.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param topology UnityEngine.MeshTopology
---@param bufferWithArgs UnityEngine.GraphicsBuffer
---@param argsOffset int
function CS.UnityEngine.Graphics:DrawProceduralIndirectNow(topology, bufferWithArgs, argsOffset) end

--
--Draws procedural geometry on the GPU.
--
--```plaintext
--Params: topology - Topology of the procedural geometry.
--        indexBuffer - Index buffer used to submit vertices to the GPU.
--        bufferWithArgs - Buffer with draw arguments.
--        argsOffset - Byte offset where in the buffer the draw arguments are.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param topology UnityEngine.MeshTopology
---@param indexBuffer UnityEngine.GraphicsBuffer
---@param bufferWithArgs UnityEngine.GraphicsBuffer
---@param argsOffset int
function CS.UnityEngine.Graphics:DrawProceduralIndirectNow(topology, indexBuffer, bufferWithArgs, argsOffset) end

--
--Draws procedural geometry on the GPU.
--
--```plaintext
--Params: material - Material to use.
--        bounds - The bounding volume surrounding the instances you intend to draw.
--        topology - Topology of the procedural geometry.
--        instanceCount - Instance count to render.
--        vertexCount - Vertex count to render.
--        camera - If null (default), the mesh will be drawn in all cameras. Otherwise it will be rendered in the given Camera only.
--        properties - Additional material properties to apply onto material just before this mesh will be drawn. See MaterialPropertyBlock.
--        castShadows - Determines whether the mesh can cast shadows.
--        receiveShadows - Determines whether the mesh can receive shadows.
--        layer - to use.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param material UnityEngine.Material
---@param bounds UnityEngine.Bounds
---@param topology UnityEngine.MeshTopology
---@param vertexCount int
---@param instanceCount int
---@param camera UnityEngine.Camera
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
function CS.UnityEngine.Graphics:DrawProcedural(material, bounds, topology, vertexCount, instanceCount, camera, properties, castShadows, receiveShadows, layer) end

--
--Draws procedural geometry on the GPU.
--
--```plaintext
--Params: material - Material to use.
--        bounds - The bounding volume surrounding the instances you intend to draw.
--        topology - Topology of the procedural geometry.
--        indexBuffer - Index buffer used to submit vertices to the GPU.
--        instanceCount - Instance count to render.
--        indexCount - Index count to render.
--        camera - If null (default), the mesh will be drawn in all cameras. Otherwise it will be rendered in the given Camera only.
--        properties - Additional material properties to apply onto material just before this mesh will be drawn. See MaterialPropertyBlock.
--        castShadows - Determines whether the mesh can cast shadows.
--        receiveShadows - Determines whether the mesh can receive shadows.
--        layer - to use.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param material UnityEngine.Material
---@param bounds UnityEngine.Bounds
---@param topology UnityEngine.MeshTopology
---@param indexBuffer UnityEngine.GraphicsBuffer
---@param indexCount int
---@param instanceCount int
---@param camera UnityEngine.Camera
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
function CS.UnityEngine.Graphics:DrawProcedural(material, bounds, topology, indexBuffer, indexCount, instanceCount, camera, properties, castShadows, receiveShadows, layer) end

--
--Draws procedural geometry on the GPU.
--
--```plaintext
--Params: material - Material to use.
--        bounds - The bounding volume surrounding the instances you intend to draw.
--        topology - Topology of the procedural geometry.
--        camera - If null (default), the mesh will be drawn in all cameras. Otherwise it will be rendered in the given Camera only.
--        bufferWithArgs - Buffer with draw arguments.
--        argsOffset - Byte offset where in the buffer the draw arguments are.
--        properties - Additional material properties to apply onto material just before this mesh will be drawn. See MaterialPropertyBlock.
--        castShadows - Determines whether the mesh can cast shadows.
--        receiveShadows - Determines whether the mesh can receive shadows.
--        layer - to use.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param material UnityEngine.Material
---@param bounds UnityEngine.Bounds
---@param topology UnityEngine.MeshTopology
---@param bufferWithArgs UnityEngine.ComputeBuffer
---@param argsOffset int
---@param camera UnityEngine.Camera
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
function CS.UnityEngine.Graphics:DrawProceduralIndirect(material, bounds, topology, bufferWithArgs, argsOffset, camera, properties, castShadows, receiveShadows, layer) end

--
--Draws procedural geometry on the GPU.
--
--```plaintext
--Params: material - Material to use.
--        bounds - The bounding volume surrounding the instances you intend to draw.
--        topology - Topology of the procedural geometry.
--        indexBuffer - Index buffer used to submit vertices to the GPU.
--        camera - If null (default), the mesh will be drawn in all cameras. Otherwise it will be rendered in the given Camera only.
--        bufferWithArgs - Buffer with draw arguments.
--        argsOffset - Byte offset where in the buffer the draw arguments are.
--        properties - Additional material properties to apply onto material just before this mesh will be drawn. See MaterialPropertyBlock.
--        castShadows - Determines whether the mesh can cast shadows.
--        receiveShadows - Determines whether the mesh can receive shadows.
--        layer - to use.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param material UnityEngine.Material
---@param bounds UnityEngine.Bounds
---@param topology UnityEngine.MeshTopology
---@param indexBuffer UnityEngine.GraphicsBuffer
---@param bufferWithArgs UnityEngine.ComputeBuffer
---@param argsOffset int
---@param camera UnityEngine.Camera
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
function CS.UnityEngine.Graphics:DrawProceduralIndirect(material, bounds, topology, indexBuffer, bufferWithArgs, argsOffset, camera, properties, castShadows, receiveShadows, layer) end

--
--Copies source texture into destination render texture with a shader.
--
--```plaintext
--Params: source - Source texture.
--        dest - The destination RenderTexture. Set this to null to blit directly to screen. See description for more information.
--        mat - Material to use. Material's shader could do some post-processing effect, for example.
--        pass - If -1 (default), draws all passes in the material. Otherwise, draws given pass only.
--        offset - Offset applied to the source texture coordinate.
--        scale - Scale applied to the source texture coordinate.
--        sourceDepthSlice - The texture array source slice to perform the blit from.
--        destDepthSlice - The texture array destination slice to perform the blit to.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param source UnityEngine.Texture
---@param dest UnityEngine.RenderTexture
function CS.UnityEngine.Graphics:Blit(source, dest) end

--
--Copies source texture into destination render texture with a shader.
--
--```plaintext
--Params: source - Source texture.
--        dest - The destination RenderTexture. Set this to null to blit directly to screen. See description for more information.
--        mat - Material to use. Material's shader could do some post-processing effect, for example.
--        pass - If -1 (default), draws all passes in the material. Otherwise, draws given pass only.
--        offset - Offset applied to the source texture coordinate.
--        scale - Scale applied to the source texture coordinate.
--        sourceDepthSlice - The texture array source slice to perform the blit from.
--        destDepthSlice - The texture array destination slice to perform the blit to.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param source UnityEngine.Texture
---@param dest UnityEngine.RenderTexture
---@param sourceDepthSlice int
---@param destDepthSlice int
function CS.UnityEngine.Graphics:Blit(source, dest, sourceDepthSlice, destDepthSlice) end

--
--Copies source texture into destination render texture with a shader.
--
--```plaintext
--Params: source - Source texture.
--        dest - The destination RenderTexture. Set this to null to blit directly to screen. See description for more information.
--        mat - Material to use. Material's shader could do some post-processing effect, for example.
--        pass - If -1 (default), draws all passes in the material. Otherwise, draws given pass only.
--        offset - Offset applied to the source texture coordinate.
--        scale - Scale applied to the source texture coordinate.
--        sourceDepthSlice - The texture array source slice to perform the blit from.
--        destDepthSlice - The texture array destination slice to perform the blit to.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param source UnityEngine.Texture
---@param dest UnityEngine.RenderTexture
---@param scale UnityEngine.Vector2
---@param offset UnityEngine.Vector2
function CS.UnityEngine.Graphics:Blit(source, dest, scale, offset) end

--
--Copies source texture into destination render texture with a shader.
--
--```plaintext
--Params: source - Source texture.
--        dest - The destination RenderTexture. Set this to null to blit directly to screen. See description for more information.
--        mat - Material to use. Material's shader could do some post-processing effect, for example.
--        pass - If -1 (default), draws all passes in the material. Otherwise, draws given pass only.
--        offset - Offset applied to the source texture coordinate.
--        scale - Scale applied to the source texture coordinate.
--        sourceDepthSlice - The texture array source slice to perform the blit from.
--        destDepthSlice - The texture array destination slice to perform the blit to.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param source UnityEngine.Texture
---@param dest UnityEngine.RenderTexture
---@param scale UnityEngine.Vector2
---@param offset UnityEngine.Vector2
---@param sourceDepthSlice int
---@param destDepthSlice int
function CS.UnityEngine.Graphics:Blit(source, dest, scale, offset, sourceDepthSlice, destDepthSlice) end

--
--Copies source texture into destination render texture with a shader.
--
--```plaintext
--Params: source - Source texture.
--        dest - The destination RenderTexture. Set this to null to blit directly to screen. See description for more information.
--        mat - Material to use. Material's shader could do some post-processing effect, for example.
--        pass - If -1 (default), draws all passes in the material. Otherwise, draws given pass only.
--        offset - Offset applied to the source texture coordinate.
--        scale - Scale applied to the source texture coordinate.
--        sourceDepthSlice - The texture array source slice to perform the blit from.
--        destDepthSlice - The texture array destination slice to perform the blit to.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param source UnityEngine.Texture
---@param dest UnityEngine.RenderTexture
---@param mat UnityEngine.Material
---@param pass int
function CS.UnityEngine.Graphics:Blit(source, dest, mat, pass) end

---@source UnityEngine.CoreModule.dll
---@param source UnityEngine.Texture
---@param dest UnityEngine.RenderTexture
---@param mat UnityEngine.Material
---@param pass int
---@param destDepthSlice int
function CS.UnityEngine.Graphics:Blit(source, dest, mat, pass, destDepthSlice) end

---@source UnityEngine.CoreModule.dll
---@param source UnityEngine.Texture
---@param dest UnityEngine.RenderTexture
---@param mat UnityEngine.Material
function CS.UnityEngine.Graphics:Blit(source, dest, mat) end

--
--Copies source texture into destination render texture with a shader.
--
--```plaintext
--Params: source - Source texture.
--        dest - The destination RenderTexture. Set this to null to blit directly to screen. See description for more information.
--        mat - Material to use. Material's shader could do some post-processing effect, for example.
--        pass - If -1 (default), draws all passes in the material. Otherwise, draws given pass only.
--        offset - Offset applied to the source texture coordinate.
--        scale - Scale applied to the source texture coordinate.
--        sourceDepthSlice - The texture array source slice to perform the blit from.
--        destDepthSlice - The texture array destination slice to perform the blit to.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param source UnityEngine.Texture
---@param mat UnityEngine.Material
---@param pass int
function CS.UnityEngine.Graphics:Blit(source, mat, pass) end

--
--Copies source texture into destination render texture with a shader.
--
--```plaintext
--Params: source - Source texture.
--        dest - The destination RenderTexture. Set this to null to blit directly to screen. See description for more information.
--        mat - Material to use. Material's shader could do some post-processing effect, for example.
--        pass - If -1 (default), draws all passes in the material. Otherwise, draws given pass only.
--        offset - Offset applied to the source texture coordinate.
--        scale - Scale applied to the source texture coordinate.
--        sourceDepthSlice - The texture array source slice to perform the blit from.
--        destDepthSlice - The texture array destination slice to perform the blit to.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param source UnityEngine.Texture
---@param mat UnityEngine.Material
---@param pass int
---@param destDepthSlice int
function CS.UnityEngine.Graphics:Blit(source, mat, pass, destDepthSlice) end

---@source UnityEngine.CoreModule.dll
---@param source UnityEngine.Texture
---@param mat UnityEngine.Material
function CS.UnityEngine.Graphics:Blit(source, mat) end

--
--Copies source texture into destination, for multi-tap shader.
--
--```plaintext
--Params: source - Source texture.
--        dest - Destination RenderTexture, or null to blit directly to screen.
--        mat - Material to use for copying. Material's shader should do some post-processing effect.
--        offsets - Variable number of filtering offsets. Offsets are given in pixels.
--        destDepthSlice - The texture array destination slice to blit to.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param source UnityEngine.Texture
---@param dest UnityEngine.RenderTexture
---@param mat UnityEngine.Material
---@param offsets UnityEngine.Vector2[]
function CS.UnityEngine.Graphics:BlitMultiTap(source, dest, mat, offsets) end

--
--Copies source texture into destination, for multi-tap shader.
--
--```plaintext
--Params: source - Source texture.
--        dest - Destination RenderTexture, or null to blit directly to screen.
--        mat - Material to use for copying. Material's shader should do some post-processing effect.
--        offsets - Variable number of filtering offsets. Offsets are given in pixels.
--        destDepthSlice - The texture array destination slice to blit to.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param source UnityEngine.Texture
---@param dest UnityEngine.RenderTexture
---@param mat UnityEngine.Material
---@param destDepthSlice int
---@param offsets UnityEngine.Vector2[]
function CS.UnityEngine.Graphics:BlitMultiTap(source, dest, mat, destDepthSlice, offsets) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
function CS.UnityEngine.Graphics:DrawMesh(mesh, position, rotation) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param materialIndex int
function CS.UnityEngine.Graphics:DrawMesh(mesh, position, rotation, materialIndex) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
function CS.UnityEngine.Graphics:DrawMesh(mesh, matrix) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
---@param materialIndex int
function CS.UnityEngine.Graphics:DrawMesh(mesh, matrix, materialIndex) end

---@source UnityEngine.CoreModule.dll
---@param topology UnityEngine.MeshTopology
---@param vertexCount int
---@param instanceCount int
function CS.UnityEngine.Graphics:DrawProcedural(topology, vertexCount, instanceCount) end

---@source UnityEngine.CoreModule.dll
---@param topology UnityEngine.MeshTopology
---@param bufferWithArgs UnityEngine.ComputeBuffer
---@param argsOffset int
function CS.UnityEngine.Graphics:DrawProceduralIndirect(topology, bufferWithArgs, argsOffset) end

--
--This functionality is deprecated, and should no longer be used. Please use Graphics.CreateGraphicsFence.
--
---@source UnityEngine.CoreModule.dll
---@param stage UnityEngine.Rendering.SynchronisationStage
---@return GPUFence
function CS.UnityEngine.Graphics:CreateGPUFence(stage) end

--
--This functionality is deprecated, and should no longer be used. Please use Graphics.WaitOnAsyncGraphicsFence.
--
---@source UnityEngine.CoreModule.dll
---@param fence UnityEngine.Rendering.GPUFence
---@param stage UnityEngine.Rendering.SynchronisationStage
function CS.UnityEngine.Graphics:WaitOnGPUFence(fence, stage) end

---@source UnityEngine.CoreModule.dll
---@return GPUFence
function CS.UnityEngine.Graphics:CreateGPUFence() end

---@source UnityEngine.CoreModule.dll
---@param fence UnityEngine.Rendering.GPUFence
function CS.UnityEngine.Graphics:WaitOnGPUFence(fence) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param material UnityEngine.Material
---@param layer int
function CS.UnityEngine.Graphics:DrawMesh(mesh, position, rotation, material, layer) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
function CS.UnityEngine.Graphics:DrawMesh(mesh, position, rotation, material, layer, camera) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
function CS.UnityEngine.Graphics:DrawMesh(mesh, position, rotation, material, layer, camera, submeshIndex) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
function CS.UnityEngine.Graphics:DrawMesh(mesh, position, rotation, material, layer, camera, submeshIndex, properties) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows bool
function CS.UnityEngine.Graphics:DrawMesh(mesh, position, rotation, material, layer, camera, submeshIndex, properties, castShadows) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows bool
---@param receiveShadows bool
function CS.UnityEngine.Graphics:DrawMesh(mesh, position, rotation, material, layer, camera, submeshIndex, properties, castShadows, receiveShadows) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
function CS.UnityEngine.Graphics:DrawMesh(mesh, position, rotation, material, layer, camera, submeshIndex, properties, castShadows) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
function CS.UnityEngine.Graphics:DrawMesh(mesh, position, rotation, material, layer, camera, submeshIndex, properties, castShadows, receiveShadows) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param probeAnchor UnityEngine.Transform
function CS.UnityEngine.Graphics:DrawMesh(mesh, position, rotation, material, layer, camera, submeshIndex, properties, castShadows, receiveShadows, probeAnchor) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
---@param material UnityEngine.Material
---@param layer int
function CS.UnityEngine.Graphics:DrawMesh(mesh, matrix, material, layer) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
function CS.UnityEngine.Graphics:DrawMesh(mesh, matrix, material, layer, camera) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
function CS.UnityEngine.Graphics:DrawMesh(mesh, matrix, material, layer, camera, submeshIndex) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
function CS.UnityEngine.Graphics:DrawMesh(mesh, matrix, material, layer, camera, submeshIndex, properties) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows bool
function CS.UnityEngine.Graphics:DrawMesh(mesh, matrix, material, layer, camera, submeshIndex, properties, castShadows) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows bool
---@param receiveShadows bool
function CS.UnityEngine.Graphics:DrawMesh(mesh, matrix, material, layer, camera, submeshIndex, properties, castShadows, receiveShadows) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
function CS.UnityEngine.Graphics:DrawMesh(mesh, matrix, material, layer, camera, submeshIndex, properties, castShadows) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
function CS.UnityEngine.Graphics:DrawMesh(mesh, matrix, material, layer, camera, submeshIndex, properties, castShadows, receiveShadows) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param probeAnchor UnityEngine.Transform
function CS.UnityEngine.Graphics:DrawMesh(mesh, matrix, material, layer, camera, submeshIndex, properties, castShadows, receiveShadows, probeAnchor) end

--
--Draw a mesh.
--
--```plaintext
--Params: mesh - The Mesh to draw.
--        position - Position of the mesh.
--        rotation - Rotation of the mesh.
--        matrix - Transformation matrix of the mesh (combines position, rotation and other transformations).
--        material - Material to use.
--        layer - to use.
--        camera - If null (default), the mesh will be drawn in all cameras. Otherwise it will be rendered in the given Camera only.
--        submeshIndex - Which subset of the mesh to draw. This applies only to meshes that are composed of several materials.
--        properties - Additional material properties to apply onto material just before this mesh will be drawn. See MaterialPropertyBlock.
--        castShadows - Determines whether the mesh can cast shadows.
--        receiveShadows - Determines whether the mesh can receive shadows.
--        useLightProbes - Should the mesh use light probes?
--        probeAnchor - If used, the mesh will use this Transform's position to sample light probes and find the matching reflection probe.
--        lightProbeUsage - LightProbeUsage for the mesh.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param probeAnchor UnityEngine.Transform
---@param useLightProbes bool
function CS.UnityEngine.Graphics:DrawMesh(mesh, matrix, material, layer, camera, submeshIndex, properties, castShadows, receiveShadows, probeAnchor, useLightProbes) end

--
--Draw a mesh.
--
--```plaintext
--Params: mesh - The Mesh to draw.
--        position - Position of the mesh.
--        rotation - Rotation of the mesh.
--        matrix - Transformation matrix of the mesh (combines position, rotation and other transformations).
--        material - Material to use.
--        layer - to use.
--        camera - If null (default), the mesh will be drawn in all cameras. Otherwise it will be rendered in the given Camera only.
--        submeshIndex - Which subset of the mesh to draw. This applies only to meshes that are composed of several materials.
--        properties - Additional material properties to apply onto material just before this mesh will be drawn. See MaterialPropertyBlock.
--        castShadows - Determines whether the mesh can cast shadows.
--        receiveShadows - Determines whether the mesh can receive shadows.
--        useLightProbes - Should the mesh use light probes?
--        probeAnchor - If used, the mesh will use this Transform's position to sample light probes and find the matching reflection probe.
--        lightProbeUsage - LightProbeUsage for the mesh.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param matrix UnityEngine.Matrix4x4
---@param material UnityEngine.Material
---@param layer int
---@param camera UnityEngine.Camera
---@param submeshIndex int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param probeAnchor UnityEngine.Transform
---@param lightProbeUsage UnityEngine.Rendering.LightProbeUsage
function CS.UnityEngine.Graphics:DrawMesh(mesh, matrix, material, layer, camera, submeshIndex, properties, castShadows, receiveShadows, probeAnchor, lightProbeUsage) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices UnityEngine.Matrix4x4[]
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices UnityEngine.Matrix4x4[]
---@param count int
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices, count) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices UnityEngine.Matrix4x4[]
---@param count int
---@param properties UnityEngine.MaterialPropertyBlock
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices, count, properties) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices UnityEngine.Matrix4x4[]
---@param count int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices, count, properties, castShadows) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices UnityEngine.Matrix4x4[]
---@param count int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices, count, properties, castShadows, receiveShadows) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices UnityEngine.Matrix4x4[]
---@param count int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices, count, properties, castShadows, receiveShadows, layer) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices UnityEngine.Matrix4x4[]
---@param count int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
---@param camera UnityEngine.Camera
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices, count, properties, castShadows, receiveShadows, layer, camera) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices UnityEngine.Matrix4x4[]
---@param count int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
---@param camera UnityEngine.Camera
---@param lightProbeUsage UnityEngine.Rendering.LightProbeUsage
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices, count, properties, castShadows, receiveShadows, layer, camera, lightProbeUsage) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices System.Collections.Generic.List<UnityEngine.Matrix4x4>
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices System.Collections.Generic.List<UnityEngine.Matrix4x4>
---@param properties UnityEngine.MaterialPropertyBlock
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices, properties) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices System.Collections.Generic.List<UnityEngine.Matrix4x4>
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices, properties, castShadows) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices System.Collections.Generic.List<UnityEngine.Matrix4x4>
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices, properties, castShadows, receiveShadows) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices System.Collections.Generic.List<UnityEngine.Matrix4x4>
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices, properties, castShadows, receiveShadows, layer) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices System.Collections.Generic.List<UnityEngine.Matrix4x4>
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
---@param camera UnityEngine.Camera
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices, properties, castShadows, receiveShadows, layer, camera) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param matrices System.Collections.Generic.List<UnityEngine.Matrix4x4>
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
---@param camera UnityEngine.Camera
---@param lightProbeUsage UnityEngine.Rendering.LightProbeUsage
function CS.UnityEngine.Graphics:DrawMeshInstanced(mesh, submeshIndex, material, matrices, properties, castShadows, receiveShadows, layer, camera, lightProbeUsage) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param bounds UnityEngine.Bounds
---@param bufferWithArgs UnityEngine.ComputeBuffer
---@param argsOffset int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
---@param camera UnityEngine.Camera
---@param lightProbeUsage UnityEngine.Rendering.LightProbeUsage
function CS.UnityEngine.Graphics:DrawMeshInstancedIndirect(mesh, submeshIndex, material, bounds, bufferWithArgs, argsOffset, properties, castShadows, receiveShadows, layer, camera, lightProbeUsage) end

---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param submeshIndex int
---@param material UnityEngine.Material
---@param bounds UnityEngine.Bounds
---@param bufferWithArgs UnityEngine.GraphicsBuffer
---@param argsOffset int
---@param properties UnityEngine.MaterialPropertyBlock
---@param castShadows UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows bool
---@param layer int
---@param camera UnityEngine.Camera
---@param lightProbeUsage UnityEngine.Rendering.LightProbeUsage
function CS.UnityEngine.Graphics:DrawMeshInstancedIndirect(mesh, submeshIndex, material, bounds, bufferWithArgs, argsOffset, properties, castShadows, receiveShadows, layer, camera, lightProbeUsage) end

--
--Draw a texture in screen coordinates.
--
--```plaintext
--Params: screenRect - Rectangle on the screen to use for the texture. In pixel coordinates with (0,0) in the upper-left corner.
--        texture - Texture to draw.
--        sourceRect - Region of the texture to use. In normalized coordinates with (0,0) in the bottom-left corner.
--        leftBorder - Number of pixels from the left that are not affected by scale.
--        rightBorder - Number of pixels from the right that are not affected by scale.
--        topBorder - Number of pixels from the top that are not affected by scale.
--        bottomBorder - Number of pixels from the bottom that are not affected by scale.
--        color - Color that modulates the output. The neutral value is (0.5, 0.5, 0.5, 0.5). Set as vertex color for the shader.
--        mat - Custom Material that can be used to draw the texture. If null is passed, a default material with the Internal-GUITexture.shader is used.
--        pass - If -1 (default), draws all passes in the material. Otherwise, draws given pass only.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param screenRect UnityEngine.Rect
---@param texture UnityEngine.Texture
---@param sourceRect UnityEngine.Rect
---@param leftBorder int
---@param rightBorder int
---@param topBorder int
---@param bottomBorder int
---@param color UnityEngine.Color
---@param mat UnityEngine.Material
function CS.UnityEngine.Graphics:DrawTexture(screenRect, texture, sourceRect, leftBorder, rightBorder, topBorder, bottomBorder, color, mat) end

---@source UnityEngine.CoreModule.dll
---@param screenRect UnityEngine.Rect
---@param texture UnityEngine.Texture
---@param sourceRect UnityEngine.Rect
---@param leftBorder int
---@param rightBorder int
---@param topBorder int
---@param bottomBorder int
---@param color UnityEngine.Color
function CS.UnityEngine.Graphics:DrawTexture(screenRect, texture, sourceRect, leftBorder, rightBorder, topBorder, bottomBorder, color) end

--
--Draw a texture in screen coordinates.
--
--```plaintext
--Params: screenRect - Rectangle on the screen to use for the texture. In pixel coordinates with (0,0) in the upper-left corner.
--        texture - Texture to draw.
--        sourceRect - Region of the texture to use. In normalized coordinates with (0,0) in the bottom-left corner.
--        leftBorder - Number of pixels from the left that are not affected by scale.
--        rightBorder - Number of pixels from the right that are not affected by scale.
--        topBorder - Number of pixels from the top that are not affected by scale.
--        bottomBorder - Number of pixels from the bottom that are not affected by scale.
--        color - Color that modulates the output. The neutral value is (0.5, 0.5, 0.5, 0.5). Set as vertex color for the shader.
--        mat - Custom Material that can be used to draw the texture. If null is passed, a default material with the Internal-GUITexture.shader is used.
--        pass - If -1 (default), draws all passes in the material. Otherwise, draws given pass only.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param screenRect UnityEngine.Rect
---@param texture UnityEngine.Texture
---@param sourceRect UnityEngine.Rect
---@param leftBorder int
---@param rightBorder int
---@param topBorder int
---@param bottomBorder int
---@param mat UnityEngine.Material
function CS.UnityEngine.Graphics:DrawTexture(screenRect, texture, sourceRect, leftBorder, rightBorder, topBorder, bottomBorder, mat) end

---@source UnityEngine.CoreModule.dll
---@param screenRect UnityEngine.Rect
---@param texture UnityEngine.Texture
---@param sourceRect UnityEngine.Rect
---@param leftBorder int
---@param rightBorder int
---@param topBorder int
---@param bottomBorder int
function CS.UnityEngine.Graphics:DrawTexture(screenRect, texture, sourceRect, leftBorder, rightBorder, topBorder, bottomBorder) end

--
--Draw a texture in screen coordinates.
--
--```plaintext
--Params: screenRect - Rectangle on the screen to use for the texture. In pixel coordinates with (0,0) in the upper-left corner.
--        texture - Texture to draw.
--        sourceRect - Region of the texture to use. In normalized coordinates with (0,0) in the bottom-left corner.
--        leftBorder - Number of pixels from the left that are not affected by scale.
--        rightBorder - Number of pixels from the right that are not affected by scale.
--        topBorder - Number of pixels from the top that are not affected by scale.
--        bottomBorder - Number of pixels from the bottom that are not affected by scale.
--        color - Color that modulates the output. The neutral value is (0.5, 0.5, 0.5, 0.5). Set as vertex color for the shader.
--        mat - Custom Material that can be used to draw the texture. If null is passed, a default material with the Internal-GUITexture.shader is used.
--        pass - If -1 (default), draws all passes in the material. Otherwise, draws given pass only.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param screenRect UnityEngine.Rect
---@param texture UnityEngine.Texture
---@param leftBorder int
---@param rightBorder int
---@param topBorder int
---@param bottomBorder int
---@param mat UnityEngine.Material
function CS.UnityEngine.Graphics:DrawTexture(screenRect, texture, leftBorder, rightBorder, topBorder, bottomBorder, mat) end

---@source UnityEngine.CoreModule.dll
---@param screenRect UnityEngine.Rect
---@param texture UnityEngine.Texture
---@param leftBorder int
---@param rightBorder int
---@param topBorder int
---@param bottomBorder int
function CS.UnityEngine.Graphics:DrawTexture(screenRect, texture, leftBorder, rightBorder, topBorder, bottomBorder) end

--
--Draw a texture in screen coordinates.
--
--```plaintext
--Params: screenRect - Rectangle on the screen to use for the texture. In pixel coordinates with (0,0) in the upper-left corner.
--        texture - Texture to draw.
--        sourceRect - Region of the texture to use. In normalized coordinates with (0,0) in the bottom-left corner.
--        leftBorder - Number of pixels from the left that are not affected by scale.
--        rightBorder - Number of pixels from the right that are not affected by scale.
--        topBorder - Number of pixels from the top that are not affected by scale.
--        bottomBorder - Number of pixels from the bottom that are not affected by scale.
--        color - Color that modulates the output. The neutral value is (0.5, 0.5, 0.5, 0.5). Set as vertex color for the shader.
--        mat - Custom Material that can be used to draw the texture. If null is passed, a default material with the Internal-GUITexture.shader is used.
--        pass - If -1 (default), draws all passes in the material. Otherwise, draws given pass only.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param screenRect UnityEngine.Rect
---@param texture UnityEngine.Texture
---@param mat UnityEngine.Material
function CS.UnityEngine.Graphics:DrawTexture(screenRect, texture, mat) end

---@source UnityEngine.CoreModule.dll
---@param screenRect UnityEngine.Rect
---@param texture UnityEngine.Texture
function CS.UnityEngine.Graphics:DrawTexture(screenRect, texture) end

---@source UnityEngine.CoreModule.dll
---@param rt UnityEngine.RenderTexture
function CS.UnityEngine.Graphics:SetRenderTarget(rt) end

---@source UnityEngine.CoreModule.dll
---@param rt UnityEngine.RenderTexture
---@param mipLevel int
function CS.UnityEngine.Graphics:SetRenderTarget(rt, mipLevel) end

---@source UnityEngine.CoreModule.dll
---@param rt UnityEngine.RenderTexture
---@param mipLevel int
---@param face UnityEngine.CubemapFace
function CS.UnityEngine.Graphics:SetRenderTarget(rt, mipLevel, face) end

---@source UnityEngine.CoreModule.dll
---@param colorBuffer UnityEngine.RenderBuffer
---@param depthBuffer UnityEngine.RenderBuffer
function CS.UnityEngine.Graphics:SetRenderTarget(colorBuffer, depthBuffer) end

---@source UnityEngine.CoreModule.dll
---@param colorBuffer UnityEngine.RenderBuffer
---@param depthBuffer UnityEngine.RenderBuffer
---@param mipLevel int
function CS.UnityEngine.Graphics:SetRenderTarget(colorBuffer, depthBuffer, mipLevel) end

---@source UnityEngine.CoreModule.dll
---@param colorBuffer UnityEngine.RenderBuffer
---@param depthBuffer UnityEngine.RenderBuffer
---@param mipLevel int
---@param face UnityEngine.CubemapFace
function CS.UnityEngine.Graphics:SetRenderTarget(colorBuffer, depthBuffer, mipLevel, face) end

---@source UnityEngine.CoreModule.dll
---@param index int
---@param uav UnityEngine.ComputeBuffer
function CS.UnityEngine.Graphics:SetRandomWriteTarget(index, uav) end

---@source UnityEngine.CoreModule.dll
---@param index int
---@param uav UnityEngine.GraphicsBuffer
function CS.UnityEngine.Graphics:SetRandomWriteTarget(index, uav) end


--
--Low-level graphics library.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.GL: object
--
--Mode for Begin: draw triangles.
--
---@source UnityEngine.CoreModule.dll
---@field TRIANGLES int
--
--Mode for Begin: draw triangle strip.
--
---@source UnityEngine.CoreModule.dll
---@field TRIANGLE_STRIP int
--
--Mode for Begin: draw quads.
--
---@source UnityEngine.CoreModule.dll
---@field QUADS int
--
--Mode for Begin: draw lines.
--
---@source UnityEngine.CoreModule.dll
---@field LINES int
--
--Mode for Begin: draw line strip.
--
---@source UnityEngine.CoreModule.dll
---@field LINE_STRIP int
--
--Should rendering be done in wireframe?
--
---@source UnityEngine.CoreModule.dll
---@field wireframe bool
--
--Controls whether Linear-to-sRGB color conversion is performed while rendering.
--
---@source UnityEngine.CoreModule.dll
---@field sRGBWrite bool
--
--Select whether to invert the backface culling (true) or not (false).
--
---@source UnityEngine.CoreModule.dll
---@field invertCulling bool
--
--Gets or sets the modelview matrix.
--
---@source UnityEngine.CoreModule.dll
---@field modelview UnityEngine.Matrix4x4
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.GL = {}

--
--Submit a vertex.
--
---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param z float
function CS.UnityEngine.GL:Vertex3(x, y, z) end

--
--Submit a vertex.
--
---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector3
function CS.UnityEngine.GL:Vertex(v) end

--
--Sets current texture coordinate (x,y,z) for all texture units.
--
---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param z float
function CS.UnityEngine.GL:TexCoord3(x, y, z) end

--
--Sets current texture coordinate (v.x,v.y,v.z) for all texture units.
--
---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector3
function CS.UnityEngine.GL:TexCoord(v) end

--
--Sets current texture coordinate (x,y) for all texture units.
--
---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
function CS.UnityEngine.GL:TexCoord2(x, y) end

--
--Sets current texture coordinate (x,y,z) to the actual texture unit.
--
---@source UnityEngine.CoreModule.dll
---@param unit int
---@param x float
---@param y float
---@param z float
function CS.UnityEngine.GL:MultiTexCoord3(unit, x, y, z) end

--
--Sets current texture coordinate (v.x,v.y,v.z) to the actual texture unit.
--
---@source UnityEngine.CoreModule.dll
---@param unit int
---@param v UnityEngine.Vector3
function CS.UnityEngine.GL:MultiTexCoord(unit, v) end

--
--Sets current texture coordinate (x,y) for the actual texture unit.
--
---@source UnityEngine.CoreModule.dll
---@param unit int
---@param x float
---@param y float
function CS.UnityEngine.GL:MultiTexCoord2(unit, x, y) end

--
--Sets current vertex color.
--
---@source UnityEngine.CoreModule.dll
---@param c UnityEngine.Color
function CS.UnityEngine.GL:Color(c) end

--
--Sends queued-up commands in the driver's command buffer to the GPU.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.GL:Flush() end

--
--Resolves the render target for subsequent operations sampling from it.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.GL:RenderTargetBarrier() end

--
--Sets the current model matrix to the one specified.
--
---@source UnityEngine.CoreModule.dll
---@param m UnityEngine.Matrix4x4
function CS.UnityEngine.GL:MultMatrix(m) end

--
--Send a user-defined event to a native code plugin.
--
--```plaintext
--Params: eventID - User defined id to send to the callback.
--        callback - Native code callback to queue for Unity's renderer to invoke.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param eventID int
function CS.UnityEngine.GL:IssuePluginEvent(eventID) end

---@source UnityEngine.CoreModule.dll
---@param revertBackFaces bool
function CS.UnityEngine.GL:SetRevertBackfacing(revertBackFaces) end

--
--Saves the model, view and projection matrices to the top of the matrix stack.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.GL:PushMatrix() end

--
--Restores the model, view and projection matrices off the top of the matrix stack.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.GL:PopMatrix() end

--
--Load an identity into the current model and view matrices.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.GL:LoadIdentity() end

--
--Helper function to set up an orthograhic projection.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.GL:LoadOrtho() end

--
--Setup a matrix for pixel-correct rendering.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.GL:LoadPixelMatrix() end

--
--Load an arbitrary matrix to the current projection matrix.
--
---@source UnityEngine.CoreModule.dll
---@param mat UnityEngine.Matrix4x4
function CS.UnityEngine.GL:LoadProjectionMatrix(mat) end

--
--Invalidate the internally cached render state.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.GL:InvalidateState() end

--
--Adjusted projection matrix for the current graphics API.
--
--```plaintext
--Params: proj - Source projection matrix.
--        renderIntoTexture - Will this projection be used for rendering into a RenderTexture?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param proj UnityEngine.Matrix4x4
---@param renderIntoTexture bool
---@return Matrix4x4
function CS.UnityEngine.GL:GetGPUProjectionMatrix(proj, renderIntoTexture) end

--
--Setup a matrix for pixel-correct rendering.
--
---@source UnityEngine.CoreModule.dll
---@param left float
---@param right float
---@param bottom float
---@param top float
function CS.UnityEngine.GL:LoadPixelMatrix(left, right, bottom, top) end

--
--Send a user-defined event to a native code plugin.
--
--```plaintext
--Params: eventID - User defined id to send to the callback.
--        callback - Native code callback to queue for Unity's renderer to invoke.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param callback System.IntPtr
---@param eventID int
function CS.UnityEngine.GL:IssuePluginEvent(callback, eventID) end

--
--Begin drawing 3D primitives.
--
--```plaintext
--Params: mode - Primitives to draw: can be TRIANGLES, TRIANGLE_STRIP, QUADS or LINES.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mode int
function CS.UnityEngine.GL:Begin(mode) end

--
--End drawing 3D primitives.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.GL:End() end

--
--Clear the current render buffer.
--
--```plaintext
--Params: clearDepth - Should the depth buffer be cleared?
--        clearColor - Should the color buffer be cleared?
--        backgroundColor - The color to clear with, used only if clearColor is true.
--        depth - The depth to clear the z-buffer with, used only if clearDepth is true. The valid
--range is from 0 (near plane) to 1 (far plane). The value is graphics API agnostic: the abstraction layer will convert
--the value to match the convention of the current graphics API.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param clearDepth bool
---@param clearColor bool
---@param backgroundColor UnityEngine.Color
---@param depth float
function CS.UnityEngine.GL:Clear(clearDepth, clearColor, backgroundColor, depth) end

---@source UnityEngine.CoreModule.dll
---@param clearDepth bool
---@param clearColor bool
---@param backgroundColor UnityEngine.Color
function CS.UnityEngine.GL:Clear(clearDepth, clearColor, backgroundColor) end

--
--Set the rendering viewport.
--
---@source UnityEngine.CoreModule.dll
---@param pixelRect UnityEngine.Rect
function CS.UnityEngine.GL:Viewport(pixelRect) end

--
--Clear the current render buffer with camera's skybox.
--
--```plaintext
--Params: clearDepth - Should the depth buffer be cleared?
--        camera - Camera to get projection parameters and skybox from.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param clearDepth bool
---@param camera UnityEngine.Camera
function CS.UnityEngine.GL:ClearWithSkybox(clearDepth, camera) end


--
--Scales render textures to support dynamic resolution if the target platform/graphics API supports it.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ScalableBufferManager: object
--
--Width scale factor to control dynamic resolution.
--
---@source UnityEngine.CoreModule.dll
---@field widthScaleFactor float
--
--Height scale factor to control dynamic resolution.
--
---@source UnityEngine.CoreModule.dll
---@field heightScaleFactor float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ScalableBufferManager = {}

--
--Function to resize all buffers marked as DynamicallyScalable.
--
--```plaintext
--Params: widthScale - New scale factor for the width the ScalableBufferManager will use to resize all render textures the user marked as DynamicallyScalable, has to be some value greater than 0.0 and less than or equal to 1.0.
--        heightScale - New scale factor for the height the ScalableBufferManager will use to resize all render textures the user marked as DynamicallyScalable, has to be some value greater than 0.0 and less than or equal to 1.0.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param widthScale float
---@param heightScale float
function CS.UnityEngine.ScalableBufferManager:ResizeBuffers(widthScale, heightScale) end


--
--Struct containing basic FrameTimings and accompanying relevant data.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.FrameTiming: System.ValueType
--
--This is the CPU clock time at the point Present was called for the current frame.
--
---@source UnityEngine.CoreModule.dll
---@field cpuTimePresentCalled ulong
--
--The CPU time for a given frame, in ms.
--
---@source UnityEngine.CoreModule.dll
---@field cpuFrameTime double
--
--This is the CPU clock time at the point GPU finished rendering the frame and interrupted the CPU.
--
---@source UnityEngine.CoreModule.dll
---@field cpuTimeFrameComplete ulong
--
--The GPU time for a given frame, in ms.
--
---@source UnityEngine.CoreModule.dll
---@field gpuFrameTime double
--
--This was the height scale factor of the Dynamic Resolution system(if used) for the given frame and the linked frame timings.
--
---@source UnityEngine.CoreModule.dll
---@field heightScale float
--
--This was the width scale factor of the Dynamic Resolution system(if used) for the given frame and the linked frame timings.
--
---@source UnityEngine.CoreModule.dll
---@field widthScale float
--
--This was the vsync mode for the given frame and the linked frame timings.
--
---@source UnityEngine.CoreModule.dll
---@field syncInterval uint
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.FrameTiming = {}


--
--The FrameTimingManager allows the user to capture and access FrameTiming data for multple frames.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.FrameTimingManager: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.FrameTimingManager = {}

--
--This function triggers the FrameTimingManager to capture a snapshot of FrameTiming's data, that can then be accessed by the user.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.FrameTimingManager:CaptureFrameTimings() end

--
--Returns the number of FrameTimings it actually was able to get. This will always be equal to or less than the requested numFrames depending on availability of captured FrameTimings.
--
--```plaintext
--Params: numFrames - User supplies a desired number of frames they would like FrameTimings for. This should be equal to or less than the maximum FrameTimings the platform can capture.
--        timings - An array of FrameTiming structs that is passed in by the user and will be filled with data as requested. It is the users job to make sure the array that is passed is large enough to hold the requested number of FrameTimings.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param numFrames uint
---@param timings UnityEngine.FrameTiming[]
---@return UInt32
function CS.UnityEngine.FrameTimingManager:GetLatestTimings(numFrames, timings) end

--
--Number of vsyncs per second of the current platform.
--
---@source UnityEngine.CoreModule.dll
---@return Single
function CS.UnityEngine.FrameTimingManager:GetVSyncsPerSecond() end

--
--GPU timer frequency for current platform.
--
---@source UnityEngine.CoreModule.dll
---@return UInt64
function CS.UnityEngine.FrameTimingManager:GetGpuTimerFrequency() end

--
--CPU timer frequency for current platform.
--
---@source UnityEngine.CoreModule.dll
---@return UInt64
function CS.UnityEngine.FrameTimingManager:GetCpuTimerFrequency() end


--
--Data of a lightmap.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LightmapData: object
---@source UnityEngine.CoreModule.dll
---@field lightmapLight UnityEngine.Texture2D
--
--Lightmap storing color of incoming light.
--
---@source UnityEngine.CoreModule.dll
---@field lightmapColor UnityEngine.Texture2D
--
--Lightmap storing dominant direction of incoming light.
--
---@source UnityEngine.CoreModule.dll
---@field lightmapDir UnityEngine.Texture2D
--
--Texture storing occlusion mask per light (ShadowMask, up to four lights).
--
---@source UnityEngine.CoreModule.dll
---@field shadowMask UnityEngine.Texture2D
---@source UnityEngine.CoreModule.dll
---@field lightmap UnityEngine.Texture2D
---@source UnityEngine.CoreModule.dll
---@field lightmapFar UnityEngine.Texture2D
---@source UnityEngine.CoreModule.dll
---@field lightmapNear UnityEngine.Texture2D
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LightmapData = {}


--
--Stores lightmaps of the Scene.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LightmapSettings: UnityEngine.Object
--
--Lightmap array.
--
---@source UnityEngine.CoreModule.dll
---@field lightmaps UnityEngine.LightmapData[]
--
--NonDirectional or CombinedDirectional Specular lightmaps rendering mode.
--
---@source UnityEngine.CoreModule.dll
---@field lightmapsMode UnityEngine.LightmapsMode
--
--Baked Light Probe data.
--
---@source UnityEngine.CoreModule.dll
---@field lightProbes UnityEngine.LightProbes
---@source UnityEngine.CoreModule.dll
---@field lightmapsModeLegacy UnityEngine.LightmapsModeLegacy
---@source UnityEngine.CoreModule.dll
---@field bakedColorSpace UnityEngine.ColorSpace
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LightmapSettings = {}


--
--Fully describes setup of RenderTarget.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RenderTargetSetup: System.ValueType
--
--Color Buffers to set.
--
---@source UnityEngine.CoreModule.dll
---@field color UnityEngine.RenderBuffer[]
--
--Depth Buffer to set.
--
---@source UnityEngine.CoreModule.dll
---@field depth UnityEngine.RenderBuffer
--
--Mip Level to render to.
--
---@source UnityEngine.CoreModule.dll
---@field mipLevel int
--
--Cubemap face to render to.
--
---@source UnityEngine.CoreModule.dll
---@field cubemapFace UnityEngine.CubemapFace
--
--Slice of a Texture3D or Texture2DArray to set as a render target.
--
---@source UnityEngine.CoreModule.dll
---@field depthSlice int
--
--Load Actions for Color Buffers. It will override any actions set on RenderBuffers themselves.
--
---@source UnityEngine.CoreModule.dll
---@field colorLoad UnityEngine.Rendering.RenderBufferLoadAction[]
--
--Store Actions for Color Buffers. It will override any actions set on RenderBuffers themselves.
--
---@source UnityEngine.CoreModule.dll
---@field colorStore UnityEngine.Rendering.RenderBufferStoreAction[]
--
--Load Action for Depth Buffer. It will override any actions set on RenderBuffer itself.
--
---@source UnityEngine.CoreModule.dll
---@field depthLoad UnityEngine.Rendering.RenderBufferLoadAction
--
--Store Actions for Depth Buffer. It will override any actions set on RenderBuffer itself.
--
---@source UnityEngine.CoreModule.dll
---@field depthStore UnityEngine.Rendering.RenderBufferStoreAction
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RenderTargetSetup = {}


--
--Stores light probe data for all currently loaded Scenes.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LightProbes: UnityEngine.Object
--
--Positions of the baked light probes (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field positions UnityEngine.Vector3[]
--
--Coefficients of baked light probes.
--
---@source UnityEngine.CoreModule.dll
---@field bakedProbes UnityEngine.Rendering.SphericalHarmonicsL2[]
--
--The number of light probes (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field count int
--
--The number of cells space is divided into (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field cellCount int
---@source UnityEngine.CoreModule.dll
---@field coefficients float[]
---@source UnityEngine.CoreModule.dll
---@field tetrahedralizationCompleted System.Action
---@source UnityEngine.CoreModule.dll
---@field needsRetetrahedralization System.Action
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LightProbes = {}

---@source UnityEngine.CoreModule.dll
---@param value System.Action
function CS.UnityEngine.LightProbes:add_tetrahedralizationCompleted(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action
function CS.UnityEngine.LightProbes:remove_tetrahedralizationCompleted(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action
function CS.UnityEngine.LightProbes:add_needsRetetrahedralization(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action
function CS.UnityEngine.LightProbes:remove_needsRetetrahedralization(value) end

--
--Synchronously tetrahedralize the currently loaded LightProbe positions.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.LightProbes:Tetrahedralize() end

--
--Asynchronously tetrahedralize the currently loaded LightProbe positions.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.LightProbes:TetrahedralizeAsync() end

---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3
---@param renderer UnityEngine.Renderer
---@param probe UnityEngine.Rendering.SphericalHarmonicsL2
function CS.UnityEngine.LightProbes:GetInterpolatedProbe(position, renderer, probe) end

--
--Calculate light probes and occlusion probes at the given world space positions.
--
--```plaintext
--Params: positions - The array of world space positions used to evaluate the probes.
--        lightProbes - The array where the resulting light probes are written to.
--        occlusionProbes - The array where the resulting occlusion probes are written to.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param positions UnityEngine.Vector3[]
---@param lightProbes UnityEngine.Rendering.SphericalHarmonicsL2[]
---@param occlusionProbes UnityEngine.Vector4[]
function CS.UnityEngine.LightProbes:CalculateInterpolatedLightAndOcclusionProbes(positions, lightProbes, occlusionProbes) end

---@source UnityEngine.CoreModule.dll
---@param positions System.Collections.Generic.List<UnityEngine.Vector3>
---@param lightProbes System.Collections.Generic.List<UnityEngine.Rendering.SphericalHarmonicsL2>
---@param occlusionProbes System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.LightProbes:CalculateInterpolatedLightAndOcclusionProbes(positions, lightProbes, occlusionProbes) end

---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3
---@param renderer UnityEngine.Renderer
---@param coefficients float[]
function CS.UnityEngine.LightProbes.GetInterpolatedLightProbe(position, renderer, coefficients) end


--
--Script interface for.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.QualitySettings: UnityEngine.Object
---@source UnityEngine.CoreModule.dll
---@field currentLevel UnityEngine.QualityLevel
--
--The maximum number of pixel lights that should affect any object.
--
---@source UnityEngine.CoreModule.dll
---@field pixelLightCount int
--
--Realtime Shadows type to be used.
--
---@source UnityEngine.CoreModule.dll
---@field shadows UnityEngine.ShadowQuality
--
--Directional light shadow projection.
--
---@source UnityEngine.CoreModule.dll
---@field shadowProjection UnityEngine.ShadowProjection
--
--Number of cascades to use for directional light shadows.
--
---@source UnityEngine.CoreModule.dll
---@field shadowCascades int
--
--Shadow drawing distance.
--
---@source UnityEngine.CoreModule.dll
---@field shadowDistance float
--
--The default resolution of the shadow maps.
--
---@source UnityEngine.CoreModule.dll
---@field shadowResolution UnityEngine.ShadowResolution
--
--The rendering mode of Shadowmask.
--
---@source UnityEngine.CoreModule.dll
---@field shadowmaskMode UnityEngine.ShadowmaskMode
--
--Offset shadow frustum near plane.
--
---@source UnityEngine.CoreModule.dll
---@field shadowNearPlaneOffset float
--
--The normalized cascade distribution for a 2 cascade setup. The value defines the position of the cascade with respect to Zero.
--
---@source UnityEngine.CoreModule.dll
---@field shadowCascade2Split float
--
--The normalized cascade start position for a 4 cascade setup. Each member of the vector defines the normalized position of the coresponding cascade with respect to Zero.
--
---@source UnityEngine.CoreModule.dll
---@field shadowCascade4Split UnityEngine.Vector3
--
--Global multiplier for the LOD's switching distance.
--
---@source UnityEngine.CoreModule.dll
---@field lodBias float
--
--Global anisotropic filtering mode.
--
---@source UnityEngine.CoreModule.dll
---@field anisotropicFiltering UnityEngine.AnisotropicFiltering
--
--A texture size limit applied to most textures.
--
---@source UnityEngine.CoreModule.dll
---@field masterTextureLimit int
--
--A maximum LOD level. All LOD groups.
--
---@source UnityEngine.CoreModule.dll
---@field maximumLODLevel int
--
--Budget for how many ray casts can be performed per frame for approximate collision testing.
--
---@source UnityEngine.CoreModule.dll
---@field particleRaycastBudget int
--
--Should soft blending be used for particles?
--
---@source UnityEngine.CoreModule.dll
---@field softParticles bool
--
--Use a two-pass shader for the vegetation in the terrain engine.
--
---@source UnityEngine.CoreModule.dll
---@field softVegetation bool
--
--The VSync Count.
--
---@source UnityEngine.CoreModule.dll
---@field vSyncCount int
--
--Choose the level of Multi-Sample Anti-aliasing (MSAA) that the GPU performs.
--
---@source UnityEngine.CoreModule.dll
---@field antiAliasing int
--
--Async texture upload provides timesliced async texture upload on the render thread with tight control over memory and timeslicing. There are no allocations except for the ones which driver has to do. To read data and upload texture data a ringbuffer whose size can be controlled is re-used.
--
--Use asyncUploadTimeSlice to set the time-slice in milliseconds for asynchronous texture uploads per
--frame. Minimum value is 1 and maximum is 33.
--
---@source UnityEngine.CoreModule.dll
---@field asyncUploadTimeSlice int
--
--Asynchronous texture and mesh data upload provides timesliced async texture and mesh data upload on the render thread with tight control over memory and timeslicing. There are no allocations except for the ones which driver has to do. To read data and upload texture and mesh data, Unity re-uses a ringbuffer whose size can be controlled.
--
--Use asyncUploadBufferSize to set the buffer size for asynchronous texture and mesh data uploads. The size is in megabytes. The minimum value is 2 and the maximum value is 512. The buffer resizes automatically to fit the largest texture currently loading. To avoid re-sizing of the buffer, which can incur performance cost, set the value approximately to the size of biggest texture used in the Scene.
--
---@source UnityEngine.CoreModule.dll
---@field asyncUploadBufferSize int
--
--This flag controls if the async upload pipeline's ring buffer remains allocated when there are no active loading operations.
--Set this to true, to make the ring buffer allocation persist after all upload operations have completed.
--If you have issues with excessive memory usage, you can set this to false. This means you reduce the runtime memory footprint, but memory fragmentation can occur.
--The default value is true.
--
---@source UnityEngine.CoreModule.dll
---@field asyncUploadPersistentBuffer bool
--
--Enables realtime reflection probes.
--
---@source UnityEngine.CoreModule.dll
---@field realtimeReflectionProbes bool
--
--If enabled, billboards will face towards camera position rather than camera orientation.
--
---@source UnityEngine.CoreModule.dll
---@field billboardsFaceCameraPosition bool
--
--In resolution scaling mode, this factor is used to multiply with the target Fixed DPI specified to get the actual Fixed DPI to use for this quality setting.
--
---@source UnityEngine.CoreModule.dll
---@field resolutionScalingFixedDPIFactor float
--
--The RenderPipelineAsset that defines the override render pipeline for the current quality level.
--
---@source UnityEngine.CoreModule.dll
---@field renderPipeline UnityEngine.Rendering.RenderPipelineAsset
---@source UnityEngine.CoreModule.dll
---@field blendWeights UnityEngine.BlendWeights
--
--The maximum number of bones per vertex that are taken into account during skinning, for all meshes in the project.
--
---@source UnityEngine.CoreModule.dll
---@field skinWeights UnityEngine.SkinWeights
--
--Enable automatic streaming of texture mipmap levels based on their distance from all active cameras.
--
---@source UnityEngine.CoreModule.dll
---@field streamingMipmapsActive bool
--
--The total amount of memory to be used by streaming and non-streaming textures.
--
---@source UnityEngine.CoreModule.dll
---@field streamingMipmapsMemoryBudget float
--
--The number of renderer instances that are processed each frame when calculating which texture mipmap levels should be streamed.
--
---@source UnityEngine.CoreModule.dll
---@field streamingMipmapsRenderersPerFrame int
--
--The maximum number of mipmap levels to discard for each texture.
--
---@source UnityEngine.CoreModule.dll
---@field streamingMipmapsMaxLevelReduction int
--
--Process all enabled Cameras for texture streaming (rather than just those with StreamingController components).
--
---@source UnityEngine.CoreModule.dll
---@field streamingMipmapsAddAllCameras bool
--
--The maximum number of active texture file IO requests from the texture streaming system.
--
---@source UnityEngine.CoreModule.dll
---@field streamingMipmapsMaxFileIORequests int
--
--Maximum number of frames queued up by graphics driver.
--
---@source UnityEngine.CoreModule.dll
---@field maxQueuedFrames int
--
--The indexed list of available Quality Settings.
--
---@source UnityEngine.CoreModule.dll
---@field names string[]
--
--Desired color space (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field desiredColorSpace UnityEngine.ColorSpace
--
--Active color space (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field activeColorSpace UnityEngine.ColorSpace
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.QualitySettings = {}

--
--Increase the current quality level.
--
--```plaintext
--Params: applyExpensiveChanges - Should expensive changes be applied (Anti-aliasing etc).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param applyExpensiveChanges bool
function CS.UnityEngine.QualitySettings:IncreaseLevel(applyExpensiveChanges) end

--
--Decrease the current quality level.
--
--```plaintext
--Params: applyExpensiveChanges - Should expensive changes be applied (Anti-aliasing etc).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param applyExpensiveChanges bool
function CS.UnityEngine.QualitySettings:DecreaseLevel(applyExpensiveChanges) end

---@source UnityEngine.CoreModule.dll
---@param index int
function CS.UnityEngine.QualitySettings:SetQualityLevel(index) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.QualitySettings:IncreaseLevel() end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.QualitySettings:DecreaseLevel() end

--
--Returns null if the quality level does not exist, or if no asset is assigned to that quality level. Otherwise, returns the RenderPipelineAsset that defines the override render pipeline for the quality level.
--
--```plaintext
--Params: index - Index of the quality level.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@return RenderPipelineAsset
function CS.UnityEngine.QualitySettings:GetRenderPipelineAssetAt(index) end

--
--Returns the current graphics quality level.
--
---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.QualitySettings:GetQualityLevel() end

--
--Sets a new graphics quality level.
--
--```plaintext
--Params: index - Quality index to set.
--        applyExpensiveChanges - Should expensive changes be applied (Anti-aliasing etc).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@param applyExpensiveChanges bool
function CS.UnityEngine.QualitySettings:SetQualityLevel(index, applyExpensiveChanges) end


--
--The type for the number of bits to be used when an HDR display is active in each color channel of swap chain buffers. The bit count also defines the method Unity uses to render content to the display.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.D3DHDRDisplayBitDepth: System.Enum
--
--Unity will use R10G10B10A2 buffer format and Rec2020 primaries with ST2084 PQ encoding.
--
---@source UnityEngine.CoreModule.dll
---@field D3DHDRDisplayBitDepth10 UnityEngine.D3DHDRDisplayBitDepth
--
--Unity will use R16G16B16A16 buffer format and Rec709 primaries with linear color (no encoding).
--
---@source UnityEngine.CoreModule.dll
---@field D3DHDRDisplayBitDepth16 UnityEngine.D3DHDRDisplayBitDepth
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.D3DHDRDisplayBitDepth = {}

---@source 
---@param value any
---@return UnityEngine.D3DHDRDisplayBitDepth
function CS.UnityEngine.D3DHDRDisplayBitDepth:__CastFrom(value) end


--
--Extension methods to the Renderer class, used only for the UpdateGIMaterials method used by the Global Illumination System.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RendererExtensions: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RendererExtensions = {}

--
--Schedules an update of the albedo and emissive Textures of a system that contains the Renderer.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.RendererExtensions.UpdateGIMaterials() end


--
--Provides access to HDR display settings and information.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.HDROutputSettings: object
--
--The list of currently connected displays with possible HDR availability.
--
---@source UnityEngine.CoreModule.dll
---@field displays UnityEngine.HDROutputSettings[]
--
--The HDROutputSettings for the main display.
--
---@source UnityEngine.CoreModule.dll
---@field main UnityEngine.HDROutputSettings
--
--Describes whether HDR output is currently active on the display. It is true if this is the case, and @@false@ otherwise.
--
---@source UnityEngine.CoreModule.dll
---@field active bool
--
--Describes whether HDR is currently available on your primary display and that you have HDR enabled in your Unity Project. It is true if this is the case, and false otherwise.
--
---@source UnityEngine.CoreModule.dll
---@field available bool
--
--Describes whether Unity performs HDR tonemapping automatically.
--
---@source UnityEngine.CoreModule.dll
---@field automaticHDRTonemapping bool
--
--The ColorGamut used to output to the active HDR display.
--
---@source UnityEngine.CoreModule.dll
---@field displayColorGamut UnityEngine.ColorGamut
--
--The RenderTextureFormat of the display buffer for the active HDR display.
--
---@source UnityEngine.CoreModule.dll
---@field format UnityEngine.RenderTextureFormat
--
--The Experimental.Rendering.GraphicsFormat of the display buffer for the active HDR display.
--
---@source UnityEngine.CoreModule.dll
---@field graphicsFormat UnityEngine.Experimental.Rendering.GraphicsFormat
--
--The base luminance of a white paper surface in nits or candela per square meter (cd/m2).
--
---@source UnityEngine.CoreModule.dll
---@field paperWhiteNits float
--
--Maximum input luminance at which gradation is preserved even when the entire screen is bright.
--
---@source UnityEngine.CoreModule.dll
---@field maxFullFrameToneMapLuminance int
--
--Maximum input luminance at which gradation is preserved when 10% of the screen is bright.
--
---@source UnityEngine.CoreModule.dll
---@field maxToneMapLuminance int
--
--Minimum input luminance at which gradation is identifiable.
--
---@source UnityEngine.CoreModule.dll
---@field minToneMapLuminance int
--
--Describes whether the user has requested to change the HDR Output Mode. It is true if this is the case, and false otherwise.
--
---@source UnityEngine.CoreModule.dll
---@field HDRModeChangeRequested bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.HDROutputSettings = {}

--
--Use this function to request a change in the HDR Output Mode and in the value of HDROutputSettings.active.
--
--```plaintext
--Params: enabled - Indicates whether HDR should be enabled.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param enabled bool
function CS.UnityEngine.HDROutputSettings.RequestHDRModeChange(enabled) end

--
--Sets the base luminance of a white paper surface in nits or candela per square meter (cd/m2).
--
--```plaintext
--Params: paperWhite - The brightness of paper white in nits.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param paperWhite float
function CS.UnityEngine.HDROutputSettings:SetPaperWhiteInNits(paperWhite) end


--
--When using HDR rendering it can sometime be desirable to switch to LDR rendering during ImageEffect rendering.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ImageEffectTransformsToLDR: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ImageEffectTransformsToLDR = {}


--
--Represents a display resolution.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Resolution: System.ValueType
--
--Resolution width in pixels.
--
---@source UnityEngine.CoreModule.dll
---@field width int
--
--Resolution height in pixels.
--
---@source UnityEngine.CoreModule.dll
---@field height int
--
--Resolution's vertical refresh rate in Hz.
--
---@source UnityEngine.CoreModule.dll
---@field refreshRate int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Resolution = {}

--
--A string with the format "width x height @ refreshRateHz".
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Resolution.ToString() end


--
--Any Image Effect with this attribute can be rendered into the Scene view camera.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ImageEffectAllowedInSceneView: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ImageEffectAllowedInSceneView = {}


--
--Any Image Effect with this attribute will be rendered after opaque geometry but before transparent geometry.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ImageEffectOpaque: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ImageEffectOpaque = {}


--
--Any Image Effect with this attribute will be rendered after Dynamic Resolution stage.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ImageEffectAfterScale: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ImageEffectAfterScale = {}


--
--Use this attribute when image effects are implemented using Command Buffers.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ImageEffectUsesCommandBuffer: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ImageEffectUsesCommandBuffer = {}


--
--A class that allows you to create or modify meshes.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Mesh: UnityEngine.Object
---@source UnityEngine.CoreModule.dll
---@field uv1 UnityEngine.Vector2[]
--
--Format of the mesh index buffer data.
--
---@source UnityEngine.CoreModule.dll
---@field indexFormat UnityEngine.Rendering.IndexFormat
--
--Gets the number of vertex buffers present in the Mesh. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field vertexBufferCount int
--
--Returns BlendShape count on this mesh.
--
---@source UnityEngine.CoreModule.dll
---@field blendShapeCount int
--
--The bind poses. The bind pose at each index refers to the bone with the same index.
--
---@source UnityEngine.CoreModule.dll
---@field bindposes UnityEngine.Matrix4x4[]
--
--Returns true if the Mesh is read/write enabled, or false if it is not.
--
---@source UnityEngine.CoreModule.dll
---@field isReadable bool
--
--Returns the number of vertices in the Mesh (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field vertexCount int
--
--The number of sub-meshes inside the Mesh object.
--
---@source UnityEngine.CoreModule.dll
---@field subMeshCount int
--
--The bounding volume of the Mesh.
--
---@source UnityEngine.CoreModule.dll
---@field bounds UnityEngine.Bounds
--
--Returns a copy of the vertex positions or assigns a new vertex positions array.
--
---@source UnityEngine.CoreModule.dll
---@field vertices UnityEngine.Vector3[]
--
--The normals of the Mesh.
--
---@source UnityEngine.CoreModule.dll
---@field normals UnityEngine.Vector3[]
--
--The tangents of the Mesh.
--
---@source UnityEngine.CoreModule.dll
---@field tangents UnityEngine.Vector4[]
--
--The texture coordinates (UVs) in the first channel.
--
---@source UnityEngine.CoreModule.dll
---@field uv UnityEngine.Vector2[]
--
--The texture coordinates (UVs) in the second channel.
--
---@source UnityEngine.CoreModule.dll
---@field uv2 UnityEngine.Vector2[]
--
--The texture coordinates (UVs) in the third channel.
--
---@source UnityEngine.CoreModule.dll
---@field uv3 UnityEngine.Vector2[]
--
--The texture coordinates (UVs) in the fourth channel.
--
---@source UnityEngine.CoreModule.dll
---@field uv4 UnityEngine.Vector2[]
--
--The texture coordinates (UVs) in the fifth channel.
--
---@source UnityEngine.CoreModule.dll
---@field uv5 UnityEngine.Vector2[]
--
--The texture coordinates (UVs) in the sixth channel.
--
---@source UnityEngine.CoreModule.dll
---@field uv6 UnityEngine.Vector2[]
--
--The texture coordinates (UVs) in the seventh channel.
--
---@source UnityEngine.CoreModule.dll
---@field uv7 UnityEngine.Vector2[]
--
--The texture coordinates (UVs) in the eighth channel.
--
---@source UnityEngine.CoreModule.dll
---@field uv8 UnityEngine.Vector2[]
--
--Vertex colors of the Mesh.
--
---@source UnityEngine.CoreModule.dll
---@field colors UnityEngine.Color[]
--
--Vertex colors of the Mesh.
--
---@source UnityEngine.CoreModule.dll
---@field colors32 UnityEngine.Color32[]
--
--Returns the number of vertex attributes that the mesh has. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field vertexAttributeCount int
--
--An array containing all triangles in the Mesh.
--
---@source UnityEngine.CoreModule.dll
---@field triangles int[]
--
--The BoneWeight for each vertex in the Mesh, which represents 4 bones per vertex.
--
---@source UnityEngine.CoreModule.dll
---@field boneWeights UnityEngine.BoneWeight[]
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Mesh = {}

--
--Sets the index buffer size and format.
--
--```plaintext
--Params: indexCount - Size of index buffer.
--        format - Format of the indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param indexCount int
---@param format UnityEngine.Rendering.IndexFormat
function CS.UnityEngine.Mesh.SetIndexBufferParams(indexCount, format) end

--
--Information about the vertex attribute.
--
--```plaintext
--Params: index - The vertex attribute index (0 to vertexAttributeCount-1).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@return VertexAttributeDescriptor
function CS.UnityEngine.Mesh.GetVertexAttribute(index) end

--
--Returns true if the data attribute is present in the mesh.
--
--```plaintext
--Params: attr - Vertex data attribute to check for.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param attr UnityEngine.Rendering.VertexAttribute
---@return Boolean
function CS.UnityEngine.Mesh.HasVertexAttribute(attr) end

--
--Dimensionality of the data attribute, or zero if it is not present.
--
--```plaintext
--Params: attr - Vertex data attribute to check for.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param attr UnityEngine.Rendering.VertexAttribute
---@return Int32
function CS.UnityEngine.Mesh.GetVertexAttributeDimension(attr) end

--
--Format of the data attribute.
--
--```plaintext
--Params: attr - Vertex data attribute to check for.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param attr UnityEngine.Rendering.VertexAttribute
---@return VertexAttributeFormat
function CS.UnityEngine.Mesh.GetVertexAttributeFormat(attr) end

--
--Pointer to the underlying graphics API vertex buffer.
--
--```plaintext
--Params: bufferIndex - Which vertex buffer to get (some Meshes might have more than one). See vertexBufferCount.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@return IntPtr
function CS.UnityEngine.Mesh.GetNativeVertexBufferPtr(index) end

--
--Pointer to the underlying graphics API index buffer.
--
---@source UnityEngine.CoreModule.dll
---@return IntPtr
function CS.UnityEngine.Mesh.GetNativeIndexBufferPtr() end

--
--Clears all blend shapes from Mesh.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Mesh.ClearBlendShapes() end

--
--Returns name of BlendShape by given index.
--
---@source UnityEngine.CoreModule.dll
---@param shapeIndex int
---@return String
function CS.UnityEngine.Mesh.GetBlendShapeName(shapeIndex) end

--
--Returns index of BlendShape by given name.
--
---@source UnityEngine.CoreModule.dll
---@param blendShapeName string
---@return Int32
function CS.UnityEngine.Mesh.GetBlendShapeIndex(blendShapeName) end

--
--Returns the frame count for a blend shape.
--
--```plaintext
--Params: shapeIndex - The shape index to get frame count from.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param shapeIndex int
---@return Int32
function CS.UnityEngine.Mesh.GetBlendShapeFrameCount(shapeIndex) end

--
--Returns the weight of a blend shape frame.
--
--```plaintext
--Params: shapeIndex - The shape index of the frame.
--        frameIndex - The frame index to get the weight from.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param shapeIndex int
---@param frameIndex int
---@return Single
function CS.UnityEngine.Mesh.GetBlendShapeFrameWeight(shapeIndex, frameIndex) end

--
--Retreives deltaVertices, deltaNormals and deltaTangents of a blend shape frame.
--
--```plaintext
--Params: shapeIndex - The shape index of the frame.
--        frameIndex - The frame index to get the weight from.
--        deltaVertices - Delta vertices output array for the frame being retreived.
--        deltaNormals - Delta normals output array for the frame being retreived.
--        deltaTangents - Delta tangents output array for the frame being retreived.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param shapeIndex int
---@param frameIndex int
---@param deltaVertices UnityEngine.Vector3[]
---@param deltaNormals UnityEngine.Vector3[]
---@param deltaTangents UnityEngine.Vector3[]
function CS.UnityEngine.Mesh.GetBlendShapeFrameVertices(shapeIndex, frameIndex, deltaVertices, deltaNormals, deltaTangents) end

--
--Adds a new blend shape frame.
--
--```plaintext
--Params: shapeName - Name of the blend shape to add a frame to.
--        frameWeight - Weight for the frame being added.
--        deltaVertices - Delta vertices for the frame being added.
--        deltaNormals - Delta normals for the frame being added.
--        deltaTangents - Delta tangents for the frame being added.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param shapeName string
---@param frameWeight float
---@param deltaVertices UnityEngine.Vector3[]
---@param deltaNormals UnityEngine.Vector3[]
---@param deltaTangents UnityEngine.Vector3[]
function CS.UnityEngine.Mesh.AddBlendShapeFrame(shapeName, frameWeight, deltaVertices, deltaNormals, deltaTangents) end

---@source UnityEngine.CoreModule.dll
---@param bonesPerVertex Unity.Collections.NativeArray<byte>
---@param weights Unity.Collections.NativeArray<UnityEngine.BoneWeight1>
function CS.UnityEngine.Mesh.SetBoneWeights(bonesPerVertex, weights) end

--
--Returns all non-zero bone weights for the Mesh, in vertex index order.
--
---@source UnityEngine.CoreModule.dll
---@return NativeArray
function CS.UnityEngine.Mesh.GetAllBoneWeights() end

--
--Returns the number of non-zero bone weights for each vertex.
--
---@source UnityEngine.CoreModule.dll
---@return NativeArray
function CS.UnityEngine.Mesh.GetBonesPerVertex() end

--
--Sets the information about a sub-mesh of the Mesh.
--
--```plaintext
--Params: index - Sub-mesh index. See subMeshCount. Out of range indices throw an exception.
--        desc - Sub-mesh data.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@param desc UnityEngine.Rendering.SubMeshDescriptor
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetSubMesh(index, desc, flags) end

--
--Sub-mesh data.
--
--```plaintext
--Params: index - Sub-mesh index. See subMeshCount. Out of range indices throw an exception.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@return SubMeshDescriptor
function CS.UnityEngine.Mesh.GetSubMesh(index) end

--
--Notify Renderer components of mesh geometry change.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Mesh.MarkModified() end

--
--Average of triangle area / uv area.
--
--```plaintext
--Params: uvSetIndex - UV set index to return the UV distibution metric for. 0 for first.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param uvSetIndex int
---@return Single
function CS.UnityEngine.Mesh.GetUVDistributionMetric(uvSetIndex) end

---@source UnityEngine.CoreModule.dll
---@param vertices System.Collections.Generic.List<UnityEngine.Vector3>
function CS.UnityEngine.Mesh.GetVertices(vertices) end

---@source UnityEngine.CoreModule.dll
---@param inVertices System.Collections.Generic.List<UnityEngine.Vector3>
function CS.UnityEngine.Mesh.SetVertices(inVertices) end

---@source UnityEngine.CoreModule.dll
---@param inVertices System.Collections.Generic.List<UnityEngine.Vector3>
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetVertices(inVertices, start, length) end

---@source UnityEngine.CoreModule.dll
---@param inVertices System.Collections.Generic.List<UnityEngine.Vector3>
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetVertices(inVertices, start, length, flags) end

--
--Assigns a new vertex positions array.
--
--```plaintext
--Params: inVertices - Per-vertex positions.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inVertices UnityEngine.Vector3[]
function CS.UnityEngine.Mesh.SetVertices(inVertices) end

--
--Sets the vertex positions of the Mesh, using a part of the input array.
--
--```plaintext
--Params: inVertices - Per-vertex positions.
--        start - Index of the first element to take from the input array.
--        length - Number of elements to take from the input array.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inVertices UnityEngine.Vector3[]
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetVertices(inVertices, start, length) end

--
--Sets the vertex positions of the Mesh, using a part of the input array.
--
--```plaintext
--Params: inVertices - Per-vertex positions.
--        start - Index of the first element to take from the input array.
--        length - Number of elements to take from the input array.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inVertices UnityEngine.Vector3[]
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetVertices(inVertices, start, length, flags) end

---@source UnityEngine.CoreModule.dll
---@param inVertices Unity.Collections.NativeArray<T>
function CS.UnityEngine.Mesh.SetVertices(inVertices) end

---@source UnityEngine.CoreModule.dll
---@param inVertices Unity.Collections.NativeArray<T>
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetVertices(inVertices, start, length) end

---@source UnityEngine.CoreModule.dll
---@param inVertices Unity.Collections.NativeArray<T>
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetVertices(inVertices, start, length, flags) end

---@source UnityEngine.CoreModule.dll
---@param normals System.Collections.Generic.List<UnityEngine.Vector3>
function CS.UnityEngine.Mesh.GetNormals(normals) end

---@source UnityEngine.CoreModule.dll
---@param inNormals System.Collections.Generic.List<UnityEngine.Vector3>
function CS.UnityEngine.Mesh.SetNormals(inNormals) end

---@source UnityEngine.CoreModule.dll
---@param inNormals System.Collections.Generic.List<UnityEngine.Vector3>
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetNormals(inNormals, start, length) end

---@source UnityEngine.CoreModule.dll
---@param inNormals System.Collections.Generic.List<UnityEngine.Vector3>
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetNormals(inNormals, start, length, flags) end

--
--Set the normals of the Mesh.
--
--```plaintext
--Params: inNormals - Per-vertex normals.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inNormals UnityEngine.Vector3[]
function CS.UnityEngine.Mesh.SetNormals(inNormals) end

--
--Sets the vertex normals of the Mesh, using a part of the input array.
--
--```plaintext
--Params: inNormals - Per-vertex normals.
--        start - Index of the first element to take from the input array.
--        length - Number of elements to take from the input array.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inNormals UnityEngine.Vector3[]
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetNormals(inNormals, start, length) end

--
--Sets the vertex normals of the Mesh, using a part of the input array.
--
--```plaintext
--Params: inNormals - Per-vertex normals.
--        start - Index of the first element to take from the input array.
--        length - Number of elements to take from the input array.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inNormals UnityEngine.Vector3[]
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetNormals(inNormals, start, length, flags) end

---@source UnityEngine.CoreModule.dll
---@param inNormals Unity.Collections.NativeArray<T>
function CS.UnityEngine.Mesh.SetNormals(inNormals) end

---@source UnityEngine.CoreModule.dll
---@param inNormals Unity.Collections.NativeArray<T>
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetNormals(inNormals, start, length) end

---@source UnityEngine.CoreModule.dll
---@param inNormals Unity.Collections.NativeArray<T>
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetNormals(inNormals, start, length, flags) end

---@source UnityEngine.CoreModule.dll
---@param tangents System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.Mesh.GetTangents(tangents) end

---@source UnityEngine.CoreModule.dll
---@param inTangents System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.Mesh.SetTangents(inTangents) end

---@source UnityEngine.CoreModule.dll
---@param inTangents System.Collections.Generic.List<UnityEngine.Vector4>
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetTangents(inTangents, start, length) end

---@source UnityEngine.CoreModule.dll
---@param inTangents System.Collections.Generic.List<UnityEngine.Vector4>
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetTangents(inTangents, start, length, flags) end

--
--Set the tangents of the Mesh.
--
--```plaintext
--Params: inTangents - Per-vertex tangents.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inTangents UnityEngine.Vector4[]
function CS.UnityEngine.Mesh.SetTangents(inTangents) end

--
--Sets the tangents of the Mesh, using a part of the input array.
--
--```plaintext
--Params: inTangents - Per-vertex tangents.
--        start - Index of the first element to take from the input array.
--        length - Number of elements to take from the input array.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inTangents UnityEngine.Vector4[]
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetTangents(inTangents, start, length) end

--
--Sets the tangents of the Mesh, using a part of the input array.
--
--```plaintext
--Params: inTangents - Per-vertex tangents.
--        start - Index of the first element to take from the input array.
--        length - Number of elements to take from the input array.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inTangents UnityEngine.Vector4[]
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetTangents(inTangents, start, length, flags) end

---@source UnityEngine.CoreModule.dll
---@param inTangents Unity.Collections.NativeArray<T>
function CS.UnityEngine.Mesh.SetTangents(inTangents) end

---@source UnityEngine.CoreModule.dll
---@param inTangents Unity.Collections.NativeArray<T>
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetTangents(inTangents, start, length) end

---@source UnityEngine.CoreModule.dll
---@param inTangents Unity.Collections.NativeArray<T>
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetTangents(inTangents, start, length, flags) end

---@source UnityEngine.CoreModule.dll
---@param colors System.Collections.Generic.List<UnityEngine.Color>
function CS.UnityEngine.Mesh.GetColors(colors) end

---@source UnityEngine.CoreModule.dll
---@param inColors System.Collections.Generic.List<UnityEngine.Color>
function CS.UnityEngine.Mesh.SetColors(inColors) end

---@source UnityEngine.CoreModule.dll
---@param inColors System.Collections.Generic.List<UnityEngine.Color>
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetColors(inColors, start, length) end

---@source UnityEngine.CoreModule.dll
---@param inColors System.Collections.Generic.List<UnityEngine.Color>
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetColors(inColors, start, length, flags) end

--
--Set the per-vertex colors of the Mesh.
--
--```plaintext
--Params: inColors - Per-vertex colors.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inColors UnityEngine.Color[]
function CS.UnityEngine.Mesh.SetColors(inColors) end

--
--Sets the per-vertex colors of the Mesh, using a part of the input array.
--
--```plaintext
--Params: inColors - Per-vertex colors.
--        start - Index of the first element to take from the input array.
--        length - Number of elements to take from the input array.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inColors UnityEngine.Color[]
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetColors(inColors, start, length) end

--
--Sets the per-vertex colors of the Mesh, using a part of the input array.
--
--```plaintext
--Params: inColors - Per-vertex colors.
--        start - Index of the first element to take from the input array.
--        length - Number of elements to take from the input array.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inColors UnityEngine.Color[]
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetColors(inColors, start, length, flags) end

---@source UnityEngine.CoreModule.dll
---@param colors System.Collections.Generic.List<UnityEngine.Color32>
function CS.UnityEngine.Mesh.GetColors(colors) end

---@source UnityEngine.CoreModule.dll
---@param inColors System.Collections.Generic.List<UnityEngine.Color32>
function CS.UnityEngine.Mesh.SetColors(inColors) end

---@source UnityEngine.CoreModule.dll
---@param inColors System.Collections.Generic.List<UnityEngine.Color32>
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetColors(inColors, start, length) end

---@source UnityEngine.CoreModule.dll
---@param inColors System.Collections.Generic.List<UnityEngine.Color32>
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetColors(inColors, start, length, flags) end

--
--Set the per-vertex colors of the Mesh.
--
--```plaintext
--Params: inColors - Per-vertex colors.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inColors UnityEngine.Color32[]
function CS.UnityEngine.Mesh.SetColors(inColors) end

--
--Sets the per-vertex colors of the Mesh, using a part of the input array.
--
--```plaintext
--Params: inColors - Per-vertex colors.
--        start - Index of the first element to take from the input array.
--        length - Number of elements to take from the input array.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inColors UnityEngine.Color32[]
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetColors(inColors, start, length) end

--
--Sets the per-vertex colors of the Mesh, using a part of the input array.
--
--```plaintext
--Params: inColors - Per-vertex colors.
--        start - Index of the first element to take from the input array.
--        length - Number of elements to take from the input array.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inColors UnityEngine.Color32[]
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetColors(inColors, start, length, flags) end

---@source UnityEngine.CoreModule.dll
---@param inColors Unity.Collections.NativeArray<T>
function CS.UnityEngine.Mesh.SetColors(inColors) end

---@source UnityEngine.CoreModule.dll
---@param inColors Unity.Collections.NativeArray<T>
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetColors(inColors, start, length) end

---@source UnityEngine.CoreModule.dll
---@param inColors Unity.Collections.NativeArray<T>
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetColors(inColors, start, length, flags) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs System.Collections.Generic.List<UnityEngine.Vector2>
function CS.UnityEngine.Mesh.SetUVs(channel, uvs) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs System.Collections.Generic.List<UnityEngine.Vector3>
function CS.UnityEngine.Mesh.SetUVs(channel, uvs) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.Mesh.SetUVs(channel, uvs) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs System.Collections.Generic.List<UnityEngine.Vector2>
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetUVs(channel, uvs, start, length) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs System.Collections.Generic.List<UnityEngine.Vector2>
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetUVs(channel, uvs, start, length, flags) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs System.Collections.Generic.List<UnityEngine.Vector3>
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetUVs(channel, uvs, start, length) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs System.Collections.Generic.List<UnityEngine.Vector3>
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetUVs(channel, uvs, start, length, flags) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs System.Collections.Generic.List<UnityEngine.Vector4>
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetUVs(channel, uvs, start, length) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs System.Collections.Generic.List<UnityEngine.Vector4>
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetUVs(channel, uvs, start, length, flags) end

--
--Sets the texture coordinates (UVs) stored in a given channel.
--
--```plaintext
--Params: channel - The channel, in [0..7] range.
--        uvs - The UV data to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs UnityEngine.Vector2[]
function CS.UnityEngine.Mesh.SetUVs(channel, uvs) end

--
--Sets the texture coordinates (UVs) stored in a given channel.
--
--```plaintext
--Params: channel - The channel, in [0..7] range.
--        uvs - The UV data to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs UnityEngine.Vector3[]
function CS.UnityEngine.Mesh.SetUVs(channel, uvs) end

--
--Sets the texture coordinates (UVs) stored in a given channel.
--
--```plaintext
--Params: channel - The channel, in [0..7] range.
--        uvs - The UV data to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs UnityEngine.Vector4[]
function CS.UnityEngine.Mesh.SetUVs(channel, uvs) end

--
--Sets the UVs of the Mesh, using a part of the input array.
--
--```plaintext
--Params: channel - The UV channel, in [0..7] range.
--        uvs - UVs to set for the given index.
--        start - Index of the first element to take from the input array.
--        length - Number of elements to take from the input array.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs UnityEngine.Vector2[]
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetUVs(channel, uvs, start, length) end

--
--Sets the UVs of the Mesh, using a part of the input array.
--
--```plaintext
--Params: channel - The UV channel, in [0..7] range.
--        uvs - UVs to set for the given index.
--        start - Index of the first element to take from the input array.
--        length - Number of elements to take from the input array.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs UnityEngine.Vector2[]
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetUVs(channel, uvs, start, length, flags) end

--
--Sets the UVs of the Mesh, using a part of the input array.
--
--```plaintext
--Params: channel - The UV channel, in [0..7] range.
--        uvs - UVs to set for the given index.
--        start - Index of the first element to take from the input array.
--        length - Number of elements to take from the input array.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs UnityEngine.Vector3[]
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetUVs(channel, uvs, start, length) end

--
--Sets the UVs of the Mesh, using a part of the input array.
--
--```plaintext
--Params: channel - The UV channel, in [0..7] range.
--        uvs - UVs to set for the given index.
--        start - Index of the first element to take from the input array.
--        length - Number of elements to take from the input array.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs UnityEngine.Vector3[]
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetUVs(channel, uvs, start, length, flags) end

--
--Sets the UVs of the Mesh, using a part of the input array.
--
--```plaintext
--Params: channel - The UV channel, in [0..7] range.
--        uvs - UVs to set for the given index.
--        start - Index of the first element to take from the input array.
--        length - Number of elements to take from the input array.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs UnityEngine.Vector4[]
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetUVs(channel, uvs, start, length) end

--
--Sets the UVs of the Mesh, using a part of the input array.
--
--```plaintext
--Params: channel - The UV channel, in [0..7] range.
--        uvs - UVs to set for the given index.
--        start - Index of the first element to take from the input array.
--        length - Number of elements to take from the input array.
--        flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs UnityEngine.Vector4[]
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetUVs(channel, uvs, start, length, flags) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs Unity.Collections.NativeArray<T>
function CS.UnityEngine.Mesh.SetUVs(channel, uvs) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs Unity.Collections.NativeArray<T>
---@param start int
---@param length int
function CS.UnityEngine.Mesh.SetUVs(channel, uvs, start, length) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs Unity.Collections.NativeArray<T>
---@param start int
---@param length int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetUVs(channel, uvs, start, length, flags) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs System.Collections.Generic.List<UnityEngine.Vector2>
function CS.UnityEngine.Mesh.GetUVs(channel, uvs) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs System.Collections.Generic.List<UnityEngine.Vector3>
function CS.UnityEngine.Mesh.GetUVs(channel, uvs) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param uvs System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.Mesh.GetUVs(channel, uvs) end

--
--Array of vertex attribute information.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Mesh.GetVertexAttributes() end

--
--The number of vertex attributes returned in the attributes container.
--
--```plaintext
--Params: attributes - Collection of vertex attributes to receive the results.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param attributes UnityEngine.Rendering.VertexAttributeDescriptor[]
---@return Int32
function CS.UnityEngine.Mesh.GetVertexAttributes(attributes) end

---@source UnityEngine.CoreModule.dll
---@param attributes System.Collections.Generic.List<UnityEngine.Rendering.VertexAttributeDescriptor>
---@return Int32
function CS.UnityEngine.Mesh.GetVertexAttributes(attributes) end

--
--Sets the vertex buffer size and layout.
--
--```plaintext
--Params: vertexCount - The number of vertices in the Mesh.
--        attributes - Layout of the vertex data -- which attributes are present, their data types and so on.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param vertexCount int
---@param attributes UnityEngine.Rendering.VertexAttributeDescriptor[]
function CS.UnityEngine.Mesh.SetVertexBufferParams(vertexCount, attributes) end

---@source UnityEngine.CoreModule.dll
---@param vertexCount int
---@param attributes Unity.Collections.NativeArray<UnityEngine.Rendering.VertexAttributeDescriptor>
function CS.UnityEngine.Mesh.SetVertexBufferParams(vertexCount, attributes) end

---@source UnityEngine.CoreModule.dll
---@param data Unity.Collections.NativeArray<T>
---@param dataStart int
---@param meshBufferStart int
---@param count int
---@param stream int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetVertexBufferData(data, dataStart, meshBufferStart, count, stream, flags) end

---@source UnityEngine.CoreModule.dll
---@param data T[]
---@param dataStart int
---@param meshBufferStart int
---@param count int
---@param stream int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetVertexBufferData(data, dataStart, meshBufferStart, count, stream, flags) end

---@source UnityEngine.CoreModule.dll
---@param data System.Collections.Generic.List<T>
---@param dataStart int
---@param meshBufferStart int
---@param count int
---@param stream int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetVertexBufferData(data, dataStart, meshBufferStart, count, stream, flags) end

--
--Returns a MeshDataArray containing read-only MeshData structs. See Mesh.MeshDataArray and Mesh.MeshData.
--
--```plaintext
--Params: mesh - The input mesh.
--        meshes - The input meshes.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@return MeshDataArray
function CS.UnityEngine.Mesh:AcquireReadOnlyMeshData(mesh) end

--
--Returns a MeshDataArray containing read-only MeshData structs. See Mesh.MeshDataArray and Mesh.MeshData.
--
--```plaintext
--Params: mesh - The input mesh.
--        meshes - The input meshes.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param meshes UnityEngine.Mesh[]
---@return MeshDataArray
function CS.UnityEngine.Mesh:AcquireReadOnlyMeshData(meshes) end

---@source UnityEngine.CoreModule.dll
---@param meshes System.Collections.Generic.List<UnityEngine.Mesh>
---@return MeshDataArray
function CS.UnityEngine.Mesh:AcquireReadOnlyMeshData(meshes) end

--
--Returns a MeshDataArray containing writeable MeshData structs. See Mesh.MeshDataArray and Mesh.MeshData.
--
--```plaintext
--Params: meshCount - The amount of meshes that will be created.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param meshCount int
---@return MeshDataArray
function CS.UnityEngine.Mesh:AllocateWritableMeshData(meshCount) end

---@source UnityEngine.CoreModule.dll
---@param data UnityEngine.Mesh.MeshDataArray
---@param mesh UnityEngine.Mesh
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh:ApplyAndDisposeWritableMeshData(data, mesh, flags) end

---@source UnityEngine.CoreModule.dll
---@param data UnityEngine.Mesh.MeshDataArray
---@param meshes UnityEngine.Mesh[]
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh:ApplyAndDisposeWritableMeshData(data, meshes, flags) end

---@source UnityEngine.CoreModule.dll
---@param data UnityEngine.Mesh.MeshDataArray
---@param meshes System.Collections.Generic.List<UnityEngine.Mesh>
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh:ApplyAndDisposeWritableMeshData(data, meshes, flags) end

--
--Fetches the triangle list for the specified sub-mesh on this object.
--
--```plaintext
--Params: triangles - A list of vertex indices to populate.
--        submesh - The sub-mesh index. See subMeshCount.
--        applyBaseVertex - True (default value) will apply base vertex offset to returned indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param submesh int
function CS.UnityEngine.Mesh.GetTriangles(submesh) end

--
--Fetches the triangle list for the specified sub-mesh on this object.
--
--```plaintext
--Params: triangles - A list of vertex indices to populate.
--        submesh - The sub-mesh index. See subMeshCount.
--        applyBaseVertex - True (default value) will apply base vertex offset to returned indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param submesh int
---@param applyBaseVertex bool
function CS.UnityEngine.Mesh.GetTriangles(submesh, applyBaseVertex) end

---@source UnityEngine.CoreModule.dll
---@param triangles System.Collections.Generic.List<int>
---@param submesh int
function CS.UnityEngine.Mesh.GetTriangles(triangles, submesh) end

---@source UnityEngine.CoreModule.dll
---@param triangles System.Collections.Generic.List<int>
---@param submesh int
---@param applyBaseVertex bool
function CS.UnityEngine.Mesh.GetTriangles(triangles, submesh, applyBaseVertex) end

---@source UnityEngine.CoreModule.dll
---@param triangles System.Collections.Generic.List<ushort>
---@param submesh int
---@param applyBaseVertex bool
function CS.UnityEngine.Mesh.GetTriangles(triangles, submesh, applyBaseVertex) end

--
--Array with face indices.
--
--```plaintext
--Params: submesh - The sub-mesh index. See subMeshCount.
--        applyBaseVertex - True (default value) will apply base vertex offset to returned indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param submesh int
function CS.UnityEngine.Mesh.GetIndices(submesh) end

--
--Array with face indices.
--
--```plaintext
--Params: submesh - The sub-mesh index. See subMeshCount.
--        applyBaseVertex - True (default value) will apply base vertex offset to returned indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param submesh int
---@param applyBaseVertex bool
function CS.UnityEngine.Mesh.GetIndices(submesh, applyBaseVertex) end

---@source UnityEngine.CoreModule.dll
---@param indices System.Collections.Generic.List<int>
---@param submesh int
function CS.UnityEngine.Mesh.GetIndices(indices, submesh) end

---@source UnityEngine.CoreModule.dll
---@param indices System.Collections.Generic.List<int>
---@param submesh int
---@param applyBaseVertex bool
function CS.UnityEngine.Mesh.GetIndices(indices, submesh, applyBaseVertex) end

---@source UnityEngine.CoreModule.dll
---@param indices System.Collections.Generic.List<ushort>
---@param submesh int
---@param applyBaseVertex bool
function CS.UnityEngine.Mesh.GetIndices(indices, submesh, applyBaseVertex) end

---@source UnityEngine.CoreModule.dll
---@param data Unity.Collections.NativeArray<T>
---@param dataStart int
---@param meshBufferStart int
---@param count int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetIndexBufferData(data, dataStart, meshBufferStart, count, flags) end

---@source UnityEngine.CoreModule.dll
---@param data T[]
---@param dataStart int
---@param meshBufferStart int
---@param count int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetIndexBufferData(data, dataStart, meshBufferStart, count, flags) end

---@source UnityEngine.CoreModule.dll
---@param data System.Collections.Generic.List<T>
---@param dataStart int
---@param meshBufferStart int
---@param count int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetIndexBufferData(data, dataStart, meshBufferStart, count, flags) end

--
--Gets the starting index location within the Mesh's index buffer, for the given sub-mesh.
--
---@source UnityEngine.CoreModule.dll
---@param submesh int
---@return UInt32
function CS.UnityEngine.Mesh.GetIndexStart(submesh) end

--
--Gets the index count of the given sub-mesh.
--
---@source UnityEngine.CoreModule.dll
---@param submesh int
---@return UInt32
function CS.UnityEngine.Mesh.GetIndexCount(submesh) end

--
--The offset applied to all vertex indices of this sub-mesh.
--
--```plaintext
--Params: submesh - The sub-mesh index. See subMeshCount.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param submesh int
---@return UInt32
function CS.UnityEngine.Mesh.GetBaseVertex(submesh) end

--
--Sets the triangle list for the sub-mesh.
--
--```plaintext
--Params: triangles - The list of indices that define the triangles.
--        submesh - The sub-mesh to modify.
--        calculateBounds - Calculate the bounding box of the Mesh after setting the triangles. This is done by default.
--Use false when you want to use the existing bounding box and reduce the CPU cost of setting the triangles.
--        baseVertex - Optional vertex offset that is added to all triangle vertex indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param triangles int[]
---@param submesh int
function CS.UnityEngine.Mesh.SetTriangles(triangles, submesh) end

--
--Sets the triangle list for the sub-mesh.
--
--```plaintext
--Params: triangles - The list of indices that define the triangles.
--        submesh - The sub-mesh to modify.
--        calculateBounds - Calculate the bounding box of the Mesh after setting the triangles. This is done by default.
--Use false when you want to use the existing bounding box and reduce the CPU cost of setting the triangles.
--        baseVertex - Optional vertex offset that is added to all triangle vertex indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param triangles int[]
---@param submesh int
---@param calculateBounds bool
function CS.UnityEngine.Mesh.SetTriangles(triangles, submesh, calculateBounds) end

--
--Sets the triangle list for the sub-mesh.
--
--```plaintext
--Params: triangles - The list of indices that define the triangles.
--        submesh - The sub-mesh to modify.
--        calculateBounds - Calculate the bounding box of the Mesh after setting the triangles. This is done by default.
--Use false when you want to use the existing bounding box and reduce the CPU cost of setting the triangles.
--        baseVertex - Optional vertex offset that is added to all triangle vertex indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param triangles int[]
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetTriangles(triangles, submesh, calculateBounds, baseVertex) end

--
--Sets the triangle list of the Mesh, using a part of the input array.
--
--```plaintext
--Params: triangles - The list of indices that define the triangles.
--        trianglesStart - Index of the first element to take from the input array.
--        trianglesLength - Number of elements to take from the input array.
--        submesh - The sub-mesh to modify.
--        calculateBounds - Calculate the bounding box of the Mesh after setting the triangles. This is done by default.
--Use false when you want to use the existing bounding box and reduce the CPU cost of setting the triangles.
--        baseVertex - Optional vertex offset that is added to all triangle vertex indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param triangles int[]
---@param trianglesStart int
---@param trianglesLength int
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetTriangles(triangles, trianglesStart, trianglesLength, submesh, calculateBounds, baseVertex) end

--
--Sets the triangle list for the sub-mesh.
--
--```plaintext
--Params: triangles - The list of indices that define the triangles.
--        submesh - The sub-mesh to modify.
--        calculateBounds - Calculate the bounding box of the Mesh after setting the triangles. This is done by default.
--Use false when you want to use the existing bounding box and reduce the CPU cost of setting the triangles.
--        baseVertex - Optional vertex offset that is added to all triangle vertex indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param triangles ushort[]
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetTriangles(triangles, submesh, calculateBounds, baseVertex) end

--
--Sets the triangle list of the Mesh, using a part of the input array.
--
--```plaintext
--Params: triangles - The list of indices that define the triangles.
--        trianglesStart - Index of the first element to take from the input array.
--        trianglesLength - Number of elements to take from the input array.
--        submesh - The sub-mesh to modify.
--        calculateBounds - Calculate the bounding box of the Mesh after setting the triangles. This is done by default.
--Use false when you want to use the existing bounding box and reduce the CPU cost of setting the triangles.
--        baseVertex - Optional vertex offset that is added to all triangle vertex indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param triangles ushort[]
---@param trianglesStart int
---@param trianglesLength int
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetTriangles(triangles, trianglesStart, trianglesLength, submesh, calculateBounds, baseVertex) end

---@source UnityEngine.CoreModule.dll
---@param triangles System.Collections.Generic.List<int>
---@param submesh int
function CS.UnityEngine.Mesh.SetTriangles(triangles, submesh) end

---@source UnityEngine.CoreModule.dll
---@param triangles System.Collections.Generic.List<int>
---@param submesh int
---@param calculateBounds bool
function CS.UnityEngine.Mesh.SetTriangles(triangles, submesh, calculateBounds) end

---@source UnityEngine.CoreModule.dll
---@param triangles System.Collections.Generic.List<int>
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetTriangles(triangles, submesh, calculateBounds, baseVertex) end

---@source UnityEngine.CoreModule.dll
---@param triangles System.Collections.Generic.List<int>
---@param trianglesStart int
---@param trianglesLength int
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetTriangles(triangles, trianglesStart, trianglesLength, submesh, calculateBounds, baseVertex) end

---@source UnityEngine.CoreModule.dll
---@param triangles System.Collections.Generic.List<ushort>
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetTriangles(triangles, submesh, calculateBounds, baseVertex) end

---@source UnityEngine.CoreModule.dll
---@param triangles System.Collections.Generic.List<ushort>
---@param trianglesStart int
---@param trianglesLength int
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetTriangles(triangles, trianglesStart, trianglesLength, submesh, calculateBounds, baseVertex) end

--
--Sets the index buffer for the sub-mesh.
--
--```plaintext
--Params: indices - The array of indices that define the mesh faces.
--        topology - The topology of the Mesh, e.g: Triangles, Lines, Quads, Points, etc. See MeshTopology.
--        submesh - The sub-mesh to modify.
--        calculateBounds - Calculate the bounding box of the Mesh after setting the indices. This is done by default.
--Use false when you want to use the existing bounding box and reduce the CPU cost of setting the indices.
--        baseVertex - Optional vertex offset that is added to all vertex indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param indices int[]
---@param topology UnityEngine.MeshTopology
---@param submesh int
function CS.UnityEngine.Mesh.SetIndices(indices, topology, submesh) end

--
--Sets the index buffer for the sub-mesh.
--
--```plaintext
--Params: indices - The array of indices that define the mesh faces.
--        topology - The topology of the Mesh, e.g: Triangles, Lines, Quads, Points, etc. See MeshTopology.
--        submesh - The sub-mesh to modify.
--        calculateBounds - Calculate the bounding box of the Mesh after setting the indices. This is done by default.
--Use false when you want to use the existing bounding box and reduce the CPU cost of setting the indices.
--        baseVertex - Optional vertex offset that is added to all vertex indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param indices int[]
---@param topology UnityEngine.MeshTopology
---@param submesh int
---@param calculateBounds bool
function CS.UnityEngine.Mesh.SetIndices(indices, topology, submesh, calculateBounds) end

--
--Sets the index buffer for the sub-mesh.
--
--```plaintext
--Params: indices - The array of indices that define the mesh faces.
--        topology - The topology of the Mesh, e.g: Triangles, Lines, Quads, Points, etc. See MeshTopology.
--        submesh - The sub-mesh to modify.
--        calculateBounds - Calculate the bounding box of the Mesh after setting the indices. This is done by default.
--Use false when you want to use the existing bounding box and reduce the CPU cost of setting the indices.
--        baseVertex - Optional vertex offset that is added to all vertex indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param indices int[]
---@param topology UnityEngine.MeshTopology
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetIndices(indices, topology, submesh, calculateBounds, baseVertex) end

--
--Sets the index buffer of a sub-mesh, using a part of the input array.
--
--```plaintext
--Params: indices - The array of indices that define the mesh faces.
--        indicesStart - Index of the first element to take from the input array.
--        indicesLength - Number of elements to take from the input array.
--        topology - The topology of the Mesh, e.g: Triangles, Lines, Quads, Points, etc. See MeshTopology.
--        submesh - The sub-mesh to modify.
--        calculateBounds - Calculate the bounding box of the Mesh after setting the indices. This is done by default.
--Use false when you want to use the existing bounding box and reduce the CPU cost of setting the indices.
--        baseVertex - Optional vertex offset that is added to all vertex indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param indices int[]
---@param indicesStart int
---@param indicesLength int
---@param topology UnityEngine.MeshTopology
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetIndices(indices, indicesStart, indicesLength, topology, submesh, calculateBounds, baseVertex) end

--
--Sets the index buffer for the sub-mesh.
--
--```plaintext
--Params: indices - The array of indices that define the mesh faces.
--        topology - The topology of the Mesh, e.g: Triangles, Lines, Quads, Points, etc. See MeshTopology.
--        submesh - The sub-mesh to modify.
--        calculateBounds - Calculate the bounding box of the Mesh after setting the indices. This is done by default.
--Use false when you want to use the existing bounding box and reduce the CPU cost of setting the indices.
--        baseVertex - Optional vertex offset that is added to all vertex indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param indices ushort[]
---@param topology UnityEngine.MeshTopology
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetIndices(indices, topology, submesh, calculateBounds, baseVertex) end

--
--Sets the index buffer of a sub-mesh, using a part of the input array.
--
--```plaintext
--Params: indices - The array of indices that define the mesh faces.
--        indicesStart - Index of the first element to take from the input array.
--        indicesLength - Number of elements to take from the input array.
--        topology - The topology of the Mesh, e.g: Triangles, Lines, Quads, Points, etc. See MeshTopology.
--        submesh - The sub-mesh to modify.
--        calculateBounds - Calculate the bounding box of the Mesh after setting the indices. This is done by default.
--Use false when you want to use the existing bounding box and reduce the CPU cost of setting the indices.
--        baseVertex - Optional vertex offset that is added to all vertex indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param indices ushort[]
---@param indicesStart int
---@param indicesLength int
---@param topology UnityEngine.MeshTopology
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetIndices(indices, indicesStart, indicesLength, topology, submesh, calculateBounds, baseVertex) end

---@source UnityEngine.CoreModule.dll
---@param indices Unity.Collections.NativeArray<T>
---@param topology UnityEngine.MeshTopology
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetIndices(indices, topology, submesh, calculateBounds, baseVertex) end

---@source UnityEngine.CoreModule.dll
---@param indices Unity.Collections.NativeArray<T>
---@param indicesStart int
---@param indicesLength int
---@param topology UnityEngine.MeshTopology
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetIndices(indices, indicesStart, indicesLength, topology, submesh, calculateBounds, baseVertex) end

---@source UnityEngine.CoreModule.dll
---@param indices System.Collections.Generic.List<int>
---@param topology UnityEngine.MeshTopology
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetIndices(indices, topology, submesh, calculateBounds, baseVertex) end

---@source UnityEngine.CoreModule.dll
---@param indices System.Collections.Generic.List<int>
---@param indicesStart int
---@param indicesLength int
---@param topology UnityEngine.MeshTopology
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetIndices(indices, indicesStart, indicesLength, topology, submesh, calculateBounds, baseVertex) end

---@source UnityEngine.CoreModule.dll
---@param indices System.Collections.Generic.List<ushort>
---@param topology UnityEngine.MeshTopology
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetIndices(indices, topology, submesh, calculateBounds, baseVertex) end

---@source UnityEngine.CoreModule.dll
---@param indices System.Collections.Generic.List<ushort>
---@param indicesStart int
---@param indicesLength int
---@param topology UnityEngine.MeshTopology
---@param submesh int
---@param calculateBounds bool
---@param baseVertex int
function CS.UnityEngine.Mesh.SetIndices(indices, indicesStart, indicesLength, topology, submesh, calculateBounds, baseVertex) end

--
--Sets information defining all sub-meshes in this Mesh, replacing any existing sub-meshes.
--
--```plaintext
--Params: desc - An array or list of sub-mesh data descriptors.
--        start - Index of the first element to take from the array or list in desc.
--        count - Number of elements to take from the array or list in desc.
--        flags - (Optional) Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param desc UnityEngine.Rendering.SubMeshDescriptor[]
---@param start int
---@param count int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetSubMeshes(desc, start, count, flags) end

--
--Sets information defining all sub-meshes in this Mesh, replacing any existing sub-meshes.
--
--```plaintext
--Params: desc - An array or list of sub-mesh data descriptors.
--        start - Index of the first element to take from the array or list in desc.
--        count - Number of elements to take from the array or list in desc.
--        flags - (Optional) Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param desc UnityEngine.Rendering.SubMeshDescriptor[]
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetSubMeshes(desc, flags) end

---@source UnityEngine.CoreModule.dll
---@param desc System.Collections.Generic.List<UnityEngine.Rendering.SubMeshDescriptor>
---@param start int
---@param count int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetSubMeshes(desc, start, count, flags) end

---@source UnityEngine.CoreModule.dll
---@param desc System.Collections.Generic.List<UnityEngine.Rendering.SubMeshDescriptor>
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetSubMeshes(desc, flags) end

---@source UnityEngine.CoreModule.dll
---@param desc Unity.Collections.NativeArray<T>
---@param start int
---@param count int
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetSubMeshes(desc, start, count, flags) end

---@source UnityEngine.CoreModule.dll
---@param desc Unity.Collections.NativeArray<T>
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.SetSubMeshes(desc, flags) end

---@source UnityEngine.CoreModule.dll
---@param bindposes System.Collections.Generic.List<UnityEngine.Matrix4x4>
function CS.UnityEngine.Mesh.GetBindposes(bindposes) end

---@source UnityEngine.CoreModule.dll
---@param boneWeights System.Collections.Generic.List<UnityEngine.BoneWeight>
function CS.UnityEngine.Mesh.GetBoneWeights(boneWeights) end

--
--Clears all vertex data and all triangle indices.
--
--```plaintext
--Params: keepVertexLayout - True if the existing Mesh data layout should be preserved.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param keepVertexLayout bool
function CS.UnityEngine.Mesh.Clear(keepVertexLayout) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Mesh.Clear() end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Mesh.RecalculateBounds() end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Mesh.RecalculateNormals() end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Mesh.RecalculateTangents() end

--
--Recalculate the bounding volume of the Mesh from the vertices.
--
--```plaintext
--Params: flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.RecalculateBounds(flags) end

--
--Recalculates the normals of the Mesh from the triangles and vertices.
--
--```plaintext
--Params: flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.RecalculateNormals(flags) end

--
--Recalculates the tangents of the Mesh from the normals and texture coordinates.
--
--```plaintext
--Params: flags - Flags controlling the function behavior, see MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.Mesh.RecalculateTangents(flags) end

--
--Recalculates the UV distribution metric of the Mesh from the vertices and uv coordinates.
--
--```plaintext
--Params: uvSetIndex - The UV set index to set the UV distibution metric for. Use 0 for first index.
--        uvAreaThreshold - The minimum UV area to consider. The default value is 1e-9f.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param uvSetIndex int
---@param uvAreaThreshold float
function CS.UnityEngine.Mesh.RecalculateUVDistributionMetric(uvSetIndex, uvAreaThreshold) end

--
--Recalculates the UV distribution metrics of the Mesh from the vertices and uv coordinates.
--
--```plaintext
--Params: uvAreaThreshold - The minimum UV area to consider. The default value is 1e-9f.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param uvAreaThreshold float
function CS.UnityEngine.Mesh.RecalculateUVDistributionMetrics(uvAreaThreshold) end

--
--Optimize mesh for frequent updates.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Mesh.MarkDynamic() end

--
--Upload previously done Mesh modifications to the graphics API.
--
--```plaintext
--Params: markNoLongerReadable - Frees up system memory copy of mesh data when set to true.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param markNoLongerReadable bool
function CS.UnityEngine.Mesh.UploadMeshData(markNoLongerReadable) end

--
--Optimizes the Mesh data to improve rendering performance.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Mesh.Optimize() end

--
--Optimizes the geometry of the Mesh to improve rendering performance.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Mesh.OptimizeIndexBuffers() end

--
--Optimizes the vertices of the Mesh to improve rendering performance.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Mesh.OptimizeReorderVertexBuffer() end

--
--Gets the topology of a sub-mesh.
--
---@source UnityEngine.CoreModule.dll
---@param submesh int
---@return MeshTopology
function CS.UnityEngine.Mesh.GetTopology(submesh) end

--
--Combines several Meshes into this Mesh.
--
--```plaintext
--Params: combine - Descriptions of the Meshes to combine.
--        mergeSubMeshes - Defines whether Meshes should be combined into a single sub-mesh.
--        useMatrices - Defines whether the transforms supplied in the CombineInstance array should be used or ignored.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param combine UnityEngine.CombineInstance[]
---@param mergeSubMeshes bool
---@param useMatrices bool
---@param hasLightmapData bool
function CS.UnityEngine.Mesh.CombineMeshes(combine, mergeSubMeshes, useMatrices, hasLightmapData) end

--
--Combines several Meshes into this Mesh.
--
--```plaintext
--Params: combine - Descriptions of the Meshes to combine.
--        mergeSubMeshes - Defines whether Meshes should be combined into a single sub-mesh.
--        useMatrices - Defines whether the transforms supplied in the CombineInstance array should be used or ignored.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param combine UnityEngine.CombineInstance[]
---@param mergeSubMeshes bool
---@param useMatrices bool
function CS.UnityEngine.Mesh.CombineMeshes(combine, mergeSubMeshes, useMatrices) end

--
--Combines several Meshes into this Mesh.
--
--```plaintext
--Params: combine - Descriptions of the Meshes to combine.
--        mergeSubMeshes - Defines whether Meshes should be combined into a single sub-mesh.
--        useMatrices - Defines whether the transforms supplied in the CombineInstance array should be used or ignored.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param combine UnityEngine.CombineInstance[]
---@param mergeSubMeshes bool
function CS.UnityEngine.Mesh.CombineMeshes(combine, mergeSubMeshes) end

--
--Combines several Meshes into this Mesh.
--
--```plaintext
--Params: combine - Descriptions of the Meshes to combine.
--        mergeSubMeshes - Defines whether Meshes should be combined into a single sub-mesh.
--        useMatrices - Defines whether the transforms supplied in the CombineInstance array should be used or ignored.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param combine UnityEngine.CombineInstance[]
function CS.UnityEngine.Mesh.CombineMeshes(combine) end


--
--Struct describing the result of a Global Illumination bake for a given light.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LightBakingOutput: System.ValueType
--
--In case of a LightmapBakeType.Mixed light, contains the index of the light as seen from the occlusion probes point of view if any, otherwise -1.
--
---@source UnityEngine.CoreModule.dll
---@field probeOcclusionLightIndex int
--
--In case of a LightmapBakeType.Mixed light, contains the index of the occlusion mask channel to use if any, otherwise -1.
--
---@source UnityEngine.CoreModule.dll
---@field occlusionMaskChannel int
--
--This property describes what part of a light's contribution was baked.
--
---@source UnityEngine.CoreModule.dll
---@field lightmapBakeType UnityEngine.LightmapBakeType
--
--In case of a LightmapBakeType.Mixed light, describes what Mixed mode was used to bake the light, irrelevant otherwise.
--
---@source UnityEngine.CoreModule.dll
---@field mixedLightingMode UnityEngine.MixedLightingMode
--
--Is the light contribution already stored in lightmaps and/or lightprobes?
--
---@source UnityEngine.CoreModule.dll
---@field isBaked bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LightBakingOutput = {}


--
--Allows mixed lights to control shadow caster culling when Shadowmasks are present.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LightShadowCasterMode: System.Enum
--
--Use the global Shadowmask Mode from the quality settings.
--
---@source UnityEngine.CoreModule.dll
---@field Default UnityEngine.LightShadowCasterMode
--
--Render only non-lightmapped objects into the shadow map. This corresponds with the Shadowmask mode.
--
---@source UnityEngine.CoreModule.dll
---@field NonLightmappedOnly UnityEngine.LightShadowCasterMode
--
--Render all shadow casters into the shadow map. This corresponds with the distance Shadowmask mode.
--
---@source UnityEngine.CoreModule.dll
---@field Everything UnityEngine.LightShadowCasterMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LightShadowCasterMode = {}

---@source 
---@param value any
---@return UnityEngine.LightShadowCasterMode
function CS.UnityEngine.LightShadowCasterMode:__CastFrom(value) end


--
--Script interface for.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Light: UnityEngine.Behaviour
--
--The type of the light.
--
---@source UnityEngine.CoreModule.dll
---@field type UnityEngine.LightType
--
--This property describes the shape of the spot light. Only Scriptable Render Pipelines use this property; the built-in renderer does not support it.
--
---@source UnityEngine.CoreModule.dll
---@field shape UnityEngine.LightShape
--
--The angle of the light's spotlight cone in degrees.
--
---@source UnityEngine.CoreModule.dll
---@field spotAngle float
--
--The angle of the light's spotlight inner cone in degrees.
--
---@source UnityEngine.CoreModule.dll
---@field innerSpotAngle float
--
--The color of the light.
--
---@source UnityEngine.CoreModule.dll
---@field color UnityEngine.Color
--
--The color temperature of the light.
--          Correlated Color Temperature (abbreviated as CCT) is multiplied with the color filter when calculating the final color of a light source. The color temperature of the electromagnetic radiation emitted from an ideal black body is defined as its surface temperature in Kelvin. White is 6500K according to the D65 standard. A candle light is 1800K and a soft warm light bulb is 2700K.
--          If you want to use colorTemperature, GraphicsSettings.lightsUseLinearIntensity and Light.useColorTemperature has to be enabled.
--          See Also: GraphicsSettings.lightsUseLinearIntensity, GraphicsSettings.useColorTemperature.
--
---@source UnityEngine.CoreModule.dll
---@field colorTemperature float
--
--Set to true to use the color temperature.
--
---@source UnityEngine.CoreModule.dll
---@field useColorTemperature bool
--
--The Intensity of a light is multiplied with the Light color.
--
---@source UnityEngine.CoreModule.dll
---@field intensity float
--
--The multiplier that defines the strength of the bounce lighting.
--
---@source UnityEngine.CoreModule.dll
---@field bounceIntensity float
--
--Set to true to override light bounding sphere for culling.
--
---@source UnityEngine.CoreModule.dll
---@field useBoundingSphereOverride bool
--
--Bounding sphere used to override the regular light bounding sphere during culling.
--
---@source UnityEngine.CoreModule.dll
---@field boundingSphereOverride UnityEngine.Vector4
--
--Whether to cull shadows for this Light when the Light is outside of the view frustum.
--
---@source UnityEngine.CoreModule.dll
---@field useViewFrustumForShadowCasterCull bool
--
--The custom resolution of the shadow map.
--
---@source UnityEngine.CoreModule.dll
---@field shadowCustomResolution int
--
--Shadow mapping constant bias.
--
---@source UnityEngine.CoreModule.dll
---@field shadowBias float
--
--Shadow mapping normal-based bias.
--
---@source UnityEngine.CoreModule.dll
---@field shadowNormalBias float
--
--Near plane value to use for shadow frustums.
--
---@source UnityEngine.CoreModule.dll
---@field shadowNearPlane float
--
--Set to true to enable custom matrix for culling during shadows.
--
---@source UnityEngine.CoreModule.dll
---@field useShadowMatrixOverride bool
--
--Projection matrix used to override the regular light matrix during shadow culling.
--
---@source UnityEngine.CoreModule.dll
---@field shadowMatrixOverride UnityEngine.Matrix4x4
--
--The range of the light.
--
---@source UnityEngine.CoreModule.dll
---@field range float
--
--The to use for this light.
--
---@source UnityEngine.CoreModule.dll
---@field flare UnityEngine.Flare
--
--This property describes the output of the last Global Illumination bake.
--
---@source UnityEngine.CoreModule.dll
---@field bakingOutput UnityEngine.LightBakingOutput
--
--This is used to light certain objects in the Scene selectively.
--
---@source UnityEngine.CoreModule.dll
---@field cullingMask int
--
--Determines which rendering LayerMask this Light affects.
--
---@source UnityEngine.CoreModule.dll
---@field renderingLayerMask int
--
--Allows you to override the global Shadowmask Mode per light. Only use this with render pipelines that can handle per light Shadowmask modes. Incompatible with the legacy renderers.
--
---@source UnityEngine.CoreModule.dll
---@field lightShadowCasterMode UnityEngine.LightShadowCasterMode
--
--Controls the amount of artificial softening applied to the edges of shadows cast by the Point or Spot light.
--
---@source UnityEngine.CoreModule.dll
---@field shadowRadius float
--
--Controls the amount of artificial softening applied to the edges of shadows cast by directional lights.
--
---@source UnityEngine.CoreModule.dll
---@field shadowAngle float
--
--How this light casts shadows
--
---@source UnityEngine.CoreModule.dll
---@field shadows UnityEngine.LightShadows
--
--Strength of light's shadows.
--
---@source UnityEngine.CoreModule.dll
---@field shadowStrength float
--
--The resolution of the shadow map.
--
---@source UnityEngine.CoreModule.dll
---@field shadowResolution UnityEngine.Rendering.LightShadowResolution
---@source UnityEngine.CoreModule.dll
---@field shadowSoftness float
---@source UnityEngine.CoreModule.dll
---@field shadowSoftnessFade float
--
--Per-light, per-layer shadow culling distances. Directional lights only.
--
---@source UnityEngine.CoreModule.dll
---@field layerShadowCullDistances float[]
--
--The size of a directional light's cookie.
--
---@source UnityEngine.CoreModule.dll
---@field cookieSize float
--
--The cookie texture projected by the light.
--
---@source UnityEngine.CoreModule.dll
---@field cookie UnityEngine.Texture
--
--How to render the light.
--
---@source UnityEngine.CoreModule.dll
---@field renderMode UnityEngine.LightRenderMode
---@source UnityEngine.CoreModule.dll
---@field bakedIndex int
--
--The size of the area light (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field areaSize UnityEngine.Vector2
--
--This property describes what part of a light's contribution can be baked (Editor only).
--
---@source UnityEngine.CoreModule.dll
---@field lightmapBakeType UnityEngine.LightmapBakeType
--
--Number of command buffers set up on this light (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field commandBufferCount int
---@source UnityEngine.CoreModule.dll
---@field pixelLightCount int
---@source UnityEngine.CoreModule.dll
---@field shadowConstantBias float
---@source UnityEngine.CoreModule.dll
---@field shadowObjectSizeBias float
---@source UnityEngine.CoreModule.dll
---@field attenuate bool
---@source UnityEngine.CoreModule.dll
---@field lightmappingMode UnityEngine.LightmappingMode
--
--Is the light contribution already stored in lightmaps and/or lightprobes (Read Only). Obsolete; replaced by Light-lightmapBakeType.
--
---@source UnityEngine.CoreModule.dll
---@field isBaked bool
---@source UnityEngine.CoreModule.dll
---@field alreadyLightmapped bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Light = {}

--
--Revert all light parameters to default.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Light.Reset() end

--
--Sets a light dirty to notify the light baking backends to update their internal light representation (Editor only).
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Light.SetLightDirty() end

--
--Add a command buffer to be executed at a specified place.
--
--```plaintext
--Params: evt - When to execute the command buffer during rendering.
--        buffer - The buffer to execute.
--        shadowPassMask - A mask specifying which shadow passes to execute the buffer for.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param evt UnityEngine.Rendering.LightEvent
---@param buffer UnityEngine.Rendering.CommandBuffer
function CS.UnityEngine.Light.AddCommandBuffer(evt, buffer) end

--
--Add a command buffer to be executed at a specified place.
--
--```plaintext
--Params: evt - When to execute the command buffer during rendering.
--        buffer - The buffer to execute.
--        shadowPassMask - A mask specifying which shadow passes to execute the buffer for.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param evt UnityEngine.Rendering.LightEvent
---@param buffer UnityEngine.Rendering.CommandBuffer
---@param shadowPassMask UnityEngine.Rendering.ShadowMapPass
function CS.UnityEngine.Light.AddCommandBuffer(evt, buffer, shadowPassMask) end

--
--Adds a command buffer to the GPU's async compute queues and executes that command buffer when graphics processing reaches a given point.
--
--```plaintext
--Params: evt - The point during the graphics processing at which this command buffer should commence on the GPU.
--        buffer - The buffer to execute.
--        queueType - The desired async compute queue type to execute the buffer on.
--        shadowPassMask - A mask specifying which shadow passes to execute the buffer for.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param evt UnityEngine.Rendering.LightEvent
---@param buffer UnityEngine.Rendering.CommandBuffer
---@param queueType UnityEngine.Rendering.ComputeQueueType
function CS.UnityEngine.Light.AddCommandBufferAsync(evt, buffer, queueType) end

--
--Adds a command buffer to the GPU's async compute queues and executes that command buffer when graphics processing reaches a given point.
--
--```plaintext
--Params: evt - The point during the graphics processing at which this command buffer should commence on the GPU.
--        buffer - The buffer to execute.
--        queueType - The desired async compute queue type to execute the buffer on.
--        shadowPassMask - A mask specifying which shadow passes to execute the buffer for.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param evt UnityEngine.Rendering.LightEvent
---@param buffer UnityEngine.Rendering.CommandBuffer
---@param shadowPassMask UnityEngine.Rendering.ShadowMapPass
---@param queueType UnityEngine.Rendering.ComputeQueueType
function CS.UnityEngine.Light.AddCommandBufferAsync(evt, buffer, shadowPassMask, queueType) end

--
--Remove command buffer from execution at a specified place.
--
--```plaintext
--Params: evt - When to execute the command buffer during rendering.
--        buffer - The buffer to execute.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param evt UnityEngine.Rendering.LightEvent
---@param buffer UnityEngine.Rendering.CommandBuffer
function CS.UnityEngine.Light.RemoveCommandBuffer(evt, buffer) end

--
--Remove command buffers from execution at a specified place.
--
--```plaintext
--Params: evt - When to execute the command buffer during rendering.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param evt UnityEngine.Rendering.LightEvent
function CS.UnityEngine.Light.RemoveCommandBuffers(evt) end

--
--Remove all command buffers set on this light.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Light.RemoveAllCommandBuffers() end

--
--Array of command buffers.
--
--```plaintext
--Params: evt - When to execute the command buffer during rendering.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param evt UnityEngine.Rendering.LightEvent
function CS.UnityEngine.Light.GetCommandBuffers(evt) end

---@source UnityEngine.CoreModule.dll
---@param type UnityEngine.LightType
---@param layer int
function CS.UnityEngine.Light:GetLights(type, layer) end


--
--A script interface for the.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Skybox: UnityEngine.Behaviour
--
--The material used by the skybox.
--
---@source UnityEngine.CoreModule.dll
---@field material UnityEngine.Material
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Skybox = {}


--
--A class to access the Mesh of the.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MeshFilter: UnityEngine.Component
--
--Returns the shared mesh of the mesh filter.
--
---@source UnityEngine.CoreModule.dll
---@field sharedMesh UnityEngine.Mesh
--
--Returns the instantiated Mesh assigned to the mesh filter.
--
---@source UnityEngine.CoreModule.dll
---@field mesh UnityEngine.Mesh
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MeshFilter = {}


--
--Rendering path of a Camera.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RenderingPath: System.Enum
--
--Use Player Settings.
--
---@source UnityEngine.CoreModule.dll
---@field UsePlayerSettings UnityEngine.RenderingPath
--
--Vertex Lit.
--
---@source UnityEngine.CoreModule.dll
---@field VertexLit UnityEngine.RenderingPath
--
--Forward Rendering.
--
---@source UnityEngine.CoreModule.dll
---@field Forward UnityEngine.RenderingPath
--
--Deferred Lighting (Legacy).
--
---@source UnityEngine.CoreModule.dll
---@field DeferredLighting UnityEngine.RenderingPath
--
--Deferred Shading.
--
---@source UnityEngine.CoreModule.dll
---@field DeferredShading UnityEngine.RenderingPath
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RenderingPath = {}

---@source 
---@param value any
---@return UnityEngine.RenderingPath
function CS.UnityEngine.RenderingPath:__CastFrom(value) end


--
--Transparent object sorting mode of a Camera.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.TransparencySortMode: System.Enum
--
--Default transparency sorting mode.
--
---@source UnityEngine.CoreModule.dll
---@field Default UnityEngine.TransparencySortMode
--
--Perspective transparency sorting mode.
--
---@source UnityEngine.CoreModule.dll
---@field Perspective UnityEngine.TransparencySortMode
--
--Orthographic transparency sorting mode.
--
---@source UnityEngine.CoreModule.dll
---@field Orthographic UnityEngine.TransparencySortMode
--
--Sort objects based on distance along a custom axis.
--
---@source UnityEngine.CoreModule.dll
---@field CustomAxis UnityEngine.TransparencySortMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.TransparencySortMode = {}

---@source 
---@param value any
---@return UnityEngine.TransparencySortMode
function CS.UnityEngine.TransparencySortMode:__CastFrom(value) end


--
--A struct containing Mesh data for C# Job System access.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MeshData: System.ValueType
--
--Gets the number of vertices in the MeshData. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field vertexCount int
--
--Gets the number of vertex buffers in the MeshData. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field vertexBufferCount int
--
--Gets the format of the index buffer data in the MeshData. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field indexFormat UnityEngine.Rendering.IndexFormat
--
--The number of sub-meshes in the MeshData.
--
---@source UnityEngine.CoreModule.dll
---@field subMeshCount int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MeshData = {}

--
--Returns true if the data attribute is present in the Mesh. Returns false if it is not.
--
--```plaintext
--Params: attr - The vertex attribute to check for.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param attr UnityEngine.Rendering.VertexAttribute
---@return Boolean
function CS.UnityEngine.MeshData.HasVertexAttribute(attr) end

--
--Returns the dimension of the vertex attribute. Returns 0 if the vertex attribute is not present.
--
--```plaintext
--Params: attr - The vertex attribute to get the dimension of.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param attr UnityEngine.Rendering.VertexAttribute
---@return Int32
function CS.UnityEngine.MeshData.GetVertexAttributeDimension(attr) end

--
--Returns the format of the given vertex attribute.
--
--```plaintext
--Params: attr - The vertex attribute to check the format of.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param attr UnityEngine.Rendering.VertexAttribute
---@return VertexAttributeFormat
function CS.UnityEngine.MeshData.GetVertexAttributeFormat(attr) end

---@source UnityEngine.CoreModule.dll
---@param outVertices Unity.Collections.NativeArray<UnityEngine.Vector3>
function CS.UnityEngine.MeshData.GetVertices(outVertices) end

---@source UnityEngine.CoreModule.dll
---@param outNormals Unity.Collections.NativeArray<UnityEngine.Vector3>
function CS.UnityEngine.MeshData.GetNormals(outNormals) end

---@source UnityEngine.CoreModule.dll
---@param outTangents Unity.Collections.NativeArray<UnityEngine.Vector4>
function CS.UnityEngine.MeshData.GetTangents(outTangents) end

---@source UnityEngine.CoreModule.dll
---@param outColors Unity.Collections.NativeArray<UnityEngine.Color>
function CS.UnityEngine.MeshData.GetColors(outColors) end

---@source UnityEngine.CoreModule.dll
---@param outColors Unity.Collections.NativeArray<UnityEngine.Color32>
function CS.UnityEngine.MeshData.GetColors(outColors) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param outUVs Unity.Collections.NativeArray<UnityEngine.Vector2>
function CS.UnityEngine.MeshData.GetUVs(channel, outUVs) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param outUVs Unity.Collections.NativeArray<UnityEngine.Vector3>
function CS.UnityEngine.MeshData.GetUVs(channel, outUVs) end

---@source UnityEngine.CoreModule.dll
---@param channel int
---@param outUVs Unity.Collections.NativeArray<UnityEngine.Vector4>
function CS.UnityEngine.MeshData.GetUVs(channel, outUVs) end

---@source UnityEngine.CoreModule.dll
---@param stream int
---@return NativeArray
function CS.UnityEngine.MeshData.GetVertexData(stream) end

--
--Sets the vertex buffer size and layout of the Mesh that Unity creates from the MeshData.
--
--```plaintext
--Params: vertexCount - The number of vertices in the Mesh.
--        attributes - Layout of the vertex data: which attributes are present, their data types and so on.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param vertexCount int
---@param attributes UnityEngine.Rendering.VertexAttributeDescriptor[]
function CS.UnityEngine.MeshData.SetVertexBufferParams(vertexCount, attributes) end

---@source UnityEngine.CoreModule.dll
---@param vertexCount int
---@param attributes Unity.Collections.NativeArray<UnityEngine.Rendering.VertexAttributeDescriptor>
function CS.UnityEngine.MeshData.SetVertexBufferParams(vertexCount, attributes) end

--
--Sets the index buffer size and format of the Mesh that Unity creates from the MeshData.
--
--```plaintext
--Params: indexCount - The size of the index buffer.
--        format - The format of the indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param indexCount int
---@param format UnityEngine.Rendering.IndexFormat
function CS.UnityEngine.MeshData.SetIndexBufferParams(indexCount, format) end

---@source UnityEngine.CoreModule.dll
---@param outIndices Unity.Collections.NativeArray<ushort>
---@param submesh int
---@param applyBaseVertex bool
function CS.UnityEngine.MeshData.GetIndices(outIndices, submesh, applyBaseVertex) end

---@source UnityEngine.CoreModule.dll
---@param outIndices Unity.Collections.NativeArray<int>
---@param submesh int
---@param applyBaseVertex bool
function CS.UnityEngine.MeshData.GetIndices(outIndices, submesh, applyBaseVertex) end

---@source UnityEngine.CoreModule.dll
---@return NativeArray
function CS.UnityEngine.MeshData.GetIndexData() end

--
--Returns sub-mesh data.
--
--```plaintext
--Params: index - The index of the sub-mesh. See Mesh.MeshData.subMeshCount|subMeshCount. If you specify an out of range index, Unity throws an exception.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@return SubMeshDescriptor
function CS.UnityEngine.MeshData.GetSubMesh(index) end

--
--Sets the data for a sub-mesh of the Mesh that Unity creates from the MeshData.
--
--```plaintext
--Params: index - The index of the sub-mesh to set data for. See Mesh.MeshData.subMeshCount|subMeshCount. If you specify an out of range index, Unity throws an exception.
--        desc - Sub-mesh data.
--        flags - Flags controlling the function behavior. See MeshUpdateFlags.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@param desc UnityEngine.Rendering.SubMeshDescriptor
---@param flags UnityEngine.Rendering.MeshUpdateFlags
function CS.UnityEngine.MeshData.SetSubMesh(index, desc, flags) end


--
--An array of Mesh data snapshots for C# Job System access.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MeshDataArray: System.ValueType
--
--Number of Mesh data elements in the MeshDataArray.
--
---@source UnityEngine.CoreModule.dll
---@field Length int
---@source UnityEngine.CoreModule.dll
---@field this[] UnityEngine.Mesh.MeshData
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MeshDataArray = {}

--
--Use this method to dispose of the MeshDataArray struct.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.MeshDataArray.Dispose() end


--
--General functionality for all renderers.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Renderer: UnityEngine.Component
---@source UnityEngine.CoreModule.dll
---@field lightmapTilingOffset UnityEngine.Vector4
---@source UnityEngine.CoreModule.dll
---@field lightProbeAnchor UnityEngine.Transform
---@source UnityEngine.CoreModule.dll
---@field castShadows bool
--
--Specifies whether this renderer has a per-object motion vector pass.
--
---@source UnityEngine.CoreModule.dll
---@field motionVectors bool
--
--Should light probes be used for this Renderer?
--
---@source UnityEngine.CoreModule.dll
---@field useLightProbes bool
--
--The bounding volume of the renderer (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field bounds UnityEngine.Bounds
--
--Makes the rendered 3D object visible if enabled.
--
---@source UnityEngine.CoreModule.dll
---@field enabled bool
--
--Is this renderer visible in any camera? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field isVisible bool
--
--Does this object cast shadows?
--
---@source UnityEngine.CoreModule.dll
---@field shadowCastingMode UnityEngine.Rendering.ShadowCastingMode
--
--Does this object receive shadows?
--
---@source UnityEngine.CoreModule.dll
---@field receiveShadows bool
--
--Allows turning off rendering for a specific component.
--
---@source UnityEngine.CoreModule.dll
---@field forceRenderingOff bool
--
--Specifies the mode for motion vector rendering.
--
---@source UnityEngine.CoreModule.dll
---@field motionVectorGenerationMode UnityEngine.MotionVectorGenerationMode
--
--The light probe interpolation type.
--
---@source UnityEngine.CoreModule.dll
---@field lightProbeUsage UnityEngine.Rendering.LightProbeUsage
--
--Should reflection probes be used for this Renderer?
--
---@source UnityEngine.CoreModule.dll
---@field reflectionProbeUsage UnityEngine.Rendering.ReflectionProbeUsage
--
--Determines which rendering layer this renderer lives on.
--
---@source UnityEngine.CoreModule.dll
---@field renderingLayerMask uint
--
--This value sorts renderers by priority. Lower values are rendered first and higher values are rendered last.
--
---@source UnityEngine.CoreModule.dll
---@field rendererPriority int
--
--Describes how this renderer is updated for ray tracing.
--
---@source UnityEngine.CoreModule.dll
---@field rayTracingMode UnityEngine.Experimental.Rendering.RayTracingMode
--
--Name of the Renderer's sorting layer.
--
---@source UnityEngine.CoreModule.dll
---@field sortingLayerName string
--
--Unique ID of the Renderer's sorting layer.
--
---@source UnityEngine.CoreModule.dll
---@field sortingLayerID int
--
--Renderer's order within a sorting layer.
--
---@source UnityEngine.CoreModule.dll
---@field sortingOrder int
--
--Controls if dynamic occlusion culling should be performed for this renderer.
--
---@source UnityEngine.CoreModule.dll
---@field allowOcclusionWhenDynamic bool
--
--Indicates whether the renderer is part of a with other renderers.
--
---@source UnityEngine.CoreModule.dll
---@field isPartOfStaticBatch bool
--
--Matrix that transforms a point from world space into local space (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field worldToLocalMatrix UnityEngine.Matrix4x4
--
--Matrix that transforms a point from local space into world space (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field localToWorldMatrix UnityEngine.Matrix4x4
--
--If set, the Renderer will use the Light Probe Proxy Volume component attached to the source GameObject.
--
---@source UnityEngine.CoreModule.dll
---@field lightProbeProxyVolumeOverride UnityEngine.GameObject
--
--If set, Renderer will use this Transform's position to find the light or reflection probe.
--
---@source UnityEngine.CoreModule.dll
---@field probeAnchor UnityEngine.Transform
--
--The index of the baked lightmap applied to this renderer.
--
---@source UnityEngine.CoreModule.dll
---@field lightmapIndex int
--
--The index of the realtime lightmap applied to this renderer.
--
---@source UnityEngine.CoreModule.dll
---@field realtimeLightmapIndex int
--
--The UV scale & offset used for a lightmap.
--
---@source UnityEngine.CoreModule.dll
---@field lightmapScaleOffset UnityEngine.Vector4
--
--The UV scale & offset used for a realtime lightmap.
--
---@source UnityEngine.CoreModule.dll
---@field realtimeLightmapScaleOffset UnityEngine.Vector4
--
--Returns all the instantiated materials of this object.
--
---@source UnityEngine.CoreModule.dll
---@field materials UnityEngine.Material[]
--
--Returns the first instantiated Material assigned to the renderer.
--
---@source UnityEngine.CoreModule.dll
---@field material UnityEngine.Material
--
--The shared material of this object.
--
---@source UnityEngine.CoreModule.dll
---@field sharedMaterial UnityEngine.Material
--
--All the shared materials of this object.
--
---@source UnityEngine.CoreModule.dll
---@field sharedMaterials UnityEngine.Material[]
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Renderer = {}

--
--Returns true if the Renderer has a material property block attached via SetPropertyBlock.
--
---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.Renderer.HasPropertyBlock() end

--
--Lets you set or clear per-renderer or per-material parameter overrides.
--
--```plaintext
--Params: properties - Property block with values you want to override.
--        materialIndex - The index of the Material you want to override the parameters of. The index ranges from 0 to Renderer.sharedMaterial.Length-1.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param properties UnityEngine.MaterialPropertyBlock
function CS.UnityEngine.Renderer.SetPropertyBlock(properties) end

--
--Lets you set or clear per-renderer or per-material parameter overrides.
--
--```plaintext
--Params: properties - Property block with values you want to override.
--        materialIndex - The index of the Material you want to override the parameters of. The index ranges from 0 to Renderer.sharedMaterial.Length-1.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param properties UnityEngine.MaterialPropertyBlock
---@param materialIndex int
function CS.UnityEngine.Renderer.SetPropertyBlock(properties, materialIndex) end

--
--Get per-Renderer or per-Material property block.
--
--```plaintext
--Params: properties - Material parameters to retrieve.
--        materialIndex - The index of the Material you want to get overridden parameters from. The index ranges from 0 to Renderer.sharedMaterials.Length-1.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param properties UnityEngine.MaterialPropertyBlock
function CS.UnityEngine.Renderer.GetPropertyBlock(properties) end

--
--Get per-Renderer or per-Material property block.
--
--```plaintext
--Params: properties - Material parameters to retrieve.
--        materialIndex - The index of the Material you want to get overridden parameters from. The index ranges from 0 to Renderer.sharedMaterials.Length-1.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param properties UnityEngine.MaterialPropertyBlock
---@param materialIndex int
function CS.UnityEngine.Renderer.GetPropertyBlock(properties, materialIndex) end

---@source UnityEngine.CoreModule.dll
---@param m System.Collections.Generic.List<UnityEngine.Material>
function CS.UnityEngine.Renderer.GetMaterials(m) end

---@source UnityEngine.CoreModule.dll
---@param m System.Collections.Generic.List<UnityEngine.Material>
function CS.UnityEngine.Renderer.GetSharedMaterials(m) end

---@source UnityEngine.CoreModule.dll
---@param result System.Collections.Generic.List<UnityEngine.Rendering.ReflectionProbeBlendInfo>
function CS.UnityEngine.Renderer.GetClosestReflectionProbes(result) end


--
--A script interface for a.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Projector: UnityEngine.Behaviour
---@source UnityEngine.CoreModule.dll
---@field isOrthoGraphic bool
---@source UnityEngine.CoreModule.dll
---@field orthoGraphicSize float
--
--The near clipping plane distance.
--
---@source UnityEngine.CoreModule.dll
---@field nearClipPlane float
--
--The far clipping plane distance.
--
---@source UnityEngine.CoreModule.dll
---@field farClipPlane float
--
--The field of view of the projection in degrees.
--
---@source UnityEngine.CoreModule.dll
---@field fieldOfView float
--
--The aspect ratio of the projection.
--
---@source UnityEngine.CoreModule.dll
---@field aspectRatio float
--
--Is the projection orthographic (true) or perspective (false)?
--
---@source UnityEngine.CoreModule.dll
---@field orthographic bool
--
--Projection's half-size when in orthographic mode.
--
---@source UnityEngine.CoreModule.dll
---@field orthographicSize float
--
--Which object layers are ignored by the projector.
--
---@source UnityEngine.CoreModule.dll
---@field ignoreLayers int
--
--The material that will be projected onto every object.
--
---@source UnityEngine.CoreModule.dll
---@field material UnityEngine.Material
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Projector = {}


--
--Shader scripts used for all rendering.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Shader: UnityEngine.Object
--
--Shader hardware tier classification for current device.
--
---@source UnityEngine.CoreModule.dll
---@field globalShaderHardwareTier UnityEngine.Rendering.ShaderHardwareTier
--
--Shader LOD level for this shader.
--
---@source UnityEngine.CoreModule.dll
---@field maximumLOD int
--
--Shader LOD level for all shaders.
--
---@source UnityEngine.CoreModule.dll
---@field globalMaximumLOD int
--
--Can this shader run on the end-users graphics card? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field isSupported bool
--
--Render pipeline currently in use.
--
---@source UnityEngine.CoreModule.dll
---@field globalRenderPipeline string
--
--Render queue of this shader. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field renderQueue int
--
--Returns the number of shader passes on the active SubShader.
--
---@source UnityEngine.CoreModule.dll
---@field passCount int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Shader = {}

---@source UnityEngine.CoreModule.dll
---@param propertyName string
---@param mode UnityEngine.TexGenMode
function CS.UnityEngine.Shader:SetGlobalTexGenMode(propertyName, mode) end

---@source UnityEngine.CoreModule.dll
---@param propertyName string
---@param matrixName string
function CS.UnityEngine.Shader:SetGlobalTextureMatrixName(propertyName, matrixName) end

--
--Finds a shader with the given name.
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Shader
function CS.UnityEngine.Shader:Find(name) end

--
--Enables a global shader keyword.
--
--```plaintext
--Params: keyword - The name of the local shader keyword to enable.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param keyword string
function CS.UnityEngine.Shader:EnableKeyword(keyword) end

--
--Disables a global shader keyword.
--
--```plaintext
--Params: keyword - The name of the local shader keyword to disable.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param keyword string
function CS.UnityEngine.Shader:DisableKeyword(keyword) end

--
--Returns true if the given global shader keyword is enabled. Otherwise, returns false.
--
--```plaintext
--Params: keyword - The name of the global shader keyword to check.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param keyword string
---@return Boolean
function CS.UnityEngine.Shader:IsKeywordEnabled(keyword) end

--
--Prewarms all shader variants of all Shaders currently in memory.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Shader:WarmupAllShaders() end

--
--Unique integer for the name.
--
--```plaintext
--Params: name - Shader property name.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Int32
function CS.UnityEngine.Shader:PropertyToID(name) end

--
--Returns the dependency shader.
--
--```plaintext
--Params: name - The name of the dependency to query.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Shader
function CS.UnityEngine.Shader.GetDependency(name) end

--
--Search for the pass tag specified by tagName on the shader's active SubShader and returns the value of the tag.
--
--```plaintext
--Params: passIndex - The index of the pass.
--        tagName - The name of the pass tag.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param passIndex int
---@param tagName UnityEngine.Rendering.ShaderTagId
---@return ShaderTagId
function CS.UnityEngine.Shader.FindPassTagValue(passIndex, tagName) end

--
--Sets a global float property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value float
function CS.UnityEngine.Shader:SetGlobalFloat(name, value) end

--
--Sets a global float property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value float
function CS.UnityEngine.Shader:SetGlobalFloat(nameID, value) end

--
--Sets a global int property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value int
function CS.UnityEngine.Shader:SetGlobalInt(name, value) end

--
--Sets a global int property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value int
function CS.UnityEngine.Shader:SetGlobalInt(nameID, value) end

--
--Sets a global vector property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Vector4
function CS.UnityEngine.Shader:SetGlobalVector(name, value) end

--
--Sets a global vector property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Vector4
function CS.UnityEngine.Shader:SetGlobalVector(nameID, value) end

--
--Sets a global color property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Color
function CS.UnityEngine.Shader:SetGlobalColor(name, value) end

--
--Sets a global color property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Color
function CS.UnityEngine.Shader:SetGlobalColor(nameID, value) end

--
--Sets a global matrix property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Matrix4x4
function CS.UnityEngine.Shader:SetGlobalMatrix(name, value) end

--
--Sets a global matrix property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Matrix4x4
function CS.UnityEngine.Shader:SetGlobalMatrix(nameID, value) end

--
--Sets a global texture property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        value - The texture to set.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Texture
function CS.UnityEngine.Shader:SetGlobalTexture(name, value) end

--
--Sets a global texture property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        value - The texture to set.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Texture
function CS.UnityEngine.Shader:SetGlobalTexture(nameID, value) end

--
--Sets a global texture property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        value - The texture to set.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.RenderTexture
---@param element UnityEngine.Rendering.RenderTextureSubElement
function CS.UnityEngine.Shader:SetGlobalTexture(name, value, element) end

--
--Sets a global texture property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        value - The texture to set.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.RenderTexture
---@param element UnityEngine.Rendering.RenderTextureSubElement
function CS.UnityEngine.Shader:SetGlobalTexture(nameID, value, element) end

--
--Sets a global buffer property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        value - The buffer to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.ComputeBuffer
function CS.UnityEngine.Shader:SetGlobalBuffer(name, value) end

--
--Sets a global buffer property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        value - The buffer to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.ComputeBuffer
function CS.UnityEngine.Shader:SetGlobalBuffer(nameID, value) end

--
--Sets a global buffer property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        value - The buffer to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.GraphicsBuffer
function CS.UnityEngine.Shader:SetGlobalBuffer(name, value) end

--
--Sets a global buffer property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        value - The buffer to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.GraphicsBuffer
function CS.UnityEngine.Shader:SetGlobalBuffer(nameID, value) end

--
--Sets a ComputeBuffer or GraphicsBuffer as a named constant buffer for all shader types.
--
--```plaintext
--Params: nameID - The name ID of the constant buffer retrieved by Shader.PropertyToID.
--        name - The name of the constant buffer to override.
--        value - The buffer to override the constant buffer values with, or null to remove binding.
--        offset - Offset in bytes from the beginning of the buffer to bind. Must be a multiple of SystemInfo.constantBufferOffsetAlignment, or 0 if that value is 0.
--        size - The number of bytes to bind.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.ComputeBuffer
---@param offset int
---@param size int
function CS.UnityEngine.Shader:SetGlobalConstantBuffer(name, value, offset, size) end

--
--Sets a ComputeBuffer or GraphicsBuffer as a named constant buffer for all shader types.
--
--```plaintext
--Params: nameID - The name ID of the constant buffer retrieved by Shader.PropertyToID.
--        name - The name of the constant buffer to override.
--        value - The buffer to override the constant buffer values with, or null to remove binding.
--        offset - Offset in bytes from the beginning of the buffer to bind. Must be a multiple of SystemInfo.constantBufferOffsetAlignment, or 0 if that value is 0.
--        size - The number of bytes to bind.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.ComputeBuffer
---@param offset int
---@param size int
function CS.UnityEngine.Shader:SetGlobalConstantBuffer(nameID, value, offset, size) end

--
--Sets a ComputeBuffer or GraphicsBuffer as a named constant buffer for all shader types.
--
--```plaintext
--Params: nameID - The name ID of the constant buffer retrieved by Shader.PropertyToID.
--        name - The name of the constant buffer to override.
--        value - The buffer to override the constant buffer values with, or null to remove binding.
--        offset - Offset in bytes from the beginning of the buffer to bind. Must be a multiple of SystemInfo.constantBufferOffsetAlignment, or 0 if that value is 0.
--        size - The number of bytes to bind.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.GraphicsBuffer
---@param offset int
---@param size int
function CS.UnityEngine.Shader:SetGlobalConstantBuffer(name, value, offset, size) end

--
--Sets a ComputeBuffer or GraphicsBuffer as a named constant buffer for all shader types.
--
--```plaintext
--Params: nameID - The name ID of the constant buffer retrieved by Shader.PropertyToID.
--        name - The name of the constant buffer to override.
--        value - The buffer to override the constant buffer values with, or null to remove binding.
--        offset - Offset in bytes from the beginning of the buffer to bind. Must be a multiple of SystemInfo.constantBufferOffsetAlignment, or 0 if that value is 0.
--        size - The number of bytes to bind.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.GraphicsBuffer
---@param offset int
---@param size int
function CS.UnityEngine.Shader:SetGlobalConstantBuffer(nameID, value, offset, size) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<float>
function CS.UnityEngine.Shader:SetGlobalFloatArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<float>
function CS.UnityEngine.Shader:SetGlobalFloatArray(nameID, values) end

--
--Sets a global float array property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param values float[]
function CS.UnityEngine.Shader:SetGlobalFloatArray(name, values) end

--
--Sets a global float array property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values float[]
function CS.UnityEngine.Shader:SetGlobalFloatArray(nameID, values) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.Shader:SetGlobalVectorArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.Shader:SetGlobalVectorArray(nameID, values) end

--
--Sets a global vector array property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param values UnityEngine.Vector4[]
function CS.UnityEngine.Shader:SetGlobalVectorArray(name, values) end

--
--Sets a global vector array property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values UnityEngine.Vector4[]
function CS.UnityEngine.Shader:SetGlobalVectorArray(nameID, values) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<UnityEngine.Matrix4x4>
function CS.UnityEngine.Shader:SetGlobalMatrixArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<UnityEngine.Matrix4x4>
function CS.UnityEngine.Shader:SetGlobalMatrixArray(nameID, values) end

--
--Sets a global matrix array property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param values UnityEngine.Matrix4x4[]
function CS.UnityEngine.Shader:SetGlobalMatrixArray(name, values) end

--
--Sets a global matrix array property for all shaders.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values UnityEngine.Matrix4x4[]
function CS.UnityEngine.Shader:SetGlobalMatrixArray(nameID, values) end

--
--Gets a global float property for all shaders previously set using SetGlobalFloat.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Single
function CS.UnityEngine.Shader:GetGlobalFloat(name) end

--
--Gets a global float property for all shaders previously set using SetGlobalFloat.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Single
function CS.UnityEngine.Shader:GetGlobalFloat(nameID) end

--
--Gets a global int property for all shaders previously set using SetGlobalInt.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Int32
function CS.UnityEngine.Shader:GetGlobalInt(name) end

--
--Gets a global int property for all shaders previously set using SetGlobalInt.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Int32
function CS.UnityEngine.Shader:GetGlobalInt(nameID) end

--
--Gets a global vector property for all shaders previously set using SetGlobalVector.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Vector4
function CS.UnityEngine.Shader:GetGlobalVector(name) end

--
--Gets a global vector property for all shaders previously set using SetGlobalVector.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Vector4
function CS.UnityEngine.Shader:GetGlobalVector(nameID) end

--
--Gets a global color property for all shaders previously set using SetGlobalColor.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Color
function CS.UnityEngine.Shader:GetGlobalColor(name) end

--
--Gets a global color property for all shaders previously set using SetGlobalColor.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Color
function CS.UnityEngine.Shader:GetGlobalColor(nameID) end

--
--Gets a global matrix property for all shaders previously set using SetGlobalMatrix.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Matrix4x4
function CS.UnityEngine.Shader:GetGlobalMatrix(name) end

--
--Gets a global matrix property for all shaders previously set using SetGlobalMatrix.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Matrix4x4
function CS.UnityEngine.Shader:GetGlobalMatrix(nameID) end

--
--Gets a global texture property for all shaders previously set using SetGlobalTexture.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Texture
function CS.UnityEngine.Shader:GetGlobalTexture(name) end

--
--Gets a global texture property for all shaders previously set using SetGlobalTexture.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Texture
function CS.UnityEngine.Shader:GetGlobalTexture(nameID) end

--
--Gets a global float array for all shaders previously set using SetGlobalFloatArray.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
function CS.UnityEngine.Shader:GetGlobalFloatArray(name) end

--
--Gets a global float array for all shaders previously set using SetGlobalFloatArray.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
function CS.UnityEngine.Shader:GetGlobalFloatArray(nameID) end

--
--Gets a global vector array for all shaders previously set using SetGlobalVectorArray.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
function CS.UnityEngine.Shader:GetGlobalVectorArray(name) end

--
--Gets a global vector array for all shaders previously set using SetGlobalVectorArray.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
function CS.UnityEngine.Shader:GetGlobalVectorArray(nameID) end

--
--Gets a global matrix array for all shaders previously set using SetGlobalMatrixArray.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
function CS.UnityEngine.Shader:GetGlobalMatrixArray(name) end

--
--Gets a global matrix array for all shaders previously set using SetGlobalMatrixArray.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
function CS.UnityEngine.Shader:GetGlobalMatrixArray(nameID) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<float>
function CS.UnityEngine.Shader:GetGlobalFloatArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<float>
function CS.UnityEngine.Shader:GetGlobalFloatArray(nameID, values) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.Shader:GetGlobalVectorArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.Shader:GetGlobalVectorArray(nameID, values) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<UnityEngine.Matrix4x4>
function CS.UnityEngine.Shader:GetGlobalMatrixArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<UnityEngine.Matrix4x4>
function CS.UnityEngine.Shader:GetGlobalMatrixArray(nameID, values) end

--
--Returns the number of properties in this Shader.
--
---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Shader.GetPropertyCount() end

--
--Finds the index of a shader property by its name.
--
--```plaintext
--Params: propertyName - The name of the shader property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param propertyName string
---@return Int32
function CS.UnityEngine.Shader.FindPropertyIndex(propertyName) end

--
--Returns the name of the shader property at the specified index.
--
--```plaintext
--Params: propertyIndex - The index of the shader property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param propertyIndex int
---@return String
function CS.UnityEngine.Shader.GetPropertyName(propertyIndex) end

--
--Returns the nameId of the shader property at the specified index.
--
--```plaintext
--Params: propertyIndex - The index of the shader property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param propertyIndex int
---@return Int32
function CS.UnityEngine.Shader.GetPropertyNameId(propertyIndex) end

--
--Returns the ShaderPropertyType of the property at the specified index.
--
--```plaintext
--Params: propertyIndex - The index of the shader property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param propertyIndex int
---@return ShaderPropertyType
function CS.UnityEngine.Shader.GetPropertyType(propertyIndex) end

--
--Returns the description string of the shader property at the specified index.
--
--```plaintext
--Params: propertyIndex - The index of the shader property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param propertyIndex int
---@return String
function CS.UnityEngine.Shader.GetPropertyDescription(propertyIndex) end

--
--Returns the ShaderPropertyFlags of the shader property at the specified index.
--
--```plaintext
--Params: propertyIndex - The index of the shader property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param propertyIndex int
---@return ShaderPropertyFlags
function CS.UnityEngine.Shader.GetPropertyFlags(propertyIndex) end

--
--Returns an array of strings containing attributes of the shader property at the specified index.
--
--```plaintext
--Params: propertyIndex - The index of the shader property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param propertyIndex int
function CS.UnityEngine.Shader.GetPropertyAttributes(propertyIndex) end

--
--Returns the default float value of the shader property at the specified index.
--
--```plaintext
--Params: propertyIndex - The index of the shader property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param propertyIndex int
---@return Single
function CS.UnityEngine.Shader.GetPropertyDefaultFloatValue(propertyIndex) end

--
--Returns the default Vector4 value of the shader property at the specified index.
--
--```plaintext
--Params: propertyIndex - The index of the shader property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param propertyIndex int
---@return Vector4
function CS.UnityEngine.Shader.GetPropertyDefaultVectorValue(propertyIndex) end

--
--Returns the min and max limits for a <a href="Rendering.ShaderPropertyType.Range.html">Range</a> property at the specified index.
--
--```plaintext
--Params: propertyIndex - The index of the shader property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param propertyIndex int
---@return Vector2
function CS.UnityEngine.Shader.GetPropertyRangeLimits(propertyIndex) end

--
--Returns the TextureDimension of a <a href="Rendering.ShaderPropertyType.Texture.html">Texture</a> shader property at the specified index.
--
--```plaintext
--Params: propertyIndex - The index of the shader property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param propertyIndex int
---@return TextureDimension
function CS.UnityEngine.Shader.GetPropertyTextureDimension(propertyIndex) end

--
--Returns the default Texture name of a <a href="Rendering.ShaderPropertyType.Texture.html">Texture</a> shader property at the specified index.
--
--```plaintext
--Params: propertyIndex - The index of the shader property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param propertyIndex int
---@return String
function CS.UnityEngine.Shader.GetPropertyTextureDefaultName(propertyIndex) end

---@source UnityEngine.CoreModule.dll
---@param propertyIndex int
---@param stackName string
---@param layerIndex int
---@return Boolean
function CS.UnityEngine.Shader.FindTextureStack(propertyIndex, stackName, layerIndex) end


--
--Single, dual, or directional lightmaps rendering mode, used only in GIWorkflowMode.Legacy
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LightmapsModeLegacy: System.Enum
--
--Single, traditional lightmap rendering mode.
--
---@source UnityEngine.CoreModule.dll
---@field Single UnityEngine.LightmapsModeLegacy
--
--Dual lightmap rendering mode.
--
---@source UnityEngine.CoreModule.dll
---@field Dual UnityEngine.LightmapsModeLegacy
--
--Directional rendering mode.
--
---@source UnityEngine.CoreModule.dll
---@field Directional UnityEngine.LightmapsModeLegacy
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LightmapsModeLegacy = {}

---@source 
---@param value any
---@return UnityEngine.LightmapsModeLegacy
function CS.UnityEngine.LightmapsModeLegacy:__CastFrom(value) end


--
--The trail renderer is used to make trails behind objects in the Scene as they move about.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.TrailRenderer: UnityEngine.Renderer
--
--Get the number of line segments in the trail.
--
---@source UnityEngine.CoreModule.dll
---@field numPositions int
--
--How long does the trail take to fade out.
--
---@source UnityEngine.CoreModule.dll
---@field time float
--
--The width of the trail at the spawning point.
--
---@source UnityEngine.CoreModule.dll
---@field startWidth float
--
--The width of the trail at the end of the trail.
--
---@source UnityEngine.CoreModule.dll
---@field endWidth float
--
--Set an overall multiplier that is applied to the TrailRenderer.widthCurve to get the final width of the trail.
--
---@source UnityEngine.CoreModule.dll
---@field widthMultiplier float
--
--Does the GameObject of this Trail Renderer auto destruct?
--
---@source UnityEngine.CoreModule.dll
---@field autodestruct bool
--
--Creates trails when the GameObject moves.
--
---@source UnityEngine.CoreModule.dll
---@field emitting bool
--
--Set this to a value greater than 0, to get rounded corners between each segment of the trail.
--
---@source UnityEngine.CoreModule.dll
---@field numCornerVertices int
--
--Set this to a value greater than 0, to get rounded corners on each end of the trail.
--
---@source UnityEngine.CoreModule.dll
---@field numCapVertices int
--
--Set the minimum distance the trail can travel before a new vertex is added to it.
--
---@source UnityEngine.CoreModule.dll
---@field minVertexDistance float
--
--Set the color at the start of the trail.
--
---@source UnityEngine.CoreModule.dll
---@field startColor UnityEngine.Color
--
--Set the color at the end of the trail.
--
---@source UnityEngine.CoreModule.dll
---@field endColor UnityEngine.Color
--
--Get the number of line segments in the trail.
--
---@source UnityEngine.CoreModule.dll
---@field positionCount int
--
--Apply a shadow bias to prevent self-shadowing artifacts. The specified value is the proportion of the trail width at each segment.
--
---@source UnityEngine.CoreModule.dll
---@field shadowBias float
--
--Configures a trail to generate Normals and Tangents. With this data, Scene lighting can affect the trail via Normal Maps and the Unity Standard Shader, or your own custom-built Shaders.
--
---@source UnityEngine.CoreModule.dll
---@field generateLightingData bool
--
--Choose whether the U coordinate of the trail texture is tiled or stretched.
--
---@source UnityEngine.CoreModule.dll
---@field textureMode UnityEngine.LineTextureMode
--
--Select whether the trail will face the camera, or the orientation of the Transform Component.
--
---@source UnityEngine.CoreModule.dll
---@field alignment UnityEngine.LineAlignment
--
--Set the curve describing the width of the trail at various points along its length.
--
---@source UnityEngine.CoreModule.dll
---@field widthCurve UnityEngine.AnimationCurve
--
--Set the color gradient describing the color of the trail at various points along its length.
--
---@source UnityEngine.CoreModule.dll
---@field colorGradient UnityEngine.Gradient
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.TrailRenderer = {}

--
--Set the position of a vertex in the trail.
--
--```plaintext
--Params: index - Which position to set.
--        position - The new position.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@param position UnityEngine.Vector3
function CS.UnityEngine.TrailRenderer.SetPosition(index, position) end

--
--The position at the specified index in the array.
--
--```plaintext
--Params: index - The index of the position to retrieve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@return Vector3
function CS.UnityEngine.TrailRenderer.GetPosition(index) end

--
--Removes all points from the TrailRenderer.
--Useful for restarting a trail from a new position.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.TrailRenderer.Clear() end

--
--Creates a snapshot of TrailRenderer and stores it in mesh.
--
--```plaintext
--Params: mesh - A static mesh that will receive the snapshot of the trail.
--        camera - The camera used for determining which way camera-space trails will face.
--        useTransform - Include the rotation and scale of the Transform in the baked mesh.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param useTransform bool
function CS.UnityEngine.TrailRenderer.BakeMesh(mesh, useTransform) end

--
--Creates a snapshot of TrailRenderer and stores it in mesh.
--
--```plaintext
--Params: mesh - A static mesh that will receive the snapshot of the trail.
--        camera - The camera used for determining which way camera-space trails will face.
--        useTransform - Include the rotation and scale of the Transform in the baked mesh.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param camera UnityEngine.Camera
---@param useTransform bool
function CS.UnityEngine.TrailRenderer.BakeMesh(mesh, camera, useTransform) end

--
--How many positions were actually stored in the output array.
--
--```plaintext
--Params: positions - The array of positions to retrieve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param positions UnityEngine.Vector3[]
---@return Int32
function CS.UnityEngine.TrailRenderer.GetPositions(positions) end

--
--Sets the positions of all vertices in the trail.
--
--```plaintext
--Params: positions - The array of positions to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param positions UnityEngine.Vector3[]
function CS.UnityEngine.TrailRenderer.SetPositions(positions) end

--
--Adds a position to the trail.
--
--```plaintext
--Params: position - The position to add to the trail.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3
function CS.UnityEngine.TrailRenderer.AddPosition(position) end

--
--Add an array of positions to the trail.
--
--```plaintext
--Params: positions - The positions to add to the trail.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param positions UnityEngine.Vector3[]
function CS.UnityEngine.TrailRenderer.AddPositions(positions) end

---@source UnityEngine.CoreModule.dll
---@param positions Unity.Collections.NativeArray<UnityEngine.Vector3>
function CS.UnityEngine.TrailRenderer.SetPositions(positions) end

---@source UnityEngine.CoreModule.dll
---@param positions Unity.Collections.NativeSlice<UnityEngine.Vector3>
function CS.UnityEngine.TrailRenderer.SetPositions(positions) end

---@source UnityEngine.CoreModule.dll
---@param positions Unity.Collections.NativeArray<UnityEngine.Vector3>
---@return Int32
function CS.UnityEngine.TrailRenderer.GetPositions(positions) end

---@source UnityEngine.CoreModule.dll
---@param positions Unity.Collections.NativeSlice<UnityEngine.Vector3>
---@return Int32
function CS.UnityEngine.TrailRenderer.GetPositions(positions) end

---@source UnityEngine.CoreModule.dll
---@param positions Unity.Collections.NativeArray<UnityEngine.Vector3>
function CS.UnityEngine.TrailRenderer.AddPositions(positions) end

---@source UnityEngine.CoreModule.dll
---@param positions Unity.Collections.NativeSlice<UnityEngine.Vector3>
function CS.UnityEngine.TrailRenderer.AddPositions(positions) end


--
--Describes different types of camera.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CameraType: System.Enum
--
--Used to indicate a regular in-game camera.
--
---@source UnityEngine.CoreModule.dll
---@field Game UnityEngine.CameraType
--
--Used to indicate that a camera is used for rendering the Scene View in the Editor.
--
---@source UnityEngine.CoreModule.dll
---@field SceneView UnityEngine.CameraType
--
--Used to indicate a camera that is used for rendering previews in the Editor.
--
---@source UnityEngine.CoreModule.dll
---@field Preview UnityEngine.CameraType
--
--Used to indicate that a camera is used for rendering VR (in edit mode) in the Editor.
--
---@source UnityEngine.CoreModule.dll
---@field VR UnityEngine.CameraType
--
--Used to indicate a camera that is used for rendering reflection probes.
--
---@source UnityEngine.CoreModule.dll
---@field Reflection UnityEngine.CameraType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CameraType = {}

---@source 
---@param value any
---@return UnityEngine.CameraType
function CS.UnityEngine.CameraType:__CastFrom(value) end


--
--The line renderer is used to draw free-floating lines in 3D space.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LineRenderer: UnityEngine.Renderer
--
--Set the number of line segments.
--
---@source UnityEngine.CoreModule.dll
---@field numPositions int
--
--Set the width at the start of the line.
--
---@source UnityEngine.CoreModule.dll
---@field startWidth float
--
--Set the width at the end of the line.
--
---@source UnityEngine.CoreModule.dll
---@field endWidth float
--
--Set an overall multiplier that is applied to the LineRenderer.widthCurve to get the final width of the line.
--
---@source UnityEngine.CoreModule.dll
---@field widthMultiplier float
--
--Set this to a value greater than 0, to get rounded corners between each segment of the line.
--
---@source UnityEngine.CoreModule.dll
---@field numCornerVertices int
--
--Set this to a value greater than 0, to get rounded corners on each end of the line.
--
---@source UnityEngine.CoreModule.dll
---@field numCapVertices int
--
--If enabled, the lines are defined in world space.
--
---@source UnityEngine.CoreModule.dll
---@field useWorldSpace bool
--
--Connect the start and end positions of the line together to form a continuous loop.
--
---@source UnityEngine.CoreModule.dll
---@field loop bool
--
--Set the color at the start of the line.
--
---@source UnityEngine.CoreModule.dll
---@field startColor UnityEngine.Color
--
--Set the color at the end of the line.
--
---@source UnityEngine.CoreModule.dll
---@field endColor UnityEngine.Color
--
--Set/get the number of vertices.
--
---@source UnityEngine.CoreModule.dll
---@field positionCount int
--
--Apply a shadow bias to prevent self-shadowing artifacts. The specified value is the proportion of the line width at each segment.
--
---@source UnityEngine.CoreModule.dll
---@field shadowBias float
--
--Configures a line to generate Normals and Tangents. With this data, Scene lighting can affect the line via Normal Maps and the Unity Standard Shader, or your own custom-built Shaders.
--
---@source UnityEngine.CoreModule.dll
---@field generateLightingData bool
--
--Choose whether the U coordinate of the line texture is tiled or stretched.
--
---@source UnityEngine.CoreModule.dll
---@field textureMode UnityEngine.LineTextureMode
--
--Select whether the line will face the camera, or the orientation of the Transform Component.
--
---@source UnityEngine.CoreModule.dll
---@field alignment UnityEngine.LineAlignment
--
--Set the curve describing the width of the line at various points along its length.
--
---@source UnityEngine.CoreModule.dll
---@field widthCurve UnityEngine.AnimationCurve
--
--Set the color gradient describing the color of the line at various points along its length.
--
---@source UnityEngine.CoreModule.dll
---@field colorGradient UnityEngine.Gradient
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LineRenderer = {}

--
--Set the line width at the start and at the end.
--
---@source UnityEngine.CoreModule.dll
---@param start float
---@param end float
function CS.UnityEngine.LineRenderer.SetWidth(start, end) end

--
--Set the line color at the start and at the end.
--
---@source UnityEngine.CoreModule.dll
---@param start UnityEngine.Color
---@param end UnityEngine.Color
function CS.UnityEngine.LineRenderer.SetColors(start, end) end

--
--Set the number of line segments.
--
---@source UnityEngine.CoreModule.dll
---@param count int
function CS.UnityEngine.LineRenderer.SetVertexCount(count) end

--
--Set the position of a vertex in the line.
--
--```plaintext
--Params: index - Which position to set.
--        position - The new position.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@param position UnityEngine.Vector3
function CS.UnityEngine.LineRenderer.SetPosition(index, position) end

--
--The position at the specified index in the array.
--
--```plaintext
--Params: index - The index of the position to retrieve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@return Vector3
function CS.UnityEngine.LineRenderer.GetPosition(index) end

--
--Generates a simplified version of the original line by removing points that fall within the specified tolerance.
--
--```plaintext
--Params: tolerance - This value is used to evaluate which points should be removed from the line. A higher value results in a simpler line (less points). A positive value close to zero results in a line with little to no reduction. A value of zero or less has no effect.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param tolerance float
function CS.UnityEngine.LineRenderer.Simplify(tolerance) end

--
--Creates a snapshot of LineRenderer and stores it in mesh.
--
--```plaintext
--Params: mesh - A static mesh that will receive the snapshot of the line.
--        camera - The camera used for determining which way camera-space lines will face.
--        useTransform - Include the rotation and scale of the Transform in the baked mesh.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param useTransform bool
function CS.UnityEngine.LineRenderer.BakeMesh(mesh, useTransform) end

--
--Creates a snapshot of LineRenderer and stores it in mesh.
--
--```plaintext
--Params: mesh - A static mesh that will receive the snapshot of the line.
--        camera - The camera used for determining which way camera-space lines will face.
--        useTransform - Include the rotation and scale of the Transform in the baked mesh.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param camera UnityEngine.Camera
---@param useTransform bool
function CS.UnityEngine.LineRenderer.BakeMesh(mesh, camera, useTransform) end

--
--How many positions were actually stored in the output array.
--
--```plaintext
--Params: positions - The array of positions to retrieve. The array passed should be of at least positionCount in size.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param positions UnityEngine.Vector3[]
---@return Int32
function CS.UnityEngine.LineRenderer.GetPositions(positions) end

--
--Set the positions of all vertices in the line.
--
--```plaintext
--Params: positions - The array of positions to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param positions UnityEngine.Vector3[]
function CS.UnityEngine.LineRenderer.SetPositions(positions) end

---@source UnityEngine.CoreModule.dll
---@param positions Unity.Collections.NativeArray<UnityEngine.Vector3>
function CS.UnityEngine.LineRenderer.SetPositions(positions) end

---@source UnityEngine.CoreModule.dll
---@param positions Unity.Collections.NativeSlice<UnityEngine.Vector3>
function CS.UnityEngine.LineRenderer.SetPositions(positions) end

---@source UnityEngine.CoreModule.dll
---@param positions Unity.Collections.NativeArray<UnityEngine.Vector3>
---@return Int32
function CS.UnityEngine.LineRenderer.GetPositions(positions) end

---@source UnityEngine.CoreModule.dll
---@param positions Unity.Collections.NativeSlice<UnityEngine.Vector3>
---@return Int32
function CS.UnityEngine.LineRenderer.GetPositions(positions) end


--
--ComputeBuffer type.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ComputeBufferType: System.Enum
--
--Default ComputeBuffer type (structured buffer).
--
---@source UnityEngine.CoreModule.dll
---@field Default UnityEngine.ComputeBufferType
--
--Raw ComputeBuffer type (byte address buffer).
--
---@source UnityEngine.CoreModule.dll
---@field Raw UnityEngine.ComputeBufferType
--
--Append-consume ComputeBuffer type.
--
---@source UnityEngine.CoreModule.dll
---@field Append UnityEngine.ComputeBufferType
--
--ComputeBuffer with a counter.
--
---@source UnityEngine.CoreModule.dll
---@field Counter UnityEngine.ComputeBufferType
--
--ComputeBuffer that you can use as a constant buffer (uniform buffer).
--
---@source UnityEngine.CoreModule.dll
---@field Constant UnityEngine.ComputeBufferType
--
--ComputeBuffer that you can use as a structured buffer.
--
---@source UnityEngine.CoreModule.dll
---@field Structured UnityEngine.ComputeBufferType
---@source UnityEngine.CoreModule.dll
---@field DrawIndirect UnityEngine.ComputeBufferType
--
--ComputeBuffer used for Graphics.DrawProceduralIndirect, ComputeShader.DispatchIndirect or Graphics.DrawMeshInstancedIndirect arguments.
--
---@source UnityEngine.CoreModule.dll
---@field IndirectArguments UnityEngine.ComputeBufferType
---@source UnityEngine.CoreModule.dll
---@field GPUMemory UnityEngine.ComputeBufferType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ComputeBufferType = {}

---@source 
---@param value any
---@return UnityEngine.ComputeBufferType
function CS.UnityEngine.ComputeBufferType:__CastFrom(value) end


--
--A block of material values to apply.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MaterialPropertyBlock: object
--
--Is the material property block empty? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field isEmpty bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MaterialPropertyBlock = {}

---@source UnityEngine.CoreModule.dll
---@param name string
---@param value float
function CS.UnityEngine.MaterialPropertyBlock.AddFloat(name, value) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value float
function CS.UnityEngine.MaterialPropertyBlock.AddFloat(nameID, value) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Vector4
function CS.UnityEngine.MaterialPropertyBlock.AddVector(name, value) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Vector4
function CS.UnityEngine.MaterialPropertyBlock.AddVector(nameID, value) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Color
function CS.UnityEngine.MaterialPropertyBlock.AddColor(name, value) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Color
function CS.UnityEngine.MaterialPropertyBlock.AddColor(nameID, value) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Matrix4x4
function CS.UnityEngine.MaterialPropertyBlock.AddMatrix(name, value) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Matrix4x4
function CS.UnityEngine.MaterialPropertyBlock.AddMatrix(nameID, value) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Texture
function CS.UnityEngine.MaterialPropertyBlock.AddTexture(name, value) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Texture
function CS.UnityEngine.MaterialPropertyBlock.AddTexture(nameID, value) end

--
--Clear material property values.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.MaterialPropertyBlock.Clear() end

--
--Set a float property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The float value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value float
function CS.UnityEngine.MaterialPropertyBlock.SetFloat(name, value) end

--
--Set a float property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The float value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value float
function CS.UnityEngine.MaterialPropertyBlock.SetFloat(nameID, value) end

--
--Adds a property to the block. If an int property with the given name already exists, the old value is replaced.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The int value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value int
function CS.UnityEngine.MaterialPropertyBlock.SetInt(name, value) end

--
--Adds a property to the block. If an int property with the given name already exists, the old value is replaced.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The int value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value int
function CS.UnityEngine.MaterialPropertyBlock.SetInt(nameID, value) end

--
--Set a vector property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The Vector4 value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Vector4
function CS.UnityEngine.MaterialPropertyBlock.SetVector(name, value) end

--
--Set a vector property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The Vector4 value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Vector4
function CS.UnityEngine.MaterialPropertyBlock.SetVector(nameID, value) end

--
--Set a color property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The Color value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Color
function CS.UnityEngine.MaterialPropertyBlock.SetColor(name, value) end

--
--Set a color property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The Color value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Color
function CS.UnityEngine.MaterialPropertyBlock.SetColor(nameID, value) end

--
--Set a matrix property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The matrix value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Matrix4x4
function CS.UnityEngine.MaterialPropertyBlock.SetMatrix(name, value) end

--
--Set a matrix property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The matrix value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Matrix4x4
function CS.UnityEngine.MaterialPropertyBlock.SetMatrix(nameID, value) end

--
--Set a buffer property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The ComputeBuffer or GraphicsBuffer to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.ComputeBuffer
function CS.UnityEngine.MaterialPropertyBlock.SetBuffer(name, value) end

--
--Set a buffer property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The ComputeBuffer or GraphicsBuffer to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.ComputeBuffer
function CS.UnityEngine.MaterialPropertyBlock.SetBuffer(nameID, value) end

--
--Set a buffer property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The ComputeBuffer or GraphicsBuffer to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.GraphicsBuffer
function CS.UnityEngine.MaterialPropertyBlock.SetBuffer(name, value) end

--
--Set a buffer property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The ComputeBuffer or GraphicsBuffer to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.GraphicsBuffer
function CS.UnityEngine.MaterialPropertyBlock.SetBuffer(nameID, value) end

--
--Set a texture property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The Texture to set.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Texture
function CS.UnityEngine.MaterialPropertyBlock.SetTexture(name, value) end

--
--Set a texture property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The Texture to set.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Texture
function CS.UnityEngine.MaterialPropertyBlock.SetTexture(nameID, value) end

--
--Set a texture property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The Texture to set.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.RenderTexture
---@param element UnityEngine.Rendering.RenderTextureSubElement
function CS.UnityEngine.MaterialPropertyBlock.SetTexture(name, value, element) end

--
--Set a texture property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        value - The Texture to set.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.RenderTexture
---@param element UnityEngine.Rendering.RenderTextureSubElement
function CS.UnityEngine.MaterialPropertyBlock.SetTexture(nameID, value, element) end

--
--Sets a ComputeBuffer or GraphicsBuffer as a named constant buffer for the MaterialPropertyBlock.
--
--```plaintext
--Params: name - The name of the constant buffer to override.
--        value - The buffer to override the constant buffer values with.
--        offset - Offset in bytes from the beginning of the buffer to bind. Must be a multiple of SystemInfo.constantBufferOffsetAlignment, or 0 if that value is 0.
--        size - The number of bytes to bind.
--        nameID - The shader property ID of the constant buffer to override.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.ComputeBuffer
---@param offset int
---@param size int
function CS.UnityEngine.MaterialPropertyBlock.SetConstantBuffer(name, value, offset, size) end

--
--Sets a ComputeBuffer or GraphicsBuffer as a named constant buffer for the MaterialPropertyBlock.
--
--```plaintext
--Params: name - The name of the constant buffer to override.
--        value - The buffer to override the constant buffer values with.
--        offset - Offset in bytes from the beginning of the buffer to bind. Must be a multiple of SystemInfo.constantBufferOffsetAlignment, or 0 if that value is 0.
--        size - The number of bytes to bind.
--        nameID - The shader property ID of the constant buffer to override.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.ComputeBuffer
---@param offset int
---@param size int
function CS.UnityEngine.MaterialPropertyBlock.SetConstantBuffer(nameID, value, offset, size) end

--
--Sets a ComputeBuffer or GraphicsBuffer as a named constant buffer for the MaterialPropertyBlock.
--
--```plaintext
--Params: name - The name of the constant buffer to override.
--        value - The buffer to override the constant buffer values with.
--        offset - Offset in bytes from the beginning of the buffer to bind. Must be a multiple of SystemInfo.constantBufferOffsetAlignment, or 0 if that value is 0.
--        size - The number of bytes to bind.
--        nameID - The shader property ID of the constant buffer to override.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.GraphicsBuffer
---@param offset int
---@param size int
function CS.UnityEngine.MaterialPropertyBlock.SetConstantBuffer(name, value, offset, size) end

--
--Sets a ComputeBuffer or GraphicsBuffer as a named constant buffer for the MaterialPropertyBlock.
--
--```plaintext
--Params: name - The name of the constant buffer to override.
--        value - The buffer to override the constant buffer values with.
--        offset - Offset in bytes from the beginning of the buffer to bind. Must be a multiple of SystemInfo.constantBufferOffsetAlignment, or 0 if that value is 0.
--        size - The number of bytes to bind.
--        nameID - The shader property ID of the constant buffer to override.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.GraphicsBuffer
---@param offset int
---@param size int
function CS.UnityEngine.MaterialPropertyBlock.SetConstantBuffer(nameID, value, offset, size) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<float>
function CS.UnityEngine.MaterialPropertyBlock.SetFloatArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<float>
function CS.UnityEngine.MaterialPropertyBlock.SetFloatArray(nameID, values) end

--
--Set a float array property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        values - The array to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param values float[]
function CS.UnityEngine.MaterialPropertyBlock.SetFloatArray(name, values) end

--
--Set a float array property.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        values - The array to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values float[]
function CS.UnityEngine.MaterialPropertyBlock.SetFloatArray(nameID, values) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.MaterialPropertyBlock.SetVectorArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.MaterialPropertyBlock.SetVectorArray(nameID, values) end

--
--Set a vector array property.
--
--```plaintext
--Params: nameID - The name of the property.
--        values - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The array to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param values UnityEngine.Vector4[]
function CS.UnityEngine.MaterialPropertyBlock.SetVectorArray(name, values) end

--
--Set a vector array property.
--
--```plaintext
--Params: nameID - The name of the property.
--        values - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The array to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values UnityEngine.Vector4[]
function CS.UnityEngine.MaterialPropertyBlock.SetVectorArray(nameID, values) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<UnityEngine.Matrix4x4>
function CS.UnityEngine.MaterialPropertyBlock.SetMatrixArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<UnityEngine.Matrix4x4>
function CS.UnityEngine.MaterialPropertyBlock.SetMatrixArray(nameID, values) end

--
--Set a matrix array property.
--
--```plaintext
--Params: name - The name of the property.
--        values - The name ID of the property retrieved by Shader.PropertyToID.
--        nameID - The array to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param values UnityEngine.Matrix4x4[]
function CS.UnityEngine.MaterialPropertyBlock.SetMatrixArray(name, values) end

--
--Set a matrix array property.
--
--```plaintext
--Params: name - The name of the property.
--        values - The name ID of the property retrieved by Shader.PropertyToID.
--        nameID - The array to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values UnityEngine.Matrix4x4[]
function CS.UnityEngine.MaterialPropertyBlock.SetMatrixArray(nameID, values) end

--
--Get a float from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Single
function CS.UnityEngine.MaterialPropertyBlock.GetFloat(name) end

--
--Get a float from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Single
function CS.UnityEngine.MaterialPropertyBlock.GetFloat(nameID) end

--
--Get an int from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Int32
function CS.UnityEngine.MaterialPropertyBlock.GetInt(name) end

--
--Get an int from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Int32
function CS.UnityEngine.MaterialPropertyBlock.GetInt(nameID) end

--
--Get a vector from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Vector4
function CS.UnityEngine.MaterialPropertyBlock.GetVector(name) end

--
--Get a vector from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Vector4
function CS.UnityEngine.MaterialPropertyBlock.GetVector(nameID) end

--
--Get a color from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Color
function CS.UnityEngine.MaterialPropertyBlock.GetColor(name) end

--
--Get a color from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Color
function CS.UnityEngine.MaterialPropertyBlock.GetColor(nameID) end

--
--Get a matrix from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Matrix4x4
function CS.UnityEngine.MaterialPropertyBlock.GetMatrix(name) end

--
--Get a matrix from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Matrix4x4
function CS.UnityEngine.MaterialPropertyBlock.GetMatrix(nameID) end

--
--Get a texture from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Texture
function CS.UnityEngine.MaterialPropertyBlock.GetTexture(name) end

--
--Get a texture from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Texture
function CS.UnityEngine.MaterialPropertyBlock.GetTexture(nameID) end

--
--Get a float array from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
function CS.UnityEngine.MaterialPropertyBlock.GetFloatArray(name) end

--
--Get a float array from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
function CS.UnityEngine.MaterialPropertyBlock.GetFloatArray(nameID) end

--
--Get a vector array from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
function CS.UnityEngine.MaterialPropertyBlock.GetVectorArray(name) end

--
--Get a vector array from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
function CS.UnityEngine.MaterialPropertyBlock.GetVectorArray(nameID) end

--
--Get a matrix array from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
function CS.UnityEngine.MaterialPropertyBlock.GetMatrixArray(name) end

--
--Get a matrix array from the property block.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
function CS.UnityEngine.MaterialPropertyBlock.GetMatrixArray(nameID) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<float>
function CS.UnityEngine.MaterialPropertyBlock.GetFloatArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<float>
function CS.UnityEngine.MaterialPropertyBlock.GetFloatArray(nameID, values) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.MaterialPropertyBlock.GetVectorArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.MaterialPropertyBlock.GetVectorArray(nameID, values) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<UnityEngine.Matrix4x4>
function CS.UnityEngine.MaterialPropertyBlock.GetMatrixArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<UnityEngine.Matrix4x4>
function CS.UnityEngine.MaterialPropertyBlock.GetMatrixArray(nameID, values) end

---@source UnityEngine.CoreModule.dll
---@param lightProbes System.Collections.Generic.List<UnityEngine.Rendering.SphericalHarmonicsL2>
function CS.UnityEngine.MaterialPropertyBlock.CopySHCoefficientArraysFrom(lightProbes) end

--
--This function converts and copies the entire source array into 7 Vector4 property arrays named unity_SHAr, unity_SHAg, unity_SHAb, unity_SHBr, unity_SHBg, unity_SHBb and unity_SHC for use with instanced rendering.
--
--```plaintext
--Params: lightProbes - The array of SH values to copy from.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param lightProbes UnityEngine.Rendering.SphericalHarmonicsL2[]
function CS.UnityEngine.MaterialPropertyBlock.CopySHCoefficientArraysFrom(lightProbes) end

---@source UnityEngine.CoreModule.dll
---@param lightProbes System.Collections.Generic.List<UnityEngine.Rendering.SphericalHarmonicsL2>
---@param sourceStart int
---@param destStart int
---@param count int
function CS.UnityEngine.MaterialPropertyBlock.CopySHCoefficientArraysFrom(lightProbes, sourceStart, destStart, count) end

--
--This function converts and copies the source array into 7 Vector4 property arrays named unity_SHAr, unity_SHAg, unity_SHAb, unity_SHBr, unity_SHBg, unity_SHBb and unity_SHC with the specified source and destination range for use with instanced rendering.
--
--```plaintext
--Params: lightProbes - The array of SH values to copy from.
--        sourceStart - The index of the first element in the source array to copy from.
--        destStart - The index of the first element in the destination MaterialPropertyBlock array to copy to.
--        count - The number of elements to copy.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param lightProbes UnityEngine.Rendering.SphericalHarmonicsL2[]
---@param sourceStart int
---@param destStart int
---@param count int
function CS.UnityEngine.MaterialPropertyBlock.CopySHCoefficientArraysFrom(lightProbes, sourceStart, destStart, count) end

---@source UnityEngine.CoreModule.dll
---@param occlusionProbes System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.MaterialPropertyBlock.CopyProbeOcclusionArrayFrom(occlusionProbes) end

--
--This function copies the entire source array into a Vector4 property array named unity_ProbesOcclusion for use with instanced rendering.
--
--```plaintext
--Params: occlusionProbes - The array of probe occlusion values to copy from.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param occlusionProbes UnityEngine.Vector4[]
function CS.UnityEngine.MaterialPropertyBlock.CopyProbeOcclusionArrayFrom(occlusionProbes) end

---@source UnityEngine.CoreModule.dll
---@param occlusionProbes System.Collections.Generic.List<UnityEngine.Vector4>
---@param sourceStart int
---@param destStart int
---@param count int
function CS.UnityEngine.MaterialPropertyBlock.CopyProbeOcclusionArrayFrom(occlusionProbes, sourceStart, destStart, count) end

--
--This function copies the source array into a Vector4 property array named unity_ProbesOcclusion with the specified source and destination range for use with instanced rendering.
--
--```plaintext
--Params: occlusionProbes - The array of probe occlusion values to copy from.
--        sourceStart - The index of the first element in the source array to copy from.
--        destStart - The index of the first element in the destination MaterialPropertyBlock array to copy to.
--        count - The number of elements to copy.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param occlusionProbes UnityEngine.Vector4[]
---@param sourceStart int
---@param destStart int
---@param count int
function CS.UnityEngine.MaterialPropertyBlock.CopyProbeOcclusionArrayFrom(occlusionProbes, sourceStart, destStart, count) end


--
--The type of a Light.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LightType: System.Enum
--
--The light is a spot light.
--
---@source UnityEngine.CoreModule.dll
---@field Spot UnityEngine.LightType
--
--The light is a directional light.
--
---@source UnityEngine.CoreModule.dll
---@field Directional UnityEngine.LightType
--
--The light is a point light.
--
---@source UnityEngine.CoreModule.dll
---@field Point UnityEngine.LightType
---@source UnityEngine.CoreModule.dll
---@field Area UnityEngine.LightType
--
--The light is a rectangle shaped area light. It affects only baked lightmaps and lightprobes.
--
---@source UnityEngine.CoreModule.dll
---@field Rectangle UnityEngine.LightType
--
--The light is a disc shaped area light. It affects only baked lightmaps and lightprobes.
--
---@source UnityEngine.CoreModule.dll
---@field Disc UnityEngine.LightType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LightType = {}

---@source 
---@param value any
---@return UnityEngine.LightType
function CS.UnityEngine.LightType:__CastFrom(value) end


--
--The Render Settings contain values for a range of visual elements in your Scene, like fog and ambient light.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RenderSettings: UnityEngine.Object
---@source UnityEngine.CoreModule.dll
---@field ambientSkyboxAmount float
--
--Is fog enabled?
--
---@source UnityEngine.CoreModule.dll
---@field fog bool
--
--The starting distance of linear fog.
--
---@source UnityEngine.CoreModule.dll
---@field fogStartDistance float
--
--The ending distance of linear fog.
--
---@source UnityEngine.CoreModule.dll
---@field fogEndDistance float
--
--Fog mode to use.
--
---@source UnityEngine.CoreModule.dll
---@field fogMode UnityEngine.FogMode
--
--The color of the fog.
--
---@source UnityEngine.CoreModule.dll
---@field fogColor UnityEngine.Color
--
--The density of the exponential fog.
--
---@source UnityEngine.CoreModule.dll
---@field fogDensity float
--
--Ambient lighting mode.
--
---@source UnityEngine.CoreModule.dll
---@field ambientMode UnityEngine.Rendering.AmbientMode
--
--Ambient lighting coming from above.
--
---@source UnityEngine.CoreModule.dll
---@field ambientSkyColor UnityEngine.Color
--
--Ambient lighting coming from the sides.
--
---@source UnityEngine.CoreModule.dll
---@field ambientEquatorColor UnityEngine.Color
--
--Ambient lighting coming from below.
--
---@source UnityEngine.CoreModule.dll
---@field ambientGroundColor UnityEngine.Color
--
--How much the light from the Ambient Source affects the Scene.
--
---@source UnityEngine.CoreModule.dll
---@field ambientIntensity float
--
--Flat ambient lighting color.
--
---@source UnityEngine.CoreModule.dll
---@field ambientLight UnityEngine.Color
--
--The color used for the sun shadows in the Subtractive lightmode.
--
---@source UnityEngine.CoreModule.dll
---@field subtractiveShadowColor UnityEngine.Color
--
--The global skybox to use.
--
---@source UnityEngine.CoreModule.dll
---@field skybox UnityEngine.Material
--
--The light used by the procedural skybox.
--
---@source UnityEngine.CoreModule.dll
---@field sun UnityEngine.Light
--
--Custom or skybox ambient lighting data.
--
---@source UnityEngine.CoreModule.dll
---@field ambientProbe UnityEngine.Rendering.SphericalHarmonicsL2
--
--Custom specular reflection cubemap.
--
---@source UnityEngine.CoreModule.dll
---@field customReflection UnityEngine.Cubemap
--
--How much the skybox / custom cubemap reflection affects the Scene.
--
---@source UnityEngine.CoreModule.dll
---@field reflectionIntensity float
--
--The number of times a reflection includes other reflections.
--
---@source UnityEngine.CoreModule.dll
---@field reflectionBounces int
--
--Default reflection mode.
--
---@source UnityEngine.CoreModule.dll
---@field defaultReflectionMode UnityEngine.Rendering.DefaultReflectionMode
--
--Cubemap resolution for default reflection.
--
---@source UnityEngine.CoreModule.dll
---@field defaultReflectionResolution int
--
--Size of the Light halos.
--
---@source UnityEngine.CoreModule.dll
---@field haloStrength float
--
--The intensity of all flares in the Scene.
--
---@source UnityEngine.CoreModule.dll
---@field flareStrength float
--
--The fade speed of all flares in the Scene.
--
---@source UnityEngine.CoreModule.dll
---@field flareFadeSpeed float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RenderSettings = {}


--
--Describes the shape of a spot light.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LightShape: System.Enum
--
--The shape of the spot light resembles a cone. This is the default shape for spot lights.
--
---@source UnityEngine.CoreModule.dll
---@field Cone UnityEngine.LightShape
--
--The shape of the spotlight resembles a pyramid or frustum. You can use this to simulate a screening or barn door effect on a normal spotlight.
--
---@source UnityEngine.CoreModule.dll
---@field Pyramid UnityEngine.LightShape
--
--The shape of the spot light resembles a box oriented along the ray direction.
--
---@source UnityEngine.CoreModule.dll
---@field Box UnityEngine.LightShape
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LightShape = {}

---@source 
---@param value any
---@return UnityEngine.LightShape
function CS.UnityEngine.LightShape:__CastFrom(value) end


--
--The material class.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Material: UnityEngine.Object
--
--The shader used by the material.
--
---@source UnityEngine.CoreModule.dll
---@field shader UnityEngine.Shader
--
--The main color of the Material.
--
---@source UnityEngine.CoreModule.dll
---@field color UnityEngine.Color
--
--The main texture.
--
---@source UnityEngine.CoreModule.dll
---@field mainTexture UnityEngine.Texture
--
--The offset of the main texture.
--
---@source UnityEngine.CoreModule.dll
---@field mainTextureOffset UnityEngine.Vector2
--
--The scale of the main texture.
--
---@source UnityEngine.CoreModule.dll
---@field mainTextureScale UnityEngine.Vector2
--
--Render queue of this material.
--
---@source UnityEngine.CoreModule.dll
---@field renderQueue int
--
--Defines how the material should interact with lightmaps and lightprobes.
--
---@source UnityEngine.CoreModule.dll
---@field globalIlluminationFlags UnityEngine.MaterialGlobalIlluminationFlags
--
--Gets and sets whether the Double Sided Global Illumination setting is enabled for this material.
--
---@source UnityEngine.CoreModule.dll
---@field doubleSidedGI bool
--
--Gets and sets whether GPU instancing is enabled for this material.
--
---@source UnityEngine.CoreModule.dll
---@field enableInstancing bool
--
--How many passes are in this material (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field passCount int
--
--An array containing the names of the local shader keywords that are currently enabled for this material.
--
---@source UnityEngine.CoreModule.dll
---@field shaderKeywords string[]
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Material = {}

---@source UnityEngine.CoreModule.dll
---@param scriptContents string
---@return Material
function CS.UnityEngine.Material:Create(scriptContents) end

--
--Checks if material's shader has a property of a given name.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Boolean
function CS.UnityEngine.Material.HasProperty(nameID) end

--
--Checks if material's shader has a property of a given name.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Boolean
function CS.UnityEngine.Material.HasProperty(name) end

--
--Enables a local shader keyword for this material.
--
--```plaintext
--Params: keyword - The name of the local shader keyword to enable.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param keyword string
function CS.UnityEngine.Material.EnableKeyword(keyword) end

--
--Disables a local shader keyword for this material.
--
--```plaintext
--Params: keyword - The name of the local shader keyword to disable.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param keyword string
function CS.UnityEngine.Material.DisableKeyword(keyword) end

--
--Returns true if the given local shader keyword is enabled for this material. Otherwise, returns false.
--
--```plaintext
--Params: keyword - The name of the local shader keyword to check.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param keyword string
---@return Boolean
function CS.UnityEngine.Material.IsKeywordEnabled(keyword) end

--
--Enables or disables a Shader pass on a per-Material level.
--
--```plaintext
--Params: passName - Shader pass name (case insensitive).
--        enabled - Flag indicating whether this Shader pass should be enabled.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param passName string
---@param enabled bool
function CS.UnityEngine.Material.SetShaderPassEnabled(passName, enabled) end

--
--True if the Shader pass is enabled.
--
--```plaintext
--Params: passName - Shader pass name (case insensitive).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param passName string
---@return Boolean
function CS.UnityEngine.Material.GetShaderPassEnabled(passName) end

--
--Returns the name of the shader pass at index pass.
--
---@source UnityEngine.CoreModule.dll
---@param pass int
---@return String
function CS.UnityEngine.Material.GetPassName(pass) end

--
--Returns the index of the pass passName.
--
---@source UnityEngine.CoreModule.dll
---@param passName string
---@return Int32
function CS.UnityEngine.Material.FindPass(passName) end

--
--Sets an override tag/value on the material.
--
--```plaintext
--Params: tag - Name of the tag to set.
--        val - Name of the value to set. Empty string to clear the override flag.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@param val string
function CS.UnityEngine.Material.SetOverrideTag(tag, val) end

--
--Get the value of material's shader tag.
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@param searchFallbacks bool
---@param defaultValue string
---@return String
function CS.UnityEngine.Material.GetTag(tag, searchFallbacks, defaultValue) end

--
--Get the value of material's shader tag.
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@param searchFallbacks bool
---@return String
function CS.UnityEngine.Material.GetTag(tag, searchFallbacks) end

--
--Interpolate properties between two materials.
--
---@source UnityEngine.CoreModule.dll
---@param start UnityEngine.Material
---@param end UnityEngine.Material
---@param t float
function CS.UnityEngine.Material.Lerp(start, end, t) end

--
--If false is returned, no rendering should be done.
--
--```plaintext
--Params: pass - Shader pass number to setup.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param pass int
---@return Boolean
function CS.UnityEngine.Material.SetPass(pass) end

--
--Copy properties from other material into this material.
--
---@source UnityEngine.CoreModule.dll
---@param mat UnityEngine.Material
function CS.UnityEngine.Material.CopyPropertiesFromMaterial(mat) end

--
--Computes a CRC hash value from the content of the material.
--
---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Material.ComputeCRC() end

--
--Names of all texture properties exposed on this material.
--
--```plaintext
--Params: outNames - Names of all texture properties exposed on this material.
--        
--```
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Material.GetTexturePropertyNames() end

--
--IDs of all texture properties exposed on this material.
--
--```plaintext
--Params: outNames - IDs of all texture properties exposed on this material.
--        
--```
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Material.GetTexturePropertyNameIDs() end

---@source UnityEngine.CoreModule.dll
---@param outNames System.Collections.Generic.List<string>
function CS.UnityEngine.Material.GetTexturePropertyNames(outNames) end

---@source UnityEngine.CoreModule.dll
---@param outNames System.Collections.Generic.List<int>
function CS.UnityEngine.Material.GetTexturePropertyNameIDs(outNames) end

--
--Sets a named float value.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        value - Float value to set.
--        name - Property name, e.g. "_Glossiness".
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value float
function CS.UnityEngine.Material.SetFloat(name, value) end

--
--Sets a named float value.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        value - Float value to set.
--        name - Property name, e.g. "_Glossiness".
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value float
function CS.UnityEngine.Material.SetFloat(nameID, value) end

--
--Sets a named integer value.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        value - Integer value to set.
--        name - Property name, e.g. "_SrcBlend".
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value int
function CS.UnityEngine.Material.SetInt(name, value) end

--
--Sets a named integer value.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        value - Integer value to set.
--        name - Property name, e.g. "_SrcBlend".
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value int
function CS.UnityEngine.Material.SetInt(nameID, value) end

--
--Sets a named color value.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name, e.g. "_Color".
--        value - Color value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Color
function CS.UnityEngine.Material.SetColor(name, value) end

--
--Sets a named color value.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name, e.g. "_Color".
--        value - Color value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Color
function CS.UnityEngine.Material.SetColor(nameID, value) end

--
--Sets a named vector value.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name, e.g. "_WaveAndDistance".
--        value - Vector value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Vector4
function CS.UnityEngine.Material.SetVector(name, value) end

--
--Sets a named vector value.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name, e.g. "_WaveAndDistance".
--        value - Vector value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Vector4
function CS.UnityEngine.Material.SetVector(nameID, value) end

--
--Sets a named matrix for the shader.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name, e.g. "_CubemapRotation".
--        value - Matrix value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Matrix4x4
function CS.UnityEngine.Material.SetMatrix(name, value) end

--
--Sets a named matrix for the shader.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name, e.g. "_CubemapRotation".
--        value - Matrix value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Matrix4x4
function CS.UnityEngine.Material.SetMatrix(nameID, value) end

--
--Sets a named texture.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name, e.g. "_MainTex".
--        value - Texture to set.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Texture
function CS.UnityEngine.Material.SetTexture(name, value) end

--
--Sets a named texture.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name, e.g. "_MainTex".
--        value - Texture to set.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Texture
function CS.UnityEngine.Material.SetTexture(nameID, value) end

--
--Sets a named texture.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name, e.g. "_MainTex".
--        value - Texture to set.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.RenderTexture
---@param element UnityEngine.Rendering.RenderTextureSubElement
function CS.UnityEngine.Material.SetTexture(name, value, element) end

--
--Sets a named texture.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name, e.g. "_MainTex".
--        value - Texture to set.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.RenderTexture
---@param element UnityEngine.Rendering.RenderTextureSubElement
function CS.UnityEngine.Material.SetTexture(nameID, value, element) end

--
--Sets a named buffer value.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name.
--        value - The ComputeBuffer or GraphicsBuffer value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.ComputeBuffer
function CS.UnityEngine.Material.SetBuffer(name, value) end

--
--Sets a named buffer value.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name.
--        value - The ComputeBuffer or GraphicsBuffer value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.ComputeBuffer
function CS.UnityEngine.Material.SetBuffer(nameID, value) end

--
--Sets a named buffer value.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name.
--        value - The ComputeBuffer or GraphicsBuffer value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.GraphicsBuffer
function CS.UnityEngine.Material.SetBuffer(name, value) end

--
--Sets a named buffer value.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name.
--        value - The ComputeBuffer or GraphicsBuffer value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.GraphicsBuffer
function CS.UnityEngine.Material.SetBuffer(nameID, value) end

--
--Sets a ComputeBuffer or GraphicsBuffer as a named constant buffer for the material.
--
--```plaintext
--Params: name - The name of the constant buffer to override.
--        value - The ComputeBuffer to override the constant buffer values with, or null to remove binding.
--        offset - Offset in bytes from the beginning of the buffer to bind. Must be a multiple of SystemInfo.constantBufferOffsetAlignment, or 0 if that value is 0.
--        size - The number of bytes to bind.
--        nameID - The shader property ID of the constant buffer to override.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.ComputeBuffer
---@param offset int
---@param size int
function CS.UnityEngine.Material.SetConstantBuffer(name, value, offset, size) end

--
--Sets a ComputeBuffer or GraphicsBuffer as a named constant buffer for the material.
--
--```plaintext
--Params: name - The name of the constant buffer to override.
--        value - The ComputeBuffer to override the constant buffer values with, or null to remove binding.
--        offset - Offset in bytes from the beginning of the buffer to bind. Must be a multiple of SystemInfo.constantBufferOffsetAlignment, or 0 if that value is 0.
--        size - The number of bytes to bind.
--        nameID - The shader property ID of the constant buffer to override.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.ComputeBuffer
---@param offset int
---@param size int
function CS.UnityEngine.Material.SetConstantBuffer(nameID, value, offset, size) end

--
--Sets a ComputeBuffer or GraphicsBuffer as a named constant buffer for the material.
--
--```plaintext
--Params: name - The name of the constant buffer to override.
--        value - The ComputeBuffer to override the constant buffer values with, or null to remove binding.
--        offset - Offset in bytes from the beginning of the buffer to bind. Must be a multiple of SystemInfo.constantBufferOffsetAlignment, or 0 if that value is 0.
--        size - The number of bytes to bind.
--        nameID - The shader property ID of the constant buffer to override.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.GraphicsBuffer
---@param offset int
---@param size int
function CS.UnityEngine.Material.SetConstantBuffer(name, value, offset, size) end

--
--Sets a ComputeBuffer or GraphicsBuffer as a named constant buffer for the material.
--
--```plaintext
--Params: name - The name of the constant buffer to override.
--        value - The ComputeBuffer to override the constant buffer values with, or null to remove binding.
--        offset - Offset in bytes from the beginning of the buffer to bind. Must be a multiple of SystemInfo.constantBufferOffsetAlignment, or 0 if that value is 0.
--        size - The number of bytes to bind.
--        nameID - The shader property ID of the constant buffer to override.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.GraphicsBuffer
---@param offset int
---@param size int
function CS.UnityEngine.Material.SetConstantBuffer(nameID, value, offset, size) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<float>
function CS.UnityEngine.Material.SetFloatArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<float>
function CS.UnityEngine.Material.SetFloatArray(nameID, values) end

--
--Sets a float array property.
--
--```plaintext
--Params: name - Property name.
--        nameID - Property name ID. Use Shader.PropertyToID to get this ID.
--        values - Array of values to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param values float[]
function CS.UnityEngine.Material.SetFloatArray(name, values) end

--
--Sets a float array property.
--
--```plaintext
--Params: name - Property name.
--        nameID - Property name ID. Use Shader.PropertyToID to get this ID.
--        values - Array of values to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values float[]
function CS.UnityEngine.Material.SetFloatArray(nameID, values) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<UnityEngine.Color>
function CS.UnityEngine.Material.SetColorArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<UnityEngine.Color>
function CS.UnityEngine.Material.SetColorArray(nameID, values) end

--
--Sets a color array property.
--
--```plaintext
--Params: name - Property name.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        values - Array of values to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param values UnityEngine.Color[]
function CS.UnityEngine.Material.SetColorArray(name, values) end

--
--Sets a color array property.
--
--```plaintext
--Params: name - Property name.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        values - Array of values to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values UnityEngine.Color[]
function CS.UnityEngine.Material.SetColorArray(nameID, values) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.Material.SetVectorArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.Material.SetVectorArray(nameID, values) end

--
--Sets a vector array property.
--
--```plaintext
--Params: name - Property name.
--        values - Array of values to set.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param values UnityEngine.Vector4[]
function CS.UnityEngine.Material.SetVectorArray(name, values) end

--
--Sets a vector array property.
--
--```plaintext
--Params: name - Property name.
--        values - Array of values to set.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values UnityEngine.Vector4[]
function CS.UnityEngine.Material.SetVectorArray(nameID, values) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<UnityEngine.Matrix4x4>
function CS.UnityEngine.Material.SetMatrixArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<UnityEngine.Matrix4x4>
function CS.UnityEngine.Material.SetMatrixArray(nameID, values) end

--
--Sets a matrix array property.
--
--```plaintext
--Params: name - Property name.
--        values - Array of values to set.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param values UnityEngine.Matrix4x4[]
function CS.UnityEngine.Material.SetMatrixArray(name, values) end

--
--Sets a matrix array property.
--
--```plaintext
--Params: name - Property name.
--        values - Array of values to set.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values UnityEngine.Matrix4x4[]
function CS.UnityEngine.Material.SetMatrixArray(nameID, values) end

--
--Get a named float value.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Single
function CS.UnityEngine.Material.GetFloat(name) end

--
--Get a named float value.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Single
function CS.UnityEngine.Material.GetFloat(nameID) end

--
--Get a named integer value.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Int32
function CS.UnityEngine.Material.GetInt(name) end

--
--Get a named integer value.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Int32
function CS.UnityEngine.Material.GetInt(nameID) end

--
--Get a named color value.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Color
function CS.UnityEngine.Material.GetColor(name) end

--
--Get a named color value.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Color
function CS.UnityEngine.Material.GetColor(nameID) end

--
--Get a named vector value.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Vector4
function CS.UnityEngine.Material.GetVector(name) end

--
--Get a named vector value.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Vector4
function CS.UnityEngine.Material.GetVector(nameID) end

--
--Get a named matrix value from the shader.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Matrix4x4
function CS.UnityEngine.Material.GetMatrix(name) end

--
--Get a named matrix value from the shader.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Matrix4x4
function CS.UnityEngine.Material.GetMatrix(nameID) end

--
--Get a named texture.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Texture
function CS.UnityEngine.Material.GetTexture(name) end

--
--Get a named texture.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Texture
function CS.UnityEngine.Material.GetTexture(nameID) end

--
--Get a named float array.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
function CS.UnityEngine.Material.GetFloatArray(name) end

--
--Get a named float array.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
function CS.UnityEngine.Material.GetFloatArray(nameID) end

--
--Get a named color array.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
function CS.UnityEngine.Material.GetColorArray(name) end

--
--Get a named color array.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
function CS.UnityEngine.Material.GetColorArray(nameID) end

--
--Get a named vector array.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
function CS.UnityEngine.Material.GetVectorArray(name) end

--
--Get a named vector array.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
function CS.UnityEngine.Material.GetVectorArray(nameID) end

--
--Get a named matrix array.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
function CS.UnityEngine.Material.GetMatrixArray(name) end

--
--Get a named matrix array.
--
--```plaintext
--Params: name - The name of the property.
--        nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
function CS.UnityEngine.Material.GetMatrixArray(nameID) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<float>
function CS.UnityEngine.Material.GetFloatArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<float>
function CS.UnityEngine.Material.GetFloatArray(nameID, values) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<UnityEngine.Color>
function CS.UnityEngine.Material.GetColorArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<UnityEngine.Color>
function CS.UnityEngine.Material.GetColorArray(nameID, values) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.Material.GetVectorArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.Material.GetVectorArray(nameID, values) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@param values System.Collections.Generic.List<UnityEngine.Matrix4x4>
function CS.UnityEngine.Material.GetMatrixArray(name, values) end

---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values System.Collections.Generic.List<UnityEngine.Matrix4x4>
function CS.UnityEngine.Material.GetMatrixArray(nameID, values) end

--
--Sets the placement offset of texture propertyName.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name, for example: "_MainTex".
--        value - Texture placement offset.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Vector2
function CS.UnityEngine.Material.SetTextureOffset(name, value) end

--
--Sets the placement offset of texture propertyName.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name, for example: "_MainTex".
--        value - Texture placement offset.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Vector2
function CS.UnityEngine.Material.SetTextureOffset(nameID, value) end

--
--Sets the placement scale of texture propertyName.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name, e.g. "_MainTex".
--        value - Texture placement scale.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param value UnityEngine.Vector2
function CS.UnityEngine.Material.SetTextureScale(name, value) end

--
--Sets the placement scale of texture propertyName.
--
--```plaintext
--Params: nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Property name, e.g. "_MainTex".
--        value - Texture placement scale.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param value UnityEngine.Vector2
function CS.UnityEngine.Material.SetTextureScale(nameID, value) end

--
--Gets the placement offset of texture propertyName.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Vector2
function CS.UnityEngine.Material.GetTextureOffset(name) end

--
--Gets the placement offset of texture propertyName.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Vector2
function CS.UnityEngine.Material.GetTextureOffset(nameID) end

--
--Gets the placement scale of texture propertyName.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Vector2
function CS.UnityEngine.Material.GetTextureScale(name) end

--
--Gets the placement scale of texture propertyName.
--
--```plaintext
--Params: nameID - The name ID of the property retrieved by Shader.PropertyToID.
--        name - The name of the property.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@return Vector2
function CS.UnityEngine.Material.GetTextureScale(nameID) end


--
--How the Light is rendered.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LightRenderMode: System.Enum
--
--Automatically choose the render mode.
--
---@source UnityEngine.CoreModule.dll
---@field Auto UnityEngine.LightRenderMode
--
--Force the Light to be a pixel light.
--
---@source UnityEngine.CoreModule.dll
---@field ForcePixel UnityEngine.LightRenderMode
--
--Force the Light to be a vertex light.
--
---@source UnityEngine.CoreModule.dll
---@field ForceVertex UnityEngine.LightRenderMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LightRenderMode = {}

---@source 
---@param value any
---@return UnityEngine.LightRenderMode
function CS.UnityEngine.LightRenderMode:__CastFrom(value) end


--
--GPU graphics data buffer, for working with data such as vertex and index buffers.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.GraphicsBuffer: object
--
--Number of elements in the buffer (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field count int
--
--Size of one element in the buffer (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field stride int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.GraphicsBuffer = {}

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.GraphicsBuffer.Dispose() end

--
--Release a Graphics Buffer.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.GraphicsBuffer.Release() end

--
--Returns true if this graphics buffer is valid, or false otherwise.
--
---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.GraphicsBuffer.IsValid() end

--
--Set the buffer with values from an array.
--
--```plaintext
--Params: data - Array of values to fill the buffer.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param data System.Array
function CS.UnityEngine.GraphicsBuffer.SetData(data) end

---@source UnityEngine.CoreModule.dll
---@param data System.Collections.Generic.List<T>
function CS.UnityEngine.GraphicsBuffer.SetData(data) end

---@source UnityEngine.CoreModule.dll
---@param data Unity.Collections.NativeArray<T>
function CS.UnityEngine.GraphicsBuffer.SetData(data) end

--
--Partial copy of data values from an array into the buffer.
--
--```plaintext
--Params: data - Array of values to fill the buffer.
--        managedBufferStartIndex - The first element index in data to copy to the graphics buffer.
--        count - The number of elements to copy.
--        graphicsBufferStartIndex - The first element index in the graphics buffer to receive the data.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param data System.Array
---@param managedBufferStartIndex int
---@param graphicsBufferStartIndex int
---@param count int
function CS.UnityEngine.GraphicsBuffer.SetData(data, managedBufferStartIndex, graphicsBufferStartIndex, count) end

---@source UnityEngine.CoreModule.dll
---@param data System.Collections.Generic.List<T>
---@param managedBufferStartIndex int
---@param graphicsBufferStartIndex int
---@param count int
function CS.UnityEngine.GraphicsBuffer.SetData(data, managedBufferStartIndex, graphicsBufferStartIndex, count) end

---@source UnityEngine.CoreModule.dll
---@param data Unity.Collections.NativeArray<T>
---@param nativeBufferStartIndex int
---@param graphicsBufferStartIndex int
---@param count int
function CS.UnityEngine.GraphicsBuffer.SetData(data, nativeBufferStartIndex, graphicsBufferStartIndex, count) end

--
--Read data values from the buffer into an array. The array can only use <a href="https:docs.microsoft.comen-usdotnetframeworkinteropblittable-and-non-blittable-types">blittable<a> types.
--
--```plaintext
--Params: data - An array to receive the data.
--        managedBufferStartIndex - The first element index in data where retrieved elements are copied.
--        computeBufferStartIndex - The first element index of the buffer from which elements are read.
--        count - The number of elements to retrieve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param data System.Array
function CS.UnityEngine.GraphicsBuffer.GetData(data) end

--
--Read data values from the buffer into an array. The array can only use <a href="https:docs.microsoft.comen-usdotnetframeworkinteropblittable-and-non-blittable-types">blittable<a> types.
--
--```plaintext
--Params: data - An array to receive the data.
--        managedBufferStartIndex - The first element index in data where retrieved elements are copied.
--        computeBufferStartIndex - The first element index of the buffer from which elements are read.
--        count - The number of elements to retrieve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param data System.Array
---@param managedBufferStartIndex int
---@param computeBufferStartIndex int
---@param count int
function CS.UnityEngine.GraphicsBuffer.GetData(data, managedBufferStartIndex, computeBufferStartIndex, count) end

--
--Pointer to the underlying graphics API buffer.
--
---@source UnityEngine.CoreModule.dll
---@return IntPtr
function CS.UnityEngine.GraphicsBuffer.GetNativeBufferPtr() end

--
--Sets counter value of append/consume buffer.
--
--```plaintext
--Params: counterValue - Value of the append/consume counter.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param counterValue uint
function CS.UnityEngine.GraphicsBuffer.SetCounterValue(counterValue) end

--
--Copy counter value of append/consume buffer into another buffer.
--
---@source UnityEngine.CoreModule.dll
---@param src UnityEngine.ComputeBuffer
---@param dst UnityEngine.ComputeBuffer
---@param dstOffsetBytes int
function CS.UnityEngine.GraphicsBuffer:CopyCount(src, dst, dstOffsetBytes) end

--
--Copy counter value of append/consume buffer into another buffer.
--
---@source UnityEngine.CoreModule.dll
---@param src UnityEngine.GraphicsBuffer
---@param dst UnityEngine.ComputeBuffer
---@param dstOffsetBytes int
function CS.UnityEngine.GraphicsBuffer:CopyCount(src, dst, dstOffsetBytes) end

--
--Copy counter value of append/consume buffer into another buffer.
--
---@source UnityEngine.CoreModule.dll
---@param src UnityEngine.ComputeBuffer
---@param dst UnityEngine.GraphicsBuffer
---@param dstOffsetBytes int
function CS.UnityEngine.GraphicsBuffer:CopyCount(src, dst, dstOffsetBytes) end

--
--Copy counter value of append/consume buffer into another buffer.
--
---@source UnityEngine.CoreModule.dll
---@param src UnityEngine.GraphicsBuffer
---@param dst UnityEngine.GraphicsBuffer
---@param dstOffsetBytes int
function CS.UnityEngine.GraphicsBuffer:CopyCount(src, dst, dstOffsetBytes) end


--
--Shadow casting options for a Light.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LightShadows: System.Enum
--
--Do not cast shadows (default).
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.LightShadows
--
--Cast "hard" shadows (with no shadow filtering).
--
---@source UnityEngine.CoreModule.dll
---@field Hard UnityEngine.LightShadows
--
--Cast "soft" shadows (with 4x PCF filtering).
--
---@source UnityEngine.CoreModule.dll
---@field Soft UnityEngine.LightShadows
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LightShadows = {}

---@source 
---@param value any
---@return UnityEngine.LightShadows
function CS.UnityEngine.LightShadows:__CastFrom(value) end


--
--Fog mode to use.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.FogMode: System.Enum
--
--Linear fog.
--
---@source UnityEngine.CoreModule.dll
---@field Linear UnityEngine.FogMode
--
--Exponential fog.
--
---@source UnityEngine.CoreModule.dll
---@field Exponential UnityEngine.FogMode
--
--Exponential squared fog (default).
--
---@source UnityEngine.CoreModule.dll
---@field ExponentialSquared UnityEngine.FogMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.FogMode = {}

---@source 
---@param value any
---@return UnityEngine.FogMode
function CS.UnityEngine.FogMode:__CastFrom(value) end


--
--Enum describing what part of a light contribution can be baked.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LightmapBakeType: System.Enum
--
--Realtime lights cast run time light and shadows. They can change position, orientation, color, brightness, and many other properties at run time. No lighting gets baked into lightmaps or light probes..
--
---@source UnityEngine.CoreModule.dll
---@field Realtime UnityEngine.LightmapBakeType
--
--Baked lights cannot move or change in any way during run time. All lighting for static objects gets baked into lightmaps. Lighting and shadows for dynamic objects gets baked into Light Probes.
--
---@source UnityEngine.CoreModule.dll
---@field Baked UnityEngine.LightmapBakeType
--
--Mixed lights allow a mix of realtime and baked lighting, based on the Mixed Lighting Mode used. These lights cannot move, but can change color and intensity at run time. Changes to color and intensity only affect direct lighting as indirect lighting gets baked. If using Subtractive mode, changes to color or intensity are not calculated at run time on static objects.
--
---@source UnityEngine.CoreModule.dll
---@field Mixed UnityEngine.LightmapBakeType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LightmapBakeType = {}

---@source 
---@param value any
---@return UnityEngine.LightmapBakeType
function CS.UnityEngine.LightmapBakeType:__CastFrom(value) end


--
--Enum describing what lighting mode to be used with Mixed lights.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MixedLightingMode: System.Enum
--
--Mixed lights provide realtime direct lighting while indirect light is baked into lightmaps and light probes.
--
---@source UnityEngine.CoreModule.dll
---@field IndirectOnly UnityEngine.MixedLightingMode
--
--Mixed lights provide realtime direct lighting. Indirect lighting gets baked into lightmaps and light probes. Shadowmasks and light probe occlusion get generated for baked shadows. The Shadowmask Mode used at run time can be set in the Quality Settings panel.
--
---@source UnityEngine.CoreModule.dll
---@field Shadowmask UnityEngine.MixedLightingMode
--
--Mixed lights provide baked direct and indirect lighting for static objects. Dynamic objects receive realtime direct lighting and cast shadows on static objects using the main directional light in the Scene.
--
---@source UnityEngine.CoreModule.dll
---@field Subtractive UnityEngine.MixedLightingMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MixedLightingMode = {}

---@source 
---@param value any
---@return UnityEngine.MixedLightingMode
function CS.UnityEngine.MixedLightingMode:__CastFrom(value) end


--
--This property only takes effect if you enable a global illumination setting such as for the GameObject associated with the target Mesh Renderer. Otherwise this property defaults to the Light Probes setting.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ReceiveGI: System.Enum
--
--Makes the GameObject use lightmaps to receive Global Illumination.
--
---@source UnityEngine.CoreModule.dll
---@field Lightmaps UnityEngine.ReceiveGI
--
--The object will have the option to use Light Probes to receive Global Illumination. See Rendering.LightProbeUsage.
--
---@source UnityEngine.CoreModule.dll
---@field LightProbes UnityEngine.ReceiveGI
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ReceiveGI = {}

---@source 
---@param value any
---@return UnityEngine.ReceiveGI
function CS.UnityEngine.ReceiveGI:__CastFrom(value) end


--
--The type of graphics buffer.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Target: System.Enum
--
--GraphicsBuffer can be used to store vertex data.
--
---@source UnityEngine.CoreModule.dll
---@field Vertex UnityEngine.GraphicsBuffer.Target
--
--GraphicsBuffer can be used as an index buffer.
--
---@source UnityEngine.CoreModule.dll
---@field Index UnityEngine.GraphicsBuffer.Target
--
--GraphicsBuffer can be used as a structured buffer.
--
---@source UnityEngine.CoreModule.dll
---@field Structured UnityEngine.GraphicsBuffer.Target
--
--GraphicsBuffer can be used as a raw buffer (ByteAddressBuffer).
--
---@source UnityEngine.CoreModule.dll
---@field Raw UnityEngine.GraphicsBuffer.Target
--
--GraphicsBuffer can be used as an append-consume buffer.
--
---@source UnityEngine.CoreModule.dll
---@field Append UnityEngine.GraphicsBuffer.Target
--
--GraphicsBuffer with an internal counter. See Also: GraphicsBuffer.SetCounterValue and GraphicsBuffer.CopyCount.
--
---@source UnityEngine.CoreModule.dll
---@field Counter UnityEngine.GraphicsBuffer.Target
--
--GraphicsBuffer can be used as an indirect argument buffer for indirect draws and dispatches.
--
---@source UnityEngine.CoreModule.dll
---@field IndirectArguments UnityEngine.GraphicsBuffer.Target
--
--GraphicsBuffer can be used as a constant buffer.
--
---@source UnityEngine.CoreModule.dll
---@field Constant UnityEngine.GraphicsBuffer.Target
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Target = {}

---@source 
---@param value any
---@return UnityEngine.GraphicsBuffer.Target
function CS.UnityEngine.Target:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.QualityLevel: System.Enum
---@source UnityEngine.CoreModule.dll
---@field Fastest UnityEngine.QualityLevel
---@source UnityEngine.CoreModule.dll
---@field Fast UnityEngine.QualityLevel
---@source UnityEngine.CoreModule.dll
---@field Simple UnityEngine.QualityLevel
---@source UnityEngine.CoreModule.dll
---@field Good UnityEngine.QualityLevel
---@source UnityEngine.CoreModule.dll
---@field Beautiful UnityEngine.QualityLevel
---@source UnityEngine.CoreModule.dll
---@field Fantastic UnityEngine.QualityLevel
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.QualityLevel = {}

---@source 
---@param value any
---@return UnityEngine.QualityLevel
function CS.UnityEngine.QualityLevel:__CastFrom(value) end


--
--The portal for dynamically changing occlusion at runtime.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.OcclusionPortal: UnityEngine.Component
--
--Gets / sets the portal's open state.
--
---@source UnityEngine.CoreModule.dll
---@field open bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.OcclusionPortal = {}


--
--Shadow projection type for.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ShadowProjection: System.Enum
--
--Close fit shadow maps with linear fadeout.
--
---@source UnityEngine.CoreModule.dll
---@field CloseFit UnityEngine.ShadowProjection
--
--Stable shadow maps with spherical fadeout.
--
---@source UnityEngine.CoreModule.dll
---@field StableFit UnityEngine.ShadowProjection
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ShadowProjection = {}

---@source 
---@param value any
---@return UnityEngine.ShadowProjection
function CS.UnityEngine.ShadowProjection:__CastFrom(value) end


--
--OcclusionArea is an area in which occlusion culling is performed.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.OcclusionArea: UnityEngine.Component
--
--Center of the occlusion area relative to the transform.
--
---@source UnityEngine.CoreModule.dll
---@field center UnityEngine.Vector3
--
--Size that the occlusion area will have.
--
---@source UnityEngine.CoreModule.dll
---@field size UnityEngine.Vector3
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.OcclusionArea = {}


--
--Determines which type of shadows should be used.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ShadowQuality: System.Enum
--
--Disable Shadows.
--
---@source UnityEngine.CoreModule.dll
---@field Disable UnityEngine.ShadowQuality
--
--Hard Shadows Only.
--
---@source UnityEngine.CoreModule.dll
---@field HardOnly UnityEngine.ShadowQuality
--
--Hard and Soft Shadows.
--
---@source UnityEngine.CoreModule.dll
---@field All UnityEngine.ShadowQuality
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ShadowQuality = {}

---@source 
---@param value any
---@return UnityEngine.ShadowQuality
function CS.UnityEngine.ShadowQuality:__CastFrom(value) end


--
--A flare asset. Read more about flares in the.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Flare: UnityEngine.Object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Flare = {}


--
--Default shadow resolution.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ShadowResolution: System.Enum
--
--Low shadow map resolution.
--
---@source UnityEngine.CoreModule.dll
---@field Low UnityEngine.ShadowResolution
--
--Medium shadow map resolution.
--
---@source UnityEngine.CoreModule.dll
---@field Medium UnityEngine.ShadowResolution
--
--High shadow map resolution.
--
---@source UnityEngine.CoreModule.dll
---@field High UnityEngine.ShadowResolution
--
--Very high shadow map resolution.
--
---@source UnityEngine.CoreModule.dll
---@field VeryHigh UnityEngine.ShadowResolution
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ShadowResolution = {}

---@source 
---@param value any
---@return UnityEngine.ShadowResolution
function CS.UnityEngine.ShadowResolution:__CastFrom(value) end


--
--Script interface for a.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LensFlare: UnityEngine.Behaviour
--
--The strength of the flare.
--
---@source UnityEngine.CoreModule.dll
---@field brightness float
--
--The fade speed of the flare.
--
---@source UnityEngine.CoreModule.dll
---@field fadeSpeed float
--
--The color of the flare.
--
---@source UnityEngine.CoreModule.dll
---@field color UnityEngine.Color
--
--The to use.
--
---@source UnityEngine.CoreModule.dll
---@field flare UnityEngine.Flare
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LensFlare = {}


--
--The rendering mode of Shadowmask.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ShadowmaskMode: System.Enum
--
--Static shadow casters won't be rendered into realtime shadow maps. All shadows from static casters are handled via Shadowmasks and occlusion from Light Probes.
--
---@source UnityEngine.CoreModule.dll
---@field Shadowmask UnityEngine.ShadowmaskMode
--
--Static shadow casters will be rendered into realtime shadow maps. Shadowmasks and occlusion from Light Probes will only be used past the realtime shadow distance.
--
---@source UnityEngine.CoreModule.dll
---@field DistanceShadowmask UnityEngine.ShadowmaskMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ShadowmaskMode = {}

---@source 
---@param value any
---@return UnityEngine.ShadowmaskMode
function CS.UnityEngine.ShadowmaskMode:__CastFrom(value) end


--
--Class containing methods to ease debugging while developing a game.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Debug: object
--
--Get default debug logger.
--
---@source UnityEngine.CoreModule.dll
---@field unityLogger UnityEngine.ILogger
--
--Reports whether the development console is visible. The development console cannot be made to appear using:
--
---@source UnityEngine.CoreModule.dll
---@field developerConsoleVisible bool
--
--In the Build Settings dialog there is a check box called "Development Build".
--
---@source UnityEngine.CoreModule.dll
---@field isDebugBuild bool
---@source UnityEngine.CoreModule.dll
---@field logger UnityEngine.ILogger
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Debug = {}

--
--Draws a line between specified start and end points.
--
--```plaintext
--Params: start - Point in world space where the line should start.
--        end - Point in world space where the line should end.
--        color - Color of the line.
--        duration - How long the line should be visible for.
--        depthTest - Should the line be obscured by objects closer to the camera?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param start UnityEngine.Vector3
---@param end UnityEngine.Vector3
---@param color UnityEngine.Color
---@param duration float
function CS.UnityEngine.Debug:DrawLine(start, end, color, duration) end

--
--Draws a line between specified start and end points.
--
--```plaintext
--Params: start - Point in world space where the line should start.
--        end - Point in world space where the line should end.
--        color - Color of the line.
--        duration - How long the line should be visible for.
--        depthTest - Should the line be obscured by objects closer to the camera?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param start UnityEngine.Vector3
---@param end UnityEngine.Vector3
---@param color UnityEngine.Color
function CS.UnityEngine.Debug:DrawLine(start, end, color) end

--
--Draws a line between specified start and end points.
--
--```plaintext
--Params: start - Point in world space where the line should start.
--        end - Point in world space where the line should end.
--        color - Color of the line.
--        duration - How long the line should be visible for.
--        depthTest - Should the line be obscured by objects closer to the camera?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param start UnityEngine.Vector3
---@param end UnityEngine.Vector3
function CS.UnityEngine.Debug:DrawLine(start, end) end

--
--Draws a line between specified start and end points.
--
--```plaintext
--Params: start - Point in world space where the line should start.
--        end - Point in world space where the line should end.
--        color - Color of the line.
--        duration - How long the line should be visible for.
--        depthTest - Should the line be obscured by objects closer to the camera?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param start UnityEngine.Vector3
---@param end UnityEngine.Vector3
---@param color UnityEngine.Color
---@param duration float
---@param depthTest bool
function CS.UnityEngine.Debug:DrawLine(start, end, color, duration, depthTest) end

--
--Draws a line from start to start + dir in world coordinates.
--
--```plaintext
--Params: start - Point in world space where the ray should start.
--        dir - Direction and length of the ray.
--        color - Color of the drawn line.
--        duration - How long the line will be visible for (in seconds).
--        depthTest - Should the line be obscured by other objects closer to the camera?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param start UnityEngine.Vector3
---@param dir UnityEngine.Vector3
---@param color UnityEngine.Color
---@param duration float
function CS.UnityEngine.Debug:DrawRay(start, dir, color, duration) end

--
--Draws a line from start to start + dir in world coordinates.
--
--```plaintext
--Params: start - Point in world space where the ray should start.
--        dir - Direction and length of the ray.
--        color - Color of the drawn line.
--        duration - How long the line will be visible for (in seconds).
--        depthTest - Should the line be obscured by other objects closer to the camera?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param start UnityEngine.Vector3
---@param dir UnityEngine.Vector3
---@param color UnityEngine.Color
function CS.UnityEngine.Debug:DrawRay(start, dir, color) end

--
--Draws a line from start to start + dir in world coordinates.
--
--```plaintext
--Params: start - Point in world space where the ray should start.
--        dir - Direction and length of the ray.
--        color - Color of the drawn line.
--        duration - How long the line will be visible for (in seconds).
--        depthTest - Should the line be obscured by other objects closer to the camera?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param start UnityEngine.Vector3
---@param dir UnityEngine.Vector3
function CS.UnityEngine.Debug:DrawRay(start, dir) end

--
--Draws a line from start to start + dir in world coordinates.
--
--```plaintext
--Params: start - Point in world space where the ray should start.
--        dir - Direction and length of the ray.
--        color - Color of the drawn line.
--        duration - How long the line will be visible for (in seconds).
--        depthTest - Should the line be obscured by other objects closer to the camera?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param start UnityEngine.Vector3
---@param dir UnityEngine.Vector3
---@param color UnityEngine.Color
---@param duration float
---@param depthTest bool
function CS.UnityEngine.Debug:DrawRay(start, dir, color, duration, depthTest) end

--
--Pauses the editor.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Debug:Break() end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Debug:DebugBreak() end

--
--Populate an unmanaged buffer with the current managed call stack as a sequence of UTF-8 bytes, without allocating GC memory. Returns the number of bytes written into the buffer.
--
--```plaintext
--Params: buffer - Target buffer to receive the callstack text
--        bufferMax - Max number of bytes to write
--        projectFolder - Project folder path, to clean up path names
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param buffer byte*
---@param bufferMax int
---@param projectFolder string
---@return Int32
function CS.UnityEngine.Debug:ExtractStackTraceNoAlloc(buffer, bufferMax, projectFolder) end

--
--Logs a message to the Unity Console.
--
--```plaintext
--Params: message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param message object
function CS.UnityEngine.Debug:Log(message) end

--
--Logs a message to the Unity Console.
--
--```plaintext
--Params: message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param message object
---@param context UnityEngine.Object
function CS.UnityEngine.Debug:Log(message, context) end

--
--Logs a formatted message to the Unity Console.
--
--```plaintext
--Params: format - A composite format string.
--        args - Format arguments.
--        context - Object to which the message applies.
--        logType - Type of message e.g. warn or error etc.
--        logOptions - Option flags to treat the log message special.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param args object[]
function CS.UnityEngine.Debug:LogFormat(format, args) end

--
--Logs a formatted message to the Unity Console.
--
--```plaintext
--Params: format - A composite format string.
--        args - Format arguments.
--        context - Object to which the message applies.
--        logType - Type of message e.g. warn or error etc.
--        logOptions - Option flags to treat the log message special.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param context UnityEngine.Object
---@param format string
---@param args object[]
function CS.UnityEngine.Debug:LogFormat(context, format, args) end

--
--Logs a formatted message to the Unity Console.
--
--```plaintext
--Params: format - A composite format string.
--        args - Format arguments.
--        context - Object to which the message applies.
--        logType - Type of message e.g. warn or error etc.
--        logOptions - Option flags to treat the log message special.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@param logOptions UnityEngine.LogOption
---@param context UnityEngine.Object
---@param format string
---@param args object[]
function CS.UnityEngine.Debug:LogFormat(logType, logOptions, context, format, args) end

--
--A variant of Debug.Log that logs an error message to the console.
--
--```plaintext
--Params: message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param message object
function CS.UnityEngine.Debug:LogError(message) end

--
--A variant of Debug.Log that logs an error message to the console.
--
--```plaintext
--Params: message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param message object
---@param context UnityEngine.Object
function CS.UnityEngine.Debug:LogError(message, context) end

--
--Logs a formatted error message to the Unity console.
--
--```plaintext
--Params: format - A composite format string.
--        args - Format arguments.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param args object[]
function CS.UnityEngine.Debug:LogErrorFormat(format, args) end

--
--Logs a formatted error message to the Unity console.
--
--```plaintext
--Params: format - A composite format string.
--        args - Format arguments.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param context UnityEngine.Object
---@param format string
---@param args object[]
function CS.UnityEngine.Debug:LogErrorFormat(context, format, args) end

--
--Clears errors from the developer console.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Debug:ClearDeveloperConsole() end

--
--A variant of Debug.Log that logs an error message to the console.
--
--```plaintext
--Params: context - Object to which the message applies.
--        exception - Runtime Exception.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param exception System.Exception
function CS.UnityEngine.Debug:LogException(exception) end

--
--A variant of Debug.Log that logs an error message to the console.
--
--```plaintext
--Params: context - Object to which the message applies.
--        exception - Runtime Exception.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param exception System.Exception
---@param context UnityEngine.Object
function CS.UnityEngine.Debug:LogException(exception, context) end

--
--A variant of Debug.Log that logs a warning message to the console.
--
--```plaintext
--Params: message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param message object
function CS.UnityEngine.Debug:LogWarning(message) end

--
--A variant of Debug.Log that logs a warning message to the console.
--
--```plaintext
--Params: message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param message object
---@param context UnityEngine.Object
function CS.UnityEngine.Debug:LogWarning(message, context) end

--
--Logs a formatted warning message to the Unity Console.
--
--```plaintext
--Params: format - A composite format string.
--        args - Format arguments.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param args object[]
function CS.UnityEngine.Debug:LogWarningFormat(format, args) end

--
--Logs a formatted warning message to the Unity Console.
--
--```plaintext
--Params: format - A composite format string.
--        args - Format arguments.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param context UnityEngine.Object
---@param format string
---@param args object[]
function CS.UnityEngine.Debug:LogWarningFormat(context, format, args) end

--
--Assert a condition and logs an error message to the Unity console on failure.
--
--```plaintext
--Params: condition - Condition you expect to be true.
--        context - Object to which the message applies.
--        message - String or object to be converted to string representation for display.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param condition bool
function CS.UnityEngine.Debug:Assert(condition) end

--
--Assert a condition and logs an error message to the Unity console on failure.
--
--```plaintext
--Params: condition - Condition you expect to be true.
--        context - Object to which the message applies.
--        message - String or object to be converted to string representation for display.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param condition bool
---@param context UnityEngine.Object
function CS.UnityEngine.Debug:Assert(condition, context) end

--
--Assert a condition and logs an error message to the Unity console on failure.
--
--```plaintext
--Params: condition - Condition you expect to be true.
--        context - Object to which the message applies.
--        message - String or object to be converted to string representation for display.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param condition bool
---@param message object
function CS.UnityEngine.Debug:Assert(condition, message) end

---@source UnityEngine.CoreModule.dll
---@param condition bool
---@param message string
function CS.UnityEngine.Debug:Assert(condition, message) end

--
--Assert a condition and logs an error message to the Unity console on failure.
--
--```plaintext
--Params: condition - Condition you expect to be true.
--        context - Object to which the message applies.
--        message - String or object to be converted to string representation for display.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param condition bool
---@param message object
---@param context UnityEngine.Object
function CS.UnityEngine.Debug:Assert(condition, message, context) end

---@source UnityEngine.CoreModule.dll
---@param condition bool
---@param message string
---@param context UnityEngine.Object
function CS.UnityEngine.Debug:Assert(condition, message, context) end

--
--Assert a condition and logs a formatted error message to the Unity console on failure.
--
--```plaintext
--Params: condition - Condition you expect to be true.
--        format - A composite format string.
--        args - Format arguments.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param condition bool
---@param format string
---@param args object[]
function CS.UnityEngine.Debug:AssertFormat(condition, format, args) end

--
--Assert a condition and logs a formatted error message to the Unity console on failure.
--
--```plaintext
--Params: condition - Condition you expect to be true.
--        format - A composite format string.
--        args - Format arguments.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param condition bool
---@param context UnityEngine.Object
---@param format string
---@param args object[]
function CS.UnityEngine.Debug:AssertFormat(condition, context, format, args) end

--
--A variant of Debug.Log that logs an assertion message to the console.
--
--```plaintext
--Params: message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param message object
function CS.UnityEngine.Debug:LogAssertion(message) end

--
--A variant of Debug.Log that logs an assertion message to the console.
--
--```plaintext
--Params: message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param message object
---@param context UnityEngine.Object
function CS.UnityEngine.Debug:LogAssertion(message, context) end

--
--Logs a formatted assertion message to the Unity console.
--
--```plaintext
--Params: format - A composite format string.
--        args - Format arguments.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param args object[]
function CS.UnityEngine.Debug:LogAssertionFormat(format, args) end

--
--Logs a formatted assertion message to the Unity console.
--
--```plaintext
--Params: format - A composite format string.
--        args - Format arguments.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param context UnityEngine.Object
---@param format string
---@param args object[]
function CS.UnityEngine.Debug:LogAssertionFormat(context, format, args) end

---@source UnityEngine.CoreModule.dll
---@param condition bool
---@param format string
---@param args object[]
function CS.UnityEngine.Debug:Assert(condition, format, args) end


--
--Object that is used to resolve references to an ExposedReference field.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ExposedPropertyResolver: System.ValueType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ExposedPropertyResolver = {}


--
--Creates a type whos value is resolvable at runtime.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ExposedReference: System.ValueType
---@source UnityEngine.CoreModule.dll
---@field exposedName UnityEngine.PropertyName
---@source UnityEngine.CoreModule.dll
---@field defaultValue UnityEngine.Object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ExposedReference = {}

---@source UnityEngine.CoreModule.dll
---@param resolver UnityEngine.IExposedPropertyTable
---@return T
function CS.UnityEngine.ExposedReference.Resolve(resolver) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.IExposedPropertyTable
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.IExposedPropertyTable = {}

--
--Assigns a value for an ExposedReference.
--
--```plaintext
--Params: id - Identifier of the ExposedReference.
--        value - The value to assigned to the ExposedReference.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param id UnityEngine.PropertyName
---@param value UnityEngine.Object
function CS.UnityEngine.IExposedPropertyTable.SetReferenceValue(id, value) end

---@source UnityEngine.CoreModule.dll
---@param id UnityEngine.PropertyName
---@param idValid bool
---@return Object
function CS.UnityEngine.IExposedPropertyTable.GetReferenceValue(id, idValid) end

--
--Remove a value for the given reference.
--
--```plaintext
--Params: id - Identifier of the ExposedReference.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param id UnityEngine.PropertyName
function CS.UnityEngine.IExposedPropertyTable.ClearReferenceValue(id) end


--
--Values for Camera.clearFlags, determining what to clear when rendering a Camera.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CameraClearFlags: System.Enum
--
--Clear with the skybox.
--
---@source UnityEngine.CoreModule.dll
---@field Skybox UnityEngine.CameraClearFlags
---@source UnityEngine.CoreModule.dll
---@field Color UnityEngine.CameraClearFlags
--
--Clear with a background color.
--
---@source UnityEngine.CoreModule.dll
---@field SolidColor UnityEngine.CameraClearFlags
--
--Clear only the depth buffer.
--
---@source UnityEngine.CoreModule.dll
---@field Depth UnityEngine.CameraClearFlags
--
--Don't clear anything.
--
---@source UnityEngine.CoreModule.dll
---@field Nothing UnityEngine.CameraClearFlags
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CameraClearFlags = {}

---@source 
---@param value any
---@return UnityEngine.CameraClearFlags
function CS.UnityEngine.CameraClearFlags:__CastFrom(value) end


--
--Depth texture generation mode for Camera.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.DepthTextureMode: System.Enum
--
--Do not generate depth texture (Default).
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.DepthTextureMode
--
--Generate a depth texture.
--
---@source UnityEngine.CoreModule.dll
---@field Depth UnityEngine.DepthTextureMode
--
--Generate a depth + normals texture.
--
---@source UnityEngine.CoreModule.dll
---@field DepthNormals UnityEngine.DepthTextureMode
--
--Specifies whether motion vectors should be rendered (if possible).
--
---@source UnityEngine.CoreModule.dll
---@field MotionVectors UnityEngine.DepthTextureMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.DepthTextureMode = {}

---@source 
---@param value any
---@return UnityEngine.DepthTextureMode
function CS.UnityEngine.DepthTextureMode:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.TexGenMode: System.Enum
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.TexGenMode
---@source UnityEngine.CoreModule.dll
---@field SphereMap UnityEngine.TexGenMode
---@source UnityEngine.CoreModule.dll
---@field Object UnityEngine.TexGenMode
---@source UnityEngine.CoreModule.dll
---@field EyeLinear UnityEngine.TexGenMode
---@source UnityEngine.CoreModule.dll
---@field CubeReflect UnityEngine.TexGenMode
---@source UnityEngine.CoreModule.dll
---@field CubeNormal UnityEngine.TexGenMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.TexGenMode = {}

---@source 
---@param value any
---@return UnityEngine.TexGenMode
function CS.UnityEngine.TexGenMode:__CastFrom(value) end


--
--Anisotropic filtering mode.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.AnisotropicFiltering: System.Enum
--
--Disable anisotropic filtering for all textures.
--
---@source UnityEngine.CoreModule.dll
---@field Disable UnityEngine.AnisotropicFiltering
--
--Enable anisotropic filtering, as set for each texture.
--
---@source UnityEngine.CoreModule.dll
---@field Enable UnityEngine.AnisotropicFiltering
--
--Enable anisotropic filtering for all textures.
--
---@source UnityEngine.CoreModule.dll
---@field ForceEnable UnityEngine.AnisotropicFiltering
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.AnisotropicFiltering = {}

---@source 
---@param value any
---@return UnityEngine.AnisotropicFiltering
function CS.UnityEngine.AnisotropicFiltering:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.BlendWeights: System.Enum
---@source UnityEngine.CoreModule.dll
---@field OneBone UnityEngine.BlendWeights
---@source UnityEngine.CoreModule.dll
---@field TwoBones UnityEngine.BlendWeights
---@source UnityEngine.CoreModule.dll
---@field FourBones UnityEngine.BlendWeights
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.BlendWeights = {}

---@source 
---@param value any
---@return UnityEngine.BlendWeights
function CS.UnityEngine.BlendWeights:__CastFrom(value) end


--
--Skin weights.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SkinWeights: System.Enum
--
--One bone affects each vertex.
--
---@source UnityEngine.CoreModule.dll
---@field OneBone UnityEngine.SkinWeights
--
--Two bones affect each vertex.
--
---@source UnityEngine.CoreModule.dll
---@field TwoBones UnityEngine.SkinWeights
--
--Four bones affect each vertex.
--
---@source UnityEngine.CoreModule.dll
---@field FourBones UnityEngine.SkinWeights
--
--An unlimited number of bones affect each vertex.
--
---@source UnityEngine.CoreModule.dll
---@field Unlimited UnityEngine.SkinWeights
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SkinWeights = {}

---@source 
---@param value any
---@return UnityEngine.SkinWeights
function CS.UnityEngine.SkinWeights:__CastFrom(value) end


--
--Topology of Mesh faces.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MeshTopology: System.Enum
--
--Mesh is made from triangles.
--
---@source UnityEngine.CoreModule.dll
---@field Triangles UnityEngine.MeshTopology
--
--Mesh is made from quads.
--
---@source UnityEngine.CoreModule.dll
---@field Quads UnityEngine.MeshTopology
--
--Mesh is made from lines.
--
---@source UnityEngine.CoreModule.dll
---@field Lines UnityEngine.MeshTopology
--
--Mesh is a line strip.
--
---@source UnityEngine.CoreModule.dll
---@field LineStrip UnityEngine.MeshTopology
--
--Mesh is made from points.
--
---@source UnityEngine.CoreModule.dll
---@field Points UnityEngine.MeshTopology
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MeshTopology = {}

---@source 
---@param value any
---@return UnityEngine.MeshTopology
function CS.UnityEngine.MeshTopology:__CastFrom(value) end


--
--The maximum number of bones affecting a single vertex.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SkinQuality: System.Enum
--
--Chooses the number of bones from the number current QualitySettings. (Default)
--
---@source UnityEngine.CoreModule.dll
---@field Auto UnityEngine.SkinQuality
--
--Use only 1 bone to deform a single vertex. (The most important bone will be used).
--
---@source UnityEngine.CoreModule.dll
---@field Bone1 UnityEngine.SkinQuality
--
--Use 2 bones to deform a single vertex. (The most important bones will be used).
--
---@source UnityEngine.CoreModule.dll
---@field Bone2 UnityEngine.SkinQuality
--
--Use 4 bones to deform a single vertex.
--
---@source UnityEngine.CoreModule.dll
---@field Bone4 UnityEngine.SkinQuality
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SkinQuality = {}

---@source 
---@param value any
---@return UnityEngine.SkinQuality
function CS.UnityEngine.SkinQuality:__CastFrom(value) end


--
--Cubemap face.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CubemapFace: System.Enum
--
--Cubemap face is unknown or unspecified.
--
---@source UnityEngine.CoreModule.dll
---@field Unknown UnityEngine.CubemapFace
--
--Right facing side (+x).
--
---@source UnityEngine.CoreModule.dll
---@field PositiveX UnityEngine.CubemapFace
--
--Left facing side (-x).
--
---@source UnityEngine.CoreModule.dll
---@field NegativeX UnityEngine.CubemapFace
--
--Upwards facing side (+y).
--
---@source UnityEngine.CoreModule.dll
---@field PositiveY UnityEngine.CubemapFace
--
--Downward facing side (-y).
--
---@source UnityEngine.CoreModule.dll
---@field NegativeY UnityEngine.CubemapFace
--
--Forward facing side (+z).
--
---@source UnityEngine.CoreModule.dll
---@field PositiveZ UnityEngine.CubemapFace
--
--Backward facing side (-z).
--
---@source UnityEngine.CoreModule.dll
---@field NegativeZ UnityEngine.CubemapFace
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CubemapFace = {}

---@source 
---@param value any
---@return UnityEngine.CubemapFace
function CS.UnityEngine.CubemapFace:__CastFrom(value) end


--
--Color space for player settings.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ColorSpace: System.Enum
--
--Uninitialized color space.
--
---@source UnityEngine.CoreModule.dll
---@field Uninitialized UnityEngine.ColorSpace
--
--Gamma color space.
--
---@source UnityEngine.CoreModule.dll
---@field Gamma UnityEngine.ColorSpace
--
--Linear color space.
--
---@source UnityEngine.CoreModule.dll
---@field Linear UnityEngine.ColorSpace
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ColorSpace = {}

---@source 
---@param value any
---@return UnityEngine.ColorSpace
function CS.UnityEngine.ColorSpace:__CastFrom(value) end


--
--Format of a RenderTexture.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RenderTextureFormat: System.Enum
--
--Color render texture format, 8 bits per channel.
--
---@source UnityEngine.CoreModule.dll
---@field ARGB32 UnityEngine.RenderTextureFormat
--
--A depth render texture format.
--
---@source UnityEngine.CoreModule.dll
---@field Depth UnityEngine.RenderTextureFormat
--
--Color render texture format, 16 bit floating point per channel.
--
---@source UnityEngine.CoreModule.dll
---@field ARGBHalf UnityEngine.RenderTextureFormat
--
--A native shadowmap render texture format.
--
---@source UnityEngine.CoreModule.dll
---@field Shadowmap UnityEngine.RenderTextureFormat
--
--Color render texture format.
--
---@source UnityEngine.CoreModule.dll
---@field RGB565 UnityEngine.RenderTextureFormat
--
--Color render texture format, 4 bit per channel.
--
---@source UnityEngine.CoreModule.dll
---@field ARGB4444 UnityEngine.RenderTextureFormat
--
--Color render texture format, 1 bit for Alpha channel, 5 bits for Red, Green and Blue channels.
--
---@source UnityEngine.CoreModule.dll
---@field ARGB1555 UnityEngine.RenderTextureFormat
--
--Default color render texture format: will be chosen accordingly to Frame Buffer format and Platform.
--
---@source UnityEngine.CoreModule.dll
---@field Default UnityEngine.RenderTextureFormat
--
--Color render texture format. 10 bits for colors, 2 bits for alpha.
--
---@source UnityEngine.CoreModule.dll
---@field ARGB2101010 UnityEngine.RenderTextureFormat
--
--Default HDR color render texture format: will be chosen accordingly to Frame Buffer format and Platform.
--
---@source UnityEngine.CoreModule.dll
---@field DefaultHDR UnityEngine.RenderTextureFormat
--
--Four color render texture format, 16 bits per channel, fixed point, unsigned normalized.
--
---@source UnityEngine.CoreModule.dll
---@field ARGB64 UnityEngine.RenderTextureFormat
--
--Color render texture format, 32 bit floating point per channel.
--
---@source UnityEngine.CoreModule.dll
---@field ARGBFloat UnityEngine.RenderTextureFormat
--
--Two color (RG) render texture format, 32 bit floating point per channel.
--
---@source UnityEngine.CoreModule.dll
---@field RGFloat UnityEngine.RenderTextureFormat
--
--Two color (RG) render texture format, 16 bit floating point per channel.
--
---@source UnityEngine.CoreModule.dll
---@field RGHalf UnityEngine.RenderTextureFormat
--
--Scalar (R) render texture format, 32 bit floating point.
--
---@source UnityEngine.CoreModule.dll
---@field RFloat UnityEngine.RenderTextureFormat
--
--Scalar (R) render texture format, 16 bit floating point.
--
---@source UnityEngine.CoreModule.dll
---@field RHalf UnityEngine.RenderTextureFormat
--
--Single channel (R) render texture format, 8 bit integer.
--
---@source UnityEngine.CoreModule.dll
---@field R8 UnityEngine.RenderTextureFormat
--
--Four channel (ARGB) render texture format, 32 bit signed integer per channel.
--
---@source UnityEngine.CoreModule.dll
---@field ARGBInt UnityEngine.RenderTextureFormat
--
--Two channel (RG) render texture format, 32 bit signed integer per channel.
--
---@source UnityEngine.CoreModule.dll
---@field RGInt UnityEngine.RenderTextureFormat
--
--Scalar (R) render texture format, 32 bit signed integer.
--
---@source UnityEngine.CoreModule.dll
---@field RInt UnityEngine.RenderTextureFormat
--
--Color render texture format, 8 bits per channel.
--
---@source UnityEngine.CoreModule.dll
---@field BGRA32 UnityEngine.RenderTextureFormat
--
--Color render texture format. R and G channels are 11 bit floating point, B channel is 10 bit floating point.
--
---@source UnityEngine.CoreModule.dll
---@field RGB111110Float UnityEngine.RenderTextureFormat
--
--Two color (RG) render texture format, 16 bits per channel, fixed point, unsigned normalized.
--
---@source UnityEngine.CoreModule.dll
---@field RG32 UnityEngine.RenderTextureFormat
--
--Four channel (RGBA) render texture format, 16 bit unsigned integer per channel.
--
---@source UnityEngine.CoreModule.dll
---@field RGBAUShort UnityEngine.RenderTextureFormat
--
--Two channel (RG) render texture format, 8 bits per channel.
--
---@source UnityEngine.CoreModule.dll
---@field RG16 UnityEngine.RenderTextureFormat
--
--Color render texture format, 10 bit per channel, extended range.
--
---@source UnityEngine.CoreModule.dll
---@field BGRA10101010_XR UnityEngine.RenderTextureFormat
--
--Color render texture format, 10 bit per channel, extended range.
--
---@source UnityEngine.CoreModule.dll
---@field BGR101010_XR UnityEngine.RenderTextureFormat
--
--Single channel (R) render texture format, 16 bit integer.
--
---@source UnityEngine.CoreModule.dll
---@field R16 UnityEngine.RenderTextureFormat
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RenderTextureFormat = {}

---@source 
---@param value any
---@return UnityEngine.RenderTextureFormat
function CS.UnityEngine.RenderTextureFormat:__CastFrom(value) end


--
--Represents a color gamut.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ColorGamut: System.Enum
--
--sRGB color gamut.
--
---@source UnityEngine.CoreModule.dll
---@field sRGB UnityEngine.ColorGamut
--
--Rec. 709 color gamut.
--
---@source UnityEngine.CoreModule.dll
---@field Rec709 UnityEngine.ColorGamut
--
--Rec. 2020 color gamut.
--
---@source UnityEngine.CoreModule.dll
---@field Rec2020 UnityEngine.ColorGamut
--
--Display-P3 color gamut.
--
---@source UnityEngine.CoreModule.dll
---@field DisplayP3 UnityEngine.ColorGamut
--
--HDR10 high dynamic range color gamut.
--
---@source UnityEngine.CoreModule.dll
---@field HDR10 UnityEngine.ColorGamut
--
--DolbyHDR high dynamic range color gamut.
--
---@source UnityEngine.CoreModule.dll
---@field DolbyHDR UnityEngine.ColorGamut
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ColorGamut = {}

---@source 
---@param value any
---@return UnityEngine.ColorGamut
function CS.UnityEngine.ColorGamut:__CastFrom(value) end


--
--This enum describes how the RenderTexture is used as a VR eye texture. Instead of using the values of this enum manually, use the value returned by XR.XRSettings.eyeTextureDesc|eyeTextureDesc or other VR functions returning a RenderTextureDescriptor.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.VRTextureUsage: System.Enum
--
--The RenderTexture is not a VR eye texture. No special rendering behavior will occur.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.VRTextureUsage
--
--This texture corresponds to a single eye on a stereoscopic display.
--
---@source UnityEngine.CoreModule.dll
---@field OneEye UnityEngine.VRTextureUsage
--
--This texture corresponds to two eyes on a stereoscopic display. This will be taken into account when using Graphics.Blit and other rendering functions.
--
---@source UnityEngine.CoreModule.dll
---@field TwoEyes UnityEngine.VRTextureUsage
--
--The texture used by an external XR provider.  The provider is responsible for defining the texture's layout and use.
--
---@source UnityEngine.CoreModule.dll
---@field DeviceSpecific UnityEngine.VRTextureUsage
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.VRTextureUsage = {}

---@source 
---@param value any
---@return UnityEngine.VRTextureUsage
function CS.UnityEngine.VRTextureUsage:__CastFrom(value) end


--
--Describes screen orientation.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ScreenOrientation: System.Enum
---@source UnityEngine.CoreModule.dll
---@field Unknown UnityEngine.ScreenOrientation
--
--Portrait orientation.
--
---@source UnityEngine.CoreModule.dll
---@field Portrait UnityEngine.ScreenOrientation
--
--Portrait orientation, upside down.
--
---@source UnityEngine.CoreModule.dll
---@field PortraitUpsideDown UnityEngine.ScreenOrientation
--
--Landscape orientation, counter-clockwise from the portrait orientation.
--
---@source UnityEngine.CoreModule.dll
---@field LandscapeLeft UnityEngine.ScreenOrientation
--
--Landscape orientation, clockwise from the portrait orientation.
--
---@source UnityEngine.CoreModule.dll
---@field LandscapeRight UnityEngine.ScreenOrientation
--
--Auto-rotates the screen as necessary toward any of the enabled orientations.
--
---@source UnityEngine.CoreModule.dll
---@field AutoRotation UnityEngine.ScreenOrientation
---@source UnityEngine.CoreModule.dll
---@field Landscape UnityEngine.ScreenOrientation
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ScreenOrientation = {}

---@source 
---@param value any
---@return UnityEngine.ScreenOrientation
function CS.UnityEngine.ScreenOrientation:__CastFrom(value) end


--
--Set of flags that control the state of a newly-created RenderTexture.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RenderTextureCreationFlags: System.Enum
--
--Set this flag to allocate mipmaps in the RenderTexture. See RenderTexture.useMipMap for more details.
--
---@source UnityEngine.CoreModule.dll
---@field MipMap UnityEngine.RenderTextureCreationFlags
--
--Determines whether or not mipmaps are automatically generated when the RenderTexture is modified.
--This flag is set by default, and has no effect if the RenderTextureCreationFlags.MipMap flag is not also set.
--See RenderTexture.autoGenerateMips for more details.
--
---@source UnityEngine.CoreModule.dll
---@field AutoGenerateMips UnityEngine.RenderTextureCreationFlags
--
--When this flag is set, reads and writes to this texture are converted to SRGB color space. See RenderTexture.sRGB for more details.
--
---@source UnityEngine.CoreModule.dll
---@field SRGB UnityEngine.RenderTextureCreationFlags
--
--Set this flag when the Texture is to be used as a VR eye texture. This flag is cleared by default. This flag is set on a RenderTextureDesc when it is returned from GetDefaultVREyeTextureDesc or other VR functions returning a RenderTextureDesc.
--
---@source UnityEngine.CoreModule.dll
---@field EyeTexture UnityEngine.RenderTextureCreationFlags
--
--Set this flag to enable random access writes to the RenderTexture from shaders.
--Normally, pixel shaders only operate on pixels they are given. Compute shaders cannot write to textures without this flag. Random write enables shaders to write to arbitrary locations on a RenderTexture.  See RenderTexture.enableRandomWrite for more details, including supported platforms.
--
---@source UnityEngine.CoreModule.dll
---@field EnableRandomWrite UnityEngine.RenderTextureCreationFlags
--
--This flag is always set internally when a RenderTexture is created from script. It has no effect when set manually from script code.
--
---@source UnityEngine.CoreModule.dll
---@field CreatedFromScript UnityEngine.RenderTextureCreationFlags
--
--Clear this flag when a RenderTexture is a VR eye texture and the device does not automatically flip the texture when being displayed. This is platform specific and
--It is set by default. This flag is only cleared when part of a RenderTextureDesc that is returned from GetDefaultVREyeTextureDesc or other VR functions that return a RenderTextureDesc. Currently, only Hololens eye textures need to clear this flag.
--
---@source UnityEngine.CoreModule.dll
---@field AllowVerticalFlip UnityEngine.RenderTextureCreationFlags
--
--When this flag is set, the engine will not automatically resolve the color surface.
--
---@source UnityEngine.CoreModule.dll
---@field NoResolvedColorSurface UnityEngine.RenderTextureCreationFlags
--
--Set this flag to mark this RenderTexture for Dynamic Resolution should the target platform/graphics API support Dynamic Resolution. See ScalabeBufferManager for more details.
--
---@source UnityEngine.CoreModule.dll
---@field DynamicallyScalable UnityEngine.RenderTextureCreationFlags
--
--Setting this flag causes the RenderTexture to be bound as a multisampled texture in a shader. The flag prevents the RenderTexture from being resolved by default when RenderTexture.antiAliasing is greater than 1.
--
---@source UnityEngine.CoreModule.dll
---@field BindMS UnityEngine.RenderTextureCreationFlags
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RenderTextureCreationFlags = {}

---@source 
---@param value any
---@return UnityEngine.RenderTextureCreationFlags
function CS.UnityEngine.RenderTextureCreationFlags:__CastFrom(value) end


--
--Filtering mode for textures. Corresponds to the settings in a.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.FilterMode: System.Enum
--
--Point filtering - texture pixels become blocky up close.
--
---@source UnityEngine.CoreModule.dll
---@field Point UnityEngine.FilterMode
--
--Bilinear filtering - texture samples are averaged.
--
---@source UnityEngine.CoreModule.dll
---@field Bilinear UnityEngine.FilterMode
--
--Trilinear filtering - texture samples are averaged and also blended between mipmap levels.
--
---@source UnityEngine.CoreModule.dll
---@field Trilinear UnityEngine.FilterMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.FilterMode = {}

---@source 
---@param value any
---@return UnityEngine.FilterMode
function CS.UnityEngine.FilterMode:__CastFrom(value) end


--
--Color space conversion mode of a RenderTexture.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RenderTextureReadWrite: System.Enum
--
--Default color space conversion based on project settings.
--
---@source UnityEngine.CoreModule.dll
---@field Default UnityEngine.RenderTextureReadWrite
--
--Render texture contains linear (non-color) data; don't perform color conversions on it.
--
---@source UnityEngine.CoreModule.dll
---@field Linear UnityEngine.RenderTextureReadWrite
--
--Render texture contains sRGB (color) data, perform Linear<->sRGB conversions on it.
--
---@source UnityEngine.CoreModule.dll
---@field sRGB UnityEngine.RenderTextureReadWrite
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RenderTextureReadWrite = {}

---@source 
---@param value any
---@return UnityEngine.RenderTextureReadWrite
function CS.UnityEngine.RenderTextureReadWrite:__CastFrom(value) end


--
--Wrap mode for textures.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.TextureWrapMode: System.Enum
--
--Tiles the texture, creating a repeating pattern.
--
---@source UnityEngine.CoreModule.dll
---@field Repeat UnityEngine.TextureWrapMode
--
--Clamps the texture to the last pixel at the edge.
--
---@source UnityEngine.CoreModule.dll
---@field Clamp UnityEngine.TextureWrapMode
--
--Tiles the texture, creating a repeating pattern by mirroring it at every integer boundary.
--
---@source UnityEngine.CoreModule.dll
---@field Mirror UnityEngine.TextureWrapMode
--
--Mirrors the texture once, then clamps to edge pixels.
--
---@source UnityEngine.CoreModule.dll
---@field MirrorOnce UnityEngine.TextureWrapMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.TextureWrapMode = {}

---@source 
---@param value any
---@return UnityEngine.TextureWrapMode
function CS.UnityEngine.TextureWrapMode:__CastFrom(value) end


--
--Flags enumeration of the render texture memoryless modes.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RenderTextureMemoryless: System.Enum
--
--The render texture is not memoryless.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.RenderTextureMemoryless
--
--Render texture color pixels are memoryless when RenderTexture.antiAliasing is set to 1.
--
---@source UnityEngine.CoreModule.dll
---@field Color UnityEngine.RenderTextureMemoryless
--
--Render texture depth pixels are memoryless.
--
---@source UnityEngine.CoreModule.dll
---@field Depth UnityEngine.RenderTextureMemoryless
--
--Render texture color pixels are memoryless when RenderTexture.antiAliasing is set to 2, 4 or 8.
--
---@source UnityEngine.CoreModule.dll
---@field MSAA UnityEngine.RenderTextureMemoryless
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RenderTextureMemoryless = {}

---@source 
---@param value any
---@return UnityEngine.RenderTextureMemoryless
function CS.UnityEngine.RenderTextureMemoryless:__CastFrom(value) end


--
--NPOT Texture2D|textures support.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.NPOTSupport: System.Enum
--
--NPOT textures are not supported. Will be upscaled/padded at loading time.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.NPOTSupport
--
--Limited NPOT support: no mipmaps and clamp TextureWrapMode|wrap mode will be forced.
--
---@source UnityEngine.CoreModule.dll
---@field Restricted UnityEngine.NPOTSupport
--
--Full NPOT support.
--
---@source UnityEngine.CoreModule.dll
---@field Full UnityEngine.NPOTSupport
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.NPOTSupport = {}

---@source 
---@param value any
---@return UnityEngine.NPOTSupport
function CS.UnityEngine.NPOTSupport:__CastFrom(value) end


--
--A set of flags that describe the level of HDR display support available on the system.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.HDRDisplaySupportFlags: System.Enum
--
--Flag used to denote that support for HDR displays is not available on the system.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.HDRDisplaySupportFlags
--
--Flag used to denote that support for HDR displays is available on the system.
--
---@source UnityEngine.CoreModule.dll
---@field Supported UnityEngine.HDRDisplaySupportFlags
--
--Flag used to denote that the system can change whether output is performed in HDR or SDR ranges at runtime when connected to an HDR display.
--
---@source UnityEngine.CoreModule.dll
---@field RuntimeSwitchable UnityEngine.HDRDisplaySupportFlags
--
--Flag used to denote if the system supports automatic tonemapping to HDR displays.
--
---@source UnityEngine.CoreModule.dll
---@field AutomaticTonemapping UnityEngine.HDRDisplaySupportFlags
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.HDRDisplaySupportFlags = {}

---@source 
---@param value any
---@return UnityEngine.HDRDisplaySupportFlags
function CS.UnityEngine.HDRDisplaySupportFlags:__CastFrom(value) end


--
--Format used when creating textures from scripts.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.TextureFormat: System.Enum
--
--Alpha-only texture format, 8 bit integer.
--
---@source UnityEngine.CoreModule.dll
---@field Alpha8 UnityEngine.TextureFormat
--
--A 16 bits/pixel texture format. Texture stores color with an alpha channel.
--
---@source UnityEngine.CoreModule.dll
---@field ARGB4444 UnityEngine.TextureFormat
--
--Color texture format, 8-bits per channel.
--
---@source UnityEngine.CoreModule.dll
---@field RGB24 UnityEngine.TextureFormat
--
--Color with alpha texture format, 8-bits per channel.
--
---@source UnityEngine.CoreModule.dll
---@field RGBA32 UnityEngine.TextureFormat
--
--Color with alpha texture format, 8-bits per channel.
--
---@source UnityEngine.CoreModule.dll
---@field ARGB32 UnityEngine.TextureFormat
--
--A 16 bit color texture format.
--
---@source UnityEngine.CoreModule.dll
---@field RGB565 UnityEngine.TextureFormat
--
--Single channel (R) texture format, 16 bit integer.
--
---@source UnityEngine.CoreModule.dll
---@field R16 UnityEngine.TextureFormat
--
--Compressed color texture format.
--
---@source UnityEngine.CoreModule.dll
---@field DXT1 UnityEngine.TextureFormat
--
--Compressed color with alpha channel texture format.
--
---@source UnityEngine.CoreModule.dll
---@field DXT5 UnityEngine.TextureFormat
--
--Color and alpha  texture format, 4 bit per channel.
--
---@source UnityEngine.CoreModule.dll
---@field RGBA4444 UnityEngine.TextureFormat
--
--Color with alpha texture format, 8-bits per channel.
--
---@source UnityEngine.CoreModule.dll
---@field BGRA32 UnityEngine.TextureFormat
--
--Scalar (R)  texture format, 16 bit floating point.
--
---@source UnityEngine.CoreModule.dll
---@field RHalf UnityEngine.TextureFormat
--
--Two color (RG)  texture format, 16 bit floating point per channel.
--
---@source UnityEngine.CoreModule.dll
---@field RGHalf UnityEngine.TextureFormat
--
--RGB color and alpha texture format, 16 bit floating point per channel.
--
---@source UnityEngine.CoreModule.dll
---@field RGBAHalf UnityEngine.TextureFormat
--
--Scalar (R) texture format, 32 bit floating point.
--
---@source UnityEngine.CoreModule.dll
---@field RFloat UnityEngine.TextureFormat
--
--Two color (RG)  texture format, 32 bit floating point per channel.
--
---@source UnityEngine.CoreModule.dll
---@field RGFloat UnityEngine.TextureFormat
--
--RGB color and alpha texture format,  32-bit floats per channel.
--
---@source UnityEngine.CoreModule.dll
---@field RGBAFloat UnityEngine.TextureFormat
--
--A format that uses the YUV color space and is often used for video encoding or playback.
--
---@source UnityEngine.CoreModule.dll
---@field YUY2 UnityEngine.TextureFormat
--
--RGB HDR format, with 9 bit mantissa per channel and a 5 bit shared exponent.
--
---@source UnityEngine.CoreModule.dll
---@field RGB9e5Float UnityEngine.TextureFormat
--
--Compressed one channel (R) texture format.
--
---@source UnityEngine.CoreModule.dll
---@field BC4 UnityEngine.TextureFormat
--
--Compressed two-channel (RG) texture format.
--
---@source UnityEngine.CoreModule.dll
---@field BC5 UnityEngine.TextureFormat
--
--HDR compressed color texture format.
--
---@source UnityEngine.CoreModule.dll
---@field BC6H UnityEngine.TextureFormat
--
--High quality compressed color texture format.
--
---@source UnityEngine.CoreModule.dll
---@field BC7 UnityEngine.TextureFormat
--
--Compressed color texture format with Crunch compression for smaller storage sizes.
--
---@source UnityEngine.CoreModule.dll
---@field DXT1Crunched UnityEngine.TextureFormat
--
--Compressed color with alpha channel texture format with Crunch compression for smaller storage sizes.
--
---@source UnityEngine.CoreModule.dll
---@field DXT5Crunched UnityEngine.TextureFormat
--
--PowerVR (iOS) 2 bits/pixel compressed color texture format.
--
---@source UnityEngine.CoreModule.dll
---@field PVRTC_RGB2 UnityEngine.TextureFormat
--
--PowerVR (iOS) 2 bits/pixel compressed with alpha channel texture format.
--
---@source UnityEngine.CoreModule.dll
---@field PVRTC_RGBA2 UnityEngine.TextureFormat
--
--PowerVR (iOS) 4 bits/pixel compressed color texture format.
--
---@source UnityEngine.CoreModule.dll
---@field PVRTC_RGB4 UnityEngine.TextureFormat
--
--PowerVR (iOS) 4 bits/pixel compressed with alpha channel texture format.
--
---@source UnityEngine.CoreModule.dll
---@field PVRTC_RGBA4 UnityEngine.TextureFormat
--
--ETC (GLES2.0) 4 bits/pixel compressed RGB texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ETC_RGB4 UnityEngine.TextureFormat
---@source UnityEngine.CoreModule.dll
---@field ATC_RGB4 UnityEngine.TextureFormat
---@source UnityEngine.CoreModule.dll
---@field ATC_RGBA8 UnityEngine.TextureFormat
--
--ETC2  EAC (GL ES 3.0) 4 bitspixel compressed unsigned single-channel texture format.
--
---@source UnityEngine.CoreModule.dll
---@field EAC_R UnityEngine.TextureFormat
--
--ETC2  EAC (GL ES 3.0) 4 bitspixel compressed signed single-channel texture format.
--
---@source UnityEngine.CoreModule.dll
---@field EAC_R_SIGNED UnityEngine.TextureFormat
--
--ETC2  EAC (GL ES 3.0) 8 bitspixel compressed unsigned dual-channel (RG) texture format.
--
---@source UnityEngine.CoreModule.dll
---@field EAC_RG UnityEngine.TextureFormat
--
--ETC2  EAC (GL ES 3.0) 8 bitspixel compressed signed dual-channel (RG) texture format.
--
---@source UnityEngine.CoreModule.dll
---@field EAC_RG_SIGNED UnityEngine.TextureFormat
--
--ETC2 (GL ES 3.0) 4 bits/pixel compressed RGB texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ETC2_RGB UnityEngine.TextureFormat
--
--ETC2 (GL ES 3.0) 4 bits/pixel RGB+1-bit alpha texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ETC2_RGBA1 UnityEngine.TextureFormat
--
--ETC2 (GL ES 3.0) 8 bits/pixel compressed RGBA texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ETC2_RGBA8 UnityEngine.TextureFormat
--
--ASTC (4x4 pixel block in 128 bits) compressed RGB(A) texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_4x4 UnityEngine.TextureFormat
--
--ASTC (5x5 pixel block in 128 bits) compressed RGB(A) texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_5x5 UnityEngine.TextureFormat
--
--ASTC (6x6 pixel block in 128 bits) compressed RGB(A) texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_6x6 UnityEngine.TextureFormat
--
--ASTC (8x8 pixel block in 128 bits) compressed RGB(A) texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_8x8 UnityEngine.TextureFormat
--
--ASTC (10x10 pixel block in 128 bits) compressed RGB(A) texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_10x10 UnityEngine.TextureFormat
--
--ASTC (12x12 pixel block in 128 bits) compressed RGB(A) texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_12x12 UnityEngine.TextureFormat
--
--ETC 4 bits/pixel compressed RGB texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ETC_RGB4_3DS UnityEngine.TextureFormat
--
--ETC 4 bitspixel RGB + 4 bitspixel Alpha compressed texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ETC_RGBA8_3DS UnityEngine.TextureFormat
--
--Two color (RG) texture format, 8-bits per channel.
--
---@source UnityEngine.CoreModule.dll
---@field RG16 UnityEngine.TextureFormat
--
--Single channel (R) texture format, 8 bit integer.
--
---@source UnityEngine.CoreModule.dll
---@field R8 UnityEngine.TextureFormat
--
--Compressed color texture format with Crunch compression for smaller storage sizes.
--
---@source UnityEngine.CoreModule.dll
---@field ETC_RGB4Crunched UnityEngine.TextureFormat
--
--Compressed color with alpha channel texture format using Crunch compression for smaller storage sizes.
--
---@source UnityEngine.CoreModule.dll
---@field ETC2_RGBA8Crunched UnityEngine.TextureFormat
--
--ASTC (4x4 pixel block in 128 bits) compressed RGB(A) HDR texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_HDR_4x4 UnityEngine.TextureFormat
--
--ASTC (5x5 pixel block in 128 bits) compressed RGB(A) HDR texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_HDR_5x5 UnityEngine.TextureFormat
--
--ASTC (6x6 pixel block in 128 bits) compressed RGB(A) HDR texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_HDR_6x6 UnityEngine.TextureFormat
--
--ASTC (8x8 pixel block in 128 bits) compressed RGB(A) texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_HDR_8x8 UnityEngine.TextureFormat
--
--ASTC (10x10 pixel block in 128 bits) compressed RGB(A) HDR texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_HDR_10x10 UnityEngine.TextureFormat
--
--ASTC (12x12 pixel block in 128 bits) compressed RGB(A) HDR texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_HDR_12x12 UnityEngine.TextureFormat
--
--Two channel (RG) texture format, 16 bit integer per channel.
--
---@source UnityEngine.CoreModule.dll
---@field RG32 UnityEngine.TextureFormat
--
--Three channel (RGB) texture format, 16 bit integer per channel.
--
---@source UnityEngine.CoreModule.dll
---@field RGB48 UnityEngine.TextureFormat
--
--Four channel (RGBA) texture format, 16 bit integer per channel.
--
---@source UnityEngine.CoreModule.dll
---@field RGBA64 UnityEngine.TextureFormat
--
--ASTC (4x4 pixel block in 128 bits) compressed RGB texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_RGB_4x4 UnityEngine.TextureFormat
--
--ASTC (5x5 pixel block in 128 bits) compressed RGB texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_RGB_5x5 UnityEngine.TextureFormat
--
--ASTC (6x6 pixel block in 128 bits) compressed RGB texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_RGB_6x6 UnityEngine.TextureFormat
--
--ASTC (8x8 pixel block in 128 bits) compressed RGB texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_RGB_8x8 UnityEngine.TextureFormat
--
--ASTC (10x10 pixel block in 128 bits) compressed RGB texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_RGB_10x10 UnityEngine.TextureFormat
--
--ASTC (12x12 pixel block in 128 bits) compressed RGB texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_RGB_12x12 UnityEngine.TextureFormat
--
--ASTC (4x4 pixel block in 128 bits) compressed RGBA texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_RGBA_4x4 UnityEngine.TextureFormat
--
--ASTC (5x5 pixel block in 128 bits) compressed RGBA texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_RGBA_5x5 UnityEngine.TextureFormat
--
--ASTC (6x6 pixel block in 128 bits) compressed RGBA texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_RGBA_6x6 UnityEngine.TextureFormat
--
--ASTC (8x8 pixel block in 128 bits) compressed RGBA texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_RGBA_8x8 UnityEngine.TextureFormat
--
--ASTC (10x10 pixel block in 128 bits) compressed RGBA texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_RGBA_10x10 UnityEngine.TextureFormat
--
--ASTC (12x12 pixel block in 128 bits) compressed RGBA texture format.
--
---@source UnityEngine.CoreModule.dll
---@field ASTC_RGBA_12x12 UnityEngine.TextureFormat
---@source UnityEngine.CoreModule.dll
---@field PVRTC_2BPP_RGB UnityEngine.TextureFormat
---@source UnityEngine.CoreModule.dll
---@field PVRTC_2BPP_RGBA UnityEngine.TextureFormat
---@source UnityEngine.CoreModule.dll
---@field PVRTC_4BPP_RGB UnityEngine.TextureFormat
---@source UnityEngine.CoreModule.dll
---@field PVRTC_4BPP_RGBA UnityEngine.TextureFormat
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.TextureFormat = {}

---@source 
---@param value any
---@return UnityEngine.TextureFormat
function CS.UnityEngine.TextureFormat:__CastFrom(value) end


--
--Lightmap (and lighting) configuration mode, controls how lightmaps interact with lighting and what kind of information they store.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LightmapsMode: System.Enum
--
--Light intensity (no directional information), encoded as 1 lightmap.
--
---@source UnityEngine.CoreModule.dll
---@field NonDirectional UnityEngine.LightmapsMode
--
--Directional information for direct light is combined with directional information for indirect light, encoded as 2 lightmaps.
--
---@source UnityEngine.CoreModule.dll
---@field CombinedDirectional UnityEngine.LightmapsMode
--
--Directional information for direct light is stored separately from directional information for indirect light, encoded as 4 lightmaps.
--
---@source UnityEngine.CoreModule.dll
---@field SeparateDirectional UnityEngine.LightmapsMode
---@source UnityEngine.CoreModule.dll
---@field Single UnityEngine.LightmapsMode
---@source UnityEngine.CoreModule.dll
---@field Dual UnityEngine.LightmapsMode
---@source UnityEngine.CoreModule.dll
---@field Directional UnityEngine.LightmapsMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LightmapsMode = {}

---@source 
---@param value any
---@return UnityEngine.LightmapsMode
function CS.UnityEngine.LightmapsMode:__CastFrom(value) end


--
--How the material interacts with lightmaps and lightprobes.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MaterialGlobalIlluminationFlags: System.Enum
--
--The emissive lighting does not affect Global Illumination at all.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.MaterialGlobalIlluminationFlags
--
--The emissive lighting will affect realtime Global Illumination. It emits lighting into realtime lightmaps and realtime lightprobes.
--
---@source UnityEngine.CoreModule.dll
---@field RealtimeEmissive UnityEngine.MaterialGlobalIlluminationFlags
--
--The emissive lighting affects baked Global Illumination. It emits lighting into baked lightmaps and baked lightprobes.
--
---@source UnityEngine.CoreModule.dll
---@field BakedEmissive UnityEngine.MaterialGlobalIlluminationFlags
--
--The emissive lighting is guaranteed to be black. This lets the lightmapping system know that it doesn't have to extract emissive lighting information from the material and can simply assume it is completely black.
--
---@source UnityEngine.CoreModule.dll
---@field EmissiveIsBlack UnityEngine.MaterialGlobalIlluminationFlags
--
--Helper Mask to be used to query the enum only based on whether realtime GI or baked GI is set, ignoring all other bits.
--
---@source UnityEngine.CoreModule.dll
---@field AnyEmissive UnityEngine.MaterialGlobalIlluminationFlags
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MaterialGlobalIlluminationFlags = {}

---@source 
---@param value any
---@return UnityEngine.MaterialGlobalIlluminationFlags
function CS.UnityEngine.MaterialGlobalIlluminationFlags:__CastFrom(value) end


--
--The Light Probe Proxy Volume component offers the possibility to use higher resolution lighting for large non-static GameObjects.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LightProbeProxyVolume: UnityEngine.Behaviour
--
--Checks if Light Probe Proxy Volumes are supported.
--
---@source UnityEngine.CoreModule.dll
---@field isFeatureSupported bool
--
--The world-space bounding box in which the 3D grid of interpolated Light Probes is generated.
--
---@source UnityEngine.CoreModule.dll
---@field boundsGlobal UnityEngine.Bounds
--
--The size of the bounding box in which the 3D grid of interpolated Light Probes is generated.
--
---@source UnityEngine.CoreModule.dll
---@field sizeCustom UnityEngine.Vector3
--
--The local-space origin of the bounding box in which the 3D grid of interpolated Light Probes is generated.
--
---@source UnityEngine.CoreModule.dll
---@field originCustom UnityEngine.Vector3
--
--Interpolated Light Probe density.
--
---@source UnityEngine.CoreModule.dll
---@field probeDensity float
--
--The 3D grid resolution on the x-axis.
--
---@source UnityEngine.CoreModule.dll
---@field gridResolutionX int
--
--The 3D grid resolution on the y-axis.
--
---@source UnityEngine.CoreModule.dll
---@field gridResolutionY int
--
--The 3D grid resolution on the z-axis.
--
---@source UnityEngine.CoreModule.dll
---@field gridResolutionZ int
--
--The bounding box mode for generating the 3D grid of interpolated Light Probes.
--
---@source UnityEngine.CoreModule.dll
---@field boundingBoxMode UnityEngine.LightProbeProxyVolume.BoundingBoxMode
--
--The resolution mode for generating the grid of interpolated Light Probes.
--
---@source UnityEngine.CoreModule.dll
---@field resolutionMode UnityEngine.LightProbeProxyVolume.ResolutionMode
--
--The mode in which the interpolated Light Probe positions are generated.
--
---@source UnityEngine.CoreModule.dll
---@field probePositionMode UnityEngine.LightProbeProxyVolume.ProbePositionMode
--
--Sets the way the Light Probe Proxy Volume refreshes.
--
---@source UnityEngine.CoreModule.dll
---@field refreshMode UnityEngine.LightProbeProxyVolume.RefreshMode
--
--Determines how many Spherical Harmonics bands will be evaluated to compute the ambient color.
--
---@source UnityEngine.CoreModule.dll
---@field qualityMode UnityEngine.LightProbeProxyVolume.QualityMode
--
--The texture data format used by the Light Probe Proxy Volume 3D texture.
--
---@source UnityEngine.CoreModule.dll
---@field dataFormat UnityEngine.LightProbeProxyVolume.DataFormat
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LightProbeProxyVolume = {}

--
--Triggers an update of the Light Probe Proxy Volume.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.LightProbeProxyVolume.Update() end


--
--The Skinned Mesh filter.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SkinnedMeshRenderer: UnityEngine.Renderer
--
--The maximum number of bones per vertex that are taken into account during skinning.
--
---@source UnityEngine.CoreModule.dll
---@field quality UnityEngine.SkinQuality
--
--If enabled, the Skinned Mesh will be updated when offscreen. If disabled, this also disables updating animations.
--
---@source UnityEngine.CoreModule.dll
---@field updateWhenOffscreen bool
--
--Forces the Skinned Mesh to recalculate its matricies when rendered
--
---@source UnityEngine.CoreModule.dll
---@field forceMatrixRecalculationPerRender bool
---@source UnityEngine.CoreModule.dll
---@field rootBone UnityEngine.Transform
--
--The bones used to skin the mesh.
--
---@source UnityEngine.CoreModule.dll
---@field bones UnityEngine.Transform[]
--
--The mesh used for skinning.
--
---@source UnityEngine.CoreModule.dll
---@field sharedMesh UnityEngine.Mesh
--
--Specifies whether skinned motion vectors should be used for this renderer.
--
---@source UnityEngine.CoreModule.dll
---@field skinnedMotionVectors bool
--
--AABB of this Skinned Mesh in its local space.
--
---@source UnityEngine.CoreModule.dll
---@field localBounds UnityEngine.Bounds
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SkinnedMeshRenderer = {}

--
--The weight of the BlendShape.
--
--```plaintext
--Params: index - The index of the BlendShape whose weight you want to retrieve. Index must be smaller than the Mesh.blendShapeCount of the Mesh attached to this Renderer.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@return Single
function CS.UnityEngine.SkinnedMeshRenderer.GetBlendShapeWeight(index) end

--
--Sets the weight of a BlendShape for this Renderer.
--
--```plaintext
--Params: index - The index of the BlendShape to modify. Index must be smaller than the Mesh.blendShapeCount of the Mesh attached to this Renderer.
--        value - The weight for this BlendShape.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@param value float
function CS.UnityEngine.SkinnedMeshRenderer.SetBlendShapeWeight(index, value) end

--
--Creates a snapshot of SkinnedMeshRenderer and stores it in mesh.
--
--```plaintext
--Params: mesh - A static mesh that will receive the snapshot of the skinned mesh.
--        useScale - Whether to use the SkinnedMeshRenderer's Transform scale when baking the Mesh. If this is true, Unity bakes the Mesh using the position, rotation, and scale values from the SkinnedMeshRenderer's Transform. If this is false, Unity bakes the Mesh using the position and rotation values from the SkinnedMeshRenderer's Transform, but without using the scale value from the SkinnedMeshRenderer's Transform. The default value is false.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
function CS.UnityEngine.SkinnedMeshRenderer.BakeMesh(mesh) end

--
--Creates a snapshot of SkinnedMeshRenderer and stores it in mesh.
--
--```plaintext
--Params: mesh - A static mesh that will receive the snapshot of the skinned mesh.
--        useScale - Whether to use the SkinnedMeshRenderer's Transform scale when baking the Mesh. If this is true, Unity bakes the Mesh using the position, rotation, and scale values from the SkinnedMeshRenderer's Transform. If this is false, Unity bakes the Mesh using the position and rotation values from the SkinnedMeshRenderer's Transform, but without using the scale value from the SkinnedMeshRenderer's Transform. The default value is false.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param mesh UnityEngine.Mesh
---@param useScale bool
function CS.UnityEngine.SkinnedMeshRenderer.BakeMesh(mesh, useScale) end


--
--Renders meshes inserted by the MeshFilter or TextMesh.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MeshRenderer: UnityEngine.Renderer
--
--Vertex attributes in this mesh will override or add attributes of the primary mesh in the MeshRenderer.
--
---@source UnityEngine.CoreModule.dll
---@field additionalVertexStreams UnityEngine.Mesh
--
--Vertex attributes that override the primary mesh when the MeshRenderer uses lightmaps in the Realtime Global Illumination system.
--
---@source UnityEngine.CoreModule.dll
---@field enlightenVertexStream UnityEngine.Mesh
--
--Index of the first sub-mesh to use from the Mesh associated with this MeshRenderer (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field subMeshStartIndex int
--
--Specifies the relative lightmap resolution of this object. (Editor only)
--
---@source UnityEngine.CoreModule.dll
---@field scaleInLightmap float
--
--Determines how the object will receive global illumination. (Editor only)
--
---@source UnityEngine.CoreModule.dll
---@field receiveGI UnityEngine.ReceiveGI
--
--When enabled, seams in baked lightmaps will get smoothed. (Editor only)
--
---@source UnityEngine.CoreModule.dll
---@field stitchLightmapSeams bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MeshRenderer = {}


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LightmappingMode: System.Enum
---@source UnityEngine.CoreModule.dll
---@field Realtime UnityEngine.LightmappingMode
---@source UnityEngine.CoreModule.dll
---@field Baked UnityEngine.LightmappingMode
---@source UnityEngine.CoreModule.dll
---@field Mixed UnityEngine.LightmappingMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LightmappingMode = {}

---@source 
---@param value any
---@return UnityEngine.LightmappingMode
function CS.UnityEngine.LightmappingMode:__CastFrom(value) end


--
--Light Probe Group.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LightProbeGroup: UnityEngine.Behaviour
--
--Editor only function to access and modify probe positions.
--
---@source UnityEngine.CoreModule.dll
---@field probePositions UnityEngine.Vector3[]
--
--Removes ringing from probes if enabled.
--
---@source UnityEngine.CoreModule.dll
---@field dering bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LightProbeGroup = {}


--
--A collection of common line functions.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LineUtility: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LineUtility = {}

---@source UnityEngine.CoreModule.dll
---@param points System.Collections.Generic.List<UnityEngine.Vector3>
---@param tolerance float
---@param pointsToKeep System.Collections.Generic.List<int>
function CS.UnityEngine.LineUtility:Simplify(points, tolerance, pointsToKeep) end

---@source UnityEngine.CoreModule.dll
---@param points System.Collections.Generic.List<UnityEngine.Vector3>
---@param tolerance float
---@param simplifiedPoints System.Collections.Generic.List<UnityEngine.Vector3>
function CS.UnityEngine.LineUtility:Simplify(points, tolerance, simplifiedPoints) end

---@source UnityEngine.CoreModule.dll
---@param points System.Collections.Generic.List<UnityEngine.Vector2>
---@param tolerance float
---@param pointsToKeep System.Collections.Generic.List<int>
function CS.UnityEngine.LineUtility:Simplify(points, tolerance, pointsToKeep) end

---@source UnityEngine.CoreModule.dll
---@param points System.Collections.Generic.List<UnityEngine.Vector2>
---@param tolerance float
---@param simplifiedPoints System.Collections.Generic.List<UnityEngine.Vector2>
function CS.UnityEngine.LineUtility:Simplify(points, tolerance, simplifiedPoints) end


--
--The LOD (level of detail) fade modes. Modes other than LODFadeMode.None will result in Unity calculating a blend factor for blending/interpolating between two neighbouring LODs and pass it to your shader.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LODFadeMode: System.Enum
--
--Indicates the LOD fading is turned off.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.LODFadeMode
--
--Perform cross-fade style blending between the current LOD and the next LOD if the distance to camera falls in the range specified by the LOD.fadeTransitionWidth of each LOD.
--
---@source UnityEngine.CoreModule.dll
---@field CrossFade UnityEngine.LODFadeMode
--
--By specifying this mode, your LODGroup will perform a SpeedTree-style LOD fading scheme:
--
--
--* For all the mesh LODs other than the last (most crude) mesh LOD, the fade factor is calculated as the percentage of the object's current screen height, compared to the whole range of the LOD. It is 1, if the camera is right at the position where the previous LOD switches out and 0, if the next LOD is just about to switch in.
--
--
--* For the last mesh LOD and the billboard LOD, the cross-fade mode is used.
--
---@source UnityEngine.CoreModule.dll
---@field SpeedTree UnityEngine.LODFadeMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LODFadeMode = {}

---@source 
---@param value any
---@return UnityEngine.LODFadeMode
function CS.UnityEngine.LODFadeMode:__CastFrom(value) end


--
--Structure for building a LOD for passing to the SetLODs function.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LOD: System.ValueType
--
--The screen relative height to use for the transition [0-1].
--
---@source UnityEngine.CoreModule.dll
---@field screenRelativeTransitionHeight float
--
--Width of the cross-fade transition zone (proportion to the current LOD's whole length) [0-1]. Only used if it's not animated.
--
---@source UnityEngine.CoreModule.dll
---@field fadeTransitionWidth float
--
--List of renderers for this LOD level.
--
---@source UnityEngine.CoreModule.dll
---@field renderers UnityEngine.Renderer[]
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LOD = {}


--
--LODGroup lets you group multiple Renderers into LOD levels.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LODGroup: UnityEngine.Component
--
--The local reference point against which the LOD distance is calculated.
--
---@source UnityEngine.CoreModule.dll
---@field localReferencePoint UnityEngine.Vector3
--
--The size of the LOD object in local space.
--
---@source UnityEngine.CoreModule.dll
---@field size float
--
--The number of LOD levels.
--
---@source UnityEngine.CoreModule.dll
---@field lodCount int
--
--The LOD fade mode used.
--
---@source UnityEngine.CoreModule.dll
---@field fadeMode UnityEngine.LODFadeMode
--
--Specify if the cross-fading should be animated by time. The animation duration is specified globally as crossFadeAnimationDuration.
--
---@source UnityEngine.CoreModule.dll
---@field animateCrossFading bool
--
--Allows you to enable or disable the LODGroup.
--
---@source UnityEngine.CoreModule.dll
---@field enabled bool
--
--The cross-fading animation duration in seconds. ArgumentException will be thrown if it is set to zero or a negative value.
--
---@source UnityEngine.CoreModule.dll
---@field crossFadeAnimationDuration float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LODGroup = {}

--
--Recalculate the bounding region for the LODGroup (Relatively slow, do not call often).
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.LODGroup.RecalculateBounds() end

--
--The LOD array.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.LODGroup.GetLODs() end

---@source UnityEngine.CoreModule.dll
---@param lods UnityEngine.LOD[]
function CS.UnityEngine.LODGroup.SetLODS(lods) end

--
--Set the LODs for the LOD group. This will remove any existing LODs configured on the LODGroup.
--
--```plaintext
--Params: lods - The LODs to use for this group.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param lods UnityEngine.LOD[]
function CS.UnityEngine.LODGroup.SetLODs(lods) end

--
--```plaintext
--Params: index - The LOD level to use. Passing index < 0 will return to standard LOD processing.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
function CS.UnityEngine.LODGroup.ForceLOD(index) end


--
--Describes 4 skinning bone weights that affect a vertex in a mesh.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.BoneWeight: System.ValueType
--
--Skinning weight for first bone.
--
---@source UnityEngine.CoreModule.dll
---@field weight0 float
--
--Skinning weight for second bone.
--
---@source UnityEngine.CoreModule.dll
---@field weight1 float
--
--Skinning weight for third bone.
--
---@source UnityEngine.CoreModule.dll
---@field weight2 float
--
--Skinning weight for fourth bone.
--
---@source UnityEngine.CoreModule.dll
---@field weight3 float
--
--Index of first bone.
--
---@source UnityEngine.CoreModule.dll
---@field boneIndex0 int
--
--Index of second bone.
--
---@source UnityEngine.CoreModule.dll
---@field boneIndex1 int
--
--Index of third bone.
--
---@source UnityEngine.CoreModule.dll
---@field boneIndex2 int
--
--Index of fourth bone.
--
---@source UnityEngine.CoreModule.dll
---@field boneIndex3 int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.BoneWeight = {}

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.BoneWeight.GetHashCode() end

---@source UnityEngine.CoreModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.BoneWeight.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.BoneWeight
---@return Boolean
function CS.UnityEngine.BoneWeight.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.BoneWeight
---@param rhs UnityEngine.BoneWeight
---@return Boolean
function CS.UnityEngine.BoneWeight:op_Equality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.BoneWeight
---@param rhs UnityEngine.BoneWeight
---@return Boolean
function CS.UnityEngine.BoneWeight:op_Inequality(lhs, rhs) end


--
--Describes a bone weight that affects a vertex in a mesh.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.BoneWeight1: System.ValueType
--
--Skinning weight for bone.
--
---@source UnityEngine.CoreModule.dll
---@field weight float
--
--Index of bone.
--
---@source UnityEngine.CoreModule.dll
---@field boneIndex int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.BoneWeight1 = {}

---@source UnityEngine.CoreModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.BoneWeight1.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.BoneWeight1
---@return Boolean
function CS.UnityEngine.BoneWeight1.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.BoneWeight1.GetHashCode() end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.BoneWeight1
---@param rhs UnityEngine.BoneWeight1
---@return Boolean
function CS.UnityEngine.BoneWeight1:op_Equality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.BoneWeight1
---@param rhs UnityEngine.BoneWeight1
---@return Boolean
function CS.UnityEngine.BoneWeight1:op_Inequality(lhs, rhs) end


--
--Struct used to describe meshes to be combined using Mesh.CombineMeshes.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CombineInstance: System.ValueType
--
--Mesh to combine.
--
---@source UnityEngine.CoreModule.dll
---@field mesh UnityEngine.Mesh
--
--Sub-Mesh index of the Mesh.
--
---@source UnityEngine.CoreModule.dll
---@field subMeshIndex int
--
--Matrix to transform the Mesh with before combining.
--
---@source UnityEngine.CoreModule.dll
---@field transform UnityEngine.Matrix4x4
--
--The baked lightmap UV scale and offset applied to the Mesh.
--
---@source UnityEngine.CoreModule.dll
---@field lightmapScaleOffset UnityEngine.Vector4
--
--The realtime lightmap UV scale and offset applied to the Mesh.
--
---@source UnityEngine.CoreModule.dll
---@field realtimeLightmapScaleOffset UnityEngine.Vector4
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CombineInstance = {}


--
--Base class for Texture handling.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Texture: UnityEngine.Object
--
--Can be used with Texture constructors that take a mip count to indicate that all mips should be generated.  The value of this field is -1.
--
---@source UnityEngine.CoreModule.dll
---@field GenerateAllMips int
---@source UnityEngine.CoreModule.dll
---@field masterTextureLimit int
--
--How many mipmap levels are in this Texture (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field mipmapCount int
---@source UnityEngine.CoreModule.dll
---@field anisotropicFiltering UnityEngine.AnisotropicFiltering
--
--Returns the GraphicsFormat format or color format of a Texture object.
--
---@source UnityEngine.CoreModule.dll
---@field graphicsFormat UnityEngine.Experimental.Rendering.GraphicsFormat
--
--Width of the Texture in pixels. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field width int
--
--Height of the Texture in pixels. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field height int
--
--Dimensionality (type) of the Texture (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field dimension UnityEngine.Rendering.TextureDimension
--
--Whether Unity stores an additional copy of this texture's pixel data in CPU-addressable memory.
--
---@source UnityEngine.CoreModule.dll
---@field isReadable bool
--
--Texture coordinate wrapping mode.
--
---@source UnityEngine.CoreModule.dll
---@field wrapMode UnityEngine.TextureWrapMode
--
--Texture U coordinate wrapping mode.
--
---@source UnityEngine.CoreModule.dll
---@field wrapModeU UnityEngine.TextureWrapMode
--
--Texture V coordinate wrapping mode.
--
---@source UnityEngine.CoreModule.dll
---@field wrapModeV UnityEngine.TextureWrapMode
--
--Texture W coordinate wrapping mode for Texture3D.
--
---@source UnityEngine.CoreModule.dll
---@field wrapModeW UnityEngine.TextureWrapMode
--
--Filtering mode of the Texture.
--
---@source UnityEngine.CoreModule.dll
---@field filterMode UnityEngine.FilterMode
--
--Defines the anisotropic filtering level of the Texture.
--
---@source UnityEngine.CoreModule.dll
---@field anisoLevel int
--
--The mipmap bias of the Texture.
--
---@source UnityEngine.CoreModule.dll
---@field mipMapBias float
---@source UnityEngine.CoreModule.dll
---@field texelSize UnityEngine.Vector2
--
--This counter is incremented when the Texture is updated.
--
---@source UnityEngine.CoreModule.dll
---@field updateCount uint
--
--The hash value of the Texture.
--
---@source UnityEngine.CoreModule.dll
---@field imageContentsHash UnityEngine.Hash128
--
--The total amount of Texture memory that Unity would use if it loads all Textures at mipmap level 0.
--
--This is a theoretical value that does not take into account any input from the streaming system or any other input, for example when you set the`Texture2D.requestedMipmapLevel` manually.
--
--To see a Texture memory value that takes inputs into account, use `desiredTextureMemory`.
--
--`totalTextureMemory` only includes instances of Texture2D and CubeMap Textures. It does not include any other Texture types, or 2D and CubeMap Textures that Unity creates internally.
--
---@source UnityEngine.CoreModule.dll
---@field totalTextureMemory ulong
--
--The total size of the Textures, in bytes, that Unity loads if there were no other constraints. Before Unity loads any Textures, it applies the which reduces the loaded Texture resolution if the Texture sizes exceed its value. The `desiredTextureMemory` value takes into account the mipmap levels that Unity has requested or that you have set manually.
--
--For example, if Unity does not load a Texture at full resolution because it is far away or its requested mipmap level is greater than 0,  Unity reduces the `desiredTextureMemory` value to match the total memory needed.
--
--The `desiredTextureMemory` value can be greater than the `targetTextureMemory` value.
--
---@source UnityEngine.CoreModule.dll
---@field desiredTextureMemory ulong
--
--The total amount of Texture memory that Unity allocates to the Textures in the scene after it applies the and finishes loading Textures. `targetTextureMemory`also takes mipmap streaming settings into account. This value only includes instances of Texture2D and CubeMap Textures. It does not include any other Texture types, or 2D and CubeMap Textures that Unity creates internally.
--
---@source UnityEngine.CoreModule.dll
---@field targetTextureMemory ulong
--
--The amount of memory that all Textures in the scene use.
--
---@source UnityEngine.CoreModule.dll
---@field currentTextureMemory ulong
--
--The amount of memory Unity allocates for non-streaming Textures in the scene. This only includes instances of Texture2D and CubeMap Textures. This does not include any other Texture types, or 2D and CubeMap Textures that Unity creates internally.
--
---@source UnityEngine.CoreModule.dll
---@field nonStreamingTextureMemory ulong
--
--How many times has a Texture been uploaded due to Texture mipmap streaming.
--
---@source UnityEngine.CoreModule.dll
---@field streamingMipmapUploadCount ulong
--
--Number of renderers registered with the Texture streaming system.
--
---@source UnityEngine.CoreModule.dll
---@field streamingRendererCount ulong
--
--Number of streaming Textures.
--
---@source UnityEngine.CoreModule.dll
---@field streamingTextureCount ulong
--
--The number of non-streaming Textures in the scene. This includes instances of Texture2D and CubeMap Textures. This does not include any other Texture types, or 2D and CubeMap Textures that Unity creates internally.
--
---@source UnityEngine.CoreModule.dll
---@field nonStreamingTextureCount ulong
--
--Number of streaming Textures with outstanding mipmaps to be loaded.
--
---@source UnityEngine.CoreModule.dll
---@field streamingTexturePendingLoadCount ulong
--
--Number of streaming Textures with mipmaps currently loading.
--
---@source UnityEngine.CoreModule.dll
---@field streamingTextureLoadingCount ulong
--
--Force streaming Textures to load all mipmap levels.
--
---@source UnityEngine.CoreModule.dll
---@field streamingTextureForceLoadAll bool
--
--This property forces the streaming Texture system to discard all unused mipmaps instead of caching them until the Texture is exceeded. This is useful when you profile or write tests to keep a predictable set of Textures in memory.
--
---@source UnityEngine.CoreModule.dll
---@field streamingTextureDiscardUnusedMips bool
--
--Allow Unity internals to perform Texture creation on any thread (rather than the dedicated render thread).
--
---@source UnityEngine.CoreModule.dll
---@field allowThreadedTextureCreation bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Texture = {}

--
--Sets Anisotropic limits.
--
---@source UnityEngine.CoreModule.dll
---@param forcedMin int
---@param globalMax int
function CS.UnityEngine.Texture:SetGlobalAnisotropicFilteringLimits(forcedMin, globalMax) end

--
--Pointer to an underlying graphics API Texture resource.
--
---@source UnityEngine.CoreModule.dll
---@return IntPtr
function CS.UnityEngine.Texture.GetNativeTexturePtr() end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Texture.GetNativeTextureID() end

--
--Increment the update counter.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Texture.IncrementUpdateCount() end

--
--This function sets mipmap streaming debug properties on any materials that use this Texture through the mipmap streaming system.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Texture:SetStreamingTextureMaterialDebugProperties() end


--
--Class that represents textures in C# code.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Texture2D: UnityEngine.Texture
--
--The format of the pixel data in the texture (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field format UnityEngine.TextureFormat
--
--Gets a small Texture with all white pixels.
--
---@source UnityEngine.CoreModule.dll
---@field whiteTexture UnityEngine.Texture2D
--
--Gets a small Texture with all black pixels.
--
---@source UnityEngine.CoreModule.dll
---@field blackTexture UnityEngine.Texture2D
--
--Gets a small Texture with all red pixels.
--
---@source UnityEngine.CoreModule.dll
---@field redTexture UnityEngine.Texture2D
--
--Gets a small Texture with all gray pixels.
--
---@source UnityEngine.CoreModule.dll
---@field grayTexture UnityEngine.Texture2D
--
--Gets a small Texture with all gray pixels.
--
---@source UnityEngine.CoreModule.dll
---@field linearGrayTexture UnityEngine.Texture2D
--
--Gets a small Texture with pixels that represent surface normal vectors at a neutral position.
--
---@source UnityEngine.CoreModule.dll
---@field normalTexture UnityEngine.Texture2D
---@source UnityEngine.CoreModule.dll
---@field isReadable bool
--
--Returns true if the VTOnly checkbox was checked when the texture was imported; otherwise returns false. For additional information, see TextureImporter.vtOnly.
--
---@source UnityEngine.CoreModule.dll
---@field vtOnly bool
--
--Determines whether mipmap streaming is enabled for this Texture.
--
---@source UnityEngine.CoreModule.dll
---@field streamingMipmaps bool
--
--Sets the relative priority for this Texture when reducing memory size to fit within the memory budget.
--
---@source UnityEngine.CoreModule.dll
---@field streamingMipmapsPriority int
--
--The mipmap level to load.
--
---@source UnityEngine.CoreModule.dll
---@field requestedMipmapLevel int
--
--Restricts the mipmap streaming system to a minimum mip level for this Texture.
--
---@source UnityEngine.CoreModule.dll
---@field minimumMipmapLevel int
--
--The mipmap level calculated by the streaming system, which takes into account the streaming Cameras and the location of the objects containing this Texture. This is unaffected by requestedMipmapLevel or minimumMipmapLevel.
--
---@source UnityEngine.CoreModule.dll
---@field calculatedMipmapLevel int
--
--The mipmap level that the streaming system would load before memory budgets are applied.
--
---@source UnityEngine.CoreModule.dll
---@field desiredMipmapLevel int
--
--The mipmap level that the mipmap streaming system is in the process of loading.
--
---@source UnityEngine.CoreModule.dll
---@field loadingMipmapLevel int
--
--The mipmap level that is currently loaded by the streaming system.
--
---@source UnityEngine.CoreModule.dll
---@field loadedMipmapLevel int
--
--Indicates whether this texture was imported with TextureImporter.alphaIsTransparency enabled. This setting is available only in the Editor scripts. Note that changing this setting will have no effect; it must be enabled in TextureImporter instead.
--
---@source UnityEngine.CoreModule.dll
---@field alphaIsTransparency bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Texture2D = {}

--
--Compress texture into DXT format.
--
---@source UnityEngine.CoreModule.dll
---@param highQuality bool
function CS.UnityEngine.Texture2D.Compress(highQuality) end

--
--Resets the requestedMipmapLevel field.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Texture2D.ClearRequestedMipmapLevel() end

--
--True if the mipmap level requested by requestedMipmapLevel has finished loading.
--
---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.Texture2D.IsRequestedMipmapLevelLoaded() end

--
--Resets the minimumMipmapLevel field.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Texture2D.ClearMinimumMipmapLevel() end

--
--Updates Unity texture to use different native texture object.
--
--```plaintext
--Params: nativeTex - Native 2D texture object.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nativeTex System.IntPtr
function CS.UnityEngine.Texture2D.UpdateExternalTexture(nativeTex) end

--
--Raw texture data as a byte array.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Texture2D.GetRawTextureData() end

--
--An array that contains a copy of the requested pixel colors.
--
--```plaintext
--Params: x - The x position of the pixel array to fetch.
--        y - The y position of the pixel array to fetch.
--        blockWidth - The width length of the pixel array to fetch.
--        blockHeight - The height length of the pixel array to fetch.
--        miplevel - The mip level to read pixel data from. The default is 0.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param x int
---@param y int
---@param blockWidth int
---@param blockHeight int
---@param miplevel int
function CS.UnityEngine.Texture2D.GetPixels(x, y, blockWidth, blockHeight, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param x int
---@param y int
---@param blockWidth int
---@param blockHeight int
function CS.UnityEngine.Texture2D.GetPixels(x, y, blockWidth, blockHeight) end

--
--An array that contains a copy of the requested pixel colors.
--
--```plaintext
--Params: miplevel - The mip level to read pixel data from. The default is 0.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param miplevel int
function CS.UnityEngine.Texture2D.GetPixels32(miplevel) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Texture2D.GetPixels32() end

--
--An array of rectangles containing the UV coordinates in the atlas for each input texture, or null if packing fails.
--
--```plaintext
--Params: textures - Array of textures to pack into the atlas.
--        padding - Padding in pixels between the packed textures.
--        maximumAtlasSize - Maximum size of the resulting texture.
--        makeNoLongerReadable - Should the texture be marked as no longer readable?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param textures UnityEngine.Texture2D[]
---@param padding int
---@param maximumAtlasSize int
---@param makeNoLongerReadable bool
function CS.UnityEngine.Texture2D.PackTextures(textures, padding, maximumAtlasSize, makeNoLongerReadable) end

---@source UnityEngine.CoreModule.dll
---@param textures UnityEngine.Texture2D[]
---@param padding int
---@param maximumAtlasSize int
function CS.UnityEngine.Texture2D.PackTextures(textures, padding, maximumAtlasSize) end

---@source UnityEngine.CoreModule.dll
---@param textures UnityEngine.Texture2D[]
---@param padding int
function CS.UnityEngine.Texture2D.PackTextures(textures, padding) end

--
--Creates a Unity Texture out of an externally created native texture object.
--
--```plaintext
--Params: nativeTex - Native 2D texture object.
--        width - Width of texture in pixels.
--        height - Height of texture in pixels.
--        format - Format of underlying texture object.
--        mipmap - Does the texture have mipmaps?
--        linear - Is texture using linear color space?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param format UnityEngine.TextureFormat
---@param mipChain bool
---@param linear bool
---@param nativeTex System.IntPtr
---@return Texture2D
function CS.UnityEngine.Texture2D:CreateExternalTexture(width, height, format, mipChain, linear, nativeTex) end

--
--Sets pixel color at coordinates (x,y).
--
---@source UnityEngine.CoreModule.dll
---@param x int
---@param y int
---@param color UnityEngine.Color
function CS.UnityEngine.Texture2D.SetPixel(x, y, color) end

---@source UnityEngine.CoreModule.dll
---@param x int
---@param y int
---@param color UnityEngine.Color
---@param mipLevel int
function CS.UnityEngine.Texture2D.SetPixel(x, y, color, mipLevel) end

--
--Set a block of pixel colors.
--
---@source UnityEngine.CoreModule.dll
---@param x int
---@param y int
---@param blockWidth int
---@param blockHeight int
---@param colors UnityEngine.Color[]
---@param miplevel int
function CS.UnityEngine.Texture2D.SetPixels(x, y, blockWidth, blockHeight, colors, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param x int
---@param y int
---@param blockWidth int
---@param blockHeight int
---@param colors UnityEngine.Color[]
function CS.UnityEngine.Texture2D.SetPixels(x, y, blockWidth, blockHeight, colors) end

--
--Set a block of pixel colors.
--
--```plaintext
--Params: colors - The array of pixel colours to assign (a 2D image flattened to a 1D array).
--        miplevel - The mip level of the texture to write to.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color[]
---@param miplevel int
function CS.UnityEngine.Texture2D.SetPixels(colors, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color[]
function CS.UnityEngine.Texture2D.SetPixels(colors) end

--
--Returns pixel color at coordinates (x, y).
--
---@source UnityEngine.CoreModule.dll
---@param x int
---@param y int
---@return Color
function CS.UnityEngine.Texture2D.GetPixel(x, y) end

---@source UnityEngine.CoreModule.dll
---@param x int
---@param y int
---@param mipLevel int
---@return Color
function CS.UnityEngine.Texture2D.GetPixel(x, y, mipLevel) end

--
--Returns filtered pixel color at normalized coordinates (u, v).
--
---@source UnityEngine.CoreModule.dll
---@param u float
---@param v float
---@return Color
function CS.UnityEngine.Texture2D.GetPixelBilinear(u, v) end

---@source UnityEngine.CoreModule.dll
---@param u float
---@param v float
---@param mipLevel int
---@return Color
function CS.UnityEngine.Texture2D.GetPixelBilinear(u, v, mipLevel) end

--
--Fills texture pixels with raw preformatted data.
--
--```plaintext
--Params: data - Raw data array to initialize texture pixels with.
--        size - Size of data in bytes.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param data System.IntPtr
---@param size int
function CS.UnityEngine.Texture2D.LoadRawTextureData(data, size) end

--
--Fills texture pixels with raw preformatted data.
--
--```plaintext
--Params: data - Raw data array to initialize texture pixels with.
--        size - Size of data in bytes.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param data byte[]
function CS.UnityEngine.Texture2D.LoadRawTextureData(data) end

---@source UnityEngine.CoreModule.dll
---@param data Unity.Collections.NativeArray<T>
function CS.UnityEngine.Texture2D.LoadRawTextureData(data) end

---@source UnityEngine.CoreModule.dll
---@param data T[]
---@param mipLevel int
---@param sourceDataStartIndex int
function CS.UnityEngine.Texture2D.SetPixelData(data, mipLevel, sourceDataStartIndex) end

---@source UnityEngine.CoreModule.dll
---@param data Unity.Collections.NativeArray<T>
---@param mipLevel int
---@param sourceDataStartIndex int
function CS.UnityEngine.Texture2D.SetPixelData(data, mipLevel, sourceDataStartIndex) end

---@source UnityEngine.CoreModule.dll
---@param mipLevel int
---@return NativeArray
function CS.UnityEngine.Texture2D.GetPixelData(mipLevel) end

---@source UnityEngine.CoreModule.dll
---@return NativeArray
function CS.UnityEngine.Texture2D.GetRawTextureData() end

--
--Actually apply all previous SetPixel and SetPixels changes.
--
--```plaintext
--Params: updateMipmaps - When set to true, mipmap levels are recalculated.
--        makeNoLongerReadable - When set to true, Unity discards the copy of pixel data in CPU-addressable memory after this operation.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param updateMipmaps bool
---@param makeNoLongerReadable bool
function CS.UnityEngine.Texture2D.Apply(updateMipmaps, makeNoLongerReadable) end

---@source UnityEngine.CoreModule.dll
---@param updateMipmaps bool
function CS.UnityEngine.Texture2D.Apply(updateMipmaps) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Texture2D.Apply() end

--
--Resizes the texture.
--
---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@return Boolean
function CS.UnityEngine.Texture2D.Resize(width, height) end

--
--Resizes the texture.
--
---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param format UnityEngine.TextureFormat
---@param hasMipMap bool
---@return Boolean
function CS.UnityEngine.Texture2D.Resize(width, height, format, hasMipMap) end

---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param format UnityEngine.Experimental.Rendering.GraphicsFormat
---@param hasMipMap bool
---@return Boolean
function CS.UnityEngine.Texture2D.Resize(width, height, format, hasMipMap) end

--
--Reads the pixels from the current render target (the screen, or a RenderTexture), and writes them to the texture.
--
--```plaintext
--Params: source - The region of the render target to read from.
--        destX - The horizontal pixel position in the texture to write the pixels to.
--        destY - The vertical pixel position in the texture to write the pixels to.
--        recalculateMipMaps - If this parameter is true, Unity automatically recalculates the mipmaps for the texture after writing the pixel data. Otherwise, Unity does not do this automatically.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param source UnityEngine.Rect
---@param destX int
---@param destY int
---@param recalculateMipMaps bool
function CS.UnityEngine.Texture2D.ReadPixels(source, destX, destY, recalculateMipMaps) end

---@source UnityEngine.CoreModule.dll
---@param source UnityEngine.Rect
---@param destX int
---@param destY int
function CS.UnityEngine.Texture2D.ReadPixels(source, destX, destY) end

---@source UnityEngine.CoreModule.dll
---@param sizes UnityEngine.Vector2[]
---@param padding int
---@param atlasSize int
---@param results System.Collections.Generic.List<UnityEngine.Rect>
---@return Boolean
function CS.UnityEngine.Texture2D:GenerateAtlas(sizes, padding, atlasSize, results) end

--
--Set a block of pixel colors.
--
---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color32[]
---@param miplevel int
function CS.UnityEngine.Texture2D.SetPixels32(colors, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color32[]
function CS.UnityEngine.Texture2D.SetPixels32(colors) end

--
--Set a block of pixel colors.
--
---@source UnityEngine.CoreModule.dll
---@param x int
---@param y int
---@param blockWidth int
---@param blockHeight int
---@param colors UnityEngine.Color32[]
---@param miplevel int
function CS.UnityEngine.Texture2D.SetPixels32(x, y, blockWidth, blockHeight, colors, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param x int
---@param y int
---@param blockWidth int
---@param blockHeight int
---@param colors UnityEngine.Color32[]
function CS.UnityEngine.Texture2D.SetPixels32(x, y, blockWidth, blockHeight, colors) end

--
--An array that contains a copy of the requested pixel colors.
--
--```plaintext
--Params: miplevel - The mip level to read pixel data from. The default is 0.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param miplevel int
function CS.UnityEngine.Texture2D.GetPixels(miplevel) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Texture2D.GetPixels() end


--
--The resolution mode for generating a grid of interpolated Light Probes.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ResolutionMode: System.Enum
--
--The automatic mode uses a number of interpolated Light Probes per unit area, and uses the bounding volume size to compute the resolution. The final resolution value is a power of 2.
--
---@source UnityEngine.CoreModule.dll
---@field Automatic UnityEngine.LightProbeProxyVolume.ResolutionMode
--
--The custom mode allows you to specify the 3D grid resolution.
--
---@source UnityEngine.CoreModule.dll
---@field Custom UnityEngine.LightProbeProxyVolume.ResolutionMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ResolutionMode = {}

---@source 
---@param value any
---@return UnityEngine.LightProbeProxyVolume.ResolutionMode
function CS.UnityEngine.ResolutionMode:__CastFrom(value) end


--
--The bounding box mode for generating a grid of interpolated Light Probes.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.BoundingBoxMode: System.Enum
--
--The bounding box encloses the current Renderer and all the relevant Renderers down the hierarchy, in local space.
--
---@source UnityEngine.CoreModule.dll
---@field AutomaticLocal UnityEngine.LightProbeProxyVolume.BoundingBoxMode
--
--The bounding box encloses the current Renderer and all the relevant Renderers down the hierarchy, in world space.
--
---@source UnityEngine.CoreModule.dll
---@field AutomaticWorld UnityEngine.LightProbeProxyVolume.BoundingBoxMode
--
--A custom local-space bounding box is used. The user is able to edit the bounding box.
--
---@source UnityEngine.CoreModule.dll
---@field Custom UnityEngine.LightProbeProxyVolume.BoundingBoxMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.BoundingBoxMode = {}

---@source 
---@param value any
---@return UnityEngine.LightProbeProxyVolume.BoundingBoxMode
function CS.UnityEngine.BoundingBoxMode:__CastFrom(value) end


--
--The mode in which the interpolated Light Probe positions are generated.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ProbePositionMode: System.Enum
--
--Divide the volume in cells based on resolution, and generate interpolated Light Probes positions in the corner/edge of the cells.
--
---@source UnityEngine.CoreModule.dll
---@field CellCorner UnityEngine.LightProbeProxyVolume.ProbePositionMode
--
--Divide the volume in cells based on resolution, and generate interpolated Light Probe positions in the center of the cells.
--
---@source UnityEngine.CoreModule.dll
---@field CellCenter UnityEngine.LightProbeProxyVolume.ProbePositionMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ProbePositionMode = {}

---@source 
---@param value any
---@return UnityEngine.LightProbeProxyVolume.ProbePositionMode
function CS.UnityEngine.ProbePositionMode:__CastFrom(value) end


--
--An enum describing the way a Light Probe Proxy Volume refreshes in the Player.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RefreshMode: System.Enum
--
--Automatically detects updates in Light Probes and triggers an update of the Light Probe volume.
--
---@source UnityEngine.CoreModule.dll
---@field Automatic UnityEngine.LightProbeProxyVolume.RefreshMode
--
--Causes Unity to update the Light Probe Proxy Volume every frame.
--
---@source UnityEngine.CoreModule.dll
---@field EveryFrame UnityEngine.LightProbeProxyVolume.RefreshMode
--
--Use this option to indicate that the Light Probe Proxy Volume is never to be automatically updated by Unity.
--
---@source UnityEngine.CoreModule.dll
---@field ViaScripting UnityEngine.LightProbeProxyVolume.RefreshMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RefreshMode = {}

---@source 
---@param value any
---@return UnityEngine.LightProbeProxyVolume.RefreshMode
function CS.UnityEngine.RefreshMode:__CastFrom(value) end


--
--An enum describing the Quality option used by the Light Probe Proxy Volume component.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.QualityMode: System.Enum
--
--This option will use only two SH coefficients bands: L0 and L1. The coefficients are sampled from the Light Probe Proxy Volume 3D Texture. Using this option might increase the draw call batch sizes by not having to change the L2 coefficients per Renderer.
--
---@source UnityEngine.CoreModule.dll
---@field Low UnityEngine.LightProbeProxyVolume.QualityMode
--
--This option will use L0 and L1 SH coefficients from the Light Probe Proxy Volume 3D Texture. The L2 coefficients are constant per Renderer. By having to provide the L2 coefficients, draw call batches might be broken.
--
---@source UnityEngine.CoreModule.dll
---@field Normal UnityEngine.LightProbeProxyVolume.QualityMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.QualityMode = {}

---@source 
---@param value any
---@return UnityEngine.LightProbeProxyVolume.QualityMode
function CS.UnityEngine.QualityMode:__CastFrom(value) end


--
--Flags used to control the encoding to an EXR file.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.EXRFlags: System.Enum
--
--No flag. This will result in an uncompressed 16-bit float EXR file.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.Texture2D.EXRFlags
--
--The texture will be exported as a 32-bit float EXR file (default is 16-bit).
--
---@source UnityEngine.CoreModule.dll
---@field OutputAsFloat UnityEngine.Texture2D.EXRFlags
--
--The texture will use the EXR ZIP compression format.
--
---@source UnityEngine.CoreModule.dll
---@field CompressZIP UnityEngine.Texture2D.EXRFlags
--
--The texture will use RLE (Run Length Encoding) EXR compression format (similar to Targa RLE compression).
--
---@source UnityEngine.CoreModule.dll
---@field CompressRLE UnityEngine.Texture2D.EXRFlags
--
--This texture will use Wavelet compression. This is best used for grainy images.
--
---@source UnityEngine.CoreModule.dll
---@field CompressPIZ UnityEngine.Texture2D.EXRFlags
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.EXRFlags = {}

---@source 
---@param value any
---@return UnityEngine.Texture2D.EXRFlags
function CS.UnityEngine.EXRFlags:__CastFrom(value) end


--
--The texture data format used by the Light Probe Proxy Volume 3D texture.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.DataFormat: System.Enum
--
--A 16-bit half floating-point format is used for the Light Probe Proxy Volume 3D texture.
--
---@source UnityEngine.CoreModule.dll
---@field HalfFloat UnityEngine.LightProbeProxyVolume.DataFormat
--
--A 32-bit floating-point format is used for the Light Probe Proxy Volume 3D texture.
--
---@source UnityEngine.CoreModule.dll
---@field Float UnityEngine.LightProbeProxyVolume.DataFormat
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.DataFormat = {}

---@source 
---@param value any
---@return UnityEngine.LightProbeProxyVolume.DataFormat
function CS.UnityEngine.DataFormat:__CastFrom(value) end


--
--Specify the source of a Custom Render Texture initialization.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CustomRenderTextureInitializationSource: System.Enum
--
--Custom Render Texture is initialized by a Texture multiplied by a Color.
--
---@source UnityEngine.CoreModule.dll
---@field TextureAndColor UnityEngine.CustomRenderTextureInitializationSource
--
--Custom Render Texture is initalized with a Material.
--
---@source UnityEngine.CoreModule.dll
---@field Material UnityEngine.CustomRenderTextureInitializationSource
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CustomRenderTextureInitializationSource = {}

---@source 
---@param value any
---@return UnityEngine.CustomRenderTextureInitializationSource
function CS.UnityEngine.CustomRenderTextureInitializationSource:__CastFrom(value) end


--
--Frequency of update or initialization of a Custom Render Texture.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CustomRenderTextureUpdateMode: System.Enum
--
--Initialization/Update will occur once at load time and then can be triggered again by script.
--
---@source UnityEngine.CoreModule.dll
---@field OnLoad UnityEngine.CustomRenderTextureUpdateMode
--
--Initialization/Update will occur at every frame.
--
---@source UnityEngine.CoreModule.dll
---@field Realtime UnityEngine.CustomRenderTextureUpdateMode
--
--Initialization/Update will only occur when triggered by the script.
--
---@source UnityEngine.CoreModule.dll
---@field OnDemand UnityEngine.CustomRenderTextureUpdateMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CustomRenderTextureUpdateMode = {}

---@source 
---@param value any
---@return UnityEngine.CustomRenderTextureUpdateMode
function CS.UnityEngine.CustomRenderTextureUpdateMode:__CastFrom(value) end


--
--Space in which coordinates are provided for Update Zones.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CustomRenderTextureUpdateZoneSpace: System.Enum
--
--Coordinates are normalized. (0, 0) is top left and (1, 1) is bottom right.
--
---@source UnityEngine.CoreModule.dll
---@field Normalized UnityEngine.CustomRenderTextureUpdateZoneSpace
--
--Coordinates are expressed in pixels. (0, 0) is top left (width, height) is bottom right.
--
---@source UnityEngine.CoreModule.dll
---@field Pixel UnityEngine.CustomRenderTextureUpdateZoneSpace
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CustomRenderTextureUpdateZoneSpace = {}

---@source 
---@param value any
---@return UnityEngine.CustomRenderTextureUpdateZoneSpace
function CS.UnityEngine.CustomRenderTextureUpdateZoneSpace:__CastFrom(value) end


--
--The type of motion vectors that should be generated.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MotionVectorGenerationMode: System.Enum
--
--Use only camera movement to track motion.
--
---@source UnityEngine.CoreModule.dll
---@field Camera UnityEngine.MotionVectorGenerationMode
--
--Use a specific pass (if required) to track motion.
--
---@source UnityEngine.CoreModule.dll
---@field Object UnityEngine.MotionVectorGenerationMode
--
--Do not track motion. Motion vectors will be 0.
--
---@source UnityEngine.CoreModule.dll
---@field ForceNoMotion UnityEngine.MotionVectorGenerationMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MotionVectorGenerationMode = {}

---@source 
---@param value any
---@return UnityEngine.MotionVectorGenerationMode
function CS.UnityEngine.MotionVectorGenerationMode:__CastFrom(value) end


--
--Choose how textures are applied to Lines and Trails.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LineTextureMode: System.Enum
--
--Map the texture once along the entire length of the line.
--
---@source UnityEngine.CoreModule.dll
---@field Stretch UnityEngine.LineTextureMode
--
--Repeat the texture along the line, based on its length in world units. To set the tiling rate, use Material.SetTextureScale.
--
---@source UnityEngine.CoreModule.dll
---@field Tile UnityEngine.LineTextureMode
--
--Map the texture once along the entire length of the line, assuming all vertices are evenly spaced.
--
---@source UnityEngine.CoreModule.dll
---@field DistributePerSegment UnityEngine.LineTextureMode
--
--Repeat the texture along the line, repeating at a rate of once per line segment. To adjust the tiling rate, use Material.SetTextureScale.
--
---@source UnityEngine.CoreModule.dll
---@field RepeatPerSegment UnityEngine.LineTextureMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LineTextureMode = {}

---@source 
---@param value any
---@return UnityEngine.LineTextureMode
function CS.UnityEngine.LineTextureMode:__CastFrom(value) end


--
--Control the direction lines face, when using the LineRenderer or TrailRenderer.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LineAlignment: System.Enum
--
--Lines face the camera.
--
---@source UnityEngine.CoreModule.dll
---@field View UnityEngine.LineAlignment
--
--Lines face the direction of the Transform Component.
--
---@source UnityEngine.CoreModule.dll
---@field Local UnityEngine.LineAlignment
--
--Lines face the Z axis of the Transform Component.
--
---@source UnityEngine.CoreModule.dll
---@field TransformZ UnityEngine.LineAlignment
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LineAlignment = {}

---@source 
---@param value any
---@return UnityEngine.LineAlignment
function CS.UnityEngine.LineAlignment:__CastFrom(value) end


--
--Class for handling cube maps, Use this to create or modify existing.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Cubemap: UnityEngine.Texture
--
--The format of the pixel data in the texture (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field format UnityEngine.TextureFormat
---@source UnityEngine.CoreModule.dll
---@field isReadable bool
--
--Determines whether mipmap streaming is enabled for this Texture.
--
---@source UnityEngine.CoreModule.dll
---@field streamingMipmaps bool
--
--Sets the relative priority for this Texture when reducing memory size to fit within the memory budget.
--
---@source UnityEngine.CoreModule.dll
---@field streamingMipmapsPriority int
--
--The mipmap level to load.
--
---@source UnityEngine.CoreModule.dll
---@field requestedMipmapLevel int
--
--The mipmap level that the streaming system would load before memory budgets are applied.
--
---@source UnityEngine.CoreModule.dll
---@field desiredMipmapLevel int
--
--The mipmap level that the mipmap streaming system is in the process of loading.
--
---@source UnityEngine.CoreModule.dll
---@field loadingMipmapLevel int
--
--The mipmap level that is currently loaded by the streaming system.
--
---@source UnityEngine.CoreModule.dll
---@field loadedMipmapLevel int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Cubemap = {}

--
--Updates Unity cubemap to use different native cubemap texture object.
--
--```plaintext
--Params: nativeTexture - Native cubemap texture object.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nativeTexture System.IntPtr
function CS.UnityEngine.Cubemap.UpdateExternalTexture(nativeTexture) end

--
--Performs smoothing of near edge regions.
--
--```plaintext
--Params: smoothRegionWidthInPixels - Pixel distance at edges over which to apply smoothing.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param smoothRegionWidthInPixels int
function CS.UnityEngine.Cubemap.SmoothEdges(smoothRegionWidthInPixels) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Cubemap.SmoothEdges() end

--
--An array that contains a copy of the requested pixel colors, represented by Color structs.
--
--```plaintext
--Params: face - The cubemap face to read pixel data from.
--        miplevel - The mip level to read pixel data from. The default is 0.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param face UnityEngine.CubemapFace
---@param miplevel int
function CS.UnityEngine.Cubemap.GetPixels(face, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param face UnityEngine.CubemapFace
function CS.UnityEngine.Cubemap.GetPixels(face) end

--
--Sets pixel colors of a cubemap face.
--
--```plaintext
--Params: colors - Pixel data for the Cubemap face.
--        face - The face to which the new data should be applied.
--        miplevel - The mipmap level for the face.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color[]
---@param face UnityEngine.CubemapFace
---@param miplevel int
function CS.UnityEngine.Cubemap.SetPixels(colors, face, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color[]
---@param face UnityEngine.CubemapFace
function CS.UnityEngine.Cubemap.SetPixels(colors, face) end

--
--Resets the requestedMipmapLevel field.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Cubemap.ClearRequestedMipmapLevel() end

--
--True if the mipmap level requested by requestedMipmapLevel has finished loading.
--
---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.Cubemap.IsRequestedMipmapLevelLoaded() end

--
--Creates a Unity cubemap out of externally created native cubemap object.
--
--```plaintext
--Params: size - The width and height of each face of the cubemap should be the same.
--        format - Format of underlying cubemap object.
--        mipmap - Does the cubemap have mipmaps?
--        nativeTex - Native cubemap texture object.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param width int
---@param format UnityEngine.TextureFormat
---@param mipmap bool
---@param nativeTex System.IntPtr
---@return Cubemap
function CS.UnityEngine.Cubemap:CreateExternalTexture(width, format, mipmap, nativeTex) end

---@source UnityEngine.CoreModule.dll
---@param data T[]
---@param mipLevel int
---@param face UnityEngine.CubemapFace
---@param sourceDataStartIndex int
function CS.UnityEngine.Cubemap.SetPixelData(data, mipLevel, face, sourceDataStartIndex) end

---@source UnityEngine.CoreModule.dll
---@param data Unity.Collections.NativeArray<T>
---@param mipLevel int
---@param face UnityEngine.CubemapFace
---@param sourceDataStartIndex int
function CS.UnityEngine.Cubemap.SetPixelData(data, mipLevel, face, sourceDataStartIndex) end

---@source UnityEngine.CoreModule.dll
---@param mipLevel int
---@param face UnityEngine.CubemapFace
---@return NativeArray
function CS.UnityEngine.Cubemap.GetPixelData(mipLevel, face) end

--
--Sets pixel color at coordinates (face, x, y).
--
---@source UnityEngine.CoreModule.dll
---@param face UnityEngine.CubemapFace
---@param x int
---@param y int
---@param color UnityEngine.Color
function CS.UnityEngine.Cubemap.SetPixel(face, x, y, color) end

--
--Returns pixel color at coordinates (face, x, y).
--
---@source UnityEngine.CoreModule.dll
---@param face UnityEngine.CubemapFace
---@param x int
---@param y int
---@return Color
function CS.UnityEngine.Cubemap.GetPixel(face, x, y) end

--
--Actually apply all previous SetPixel and SetPixels changes.
--
--```plaintext
--Params: updateMipmaps - When set to true, mipmap levels are recalculated.
--        makeNoLongerReadable - When set to true, Unity discards the copy of pixel data in CPU-addressable memory after this operation.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param updateMipmaps bool
---@param makeNoLongerReadable bool
function CS.UnityEngine.Cubemap.Apply(updateMipmaps, makeNoLongerReadable) end

---@source UnityEngine.CoreModule.dll
---@param updateMipmaps bool
function CS.UnityEngine.Cubemap.Apply(updateMipmaps) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Cubemap.Apply() end


--
--Class for handling 3D Textures, Use this to create.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Texture3D: UnityEngine.Texture
--
--The depth of the texture (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field depth int
--
--The format of the pixel data in the texture (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field format UnityEngine.TextureFormat
---@source UnityEngine.CoreModule.dll
---@field isReadable bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Texture3D = {}

--
--Updates Unity texture to use different native texture object.
--
--```plaintext
--Params: nativeTex - Native 3D texture object.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nativeTex System.IntPtr
function CS.UnityEngine.Texture3D.UpdateExternalTexture(nativeTex) end

--
--An array that contains a copy of the requested pixel colors, represented by Color structs.
--
--```plaintext
--Params: miplevel - The mip level to read pixel data from. The default is 0.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param miplevel int
function CS.UnityEngine.Texture3D.GetPixels(miplevel) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Texture3D.GetPixels() end

--
--An array that contains a copy of the requested pixel colors.
--
--```plaintext
--Params: miplevel - The mip level to read pixel data from. The default is 0.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param miplevel int
function CS.UnityEngine.Texture3D.GetPixels32(miplevel) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Texture3D.GetPixels32() end

--
--Sets pixel colors of a 3D texture.
--
--```plaintext
--Params: colors - The colors to set the pixels to.
--        miplevel - The mipmap level to be affected by the new colors.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color[]
---@param miplevel int
function CS.UnityEngine.Texture3D.SetPixels(colors, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color[]
function CS.UnityEngine.Texture3D.SetPixels(colors) end

--
--Sets pixel colors of a 3D texture.
--
--```plaintext
--Params: colors - The colors to set the pixels to.
--        miplevel - The mipmap level to be affected by the new colors.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color32[]
---@param miplevel int
function CS.UnityEngine.Texture3D.SetPixels32(colors, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color32[]
function CS.UnityEngine.Texture3D.SetPixels32(colors) end

--
--Creates Unity Texture out of externally created native texture object.
--
--```plaintext
--Params: nativeTex - Native 3D texture object.
--        width - Width of texture in pixels.
--        height - Height of texture in pixels.
--        depth - Depth of texture in pixels
--        format - Format of underlying texture object.
--        mipmap - Does the texture have mipmaps?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param depth int
---@param format UnityEngine.TextureFormat
---@param mipChain bool
---@param nativeTex System.IntPtr
---@return Texture3D
function CS.UnityEngine.Texture3D:CreateExternalTexture(width, height, depth, format, mipChain, nativeTex) end

--
--Actually apply all previous SetPixels changes.
--
--```plaintext
--Params: updateMipmaps - When set to true, mipmap levels are recalculated.
--        makeNoLongerReadable - Whether to discard the copy of pixel data in CPU-addressable memory after this operation.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param updateMipmaps bool
---@param makeNoLongerReadable bool
function CS.UnityEngine.Texture3D.Apply(updateMipmaps, makeNoLongerReadable) end

---@source UnityEngine.CoreModule.dll
---@param updateMipmaps bool
function CS.UnityEngine.Texture3D.Apply(updateMipmaps) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Texture3D.Apply() end

---@source UnityEngine.CoreModule.dll
---@param x int
---@param y int
---@param z int
---@param color UnityEngine.Color
function CS.UnityEngine.Texture3D.SetPixel(x, y, z, color) end

--
--Sets the pixel color that represents one mip level of the 3D texture at coordinates (x,y,z).
--
--```plaintext
--Params: x - X coordinate to access a pixel.
--        y - Y coordinate to access a pixel.
--        z - Z coordinate to access a pixel.
--        color - The colors to set the pixels to.
--        mipLevel - The mipmap level to be affected by the new colors.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param x int
---@param y int
---@param z int
---@param color UnityEngine.Color
---@param mipLevel int
function CS.UnityEngine.Texture3D.SetPixel(x, y, z, color, mipLevel) end

---@source UnityEngine.CoreModule.dll
---@param x int
---@param y int
---@param z int
---@return Color
function CS.UnityEngine.Texture3D.GetPixel(x, y, z) end

--
--The color of the pixel.
--
--```plaintext
--Params: x - X coordinate to access a pixel.
--        y - Y coordinate to access a pixel.
--        z - Z coordinate to access a pixel.
--        mipLevel - The mipmap level to be accessed.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param x int
---@param y int
---@param z int
---@param mipLevel int
---@return Color
function CS.UnityEngine.Texture3D.GetPixel(x, y, z, mipLevel) end

---@source UnityEngine.CoreModule.dll
---@param u float
---@param v float
---@param w float
---@return Color
function CS.UnityEngine.Texture3D.GetPixelBilinear(u, v, w) end

--
--The colors to return by bilinear filtering.
--
--```plaintext
--Params: u - U normalized coordinate to access a pixel.
--        v - V normalized coordinate to access a pixel.
--        w - W normalized coordinate to access a pixel.
--        mipLevel - The mipmap level to be accessed.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param u float
---@param v float
---@param w float
---@param mipLevel int
---@return Color
function CS.UnityEngine.Texture3D.GetPixelBilinear(u, v, w, mipLevel) end

---@source UnityEngine.CoreModule.dll
---@param data T[]
---@param mipLevel int
---@param sourceDataStartIndex int
function CS.UnityEngine.Texture3D.SetPixelData(data, mipLevel, sourceDataStartIndex) end

---@source UnityEngine.CoreModule.dll
---@param data Unity.Collections.NativeArray<T>
---@param mipLevel int
---@param sourceDataStartIndex int
function CS.UnityEngine.Texture3D.SetPixelData(data, mipLevel, sourceDataStartIndex) end

---@source UnityEngine.CoreModule.dll
---@param mipLevel int
---@return NativeArray
function CS.UnityEngine.Texture3D.GetPixelData(mipLevel) end


--
--Class for handling 2D texture arrays.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Texture2DArray: UnityEngine.Texture
--
--Read Only. This property is used as a parameter in some overloads of the CommandBuffer.Blit, Graphics.Blit, CommandBuffer.SetRenderTarget, and Graphics.SetRenderTarget methods to indicate that all texture array slices are bound. The value of this property is -1.
--
---@source UnityEngine.CoreModule.dll
---@field allSlices int
--
--Number of elements in a texture array (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field depth int
--
--Texture format (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field format UnityEngine.TextureFormat
---@source UnityEngine.CoreModule.dll
---@field isReadable bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Texture2DArray = {}

--
--An array that contains a copy of the requested pixel colors.
--
--```plaintext
--Params: arrayElement - The array slice to read pixel data from.
--        miplevel - The mip level to read pixel data from. The default is 0.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param arrayElement int
---@param miplevel int
function CS.UnityEngine.Texture2DArray.GetPixels(arrayElement, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param arrayElement int
function CS.UnityEngine.Texture2DArray.GetPixels(arrayElement) end

--
--An array that contains a copy of the requested pixel colors.
--
--```plaintext
--Params: arrayElement - The array slice to read pixel data from.
--        miplevel - The mip level to read pixel data from. The default is 0.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param arrayElement int
---@param miplevel int
function CS.UnityEngine.Texture2DArray.GetPixels32(arrayElement, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param arrayElement int
function CS.UnityEngine.Texture2DArray.GetPixels32(arrayElement) end

--
--Set pixel colors for the whole mip level.
--
--```plaintext
--Params: colors - An array of pixel colors.
--        arrayElement - The texture array element index.
--        miplevel - The mip level.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color[]
---@param arrayElement int
---@param miplevel int
function CS.UnityEngine.Texture2DArray.SetPixels(colors, arrayElement, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color[]
---@param arrayElement int
function CS.UnityEngine.Texture2DArray.SetPixels(colors, arrayElement) end

--
--Set pixel colors for the whole mip level.
--
--```plaintext
--Params: colors - An array of pixel colors.
--        arrayElement - The texture array element index.
--        miplevel - The mip level.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color32[]
---@param arrayElement int
---@param miplevel int
function CS.UnityEngine.Texture2DArray.SetPixels32(colors, arrayElement, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color32[]
---@param arrayElement int
function CS.UnityEngine.Texture2DArray.SetPixels32(colors, arrayElement) end

--
--Actually apply all previous SetPixels changes.
--
--```plaintext
--Params: updateMipmaps - When set to true, mipmap levels are recalculated.
--        makeNoLongerReadable - When set to true, Unity discards the copy of pixel data in CPU-addressable memory after this operation.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param updateMipmaps bool
---@param makeNoLongerReadable bool
function CS.UnityEngine.Texture2DArray.Apply(updateMipmaps, makeNoLongerReadable) end

---@source UnityEngine.CoreModule.dll
---@param data T[]
---@param mipLevel int
---@param element int
---@param sourceDataStartIndex int
function CS.UnityEngine.Texture2DArray.SetPixelData(data, mipLevel, element, sourceDataStartIndex) end

---@source UnityEngine.CoreModule.dll
---@param data Unity.Collections.NativeArray<T>
---@param mipLevel int
---@param element int
---@param sourceDataStartIndex int
function CS.UnityEngine.Texture2DArray.SetPixelData(data, mipLevel, element, sourceDataStartIndex) end

---@source UnityEngine.CoreModule.dll
---@param mipLevel int
---@param element int
---@return NativeArray
function CS.UnityEngine.Texture2DArray.GetPixelData(mipLevel, element) end

---@source UnityEngine.CoreModule.dll
---@param updateMipmaps bool
function CS.UnityEngine.Texture2DArray.Apply(updateMipmaps) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Texture2DArray.Apply() end


--
--Class for handling Cubemap arrays.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CubemapArray: UnityEngine.Texture
--
--Number of cubemaps in the array (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field cubemapCount int
--
--Texture format (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field format UnityEngine.TextureFormat
---@source UnityEngine.CoreModule.dll
---@field isReadable bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CubemapArray = {}

--
--An array that contains a copy of the requested pixel colors, represented by Color structs.
--
--```plaintext
--Params: face - The cubemap face to read pixel data from.
--        arrayElement - The array element ("slice") to read pixel data from.
--        miplevel - The mip level to read pixel data from. The default is 0.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param face UnityEngine.CubemapFace
---@param arrayElement int
---@param miplevel int
function CS.UnityEngine.CubemapArray.GetPixels(face, arrayElement, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param face UnityEngine.CubemapFace
---@param arrayElement int
function CS.UnityEngine.CubemapArray.GetPixels(face, arrayElement) end

--
--An array that contains a copy of the requested pixel colors, represented by lower-precision Color32 structs.
--
--```plaintext
--Params: face - The cubemap face to read pixel data from.
--        arrayElement - The array element ("slice") to read pixel data from.
--        miplevel - The mip level to read pixel data from. The default is 0.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param face UnityEngine.CubemapFace
---@param arrayElement int
---@param miplevel int
function CS.UnityEngine.CubemapArray.GetPixels32(face, arrayElement, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param face UnityEngine.CubemapFace
---@param arrayElement int
function CS.UnityEngine.CubemapArray.GetPixels32(face, arrayElement) end

--
--Set pixel colors for a single array slice/face.
--
--```plaintext
--Params: colors - An array of pixel colors.
--        face - Cubemap face to set pixels for.
--        arrayElement - Array element index to set pixels for.
--        miplevel - Mipmap level to set pixels for.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color[]
---@param face UnityEngine.CubemapFace
---@param arrayElement int
---@param miplevel int
function CS.UnityEngine.CubemapArray.SetPixels(colors, face, arrayElement, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color[]
---@param face UnityEngine.CubemapFace
---@param arrayElement int
function CS.UnityEngine.CubemapArray.SetPixels(colors, face, arrayElement) end

--
--Set pixel colors for a single array slice/face.
--
--```plaintext
--Params: colors - An array of pixel colors in low precision (8 bits/channel) format.
--        face - Cubemap face to set pixels for.
--        arrayElement - Array element index to set pixels for.
--        miplevel - Mipmap level to set pixels for.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color32[]
---@param face UnityEngine.CubemapFace
---@param arrayElement int
---@param miplevel int
function CS.UnityEngine.CubemapArray.SetPixels32(colors, face, arrayElement, miplevel) end

---@source UnityEngine.CoreModule.dll
---@param colors UnityEngine.Color32[]
---@param face UnityEngine.CubemapFace
---@param arrayElement int
function CS.UnityEngine.CubemapArray.SetPixels32(colors, face, arrayElement) end

--
--Actually apply all previous SetPixels changes.
--
--```plaintext
--Params: updateMipmaps - When set to true, mipmap levels are recalculated.
--        makeNoLongerReadable - When set to true, Unity discards the copy of pixel data in CPU-addressable memory after this operation.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param updateMipmaps bool
---@param makeNoLongerReadable bool
function CS.UnityEngine.CubemapArray.Apply(updateMipmaps, makeNoLongerReadable) end

---@source UnityEngine.CoreModule.dll
---@param updateMipmaps bool
function CS.UnityEngine.CubemapArray.Apply(updateMipmaps) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.CubemapArray.Apply() end

---@source UnityEngine.CoreModule.dll
---@param data T[]
---@param mipLevel int
---@param face UnityEngine.CubemapFace
---@param element int
---@param sourceDataStartIndex int
function CS.UnityEngine.CubemapArray.SetPixelData(data, mipLevel, face, element, sourceDataStartIndex) end

---@source UnityEngine.CoreModule.dll
---@param data Unity.Collections.NativeArray<T>
---@param mipLevel int
---@param face UnityEngine.CubemapFace
---@param element int
---@param sourceDataStartIndex int
function CS.UnityEngine.CubemapArray.SetPixelData(data, mipLevel, face, element, sourceDataStartIndex) end

---@source UnityEngine.CoreModule.dll
---@param mipLevel int
---@param face UnityEngine.CubemapFace
---@param element int
---@return NativeArray
function CS.UnityEngine.CubemapArray.GetPixelData(mipLevel, face, element) end


--
--Class for handling Sparse Textures.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SparseTexture: UnityEngine.Texture
--
--Get sparse texture tile width (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field tileWidth int
--
--Get sparse texture tile height (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field tileHeight int
--
--Is the sparse texture actually created? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field isCreated bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SparseTexture = {}

--
--Update sparse texture tile with color values.
--
--```plaintext
--Params: tileX - Tile X coordinate.
--        tileY - Tile Y coordinate.
--        miplevel - Mipmap level of the texture.
--        data - Tile color data.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param tileX int
---@param tileY int
---@param miplevel int
---@param data UnityEngine.Color32[]
function CS.UnityEngine.SparseTexture.UpdateTile(tileX, tileY, miplevel, data) end

--
--Update sparse texture tile with raw pixel values.
--
--```plaintext
--Params: tileX - Tile X coordinate.
--        tileY - Tile Y coordinate.
--        miplevel - Mipmap level of the texture.
--        data - Tile raw pixel data.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param tileX int
---@param tileY int
---@param miplevel int
---@param data byte[]
function CS.UnityEngine.SparseTexture.UpdateTileRaw(tileX, tileY, miplevel, data) end

--
--Unload sparse texture tile.
--
--```plaintext
--Params: tileX - Tile X coordinate.
--        tileY - Tile Y coordinate.
--        miplevel - Mipmap level of the texture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param tileX int
---@param tileY int
---@param miplevel int
function CS.UnityEngine.SparseTexture.UnloadTile(tileX, tileY, miplevel) end


--
--Render textures are textures that can be rendered to.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RenderTexture: UnityEngine.Texture
--
--The width of the render texture in pixels.
--
---@source UnityEngine.CoreModule.dll
---@field width int
--
--The height of the render texture in pixels.
--
---@source UnityEngine.CoreModule.dll
---@field height int
--
--Dimensionality (type) of the render texture.
--
---@source UnityEngine.CoreModule.dll
---@field dimension UnityEngine.Rendering.TextureDimension
--
--The color format of the render texture.
--
---@source UnityEngine.CoreModule.dll
---@field graphicsFormat UnityEngine.Experimental.Rendering.GraphicsFormat
--
--Render texture has mipmaps when this flag is set.
--
---@source UnityEngine.CoreModule.dll
---@field useMipMap bool
--
--Does this render texture use sRGB read/write conversions? (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field sRGB bool
--
--If this RenderTexture is a VR eye texture used in stereoscopic rendering, this property decides what special rendering occurs, if any.
--
---@source UnityEngine.CoreModule.dll
---@field vrUsage UnityEngine.VRTextureUsage
--
--The render texture memoryless mode property.
--
---@source UnityEngine.CoreModule.dll
---@field memorylessMode UnityEngine.RenderTextureMemoryless
---@source UnityEngine.CoreModule.dll
---@field format UnityEngine.RenderTextureFormat
--
--The format of the stencil data that you can encapsulate within a RenderTexture.
--
--Specifying this property creates a stencil element for the RenderTexture and sets its format.
--This allows for stencil data to be bound as a Texture to all shader types for the platforms that support it.
--This property does not specify the format of the stencil buffer, which is constrained by the depth buffer format specified in RenderTexture.depth.
--
--Currently, most platforms only support R8_UInt (DirectX11, DirectX12), while PS4 also supports R8_UNorm.
--
---@source UnityEngine.CoreModule.dll
---@field stencilFormat UnityEngine.Experimental.Rendering.GraphicsFormat
--
--Mipmap levels are generated automatically when this flag is set.
--
---@source UnityEngine.CoreModule.dll
---@field autoGenerateMips bool
--
--Volume extent of a 3D render texture or number of slices of array texture.
--
---@source UnityEngine.CoreModule.dll
---@field volumeDepth int
--
--The antialiasing level for the RenderTexture.
--
---@source UnityEngine.CoreModule.dll
---@field antiAliasing int
--
--If true and antiAliasing is greater than 1, the render texture will not be resolved by default.  Use this if the render texture needs to be bound as a multisampled texture in a shader.
--
---@source UnityEngine.CoreModule.dll
---@field bindTextureMS bool
--
--Enable random access write into this render texture on Shader Model 5.0 level shaders.
--
---@source UnityEngine.CoreModule.dll
---@field enableRandomWrite bool
--
--Is the render texture marked to be scaled by the.
--
---@source UnityEngine.CoreModule.dll
---@field useDynamicScale bool
---@source UnityEngine.CoreModule.dll
---@field isPowerOfTwo bool
--
--Currently active render texture.
--
---@source UnityEngine.CoreModule.dll
---@field active UnityEngine.RenderTexture
--
--Color buffer of the render texture (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field colorBuffer UnityEngine.RenderBuffer
--
--Depth/stencil buffer of the render texture (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field depthBuffer UnityEngine.RenderBuffer
--
--The precision of the render texture's depth buffer in bits (0, 16, 24/32 are supported).
--
---@source UnityEngine.CoreModule.dll
---@field depth int
--
--This struct contains all the information required to create a RenderTexture. It can be copied, cached, and reused to easily create RenderTextures that all share the same properties.
--
---@source UnityEngine.CoreModule.dll
---@field descriptor UnityEngine.RenderTextureDescriptor
---@source UnityEngine.CoreModule.dll
---@field generateMips bool
---@source UnityEngine.CoreModule.dll
---@field isCubemap bool
--
--If enabled, this Render Texture will be used as a Texture3D.
--
---@source UnityEngine.CoreModule.dll
---@field isVolume bool
---@source UnityEngine.CoreModule.dll
---@field enabled bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RenderTexture = {}

--
--Pointer to an underlying graphics API depth buffer resource.
--
---@source UnityEngine.CoreModule.dll
---@return IntPtr
function CS.UnityEngine.RenderTexture.GetNativeDepthBufferPtr() end

--
--Hint the GPU driver that the contents of the RenderTexture will not be used.
--
--```plaintext
--Params: discardColor - Should the colour buffer be discarded?
--        discardDepth - Should the depth buffer be discarded?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param discardColor bool
---@param discardDepth bool
function CS.UnityEngine.RenderTexture.DiscardContents(discardColor, discardDepth) end

--
--Indicate that there's a RenderTexture restore operation expected.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.RenderTexture.MarkRestoreExpected() end

--
--Hint the GPU driver that the contents of the RenderTexture will not be used.
--
--```plaintext
--Params: discardColor - Should the colour buffer be discarded?
--        discardDepth - Should the depth buffer be discarded?
--        
--```
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.RenderTexture.DiscardContents() end

--
--Force an antialiased render texture to be resolved.
--
--```plaintext
--Params: target - The render texture to resolve into.  If set, the target render texture must have the same dimensions and format as the source.
--        
--```
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.RenderTexture.ResolveAntiAliasedSurface() end

--
--Force an antialiased render texture to be resolved.
--
--```plaintext
--Params: target - The render texture to resolve into.  If set, the target render texture must have the same dimensions and format as the source.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param target UnityEngine.RenderTexture
function CS.UnityEngine.RenderTexture.ResolveAntiAliasedSurface(target) end

--
--Assigns this RenderTexture as a global shader property named propertyName.
--
---@source UnityEngine.CoreModule.dll
---@param propertyName string
function CS.UnityEngine.RenderTexture.SetGlobalShaderProperty(propertyName) end

--
--True if the texture is created, else false.
--
---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.RenderTexture.Create() end

--
--Releases the RenderTexture.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.RenderTexture.Release() end

--
--Is the render texture actually created?
--
---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.RenderTexture.IsCreated() end

--
--Generate mipmap levels of a render texture.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.RenderTexture.GenerateMips() end

---@source UnityEngine.CoreModule.dll
---@param equirect UnityEngine.RenderTexture
---@param eye UnityEngine.Camera.MonoOrStereoscopicEye
function CS.UnityEngine.RenderTexture.ConvertToEquirect(equirect, eye) end

--
--Does a RenderTexture have stencil buffer?
--
--```plaintext
--Params: rt - Render texture, or null for main screen.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param rt UnityEngine.RenderTexture
---@return Boolean
function CS.UnityEngine.RenderTexture:SupportsStencil(rt) end

--
--Release a temporary texture allocated with GetTemporary.
--
---@source UnityEngine.CoreModule.dll
---@param temp UnityEngine.RenderTexture
function CS.UnityEngine.RenderTexture:ReleaseTemporary(temp) end

--
--Allocate a temporary render texture.
--
--```plaintext
--Params: width - Width in pixels.
--        height - Height in pixels.
--        depthBuffer - Depth buffer bits (0, 16 or 24). Note that only 24 bit depth has stencil buffer.
--        format - Render texture format.
--        readWrite - Color space conversion mode.
--        antiAliasing - Number of antialiasing samples to store in the texture. Valid values are 1, 2, 4, and 8. Throws an exception if any other value is passed.
--        memorylessMode - Render texture memoryless mode.
--        desc - Use this RenderTextureDesc for the settings when creating the temporary RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param desc UnityEngine.RenderTextureDescriptor
---@return RenderTexture
function CS.UnityEngine.RenderTexture:GetTemporary(desc) end

---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param depthBuffer int
---@param format UnityEngine.Experimental.Rendering.GraphicsFormat
---@param antiAliasing int
---@param memorylessMode UnityEngine.RenderTextureMemoryless
---@param vrUsage UnityEngine.VRTextureUsage
---@param useDynamicScale bool
---@return RenderTexture
function CS.UnityEngine.RenderTexture:GetTemporary(width, height, depthBuffer, format, antiAliasing, memorylessMode, vrUsage, useDynamicScale) end

---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param depthBuffer int
---@param format UnityEngine.Experimental.Rendering.GraphicsFormat
---@param antiAliasing int
---@param memorylessMode UnityEngine.RenderTextureMemoryless
---@param vrUsage UnityEngine.VRTextureUsage
---@return RenderTexture
function CS.UnityEngine.RenderTexture:GetTemporary(width, height, depthBuffer, format, antiAliasing, memorylessMode, vrUsage) end

---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param depthBuffer int
---@param format UnityEngine.Experimental.Rendering.GraphicsFormat
---@param antiAliasing int
---@param memorylessMode UnityEngine.RenderTextureMemoryless
---@return RenderTexture
function CS.UnityEngine.RenderTexture:GetTemporary(width, height, depthBuffer, format, antiAliasing, memorylessMode) end

---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param depthBuffer int
---@param format UnityEngine.Experimental.Rendering.GraphicsFormat
---@param antiAliasing int
---@return RenderTexture
function CS.UnityEngine.RenderTexture:GetTemporary(width, height, depthBuffer, format, antiAliasing) end

---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param depthBuffer int
---@param format UnityEngine.Experimental.Rendering.GraphicsFormat
---@return RenderTexture
function CS.UnityEngine.RenderTexture:GetTemporary(width, height, depthBuffer, format) end

--
--Allocate a temporary render texture.
--
--```plaintext
--Params: width - Width in pixels.
--        height - Height in pixels.
--        depthBuffer - Depth buffer bits (0, 16 or 24). Note that only 24 bit depth has stencil buffer.
--        format - Render texture format.
--        readWrite - Color space conversion mode.
--        antiAliasing - Number of antialiasing samples to store in the texture. Valid values are 1, 2, 4, and 8. Throws an exception if any other value is passed.
--        memorylessMode - Render texture memoryless mode.
--        desc - Use this RenderTextureDesc for the settings when creating the temporary RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param depthBuffer int
---@param format UnityEngine.RenderTextureFormat
---@param readWrite UnityEngine.RenderTextureReadWrite
---@param antiAliasing int
---@param memorylessMode UnityEngine.RenderTextureMemoryless
---@param vrUsage UnityEngine.VRTextureUsage
---@param useDynamicScale bool
---@return RenderTexture
function CS.UnityEngine.RenderTexture:GetTemporary(width, height, depthBuffer, format, readWrite, antiAliasing, memorylessMode, vrUsage, useDynamicScale) end

---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param depthBuffer int
---@param format UnityEngine.RenderTextureFormat
---@param readWrite UnityEngine.RenderTextureReadWrite
---@param antiAliasing int
---@param memorylessMode UnityEngine.RenderTextureMemoryless
---@param vrUsage UnityEngine.VRTextureUsage
---@return RenderTexture
function CS.UnityEngine.RenderTexture:GetTemporary(width, height, depthBuffer, format, readWrite, antiAliasing, memorylessMode, vrUsage) end

---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param depthBuffer int
---@param format UnityEngine.RenderTextureFormat
---@param readWrite UnityEngine.RenderTextureReadWrite
---@param antiAliasing int
---@param memorylessMode UnityEngine.RenderTextureMemoryless
---@return RenderTexture
function CS.UnityEngine.RenderTexture:GetTemporary(width, height, depthBuffer, format, readWrite, antiAliasing, memorylessMode) end

---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param depthBuffer int
---@param format UnityEngine.RenderTextureFormat
---@param readWrite UnityEngine.RenderTextureReadWrite
---@param antiAliasing int
---@return RenderTexture
function CS.UnityEngine.RenderTexture:GetTemporary(width, height, depthBuffer, format, readWrite, antiAliasing) end

---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param depthBuffer int
---@param format UnityEngine.RenderTextureFormat
---@param readWrite UnityEngine.RenderTextureReadWrite
---@return RenderTexture
function CS.UnityEngine.RenderTexture:GetTemporary(width, height, depthBuffer, format, readWrite) end

---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param depthBuffer int
---@param format UnityEngine.RenderTextureFormat
---@return RenderTexture
function CS.UnityEngine.RenderTexture:GetTemporary(width, height, depthBuffer, format) end

---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@param depthBuffer int
---@return RenderTexture
function CS.UnityEngine.RenderTexture:GetTemporary(width, height, depthBuffer) end

---@source UnityEngine.CoreModule.dll
---@param width int
---@param height int
---@return RenderTexture
function CS.UnityEngine.RenderTexture:GetTemporary(width, height) end

---@source UnityEngine.CoreModule.dll
---@param color UnityEngine.Color
function CS.UnityEngine.RenderTexture.SetBorderColor(color) end

---@source UnityEngine.CoreModule.dll
---@return Vector2
function CS.UnityEngine.RenderTexture.GetTexelOffset() end


--
--Structure describing an Update Zone.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CustomRenderTextureUpdateZone: System.ValueType
--
--Position of the center of the Update Zone within the Custom Render Texture.
--
---@source UnityEngine.CoreModule.dll
---@field updateZoneCenter UnityEngine.Vector3
--
--Size of the Update Zone.
--
---@source UnityEngine.CoreModule.dll
---@field updateZoneSize UnityEngine.Vector3
--
--Rotation of the Update Zone.
--
---@source UnityEngine.CoreModule.dll
---@field rotation float
--
--Shader Pass used to update the Custom Render Texture for this Update Zone.
--
---@source UnityEngine.CoreModule.dll
---@field passIndex int
--
--If true, and if the texture is double buffered, a request is made to swap the buffers before the next update. Otherwise, the buffers will not be swapped.
--
---@source UnityEngine.CoreModule.dll
---@field needSwap bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CustomRenderTextureUpdateZone = {}


--
--Custom Render Textures are an extension to Render Textures that allow you to render directly to the Texture using a Shader.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CustomRenderTexture: UnityEngine.RenderTexture
--
--The Material that Unity uses to initialize the content of a Custom Render Texture.
--
---@source UnityEngine.CoreModule.dll
---@field material UnityEngine.Material
--
--The Material that Unity uses to initialize a Custom Render Texture. Initialization texture and color are ignored if you have set this parameter.
--
---@source UnityEngine.CoreModule.dll
---@field initializationMaterial UnityEngine.Material
--
--The Texture that Unity uses to initialize a Custom Render Texture, multiplied by the initialization color. Unity ignores this parameter if an initializationMaterial is set.
--
---@source UnityEngine.CoreModule.dll
---@field initializationTexture UnityEngine.Texture
--
--Determine if Unity initializes the Custom Render Texture with a Texture and a Color or a Material.
--
---@source UnityEngine.CoreModule.dll
---@field initializationSource UnityEngine.CustomRenderTextureInitializationSource
--
--The color that Unity uses to initialize a Custom Render Texture. Unity ignores this parameter if an initializationMaterial is set.
--
---@source UnityEngine.CoreModule.dll
---@field initializationColor UnityEngine.Color
--
--Determine how Unity updates the Custom Render Texture.
--
---@source UnityEngine.CoreModule.dll
---@field updateMode UnityEngine.CustomRenderTextureUpdateMode
--
--Determine how Unity initializes a texture.
--
---@source UnityEngine.CoreModule.dll
---@field initializationMode UnityEngine.CustomRenderTextureUpdateMode
--
--The space in which Unity expresses update zones. You can set this to Normalized or Pixel space.
--
---@source UnityEngine.CoreModule.dll
---@field updateZoneSpace UnityEngine.CustomRenderTextureUpdateZoneSpace
--
--The Shader Pass Unity uses to update the Custom Render Texture.
--
---@source UnityEngine.CoreModule.dll
---@field shaderPass int
--
--The bit field that you can use to enable or disable update on each of the cubemap faces. The bit order from least to most significant bit is as follows: +X, -X, +Y, -Y, +Z, -Z.
--
---@source UnityEngine.CoreModule.dll
---@field cubemapFaceMask uint
--
--When this parameter is set to true, Unity double-buffers the Custom Render Texture so that you can access it during its own update.
--
---@source UnityEngine.CoreModule.dll
---@field doubleBuffered bool
--
--When this parameter is set to true, Unity wraps Update zones around the border of the Custom Render Texture. Otherwise, Unity clamps Update zones at the border of the Custom Render Texture.
--
---@source UnityEngine.CoreModule.dll
---@field wrapUpdateZones bool
--
--The period in seconds that Unity updates real-time Custom Render Textures. A value of 0.0 means Unity updates real-time Custom Render Textures every frame.
--
---@source UnityEngine.CoreModule.dll
---@field updatePeriod float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CustomRenderTexture = {}

--
--Triggers an update of the Custom Render Texture.
--
--```plaintext
--Params: count - Number of upate pass to perform. The default value of this count parameter is 1.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param count int
function CS.UnityEngine.CustomRenderTexture.Update(count) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.CustomRenderTexture.Update() end

--
--Initializes the Custom Render Texture at the start of the next frame. Unity calls Initialise() before CustomRenderTexture.Update.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.CustomRenderTexture.Initialize() end

--
--Clear all Update Zones.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.CustomRenderTexture.ClearUpdateZones() end

---@source UnityEngine.CoreModule.dll
---@param updateZones System.Collections.Generic.List<UnityEngine.CustomRenderTextureUpdateZone>
function CS.UnityEngine.CustomRenderTexture.GetUpdateZones(updateZones) end

--
--If CustomRenderTexture. doubleBuffered is true, this returns the Render Texture that this Custom Render Texture uses for double buffering. If CustomRenderTexture. doubleBuffered is false, this returns null.
--
---@source UnityEngine.CoreModule.dll
---@return RenderTexture
function CS.UnityEngine.CustomRenderTexture.GetDoubleBufferRenderTexture() end

--
--Updates the internal Render Texture that a Custom Render Texture uses for double buffering, so that it matches the size and format of the Custom Render Texture.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.CustomRenderTexture.EnsureDoubleBufferConsistency() end

--
--Setup the list of Update Zones for the Custom Render Texture.
--
---@source UnityEngine.CoreModule.dll
---@param updateZones UnityEngine.CustomRenderTextureUpdateZone[]
function CS.UnityEngine.CustomRenderTexture.SetUpdateZones(updateZones) end


--
--This struct contains all the information required to create a RenderTexture. It can be copied, cached, and reused to easily create RenderTextures that all share the same properties. Avoid using the default constructor as it does not initialize some flags with the recommended values.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RenderTextureDescriptor: System.ValueType
--
--The width of the render texture in pixels.
--
---@source UnityEngine.CoreModule.dll
---@field width int
--
--The height of the render texture in pixels.
--
---@source UnityEngine.CoreModule.dll
---@field height int
--
--The multisample antialiasing level for the RenderTexture.
--
--See Also: RenderTexture.antiAliasing.
--
---@source UnityEngine.CoreModule.dll
---@field msaaSamples int
--
--Volume extent of a 3D render texture.
--
---@source UnityEngine.CoreModule.dll
---@field volumeDepth int
--
--User-defined mipmap count.
--
---@source UnityEngine.CoreModule.dll
---@field mipCount int
--
--The color format for the RenderTexture.
--
---@source UnityEngine.CoreModule.dll
---@field graphicsFormat UnityEngine.Experimental.Rendering.GraphicsFormat
--
--The format of the stencil data that you can encapsulate within a RenderTexture.
--
--Specifying this property creates a stencil element for the RenderTexture and sets its format.
--This allows for stencil data to be bound as a Texture to all shader types for the platforms that support it.
--This property does not specify the format of the stencil buffer, which is constrained by the depth buffer format specified in RenderTexture.depth.
--
--Currently, most platforms only support R8_UInt (DirectX11, DirectX12), while PS4 also supports R8_UNorm.
--
---@source UnityEngine.CoreModule.dll
---@field stencilFormat UnityEngine.Experimental.Rendering.GraphicsFormat
--
--The format of the RenderTarget is expressed as a RenderTextureFormat. Internally, this format is stored as a GraphicsFormat compatible with the current system (see SystemInfo.GetCompatibleFormat). Therefore, if you set a format and immediately get it again, it may return a different result from the one just set.
--
---@source UnityEngine.CoreModule.dll
---@field colorFormat UnityEngine.RenderTextureFormat
--
--This flag causes the render texture uses sRGB read/write conversions.
--
---@source UnityEngine.CoreModule.dll
---@field sRGB bool
--
--The precision of the render texture's depth buffer in bits (0, 16, 24/32 are supported).
--
--See Also: RenderTexture.depth.
--
---@source UnityEngine.CoreModule.dll
---@field depthBufferBits int
--
--Dimensionality (type) of the render texture.
--
--See Also: RenderTexture.dimension.
--
---@source UnityEngine.CoreModule.dll
---@field dimension UnityEngine.Rendering.TextureDimension
--
--Determines how the RenderTexture is sampled if it is used as a shadow map.
--
--See Also: ShadowSamplingMode for more details.
--
---@source UnityEngine.CoreModule.dll
---@field shadowSamplingMode UnityEngine.Rendering.ShadowSamplingMode
--
--If this RenderTexture is a VR eye texture used in stereoscopic rendering, this property decides what special rendering occurs, if any. Instead of setting this manually, use the value returned by XR.XRSettings.eyeTextureDesc|eyeTextureDesc or other VR functions returning a RenderTextureDescriptor.
--
---@source UnityEngine.CoreModule.dll
---@field vrUsage UnityEngine.VRTextureUsage
--
--A set of RenderTextureCreationFlags that control how the texture is created.
--
---@source UnityEngine.CoreModule.dll
---@field flags UnityEngine.RenderTextureCreationFlags
--
--The render texture memoryless mode property.
--
---@source UnityEngine.CoreModule.dll
---@field memoryless UnityEngine.RenderTextureMemoryless
--
--Render texture has mipmaps when this flag is set.
--
--See Also: RenderTexture.useMipMap.
--
---@source UnityEngine.CoreModule.dll
---@field useMipMap bool
--
--Mipmap levels are generated automatically when this flag is set.
--
---@source UnityEngine.CoreModule.dll
---@field autoGenerateMips bool
--
--Enable random access write into this render texture on Shader Model 5.0 level shaders.
--
--See Also: RenderTexture.enableRandomWrite.
--
---@source UnityEngine.CoreModule.dll
---@field enableRandomWrite bool
--
--If true and msaaSamples is greater than 1, the render texture will not be resolved by default.  Use this if the render texture needs to be bound as a multisampled texture in a shader.
--
---@source UnityEngine.CoreModule.dll
---@field bindMS bool
--
--Set to true to enable dynamic resolution scaling on this render texture.
--
--See Also: RenderTexture.useDynamicScale.
--
---@source UnityEngine.CoreModule.dll
---@field useDynamicScale bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RenderTextureDescriptor = {}


--
--Describes options for displaying movie playback controls.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.FullScreenMovieControlMode: System.Enum
--
--Display the standard controls for controlling movie playback.
--
---@source UnityEngine.CoreModule.dll
---@field Full UnityEngine.FullScreenMovieControlMode
--
--Display minimal set of controls controlling movie playback.
--
---@source UnityEngine.CoreModule.dll
---@field Minimal UnityEngine.FullScreenMovieControlMode
--
--Do not display any controls, but cancel movie playback if input occurs.
--
---@source UnityEngine.CoreModule.dll
---@field CancelOnInput UnityEngine.FullScreenMovieControlMode
--
--Do not display any controls.
--
---@source UnityEngine.CoreModule.dll
---@field Hidden UnityEngine.FullScreenMovieControlMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.FullScreenMovieControlMode = {}

---@source 
---@param value any
---@return UnityEngine.FullScreenMovieControlMode
function CS.UnityEngine.FullScreenMovieControlMode:__CastFrom(value) end


--
--Describes scaling modes for displaying movies.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.FullScreenMovieScalingMode: System.Enum
--
--Do not scale the movie.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.FullScreenMovieScalingMode
--
--Scale the movie until one dimension fits on the screen exactly.
--
---@source UnityEngine.CoreModule.dll
---@field AspectFit UnityEngine.FullScreenMovieScalingMode
--
--Scale the movie until the movie fills the entire screen.
--
---@source UnityEngine.CoreModule.dll
---@field AspectFill UnityEngine.FullScreenMovieScalingMode
--
--Scale the movie until both dimensions fit the screen exactly.
--
---@source UnityEngine.CoreModule.dll
---@field Fill UnityEngine.FullScreenMovieScalingMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.FullScreenMovieScalingMode = {}

---@source 
---@param value any
---@return UnityEngine.FullScreenMovieScalingMode
function CS.UnityEngine.FullScreenMovieScalingMode:__CastFrom(value) end


--
--ActivityIndicator Style (Android Specific).
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.AndroidActivityIndicatorStyle: System.Enum
--
--Do not show ActivityIndicator.
--
---@source UnityEngine.CoreModule.dll
---@field DontShow UnityEngine.AndroidActivityIndicatorStyle
--
--Large (android.R.attr.progressBarStyleLarge).
--
---@source UnityEngine.CoreModule.dll
---@field Large UnityEngine.AndroidActivityIndicatorStyle
--
--Large Inversed (android.R.attr.progressBarStyleLargeInverse).
--
---@source UnityEngine.CoreModule.dll
---@field InversedLarge UnityEngine.AndroidActivityIndicatorStyle
--
--Small (android.R.attr.progressBarStyleSmall).
--
---@source UnityEngine.CoreModule.dll
---@field Small UnityEngine.AndroidActivityIndicatorStyle
--
--Small Inversed (android.R.attr.progressBarStyleSmallInverse).
--
---@source UnityEngine.CoreModule.dll
---@field InversedSmall UnityEngine.AndroidActivityIndicatorStyle
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.AndroidActivityIndicatorStyle = {}

---@source 
---@param value any
---@return UnityEngine.AndroidActivityIndicatorStyle
function CS.UnityEngine.AndroidActivityIndicatorStyle:__CastFrom(value) end


--
--Interface into functionality unique to handheld devices.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Handheld: object
--
--Determines whether or not a 32-bit display buffer will be used.
--
---@source UnityEngine.CoreModule.dll
---@field use32BitDisplayBuffer bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Handheld = {}

--
--Plays a full-screen movie.
--
--```plaintext
--Params: path - Filesystem path to the movie file.
--        bgColor - Background color.
--        controlMode - How the playback controls are to be displayed.
--        scalingMode - How the movie is to be scaled to fit the screen.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param path string
---@param bgColor UnityEngine.Color
---@param controlMode UnityEngine.FullScreenMovieControlMode
---@param scalingMode UnityEngine.FullScreenMovieScalingMode
---@return Boolean
function CS.UnityEngine.Handheld:PlayFullScreenMovie(path, bgColor, controlMode, scalingMode) end

--
--Plays a full-screen movie.
--
--```plaintext
--Params: path - Filesystem path to the movie file.
--        bgColor - Background color.
--        controlMode - How the playback controls are to be displayed.
--        scalingMode - How the movie is to be scaled to fit the screen.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param path string
---@param bgColor UnityEngine.Color
---@param controlMode UnityEngine.FullScreenMovieControlMode
---@return Boolean
function CS.UnityEngine.Handheld:PlayFullScreenMovie(path, bgColor, controlMode) end

--
--Plays a full-screen movie.
--
--```plaintext
--Params: path - Filesystem path to the movie file.
--        bgColor - Background color.
--        controlMode - How the playback controls are to be displayed.
--        scalingMode - How the movie is to be scaled to fit the screen.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param path string
---@param bgColor UnityEngine.Color
---@return Boolean
function CS.UnityEngine.Handheld:PlayFullScreenMovie(path, bgColor) end

--
--Plays a full-screen movie.
--
--```plaintext
--Params: path - Filesystem path to the movie file.
--        bgColor - Background color.
--        controlMode - How the playback controls are to be displayed.
--        scalingMode - How the movie is to be scaled to fit the screen.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param path string
---@return Boolean
function CS.UnityEngine.Handheld:PlayFullScreenMovie(path) end

--
--Triggers device vibration.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Handheld:Vibrate() end

---@source UnityEngine.CoreModule.dll
---@param style UnityEngine.iOS.ActivityIndicatorStyle
function CS.UnityEngine.Handheld:SetActivityIndicatorStyle(style) end

--
--Sets the desired activity indicator style.
--
---@source UnityEngine.CoreModule.dll
---@param style UnityEngine.AndroidActivityIndicatorStyle
function CS.UnityEngine.Handheld:SetActivityIndicatorStyle(style) end

--
--Gets the current activity indicator style.
--
---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Handheld:GetActivityIndicatorStyle() end

--
--Starts os activity indicator.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Handheld:StartActivityIndicator() end

--
--Stops os activity indicator.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Handheld:StopActivityIndicator() end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Handheld:ClearShaderCache() end


--
--Represents  a 128-bit hash value.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Hash128: System.ValueType
--
--Returns true is the hash value is valid. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field isValid bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Hash128 = {}

---@source UnityEngine.CoreModule.dll
---@param rhs UnityEngine.Hash128
---@return Int32
function CS.UnityEngine.Hash128.CompareTo(rhs) end

--
--Convert a Hash128 to string.
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Hash128.ToString() end

--
--The 128-bit hash.
--
--```plaintext
--Params: hashString - A hexadecimal-encoded hash string.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param hashString string
---@return Hash128
function CS.UnityEngine.Hash128:Parse(hashString) end

--
--The 128-bit hash.
--
--```plaintext
--Params: data - Input data string. Note that Unity interprets the string as UTF-8 data, even if internally in C# strings are UTF-16.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param data string
---@return Hash128
function CS.UnityEngine.Hash128:Compute(data) end

---@source UnityEngine.CoreModule.dll
---@param data Unity.Collections.NativeArray<T>
---@return Hash128
function CS.UnityEngine.Hash128:Compute(data) end

---@source UnityEngine.CoreModule.dll
---@param data Unity.Collections.NativeArray<T>
---@param start int
---@param count int
---@return Hash128
function CS.UnityEngine.Hash128:Compute(data, start, count) end

---@source UnityEngine.CoreModule.dll
---@param data T[]
---@return Hash128
function CS.UnityEngine.Hash128:Compute(data) end

---@source UnityEngine.CoreModule.dll
---@param data T[]
---@param start int
---@param count int
---@return Hash128
function CS.UnityEngine.Hash128:Compute(data, start, count) end

---@source UnityEngine.CoreModule.dll
---@param data System.Collections.Generic.List<T>
---@return Hash128
function CS.UnityEngine.Hash128:Compute(data) end

---@source UnityEngine.CoreModule.dll
---@param data System.Collections.Generic.List<T>
---@param start int
---@param count int
---@return Hash128
function CS.UnityEngine.Hash128:Compute(data, start, count) end

---@source UnityEngine.CoreModule.dll
---@param val T
---@return Hash128
function CS.UnityEngine.Hash128:Compute(val) end

--
--The 128-bit hash.
--
--```plaintext
--Params: val - Input value.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param val int
---@return Hash128
function CS.UnityEngine.Hash128:Compute(val) end

--
--The 128-bit hash.
--
--```plaintext
--Params: val - Input value.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param val float
---@return Hash128
function CS.UnityEngine.Hash128:Compute(val) end

--
--The 128-bit hash.
--
--```plaintext
--Params: data - Raw data pointer, usually used with C# stackalloc data.
--        size - Data size in bytes.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param data void*
---@param size ulong
---@return Hash128
function CS.UnityEngine.Hash128:Compute(data, size) end

--
--Hash new input string and combine with the current hash value.
--
--```plaintext
--Params: data - Input data string. Note that Unity interprets the string as UTF-8 data, even if internally in C# strings are UTF-16.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param data string
function CS.UnityEngine.Hash128.Append(data) end

---@source UnityEngine.CoreModule.dll
---@param data Unity.Collections.NativeArray<T>
function CS.UnityEngine.Hash128.Append(data) end

---@source UnityEngine.CoreModule.dll
---@param data Unity.Collections.NativeArray<T>
---@param start int
---@param count int
function CS.UnityEngine.Hash128.Append(data, start, count) end

---@source UnityEngine.CoreModule.dll
---@param data T[]
function CS.UnityEngine.Hash128.Append(data) end

---@source UnityEngine.CoreModule.dll
---@param data T[]
---@param start int
---@param count int
function CS.UnityEngine.Hash128.Append(data, start, count) end

---@source UnityEngine.CoreModule.dll
---@param data System.Collections.Generic.List<T>
function CS.UnityEngine.Hash128.Append(data) end

---@source UnityEngine.CoreModule.dll
---@param data System.Collections.Generic.List<T>
---@param start int
---@param count int
function CS.UnityEngine.Hash128.Append(data, start, count) end

---@source UnityEngine.CoreModule.dll
---@param val T
function CS.UnityEngine.Hash128.Append(val) end

--
--Hash new input data and combine with the current hash value.
--
--```plaintext
--Params: val - Input value.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param val int
function CS.UnityEngine.Hash128.Append(val) end

--
--Hash new input data and combine with the current hash value.
--
--```plaintext
--Params: val - Input value.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param val float
function CS.UnityEngine.Hash128.Append(val) end

--
--Hash new input data and combine with the current hash value.
--
--```plaintext
--Params: data - Raw data pointer, usually used with C# stackalloc data.
--        size - Data size in bytes.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param data void*
---@param size ulong
function CS.UnityEngine.Hash128.Append(data, size) end

---@source UnityEngine.CoreModule.dll
---@param obj object
---@return Boolean
function CS.UnityEngine.Hash128.Equals(obj) end

---@source UnityEngine.CoreModule.dll
---@param obj UnityEngine.Hash128
---@return Boolean
function CS.UnityEngine.Hash128.Equals(obj) end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Hash128.GetHashCode() end

---@source UnityEngine.CoreModule.dll
---@param obj object
---@return Int32
function CS.UnityEngine.Hash128.CompareTo(obj) end

---@source UnityEngine.CoreModule.dll
---@param hash1 UnityEngine.Hash128
---@param hash2 UnityEngine.Hash128
---@return Boolean
function CS.UnityEngine.Hash128:op_Equality(hash1, hash2) end

---@source UnityEngine.CoreModule.dll
---@param hash1 UnityEngine.Hash128
---@param hash2 UnityEngine.Hash128
---@return Boolean
function CS.UnityEngine.Hash128:op_Inequality(hash1, hash2) end

---@source UnityEngine.CoreModule.dll
---@param x UnityEngine.Hash128
---@param y UnityEngine.Hash128
---@return Boolean
function CS.UnityEngine.Hash128:op_LessThan(x, y) end

---@source UnityEngine.CoreModule.dll
---@param x UnityEngine.Hash128
---@param y UnityEngine.Hash128
---@return Boolean
function CS.UnityEngine.Hash128:op_GreaterThan(x, y) end


--
--Utilities to compute hashes.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.HashUtilities: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.HashUtilities = {}

---@source UnityEngine.CoreModule.dll
---@param inHash UnityEngine.Hash128
---@param outHash UnityEngine.Hash128
function CS.UnityEngine.HashUtilities:AppendHash(inHash, outHash) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Matrix4x4
---@param hash UnityEngine.Hash128
function CS.UnityEngine.HashUtilities:QuantisedMatrixHash(value, hash) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Vector3
---@param hash UnityEngine.Hash128
function CS.UnityEngine.HashUtilities:QuantisedVectorHash(value, hash) end

---@source UnityEngine.CoreModule.dll
---@param value T
---@param hash UnityEngine.Hash128
function CS.UnityEngine.HashUtilities:ComputeHash128(value, hash) end

---@source UnityEngine.CoreModule.dll
---@param value byte[]
---@param hash UnityEngine.Hash128
function CS.UnityEngine.HashUtilities:ComputeHash128(value, hash) end


--
--Utilities to compute hashes with unsafe code.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.HashUnsafeUtilities: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.HashUnsafeUtilities = {}

--
--Compute a 128 bit hash based on a data.
--
--```plaintext
--Params: data - Pointer to the data to hash.
--        dataSize - The number of bytes to hash.
--        hash1 - A pointer to store the low 64 bits of the computed hash.
--        hash2 - A pointer to store the high 64 bits of the computed hash.
--        hash - A pointer to the Hash128 to updated with the computed hash.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param data void*
---@param dataSize ulong
---@param hash1 ulong*
---@param hash2 ulong*
function CS.UnityEngine.HashUnsafeUtilities:ComputeHash128(data, dataSize, hash1, hash2) end

--
--Compute a 128 bit hash based on a data.
--
--```plaintext
--Params: data - Pointer to the data to hash.
--        dataSize - The number of bytes to hash.
--        hash1 - A pointer to store the low 64 bits of the computed hash.
--        hash2 - A pointer to store the high 64 bits of the computed hash.
--        hash - A pointer to the Hash128 to updated with the computed hash.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param data void*
---@param dataSize ulong
---@param hash UnityEngine.Hash128*
function CS.UnityEngine.HashUnsafeUtilities:ComputeHash128(data, dataSize, hash) end


--
--Determines whether the mouse cursor is rendered using software rendering or, on supported platforms, hardware rendering.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CursorMode: System.Enum
--
--Use hardware cursors on supported platforms.
--
---@source UnityEngine.CoreModule.dll
---@field Auto UnityEngine.CursorMode
--
--Force the use of software cursors.
--
---@source UnityEngine.CoreModule.dll
---@field ForceSoftware UnityEngine.CursorMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CursorMode = {}

---@source 
---@param value any
---@return UnityEngine.CursorMode
function CS.UnityEngine.CursorMode:__CastFrom(value) end


--
--How the cursor should behave.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CursorLockMode: System.Enum
--
--Cursor behavior is unmodified.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.CursorLockMode
--
--Lock cursor to the center of the game window.
--
---@source UnityEngine.CoreModule.dll
---@field Locked UnityEngine.CursorLockMode
--
--Confine cursor to the game window.
--
---@source UnityEngine.CoreModule.dll
---@field Confined UnityEngine.CursorLockMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CursorLockMode = {}

---@source 
---@param value any
---@return UnityEngine.CursorLockMode
function CS.UnityEngine.CursorLockMode:__CastFrom(value) end


--
--Cursor API for setting the cursor (mouse pointer).
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Cursor: object
--
--Determines whether the hardware pointer is visible or not.
--
---@source UnityEngine.CoreModule.dll
---@field visible bool
--
--Determines whether the hardware pointer is locked to the center of the view, constrained to the window, or not constrained at all.
--
---@source UnityEngine.CoreModule.dll
---@field lockState UnityEngine.CursorLockMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Cursor = {}

--
--Specify a custom cursor that you wish to use as a cursor.
--
--```plaintext
--Params: texture - The texture to use for the cursor. To use a texture, you must first import it with `Read/Write`enabled. Alternatively, you can use the default cursor import setting. If you created your cursor texture from code, it must be in RGBA32 format, have alphaIsTransparency enabled, and have no mip chain. To use the default cursor, set the texture to `Null`.
--        hotspot - The offset from the top left of the texture to use as the target point (must be within the bounds of the cursor).
--        cursorMode - Allow this cursor to render as a hardware cursor on supported platforms, or force software cursor.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param texture UnityEngine.Texture2D
---@param hotspot UnityEngine.Vector2
---@param cursorMode UnityEngine.CursorMode
function CS.UnityEngine.Cursor:SetCursor(texture, hotspot, cursorMode) end


--
--Key codes returned by Event.keyCode. These map directly to a physical key on the keyboard.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.KeyCode: System.Enum
--
--Not assigned (never returned as the result of a keystroke).
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.KeyCode
--
--The backspace key.
--
---@source UnityEngine.CoreModule.dll
---@field Backspace UnityEngine.KeyCode
--
--The forward delete key.
--
---@source UnityEngine.CoreModule.dll
---@field Delete UnityEngine.KeyCode
--
--The tab key.
--
---@source UnityEngine.CoreModule.dll
---@field Tab UnityEngine.KeyCode
--
--The Clear key.
--
---@source UnityEngine.CoreModule.dll
---@field Clear UnityEngine.KeyCode
--
--Return key.
--
---@source UnityEngine.CoreModule.dll
---@field Return UnityEngine.KeyCode
--
--Pause on PC machines.
--
---@source UnityEngine.CoreModule.dll
---@field Pause UnityEngine.KeyCode
--
--Escape key.
--
---@source UnityEngine.CoreModule.dll
---@field Escape UnityEngine.KeyCode
--
--Space key.
--
---@source UnityEngine.CoreModule.dll
---@field Space UnityEngine.KeyCode
--
--Numeric keypad 0.
--
---@source UnityEngine.CoreModule.dll
---@field Keypad0 UnityEngine.KeyCode
--
--Numeric keypad 1.
--
---@source UnityEngine.CoreModule.dll
---@field Keypad1 UnityEngine.KeyCode
--
--Numeric keypad 2.
--
---@source UnityEngine.CoreModule.dll
---@field Keypad2 UnityEngine.KeyCode
--
--Numeric keypad 3.
--
---@source UnityEngine.CoreModule.dll
---@field Keypad3 UnityEngine.KeyCode
--
--Numeric keypad 4.
--
---@source UnityEngine.CoreModule.dll
---@field Keypad4 UnityEngine.KeyCode
--
--Numeric keypad 5.
--
---@source UnityEngine.CoreModule.dll
---@field Keypad5 UnityEngine.KeyCode
--
--Numeric keypad 6.
--
---@source UnityEngine.CoreModule.dll
---@field Keypad6 UnityEngine.KeyCode
--
--Numeric keypad 7.
--
---@source UnityEngine.CoreModule.dll
---@field Keypad7 UnityEngine.KeyCode
--
--Numeric keypad 8.
--
---@source UnityEngine.CoreModule.dll
---@field Keypad8 UnityEngine.KeyCode
--
--Numeric keypad 9.
--
---@source UnityEngine.CoreModule.dll
---@field Keypad9 UnityEngine.KeyCode
--
--Numeric keypad '.'.
--
---@source UnityEngine.CoreModule.dll
---@field KeypadPeriod UnityEngine.KeyCode
--
--Numeric keypad '/'.
--
---@source UnityEngine.CoreModule.dll
---@field KeypadDivide UnityEngine.KeyCode
--
--Numeric keypad '*'.
--
---@source UnityEngine.CoreModule.dll
---@field KeypadMultiply UnityEngine.KeyCode
--
--Numeric keypad '-'.
--
---@source UnityEngine.CoreModule.dll
---@field KeypadMinus UnityEngine.KeyCode
--
--Numeric keypad '+'.
--
---@source UnityEngine.CoreModule.dll
---@field KeypadPlus UnityEngine.KeyCode
--
--Numeric keypad Enter.
--
---@source UnityEngine.CoreModule.dll
---@field KeypadEnter UnityEngine.KeyCode
--
--Numeric keypad '='.
--
---@source UnityEngine.CoreModule.dll
---@field KeypadEquals UnityEngine.KeyCode
--
--Up arrow key.
--
---@source UnityEngine.CoreModule.dll
---@field UpArrow UnityEngine.KeyCode
--
--Down arrow key.
--
---@source UnityEngine.CoreModule.dll
---@field DownArrow UnityEngine.KeyCode
--
--Right arrow key.
--
---@source UnityEngine.CoreModule.dll
---@field RightArrow UnityEngine.KeyCode
--
--Left arrow key.
--
---@source UnityEngine.CoreModule.dll
---@field LeftArrow UnityEngine.KeyCode
--
--Insert key key.
--
---@source UnityEngine.CoreModule.dll
---@field Insert UnityEngine.KeyCode
--
--Home key.
--
---@source UnityEngine.CoreModule.dll
---@field Home UnityEngine.KeyCode
--
--End key.
--
---@source UnityEngine.CoreModule.dll
---@field End UnityEngine.KeyCode
--
--Page up.
--
---@source UnityEngine.CoreModule.dll
---@field PageUp UnityEngine.KeyCode
--
--Page down.
--
---@source UnityEngine.CoreModule.dll
---@field PageDown UnityEngine.KeyCode
--
--F1 function key.
--
---@source UnityEngine.CoreModule.dll
---@field F1 UnityEngine.KeyCode
--
--F2 function key.
--
---@source UnityEngine.CoreModule.dll
---@field F2 UnityEngine.KeyCode
--
--F3 function key.
--
---@source UnityEngine.CoreModule.dll
---@field F3 UnityEngine.KeyCode
--
--F4 function key.
--
---@source UnityEngine.CoreModule.dll
---@field F4 UnityEngine.KeyCode
--
--F5 function key.
--
---@source UnityEngine.CoreModule.dll
---@field F5 UnityEngine.KeyCode
--
--F6 function key.
--
---@source UnityEngine.CoreModule.dll
---@field F6 UnityEngine.KeyCode
--
--F7 function key.
--
---@source UnityEngine.CoreModule.dll
---@field F7 UnityEngine.KeyCode
--
--F8 function key.
--
---@source UnityEngine.CoreModule.dll
---@field F8 UnityEngine.KeyCode
--
--F9 function key.
--
---@source UnityEngine.CoreModule.dll
---@field F9 UnityEngine.KeyCode
--
--F10 function key.
--
---@source UnityEngine.CoreModule.dll
---@field F10 UnityEngine.KeyCode
--
--F11 function key.
--
---@source UnityEngine.CoreModule.dll
---@field F11 UnityEngine.KeyCode
--
--F12 function key.
--
---@source UnityEngine.CoreModule.dll
---@field F12 UnityEngine.KeyCode
--
--F13 function key.
--
---@source UnityEngine.CoreModule.dll
---@field F13 UnityEngine.KeyCode
--
--F14 function key.
--
---@source UnityEngine.CoreModule.dll
---@field F14 UnityEngine.KeyCode
--
--F15 function key.
--
---@source UnityEngine.CoreModule.dll
---@field F15 UnityEngine.KeyCode
--
--The '0' key on the top of the alphanumeric keyboard.
--
---@source UnityEngine.CoreModule.dll
---@field Alpha0 UnityEngine.KeyCode
--
--The '1' key on the top of the alphanumeric keyboard.
--
---@source UnityEngine.CoreModule.dll
---@field Alpha1 UnityEngine.KeyCode
--
--The '2' key on the top of the alphanumeric keyboard.
--
---@source UnityEngine.CoreModule.dll
---@field Alpha2 UnityEngine.KeyCode
--
--The '3' key on the top of the alphanumeric keyboard.
--
---@source UnityEngine.CoreModule.dll
---@field Alpha3 UnityEngine.KeyCode
--
--The '4' key on the top of the alphanumeric keyboard.
--
---@source UnityEngine.CoreModule.dll
---@field Alpha4 UnityEngine.KeyCode
--
--The '5' key on the top of the alphanumeric keyboard.
--
---@source UnityEngine.CoreModule.dll
---@field Alpha5 UnityEngine.KeyCode
--
--The '6' key on the top of the alphanumeric keyboard.
--
---@source UnityEngine.CoreModule.dll
---@field Alpha6 UnityEngine.KeyCode
--
--The '7' key on the top of the alphanumeric keyboard.
--
---@source UnityEngine.CoreModule.dll
---@field Alpha7 UnityEngine.KeyCode
--
--The '8' key on the top of the alphanumeric keyboard.
--
---@source UnityEngine.CoreModule.dll
---@field Alpha8 UnityEngine.KeyCode
--
--The '9' key on the top of the alphanumeric keyboard.
--
---@source UnityEngine.CoreModule.dll
---@field Alpha9 UnityEngine.KeyCode
--
--Exclamation mark key '!'.
--
---@source UnityEngine.CoreModule.dll
---@field Exclaim UnityEngine.KeyCode
--
--Double quote key '"'.
--
---@source UnityEngine.CoreModule.dll
---@field DoubleQuote UnityEngine.KeyCode
--
--Hash key '#'.
--
---@source UnityEngine.CoreModule.dll
---@field Hash UnityEngine.KeyCode
--
--Dollar sign key '$'.
--
---@source UnityEngine.CoreModule.dll
---@field Dollar UnityEngine.KeyCode
--
--Percent '%' key.
--
---@source UnityEngine.CoreModule.dll
---@field Percent UnityEngine.KeyCode
--
--Ampersand key '&'.
--
---@source UnityEngine.CoreModule.dll
---@field Ampersand UnityEngine.KeyCode
--
--Quote key '.
--
---@source UnityEngine.CoreModule.dll
---@field Quote UnityEngine.KeyCode
--
--Left Parenthesis key '('.
--
---@source UnityEngine.CoreModule.dll
---@field LeftParen UnityEngine.KeyCode
--
--Right Parenthesis key ')'.
--
---@source UnityEngine.CoreModule.dll
---@field RightParen UnityEngine.KeyCode
--
--Asterisk key '*'.
--
---@source UnityEngine.CoreModule.dll
---@field Asterisk UnityEngine.KeyCode
--
--Plus key '+'.
--
---@source UnityEngine.CoreModule.dll
---@field Plus UnityEngine.KeyCode
--
--Comma ',' key.
--
---@source UnityEngine.CoreModule.dll
---@field Comma UnityEngine.KeyCode
--
--Minus '-' key.
--
---@source UnityEngine.CoreModule.dll
---@field Minus UnityEngine.KeyCode
--
--Period '.' key.
--
---@source UnityEngine.CoreModule.dll
---@field Period UnityEngine.KeyCode
--
--Slash '/' key.
--
---@source UnityEngine.CoreModule.dll
---@field Slash UnityEngine.KeyCode
--
--Colon ':' key.
--
---@source UnityEngine.CoreModule.dll
---@field Colon UnityEngine.KeyCode
--
--Semicolon ';' key.
--
---@source UnityEngine.CoreModule.dll
---@field Semicolon UnityEngine.KeyCode
--
--Less than '<' key.
--
---@source UnityEngine.CoreModule.dll
---@field Less UnityEngine.KeyCode
--
--Equals '=' key.
--
---@source UnityEngine.CoreModule.dll
---@field Equals UnityEngine.KeyCode
--
--Greater than '>' key.
--
---@source UnityEngine.CoreModule.dll
---@field Greater UnityEngine.KeyCode
--
--Question mark '?' key.
--
---@source UnityEngine.CoreModule.dll
---@field Question UnityEngine.KeyCode
--
--At key '@'.
--
---@source UnityEngine.CoreModule.dll
---@field At UnityEngine.KeyCode
--
--Left square bracket key '['.
--
---@source UnityEngine.CoreModule.dll
---@field LeftBracket UnityEngine.KeyCode
--
--Backslash key '\'.
--
---@source UnityEngine.CoreModule.dll
---@field Backslash UnityEngine.KeyCode
--
--Right square bracket key ']'.
--
---@source UnityEngine.CoreModule.dll
---@field RightBracket UnityEngine.KeyCode
--
--Caret key '^'.
--
---@source UnityEngine.CoreModule.dll
---@field Caret UnityEngine.KeyCode
--
--Underscore '_' key.
--
---@source UnityEngine.CoreModule.dll
---@field Underscore UnityEngine.KeyCode
--
--Back quote key '`'.
--
---@source UnityEngine.CoreModule.dll
---@field BackQuote UnityEngine.KeyCode
--
--'a' key.
--
---@source UnityEngine.CoreModule.dll
---@field A UnityEngine.KeyCode
--
--'b' key.
--
---@source UnityEngine.CoreModule.dll
---@field B UnityEngine.KeyCode
--
--'c' key.
--
---@source UnityEngine.CoreModule.dll
---@field C UnityEngine.KeyCode
--
--'d' key.
--
---@source UnityEngine.CoreModule.dll
---@field D UnityEngine.KeyCode
--
--'e' key.
--
---@source UnityEngine.CoreModule.dll
---@field E UnityEngine.KeyCode
--
--'f' key.
--
---@source UnityEngine.CoreModule.dll
---@field F UnityEngine.KeyCode
--
--'g' key.
--
---@source UnityEngine.CoreModule.dll
---@field G UnityEngine.KeyCode
--
--'h' key.
--
---@source UnityEngine.CoreModule.dll
---@field H UnityEngine.KeyCode
--
--'i' key.
--
---@source UnityEngine.CoreModule.dll
---@field I UnityEngine.KeyCode
--
--'j' key.
--
---@source UnityEngine.CoreModule.dll
---@field J UnityEngine.KeyCode
--
--'k' key.
--
---@source UnityEngine.CoreModule.dll
---@field K UnityEngine.KeyCode
--
--'l' key.
--
---@source UnityEngine.CoreModule.dll
---@field L UnityEngine.KeyCode
--
--'m' key.
--
---@source UnityEngine.CoreModule.dll
---@field M UnityEngine.KeyCode
--
--'n' key.
--
---@source UnityEngine.CoreModule.dll
---@field N UnityEngine.KeyCode
--
--'o' key.
--
---@source UnityEngine.CoreModule.dll
---@field O UnityEngine.KeyCode
--
--'p' key.
--
---@source UnityEngine.CoreModule.dll
---@field P UnityEngine.KeyCode
--
--'q' key.
--
---@source UnityEngine.CoreModule.dll
---@field Q UnityEngine.KeyCode
--
--'r' key.
--
---@source UnityEngine.CoreModule.dll
---@field R UnityEngine.KeyCode
--
--'s' key.
--
---@source UnityEngine.CoreModule.dll
---@field S UnityEngine.KeyCode
--
--'t' key.
--
---@source UnityEngine.CoreModule.dll
---@field T UnityEngine.KeyCode
--
--'u' key.
--
---@source UnityEngine.CoreModule.dll
---@field U UnityEngine.KeyCode
--
--'v' key.
--
---@source UnityEngine.CoreModule.dll
---@field V UnityEngine.KeyCode
--
--'w' key.
--
---@source UnityEngine.CoreModule.dll
---@field W UnityEngine.KeyCode
--
--'x' key.
--
---@source UnityEngine.CoreModule.dll
---@field X UnityEngine.KeyCode
--
--'y' key.
--
---@source UnityEngine.CoreModule.dll
---@field Y UnityEngine.KeyCode
--
--'z' key.
--
---@source UnityEngine.CoreModule.dll
---@field Z UnityEngine.KeyCode
--
--Left curly bracket key '{'.
--
---@source UnityEngine.CoreModule.dll
---@field LeftCurlyBracket UnityEngine.KeyCode
--
--Pipe '|' key.
--
---@source UnityEngine.CoreModule.dll
---@field Pipe UnityEngine.KeyCode
--
--Right curly bracket key '}'.
--
---@source UnityEngine.CoreModule.dll
---@field RightCurlyBracket UnityEngine.KeyCode
--
--Tilde '~' key.
--
---@source UnityEngine.CoreModule.dll
---@field Tilde UnityEngine.KeyCode
--
--Numlock key.
--
---@source UnityEngine.CoreModule.dll
---@field Numlock UnityEngine.KeyCode
--
--Capslock key.
--
---@source UnityEngine.CoreModule.dll
---@field CapsLock UnityEngine.KeyCode
--
--Scroll lock key.
--
---@source UnityEngine.CoreModule.dll
---@field ScrollLock UnityEngine.KeyCode
--
--Right shift key.
--
---@source UnityEngine.CoreModule.dll
---@field RightShift UnityEngine.KeyCode
--
--Left shift key.
--
---@source UnityEngine.CoreModule.dll
---@field LeftShift UnityEngine.KeyCode
--
--Right Control key.
--
---@source UnityEngine.CoreModule.dll
---@field RightControl UnityEngine.KeyCode
--
--Left Control key.
--
---@source UnityEngine.CoreModule.dll
---@field LeftControl UnityEngine.KeyCode
--
--Right Alt key.
--
---@source UnityEngine.CoreModule.dll
---@field RightAlt UnityEngine.KeyCode
--
--Left Alt key.
--
---@source UnityEngine.CoreModule.dll
---@field LeftAlt UnityEngine.KeyCode
--
--Left Command key.
--
---@source UnityEngine.CoreModule.dll
---@field LeftCommand UnityEngine.KeyCode
--
--Left Command key.
--
---@source UnityEngine.CoreModule.dll
---@field LeftApple UnityEngine.KeyCode
--
--Left Windows key.
--
---@source UnityEngine.CoreModule.dll
---@field LeftWindows UnityEngine.KeyCode
--
--Right Command key.
--
---@source UnityEngine.CoreModule.dll
---@field RightCommand UnityEngine.KeyCode
--
--Right Command key.
--
---@source UnityEngine.CoreModule.dll
---@field RightApple UnityEngine.KeyCode
--
--Right Windows key.
--
---@source UnityEngine.CoreModule.dll
---@field RightWindows UnityEngine.KeyCode
--
--Alt Gr key.
--
---@source UnityEngine.CoreModule.dll
---@field AltGr UnityEngine.KeyCode
--
--Help key.
--
---@source UnityEngine.CoreModule.dll
---@field Help UnityEngine.KeyCode
--
--Print key.
--
---@source UnityEngine.CoreModule.dll
---@field Print UnityEngine.KeyCode
--
--Sys Req key.
--
---@source UnityEngine.CoreModule.dll
---@field SysReq UnityEngine.KeyCode
--
--Break key.
--
---@source UnityEngine.CoreModule.dll
---@field Break UnityEngine.KeyCode
--
--Menu key.
--
---@source UnityEngine.CoreModule.dll
---@field Menu UnityEngine.KeyCode
--
--The Left (or primary) mouse button.
--
---@source UnityEngine.CoreModule.dll
---@field Mouse0 UnityEngine.KeyCode
--
--Right mouse button (or secondary mouse button).
--
---@source UnityEngine.CoreModule.dll
---@field Mouse1 UnityEngine.KeyCode
--
--Middle mouse button (or third button).
--
---@source UnityEngine.CoreModule.dll
---@field Mouse2 UnityEngine.KeyCode
--
--Additional (fourth) mouse button.
--
---@source UnityEngine.CoreModule.dll
---@field Mouse3 UnityEngine.KeyCode
--
--Additional (fifth) mouse button.
--
---@source UnityEngine.CoreModule.dll
---@field Mouse4 UnityEngine.KeyCode
--
--Additional (or sixth) mouse button.
--
---@source UnityEngine.CoreModule.dll
---@field Mouse5 UnityEngine.KeyCode
--
--Additional (or seventh) mouse button.
--
---@source UnityEngine.CoreModule.dll
---@field Mouse6 UnityEngine.KeyCode
--
--Button 0 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton0 UnityEngine.KeyCode
--
--Button 1 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton1 UnityEngine.KeyCode
--
--Button 2 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton2 UnityEngine.KeyCode
--
--Button 3 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton3 UnityEngine.KeyCode
--
--Button 4 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton4 UnityEngine.KeyCode
--
--Button 5 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton5 UnityEngine.KeyCode
--
--Button 6 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton6 UnityEngine.KeyCode
--
--Button 7 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton7 UnityEngine.KeyCode
--
--Button 8 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton8 UnityEngine.KeyCode
--
--Button 9 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton9 UnityEngine.KeyCode
--
--Button 10 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton10 UnityEngine.KeyCode
--
--Button 11 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton11 UnityEngine.KeyCode
--
--Button 12 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton12 UnityEngine.KeyCode
--
--Button 13 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton13 UnityEngine.KeyCode
--
--Button 14 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton14 UnityEngine.KeyCode
--
--Button 15 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton15 UnityEngine.KeyCode
--
--Button 16 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton16 UnityEngine.KeyCode
--
--Button 17 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton17 UnityEngine.KeyCode
--
--Button 18 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton18 UnityEngine.KeyCode
--
--Button 19 on any joystick.
--
---@source UnityEngine.CoreModule.dll
---@field JoystickButton19 UnityEngine.KeyCode
--
--Button 0 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button0 UnityEngine.KeyCode
--
--Button 1 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button1 UnityEngine.KeyCode
--
--Button 2 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button2 UnityEngine.KeyCode
--
--Button 3 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button3 UnityEngine.KeyCode
--
--Button 4 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button4 UnityEngine.KeyCode
--
--Button 5 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button5 UnityEngine.KeyCode
--
--Button 6 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button6 UnityEngine.KeyCode
--
--Button 7 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button7 UnityEngine.KeyCode
--
--Button 8 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button8 UnityEngine.KeyCode
--
--Button 9 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button9 UnityEngine.KeyCode
--
--Button 10 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button10 UnityEngine.KeyCode
--
--Button 11 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button11 UnityEngine.KeyCode
--
--Button 12 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button12 UnityEngine.KeyCode
--
--Button 13 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button13 UnityEngine.KeyCode
--
--Button 14 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button14 UnityEngine.KeyCode
--
--Button 15 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button15 UnityEngine.KeyCode
--
--Button 16 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button16 UnityEngine.KeyCode
--
--Button 17 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button17 UnityEngine.KeyCode
--
--Button 18 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button18 UnityEngine.KeyCode
--
--Button 19 on first joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick1Button19 UnityEngine.KeyCode
--
--Button 0 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button0 UnityEngine.KeyCode
--
--Button 1 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button1 UnityEngine.KeyCode
--
--Button 2 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button2 UnityEngine.KeyCode
--
--Button 3 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button3 UnityEngine.KeyCode
--
--Button 4 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button4 UnityEngine.KeyCode
--
--Button 5 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button5 UnityEngine.KeyCode
--
--Button 6 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button6 UnityEngine.KeyCode
--
--Button 7 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button7 UnityEngine.KeyCode
--
--Button 8 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button8 UnityEngine.KeyCode
--
--Button 9 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button9 UnityEngine.KeyCode
--
--Button 10 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button10 UnityEngine.KeyCode
--
--Button 11 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button11 UnityEngine.KeyCode
--
--Button 12 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button12 UnityEngine.KeyCode
--
--Button 13 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button13 UnityEngine.KeyCode
--
--Button 14 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button14 UnityEngine.KeyCode
--
--Button 15 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button15 UnityEngine.KeyCode
--
--Button 16 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button16 UnityEngine.KeyCode
--
--Button 17 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button17 UnityEngine.KeyCode
--
--Button 18 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button18 UnityEngine.KeyCode
--
--Button 19 on second joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick2Button19 UnityEngine.KeyCode
--
--Button 0 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button0 UnityEngine.KeyCode
--
--Button 1 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button1 UnityEngine.KeyCode
--
--Button 2 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button2 UnityEngine.KeyCode
--
--Button 3 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button3 UnityEngine.KeyCode
--
--Button 4 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button4 UnityEngine.KeyCode
--
--Button 5 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button5 UnityEngine.KeyCode
--
--Button 6 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button6 UnityEngine.KeyCode
--
--Button 7 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button7 UnityEngine.KeyCode
--
--Button 8 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button8 UnityEngine.KeyCode
--
--Button 9 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button9 UnityEngine.KeyCode
--
--Button 10 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button10 UnityEngine.KeyCode
--
--Button 11 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button11 UnityEngine.KeyCode
--
--Button 12 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button12 UnityEngine.KeyCode
--
--Button 13 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button13 UnityEngine.KeyCode
--
--Button 14 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button14 UnityEngine.KeyCode
--
--Button 15 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button15 UnityEngine.KeyCode
--
--Button 16 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button16 UnityEngine.KeyCode
--
--Button 17 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button17 UnityEngine.KeyCode
--
--Button 18 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button18 UnityEngine.KeyCode
--
--Button 19 on third joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick3Button19 UnityEngine.KeyCode
--
--Button 0 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button0 UnityEngine.KeyCode
--
--Button 1 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button1 UnityEngine.KeyCode
--
--Button 2 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button2 UnityEngine.KeyCode
--
--Button 3 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button3 UnityEngine.KeyCode
--
--Button 4 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button4 UnityEngine.KeyCode
--
--Button 5 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button5 UnityEngine.KeyCode
--
--Button 6 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button6 UnityEngine.KeyCode
--
--Button 7 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button7 UnityEngine.KeyCode
--
--Button 8 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button8 UnityEngine.KeyCode
--
--Button 9 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button9 UnityEngine.KeyCode
--
--Button 10 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button10 UnityEngine.KeyCode
--
--Button 11 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button11 UnityEngine.KeyCode
--
--Button 12 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button12 UnityEngine.KeyCode
--
--Button 13 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button13 UnityEngine.KeyCode
--
--Button 14 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button14 UnityEngine.KeyCode
--
--Button 15 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button15 UnityEngine.KeyCode
--
--Button 16 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button16 UnityEngine.KeyCode
--
--Button 17 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button17 UnityEngine.KeyCode
--
--Button 18 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button18 UnityEngine.KeyCode
--
--Button 19 on forth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick4Button19 UnityEngine.KeyCode
--
--Button 0 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button0 UnityEngine.KeyCode
--
--Button 1 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button1 UnityEngine.KeyCode
--
--Button 2 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button2 UnityEngine.KeyCode
--
--Button 3 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button3 UnityEngine.KeyCode
--
--Button 4 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button4 UnityEngine.KeyCode
--
--Button 5 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button5 UnityEngine.KeyCode
--
--Button 6 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button6 UnityEngine.KeyCode
--
--Button 7 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button7 UnityEngine.KeyCode
--
--Button 8 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button8 UnityEngine.KeyCode
--
--Button 9 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button9 UnityEngine.KeyCode
--
--Button 10 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button10 UnityEngine.KeyCode
--
--Button 11 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button11 UnityEngine.KeyCode
--
--Button 12 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button12 UnityEngine.KeyCode
--
--Button 13 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button13 UnityEngine.KeyCode
--
--Button 14 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button14 UnityEngine.KeyCode
--
--Button 15 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button15 UnityEngine.KeyCode
--
--Button 16 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button16 UnityEngine.KeyCode
--
--Button 17 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button17 UnityEngine.KeyCode
--
--Button 18 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button18 UnityEngine.KeyCode
--
--Button 19 on fifth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick5Button19 UnityEngine.KeyCode
--
--Button 0 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button0 UnityEngine.KeyCode
--
--Button 1 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button1 UnityEngine.KeyCode
--
--Button 2 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button2 UnityEngine.KeyCode
--
--Button 3 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button3 UnityEngine.KeyCode
--
--Button 4 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button4 UnityEngine.KeyCode
--
--Button 5 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button5 UnityEngine.KeyCode
--
--Button 6 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button6 UnityEngine.KeyCode
--
--Button 7 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button7 UnityEngine.KeyCode
--
--Button 8 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button8 UnityEngine.KeyCode
--
--Button 9 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button9 UnityEngine.KeyCode
--
--Button 10 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button10 UnityEngine.KeyCode
--
--Button 11 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button11 UnityEngine.KeyCode
--
--Button 12 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button12 UnityEngine.KeyCode
--
--Button 13 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button13 UnityEngine.KeyCode
--
--Button 14 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button14 UnityEngine.KeyCode
--
--Button 15 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button15 UnityEngine.KeyCode
--
--Button 16 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button16 UnityEngine.KeyCode
--
--Button 17 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button17 UnityEngine.KeyCode
--
--Button 18 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button18 UnityEngine.KeyCode
--
--Button 19 on sixth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick6Button19 UnityEngine.KeyCode
--
--Button 0 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button0 UnityEngine.KeyCode
--
--Button 1 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button1 UnityEngine.KeyCode
--
--Button 2 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button2 UnityEngine.KeyCode
--
--Button 3 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button3 UnityEngine.KeyCode
--
--Button 4 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button4 UnityEngine.KeyCode
--
--Button 5 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button5 UnityEngine.KeyCode
--
--Button 6 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button6 UnityEngine.KeyCode
--
--Button 7 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button7 UnityEngine.KeyCode
--
--Button 8 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button8 UnityEngine.KeyCode
--
--Button 9 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button9 UnityEngine.KeyCode
--
--Button 10 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button10 UnityEngine.KeyCode
--
--Button 11 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button11 UnityEngine.KeyCode
--
--Button 12 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button12 UnityEngine.KeyCode
--
--Button 13 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button13 UnityEngine.KeyCode
--
--Button 14 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button14 UnityEngine.KeyCode
--
--Button 15 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button15 UnityEngine.KeyCode
--
--Button 16 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button16 UnityEngine.KeyCode
--
--Button 17 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button17 UnityEngine.KeyCode
--
--Button 18 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button18 UnityEngine.KeyCode
--
--Button 19 on seventh joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick7Button19 UnityEngine.KeyCode
--
--Button 0 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button0 UnityEngine.KeyCode
--
--Button 1 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button1 UnityEngine.KeyCode
--
--Button 2 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button2 UnityEngine.KeyCode
--
--Button 3 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button3 UnityEngine.KeyCode
--
--Button 4 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button4 UnityEngine.KeyCode
--
--Button 5 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button5 UnityEngine.KeyCode
--
--Button 6 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button6 UnityEngine.KeyCode
--
--Button 7 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button7 UnityEngine.KeyCode
--
--Button 8 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button8 UnityEngine.KeyCode
--
--Button 9 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button9 UnityEngine.KeyCode
--
--Button 10 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button10 UnityEngine.KeyCode
--
--Button 11 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button11 UnityEngine.KeyCode
--
--Button 12 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button12 UnityEngine.KeyCode
--
--Button 13 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button13 UnityEngine.KeyCode
--
--Button 14 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button14 UnityEngine.KeyCode
--
--Button 15 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button15 UnityEngine.KeyCode
--
--Button 16 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button16 UnityEngine.KeyCode
--
--Button 17 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button17 UnityEngine.KeyCode
--
--Button 18 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button18 UnityEngine.KeyCode
--
--Button 19 on eighth joystick.
--
---@source UnityEngine.CoreModule.dll
---@field Joystick8Button19 UnityEngine.KeyCode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.KeyCode = {}

---@source 
---@param value any
---@return UnityEngine.KeyCode
function CS.UnityEngine.KeyCode:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.iPhoneTouch: System.ValueType
---@source UnityEngine.CoreModule.dll
---@field positionDelta UnityEngine.Vector2
---@source UnityEngine.CoreModule.dll
---@field timeDelta float
---@source UnityEngine.CoreModule.dll
---@field fingerId int
---@source UnityEngine.CoreModule.dll
---@field position UnityEngine.Vector2
---@source UnityEngine.CoreModule.dll
---@field deltaPosition UnityEngine.Vector2
---@source UnityEngine.CoreModule.dll
---@field deltaTime float
---@source UnityEngine.CoreModule.dll
---@field tapCount int
---@source UnityEngine.CoreModule.dll
---@field phase UnityEngine.iPhoneTouchPhase
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.iPhoneTouch = {}


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.iPhoneScreenOrientation: System.Enum
---@source UnityEngine.CoreModule.dll
---@field Unknown UnityEngine.iPhoneScreenOrientation
---@source UnityEngine.CoreModule.dll
---@field Portrait UnityEngine.iPhoneScreenOrientation
---@source UnityEngine.CoreModule.dll
---@field PortraitUpsideDown UnityEngine.iPhoneScreenOrientation
---@source UnityEngine.CoreModule.dll
---@field LandscapeLeft UnityEngine.iPhoneScreenOrientation
---@source UnityEngine.CoreModule.dll
---@field LandscapeRight UnityEngine.iPhoneScreenOrientation
---@source UnityEngine.CoreModule.dll
---@field AutoRotation UnityEngine.iPhoneScreenOrientation
---@source UnityEngine.CoreModule.dll
---@field Landscape UnityEngine.iPhoneScreenOrientation
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.iPhoneScreenOrientation = {}

---@source 
---@param value any
---@return UnityEngine.iPhoneScreenOrientation
function CS.UnityEngine.iPhoneScreenOrientation:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.iPhoneNetworkReachability: System.Enum
---@source UnityEngine.CoreModule.dll
---@field NotReachable UnityEngine.iPhoneNetworkReachability
---@source UnityEngine.CoreModule.dll
---@field ReachableViaCarrierDataNetwork UnityEngine.iPhoneNetworkReachability
---@source UnityEngine.CoreModule.dll
---@field ReachableViaWiFiNetwork UnityEngine.iPhoneNetworkReachability
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.iPhoneNetworkReachability = {}

---@source 
---@param value any
---@return UnityEngine.iPhoneNetworkReachability
function CS.UnityEngine.iPhoneNetworkReachability:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.iPhoneGeneration: System.Enum
---@source UnityEngine.CoreModule.dll
---@field Unknown UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPhone UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPhone3G UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPhone3GS UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPodTouch1Gen UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPodTouch2Gen UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPodTouch3Gen UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPad1Gen UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPhone4 UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPodTouch4Gen UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPad2Gen UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPhone4S UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPad3Gen UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPhone5 UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPodTouch5Gen UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPadMini1Gen UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPad4Gen UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPhone5C UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPhone5S UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPhoneUnknown UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPadUnknown UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field iPodTouchUnknown UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.iPhoneGeneration = {}

---@source 
---@param value any
---@return UnityEngine.iPhoneGeneration
function CS.UnityEngine.iPhoneGeneration:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.iPhoneSettings: object
---@source UnityEngine.CoreModule.dll
---@field screenOrientation UnityEngine.iPhoneScreenOrientation
---@source UnityEngine.CoreModule.dll
---@field uniqueIdentifier string
---@source UnityEngine.CoreModule.dll
---@field name string
---@source UnityEngine.CoreModule.dll
---@field model string
---@source UnityEngine.CoreModule.dll
---@field systemName string
---@source UnityEngine.CoreModule.dll
---@field internetReachability UnityEngine.iPhoneNetworkReachability
---@source UnityEngine.CoreModule.dll
---@field systemVersion string
---@source UnityEngine.CoreModule.dll
---@field generation UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field verticalOrientation bool
---@source UnityEngine.CoreModule.dll
---@field screenCanDarken bool
---@source UnityEngine.CoreModule.dll
---@field locationServiceEnabledByUser bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.iPhoneSettings = {}

---@source UnityEngine.CoreModule.dll
---@param desiredAccuracyInMeters float
---@param updateDistanceInMeters float
function CS.UnityEngine.iPhoneSettings:StartLocationServiceUpdates(desiredAccuracyInMeters, updateDistanceInMeters) end

---@source UnityEngine.CoreModule.dll
---@param desiredAccuracyInMeters float
function CS.UnityEngine.iPhoneSettings:StartLocationServiceUpdates(desiredAccuracyInMeters) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.iPhoneSettings:StartLocationServiceUpdates() end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.iPhoneSettings:StopLocationServiceUpdates() end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.iPhoneMovieControlMode: System.Enum
---@source UnityEngine.CoreModule.dll
---@field Full UnityEngine.iPhoneMovieControlMode
---@source UnityEngine.CoreModule.dll
---@field Minimal UnityEngine.iPhoneMovieControlMode
---@source UnityEngine.CoreModule.dll
---@field CancelOnTouch UnityEngine.iPhoneMovieControlMode
---@source UnityEngine.CoreModule.dll
---@field Hidden UnityEngine.iPhoneMovieControlMode
---@source UnityEngine.CoreModule.dll
---@field VolumeOnly UnityEngine.iPhoneMovieControlMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.iPhoneMovieControlMode = {}

---@source 
---@param value any
---@return UnityEngine.iPhoneMovieControlMode
function CS.UnityEngine.iPhoneMovieControlMode:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.iPhoneTouchPhase: System.Enum
---@source UnityEngine.CoreModule.dll
---@field Began UnityEngine.iPhoneTouchPhase
---@source UnityEngine.CoreModule.dll
---@field Moved UnityEngine.iPhoneTouchPhase
---@source UnityEngine.CoreModule.dll
---@field Stationary UnityEngine.iPhoneTouchPhase
---@source UnityEngine.CoreModule.dll
---@field Ended UnityEngine.iPhoneTouchPhase
---@source UnityEngine.CoreModule.dll
---@field Canceled UnityEngine.iPhoneTouchPhase
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.iPhoneTouchPhase = {}

---@source 
---@param value any
---@return UnityEngine.iPhoneTouchPhase
function CS.UnityEngine.iPhoneTouchPhase:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.iPhoneMovieScalingMode: System.Enum
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.iPhoneMovieScalingMode
---@source UnityEngine.CoreModule.dll
---@field AspectFit UnityEngine.iPhoneMovieScalingMode
---@source UnityEngine.CoreModule.dll
---@field AspectFill UnityEngine.iPhoneMovieScalingMode
---@source UnityEngine.CoreModule.dll
---@field Fill UnityEngine.iPhoneMovieScalingMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.iPhoneMovieScalingMode = {}

---@source 
---@param value any
---@return UnityEngine.iPhoneMovieScalingMode
function CS.UnityEngine.iPhoneMovieScalingMode:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.iPhoneUtils: object
---@source UnityEngine.CoreModule.dll
---@field isApplicationGenuine bool
---@source UnityEngine.CoreModule.dll
---@field isApplicationGenuineAvailable bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.iPhoneUtils = {}

---@source UnityEngine.CoreModule.dll
---@param path string
---@param bgColor UnityEngine.Color
---@param controlMode UnityEngine.iPhoneMovieControlMode
---@param scalingMode UnityEngine.iPhoneMovieScalingMode
function CS.UnityEngine.iPhoneUtils:PlayMovie(path, bgColor, controlMode, scalingMode) end

---@source UnityEngine.CoreModule.dll
---@param path string
---@param bgColor UnityEngine.Color
---@param controlMode UnityEngine.iPhoneMovieControlMode
function CS.UnityEngine.iPhoneUtils:PlayMovie(path, bgColor, controlMode) end

---@source UnityEngine.CoreModule.dll
---@param path string
---@param bgColor UnityEngine.Color
function CS.UnityEngine.iPhoneUtils:PlayMovie(path, bgColor) end

---@source UnityEngine.CoreModule.dll
---@param url string
---@param bgColor UnityEngine.Color
---@param controlMode UnityEngine.iPhoneMovieControlMode
---@param scalingMode UnityEngine.iPhoneMovieScalingMode
function CS.UnityEngine.iPhoneUtils:PlayMovieURL(url, bgColor, controlMode, scalingMode) end

---@source UnityEngine.CoreModule.dll
---@param url string
---@param bgColor UnityEngine.Color
---@param controlMode UnityEngine.iPhoneMovieControlMode
function CS.UnityEngine.iPhoneUtils:PlayMovieURL(url, bgColor, controlMode) end

---@source UnityEngine.CoreModule.dll
---@param url string
---@param bgColor UnityEngine.Color
function CS.UnityEngine.iPhoneUtils:PlayMovieURL(url, bgColor) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.iPhoneUtils:Vibrate() end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.iPhoneKeyboardType: System.Enum
---@source UnityEngine.CoreModule.dll
---@field Default UnityEngine.iPhoneKeyboardType
---@source UnityEngine.CoreModule.dll
---@field ASCIICapable UnityEngine.iPhoneKeyboardType
---@source UnityEngine.CoreModule.dll
---@field NumbersAndPunctuation UnityEngine.iPhoneKeyboardType
---@source UnityEngine.CoreModule.dll
---@field URL UnityEngine.iPhoneKeyboardType
---@source UnityEngine.CoreModule.dll
---@field NumberPad UnityEngine.iPhoneKeyboardType
---@source UnityEngine.CoreModule.dll
---@field PhonePad UnityEngine.iPhoneKeyboardType
---@source UnityEngine.CoreModule.dll
---@field NamePhonePad UnityEngine.iPhoneKeyboardType
---@source UnityEngine.CoreModule.dll
---@field EmailAddress UnityEngine.iPhoneKeyboardType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.iPhoneKeyboardType = {}

---@source 
---@param value any
---@return UnityEngine.iPhoneKeyboardType
function CS.UnityEngine.iPhoneKeyboardType:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.iPhoneKeyboard: object
---@source UnityEngine.CoreModule.dll
---@field text string
---@source UnityEngine.CoreModule.dll
---@field hideInput bool
---@source UnityEngine.CoreModule.dll
---@field active bool
---@source UnityEngine.CoreModule.dll
---@field done bool
---@source UnityEngine.CoreModule.dll
---@field area UnityEngine.Rect
---@source UnityEngine.CoreModule.dll
---@field visible bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.iPhoneKeyboard = {}


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.iPhoneAccelerationEvent: System.ValueType
---@source UnityEngine.CoreModule.dll
---@field timeDelta float
---@source UnityEngine.CoreModule.dll
---@field acceleration UnityEngine.Vector3
---@source UnityEngine.CoreModule.dll
---@field deltaTime float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.iPhoneAccelerationEvent = {}


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.iPhoneOrientation: System.Enum
---@source UnityEngine.CoreModule.dll
---@field Unknown UnityEngine.iPhoneOrientation
---@source UnityEngine.CoreModule.dll
---@field Portrait UnityEngine.iPhoneOrientation
---@source UnityEngine.CoreModule.dll
---@field PortraitUpsideDown UnityEngine.iPhoneOrientation
---@source UnityEngine.CoreModule.dll
---@field LandscapeLeft UnityEngine.iPhoneOrientation
---@source UnityEngine.CoreModule.dll
---@field LandscapeRight UnityEngine.iPhoneOrientation
---@source UnityEngine.CoreModule.dll
---@field FaceUp UnityEngine.iPhoneOrientation
---@source UnityEngine.CoreModule.dll
---@field FaceDown UnityEngine.iPhoneOrientation
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.iPhoneOrientation = {}

---@source 
---@param value any
---@return UnityEngine.iPhoneOrientation
function CS.UnityEngine.iPhoneOrientation:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.iPhoneInput: object
---@source UnityEngine.CoreModule.dll
---@field orientation UnityEngine.iPhoneOrientation
---@source UnityEngine.CoreModule.dll
---@field accelerationEvents UnityEngine.iPhoneAccelerationEvent[]
---@source UnityEngine.CoreModule.dll
---@field touches UnityEngine.iPhoneTouch[]
---@source UnityEngine.CoreModule.dll
---@field touchCount int
---@source UnityEngine.CoreModule.dll
---@field multiTouchEnabled bool
---@source UnityEngine.CoreModule.dll
---@field accelerationEventCount int
---@source UnityEngine.CoreModule.dll
---@field acceleration UnityEngine.Vector3
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.iPhoneInput = {}

---@source UnityEngine.CoreModule.dll
---@param index int
---@return iPhoneTouch
function CS.UnityEngine.iPhoneInput:GetTouch(index) end

---@source UnityEngine.CoreModule.dll
---@param index int
---@return iPhoneAccelerationEvent
function CS.UnityEngine.iPhoneInput:GetAccelerationEvent(index) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.iPhone: object
---@source UnityEngine.CoreModule.dll
---@field generation UnityEngine.iPhoneGeneration
---@source UnityEngine.CoreModule.dll
---@field vendorIdentifier string
---@source UnityEngine.CoreModule.dll
---@field advertisingIdentifier string
---@source UnityEngine.CoreModule.dll
---@field advertisingTrackingEnabled bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.iPhone = {}

---@source UnityEngine.CoreModule.dll
---@param path string
function CS.UnityEngine.iPhone:SetNoBackupFlag(path) end

---@source UnityEngine.CoreModule.dll
---@param path string
function CS.UnityEngine.iPhone:ResetNoBackupFlag(path) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.iOSActivityIndicatorStyle: System.Enum
---@source UnityEngine.CoreModule.dll
---@field DontShow UnityEngine.iOSActivityIndicatorStyle
---@source UnityEngine.CoreModule.dll
---@field WhiteLarge UnityEngine.iOSActivityIndicatorStyle
---@source UnityEngine.CoreModule.dll
---@field White UnityEngine.iOSActivityIndicatorStyle
---@source UnityEngine.CoreModule.dll
---@field Gray UnityEngine.iOSActivityIndicatorStyle
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.iOSActivityIndicatorStyle = {}

---@source 
---@param value any
---@return UnityEngine.iOSActivityIndicatorStyle
function CS.UnityEngine.iOSActivityIndicatorStyle:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CalendarIdentifier: System.Enum
---@source UnityEngine.CoreModule.dll
---@field GregorianCalendar UnityEngine.CalendarIdentifier
---@source UnityEngine.CoreModule.dll
---@field BuddhistCalendar UnityEngine.CalendarIdentifier
---@source UnityEngine.CoreModule.dll
---@field ChineseCalendar UnityEngine.CalendarIdentifier
---@source UnityEngine.CoreModule.dll
---@field HebrewCalendar UnityEngine.CalendarIdentifier
---@source UnityEngine.CoreModule.dll
---@field IslamicCalendar UnityEngine.CalendarIdentifier
---@source UnityEngine.CoreModule.dll
---@field IslamicCivilCalendar UnityEngine.CalendarIdentifier
---@source UnityEngine.CoreModule.dll
---@field JapaneseCalendar UnityEngine.CalendarIdentifier
---@source UnityEngine.CoreModule.dll
---@field RepublicOfChinaCalendar UnityEngine.CalendarIdentifier
---@source UnityEngine.CoreModule.dll
---@field PersianCalendar UnityEngine.CalendarIdentifier
---@source UnityEngine.CoreModule.dll
---@field IndianCalendar UnityEngine.CalendarIdentifier
---@source UnityEngine.CoreModule.dll
---@field ISO8601Calendar UnityEngine.CalendarIdentifier
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CalendarIdentifier = {}

---@source 
---@param value any
---@return UnityEngine.CalendarIdentifier
function CS.UnityEngine.CalendarIdentifier:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CalendarUnit: System.Enum
---@source UnityEngine.CoreModule.dll
---@field Era UnityEngine.CalendarUnit
---@source UnityEngine.CoreModule.dll
---@field Year UnityEngine.CalendarUnit
---@source UnityEngine.CoreModule.dll
---@field Month UnityEngine.CalendarUnit
---@source UnityEngine.CoreModule.dll
---@field Day UnityEngine.CalendarUnit
---@source UnityEngine.CoreModule.dll
---@field Hour UnityEngine.CalendarUnit
---@source UnityEngine.CoreModule.dll
---@field Minute UnityEngine.CalendarUnit
---@source UnityEngine.CoreModule.dll
---@field Second UnityEngine.CalendarUnit
---@source UnityEngine.CoreModule.dll
---@field Week UnityEngine.CalendarUnit
---@source UnityEngine.CoreModule.dll
---@field Weekday UnityEngine.CalendarUnit
---@source UnityEngine.CoreModule.dll
---@field WeekdayOrdinal UnityEngine.CalendarUnit
---@source UnityEngine.CoreModule.dll
---@field Quarter UnityEngine.CalendarUnit
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CalendarUnit = {}

---@source 
---@param value any
---@return UnityEngine.CalendarUnit
function CS.UnityEngine.CalendarUnit:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LocalNotification: object
---@source UnityEngine.CoreModule.dll
---@field fireDate System.DateTime
---@source UnityEngine.CoreModule.dll
---@field timeZone string
---@source UnityEngine.CoreModule.dll
---@field repeatInterval UnityEngine.CalendarUnit
---@source UnityEngine.CoreModule.dll
---@field repeatCalendar UnityEngine.CalendarIdentifier
---@source UnityEngine.CoreModule.dll
---@field alertBody string
---@source UnityEngine.CoreModule.dll
---@field alertAction string
---@source UnityEngine.CoreModule.dll
---@field hasAction bool
---@source UnityEngine.CoreModule.dll
---@field alertLaunchImage string
---@source UnityEngine.CoreModule.dll
---@field applicationIconBadgeNumber int
---@source UnityEngine.CoreModule.dll
---@field soundName string
---@source UnityEngine.CoreModule.dll
---@field defaultSoundName string
---@source UnityEngine.CoreModule.dll
---@field userInfo System.Collections.IDictionary
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LocalNotification = {}


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RemoteNotification: object
---@source UnityEngine.CoreModule.dll
---@field alertBody string
---@source UnityEngine.CoreModule.dll
---@field hasAction bool
---@source UnityEngine.CoreModule.dll
---@field applicationIconBadgeNumber int
---@source UnityEngine.CoreModule.dll
---@field soundName string
---@source UnityEngine.CoreModule.dll
---@field userInfo System.Collections.IDictionary
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RemoteNotification = {}


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RemoteNotificationType: System.Enum
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.RemoteNotificationType
---@source UnityEngine.CoreModule.dll
---@field Badge UnityEngine.RemoteNotificationType
---@source UnityEngine.CoreModule.dll
---@field Sound UnityEngine.RemoteNotificationType
---@source UnityEngine.CoreModule.dll
---@field Alert UnityEngine.RemoteNotificationType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RemoteNotificationType = {}

---@source 
---@param value any
---@return UnityEngine.RemoteNotificationType
function CS.UnityEngine.RemoteNotificationType:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.NotificationServices: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.NotificationServices = {}

---@source UnityEngine.CoreModule.dll
---@param notificationTypes UnityEngine.RemoteNotificationType
function CS.UnityEngine.NotificationServices:RegisterForRemoteNotificationTypes(notificationTypes) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ADBannerView: object
---@source UnityEngine.CoreModule.dll
---@field loaded bool
---@source UnityEngine.CoreModule.dll
---@field visible bool
---@source UnityEngine.CoreModule.dll
---@field layout UnityEngine.ADBannerView.Layout
---@source UnityEngine.CoreModule.dll
---@field position UnityEngine.Vector2
---@source UnityEngine.CoreModule.dll
---@field size UnityEngine.Vector2
---@source UnityEngine.CoreModule.dll
---@field onBannerWasClicked UnityEngine.ADBannerView.BannerWasClickedDelegate
---@source UnityEngine.CoreModule.dll
---@field onBannerWasLoaded UnityEngine.ADBannerView.BannerWasLoadedDelegate
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ADBannerView = {}

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.ADBannerView.BannerWasClickedDelegate
function CS.UnityEngine.ADBannerView:add_onBannerWasClicked(value) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.ADBannerView.BannerWasClickedDelegate
function CS.UnityEngine.ADBannerView:remove_onBannerWasClicked(value) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.ADBannerView.BannerWasLoadedDelegate
function CS.UnityEngine.ADBannerView:add_onBannerWasLoaded(value) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.ADBannerView.BannerWasLoadedDelegate
function CS.UnityEngine.ADBannerView:remove_onBannerWasLoaded(value) end

---@source UnityEngine.CoreModule.dll
---@param type UnityEngine.ADBannerView.Type
---@return Boolean
function CS.UnityEngine.ADBannerView:IsAvailable(type) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Layout: System.Enum
---@source UnityEngine.CoreModule.dll
---@field Top UnityEngine.ADBannerView.Layout
---@source UnityEngine.CoreModule.dll
---@field Bottom UnityEngine.ADBannerView.Layout
---@source UnityEngine.CoreModule.dll
---@field TopLeft UnityEngine.ADBannerView.Layout
---@source UnityEngine.CoreModule.dll
---@field TopRight UnityEngine.ADBannerView.Layout
---@source UnityEngine.CoreModule.dll
---@field TopCenter UnityEngine.ADBannerView.Layout
---@source UnityEngine.CoreModule.dll
---@field BottomLeft UnityEngine.ADBannerView.Layout
---@source UnityEngine.CoreModule.dll
---@field BottomRight UnityEngine.ADBannerView.Layout
---@source UnityEngine.CoreModule.dll
---@field BottomCenter UnityEngine.ADBannerView.Layout
---@source UnityEngine.CoreModule.dll
---@field CenterLeft UnityEngine.ADBannerView.Layout
---@source UnityEngine.CoreModule.dll
---@field CenterRight UnityEngine.ADBannerView.Layout
---@source UnityEngine.CoreModule.dll
---@field Center UnityEngine.ADBannerView.Layout
---@source UnityEngine.CoreModule.dll
---@field Manual UnityEngine.ADBannerView.Layout
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Layout = {}

---@source 
---@param value any
---@return UnityEngine.ADBannerView.Layout
function CS.UnityEngine.Layout:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Type: System.Enum
---@source UnityEngine.CoreModule.dll
---@field Banner UnityEngine.ADBannerView.Type
---@source UnityEngine.CoreModule.dll
---@field MediumRect UnityEngine.ADBannerView.Type
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Type = {}

---@source 
---@param value any
---@return UnityEngine.ADBannerView.Type
function CS.UnityEngine.Type:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.BannerWasClickedDelegate: System.MulticastDelegate
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.BannerWasClickedDelegate = {}

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.BannerWasClickedDelegate.Invoke() end

---@source UnityEngine.CoreModule.dll
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.BannerWasClickedDelegate.BeginInvoke(callback, object) end

---@source UnityEngine.CoreModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.BannerWasClickedDelegate.EndInvoke(result) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.BannerWasLoadedDelegate: System.MulticastDelegate
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.BannerWasLoadedDelegate = {}

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.BannerWasLoadedDelegate.Invoke() end

---@source UnityEngine.CoreModule.dll
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.BannerWasLoadedDelegate.BeginInvoke(callback, object) end

---@source UnityEngine.CoreModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.BannerWasLoadedDelegate.EndInvoke(result) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ADInterstitialAd: object
---@source UnityEngine.CoreModule.dll
---@field isAvailable bool
---@source UnityEngine.CoreModule.dll
---@field loaded bool
---@source UnityEngine.CoreModule.dll
---@field onInterstitialWasLoaded UnityEngine.ADInterstitialAd.InterstitialWasLoadedDelegate
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ADInterstitialAd = {}

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.ADInterstitialAd.InterstitialWasLoadedDelegate
function CS.UnityEngine.ADInterstitialAd:add_onInterstitialWasLoaded(value) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.ADInterstitialAd.InterstitialWasLoadedDelegate
function CS.UnityEngine.ADInterstitialAd:remove_onInterstitialWasLoaded(value) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.ADInterstitialAd.Show() end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.ADInterstitialAd.ReloadAd() end


--
--This struct contains the view space coordinates of the near projection plane.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.FrustumPlanes: System.ValueType
--
--Position in view space of the left side of the near projection plane.
--
---@source UnityEngine.CoreModule.dll
---@field left float
--
--Position in view space of the right side of the near projection plane.
--
---@source UnityEngine.CoreModule.dll
---@field right float
--
--Position in view space of the bottom side of the near projection plane.
--
---@source UnityEngine.CoreModule.dll
---@field bottom float
--
--Position in view space of the top side of the near projection plane.
--
---@source UnityEngine.CoreModule.dll
---@field top float
--
--Z distance from the origin of view space to the near projection plane.
--
---@source UnityEngine.CoreModule.dll
---@field zNear float
--
--Z distance from the origin of view space to the far projection plane.
--
---@source UnityEngine.CoreModule.dll
---@field zFar float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.FrustumPlanes = {}


--
--A standard 4x4 transformation matrix.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Matrix4x4: System.ValueType
---@source UnityEngine.CoreModule.dll
---@field m00 float
---@source UnityEngine.CoreModule.dll
---@field m10 float
---@source UnityEngine.CoreModule.dll
---@field m20 float
---@source UnityEngine.CoreModule.dll
---@field m30 float
---@source UnityEngine.CoreModule.dll
---@field m01 float
---@source UnityEngine.CoreModule.dll
---@field m11 float
---@source UnityEngine.CoreModule.dll
---@field m21 float
---@source UnityEngine.CoreModule.dll
---@field m31 float
---@source UnityEngine.CoreModule.dll
---@field m02 float
---@source UnityEngine.CoreModule.dll
---@field m12 float
---@source UnityEngine.CoreModule.dll
---@field m22 float
---@source UnityEngine.CoreModule.dll
---@field m32 float
---@source UnityEngine.CoreModule.dll
---@field m03 float
---@source UnityEngine.CoreModule.dll
---@field m13 float
---@source UnityEngine.CoreModule.dll
---@field m23 float
---@source UnityEngine.CoreModule.dll
---@field m33 float
--
--Attempts to get a rotation quaternion from this matrix.
--
---@source UnityEngine.CoreModule.dll
---@field rotation UnityEngine.Quaternion
--
--Attempts to get a scale value from the matrix. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field lossyScale UnityEngine.Vector3
--
--Checks whether this is an identity matrix. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field isIdentity bool
--
--The determinant of the matrix. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field determinant float
--
--This property takes a projection matrix and returns the six plane coordinates that define a projection frustum.
--
---@source UnityEngine.CoreModule.dll
---@field decomposeProjection UnityEngine.FrustumPlanes
--
--The inverse of this matrix. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field inverse UnityEngine.Matrix4x4
--
--Returns the transpose of this matrix (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field transpose UnityEngine.Matrix4x4
---@source UnityEngine.CoreModule.dll
---@field this[] float
---@source UnityEngine.CoreModule.dll
---@field this[] float
--
--Returns a matrix with all elements set to zero (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field zero UnityEngine.Matrix4x4
--
--Returns the identity matrix (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field identity UnityEngine.Matrix4x4
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Matrix4x4 = {}

--
--Checks if this matrix is a valid transform matrix.
--
---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.Matrix4x4.ValidTRS() end

---@source UnityEngine.CoreModule.dll
---@param m UnityEngine.Matrix4x4
---@return Single
function CS.UnityEngine.Matrix4x4:Determinant(m) end

--
--Creates a translation, rotation and scaling matrix.
--
---@source UnityEngine.CoreModule.dll
---@param pos UnityEngine.Vector3
---@param q UnityEngine.Quaternion
---@param s UnityEngine.Vector3
---@return Matrix4x4
function CS.UnityEngine.Matrix4x4:TRS(pos, q, s) end

--
--Sets this matrix to a translation, rotation and scaling matrix.
--
---@source UnityEngine.CoreModule.dll
---@param pos UnityEngine.Vector3
---@param q UnityEngine.Quaternion
---@param s UnityEngine.Vector3
function CS.UnityEngine.Matrix4x4.SetTRS(pos, q, s) end

---@source UnityEngine.CoreModule.dll
---@param input UnityEngine.Matrix4x4
---@param result UnityEngine.Matrix4x4
---@return Boolean
function CS.UnityEngine.Matrix4x4:Inverse3DAffine(input, result) end

---@source UnityEngine.CoreModule.dll
---@param m UnityEngine.Matrix4x4
---@return Matrix4x4
function CS.UnityEngine.Matrix4x4:Inverse(m) end

---@source UnityEngine.CoreModule.dll
---@param m UnityEngine.Matrix4x4
---@return Matrix4x4
function CS.UnityEngine.Matrix4x4:Transpose(m) end

--
--The projection matrix.
--
--```plaintext
--Params: left - Left-side x-coordinate.
--        right - Right-side x-coordinate.
--        bottom - Bottom y-coordinate.
--        top - Top y-coordinate.
--        zNear - Near depth clipping plane value.
--        zFar - Far depth clipping plane value.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param left float
---@param right float
---@param bottom float
---@param top float
---@param zNear float
---@param zFar float
---@return Matrix4x4
function CS.UnityEngine.Matrix4x4:Ortho(left, right, bottom, top, zNear, zFar) end

--
--The projection matrix.
--
--```plaintext
--Params: fov - Vertical field-of-view in degrees.
--        aspect - Aspect ratio (width divided by height).
--        zNear - Near depth clipping plane value.
--        zFar - Far depth clipping plane value.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param fov float
---@param aspect float
---@param zNear float
---@param zFar float
---@return Matrix4x4
function CS.UnityEngine.Matrix4x4:Perspective(fov, aspect, zNear, zFar) end

--
--The resulting transformation matrix.
--
--```plaintext
--Params: from - The source point.
--        to - The target point.
--        up - The vector describing the up direction (typically Vector3.up).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param from UnityEngine.Vector3
---@param to UnityEngine.Vector3
---@param up UnityEngine.Vector3
---@return Matrix4x4
function CS.UnityEngine.Matrix4x4:LookAt(from, to, up) end

--
--A projection matrix with a viewing frustum defined by the plane coordinates passed in.
--
--```plaintext
--Params: left - The X coordinate of the left side of the near projection plane in view space.
--        right - The X coordinate of the right side of the near projection plane in view space.
--        bottom - The Y coordinate of the bottom side of the near projection plane in view space.
--        top - The Y coordinate of the top side of the near projection plane in view space.
--        zNear - Z distance to the near plane from the origin in view space.
--        zFar - Z distance to the far plane from the origin in view space.
--        frustumPlanes - Frustum planes struct that contains the view space coordinates of that define a viewing frustum.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param left float
---@param right float
---@param bottom float
---@param top float
---@param zNear float
---@param zFar float
---@return Matrix4x4
function CS.UnityEngine.Matrix4x4:Frustum(left, right, bottom, top, zNear, zFar) end

--
--A projection matrix with a viewing frustum defined by the plane coordinates passed in.
--
--```plaintext
--Params: left - The X coordinate of the left side of the near projection plane in view space.
--        right - The X coordinate of the right side of the near projection plane in view space.
--        bottom - The Y coordinate of the bottom side of the near projection plane in view space.
--        top - The Y coordinate of the top side of the near projection plane in view space.
--        zNear - Z distance to the near plane from the origin in view space.
--        zFar - Z distance to the far plane from the origin in view space.
--        frustumPlanes - Frustum planes struct that contains the view space coordinates of that define a viewing frustum.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param fp UnityEngine.FrustumPlanes
---@return Matrix4x4
function CS.UnityEngine.Matrix4x4:Frustum(fp) end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Matrix4x4.GetHashCode() end

---@source UnityEngine.CoreModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.Matrix4x4.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.Matrix4x4
---@return Boolean
function CS.UnityEngine.Matrix4x4.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Matrix4x4
---@param rhs UnityEngine.Matrix4x4
---@return Matrix4x4
function CS.UnityEngine.Matrix4x4:op_Multiply(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Matrix4x4
---@param vector UnityEngine.Vector4
---@return Vector4
function CS.UnityEngine.Matrix4x4:op_Multiply(lhs, vector) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Matrix4x4
---@param rhs UnityEngine.Matrix4x4
---@return Boolean
function CS.UnityEngine.Matrix4x4:op_Equality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Matrix4x4
---@param rhs UnityEngine.Matrix4x4
---@return Boolean
function CS.UnityEngine.Matrix4x4:op_Inequality(lhs, rhs) end

--
--Get a column of the matrix.
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@return Vector4
function CS.UnityEngine.Matrix4x4.GetColumn(index) end

--
--Returns a row of the matrix.
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@return Vector4
function CS.UnityEngine.Matrix4x4.GetRow(index) end

--
--Sets a column of the matrix.
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@param column UnityEngine.Vector4
function CS.UnityEngine.Matrix4x4.SetColumn(index, column) end

--
--Sets a row of the matrix.
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@param row UnityEngine.Vector4
function CS.UnityEngine.Matrix4x4.SetRow(index, row) end

--
--Transforms a position by this matrix (generic).
--
---@source UnityEngine.CoreModule.dll
---@param point UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Matrix4x4.MultiplyPoint(point) end

--
--Transforms a position by this matrix (fast).
--
---@source UnityEngine.CoreModule.dll
---@param point UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Matrix4x4.MultiplyPoint3x4(point) end

--
--Transforms a direction by this matrix.
--
---@source UnityEngine.CoreModule.dll
---@param vector UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Matrix4x4.MultiplyVector(vector) end

--
--Returns a plane that is transformed in space.
--
---@source UnityEngine.CoreModule.dll
---@param plane UnityEngine.Plane
---@return Plane
function CS.UnityEngine.Matrix4x4.TransformPlane(plane) end

--
--Creates a scaling matrix.
--
---@source UnityEngine.CoreModule.dll
---@param vector UnityEngine.Vector3
---@return Matrix4x4
function CS.UnityEngine.Matrix4x4:Scale(vector) end

--
--Creates a translation matrix.
--
---@source UnityEngine.CoreModule.dll
---@param vector UnityEngine.Vector3
---@return Matrix4x4
function CS.UnityEngine.Matrix4x4:Translate(vector) end

--
--Creates a rotation matrix.
--
---@source UnityEngine.CoreModule.dll
---@param q UnityEngine.Quaternion
---@return Matrix4x4
function CS.UnityEngine.Matrix4x4:Rotate(q) end

--
--Returns a formatted string for this matrix.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Matrix4x4.ToString() end

--
--Returns a formatted string for this matrix.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.Matrix4x4.ToString(format) end

--
--Returns a formatted string for this matrix.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.Matrix4x4.ToString(format, formatProvider) end


--
--Representation of 3D vectors and points.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Vector3: System.ValueType
---@source UnityEngine.CoreModule.dll
---@field kEpsilon float
---@source UnityEngine.CoreModule.dll
---@field kEpsilonNormalSqrt float
--
--X component of the vector.
--
---@source UnityEngine.CoreModule.dll
---@field x float
--
--Y component of the vector.
--
---@source UnityEngine.CoreModule.dll
---@field y float
--
--Z component of the vector.
--
---@source UnityEngine.CoreModule.dll
---@field z float
---@source UnityEngine.CoreModule.dll
---@field this[] float
--
--Returns this vector with a magnitude of 1 (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field normalized UnityEngine.Vector3
--
--Returns the length of this vector (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field magnitude float
--
--Returns the squared length of this vector (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field sqrMagnitude float
--
--Shorthand for writing Vector3(0, 0, 0).
--
---@source UnityEngine.CoreModule.dll
---@field zero UnityEngine.Vector3
--
--Shorthand for writing Vector3(1, 1, 1).
--
---@source UnityEngine.CoreModule.dll
---@field one UnityEngine.Vector3
--
--Shorthand for writing Vector3(0, 0, 1).
--
---@source UnityEngine.CoreModule.dll
---@field forward UnityEngine.Vector3
--
--Shorthand for writing Vector3(0, 0, -1).
--
---@source UnityEngine.CoreModule.dll
---@field back UnityEngine.Vector3
--
--Shorthand for writing Vector3(0, 1, 0).
--
---@source UnityEngine.CoreModule.dll
---@field up UnityEngine.Vector3
--
--Shorthand for writing Vector3(0, -1, 0).
--
---@source UnityEngine.CoreModule.dll
---@field down UnityEngine.Vector3
--
--Shorthand for writing Vector3(-1, 0, 0).
--
---@source UnityEngine.CoreModule.dll
---@field left UnityEngine.Vector3
--
--Shorthand for writing Vector3(1, 0, 0).
--
---@source UnityEngine.CoreModule.dll
---@field right UnityEngine.Vector3
--
--Shorthand for writing Vector3(float.PositiveInfinity, float.PositiveInfinity, float.PositiveInfinity).
--
---@source UnityEngine.CoreModule.dll
---@field positiveInfinity UnityEngine.Vector3
--
--Shorthand for writing Vector3(float.NegativeInfinity, float.NegativeInfinity, float.NegativeInfinity).
--
---@source UnityEngine.CoreModule.dll
---@field negativeInfinity UnityEngine.Vector3
---@source UnityEngine.CoreModule.dll
---@field fwd UnityEngine.Vector3
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Vector3 = {}

--
--Spherically interpolates between two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3
---@param b UnityEngine.Vector3
---@param t float
---@return Vector3
function CS.UnityEngine.Vector3:Slerp(a, b, t) end

--
--Spherically interpolates between two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3
---@param b UnityEngine.Vector3
---@param t float
---@return Vector3
function CS.UnityEngine.Vector3:SlerpUnclamped(a, b, t) end

---@source UnityEngine.CoreModule.dll
---@param normal UnityEngine.Vector3
---@param tangent UnityEngine.Vector3
function CS.UnityEngine.Vector3:OrthoNormalize(normal, tangent) end

---@source UnityEngine.CoreModule.dll
---@param normal UnityEngine.Vector3
---@param tangent UnityEngine.Vector3
---@param binormal UnityEngine.Vector3
function CS.UnityEngine.Vector3:OrthoNormalize(normal, tangent, binormal) end

--
--The location that RotateTowards generates.
--
--```plaintext
--Params: current - The vector being managed.
--        target - The vector.
--        maxRadiansDelta - The maximum angle in radians allowed for this rotation.
--        maxMagnitudeDelta - The maximum allowed change in vector magnitude for this rotation.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param current UnityEngine.Vector3
---@param target UnityEngine.Vector3
---@param maxRadiansDelta float
---@param maxMagnitudeDelta float
---@return Vector3
function CS.UnityEngine.Vector3:RotateTowards(current, target, maxRadiansDelta, maxMagnitudeDelta) end

--
--Interpolated value, equals to a + (b - a) * t.
--
--```plaintext
--Params: a - Start value, returned when t = 0.
--        b - End value, returned when t = 1.
--        t - Value used to interpolate between a and b.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3
---@param b UnityEngine.Vector3
---@param t float
---@return Vector3
function CS.UnityEngine.Vector3:Lerp(a, b, t) end

--
--Linearly interpolates between two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3
---@param b UnityEngine.Vector3
---@param t float
---@return Vector3
function CS.UnityEngine.Vector3:LerpUnclamped(a, b, t) end

--
--The new position.
--
--```plaintext
--Params: current - The position to move from.
--        target - The position to move towards.
--        maxDistanceDelta - Distance to move current per call.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param current UnityEngine.Vector3
---@param target UnityEngine.Vector3
---@param maxDistanceDelta float
---@return Vector3
function CS.UnityEngine.Vector3:MoveTowards(current, target, maxDistanceDelta) end

---@source UnityEngine.CoreModule.dll
---@param current UnityEngine.Vector3
---@param target UnityEngine.Vector3
---@param currentVelocity UnityEngine.Vector3
---@param smoothTime float
---@param maxSpeed float
---@return Vector3
function CS.UnityEngine.Vector3:SmoothDamp(current, target, currentVelocity, smoothTime, maxSpeed) end

---@source UnityEngine.CoreModule.dll
---@param current UnityEngine.Vector3
---@param target UnityEngine.Vector3
---@param currentVelocity UnityEngine.Vector3
---@param smoothTime float
---@return Vector3
function CS.UnityEngine.Vector3:SmoothDamp(current, target, currentVelocity, smoothTime) end

---@source UnityEngine.CoreModule.dll
---@param current UnityEngine.Vector3
---@param target UnityEngine.Vector3
---@param currentVelocity UnityEngine.Vector3
---@param smoothTime float
---@param maxSpeed float
---@param deltaTime float
---@return Vector3
function CS.UnityEngine.Vector3:SmoothDamp(current, target, currentVelocity, smoothTime, maxSpeed, deltaTime) end

--
--Set x, y and z components of an existing Vector3.
--
---@source UnityEngine.CoreModule.dll
---@param newX float
---@param newY float
---@param newZ float
function CS.UnityEngine.Vector3.Set(newX, newY, newZ) end

--
--Multiplies two vectors component-wise.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3
---@param b UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Vector3:Scale(a, b) end

--
--Multiplies every component of this vector by the same component of scale.
--
---@source UnityEngine.CoreModule.dll
---@param scale UnityEngine.Vector3
function CS.UnityEngine.Vector3.Scale(scale) end

--
--Cross Product of two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector3
---@param rhs UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Vector3:Cross(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Vector3.GetHashCode() end

--
--Returns true if the given vector is exactly equal to this vector.
--
---@source UnityEngine.CoreModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.Vector3.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.Vector3
---@return Boolean
function CS.UnityEngine.Vector3.Equals(other) end

--
--Reflects a vector off the plane defined by a normal.
--
---@source UnityEngine.CoreModule.dll
---@param inDirection UnityEngine.Vector3
---@param inNormal UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Vector3:Reflect(inDirection, inNormal) end

--
--Makes this vector have a magnitude of 1.
--
---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Vector3:Normalize(value) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Vector3.Normalize() end

--
--Dot Product of two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector3
---@param rhs UnityEngine.Vector3
---@return Single
function CS.UnityEngine.Vector3:Dot(lhs, rhs) end

--
--Projects a vector onto another vector.
--
---@source UnityEngine.CoreModule.dll
---@param vector UnityEngine.Vector3
---@param onNormal UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Vector3:Project(vector, onNormal) end

--
--The location of the vector on the plane.
--
--```plaintext
--Params: planeNormal - The direction from the vector towards the plane.
--        vector - The location of the vector above the plane.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param vector UnityEngine.Vector3
---@param planeNormal UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Vector3:ProjectOnPlane(vector, planeNormal) end

--
--The angle in degrees between the two vectors.
--
--```plaintext
--Params: from - The vector from which the angular difference is measured.
--        to - The vector to which the angular difference is measured.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param from UnityEngine.Vector3
---@param to UnityEngine.Vector3
---@return Single
function CS.UnityEngine.Vector3:Angle(from, to) end

--
--Returns the signed angle in degrees between from and to.
--
--```plaintext
--Params: from - The vector from which the angular difference is measured.
--        to - The vector to which the angular difference is measured.
--        axis - A vector around which the other vectors are rotated.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param from UnityEngine.Vector3
---@param to UnityEngine.Vector3
---@param axis UnityEngine.Vector3
---@return Single
function CS.UnityEngine.Vector3:SignedAngle(from, to, axis) end

--
--Returns the distance between a and b.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3
---@param b UnityEngine.Vector3
---@return Single
function CS.UnityEngine.Vector3:Distance(a, b) end

--
--Returns a copy of vector with its magnitude clamped to maxLength.
--
---@source UnityEngine.CoreModule.dll
---@param vector UnityEngine.Vector3
---@param maxLength float
---@return Vector3
function CS.UnityEngine.Vector3:ClampMagnitude(vector, maxLength) end

---@source UnityEngine.CoreModule.dll
---@param vector UnityEngine.Vector3
---@return Single
function CS.UnityEngine.Vector3:Magnitude(vector) end

---@source UnityEngine.CoreModule.dll
---@param vector UnityEngine.Vector3
---@return Single
function CS.UnityEngine.Vector3:SqrMagnitude(vector) end

--
--Returns a vector that is made from the smallest components of two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector3
---@param rhs UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Vector3:Min(lhs, rhs) end

--
--Returns a vector that is made from the largest components of two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector3
---@param rhs UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Vector3:Max(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3
---@param b UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Vector3:op_Addition(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3
---@param b UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Vector3:op_Subtraction(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Vector3:op_UnaryNegation(a) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3
---@param d float
---@return Vector3
function CS.UnityEngine.Vector3:op_Multiply(a, d) end

---@source UnityEngine.CoreModule.dll
---@param d float
---@param a UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Vector3:op_Multiply(d, a) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3
---@param d float
---@return Vector3
function CS.UnityEngine.Vector3:op_Division(a, d) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector3
---@param rhs UnityEngine.Vector3
---@return Boolean
function CS.UnityEngine.Vector3:op_Equality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector3
---@param rhs UnityEngine.Vector3
---@return Boolean
function CS.UnityEngine.Vector3:op_Inequality(lhs, rhs) end

--
--Returns a formatted string for this vector.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Vector3.ToString() end

--
--Returns a formatted string for this vector.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.Vector3.ToString(format) end

--
--Returns a formatted string for this vector.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.Vector3.ToString(format, formatProvider) end

---@source UnityEngine.CoreModule.dll
---@param from UnityEngine.Vector3
---@param to UnityEngine.Vector3
---@return Single
function CS.UnityEngine.Vector3:AngleBetween(from, to) end

---@source UnityEngine.CoreModule.dll
---@param excludeThis UnityEngine.Vector3
---@param fromThat UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Vector3:Exclude(excludeThis, fromThat) end


--
--Quaternions are used to represent rotations.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Quaternion: System.ValueType
--
--X component of the Quaternion. Don't modify this directly unless you know quaternions inside out.
--
---@source UnityEngine.CoreModule.dll
---@field x float
--
--Y component of the Quaternion. Don't modify this directly unless you know quaternions inside out.
--
---@source UnityEngine.CoreModule.dll
---@field y float
--
--Z component of the Quaternion. Don't modify this directly unless you know quaternions inside out.
--
---@source UnityEngine.CoreModule.dll
---@field z float
--
--W component of the Quaternion. Do not directly modify quaternions.
--
---@source UnityEngine.CoreModule.dll
---@field w float
---@source UnityEngine.CoreModule.dll
---@field kEpsilon float
---@source UnityEngine.CoreModule.dll
---@field this[] float
--
--The identity rotation (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field identity UnityEngine.Quaternion
--
--Returns or sets the euler angle representation of the rotation.
--
---@source UnityEngine.CoreModule.dll
---@field eulerAngles UnityEngine.Vector3
--
--Returns this quaternion with a magnitude of 1 (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field normalized UnityEngine.Quaternion
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Quaternion = {}

--
--Creates a rotation which rotates from fromDirection to toDirection.
--
---@source UnityEngine.CoreModule.dll
---@param fromDirection UnityEngine.Vector3
---@param toDirection UnityEngine.Vector3
---@return Quaternion
function CS.UnityEngine.Quaternion:FromToRotation(fromDirection, toDirection) end

--
--Returns the Inverse of rotation.
--
---@source UnityEngine.CoreModule.dll
---@param rotation UnityEngine.Quaternion
---@return Quaternion
function CS.UnityEngine.Quaternion:Inverse(rotation) end

--
--A quaternion spherically interpolated between quaternions a and b.
--
--```plaintext
--Params: a - Start value, returned when t = 0.
--        b - End value, returned when t = 1.
--        t - Interpolation ratio.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Quaternion
---@param b UnityEngine.Quaternion
---@param t float
---@return Quaternion
function CS.UnityEngine.Quaternion:Slerp(a, b, t) end

--
--Spherically interpolates between a and b by t. The parameter t is not clamped.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Quaternion
---@param b UnityEngine.Quaternion
---@param t float
---@return Quaternion
function CS.UnityEngine.Quaternion:SlerpUnclamped(a, b, t) end

--
--Interpolates between a and b by t and normalizes the result afterwards. The parameter t is clamped to the range [0, 1].
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Quaternion
---@param b UnityEngine.Quaternion
---@param t float
---@return Quaternion
function CS.UnityEngine.Quaternion:Lerp(a, b, t) end

--
--Interpolates between a and b by t and normalizes the result afterwards. The parameter t is not clamped.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Quaternion
---@param b UnityEngine.Quaternion
---@param t float
---@return Quaternion
function CS.UnityEngine.Quaternion:LerpUnclamped(a, b, t) end

--
--Creates a rotation which rotates angle degrees around axis.
--
---@source UnityEngine.CoreModule.dll
---@param angle float
---@param axis UnityEngine.Vector3
---@return Quaternion
function CS.UnityEngine.Quaternion:AngleAxis(angle, axis) end

--
--Creates a rotation with the specified forward and upwards directions.
--
--```plaintext
--Params: forward - The direction to look in.
--        upwards - The vector that defines in which direction up is.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param forward UnityEngine.Vector3
---@param upwards UnityEngine.Vector3
---@return Quaternion
function CS.UnityEngine.Quaternion:LookRotation(forward, upwards) end

--
--Creates a rotation with the specified forward and upwards directions.
--
--```plaintext
--Params: forward - The direction to look in.
--        upwards - The vector that defines in which direction up is.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param forward UnityEngine.Vector3
---@return Quaternion
function CS.UnityEngine.Quaternion:LookRotation(forward) end

--
--Set x, y, z and w components of an existing Quaternion.
--
---@source UnityEngine.CoreModule.dll
---@param newX float
---@param newY float
---@param newZ float
---@param newW float
function CS.UnityEngine.Quaternion.Set(newX, newY, newZ, newW) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Quaternion
---@param rhs UnityEngine.Quaternion
---@return Quaternion
function CS.UnityEngine.Quaternion:op_Multiply(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param rotation UnityEngine.Quaternion
---@param point UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Quaternion:op_Multiply(rotation, point) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Quaternion
---@param rhs UnityEngine.Quaternion
---@return Boolean
function CS.UnityEngine.Quaternion:op_Equality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Quaternion
---@param rhs UnityEngine.Quaternion
---@return Boolean
function CS.UnityEngine.Quaternion:op_Inequality(lhs, rhs) end

--
--The dot product between two rotations.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Quaternion
---@param b UnityEngine.Quaternion
---@return Single
function CS.UnityEngine.Quaternion:Dot(a, b) end

--
--Creates a rotation with the specified forward and upwards directions.
--
--```plaintext
--Params: view - The direction to look in.
--        up - The vector that defines in which direction up is.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param view UnityEngine.Vector3
function CS.UnityEngine.Quaternion.SetLookRotation(view) end

--
--Creates a rotation with the specified forward and upwards directions.
--
--```plaintext
--Params: view - The direction to look in.
--        up - The vector that defines in which direction up is.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param view UnityEngine.Vector3
---@param up UnityEngine.Vector3
function CS.UnityEngine.Quaternion.SetLookRotation(view, up) end

--
--Returns the angle in degrees between two rotations a and b.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Quaternion
---@param b UnityEngine.Quaternion
---@return Single
function CS.UnityEngine.Quaternion:Angle(a, b) end

--
--Returns a rotation that rotates z degrees around the z axis, x degrees around the x axis, and y degrees around the y axis; applied in that order.
--
---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param z float
---@return Quaternion
function CS.UnityEngine.Quaternion:Euler(x, y, z) end

--
--Returns a rotation that rotates z degrees around the z axis, x degrees around the x axis, and y degrees around the y axis.
--
---@source UnityEngine.CoreModule.dll
---@param euler UnityEngine.Vector3
---@return Quaternion
function CS.UnityEngine.Quaternion:Euler(euler) end

---@source UnityEngine.CoreModule.dll
---@param angle float
---@param axis UnityEngine.Vector3
function CS.UnityEngine.Quaternion.ToAngleAxis(angle, axis) end

--
--Creates a rotation which rotates from fromDirection to toDirection.
--
---@source UnityEngine.CoreModule.dll
---@param fromDirection UnityEngine.Vector3
---@param toDirection UnityEngine.Vector3
function CS.UnityEngine.Quaternion.SetFromToRotation(fromDirection, toDirection) end

--
--Rotates a rotation from towards to.
--
---@source UnityEngine.CoreModule.dll
---@param from UnityEngine.Quaternion
---@param to UnityEngine.Quaternion
---@param maxDegreesDelta float
---@return Quaternion
function CS.UnityEngine.Quaternion:RotateTowards(from, to, maxDegreesDelta) end

--
--Converts this quaternion to one with the same orientation but with a magnitude of 1.
--
---@source UnityEngine.CoreModule.dll
---@param q UnityEngine.Quaternion
---@return Quaternion
function CS.UnityEngine.Quaternion:Normalize(q) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Quaternion.Normalize() end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Quaternion.GetHashCode() end

---@source UnityEngine.CoreModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.Quaternion.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.Quaternion
---@return Boolean
function CS.UnityEngine.Quaternion.Equals(other) end

--
--Returns a formatted string of the Quaternion.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Quaternion.ToString() end

--
--Returns a formatted string of the Quaternion.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.Quaternion.ToString(format) end

--
--Returns a formatted string of the Quaternion.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.Quaternion.ToString(format, formatProvider) end

---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param z float
---@return Quaternion
function CS.UnityEngine.Quaternion:EulerRotation(x, y, z) end

---@source UnityEngine.CoreModule.dll
---@param euler UnityEngine.Vector3
---@return Quaternion
function CS.UnityEngine.Quaternion:EulerRotation(euler) end

---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param z float
function CS.UnityEngine.Quaternion.SetEulerRotation(x, y, z) end

---@source UnityEngine.CoreModule.dll
---@param euler UnityEngine.Vector3
function CS.UnityEngine.Quaternion.SetEulerRotation(euler) end

---@source UnityEngine.CoreModule.dll
---@return Vector3
function CS.UnityEngine.Quaternion.ToEuler() end

---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param z float
---@return Quaternion
function CS.UnityEngine.Quaternion:EulerAngles(x, y, z) end

---@source UnityEngine.CoreModule.dll
---@param euler UnityEngine.Vector3
---@return Quaternion
function CS.UnityEngine.Quaternion:EulerAngles(euler) end

---@source UnityEngine.CoreModule.dll
---@param axis UnityEngine.Vector3
---@param angle float
function CS.UnityEngine.Quaternion.ToAxisAngle(axis, angle) end

---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param z float
function CS.UnityEngine.Quaternion.SetEulerAngles(x, y, z) end

---@source UnityEngine.CoreModule.dll
---@param euler UnityEngine.Vector3
function CS.UnityEngine.Quaternion.SetEulerAngles(euler) end

---@source UnityEngine.CoreModule.dll
---@param rotation UnityEngine.Quaternion
---@return Vector3
function CS.UnityEngine.Quaternion:ToEulerAngles(rotation) end

---@source UnityEngine.CoreModule.dll
---@return Vector3
function CS.UnityEngine.Quaternion.ToEulerAngles() end

---@source UnityEngine.CoreModule.dll
---@param axis UnityEngine.Vector3
---@param angle float
function CS.UnityEngine.Quaternion.SetAxisAngle(axis, angle) end

---@source UnityEngine.CoreModule.dll
---@param axis UnityEngine.Vector3
---@param angle float
---@return Quaternion
function CS.UnityEngine.Quaternion:AxisAngle(axis, angle) end


--
--A collection of common math functions.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Mathf: System.ValueType
--
--The well-known 3.14159265358979... value (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field PI float
--
--A representation of positive infinity (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field Infinity float
--
--A representation of negative infinity (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field NegativeInfinity float
--
--Degrees-to-radians conversion constant (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field Deg2Rad float
--
--Radians-to-degrees conversion constant (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field Rad2Deg float
--
--A tiny floating point value (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field Epsilon float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Mathf = {}

--
--Returns the closest power of two value.
--
---@source UnityEngine.CoreModule.dll
---@param value int
---@return Int32
function CS.UnityEngine.Mathf:ClosestPowerOfTwo(value) end

--
--Returns true if the value is power of two.
--
---@source UnityEngine.CoreModule.dll
---@param value int
---@return Boolean
function CS.UnityEngine.Mathf:IsPowerOfTwo(value) end

--
--Returns the next power of two that is equal to, or greater than, the argument.
--
---@source UnityEngine.CoreModule.dll
---@param value int
---@return Int32
function CS.UnityEngine.Mathf:NextPowerOfTwo(value) end

--
--Converts the given value from gamma (sRGB) to linear color space.
--
---@source UnityEngine.CoreModule.dll
---@param value float
---@return Single
function CS.UnityEngine.Mathf:GammaToLinearSpace(value) end

--
--Converts the given value from linear to gamma (sRGB) color space.
--
---@source UnityEngine.CoreModule.dll
---@param value float
---@return Single
function CS.UnityEngine.Mathf:LinearToGammaSpace(value) end

--
--Correlated Color Temperature as floating point RGB color.
--
--```plaintext
--Params: kelvin - Temperature in Kelvin. Range 1000 to 40000 Kelvin.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param kelvin float
---@return Color
function CS.UnityEngine.Mathf:CorrelatedColorTemperatureToRGB(kelvin) end

--
--The converted half-precision float, stored in a 16-bit unsigned integer.
--
--```plaintext
--Params: val - The floating point value to convert.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param val float
---@return UInt16
function CS.UnityEngine.Mathf:FloatToHalf(val) end

--
--The decoded 32-bit float.
--
--```plaintext
--Params: val - The half precision value to convert.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param val ushort
---@return Single
function CS.UnityEngine.Mathf:HalfToFloat(val) end

--
--Value between 0.0 and 1.0. (Return value might be slightly below 0.0 or beyond 1.0.)
--
--```plaintext
--Params: x - X-coordinate of sample point.
--        y - Y-coordinate of sample point.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@return Single
function CS.UnityEngine.Mathf:PerlinNoise(x, y) end

--
--The return value between -1 and +1.
--
--```plaintext
--Params: f - The input angle, in radians.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Single
function CS.UnityEngine.Mathf:Sin(f) end

--
--The return value between -1 and 1.
--
--```plaintext
--Params: f - The input angle, in radians.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Single
function CS.UnityEngine.Mathf:Cos(f) end

--
--Returns the tangent of angle f in radians.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Single
function CS.UnityEngine.Mathf:Tan(f) end

--
--Returns the arc-sine of f - the angle in radians whose sine is f.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Single
function CS.UnityEngine.Mathf:Asin(f) end

--
--Returns the arc-cosine of f - the angle in radians whose cosine is f.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Single
function CS.UnityEngine.Mathf:Acos(f) end

--
--Returns the arc-tangent of f - the angle in radians whose tangent is f.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Single
function CS.UnityEngine.Mathf:Atan(f) end

--
--Returns the angle in radians whose Tan is y/x.
--
---@source UnityEngine.CoreModule.dll
---@param y float
---@param x float
---@return Single
function CS.UnityEngine.Mathf:Atan2(y, x) end

--
--Returns square root of f.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Single
function CS.UnityEngine.Mathf:Sqrt(f) end

--
--Returns the absolute value of f.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Single
function CS.UnityEngine.Mathf:Abs(f) end

--
--Returns the absolute value of value.
--
---@source UnityEngine.CoreModule.dll
---@param value int
---@return Int32
function CS.UnityEngine.Mathf:Abs(value) end

--
--Returns the smallest of two or more values.
--
---@source UnityEngine.CoreModule.dll
---@param a float
---@param b float
---@return Single
function CS.UnityEngine.Mathf:Min(a, b) end

--
--Returns the smallest of two or more values.
--
---@source UnityEngine.CoreModule.dll
---@param values float[]
---@return Single
function CS.UnityEngine.Mathf:Min(values) end

--
--Returns the smallest of two or more values.
--
---@source UnityEngine.CoreModule.dll
---@param a int
---@param b int
---@return Int32
function CS.UnityEngine.Mathf:Min(a, b) end

--
--Returns the smallest of two or more values.
--
---@source UnityEngine.CoreModule.dll
---@param values int[]
---@return Int32
function CS.UnityEngine.Mathf:Min(values) end

--
--Returns largest of two or more values.
--
---@source UnityEngine.CoreModule.dll
---@param a float
---@param b float
---@return Single
function CS.UnityEngine.Mathf:Max(a, b) end

--
--Returns largest of two or more values.
--
---@source UnityEngine.CoreModule.dll
---@param values float[]
---@return Single
function CS.UnityEngine.Mathf:Max(values) end

--
--Returns the largest of two or more values.
--
---@source UnityEngine.CoreModule.dll
---@param a int
---@param b int
---@return Int32
function CS.UnityEngine.Mathf:Max(a, b) end

--
--Returns the largest of two or more values.
--
---@source UnityEngine.CoreModule.dll
---@param values int[]
---@return Int32
function CS.UnityEngine.Mathf:Max(values) end

--
--Returns f raised to power p.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@param p float
---@return Single
function CS.UnityEngine.Mathf:Pow(f, p) end

--
--Returns e raised to the specified power.
--
---@source UnityEngine.CoreModule.dll
---@param power float
---@return Single
function CS.UnityEngine.Mathf:Exp(power) end

--
--Returns the logarithm of a specified number in a specified base.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@param p float
---@return Single
function CS.UnityEngine.Mathf:Log(f, p) end

--
--Returns the natural (base e) logarithm of a specified number.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Single
function CS.UnityEngine.Mathf:Log(f) end

--
--Returns the base 10 logarithm of a specified number.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Single
function CS.UnityEngine.Mathf:Log10(f) end

--
--Returns the smallest integer greater to or equal to f.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Single
function CS.UnityEngine.Mathf:Ceil(f) end

--
--Returns the largest integer smaller than or equal to f.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Single
function CS.UnityEngine.Mathf:Floor(f) end

--
--Returns f rounded to the nearest integer.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Single
function CS.UnityEngine.Mathf:Round(f) end

--
--Returns the smallest integer greater to or equal to f.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Int32
function CS.UnityEngine.Mathf:CeilToInt(f) end

--
--Returns the largest integer smaller to or equal to f.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Int32
function CS.UnityEngine.Mathf:FloorToInt(f) end

--
--Returns f rounded to the nearest integer.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Int32
function CS.UnityEngine.Mathf:RoundToInt(f) end

--
--Returns the sign of f.
--
---@source UnityEngine.CoreModule.dll
---@param f float
---@return Single
function CS.UnityEngine.Mathf:Sign(f) end

--
--The float result between the min and max values.
--
--```plaintext
--Params: value - The floating point value to restrict inside the range defined by the min and max values.
--        min - The minimum floating point value to compare against.
--        max - The maximum floating point value to compare against.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param value float
---@param min float
---@param max float
---@return Single
function CS.UnityEngine.Mathf:Clamp(value, min, max) end

--
--The int result between min and max values.
--
--```plaintext
--Params: value - The integer point value to restrict inside the min-to-max range
--        min - The minimum integer point value to compare against.
--        max - The maximum  integer point value to compare against.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param value int
---@param min int
---@param max int
---@return Int32
function CS.UnityEngine.Mathf:Clamp(value, min, max) end

--
--Clamps value between 0 and 1 and returns value.
--
---@source UnityEngine.CoreModule.dll
---@param value float
---@return Single
function CS.UnityEngine.Mathf:Clamp01(value) end

--
--The interpolated float result between the two float values.
--
--```plaintext
--Params: a - The start value.
--        b - The end value.
--        t - The interpolation value between the two floats.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param a float
---@param b float
---@param t float
---@return Single
function CS.UnityEngine.Mathf:Lerp(a, b, t) end

--
--The float value as a result from the linear interpolation.
--
--```plaintext
--Params: a - The start value.
--        b - The end value.
--        t - The interpolation between the two floats.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param a float
---@param b float
---@param t float
---@return Single
function CS.UnityEngine.Mathf:LerpUnclamped(a, b, t) end

--
--Same as Lerp but makes sure the values interpolate correctly when they wrap around 360 degrees.
--
---@source UnityEngine.CoreModule.dll
---@param a float
---@param b float
---@param t float
---@return Single
function CS.UnityEngine.Mathf:LerpAngle(a, b, t) end

--
--Moves a value current towards target.
--
--```plaintext
--Params: current - The current value.
--        target - The value to move towards.
--        maxDelta - The maximum change that should be applied to the value.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param current float
---@param target float
---@param maxDelta float
---@return Single
function CS.UnityEngine.Mathf:MoveTowards(current, target, maxDelta) end

--
--Same as MoveTowards but makes sure the values interpolate correctly when they wrap around 360 degrees.
--
---@source UnityEngine.CoreModule.dll
---@param current float
---@param target float
---@param maxDelta float
---@return Single
function CS.UnityEngine.Mathf:MoveTowardsAngle(current, target, maxDelta) end

--
--Interpolates between min and max with smoothing at the limits.
--
---@source UnityEngine.CoreModule.dll
---@param from float
---@param to float
---@param t float
---@return Single
function CS.UnityEngine.Mathf:SmoothStep(from, to, t) end

---@source UnityEngine.CoreModule.dll
---@param value float
---@param absmax float
---@param gamma float
---@return Single
function CS.UnityEngine.Mathf:Gamma(value, absmax, gamma) end

--
--Compares two floating point values and returns true if they are similar.
--
---@source UnityEngine.CoreModule.dll
---@param a float
---@param b float
---@return Boolean
function CS.UnityEngine.Mathf:Approximately(a, b) end

---@source UnityEngine.CoreModule.dll
---@param current float
---@param target float
---@param currentVelocity float
---@param smoothTime float
---@param maxSpeed float
---@return Single
function CS.UnityEngine.Mathf:SmoothDamp(current, target, currentVelocity, smoothTime, maxSpeed) end

---@source UnityEngine.CoreModule.dll
---@param current float
---@param target float
---@param currentVelocity float
---@param smoothTime float
---@return Single
function CS.UnityEngine.Mathf:SmoothDamp(current, target, currentVelocity, smoothTime) end

---@source UnityEngine.CoreModule.dll
---@param current float
---@param target float
---@param currentVelocity float
---@param smoothTime float
---@param maxSpeed float
---@param deltaTime float
---@return Single
function CS.UnityEngine.Mathf:SmoothDamp(current, target, currentVelocity, smoothTime, maxSpeed, deltaTime) end

---@source UnityEngine.CoreModule.dll
---@param current float
---@param target float
---@param currentVelocity float
---@param smoothTime float
---@param maxSpeed float
---@return Single
function CS.UnityEngine.Mathf:SmoothDampAngle(current, target, currentVelocity, smoothTime, maxSpeed) end

---@source UnityEngine.CoreModule.dll
---@param current float
---@param target float
---@param currentVelocity float
---@param smoothTime float
---@return Single
function CS.UnityEngine.Mathf:SmoothDampAngle(current, target, currentVelocity, smoothTime) end

---@source UnityEngine.CoreModule.dll
---@param current float
---@param target float
---@param currentVelocity float
---@param smoothTime float
---@param maxSpeed float
---@param deltaTime float
---@return Single
function CS.UnityEngine.Mathf:SmoothDampAngle(current, target, currentVelocity, smoothTime, maxSpeed, deltaTime) end

--
--Loops the value t, so that it is never larger than length and never smaller than 0.
--
---@source UnityEngine.CoreModule.dll
---@param t float
---@param length float
---@return Single
function CS.UnityEngine.Mathf:Repeat(t, length) end

--
--PingPong returns a value that will increment and decrement between the value 0 and length.
--
---@source UnityEngine.CoreModule.dll
---@param t float
---@param length float
---@return Single
function CS.UnityEngine.Mathf:PingPong(t, length) end

--
--Percentage of value between start and end.
--
--```plaintext
--Params: a - Start value.
--        b - End value.
--        value - Value between start and end.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param a float
---@param b float
---@param value float
---@return Single
function CS.UnityEngine.Mathf:InverseLerp(a, b, value) end

--
--Calculates the shortest difference between two given angles given in degrees.
--
---@source UnityEngine.CoreModule.dll
---@param current float
---@param target float
---@return Single
function CS.UnityEngine.Mathf:DeltaAngle(current, target) end


--
--Representation of 2D vectors and points.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Vector2: System.ValueType
--
--X component of the vector.
--
---@source UnityEngine.CoreModule.dll
---@field x float
--
--Y component of the vector.
--
---@source UnityEngine.CoreModule.dll
---@field y float
---@source UnityEngine.CoreModule.dll
---@field kEpsilon float
---@source UnityEngine.CoreModule.dll
---@field kEpsilonNormalSqrt float
---@source UnityEngine.CoreModule.dll
---@field this[] float
--
--Returns this vector with a magnitude of 1 (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field normalized UnityEngine.Vector2
--
--Returns the length of this vector (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field magnitude float
--
--Returns the squared length of this vector (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field sqrMagnitude float
--
--Shorthand for writing Vector2(0, 0).
--
---@source UnityEngine.CoreModule.dll
---@field zero UnityEngine.Vector2
--
--Shorthand for writing Vector2(1, 1).
--
---@source UnityEngine.CoreModule.dll
---@field one UnityEngine.Vector2
--
--Shorthand for writing Vector2(0, 1).
--
---@source UnityEngine.CoreModule.dll
---@field up UnityEngine.Vector2
--
--Shorthand for writing Vector2(0, -1).
--
---@source UnityEngine.CoreModule.dll
---@field down UnityEngine.Vector2
--
--Shorthand for writing Vector2(-1, 0).
--
---@source UnityEngine.CoreModule.dll
---@field left UnityEngine.Vector2
--
--Shorthand for writing Vector2(1, 0).
--
---@source UnityEngine.CoreModule.dll
---@field right UnityEngine.Vector2
--
--Shorthand for writing Vector2(float.PositiveInfinity, float.PositiveInfinity).
--
---@source UnityEngine.CoreModule.dll
---@field positiveInfinity UnityEngine.Vector2
--
--Shorthand for writing Vector2(float.NegativeInfinity, float.NegativeInfinity).
--
---@source UnityEngine.CoreModule.dll
---@field negativeInfinity UnityEngine.Vector2
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Vector2 = {}

--
--Set x and y components of an existing Vector2.
--
---@source UnityEngine.CoreModule.dll
---@param newX float
---@param newY float
function CS.UnityEngine.Vector2.Set(newX, newY) end

--
--Linearly interpolates between vectors a and b by t.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2
---@param b UnityEngine.Vector2
---@param t float
---@return Vector2
function CS.UnityEngine.Vector2:Lerp(a, b, t) end

--
--Linearly interpolates between vectors a and b by t.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2
---@param b UnityEngine.Vector2
---@param t float
---@return Vector2
function CS.UnityEngine.Vector2:LerpUnclamped(a, b, t) end

--
--Moves a point current towards target.
--
---@source UnityEngine.CoreModule.dll
---@param current UnityEngine.Vector2
---@param target UnityEngine.Vector2
---@param maxDistanceDelta float
---@return Vector2
function CS.UnityEngine.Vector2:MoveTowards(current, target, maxDistanceDelta) end

--
--Multiplies two vectors component-wise.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2
---@param b UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Vector2:Scale(a, b) end

--
--Multiplies every component of this vector by the same component of scale.
--
---@source UnityEngine.CoreModule.dll
---@param scale UnityEngine.Vector2
function CS.UnityEngine.Vector2.Scale(scale) end

--
--Makes this vector have a magnitude of 1.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Vector2.Normalize() end

--
--Returns a formatted string for this vector.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Vector2.ToString() end

--
--Returns a formatted string for this vector.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.Vector2.ToString(format) end

--
--Returns a formatted string for this vector.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.Vector2.ToString(format, formatProvider) end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Vector2.GetHashCode() end

--
--Returns true if the given vector is exactly equal to this vector.
--
---@source UnityEngine.CoreModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.Vector2.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.Vector2
---@return Boolean
function CS.UnityEngine.Vector2.Equals(other) end

--
--Reflects a vector off the vector defined by a normal.
--
---@source UnityEngine.CoreModule.dll
---@param inDirection UnityEngine.Vector2
---@param inNormal UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Vector2:Reflect(inDirection, inNormal) end

--
--The perpendicular direction.
--
--```plaintext
--Params: inDirection - The input direction.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param inDirection UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Vector2:Perpendicular(inDirection) end

--
--Dot Product of two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector2
---@param rhs UnityEngine.Vector2
---@return Single
function CS.UnityEngine.Vector2:Dot(lhs, rhs) end

--
--Returns the unsigned angle in degrees between from and to.
--
--```plaintext
--Params: from - The vector from which the angular difference is measured.
--        to - The vector to which the angular difference is measured.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param from UnityEngine.Vector2
---@param to UnityEngine.Vector2
---@return Single
function CS.UnityEngine.Vector2:Angle(from, to) end

--
--Returns the signed angle in degrees between from and to.
--
--```plaintext
--Params: from - The vector from which the angular difference is measured.
--        to - The vector to which the angular difference is measured.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param from UnityEngine.Vector2
---@param to UnityEngine.Vector2
---@return Single
function CS.UnityEngine.Vector2:SignedAngle(from, to) end

--
--Returns the distance between a and b.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2
---@param b UnityEngine.Vector2
---@return Single
function CS.UnityEngine.Vector2:Distance(a, b) end

--
--Returns a copy of vector with its magnitude clamped to maxLength.
--
---@source UnityEngine.CoreModule.dll
---@param vector UnityEngine.Vector2
---@param maxLength float
---@return Vector2
function CS.UnityEngine.Vector2:ClampMagnitude(vector, maxLength) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2
---@return Single
function CS.UnityEngine.Vector2:SqrMagnitude(a) end

---@source UnityEngine.CoreModule.dll
---@return Single
function CS.UnityEngine.Vector2.SqrMagnitude() end

--
--Returns a vector that is made from the smallest components of two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector2
---@param rhs UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Vector2:Min(lhs, rhs) end

--
--Returns a vector that is made from the largest components of two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector2
---@param rhs UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Vector2:Max(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param current UnityEngine.Vector2
---@param target UnityEngine.Vector2
---@param currentVelocity UnityEngine.Vector2
---@param smoothTime float
---@param maxSpeed float
---@return Vector2
function CS.UnityEngine.Vector2:SmoothDamp(current, target, currentVelocity, smoothTime, maxSpeed) end

---@source UnityEngine.CoreModule.dll
---@param current UnityEngine.Vector2
---@param target UnityEngine.Vector2
---@param currentVelocity UnityEngine.Vector2
---@param smoothTime float
---@return Vector2
function CS.UnityEngine.Vector2:SmoothDamp(current, target, currentVelocity, smoothTime) end

---@source UnityEngine.CoreModule.dll
---@param current UnityEngine.Vector2
---@param target UnityEngine.Vector2
---@param currentVelocity UnityEngine.Vector2
---@param smoothTime float
---@param maxSpeed float
---@param deltaTime float
---@return Vector2
function CS.UnityEngine.Vector2:SmoothDamp(current, target, currentVelocity, smoothTime, maxSpeed, deltaTime) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2
---@param b UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Vector2:op_Addition(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2
---@param b UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Vector2:op_Subtraction(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2
---@param b UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Vector2:op_Multiply(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2
---@param b UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Vector2:op_Division(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Vector2:op_UnaryNegation(a) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2
---@param d float
---@return Vector2
function CS.UnityEngine.Vector2:op_Multiply(a, d) end

---@source UnityEngine.CoreModule.dll
---@param d float
---@param a UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Vector2:op_Multiply(d, a) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2
---@param d float
---@return Vector2
function CS.UnityEngine.Vector2:op_Division(a, d) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector2
---@param rhs UnityEngine.Vector2
---@return Boolean
function CS.UnityEngine.Vector2:op_Equality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector2
---@param rhs UnityEngine.Vector2
---@return Boolean
function CS.UnityEngine.Vector2:op_Inequality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector3
---@return Vector2
function CS.UnityEngine.Vector2:op_Implicit(v) end

---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector2
---@return Vector3
function CS.UnityEngine.Vector2:op_Implicit(v) end


--
--Representation of 2D vectors and points using integers.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Vector2Int: System.ValueType
--
--X component of the vector.
--
---@source UnityEngine.CoreModule.dll
---@field x int
--
--Y component of the vector.
--
---@source UnityEngine.CoreModule.dll
---@field y int
---@source UnityEngine.CoreModule.dll
---@field this[] int
--
--Returns the length of this vector (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field magnitude float
--
--Returns the squared length of this vector (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field sqrMagnitude int
--
--Shorthand for writing Vector2Int(0, 0).
--
---@source UnityEngine.CoreModule.dll
---@field zero UnityEngine.Vector2Int
--
--Shorthand for writing Vector2Int(1, 1).
--
---@source UnityEngine.CoreModule.dll
---@field one UnityEngine.Vector2Int
--
--Shorthand for writing Vector2Int(0, 1).
--
---@source UnityEngine.CoreModule.dll
---@field up UnityEngine.Vector2Int
--
--Shorthand for writing Vector2Int(0, -1).
--
---@source UnityEngine.CoreModule.dll
---@field down UnityEngine.Vector2Int
--
--Shorthand for writing Vector2Int(-1, 0).
--
---@source UnityEngine.CoreModule.dll
---@field left UnityEngine.Vector2Int
--
--Shorthand for writing Vector2Int(1, 0).
--
---@source UnityEngine.CoreModule.dll
---@field right UnityEngine.Vector2Int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Vector2Int = {}

--
--Set x and y components of an existing Vector2Int.
--
---@source UnityEngine.CoreModule.dll
---@param x int
---@param y int
function CS.UnityEngine.Vector2Int.Set(x, y) end

--
--Returns the distance between a and b.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2Int
---@param b UnityEngine.Vector2Int
---@return Single
function CS.UnityEngine.Vector2Int:Distance(a, b) end

--
--Returns a vector that is made from the smallest components of two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector2Int
---@param rhs UnityEngine.Vector2Int
---@return Vector2Int
function CS.UnityEngine.Vector2Int:Min(lhs, rhs) end

--
--Returns a vector that is made from the largest components of two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector2Int
---@param rhs UnityEngine.Vector2Int
---@return Vector2Int
function CS.UnityEngine.Vector2Int:Max(lhs, rhs) end

--
--Multiplies two vectors component-wise.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2Int
---@param b UnityEngine.Vector2Int
---@return Vector2Int
function CS.UnityEngine.Vector2Int:Scale(a, b) end

--
--Multiplies every component of this vector by the same component of scale.
--
---@source UnityEngine.CoreModule.dll
---@param scale UnityEngine.Vector2Int
function CS.UnityEngine.Vector2Int.Scale(scale) end

--
--Clamps the Vector2Int to the bounds given by min and max.
--
---@source UnityEngine.CoreModule.dll
---@param min UnityEngine.Vector2Int
---@param max UnityEngine.Vector2Int
function CS.UnityEngine.Vector2Int.Clamp(min, max) end

---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector2Int
---@return Vector2
function CS.UnityEngine.Vector2Int:op_Implicit(v) end

---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector2Int
---@return Vector3Int
function CS.UnityEngine.Vector2Int:op_Explicit(v) end

--
--Converts a Vector2 to a Vector2Int by doing a Floor to each value.
--
---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector2
---@return Vector2Int
function CS.UnityEngine.Vector2Int:FloorToInt(v) end

--
--Converts a  Vector2 to a Vector2Int by doing a Ceiling to each value.
--
---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector2
---@return Vector2Int
function CS.UnityEngine.Vector2Int:CeilToInt(v) end

--
--Converts a  Vector2 to a Vector2Int by doing a Round to each value.
--
---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector2
---@return Vector2Int
function CS.UnityEngine.Vector2Int:RoundToInt(v) end

---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector2Int
---@return Vector2Int
function CS.UnityEngine.Vector2Int:op_UnaryNegation(v) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2Int
---@param b UnityEngine.Vector2Int
---@return Vector2Int
function CS.UnityEngine.Vector2Int:op_Addition(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2Int
---@param b UnityEngine.Vector2Int
---@return Vector2Int
function CS.UnityEngine.Vector2Int:op_Subtraction(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2Int
---@param b UnityEngine.Vector2Int
---@return Vector2Int
function CS.UnityEngine.Vector2Int:op_Multiply(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a int
---@param b UnityEngine.Vector2Int
---@return Vector2Int
function CS.UnityEngine.Vector2Int:op_Multiply(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2Int
---@param b int
---@return Vector2Int
function CS.UnityEngine.Vector2Int:op_Multiply(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector2Int
---@param b int
---@return Vector2Int
function CS.UnityEngine.Vector2Int:op_Division(a, b) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector2Int
---@param rhs UnityEngine.Vector2Int
---@return Boolean
function CS.UnityEngine.Vector2Int:op_Equality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector2Int
---@param rhs UnityEngine.Vector2Int
---@return Boolean
function CS.UnityEngine.Vector2Int:op_Inequality(lhs, rhs) end

--
--Returns true if the objects are equal.
--
---@source UnityEngine.CoreModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.Vector2Int.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.Vector2Int
---@return Boolean
function CS.UnityEngine.Vector2Int.Equals(other) end

--
--The hash code of the Vector2Int.
--
---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Vector2Int.GetHashCode() end

--
--Returns a formatted string for this vector.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Vector2Int.ToString() end

--
--Returns a formatted string for this vector.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.Vector2Int.ToString(format) end

--
--Returns a formatted string for this vector.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.Vector2Int.ToString(format, formatProvider) end


--
--Representation of 3D vectors and points using integers.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Vector3Int: System.ValueType
--
--X component of the vector.
--
---@source UnityEngine.CoreModule.dll
---@field x int
--
--Y component of the vector.
--
---@source UnityEngine.CoreModule.dll
---@field y int
--
--Z component of the vector.
--
---@source UnityEngine.CoreModule.dll
---@field z int
---@source UnityEngine.CoreModule.dll
---@field this[] int
--
--Returns the length of this vector (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field magnitude float
--
--Returns the squared length of this vector (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field sqrMagnitude int
--
--Shorthand for writing Vector3Int(0, 0, 0).
--
---@source UnityEngine.CoreModule.dll
---@field zero UnityEngine.Vector3Int
--
--Shorthand for writing Vector3Int(1, 1, 1).
--
---@source UnityEngine.CoreModule.dll
---@field one UnityEngine.Vector3Int
--
--Shorthand for writing Vector3Int(0, 1, 0).
--
---@source UnityEngine.CoreModule.dll
---@field up UnityEngine.Vector3Int
--
--Shorthand for writing Vector3Int(0, -1, 0).
--
---@source UnityEngine.CoreModule.dll
---@field down UnityEngine.Vector3Int
--
--Shorthand for writing Vector3Int(-1, 0, 0).
--
---@source UnityEngine.CoreModule.dll
---@field left UnityEngine.Vector3Int
--
--Shorthand for writing Vector3Int(1, 0, 0).
--
---@source UnityEngine.CoreModule.dll
---@field right UnityEngine.Vector3Int
--
--Shorthand for writing Vector3Int(0, 0, 1).
--
---@source UnityEngine.CoreModule.dll
---@field forward UnityEngine.Vector3Int
--
--Shorthand for writing Vector3Int(0, 0, -1).
--
---@source UnityEngine.CoreModule.dll
---@field back UnityEngine.Vector3Int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Vector3Int = {}

--
--Set x, y and z components of an existing Vector3Int.
--
---@source UnityEngine.CoreModule.dll
---@param x int
---@param y int
---@param z int
function CS.UnityEngine.Vector3Int.Set(x, y, z) end

--
--Returns the distance between a and b.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3Int
---@param b UnityEngine.Vector3Int
---@return Single
function CS.UnityEngine.Vector3Int:Distance(a, b) end

--
--Returns a vector that is made from the smallest components of two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector3Int
---@param rhs UnityEngine.Vector3Int
---@return Vector3Int
function CS.UnityEngine.Vector3Int:Min(lhs, rhs) end

--
--Returns a vector that is made from the largest components of two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector3Int
---@param rhs UnityEngine.Vector3Int
---@return Vector3Int
function CS.UnityEngine.Vector3Int:Max(lhs, rhs) end

--
--Multiplies two vectors component-wise.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3Int
---@param b UnityEngine.Vector3Int
---@return Vector3Int
function CS.UnityEngine.Vector3Int:Scale(a, b) end

--
--Multiplies every component of this vector by the same component of scale.
--
---@source UnityEngine.CoreModule.dll
---@param scale UnityEngine.Vector3Int
function CS.UnityEngine.Vector3Int.Scale(scale) end

--
--Clamps the Vector3Int to the bounds given by min and max.
--
---@source UnityEngine.CoreModule.dll
---@param min UnityEngine.Vector3Int
---@param max UnityEngine.Vector3Int
function CS.UnityEngine.Vector3Int.Clamp(min, max) end

---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector3Int
---@return Vector3
function CS.UnityEngine.Vector3Int:op_Implicit(v) end

---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector3Int
---@return Vector2Int
function CS.UnityEngine.Vector3Int:op_Explicit(v) end

--
--Converts a  Vector3 to a Vector3Int by doing a Floor to each value.
--
---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector3
---@return Vector3Int
function CS.UnityEngine.Vector3Int:FloorToInt(v) end

--
--Converts a  Vector3 to a Vector3Int by doing a Ceiling to each value.
--
---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector3
---@return Vector3Int
function CS.UnityEngine.Vector3Int:CeilToInt(v) end

--
--Converts a  Vector3 to a Vector3Int by doing a Round to each value.
--
---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector3
---@return Vector3Int
function CS.UnityEngine.Vector3Int:RoundToInt(v) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3Int
---@param b UnityEngine.Vector3Int
---@return Vector3Int
function CS.UnityEngine.Vector3Int:op_Addition(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3Int
---@param b UnityEngine.Vector3Int
---@return Vector3Int
function CS.UnityEngine.Vector3Int:op_Subtraction(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3Int
---@param b UnityEngine.Vector3Int
---@return Vector3Int
function CS.UnityEngine.Vector3Int:op_Multiply(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3Int
---@return Vector3Int
function CS.UnityEngine.Vector3Int:op_UnaryNegation(a) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3Int
---@param b int
---@return Vector3Int
function CS.UnityEngine.Vector3Int:op_Multiply(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a int
---@param b UnityEngine.Vector3Int
---@return Vector3Int
function CS.UnityEngine.Vector3Int:op_Multiply(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector3Int
---@param b int
---@return Vector3Int
function CS.UnityEngine.Vector3Int:op_Division(a, b) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector3Int
---@param rhs UnityEngine.Vector3Int
---@return Boolean
function CS.UnityEngine.Vector3Int:op_Equality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector3Int
---@param rhs UnityEngine.Vector3Int
---@return Boolean
function CS.UnityEngine.Vector3Int:op_Inequality(lhs, rhs) end

--
--Returns true if the objects are equal.
--
---@source UnityEngine.CoreModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.Vector3Int.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.Vector3Int
---@return Boolean
function CS.UnityEngine.Vector3Int.Equals(other) end

--
--The hash code of the Vector3Int.
--
---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Vector3Int.GetHashCode() end

--
--Returns a formatted string for this vector.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Vector3Int.ToString() end

--
--Returns a formatted string for this vector.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.Vector3Int.ToString(format) end

--
--Returns a formatted string for this vector.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.Vector3Int.ToString(format, formatProvider) end


--
--Representation of four-dimensional vectors.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Vector4: System.ValueType
---@source UnityEngine.CoreModule.dll
---@field kEpsilon float
--
--X component of the vector.
--
---@source UnityEngine.CoreModule.dll
---@field x float
--
--Y component of the vector.
--
---@source UnityEngine.CoreModule.dll
---@field y float
--
--Z component of the vector.
--
---@source UnityEngine.CoreModule.dll
---@field z float
--
--W component of the vector.
--
---@source UnityEngine.CoreModule.dll
---@field w float
---@source UnityEngine.CoreModule.dll
---@field this[] float
--
--Returns this vector with a magnitude of 1 (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field normalized UnityEngine.Vector4
--
--Returns the length of this vector (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field magnitude float
--
--Returns the squared length of this vector (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field sqrMagnitude float
--
--Shorthand for writing Vector4(0,0,0,0).
--
---@source UnityEngine.CoreModule.dll
---@field zero UnityEngine.Vector4
--
--Shorthand for writing Vector4(1,1,1,1).
--
---@source UnityEngine.CoreModule.dll
---@field one UnityEngine.Vector4
--
--Shorthand for writing Vector4(float.PositiveInfinity, float.PositiveInfinity, float.PositiveInfinity, float.PositiveInfinity).
--
---@source UnityEngine.CoreModule.dll
---@field positiveInfinity UnityEngine.Vector4
--
--Shorthand for writing Vector4(float.NegativeInfinity, float.NegativeInfinity, float.NegativeInfinity, float.NegativeInfinity).
--
---@source UnityEngine.CoreModule.dll
---@field negativeInfinity UnityEngine.Vector4
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Vector4 = {}

--
--Set x, y, z and w components of an existing Vector4.
--
---@source UnityEngine.CoreModule.dll
---@param newX float
---@param newY float
---@param newZ float
---@param newW float
function CS.UnityEngine.Vector4.Set(newX, newY, newZ, newW) end

--
--Linearly interpolates between two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector4
---@param b UnityEngine.Vector4
---@param t float
---@return Vector4
function CS.UnityEngine.Vector4:Lerp(a, b, t) end

--
--Linearly interpolates between two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector4
---@param b UnityEngine.Vector4
---@param t float
---@return Vector4
function CS.UnityEngine.Vector4:LerpUnclamped(a, b, t) end

--
--Moves a point current towards target.
--
---@source UnityEngine.CoreModule.dll
---@param current UnityEngine.Vector4
---@param target UnityEngine.Vector4
---@param maxDistanceDelta float
---@return Vector4
function CS.UnityEngine.Vector4:MoveTowards(current, target, maxDistanceDelta) end

--
--Multiplies two vectors component-wise.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector4
---@param b UnityEngine.Vector4
---@return Vector4
function CS.UnityEngine.Vector4:Scale(a, b) end

--
--Multiplies every component of this vector by the same component of scale.
--
---@source UnityEngine.CoreModule.dll
---@param scale UnityEngine.Vector4
function CS.UnityEngine.Vector4.Scale(scale) end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Vector4.GetHashCode() end

--
--Returns true if the given vector is exactly equal to this vector.
--
---@source UnityEngine.CoreModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.Vector4.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.Vector4
---@return Boolean
function CS.UnityEngine.Vector4.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector4
---@return Vector4
function CS.UnityEngine.Vector4:Normalize(a) end

--
--Makes this vector have a magnitude of 1.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Vector4.Normalize() end

--
--Dot Product of two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector4
---@param b UnityEngine.Vector4
---@return Single
function CS.UnityEngine.Vector4:Dot(a, b) end

--
--Projects a vector onto another vector.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector4
---@param b UnityEngine.Vector4
---@return Vector4
function CS.UnityEngine.Vector4:Project(a, b) end

--
--Returns the distance between a and b.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector4
---@param b UnityEngine.Vector4
---@return Single
function CS.UnityEngine.Vector4:Distance(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector4
---@return Single
function CS.UnityEngine.Vector4:Magnitude(a) end

--
--Returns a vector that is made from the smallest components of two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector4
---@param rhs UnityEngine.Vector4
---@return Vector4
function CS.UnityEngine.Vector4:Min(lhs, rhs) end

--
--Returns a vector that is made from the largest components of two vectors.
--
---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector4
---@param rhs UnityEngine.Vector4
---@return Vector4
function CS.UnityEngine.Vector4:Max(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector4
---@param b UnityEngine.Vector4
---@return Vector4
function CS.UnityEngine.Vector4:op_Addition(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector4
---@param b UnityEngine.Vector4
---@return Vector4
function CS.UnityEngine.Vector4:op_Subtraction(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector4
---@return Vector4
function CS.UnityEngine.Vector4:op_UnaryNegation(a) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector4
---@param d float
---@return Vector4
function CS.UnityEngine.Vector4:op_Multiply(a, d) end

---@source UnityEngine.CoreModule.dll
---@param d float
---@param a UnityEngine.Vector4
---@return Vector4
function CS.UnityEngine.Vector4:op_Multiply(d, a) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector4
---@param d float
---@return Vector4
function CS.UnityEngine.Vector4:op_Division(a, d) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector4
---@param rhs UnityEngine.Vector4
---@return Boolean
function CS.UnityEngine.Vector4:op_Equality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Vector4
---@param rhs UnityEngine.Vector4
---@return Boolean
function CS.UnityEngine.Vector4:op_Inequality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector3
---@return Vector4
function CS.UnityEngine.Vector4:op_Implicit(v) end

---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector4
---@return Vector3
function CS.UnityEngine.Vector4:op_Implicit(v) end

---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector2
---@return Vector4
function CS.UnityEngine.Vector4:op_Implicit(v) end

---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector4
---@return Vector2
function CS.UnityEngine.Vector4:op_Implicit(v) end

--
--Returns a formatted string for this vector.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Vector4.ToString() end

--
--Returns a formatted string for this vector.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.Vector4.ToString(format) end

--
--Returns a formatted string for this vector.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.Vector4.ToString(format, formatProvider) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Vector4
---@return Single
function CS.UnityEngine.Vector4:SqrMagnitude(a) end

---@source UnityEngine.CoreModule.dll
---@return Single
function CS.UnityEngine.Vector4.SqrMagnitude() end


--
--Option for who will receive an RPC, used by NetworkView.RPC.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RPCMode: System.Enum
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RPCMode = {}

---@source 
---@param value any
---@return UnityEngine.RPCMode
function CS.UnityEngine.RPCMode:__CastFrom(value) end


--
--The various test results the connection tester may return with.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ConnectionTesterStatus: System.Enum
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ConnectionTesterStatus = {}

---@source 
---@param value any
---@return UnityEngine.ConnectionTesterStatus
function CS.UnityEngine.ConnectionTesterStatus:__CastFrom(value) end


--
--Possible status messages returned by Network.Connect and in MonoBehaviour.OnFailedToConnect|OnFailedToConnect in case the error was not immediate.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.NetworkConnectionError: System.Enum
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.NetworkConnectionError = {}

---@source 
---@param value any
---@return UnityEngine.NetworkConnectionError
function CS.UnityEngine.NetworkConnectionError:__CastFrom(value) end


--
--The reason a disconnect event occured, like in MonoBehaviour.OnDisconnectedFromServer|OnDisconnectedFromServer.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.NetworkDisconnection: System.Enum
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.NetworkDisconnection = {}

---@source 
---@param value any
---@return UnityEngine.NetworkDisconnection
function CS.UnityEngine.NetworkDisconnection:__CastFrom(value) end


--
--Describes status messages from the master server as returned in MonoBehaviour.OnMasterServerEvent|OnMasterServerEvent.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MasterServerEvent: System.Enum
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MasterServerEvent = {}

---@source 
---@param value any
---@return UnityEngine.MasterServerEvent
function CS.UnityEngine.MasterServerEvent:__CastFrom(value) end


--
--Different types of synchronization for the NetworkView component.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.NetworkStateSynchronization: System.Enum
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.NetworkStateSynchronization = {}

---@source 
---@param value any
---@return UnityEngine.NetworkStateSynchronization
function CS.UnityEngine.NetworkStateSynchronization:__CastFrom(value) end


--
--Describes the status of the network interface peer type as returned by Network.peerType.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.NetworkPeerType: System.Enum
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.NetworkPeerType = {}

---@source 
---@param value any
---@return UnityEngine.NetworkPeerType
function CS.UnityEngine.NetworkPeerType:__CastFrom(value) end


--
--Describes different levels of log information the network layer supports.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.NetworkLogLevel: System.Enum
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.NetworkLogLevel = {}

---@source 
---@param value any
---@return UnityEngine.NetworkLogLevel
function CS.UnityEngine.NetworkLogLevel:__CastFrom(value) end


--
--The NetworkPlayer is a data structure with which you can locate another player over the network.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.NetworkPlayer: System.ValueType
--
--The IP address of this player.
--
---@source UnityEngine.CoreModule.dll
---@field ipAddress string
--
--The port of this player.
--
---@source UnityEngine.CoreModule.dll
---@field port int
--
--The GUID for this player, used when connecting with NAT punchthrough.
--
---@source UnityEngine.CoreModule.dll
---@field guid string
--
--Returns the external IP address of the network interface.
--
---@source UnityEngine.CoreModule.dll
---@field externalIP string
--
--Returns the external port of the network interface.
--
---@source UnityEngine.CoreModule.dll
---@field externalPort int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.NetworkPlayer = {}


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.InterstitialWasLoadedDelegate: System.MulticastDelegate
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.InterstitialWasLoadedDelegate = {}

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.InterstitialWasLoadedDelegate.Invoke() end

---@source UnityEngine.CoreModule.dll
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.InterstitialWasLoadedDelegate.BeginInvoke(callback, object) end

---@source UnityEngine.CoreModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.InterstitialWasLoadedDelegate.EndInvoke(result) end


--
--The NetworkViewID is a unique identifier for a network view instance in a multiplayer game.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.NetworkViewID: System.ValueType
--
--Represents an invalid network view ID.
--
---@source UnityEngine.CoreModule.dll
---@field unassigned UnityEngine.NetworkViewID
--
--True if instantiated by me.
--
---@source UnityEngine.CoreModule.dll
---@field isMine bool
--
--The NetworkPlayer who owns the NetworkView. Could be the server.
--
---@source UnityEngine.CoreModule.dll
---@field owner UnityEngine.NetworkPlayer
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.NetworkViewID = {}


--
--The network view is the binding material of multiplayer games.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.NetworkView: UnityEngine.Behaviour
--
--The component the network view is observing.
--
---@source UnityEngine.CoreModule.dll
---@field observed UnityEngine.Component
--
--The type of NetworkStateSynchronization set for this network view.
--
---@source UnityEngine.CoreModule.dll
---@field stateSynchronization UnityEngine.NetworkStateSynchronization
--
--The ViewID of this network view.
--
---@source UnityEngine.CoreModule.dll
---@field viewID UnityEngine.NetworkViewID
--
--The network group number of this network view.
--
---@source UnityEngine.CoreModule.dll
---@field group int
--
--Is the network view controlled by this object?
--
---@source UnityEngine.CoreModule.dll
---@field isMine bool
--
--The NetworkPlayer who owns this network view.
--
---@source UnityEngine.CoreModule.dll
---@field owner UnityEngine.NetworkPlayer
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.NetworkView = {}

--
--Call a RPC function on all connected peers.
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param mode UnityEngine.RPCMode
---@param args object[]
function CS.UnityEngine.NetworkView.RPC(name, mode, args) end

--
--Call a RPC function on a specific player.
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param target UnityEngine.NetworkPlayer
---@param args object[]
function CS.UnityEngine.NetworkView.RPC(name, target, args) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ILogger
--
--Set Logger.ILogHandler.
--
---@source UnityEngine.CoreModule.dll
---@field logHandler UnityEngine.ILogHandler
--
--To runtime toggle debug logging [ON/OFF].
--
---@source UnityEngine.CoreModule.dll
---@field logEnabled bool
--
--To selective enable debug log message.
--
---@source UnityEngine.CoreModule.dll
---@field filterLogType UnityEngine.LogType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ILogger = {}

--
--Retrun true in case logs of LogType will be logged otherwise returns false.
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@return Boolean
function CS.UnityEngine.ILogger.IsLogTypeAllowed(logType) end

--
--Logs message to the Unity Console using default logger.
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@param message object
function CS.UnityEngine.ILogger.Log(logType, message) end

--
--Logs message to the Unity Console using default logger.
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@param message object
---@param context UnityEngine.Object
function CS.UnityEngine.ILogger.Log(logType, message, context) end

--
--Logs message to the Unity Console using default logger.
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@param tag string
---@param message object
function CS.UnityEngine.ILogger.Log(logType, tag, message) end

--
--Logs message to the Unity Console using default logger.
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@param tag string
---@param message object
---@param context UnityEngine.Object
function CS.UnityEngine.ILogger.Log(logType, tag, message, context) end

--
--Logs message to the Unity Console using default logger.
--
---@source UnityEngine.CoreModule.dll
---@param message object
function CS.UnityEngine.ILogger.Log(message) end

--
--Logs message to the Unity Console using default logger.
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@param message object
function CS.UnityEngine.ILogger.Log(tag, message) end

--
--Logs message to the Unity Console using default logger.
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@param message object
---@param context UnityEngine.Object
function CS.UnityEngine.ILogger.Log(tag, message, context) end

--
--A variant of Logger.Log that logs an warning message.
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@param message object
function CS.UnityEngine.ILogger.LogWarning(tag, message) end

--
--A variant of Logger.Log that logs an warning message.
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@param message object
---@param context UnityEngine.Object
function CS.UnityEngine.ILogger.LogWarning(tag, message, context) end

--
--A variant of ILogger.Log that logs an error message.
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@param message object
function CS.UnityEngine.ILogger.LogError(tag, message) end

--
--A variant of ILogger.Log that logs an error message.
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@param message object
---@param context UnityEngine.Object
function CS.UnityEngine.ILogger.LogError(tag, message, context) end

--
--Logs a formatted message.
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@param format string
---@param args object[]
function CS.UnityEngine.ILogger.LogFormat(logType, format, args) end

--
--A variant of ILogger.Log that logs an exception message.
--
---@source UnityEngine.CoreModule.dll
---@param exception System.Exception
function CS.UnityEngine.ILogger.LogException(exception) end


--
--The network class is at the heart of the network implementation and provides the core functions.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Network: object
--
--Set the password for the server (for incoming connections).
--
---@source UnityEngine.CoreModule.dll
---@field incomingPassword string
--
--Set the log level for network messages (default is Off).
--
---@source UnityEngine.CoreModule.dll
---@field logLevel UnityEngine.NetworkLogLevel
--
--All connected players.
--
---@source UnityEngine.CoreModule.dll
---@field connections UnityEngine.NetworkPlayer[]
--
--Get the local NetworkPlayer instance.
--
---@source UnityEngine.CoreModule.dll
---@field player UnityEngine.NetworkPlayer
--
--Returns true if your peer type is client.
--
---@source UnityEngine.CoreModule.dll
---@field isClient bool
--
--Returns true if your peer type is server.
--
---@source UnityEngine.CoreModule.dll
---@field isServer bool
--
--The status of the peer type, i.e. if it is disconnected, connecting, server or client.
--
---@source UnityEngine.CoreModule.dll
---@field peerType UnityEngine.NetworkPeerType
--
--The default send rate of network updates for all Network Views.
--
---@source UnityEngine.CoreModule.dll
---@field sendRate float
--
--Enable or disable the processing of network messages.
--
---@source UnityEngine.CoreModule.dll
---@field isMessageQueueRunning bool
--
--Get the current network time (seconds).
--
---@source UnityEngine.CoreModule.dll
---@field time double
--
--Get or set the minimum number of ViewID numbers in the ViewID pool given to clients by the server.
--
---@source UnityEngine.CoreModule.dll
---@field minimumAllocatableViewIDs int
---@source UnityEngine.CoreModule.dll
---@field useNat bool
--
--The IP address of the NAT punchthrough facilitator.
--
---@source UnityEngine.CoreModule.dll
---@field natFacilitatorIP string
--
--The port of the NAT punchthrough facilitator.
--
---@source UnityEngine.CoreModule.dll
---@field natFacilitatorPort int
--
--The IP address of the connection tester used in Network.TestConnection.
--
---@source UnityEngine.CoreModule.dll
---@field connectionTesterIP string
--
--The port of the connection tester used in Network.TestConnection.
--
---@source UnityEngine.CoreModule.dll
---@field connectionTesterPort int
--
--Set the maximum amount of connections/players allowed.
--
---@source UnityEngine.CoreModule.dll
---@field maxConnections int
--
--The IP address of the proxy server.
--
---@source UnityEngine.CoreModule.dll
---@field proxyIP string
--
--The port of the proxy server.
--
---@source UnityEngine.CoreModule.dll
---@field proxyPort int
--
--Indicate if proxy support is needed, in which case traffic is relayed through the proxy server.
--
---@source UnityEngine.CoreModule.dll
---@field useProxy bool
--
--Set the proxy server password.
--
---@source UnityEngine.CoreModule.dll
---@field proxyPassword string
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Network = {}

--
--Initialize the server.
--
---@source UnityEngine.CoreModule.dll
---@param connections int
---@param listenPort int
---@param useNat bool
---@return NetworkConnectionError
function CS.UnityEngine.Network:InitializeServer(connections, listenPort, useNat) end

--
--Initialize the server.
--
---@source UnityEngine.CoreModule.dll
---@param connections int
---@param listenPort int
---@return NetworkConnectionError
function CS.UnityEngine.Network:InitializeServer(connections, listenPort) end

--
--Initializes security layer.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Network:InitializeSecurity() end

--
--Connect to the specified host (ip or domain name) and server port.
--
---@source UnityEngine.CoreModule.dll
---@param IP string
---@param remotePort int
---@return NetworkConnectionError
function CS.UnityEngine.Network:Connect(IP, remotePort) end

--
--Connect to the specified host (ip or domain name) and server port.
--
---@source UnityEngine.CoreModule.dll
---@param IP string
---@param remotePort int
---@param password string
---@return NetworkConnectionError
function CS.UnityEngine.Network:Connect(IP, remotePort, password) end

--
--This function is exactly like Network.Connect but can accept an array of IP addresses.
--
---@source UnityEngine.CoreModule.dll
---@param IPs string[]
---@param remotePort int
---@return NetworkConnectionError
function CS.UnityEngine.Network:Connect(IPs, remotePort) end

--
--This function is exactly like Network.Connect but can accept an array of IP addresses.
--
---@source UnityEngine.CoreModule.dll
---@param IPs string[]
---@param remotePort int
---@param password string
---@return NetworkConnectionError
function CS.UnityEngine.Network:Connect(IPs, remotePort, password) end

--
--Connect to a server GUID. NAT punchthrough can only be performed this way.
--
---@source UnityEngine.CoreModule.dll
---@param GUID string
---@return NetworkConnectionError
function CS.UnityEngine.Network:Connect(GUID) end

--
--Connect to a server GUID. NAT punchthrough can only be performed this way.
--
---@source UnityEngine.CoreModule.dll
---@param GUID string
---@param password string
---@return NetworkConnectionError
function CS.UnityEngine.Network:Connect(GUID, password) end

--
--Connect to the host represented by a HostData structure returned by the Master Server.
--
---@source UnityEngine.CoreModule.dll
---@param hostData UnityEngine.HostData
---@return NetworkConnectionError
function CS.UnityEngine.Network:Connect(hostData) end

--
--Connect to the host represented by a HostData structure returned by the Master Server.
--
---@source UnityEngine.CoreModule.dll
---@param hostData UnityEngine.HostData
---@param password string
---@return NetworkConnectionError
function CS.UnityEngine.Network:Connect(hostData, password) end

--
--Close all open connections and shuts down the network interface.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Network:Disconnect() end

--
--Close all open connections and shuts down the network interface.
--
---@source UnityEngine.CoreModule.dll
---@param timeout int
function CS.UnityEngine.Network:Disconnect(timeout) end

--
--Close the connection to another system.
--
---@source UnityEngine.CoreModule.dll
---@param target UnityEngine.NetworkPlayer
---@param sendDisconnectionNotification bool
function CS.UnityEngine.Network:CloseConnection(target, sendDisconnectionNotification) end

--
--Query for the next available network view ID number and allocate it (reserve).
--
---@source UnityEngine.CoreModule.dll
---@return NetworkViewID
function CS.UnityEngine.Network:AllocateViewID() end

--
--Network instantiate a Prefab.
--
---@source UnityEngine.CoreModule.dll
---@param prefab UnityEngine.Object
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param group int
---@return Object
function CS.UnityEngine.Network:Instantiate(prefab, position, rotation, group) end

--
--Destroy the object associated with this view ID across the network.
--
---@source UnityEngine.CoreModule.dll
---@param viewID UnityEngine.NetworkViewID
function CS.UnityEngine.Network:Destroy(viewID) end

--
--Destroy the object across the network.
--
---@source UnityEngine.CoreModule.dll
---@param gameObject UnityEngine.GameObject
function CS.UnityEngine.Network:Destroy(gameObject) end

--
--Destroy all the objects based on view IDs belonging to this player.
--
---@source UnityEngine.CoreModule.dll
---@param playerID UnityEngine.NetworkPlayer
function CS.UnityEngine.Network:DestroyPlayerObjects(playerID) end

--
--Remove all RPC functions which belong to this player ID.
--
---@source UnityEngine.CoreModule.dll
---@param playerID UnityEngine.NetworkPlayer
function CS.UnityEngine.Network:RemoveRPCs(playerID) end

--
--Remove all RPC functions which belong to this player ID and were sent based on the given group.
--
---@source UnityEngine.CoreModule.dll
---@param playerID UnityEngine.NetworkPlayer
---@param group int
function CS.UnityEngine.Network:RemoveRPCs(playerID, group) end

--
--Remove the RPC function calls accociated with this view ID number.
--
---@source UnityEngine.CoreModule.dll
---@param viewID UnityEngine.NetworkViewID
function CS.UnityEngine.Network:RemoveRPCs(viewID) end

--
--Remove all RPC functions which belong to given group number.
--
---@source UnityEngine.CoreModule.dll
---@param group int
function CS.UnityEngine.Network:RemoveRPCsInGroup(group) end

--
--Set the level prefix which will then be prefixed to all network ViewID numbers.
--
---@source UnityEngine.CoreModule.dll
---@param prefix int
function CS.UnityEngine.Network:SetLevelPrefix(prefix) end

--
--The last ping time to the given player in milliseconds.
--
---@source UnityEngine.CoreModule.dll
---@param player UnityEngine.NetworkPlayer
---@return Int32
function CS.UnityEngine.Network:GetLastPing(player) end

--
--The last average ping time to the given player in milliseconds.
--
---@source UnityEngine.CoreModule.dll
---@param player UnityEngine.NetworkPlayer
---@return Int32
function CS.UnityEngine.Network:GetAveragePing(player) end

--
--Enable or disables the reception of messages in a specific group number from a specific player.
--
---@source UnityEngine.CoreModule.dll
---@param player UnityEngine.NetworkPlayer
---@param group int
---@param enabled bool
function CS.UnityEngine.Network:SetReceivingEnabled(player, group, enabled) end

--
--Enables or disables transmission of messages and RPC calls on a specific network group number.
--
---@source UnityEngine.CoreModule.dll
---@param group int
---@param enabled bool
function CS.UnityEngine.Network:SetSendingEnabled(group, enabled) end

--
--Enable or disable transmission of messages and RPC calls based on target network player as well as the network group.
--
---@source UnityEngine.CoreModule.dll
---@param player UnityEngine.NetworkPlayer
---@param group int
---@param enabled bool
function CS.UnityEngine.Network:SetSendingEnabled(player, group, enabled) end

--
--Test this machines network connection.
--
---@source UnityEngine.CoreModule.dll
---@return ConnectionTesterStatus
function CS.UnityEngine.Network:TestConnection() end

--
--Test this machines network connection.
--
---@source UnityEngine.CoreModule.dll
---@param forceTest bool
---@return ConnectionTesterStatus
function CS.UnityEngine.Network:TestConnection(forceTest) end

--
--Test the connection specifically for NAT punch-through connectivity.
--
---@source UnityEngine.CoreModule.dll
---@return ConnectionTesterStatus
function CS.UnityEngine.Network:TestConnectionNAT() end

--
--Test the connection specifically for NAT punch-through connectivity.
--
---@source UnityEngine.CoreModule.dll
---@param forceTest bool
---@return ConnectionTesterStatus
function CS.UnityEngine.Network:TestConnectionNAT(forceTest) end

--
--Check if this machine has a public IP address.
--
---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.Network:HavePublicAddress() end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ILogHandler
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ILogHandler = {}

--
--Logs a formatted message.
--
--```plaintext
--Params: logType - The type of the log message.
--        context - Object to which the message applies.
--        format - A composite format string.
--        args - Format arguments.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@param context UnityEngine.Object
---@param format string
---@param args object[]
function CS.UnityEngine.ILogHandler.LogFormat(logType, context, format, args) end

--
--A variant of ILogHandler.LogFormat that logs an exception message.
--
--```plaintext
--Params: exception - Runtime Exception.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param exception System.Exception
---@param context UnityEngine.Object
function CS.UnityEngine.ILogHandler.LogException(exception, context) end


--
--The BitStream class represents seralized variables, packed into a stream.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.BitStream: object
--
--Is the BitStream currently being read? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field isReading bool
--
--Is the BitStream currently being written? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field isWriting bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.BitStream = {}

---@source UnityEngine.CoreModule.dll
---@param value bool
function CS.UnityEngine.BitStream.Serialize(value) end

---@source UnityEngine.CoreModule.dll
---@param value char
function CS.UnityEngine.BitStream.Serialize(value) end

---@source UnityEngine.CoreModule.dll
---@param value short
function CS.UnityEngine.BitStream.Serialize(value) end

---@source UnityEngine.CoreModule.dll
---@param value int
function CS.UnityEngine.BitStream.Serialize(value) end

---@source UnityEngine.CoreModule.dll
---@param value float
function CS.UnityEngine.BitStream.Serialize(value) end

---@source UnityEngine.CoreModule.dll
---@param value float
---@param maxDelta float
function CS.UnityEngine.BitStream.Serialize(value, maxDelta) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Quaternion
function CS.UnityEngine.BitStream.Serialize(value) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Quaternion
---@param maxDelta float
function CS.UnityEngine.BitStream.Serialize(value, maxDelta) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Vector3
function CS.UnityEngine.BitStream.Serialize(value) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.Vector3
---@param maxDelta float
function CS.UnityEngine.BitStream.Serialize(value, maxDelta) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.NetworkPlayer
function CS.UnityEngine.BitStream.Serialize(value) end

---@source UnityEngine.CoreModule.dll
---@param viewID UnityEngine.NetworkViewID
function CS.UnityEngine.BitStream.Serialize(viewID) end


--
--Initializes a new instance of the Logger.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Logger: object
--
--Set  Logger.ILogHandler.
--
---@source UnityEngine.CoreModule.dll
---@field logHandler UnityEngine.ILogHandler
--
--To runtime toggle debug logging [ON/OFF].
--
---@source UnityEngine.CoreModule.dll
---@field logEnabled bool
--
--To selective enable debug log message.
--
---@source UnityEngine.CoreModule.dll
---@field filterLogType UnityEngine.LogType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Logger = {}

--
--Retrun true in case logs of LogType will be logged otherwise returns false.
--
--```plaintext
--Params: logType - The type of the log message.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@return Boolean
function CS.UnityEngine.Logger.IsLogTypeAllowed(logType) end

--
--Logs message to the Unity Console using default logger.
--
--```plaintext
--Params: logType - The type of the log message.
--        tag - Used to identify the source of a log message. It usually identifies the class where the log call occurs.
--        message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@param message object
function CS.UnityEngine.Logger.Log(logType, message) end

--
--Logs message to the Unity Console using default logger.
--
--```plaintext
--Params: logType - The type of the log message.
--        tag - Used to identify the source of a log message. It usually identifies the class where the log call occurs.
--        message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@param message object
---@param context UnityEngine.Object
function CS.UnityEngine.Logger.Log(logType, message, context) end

--
--Logs message to the Unity Console using default logger.
--
--```plaintext
--Params: logType - The type of the log message.
--        tag - Used to identify the source of a log message. It usually identifies the class where the log call occurs.
--        message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@param tag string
---@param message object
function CS.UnityEngine.Logger.Log(logType, tag, message) end

--
--Logs message to the Unity Console using default logger.
--
--```plaintext
--Params: logType - The type of the log message.
--        tag - Used to identify the source of a log message. It usually identifies the class where the log call occurs.
--        message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@param tag string
---@param message object
---@param context UnityEngine.Object
function CS.UnityEngine.Logger.Log(logType, tag, message, context) end

--
--Logs message to the Unity Console using default logger.
--
--```plaintext
--Params: logType - The type of the log message.
--        tag - Used to identify the source of a log message. It usually identifies the class where the log call occurs.
--        message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param message object
function CS.UnityEngine.Logger.Log(message) end

--
--Logs message to the Unity Console using default logger.
--
--```plaintext
--Params: logType - The type of the log message.
--        tag - Used to identify the source of a log message. It usually identifies the class where the log call occurs.
--        message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@param message object
function CS.UnityEngine.Logger.Log(tag, message) end

--
--Logs message to the Unity Console using default logger.
--
--```plaintext
--Params: logType - The type of the log message.
--        tag - Used to identify the source of a log message. It usually identifies the class where the log call occurs.
--        message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@param message object
---@param context UnityEngine.Object
function CS.UnityEngine.Logger.Log(tag, message, context) end

--
--A variant of Logger.Log that logs an warning message.
--
--```plaintext
--Params: tag - Used to identify the source of a log message. It usually identifies the class where the log call occurs.
--        message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@param message object
function CS.UnityEngine.Logger.LogWarning(tag, message) end

--
--A variant of Logger.Log that logs an warning message.
--
--```plaintext
--Params: tag - Used to identify the source of a log message. It usually identifies the class where the log call occurs.
--        message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@param message object
---@param context UnityEngine.Object
function CS.UnityEngine.Logger.LogWarning(tag, message, context) end

--
--A variant of Logger.Log that logs an error message.
--
--```plaintext
--Params: tag - Used to identify the source of a log message. It usually identifies the class where the log call occurs.
--        message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@param message object
function CS.UnityEngine.Logger.LogError(tag, message) end

--
--A variant of Logger.Log that logs an error message.
--
--```plaintext
--Params: tag - Used to identify the source of a log message. It usually identifies the class where the log call occurs.
--        message - String or object to be converted to string representation for display.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@param message object
---@param context UnityEngine.Object
function CS.UnityEngine.Logger.LogError(tag, message, context) end

--
--A variant of Logger.Log that logs an exception message.
--
--```plaintext
--Params: exception - Runtime Exception.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param exception System.Exception
function CS.UnityEngine.Logger.LogException(exception) end

--
--A variant of Logger.Log that logs an exception message.
--
--```plaintext
--Params: exception - Runtime Exception.
--        context - Object to which the message applies.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param exception System.Exception
---@param context UnityEngine.Object
function CS.UnityEngine.Logger.LogException(exception, context) end

--
--Logs a formatted message.
--
--```plaintext
--Params: logType - The type of the log message.
--        context - Object to which the message applies.
--        format - A composite format string.
--        args - Format arguments.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@param format string
---@param args object[]
function CS.UnityEngine.Logger.LogFormat(logType, format, args) end

--
--Logs a formatted message.
--
--```plaintext
--Params: logType - The type of the log message.
--        context - Object to which the message applies.
--        format - A composite format string.
--        args - Format arguments.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param logType UnityEngine.LogType
---@param context UnityEngine.Object
---@param format string
---@param args object[]
function CS.UnityEngine.Logger.LogFormat(logType, context, format, args) end


--
--Attribute for setting up RPC functions.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RPC: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RPC = {}


--
--Representation of RGBA colors.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Color: System.ValueType
--
--Red component of the color.
--
---@source UnityEngine.CoreModule.dll
---@field r float
--
--Green component of the color.
--
---@source UnityEngine.CoreModule.dll
---@field g float
--
--Blue component of the color.
--
---@source UnityEngine.CoreModule.dll
---@field b float
--
--Alpha component of the color (0 is transparent, 1 is opaque).
--
---@source UnityEngine.CoreModule.dll
---@field a float
--
--Solid red. RGBA is (1, 0, 0, 1).
--
---@source UnityEngine.CoreModule.dll
---@field red UnityEngine.Color
--
--Solid green. RGBA is (0, 1, 0, 1).
--
---@source UnityEngine.CoreModule.dll
---@field green UnityEngine.Color
--
--Solid blue. RGBA is (0, 0, 1, 1).
--
---@source UnityEngine.CoreModule.dll
---@field blue UnityEngine.Color
--
--Solid white. RGBA is (1, 1, 1, 1).
--
---@source UnityEngine.CoreModule.dll
---@field white UnityEngine.Color
--
--Solid black. RGBA is (0, 0, 0, 1).
--
---@source UnityEngine.CoreModule.dll
---@field black UnityEngine.Color
--
--Yellow. RGBA is (1, 0.92, 0.016, 1), but the color is nice to look at!
--
---@source UnityEngine.CoreModule.dll
---@field yellow UnityEngine.Color
--
--Cyan. RGBA is (0, 1, 1, 1).
--
---@source UnityEngine.CoreModule.dll
---@field cyan UnityEngine.Color
--
--Magenta. RGBA is (1, 0, 1, 1).
--
---@source UnityEngine.CoreModule.dll
---@field magenta UnityEngine.Color
--
--Gray. RGBA is (0.5, 0.5, 0.5, 1).
--
---@source UnityEngine.CoreModule.dll
---@field gray UnityEngine.Color
--
--English spelling for gray. RGBA is the same (0.5, 0.5, 0.5, 1).
--
---@source UnityEngine.CoreModule.dll
---@field grey UnityEngine.Color
--
--Completely transparent. RGBA is (0, 0, 0, 0).
--
---@source UnityEngine.CoreModule.dll
---@field clear UnityEngine.Color
--
--The grayscale value of the color. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field grayscale float
--
--A linear value of an sRGB color.
--
---@source UnityEngine.CoreModule.dll
---@field linear UnityEngine.Color
--
--A version of the color that has had the gamma curve applied.
--
---@source UnityEngine.CoreModule.dll
---@field gamma UnityEngine.Color
--
--Returns the maximum color component value: Max(r,g,b).
--
---@source UnityEngine.CoreModule.dll
---@field maxColorComponent float
---@source UnityEngine.CoreModule.dll
---@field this[] float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Color = {}

--
--Returns a formatted string of this color.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Color.ToString() end

--
--Returns a formatted string of this color.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.Color.ToString(format) end

--
--Returns a formatted string of this color.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.Color.ToString(format, formatProvider) end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Color.GetHashCode() end

---@source UnityEngine.CoreModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.Color.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.Color
---@return Boolean
function CS.UnityEngine.Color.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Color
---@param b UnityEngine.Color
---@return Color
function CS.UnityEngine.Color:op_Addition(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Color
---@param b UnityEngine.Color
---@return Color
function CS.UnityEngine.Color:op_Subtraction(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Color
---@param b UnityEngine.Color
---@return Color
function CS.UnityEngine.Color:op_Multiply(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Color
---@param b float
---@return Color
function CS.UnityEngine.Color:op_Multiply(a, b) end

---@source UnityEngine.CoreModule.dll
---@param b float
---@param a UnityEngine.Color
---@return Color
function CS.UnityEngine.Color:op_Multiply(b, a) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Color
---@param b float
---@return Color
function CS.UnityEngine.Color:op_Division(a, b) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Color
---@param rhs UnityEngine.Color
---@return Boolean
function CS.UnityEngine.Color:op_Equality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Color
---@param rhs UnityEngine.Color
---@return Boolean
function CS.UnityEngine.Color:op_Inequality(lhs, rhs) end

--
--Linearly interpolates between colors a and b by t.
--
--```plaintext
--Params: a - Color a.
--        b - Color b.
--        t - Float for combining a and b.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Color
---@param b UnityEngine.Color
---@param t float
---@return Color
function CS.UnityEngine.Color:Lerp(a, b, t) end

--
--Linearly interpolates between colors a and b by t.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Color
---@param b UnityEngine.Color
---@param t float
---@return Color
function CS.UnityEngine.Color:LerpUnclamped(a, b, t) end

---@source UnityEngine.CoreModule.dll
---@param c UnityEngine.Color
---@return Vector4
function CS.UnityEngine.Color:op_Implicit(c) end

---@source UnityEngine.CoreModule.dll
---@param v UnityEngine.Vector4
---@return Color
function CS.UnityEngine.Color:op_Implicit(v) end

---@source UnityEngine.CoreModule.dll
---@param rgbColor UnityEngine.Color
---@param H float
---@param S float
---@param V float
function CS.UnityEngine.Color:RGBToHSV(rgbColor, H, S, V) end

--
--An opaque colour with HSV matching the input.
--
--```plaintext
--Params: H - Hue [0..1].
--        S - Saturation [0..1].
--        V - Brightness value [0..1].
--        hdr - Output HDR colours. If true, the returned colour will not be clamped to [0..1].
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param H float
---@param S float
---@param V float
---@return Color
function CS.UnityEngine.Color:HSVToRGB(H, S, V) end

--
--An opaque colour with HSV matching the input.
--
--```plaintext
--Params: H - Hue [0..1].
--        S - Saturation [0..1].
--        V - Brightness value [0..1].
--        hdr - Output HDR colours. If true, the returned colour will not be clamped to [0..1].
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param H float
---@param S float
---@param V float
---@param hdr bool
---@return Color
function CS.UnityEngine.Color:HSVToRGB(H, S, V, hdr) end


--
--This is the data structure for holding individual host information.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.HostData: object
--
--Does this server require NAT punchthrough?
--
---@source UnityEngine.CoreModule.dll
---@field useNat bool
--
--The type of the game (like "MyUniqueGameType").
--
---@source UnityEngine.CoreModule.dll
---@field gameType string
--
--The name of the game (like John Doe's Game).
--
---@source UnityEngine.CoreModule.dll
---@field gameName string
--
--Currently connected players.
--
---@source UnityEngine.CoreModule.dll
---@field connectedPlayers int
--
--Maximum players limit.
--
---@source UnityEngine.CoreModule.dll
---@field playerLimit int
--
--Server IP address.
--
---@source UnityEngine.CoreModule.dll
---@field ip string[]
--
--Server port.
--
---@source UnityEngine.CoreModule.dll
---@field port int
--
--Does the server require a password?
--
---@source UnityEngine.CoreModule.dll
---@field passwordProtected bool
--
--A miscellaneous comment (can hold data).
--
---@source UnityEngine.CoreModule.dll
---@field comment string
--
--The GUID of the host, needed when connecting with NAT punchthrough.
--
---@source UnityEngine.CoreModule.dll
---@field guid string
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.HostData = {}


--
--Representation of RGBA colors in 32 bit format.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Color32: System.ValueType
--
--Red component of the color.
--
---@source UnityEngine.CoreModule.dll
---@field r byte
--
--Green component of the color.
--
---@source UnityEngine.CoreModule.dll
---@field g byte
--
--Blue component of the color.
--
---@source UnityEngine.CoreModule.dll
---@field b byte
--
--Alpha component of the color.
--
---@source UnityEngine.CoreModule.dll
---@field a byte
---@source UnityEngine.CoreModule.dll
---@field this[] byte
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Color32 = {}

---@source UnityEngine.CoreModule.dll
---@param c UnityEngine.Color
---@return Color32
function CS.UnityEngine.Color32:op_Implicit(c) end

---@source UnityEngine.CoreModule.dll
---@param c UnityEngine.Color32
---@return Color
function CS.UnityEngine.Color32:op_Implicit(c) end

--
--Linearly interpolates between colors a and b by t.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Color32
---@param b UnityEngine.Color32
---@param t float
---@return Color32
function CS.UnityEngine.Color32:Lerp(a, b, t) end

--
--Linearly interpolates between colors a and b by t.
--
---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Color32
---@param b UnityEngine.Color32
---@param t float
---@return Color32
function CS.UnityEngine.Color32:LerpUnclamped(a, b, t) end

--
--Returns a formatted string for this color.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Color32.ToString() end

--
--Returns a formatted string for this color.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.Color32.ToString(format) end

--
--Returns a formatted string for this color.
--
--```plaintext
--Params: format - A numeric format string.
--        formatProvider - An object that specifies culture-specific formatting.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format string
---@param formatProvider System.IFormatProvider
---@return String
function CS.UnityEngine.Color32.ToString(format, formatProvider) end


--
--A collection of common color functions.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ColorUtility: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ColorUtility = {}

---@source UnityEngine.CoreModule.dll
---@param htmlString string
---@param color UnityEngine.Color
---@return Boolean
function CS.UnityEngine.ColorUtility:TryParseHtmlString(htmlString, color) end

--
--Hexadecimal string representing the color.
--
--```plaintext
--Params: color - The color to be converted.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param color UnityEngine.Color
---@return String
function CS.UnityEngine.ColorUtility:ToHtmlStringRGB(color) end

--
--Hexadecimal string representing the color.
--
--```plaintext
--Params: color - The color to be converted.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param color UnityEngine.Color
---@return String
function CS.UnityEngine.ColorUtility:ToHtmlStringRGBA(color) end


--
--Color key used by Gradient.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.GradientColorKey: System.ValueType
--
--Color of key.
--
---@source UnityEngine.CoreModule.dll
---@field color UnityEngine.Color
--
--Time of the key (0 - 1).
--
---@source UnityEngine.CoreModule.dll
---@field time float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.GradientColorKey = {}


--
--Alpha key used by Gradient.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.GradientAlphaKey: System.ValueType
--
--Alpha channel of key.
--
---@source UnityEngine.CoreModule.dll
---@field alpha float
--
--Time of the key (0 - 1).
--
---@source UnityEngine.CoreModule.dll
---@field time float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.GradientAlphaKey = {}


--
--The Master Server is used to make matchmaking between servers and clients easy.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MasterServer: object
--
--The IP address of the master server.
--
---@source UnityEngine.CoreModule.dll
---@field ipAddress string
--
--The connection port of the master server.
--
---@source UnityEngine.CoreModule.dll
---@field port int
--
--Set the minimum update rate for master server host information update.
--
---@source UnityEngine.CoreModule.dll
---@field updateRate int
--
--Report this machine as a dedicated server.
--
---@source UnityEngine.CoreModule.dll
---@field dedicatedServer bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MasterServer = {}

--
--Request a host list from the master server.
--
---@source UnityEngine.CoreModule.dll
---@param gameTypeName string
function CS.UnityEngine.MasterServer:RequestHostList(gameTypeName) end

--
--Check for the latest host list received by using MasterServer.RequestHostList.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.MasterServer:PollHostList() end

--
--Register this server on the master server.
--
---@source UnityEngine.CoreModule.dll
---@param gameTypeName string
---@param gameName string
function CS.UnityEngine.MasterServer:RegisterHost(gameTypeName, gameName) end

--
--Register this server on the master server.
--
---@source UnityEngine.CoreModule.dll
---@param gameTypeName string
---@param gameName string
---@param comment string
function CS.UnityEngine.MasterServer:RegisterHost(gameTypeName, gameName, comment) end

--
--Unregister this server from the master server.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.MasterServer:UnregisterHost() end

--
--Clear the host list which was received by MasterServer.PollHostList.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.MasterServer:ClearHostList() end


--
--Select how gradients will be evaluated.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.GradientMode: System.Enum
--
--Find the 2 keys adjacent to the requested evaluation time, and linearly interpolate between them to obtain a blended color.
--
---@source UnityEngine.CoreModule.dll
---@field Blend UnityEngine.GradientMode
--
--Return a fixed color, by finding the first key whose time value is greater than the requested evaluation time.
--
---@source UnityEngine.CoreModule.dll
---@field Fixed UnityEngine.GradientMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.GradientMode = {}

---@source 
---@param value any
---@return UnityEngine.GradientMode
function CS.UnityEngine.GradientMode:__CastFrom(value) end


--
--This data structure contains information on a message just received from the network.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.NetworkMessageInfo: System.ValueType
--
--The time stamp when the Message was sent in seconds.
--
---@source UnityEngine.CoreModule.dll
---@field timestamp double
--
--The player who sent this network message (owner).
--
---@source UnityEngine.CoreModule.dll
---@field sender UnityEngine.NetworkPlayer
--
--The NetworkView who sent this message.
--
---@source UnityEngine.CoreModule.dll
---@field networkView UnityEngine.NetworkView
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.NetworkMessageInfo = {}


--
--Gradient used for animating colors.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Gradient: object
--
--All color keys defined in the gradient.
--
---@source UnityEngine.CoreModule.dll
---@field colorKeys UnityEngine.GradientColorKey[]
--
--All alpha keys defined in the gradient.
--
---@source UnityEngine.CoreModule.dll
---@field alphaKeys UnityEngine.GradientAlphaKey[]
--
--Control how the gradient is evaluated.
--
---@source UnityEngine.CoreModule.dll
---@field mode UnityEngine.GradientMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Gradient = {}

--
--Calculate color at a given time.
--
--```plaintext
--Params: time - Time of the key (0 - 1).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param time float
---@return Color
function CS.UnityEngine.Gradient.Evaluate(time) end

--
--Setup Gradient with an array of color keys and alpha keys.
--
--```plaintext
--Params: colorKeys - Color keys of the gradient (maximum 8 color keys).
--        alphaKeys - Alpha keys of the gradient (maximum 8 alpha keys).
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param colorKeys UnityEngine.GradientColorKey[]
---@param alphaKeys UnityEngine.GradientAlphaKey[]
function CS.UnityEngine.Gradient.SetKeys(colorKeys, alphaKeys) end

---@source UnityEngine.CoreModule.dll
---@param o object
---@return Boolean
function CS.UnityEngine.Gradient.Equals(o) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.Gradient
---@return Boolean
function CS.UnityEngine.Gradient.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Gradient.GetHashCode() end


--
--Ping any given IP address (given in dot notation).
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Ping: object
--
--Has the ping function completed?
--
---@source UnityEngine.CoreModule.dll
---@field isDone bool
--
--This property contains the ping time result after isDone returns true.
--
---@source UnityEngine.CoreModule.dll
---@field time int
--
--The IP target of the ping.
--
---@source UnityEngine.CoreModule.dll
---@field ip string
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Ping = {}

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Ping.DestroyPing() end


--
--An exception thrown by the PlayerPrefs class in a  web player build.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.PlayerPrefsException: System.Exception
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.PlayerPrefsException = {}


--
--`PlayerPrefs` is a class that stores Player preferences between game sessions. It can store string, float and integer values into the user’s platform registry.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.PlayerPrefs: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.PlayerPrefs = {}

--
--Sets a single integer value for the preference identified by the given key. You can use PlayerPrefs.GetInt to retrieve this value.
--
---@source UnityEngine.CoreModule.dll
---@param key string
---@param value int
function CS.UnityEngine.PlayerPrefs:SetInt(key, value) end

--
--Returns the value corresponding to key in the preference file if it exists.
--
---@source UnityEngine.CoreModule.dll
---@param key string
---@param defaultValue int
---@return Int32
function CS.UnityEngine.PlayerPrefs:GetInt(key, defaultValue) end

--
--Returns the value corresponding to key in the preference file if it exists.
--
---@source UnityEngine.CoreModule.dll
---@param key string
---@return Int32
function CS.UnityEngine.PlayerPrefs:GetInt(key) end

--
--Sets the float value of the preference identified by the given key. You can use PlayerPrefs.GetFloat to retrieve this value.
--
---@source UnityEngine.CoreModule.dll
---@param key string
---@param value float
function CS.UnityEngine.PlayerPrefs:SetFloat(key, value) end

--
--Returns the value corresponding to key in the preference file if it exists.
--
---@source UnityEngine.CoreModule.dll
---@param key string
---@param defaultValue float
---@return Single
function CS.UnityEngine.PlayerPrefs:GetFloat(key, defaultValue) end

--
--Returns the value corresponding to key in the preference file if it exists.
--
---@source UnityEngine.CoreModule.dll
---@param key string
---@return Single
function CS.UnityEngine.PlayerPrefs:GetFloat(key) end

--
--Sets a single string value for the preference identified by the given key. You can use PlayerPrefs.GetString to retrieve this value.
--
---@source UnityEngine.CoreModule.dll
---@param key string
---@param value string
function CS.UnityEngine.PlayerPrefs:SetString(key, value) end

--
--Returns the value corresponding to key in the preference file if it exists.
--
---@source UnityEngine.CoreModule.dll
---@param key string
---@param defaultValue string
---@return String
function CS.UnityEngine.PlayerPrefs:GetString(key, defaultValue) end

--
--Returns the value corresponding to key in the preference file if it exists.
--
---@source UnityEngine.CoreModule.dll
---@param key string
---@return String
function CS.UnityEngine.PlayerPrefs:GetString(key) end

--
--Returns true if the given key exists in PlayerPrefs, otherwise returns false.
--
---@source UnityEngine.CoreModule.dll
---@param key string
---@return Boolean
function CS.UnityEngine.PlayerPrefs:HasKey(key) end

--
--Removes the given key from the PlayerPrefs. If the key does not exist, DeleteKey has no impact.
--
---@source UnityEngine.CoreModule.dll
---@param key string
function CS.UnityEngine.PlayerPrefs:DeleteKey(key) end

--
--Removes all keys and values from the preferences. Use with caution.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.PlayerPrefs:DeleteAll() end

--
--Writes all modified preferences to disk.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.PlayerPrefs:Save() end


--
--Base class to derive custom property attributes from. Use this to create custom attributes for script variables.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.PropertyAttribute: System.Attribute
--
--Optional field to specify the order that multiple DecorationDrawers should be drawn in.
--
---@source UnityEngine.CoreModule.dll
---@field order int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.PropertyAttribute = {}


--
--Use this attribute to add a context menu to a field that calls a  named method.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ContextMenuItemAttribute: UnityEngine.PropertyAttribute
--
--The name of the context menu item.
--
---@source UnityEngine.CoreModule.dll
---@field name string
--
--The name of the function that should be called.
--
---@source UnityEngine.CoreModule.dll
---@field function string
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ContextMenuItemAttribute = {}


--
--Use this attribute on enum value declarations to change the display name shown in the Inspector.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.InspectorNameAttribute: UnityEngine.PropertyAttribute
--
--Name to display in the Inspector.
--
---@source UnityEngine.CoreModule.dll
---@field displayName string
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.InspectorNameAttribute = {}


--
--Specify a tooltip for a field in the Inspector window.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.TooltipAttribute: UnityEngine.PropertyAttribute
--
--The tooltip text.
--
---@source UnityEngine.CoreModule.dll
---@field tooltip string
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.TooltipAttribute = {}


--
--Use this PropertyAttribute to add some spacing in the Inspector.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SpaceAttribute: UnityEngine.PropertyAttribute
--
--The spacing in pixels.
--
---@source UnityEngine.CoreModule.dll
---@field height float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SpaceAttribute = {}


--
--Use this PropertyAttribute to add a header above some fields in the Inspector.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.HeaderAttribute: UnityEngine.PropertyAttribute
--
--The header text.
--
---@source UnityEngine.CoreModule.dll
---@field header string
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.HeaderAttribute = {}


--
--Attribute used to make a float or int variable in a script be restricted to a specific range.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RangeAttribute: UnityEngine.PropertyAttribute
---@source UnityEngine.CoreModule.dll
---@field min float
---@source UnityEngine.CoreModule.dll
---@field max float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RangeAttribute = {}


--
--Attribute used to make a float or int variable in a script be restricted to a specific minimum value.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MinAttribute: UnityEngine.PropertyAttribute
--
--The minimum allowed value.
--
---@source UnityEngine.CoreModule.dll
---@field min float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MinAttribute = {}


--
--Attribute to make a string be edited with a multi-line textfield.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MultilineAttribute: UnityEngine.PropertyAttribute
---@source UnityEngine.CoreModule.dll
---@field lines int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MultilineAttribute = {}


--
--Attribute to make a string be edited with a height-flexible and scrollable text area.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.TextAreaAttribute: UnityEngine.PropertyAttribute
--
--The minimum amount of lines the text area will use.
--
---@source UnityEngine.CoreModule.dll
---@field minLines int
--
--The maximum amount of lines the text area can show before it starts using a scrollbar.
--
---@source UnityEngine.CoreModule.dll
---@field maxLines int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.TextAreaAttribute = {}


--
--Attribute used to configure the usage of the ColorField and Color Picker for a color.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ColorUsageAttribute: UnityEngine.PropertyAttribute
--
--If false then the alpha bar is hidden in the ColorField and the alpha value is not shown in the Color Picker.
--
---@source UnityEngine.CoreModule.dll
---@field showAlpha bool
--
--If set to true the Color is treated as a HDR color.
--
---@source UnityEngine.CoreModule.dll
---@field hdr bool
--
--Minimum allowed HDR color component value when using the Color Picker.
--
---@source UnityEngine.CoreModule.dll
---@field minBrightness float
--
--Maximum allowed HDR color component value when using the HDR Color Picker.
--
---@source UnityEngine.CoreModule.dll
---@field maxBrightness float
--
--Minimum exposure value allowed in the HDR Color Picker.
--
---@source UnityEngine.CoreModule.dll
---@field minExposureValue float
--
--Maximum exposure value allowed in the HDR Color Picker.
--
---@source UnityEngine.CoreModule.dll
---@field maxExposureValue float
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ColorUsageAttribute = {}


--
--Attribute used to configure the usage of the GradientField and Gradient Editor for a gradient.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.GradientUsageAttribute: UnityEngine.PropertyAttribute
--
--If set to true the Gradient uses HDR colors.
--
---@source UnityEngine.CoreModule.dll
---@field hdr bool
--
--The color space the Gradient uses.
--
---@source UnityEngine.CoreModule.dll
---@field colorSpace UnityEngine.ColorSpace
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.GradientUsageAttribute = {}


--
--Attribute used to make a float, int, or string variable in a script be delayed.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.DelayedAttribute: UnityEngine.PropertyAttribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.DelayedAttribute = {}


--
--Disables reordering of an array or list in the Inspector window.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.NonReorderableAttribute: UnityEngine.PropertyAttribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.NonReorderableAttribute = {}


--
--Represents a string as an int for efficient lookup and comparison. Use this for common PropertyNames.
--
--Internally stores just an int to represent the string. A PropertyName can be created from a string but can not be converted back to a string. The same string always results in the same int representing that string. Thus this is a very efficient string representation in both memory and speed when all you need is comparison.
--
--PropertyName is serializable.
--
--ToString() is only implemented for debugging purposes in the editor it returns "theName:3737" in the player it returns "Unknown:3737".
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.PropertyName: System.ValueType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.PropertyName = {}

--
--Indicates whether the specified PropertyName is an Empty string.
--
---@source UnityEngine.CoreModule.dll
---@param prop UnityEngine.PropertyName
---@return Boolean
function CS.UnityEngine.PropertyName:IsNullOrEmpty(prop) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.PropertyName
---@param rhs UnityEngine.PropertyName
---@return Boolean
function CS.UnityEngine.PropertyName:op_Equality(lhs, rhs) end

---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.PropertyName
---@param rhs UnityEngine.PropertyName
---@return Boolean
function CS.UnityEngine.PropertyName:op_Inequality(lhs, rhs) end

--
--Returns the hash code for this PropertyName.
--
---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.PropertyName.GetHashCode() end

--
--Determines whether this instance and a specified object, which must also be a PropertyName object, have the same value.
--
---@source UnityEngine.CoreModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.PropertyName.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.PropertyName
---@return Boolean
function CS.UnityEngine.PropertyName.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param name string
---@return PropertyName
function CS.UnityEngine.PropertyName:op_Implicit(name) end

---@source UnityEngine.CoreModule.dll
---@param id int
---@return PropertyName
function CS.UnityEngine.PropertyName:op_Implicit(id) end

--
--For debugging purposes only. Returns the string value representing the string in the Editor.
--Returns "UnityEngine.PropertyName" in the player.
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.PropertyName.ToString() end


--
--Easily generate random data for games.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Random: object
--
--Gets or sets the full internal state of the random number generator.
--
---@source UnityEngine.CoreModule.dll
---@field state UnityEngine.Random.State
--
--Returns a random float within [0.0..1.0] (range is inclusive) (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field value float
--
--Returns a random point inside or on a sphere with radius 1.0 (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field insideUnitSphere UnityEngine.Vector3
--
--Returns a random point inside or on a circle with radius 1.0 (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field insideUnitCircle UnityEngine.Vector2
--
--Returns a random point on the surface of a sphere with radius 1.0 (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field onUnitSphere UnityEngine.Vector3
--
--Returns a random rotation (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field rotation UnityEngine.Quaternion
--
--Returns a random rotation with uniform distribution (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field rotationUniform UnityEngine.Quaternion
---@source UnityEngine.CoreModule.dll
---@field seed int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Random = {}

--
--Initializes the random number generator state with a seed.
--
--```plaintext
--Params: seed - Seed used to initialize the random number generator.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param seed int
function CS.UnityEngine.Random:InitState(seed) end

--
--Returns a random float within [minInclusive..maxInclusive] (range is inclusive).
--
---@source UnityEngine.CoreModule.dll
---@param minInclusive float
---@param maxInclusive float
---@return Single
function CS.UnityEngine.Random:Range(minInclusive, maxInclusive) end

--
--Return a random int within [minInclusive..maxExclusive) (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@param minInclusive int
---@param maxExclusive int
---@return Int32
function CS.UnityEngine.Random:Range(minInclusive, maxExclusive) end

---@source UnityEngine.CoreModule.dll
---@param min float
---@param max float
---@return Single
function CS.UnityEngine.Random:RandomRange(min, max) end

---@source UnityEngine.CoreModule.dll
---@param min int
---@param max int
---@return Int32
function CS.UnityEngine.Random:RandomRange(min, max) end

--
--A random color with HSV and alpha values in the (inclusive) input ranges. Values for each component are derived via linear interpolation of value.
--
--```plaintext
--Params: hueMin - Minimum hue [0..1].
--        hueMax - Maximum hue [0..1].
--        saturationMin - Minimum saturation [0..1].
--        saturationMax - Maximum saturation [0..1].
--        valueMin - Minimum value [0..1].
--        valueMax - Maximum value [0..1].
--        alphaMin - Minimum alpha [0..1].
--        alphaMax - Maximum alpha [0..1].
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@return Color
function CS.UnityEngine.Random:ColorHSV() end

--
--A random color with HSV and alpha values in the (inclusive) input ranges. Values for each component are derived via linear interpolation of value.
--
--```plaintext
--Params: hueMin - Minimum hue [0..1].
--        hueMax - Maximum hue [0..1].
--        saturationMin - Minimum saturation [0..1].
--        saturationMax - Maximum saturation [0..1].
--        valueMin - Minimum value [0..1].
--        valueMax - Maximum value [0..1].
--        alphaMin - Minimum alpha [0..1].
--        alphaMax - Maximum alpha [0..1].
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param hueMin float
---@param hueMax float
---@return Color
function CS.UnityEngine.Random:ColorHSV(hueMin, hueMax) end

--
--A random color with HSV and alpha values in the (inclusive) input ranges. Values for each component are derived via linear interpolation of value.
--
--```plaintext
--Params: hueMin - Minimum hue [0..1].
--        hueMax - Maximum hue [0..1].
--        saturationMin - Minimum saturation [0..1].
--        saturationMax - Maximum saturation [0..1].
--        valueMin - Minimum value [0..1].
--        valueMax - Maximum value [0..1].
--        alphaMin - Minimum alpha [0..1].
--        alphaMax - Maximum alpha [0..1].
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param hueMin float
---@param hueMax float
---@param saturationMin float
---@param saturationMax float
---@return Color
function CS.UnityEngine.Random:ColorHSV(hueMin, hueMax, saturationMin, saturationMax) end

--
--A random color with HSV and alpha values in the (inclusive) input ranges. Values for each component are derived via linear interpolation of value.
--
--```plaintext
--Params: hueMin - Minimum hue [0..1].
--        hueMax - Maximum hue [0..1].
--        saturationMin - Minimum saturation [0..1].
--        saturationMax - Maximum saturation [0..1].
--        valueMin - Minimum value [0..1].
--        valueMax - Maximum value [0..1].
--        alphaMin - Minimum alpha [0..1].
--        alphaMax - Maximum alpha [0..1].
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param hueMin float
---@param hueMax float
---@param saturationMin float
---@param saturationMax float
---@param valueMin float
---@param valueMax float
---@return Color
function CS.UnityEngine.Random:ColorHSV(hueMin, hueMax, saturationMin, saturationMax, valueMin, valueMax) end

--
--A random color with HSV and alpha values in the (inclusive) input ranges. Values for each component are derived via linear interpolation of value.
--
--```plaintext
--Params: hueMin - Minimum hue [0..1].
--        hueMax - Maximum hue [0..1].
--        saturationMin - Minimum saturation [0..1].
--        saturationMax - Maximum saturation [0..1].
--        valueMin - Minimum value [0..1].
--        valueMax - Maximum value [0..1].
--        alphaMin - Minimum alpha [0..1].
--        alphaMax - Maximum alpha [0..1].
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param hueMin float
---@param hueMax float
---@param saturationMin float
---@param saturationMax float
---@param valueMin float
---@param valueMax float
---@param alphaMin float
---@param alphaMax float
---@return Color
function CS.UnityEngine.Random:ColorHSV(hueMin, hueMax, saturationMin, saturationMax, valueMin, valueMax, alphaMin, alphaMax) end


--
--Behaviours are Components that can be enabled or disabled.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Behaviour: UnityEngine.Component
--
--Enabled Behaviours are Updated, disabled Behaviours are not.
--
---@source UnityEngine.CoreModule.dll
---@field enabled bool
--
--Has the Behaviour had active and enabled called?
--
---@source UnityEngine.CoreModule.dll
---@field isActiveAndEnabled bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Behaviour = {}


--
--Base class for everything attached to GameObjects.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Component: UnityEngine.Object
--
--The Transform attached to this GameObject.
--
---@source UnityEngine.CoreModule.dll
---@field transform UnityEngine.Transform
--
--The game object this component is attached to. A component is always attached to a game object.
--
---@source UnityEngine.CoreModule.dll
---@field gameObject UnityEngine.GameObject
--
--The tag of this game object.
--
---@source UnityEngine.CoreModule.dll
---@field tag string
--
--The Rigidbody attached to this GameObject. (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field rigidbody UnityEngine.Component
--
--The Rigidbody2D that is attached to the Component's GameObject.
--
---@source UnityEngine.CoreModule.dll
---@field rigidbody2D UnityEngine.Component
--
--The Camera attached to this GameObject. (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field camera UnityEngine.Component
--
--The Light attached to this GameObject. (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field light UnityEngine.Component
--
--The Animation attached to this GameObject. (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field animation UnityEngine.Component
--
--The ConstantForce attached to this GameObject. (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field constantForce UnityEngine.Component
--
--The Renderer attached to this GameObject. (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field renderer UnityEngine.Component
--
--The AudioSource attached to this GameObject. (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field audio UnityEngine.Component
--
--The NetworkView attached to this GameObject (Read Only). (null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field networkView UnityEngine.Component
--
--The Collider attached to this GameObject. (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field collider UnityEngine.Component
--
--The Collider2D component attached to the object.
--
---@source UnityEngine.CoreModule.dll
---@field collider2D UnityEngine.Component
--
--The HingeJoint attached to this GameObject. (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field hingeJoint UnityEngine.Component
--
--The ParticleSystem attached to this GameObject. (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field particleSystem UnityEngine.Component
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Component = {}

--
--Returns the component of Type type if the GameObject has one attached, null if it doesn't. Will also return disabled components.
--
--```plaintext
--Params: type - The type of Component to retrieve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@return Component
function CS.UnityEngine.Component.GetComponent(type) end

---@source UnityEngine.CoreModule.dll
---@return T
function CS.UnityEngine.Component.GetComponent() end

---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@param component UnityEngine.Component
---@return Boolean
function CS.UnityEngine.Component.TryGetComponent(type, component) end

---@source UnityEngine.CoreModule.dll
---@param component T
---@return Boolean
function CS.UnityEngine.Component.TryGetComponent(component) end

--
--Returns the component with name type if the GameObject has one attached, null if it doesn't.
--
---@source UnityEngine.CoreModule.dll
---@param type string
---@return Component
function CS.UnityEngine.Component.GetComponent(type) end

---@source UnityEngine.CoreModule.dll
---@param t System.Type
---@param includeInactive bool
---@return Component
function CS.UnityEngine.Component.GetComponentInChildren(t, includeInactive) end

--
--A component of the matching type, if found.
--
--```plaintext
--Params: t - The type of Component to retrieve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param t System.Type
---@return Component
function CS.UnityEngine.Component.GetComponentInChildren(t) end

---@source UnityEngine.CoreModule.dll
---@param includeInactive bool
---@return T
function CS.UnityEngine.Component.GetComponentInChildren(includeInactive) end

---@source UnityEngine.CoreModule.dll
---@return T
function CS.UnityEngine.Component.GetComponentInChildren() end

--
--Returns all components of Type type in the GameObject or any of its children using depth first search. Works recursively.
--
--```plaintext
--Params: t - The type of Component to retrieve.
--        includeInactive - Should Components on inactive GameObjects be included in the found set? includeInactive decides which children of the GameObject will be searched.  The GameObject that you call GetComponentsInChildren on is always searched regardless. Default is false.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param t System.Type
---@param includeInactive bool
function CS.UnityEngine.Component.GetComponentsInChildren(t, includeInactive) end

---@source UnityEngine.CoreModule.dll
---@param t System.Type
function CS.UnityEngine.Component.GetComponentsInChildren(t) end

---@source UnityEngine.CoreModule.dll
---@param includeInactive bool
function CS.UnityEngine.Component.GetComponentsInChildren(includeInactive) end

---@source UnityEngine.CoreModule.dll
---@param includeInactive bool
---@param result System.Collections.Generic.List<T>
function CS.UnityEngine.Component.GetComponentsInChildren(includeInactive, result) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Component.GetComponentsInChildren() end

---@source UnityEngine.CoreModule.dll
---@param results System.Collections.Generic.List<T>
function CS.UnityEngine.Component.GetComponentsInChildren(results) end

--
--A component of the matching type, if found.
--
--```plaintext
--Params: t - The type of Component to retrieve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param t System.Type
---@return Component
function CS.UnityEngine.Component.GetComponentInParent(t) end

---@source UnityEngine.CoreModule.dll
---@return T
function CS.UnityEngine.Component.GetComponentInParent() end

--
--Returns all components of Type type in the GameObject or any of its parents.
--
--```plaintext
--Params: t - The type of Component to retrieve.
--        includeInactive - Should inactive Components be included in the found set?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param t System.Type
---@param includeInactive bool
function CS.UnityEngine.Component.GetComponentsInParent(t, includeInactive) end

---@source UnityEngine.CoreModule.dll
---@param t System.Type
function CS.UnityEngine.Component.GetComponentsInParent(t) end

---@source UnityEngine.CoreModule.dll
---@param includeInactive bool
function CS.UnityEngine.Component.GetComponentsInParent(includeInactive) end

---@source UnityEngine.CoreModule.dll
---@param includeInactive bool
---@param results System.Collections.Generic.List<T>
function CS.UnityEngine.Component.GetComponentsInParent(includeInactive, results) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Component.GetComponentsInParent() end

--
--Returns all components of Type type in the GameObject.
--
--```plaintext
--Params: type - The type of Component to retrieve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
function CS.UnityEngine.Component.GetComponents(type) end

---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@param results System.Collections.Generic.List<UnityEngine.Component>
function CS.UnityEngine.Component.GetComponents(type, results) end

---@source UnityEngine.CoreModule.dll
---@param results System.Collections.Generic.List<T>
function CS.UnityEngine.Component.GetComponents(results) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Component.GetComponents() end

--
--Is this game object tagged with tag ?
--
--```plaintext
--Params: tag - The tag to compare.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@return Boolean
function CS.UnityEngine.Component.CompareTag(tag) end

--
--Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
--
--```plaintext
--Params: methodName - Name of method to call.
--        value - Optional parameter value for the method.
--        options - Should an error be raised if the method does not exist on the target object?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param value object
---@param options UnityEngine.SendMessageOptions
function CS.UnityEngine.Component.SendMessageUpwards(methodName, value, options) end

--
--Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
--
--```plaintext
--Params: methodName - Name of method to call.
--        value - Optional parameter value for the method.
--        options - Should an error be raised if the method does not exist on the target object?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param value object
function CS.UnityEngine.Component.SendMessageUpwards(methodName, value) end

--
--Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
--
--```plaintext
--Params: methodName - Name of method to call.
--        value - Optional parameter value for the method.
--        options - Should an error be raised if the method does not exist on the target object?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
function CS.UnityEngine.Component.SendMessageUpwards(methodName) end

--
--Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
--
--```plaintext
--Params: methodName - Name of method to call.
--        value - Optional parameter value for the method.
--        options - Should an error be raised if the method does not exist on the target object?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param options UnityEngine.SendMessageOptions
function CS.UnityEngine.Component.SendMessageUpwards(methodName, options) end

--
--Calls the method named methodName on every MonoBehaviour in this game object.
--
--```plaintext
--Params: methodName - Name of the method to call.
--        value - Optional parameter for the method.
--        options - Should an error be raised if the target object doesn't implement the method for the message?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param value object
function CS.UnityEngine.Component.SendMessage(methodName, value) end

--
--Calls the method named methodName on every MonoBehaviour in this game object.
--
--```plaintext
--Params: methodName - Name of the method to call.
--        value - Optional parameter for the method.
--        options - Should an error be raised if the target object doesn't implement the method for the message?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
function CS.UnityEngine.Component.SendMessage(methodName) end

--
--Calls the method named methodName on every MonoBehaviour in this game object.
--
--```plaintext
--Params: methodName - Name of the method to call.
--        value - Optional parameter for the method.
--        options - Should an error be raised if the target object doesn't implement the method for the message?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param value object
---@param options UnityEngine.SendMessageOptions
function CS.UnityEngine.Component.SendMessage(methodName, value, options) end

--
--Calls the method named methodName on every MonoBehaviour in this game object.
--
--```plaintext
--Params: methodName - Name of the method to call.
--        value - Optional parameter for the method.
--        options - Should an error be raised if the target object doesn't implement the method for the message?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param options UnityEngine.SendMessageOptions
function CS.UnityEngine.Component.SendMessage(methodName, options) end

--
--Calls the method named methodName on every MonoBehaviour in this game object or any of its children.
--
--```plaintext
--Params: methodName - Name of the method to call.
--        parameter - Optional parameter to pass to the method (can be any value).
--        options - Should an error be raised if the method does not exist for a given target object?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param parameter object
---@param options UnityEngine.SendMessageOptions
function CS.UnityEngine.Component.BroadcastMessage(methodName, parameter, options) end

--
--Calls the method named methodName on every MonoBehaviour in this game object or any of its children.
--
--```plaintext
--Params: methodName - Name of the method to call.
--        parameter - Optional parameter to pass to the method (can be any value).
--        options - Should an error be raised if the method does not exist for a given target object?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param parameter object
function CS.UnityEngine.Component.BroadcastMessage(methodName, parameter) end

--
--Calls the method named methodName on every MonoBehaviour in this game object or any of its children.
--
--```plaintext
--Params: methodName - Name of the method to call.
--        parameter - Optional parameter to pass to the method (can be any value).
--        options - Should an error be raised if the method does not exist for a given target object?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
function CS.UnityEngine.Component.BroadcastMessage(methodName) end

--
--Calls the method named methodName on every MonoBehaviour in this game object or any of its children.
--
--```plaintext
--Params: methodName - Name of the method to call.
--        parameter - Optional parameter to pass to the method (can be any value).
--        options - Should an error be raised if the method does not exist for a given target object?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param options UnityEngine.SendMessageOptions
function CS.UnityEngine.Component.BroadcastMessage(methodName, options) end


--
--MonoBehaviour.StartCoroutine returns a Coroutine. Instances of this class are only used to reference these coroutines, and do not hold any exposed properties or functions.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Coroutine: UnityEngine.YieldInstruction
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Coroutine = {}


--
--Serializable structure used to hold the full internal state of the random number generator. See Also: Random.state.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.State: System.ValueType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.State = {}


--
--Base class for custom yield instructions to suspend coroutines.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CustomYieldInstruction: object
--
--Indicates if coroutine should be kept suspended.
--
---@source UnityEngine.CoreModule.dll
---@field keepWaiting bool
---@source UnityEngine.CoreModule.dll
---@field Current object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CustomYieldInstruction = {}

---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.CustomYieldInstruction.MoveNext() end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.CustomYieldInstruction.Reset() end


--
--Asynchronous load request from the Resources bundle.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ResourceRequest: UnityEngine.AsyncOperation
--
--Asset object being loaded (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field asset UnityEngine.Object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ResourceRequest = {}


--
--Add this attribute to a class to prevent the class and its inherited classes from being created with ObjectFactory methods.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ExcludeFromObjectFactoryAttribute: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ExcludeFromObjectFactoryAttribute = {}


--
--Derive from this base class to provide alternative implementations to the C# behavior of specific Resources methods.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ResourcesAPI: object
--
--The specific ResourcesAPI instance to use to handle overridden Resources methods.
--
---@source UnityEngine.CoreModule.dll
---@field overrideAPI UnityEngine.ResourcesAPI
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ResourcesAPI = {}


--
--Base class for all entities in Unity Scenes.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.GameObject: UnityEngine.Object
--
--The Transform attached to this GameObject.
--
---@source UnityEngine.CoreModule.dll
---@field transform UnityEngine.Transform
--
--The layer the game object is in.
--
---@source UnityEngine.CoreModule.dll
---@field layer int
---@source UnityEngine.CoreModule.dll
---@field active bool
--
--The local active state of this GameObject. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field activeSelf bool
--
--Defines whether the GameObject is active in the Scene.
--
---@source UnityEngine.CoreModule.dll
---@field activeInHierarchy bool
--
--Gets and sets the GameObject's StaticEditorFlags.
--
---@source UnityEngine.CoreModule.dll
---@field isStatic bool
--
--The tag of this game object.
--
---@source UnityEngine.CoreModule.dll
---@field tag string
--
--Scene that the GameObject is part of.
--
---@source UnityEngine.CoreModule.dll
---@field scene UnityEngine.SceneManagement.Scene
--
--Scene culling mask Unity uses to determine which scene to render the GameObject in.
--
---@source UnityEngine.CoreModule.dll
---@field sceneCullingMask ulong
---@source UnityEngine.CoreModule.dll
---@field gameObject UnityEngine.GameObject
--
--The Rigidbody attached to this GameObject (Read Only). (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field rigidbody UnityEngine.Component
--
--The Rigidbody2D component attached to this GameObject. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field rigidbody2D UnityEngine.Component
--
--The Camera attached to this GameObject (Read Only). (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field camera UnityEngine.Component
--
--The Light attached to this GameObject (Read Only). (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field light UnityEngine.Component
--
--The Animation attached to this GameObject (Read Only). (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field animation UnityEngine.Component
--
--The ConstantForce attached to this GameObject (Read Only). (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field constantForce UnityEngine.Component
--
--The Renderer attached to this GameObject (Read Only). (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field renderer UnityEngine.Component
--
--The AudioSource attached to this GameObject (Read Only). (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field audio UnityEngine.Component
--
--The NetworkView attached to this GameObject (Read Only). (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field networkView UnityEngine.Component
--
--The Collider attached to this GameObject (Read Only). (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field collider UnityEngine.Component
--
--The Collider2D component attached to this object.
--
---@source UnityEngine.CoreModule.dll
---@field collider2D UnityEngine.Component
--
--The HingeJoint attached to this GameObject (Read Only). (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field hingeJoint UnityEngine.Component
--
--The ParticleSystem attached to this GameObject (Read Only). (Null if there is none attached).
--
---@source UnityEngine.CoreModule.dll
---@field particleSystem UnityEngine.Component
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.GameObject = {}

--
--Creates a game object with a primitive mesh renderer and appropriate collider.
--
--```plaintext
--Params: type - The type of primitive object to create.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type UnityEngine.PrimitiveType
---@return GameObject
function CS.UnityEngine.GameObject:CreatePrimitive(type) end

---@source UnityEngine.CoreModule.dll
---@return T
function CS.UnityEngine.GameObject.GetComponent() end

--
--Returns the component of Type type if the game object has one attached, null if it doesn't.
--
--```plaintext
--Params: type - The type of Component to retrieve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@return Component
function CS.UnityEngine.GameObject.GetComponent(type) end

--
--Returns the component with name type if the game object has one attached, null if it doesn't.
--
--```plaintext
--Params: type - The type of Component to retrieve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type string
---@return Component
function CS.UnityEngine.GameObject.GetComponent(type) end

--
--A component of the matching type, if found.
--
--```plaintext
--Params: type - The type of Component to retrieve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@param includeInactive bool
---@return Component
function CS.UnityEngine.GameObject.GetComponentInChildren(type, includeInactive) end

--
--A component of the matching type, if found.
--
--```plaintext
--Params: type - The type of Component to retrieve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@return Component
function CS.UnityEngine.GameObject.GetComponentInChildren(type) end

---@source UnityEngine.CoreModule.dll
---@return T
function CS.UnityEngine.GameObject.GetComponentInChildren() end

---@source UnityEngine.CoreModule.dll
---@param includeInactive bool
---@return T
function CS.UnityEngine.GameObject.GetComponentInChildren(includeInactive) end

--
--Returns a component if a component matching the type is found. Returns null otherwise.
--
--```plaintext
--Params: type - Type of component to find.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@param includeInactive bool
---@return Component
function CS.UnityEngine.GameObject.GetComponentInParent(type, includeInactive) end

--
--Returns a component if a component matching the type is found. Returns null otherwise.
--
--```plaintext
--Params: type - Type of component to find.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@return Component
function CS.UnityEngine.GameObject.GetComponentInParent(type) end

---@source UnityEngine.CoreModule.dll
---@return T
function CS.UnityEngine.GameObject.GetComponentInParent() end

---@source UnityEngine.CoreModule.dll
---@param includeInactive bool
---@return T
function CS.UnityEngine.GameObject.GetComponentInParent(includeInactive) end

--
--Returns all components of Type type in the GameObject.
--
--```plaintext
--Params: type - The type of component to retrieve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
function CS.UnityEngine.GameObject.GetComponents(type) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.GameObject.GetComponents() end

---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@param results System.Collections.Generic.List<UnityEngine.Component>
function CS.UnityEngine.GameObject.GetComponents(type, results) end

---@source UnityEngine.CoreModule.dll
---@param results System.Collections.Generic.List<T>
function CS.UnityEngine.GameObject.GetComponents(results) end

--
--Returns all components of Type type in the GameObject or any of its children children using depth first search. Works recursively.
--
--```plaintext
--Params: type - The type of Component to retrieve.
--        includeInactive - Should Components on inactive GameObjects be included in the found set?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
function CS.UnityEngine.GameObject.GetComponentsInChildren(type) end

--
--Returns all components of Type type in the GameObject or any of its children children using depth first search. Works recursively.
--
--```plaintext
--Params: type - The type of Component to retrieve.
--        includeInactive - Should Components on inactive GameObjects be included in the found set?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@param includeInactive bool
function CS.UnityEngine.GameObject.GetComponentsInChildren(type, includeInactive) end

---@source UnityEngine.CoreModule.dll
---@param includeInactive bool
function CS.UnityEngine.GameObject.GetComponentsInChildren(includeInactive) end

---@source UnityEngine.CoreModule.dll
---@param includeInactive bool
---@param results System.Collections.Generic.List<T>
function CS.UnityEngine.GameObject.GetComponentsInChildren(includeInactive, results) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.GameObject.GetComponentsInChildren() end

---@source UnityEngine.CoreModule.dll
---@param results System.Collections.Generic.List<T>
function CS.UnityEngine.GameObject.GetComponentsInChildren(results) end

---@source UnityEngine.CoreModule.dll
---@param type System.Type
function CS.UnityEngine.GameObject.GetComponentsInParent(type) end

--
--Returns all components of Type type in the GameObject or any of its parents.
--
--```plaintext
--Params: type - The type of Component to retrieve.
--        includeInactive - Should inactive Components be included in the found set?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@param includeInactive bool
function CS.UnityEngine.GameObject.GetComponentsInParent(type, includeInactive) end

---@source UnityEngine.CoreModule.dll
---@param includeInactive bool
---@param results System.Collections.Generic.List<T>
function CS.UnityEngine.GameObject.GetComponentsInParent(includeInactive, results) end

---@source UnityEngine.CoreModule.dll
---@param includeInactive bool
function CS.UnityEngine.GameObject.GetComponentsInParent(includeInactive) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.GameObject.GetComponentsInParent() end

---@source UnityEngine.CoreModule.dll
---@param component T
---@return Boolean
function CS.UnityEngine.GameObject.TryGetComponent(component) end

---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@param component UnityEngine.Component
---@return Boolean
function CS.UnityEngine.GameObject.TryGetComponent(type, component) end

--
--Returns one active GameObject tagged tag. Returns null if no GameObject was found.
--
--```plaintext
--Params: tag - The tag to search for.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@return GameObject
function CS.UnityEngine.GameObject:FindWithTag(tag) end

---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param options UnityEngine.SendMessageOptions
function CS.UnityEngine.GameObject.SendMessageUpwards(methodName, options) end

---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param options UnityEngine.SendMessageOptions
function CS.UnityEngine.GameObject.SendMessage(methodName, options) end

---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param options UnityEngine.SendMessageOptions
function CS.UnityEngine.GameObject.BroadcastMessage(methodName, options) end

--
--Adds a component class of type componentType to the game object. C# Users can use a generic version.
--
---@source UnityEngine.CoreModule.dll
---@param componentType System.Type
---@return Component
function CS.UnityEngine.GameObject.AddComponent(componentType) end

---@source UnityEngine.CoreModule.dll
---@return T
function CS.UnityEngine.GameObject.AddComponent() end

--
--ActivatesDeactivates the GameObject, depending on the given true or false/ value.
--
--```plaintext
--Params: value - Activate or deactivate the object, where true activates the GameObject and false deactivates the GameObject.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param value bool
function CS.UnityEngine.GameObject.SetActive(value) end

---@source UnityEngine.CoreModule.dll
---@param state bool
function CS.UnityEngine.GameObject.SetActiveRecursively(state) end

--
--Is this game object tagged with tag ?
--
--```plaintext
--Params: tag - The tag to compare.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param tag string
---@return Boolean
function CS.UnityEngine.GameObject.CompareTag(tag) end

---@source UnityEngine.CoreModule.dll
---@param tag string
---@return GameObject
function CS.UnityEngine.GameObject:FindGameObjectWithTag(tag) end

--
--Returns an array of active GameObjects tagged tag. Returns empty array if no GameObject was found.
--
--```plaintext
--Params: tag - The name of the tag to search GameObjects for.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param tag string
function CS.UnityEngine.GameObject:FindGameObjectsWithTag(tag) end

--
--Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
--
--```plaintext
--Params: methodName - The name of the method to call.
--        value - An optional parameter value to pass to the called method.
--        options - Should an error be raised if the method doesn't exist on the target object?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param value object
---@param options UnityEngine.SendMessageOptions
function CS.UnityEngine.GameObject.SendMessageUpwards(methodName, value, options) end

--
--Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
--
--```plaintext
--Params: methodName - The name of the method to call.
--        value - An optional parameter value to pass to the called method.
--        options - Should an error be raised if the method doesn't exist on the target object?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param value object
function CS.UnityEngine.GameObject.SendMessageUpwards(methodName, value) end

--
--Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
--
--```plaintext
--Params: methodName - The name of the method to call.
--        value - An optional parameter value to pass to the called method.
--        options - Should an error be raised if the method doesn't exist on the target object?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
function CS.UnityEngine.GameObject.SendMessageUpwards(methodName) end

--
--Calls the method named methodName on every MonoBehaviour in this game object.
--
--```plaintext
--Params: methodName - The name of the method to call.
--        value - An optional parameter value to pass to the called method.
--        options - Should an error be raised if the method doesn't exist on the target object?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param value object
---@param options UnityEngine.SendMessageOptions
function CS.UnityEngine.GameObject.SendMessage(methodName, value, options) end

--
--Calls the method named methodName on every MonoBehaviour in this game object.
--
--```plaintext
--Params: methodName - The name of the method to call.
--        value - An optional parameter value to pass to the called method.
--        options - Should an error be raised if the method doesn't exist on the target object?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param value object
function CS.UnityEngine.GameObject.SendMessage(methodName, value) end

--
--Calls the method named methodName on every MonoBehaviour in this game object.
--
--```plaintext
--Params: methodName - The name of the method to call.
--        value - An optional parameter value to pass to the called method.
--        options - Should an error be raised if the method doesn't exist on the target object?
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
function CS.UnityEngine.GameObject.SendMessage(methodName) end

--
--Calls the method named methodName on every MonoBehaviour in this game object or any of its children.
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param parameter object
---@param options UnityEngine.SendMessageOptions
function CS.UnityEngine.GameObject.BroadcastMessage(methodName, parameter, options) end

--
--Calls the method named methodName on every MonoBehaviour in this game object or any of its children.
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param parameter object
function CS.UnityEngine.GameObject.BroadcastMessage(methodName, parameter) end

--
--Calls the method named methodName on every MonoBehaviour in this game object or any of its children.
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
function CS.UnityEngine.GameObject.BroadcastMessage(methodName) end

--
--Finds a GameObject by name and returns it.
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return GameObject
function CS.UnityEngine.GameObject:Find(name) end

---@source UnityEngine.CoreModule.dll
---@param clip UnityEngine.Object
---@param time float
function CS.UnityEngine.GameObject.SampleAnimation(clip, time) end

--
--Adds a component class named className to the game object.
--
---@source UnityEngine.CoreModule.dll
---@param className string
---@return Component
function CS.UnityEngine.GameObject.AddComponent(className) end

---@source UnityEngine.CoreModule.dll
---@param animation UnityEngine.Object
function CS.UnityEngine.GameObject.PlayAnimation(animation) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.GameObject.StopAnimation() end


--
--The Resources class allows you to find and access Objects including assets.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Resources: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Resources = {}

--
--Returns a list of all objects of Type type.
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
function CS.UnityEngine.Resources:FindObjectsOfTypeAll(type) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Resources:FindObjectsOfTypeAll() end

--
--The requested asset returned as an Object.
--
--```plaintext
--Params: path - Path to the target resource to load.
--        systemTypeInstance - Type filter for objects returned.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param path string
---@return Object
function CS.UnityEngine.Resources:Load(path) end

---@source UnityEngine.CoreModule.dll
---@param path string
---@return T
function CS.UnityEngine.Resources:Load(path) end

--
--The requested asset returned as an Object.
--
--```plaintext
--Params: path - Path to the target resource to load.
--        systemTypeInstance - Type filter for objects returned.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param path string
---@param systemTypeInstance System.Type
---@return Object
function CS.UnityEngine.Resources:Load(path, systemTypeInstance) end

--
--Asynchronously loads an asset stored at path in a Resources folder.
--
--```plaintext
--Params: path - Pathname of the target folder. When using the empty string (i.e., ""), the function will load the entire contents of the Resources folder.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param path string
---@return ResourceRequest
function CS.UnityEngine.Resources:LoadAsync(path) end

---@source UnityEngine.CoreModule.dll
---@param path string
---@return ResourceRequest
function CS.UnityEngine.Resources:LoadAsync(path) end

--
--Asynchronously loads an asset stored at path in a Resources folder.
--
--```plaintext
--Params: path - Pathname of the target folder. When using the empty string (i.e., ""), the function will load the entire contents of the Resources folder.
--        systemTypeInstance - Type filter for objects returned.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param path string
---@param type System.Type
---@return ResourceRequest
function CS.UnityEngine.Resources:LoadAsync(path, type) end

--
--Loads all assets in a folder or file at path in a Resources folder.
--
--```plaintext
--Params: path - Pathname of the target folder. When using the empty string (i.e., ""), the function will load the entire contents of the Resources folder.
--        systemTypeInstance - Type filter for objects returned.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param path string
---@param systemTypeInstance System.Type
function CS.UnityEngine.Resources:LoadAll(path, systemTypeInstance) end

--
--Loads all assets in a folder or file at path in a Resources folder.
--
--```plaintext
--Params: path - Pathname of the target folder. When using the empty string (i.e., ""), the function will load the entire contents of the Resources folder.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param path string
function CS.UnityEngine.Resources:LoadAll(path) end

---@source UnityEngine.CoreModule.dll
---@param path string
function CS.UnityEngine.Resources:LoadAll(path) end

---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@param path string
---@return Object
function CS.UnityEngine.Resources:GetBuiltinResource(type, path) end

---@source UnityEngine.CoreModule.dll
---@param path string
---@return T
function CS.UnityEngine.Resources:GetBuiltinResource(path) end

--
--Unloads assetToUnload from memory.
--
---@source UnityEngine.CoreModule.dll
---@param assetToUnload UnityEngine.Object
function CS.UnityEngine.Resources:UnloadAsset(assetToUnload) end

--
--Object on which you can yield to wait until the operation completes.
--
---@source UnityEngine.CoreModule.dll
---@return AsyncOperation
function CS.UnityEngine.Resources:UnloadUnusedAssets() end

--
--Resolved reference or null if the instance ID didn't match anything.
--
--```plaintext
--Params: instanceID - Instance ID of an Object.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param instanceID int
---@return Object
function CS.UnityEngine.Resources:InstanceIDToObject(instanceID) end

---@source UnityEngine.CoreModule.dll
---@param instanceIDs Unity.Collections.NativeArray<int>
---@param objects System.Collections.Generic.List<UnityEngine.Object>
function CS.UnityEngine.Resources:InstanceIDToObjectList(instanceIDs, objects) end

--
--Returns a resource at an asset path (Editor Only).
--
--```plaintext
--Params: assetPath - Pathname of the target asset.
--        type - Type filter for objects returned.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param assetPath string
---@param type System.Type
---@return Object
function CS.UnityEngine.Resources:LoadAssetAtPath(assetPath, type) end

---@source UnityEngine.CoreModule.dll
---@param assetPath string
---@return T
function CS.UnityEngine.Resources:LoadAssetAtPath(assetPath) end


--
--Specifies Layers to use in a Physics.Raycast.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LayerMask: System.ValueType
--
--Converts a layer mask value to an integer value.
--
---@source UnityEngine.CoreModule.dll
---@field value int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LayerMask = {}

---@source UnityEngine.CoreModule.dll
---@param mask UnityEngine.LayerMask
---@return Int32
function CS.UnityEngine.LayerMask:op_Implicit(mask) end

---@source UnityEngine.CoreModule.dll
---@param intVal int
---@return LayerMask
function CS.UnityEngine.LayerMask:op_Implicit(intVal) end

--
--Given a layer number, returns the name of the layer as defined in either a Builtin or a User Layer in the.
--
---@source UnityEngine.CoreModule.dll
---@param layer int
---@return String
function CS.UnityEngine.LayerMask:LayerToName(layer) end

--
--Given a layer name, returns the layer index as defined by either a Builtin or a User Layer in the.
--
---@source UnityEngine.CoreModule.dll
---@param layerName string
---@return Int32
function CS.UnityEngine.LayerMask:NameToLayer(layerName) end

--
--The layer mask created from the layerNames.
--
--```plaintext
--Params: layerNames - List of layer names to convert to a layer mask.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param layerNames string[]
---@return Int32
function CS.UnityEngine.LayerMask:GetMask(layerNames) end


--
--Asynchronous operation coroutine.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.AsyncOperation: UnityEngine.YieldInstruction
--
--Has the operation finished? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field isDone bool
--
--What's the operation's progress. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field progress float
--
--Priority lets you tweak in which order async operation calls will be performed.
--
---@source UnityEngine.CoreModule.dll
---@field priority int
--
--Allow Scenes to be activated as soon as it is ready.
--
---@source UnityEngine.CoreModule.dll
---@field allowSceneActivation bool
---@source UnityEngine.CoreModule.dll
---@field completed System.Action<UnityEngine.AsyncOperation>
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.AsyncOperation = {}

---@source UnityEngine.CoreModule.dll
---@param value System.Action<UnityEngine.AsyncOperation>
function CS.UnityEngine.AsyncOperation.add_completed(value) end

---@source UnityEngine.CoreModule.dll
---@param value System.Action<UnityEngine.AsyncOperation>
function CS.UnityEngine.AsyncOperation.remove_completed(value) end


--
--Serializable lazy reference to a UnityEngine.Object contained in an asset file.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.LazyLoadReference: System.ValueType
---@source UnityEngine.CoreModule.dll
---@field isSet bool
---@source UnityEngine.CoreModule.dll
---@field isBroken bool
---@source UnityEngine.CoreModule.dll
---@field asset T
---@source UnityEngine.CoreModule.dll
---@field instanceID int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.LazyLoadReference = {}

---@source UnityEngine.CoreModule.dll
---@param asset T
---@return LazyLoadReference
function CS.UnityEngine.LazyLoadReference:op_Implicit(asset) end

---@source UnityEngine.CoreModule.dll
---@param instanceID int
---@return LazyLoadReference
function CS.UnityEngine.LazyLoadReference:op_Implicit(instanceID) end


--
--Prevents MonoBehaviour of same type (or subtype) to be added more than once to a GameObject.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.DisallowMultipleComponent: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.DisallowMultipleComponent = {}


--
--MonoBehaviour is the base class from which every Unity script derives.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MonoBehaviour: UnityEngine.Behaviour
--
--Disabling this lets you skip the GUI layout phase.
--
---@source UnityEngine.CoreModule.dll
---@field useGUILayout bool
--
--Allow a specific instance of a MonoBehaviour to run in edit mode (only available in the editor).
--
---@source UnityEngine.CoreModule.dll
---@field runInEditMode bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MonoBehaviour = {}

--
--Is any invoke pending on this MonoBehaviour?
--
---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.MonoBehaviour.IsInvoking() end

--
--Cancels all Invoke calls on this MonoBehaviour.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.MonoBehaviour.CancelInvoke() end

--
--Invokes the method methodName in time seconds.
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param time float
function CS.UnityEngine.MonoBehaviour.Invoke(methodName, time) end

--
--Invokes the method methodName in time seconds, then repeatedly every repeatRate seconds.
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param time float
---@param repeatRate float
function CS.UnityEngine.MonoBehaviour.InvokeRepeating(methodName, time, repeatRate) end

--
--Cancels all Invoke calls with name methodName on this behaviour.
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
function CS.UnityEngine.MonoBehaviour.CancelInvoke(methodName) end

--
--Is any invoke on methodName pending?
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@return Boolean
function CS.UnityEngine.MonoBehaviour.IsInvoking(methodName) end

--
--Starts a coroutine named methodName.
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@return Coroutine
function CS.UnityEngine.MonoBehaviour.StartCoroutine(methodName) end

--
--Starts a coroutine named methodName.
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
---@param value object
---@return Coroutine
function CS.UnityEngine.MonoBehaviour.StartCoroutine(methodName, value) end

--
--Starts a Coroutine.
--
---@source UnityEngine.CoreModule.dll
---@param routine System.Collections.IEnumerator
---@return Coroutine
function CS.UnityEngine.MonoBehaviour.StartCoroutine(routine) end

---@source UnityEngine.CoreModule.dll
---@param routine System.Collections.IEnumerator
---@return Coroutine
function CS.UnityEngine.MonoBehaviour.StartCoroutine_Auto(routine) end

--
--Stops the first coroutine named methodName, or the coroutine stored in routine running on this behaviour.
--
--```plaintext
--Params: methodName - Name of coroutine.
--        routine - Name of the function in code, including coroutines.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param routine System.Collections.IEnumerator
function CS.UnityEngine.MonoBehaviour.StopCoroutine(routine) end

--
--Stops the first coroutine named methodName, or the coroutine stored in routine running on this behaviour.
--
--```plaintext
--Params: methodName - Name of coroutine.
--        routine - Name of the function in code, including coroutines.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param routine UnityEngine.Coroutine
function CS.UnityEngine.MonoBehaviour.StopCoroutine(routine) end

--
--Stops the first coroutine named methodName, or the coroutine stored in routine running on this behaviour.
--
--```plaintext
--Params: methodName - Name of coroutine.
--        routine - Name of the function in code, including coroutines.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param methodName string
function CS.UnityEngine.MonoBehaviour.StopCoroutine(methodName) end

--
--Stops all coroutines running on this behaviour.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.MonoBehaviour.StopAllCoroutines() end

--
--Logs message to the Unity Console (identical to Debug.Log).
--
---@source UnityEngine.CoreModule.dll
---@param message object
function CS.UnityEngine.MonoBehaviour:print(message) end


--
--The RequireComponent attribute automatically adds required components as dependencies.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RequireComponent: System.Attribute
---@source UnityEngine.CoreModule.dll
---@field m_Type0 System.Type
---@source UnityEngine.CoreModule.dll
---@field m_Type1 System.Type
---@source UnityEngine.CoreModule.dll
---@field m_Type2 System.Type
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RequireComponent = {}


--
--The AddComponentMenu attribute allows you to place a script anywhere in the "Component" menu, instead of just the "Component->Scripts" menu.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.AddComponentMenu: System.Attribute
---@source UnityEngine.CoreModule.dll
---@field componentMenu string
--
--The order of the component in the component menu (lower is higher to the top).
--
---@source UnityEngine.CoreModule.dll
---@field componentOrder int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.AddComponentMenu = {}


--
--Mark a ScriptableObject-derived type to be automatically listed in the Assets/Create submenu, so that instances of the type can be easily created and stored in the project as ".asset" files.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.CreateAssetMenuAttribute: System.Attribute
--
--The display name for this type shown in the Assets/Create menu.
--
---@source UnityEngine.CoreModule.dll
---@field menuName string
--
--The default file name used by newly created instances of this type.
--
---@source UnityEngine.CoreModule.dll
---@field fileName string
--
--The position of the menu item within the Assets/Create menu.
--
---@source UnityEngine.CoreModule.dll
---@field order int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.CreateAssetMenuAttribute = {}


--
--The ContextMenu attribute allows you to add commands to the context menu.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ContextMenu: System.Attribute
---@source UnityEngine.CoreModule.dll
---@field menuItem string
---@source UnityEngine.CoreModule.dll
---@field validate bool
---@source UnityEngine.CoreModule.dll
---@field priority int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ContextMenu = {}


--
--Makes all instances of a script execute in Edit Mode.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ExecuteInEditMode: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ExecuteInEditMode = {}


--
--Makes instances of a script always execute, both as part of Play Mode and when editing.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ExecuteAlways: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ExecuteAlways = {}


--
--Makes a variable not show up in the inspector but be serialized.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.HideInInspector: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.HideInInspector = {}


--
--Provide a custom documentation URL for a class.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.HelpURLAttribute: System.Attribute
--
--The documentation URL specified for this class.
--
---@source UnityEngine.CoreModule.dll
---@field URL string
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.HelpURLAttribute = {}


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.DefaultExecutionOrder: System.Attribute
---@source UnityEngine.CoreModule.dll
---@field order int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.DefaultExecutionOrder = {}


--
--Assembly level attribute. Any classes in an assembly with this attribute will be considered to be Editor Classes.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.AssemblyIsEditorAssembly: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.AssemblyIsEditorAssembly = {}


--
--Add this attribute to a class to prevent creating a Preset from the instances of the class.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ExcludeFromPresetAttribute: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ExcludeFromPresetAttribute = {}


--
--Describes an integer range.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RangeInt: System.ValueType
--
--The starting index of the range, where 0 is the first position, 1 is the second, 2 is the third, and so on.
--
---@source UnityEngine.CoreModule.dll
---@field start int
--
--The length of the range.
--
---@source UnityEngine.CoreModule.dll
---@field length int
--
--The end index of the range (not inclusive).
--
---@source UnityEngine.CoreModule.dll
---@field end int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RangeInt = {}


--
--Set RuntimeInitializeOnLoadMethod type.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RuntimeInitializeLoadType: System.Enum
--
--After Scene is loaded.
--
---@source UnityEngine.CoreModule.dll
---@field AfterSceneLoad UnityEngine.RuntimeInitializeLoadType
--
--Before Scene is loaded.
--
---@source UnityEngine.CoreModule.dll
---@field BeforeSceneLoad UnityEngine.RuntimeInitializeLoadType
--
--Callback when all assemblies are loaded and preloaded assets are initialized.
--
---@source UnityEngine.CoreModule.dll
---@field AfterAssembliesLoaded UnityEngine.RuntimeInitializeLoadType
--
--Immediately before the splash screen is shown.
--
---@source UnityEngine.CoreModule.dll
---@field BeforeSplashScreen UnityEngine.RuntimeInitializeLoadType
--
--Callback used for registration of subsystems
--
---@source UnityEngine.CoreModule.dll
---@field SubsystemRegistration UnityEngine.RuntimeInitializeLoadType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RuntimeInitializeLoadType = {}

---@source 
---@param value any
---@return UnityEngine.RuntimeInitializeLoadType
function CS.UnityEngine.RuntimeInitializeLoadType:__CastFrom(value) end


--
--Allow a runtime class method to be initialized when a game is loaded at runtime
--      without action from the user.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RuntimeInitializeOnLoadMethodAttribute: UnityEngine.Scripting.PreserveAttribute
--
--Set RuntimeInitializeOnLoadMethod type.
--
---@source UnityEngine.CoreModule.dll
---@field loadType UnityEngine.RuntimeInitializeLoadType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RuntimeInitializeOnLoadMethodAttribute = {}


--
--A class you can derive from if you want to create objects that don't need to be attached to game objects.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ScriptableObject: UnityEngine.Object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ScriptableObject = {}

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.ScriptableObject.SetDirty() end

--
--The created ScriptableObject.
--
--```plaintext
--Params: className - The type of the ScriptableObject to create, as the name of the type.
--        type - The type of the ScriptableObject to create, as a System.Type instance.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param className string
---@return ScriptableObject
function CS.UnityEngine.ScriptableObject:CreateInstance(className) end

--
--The created ScriptableObject.
--
--```plaintext
--Params: className - The type of the ScriptableObject to create, as the name of the type.
--        type - The type of the ScriptableObject to create, as a System.Type instance.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@return ScriptableObject
function CS.UnityEngine.ScriptableObject:CreateInstance(type) end

---@source UnityEngine.CoreModule.dll
---@return T
function CS.UnityEngine.ScriptableObject:CreateInstance() end


--
--Add this attribute to a script class to mark its GameObject as a selection base object for Scene View picking.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SelectionBaseAttribute: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SelectionBaseAttribute = {}


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.StackTraceUtility: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.StackTraceUtility = {}

---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.StackTraceUtility:ExtractStackTrace() end

---@source UnityEngine.CoreModule.dll
---@param exception object
---@return String
function CS.UnityEngine.StackTraceUtility:ExtractStringFromException(exception) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.UnityException: System.SystemException
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.UnityException = {}


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MissingComponentException: System.SystemException
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MissingComponentException = {}


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.UnassignedReferenceException: System.SystemException
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.UnassignedReferenceException = {}


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.MissingReferenceException: System.SystemException
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.MissingReferenceException = {}


--
--Text file assets.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.TextAsset: UnityEngine.Object
--
--The raw bytes of the text asset. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field bytes byte[]
--
--The text contents of the file as a string. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field text string
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.TextAsset = {}

--
--Returns the contents of the TextAsset.
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.TextAsset.ToString() end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.TrackedReference: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.TrackedReference = {}

---@source UnityEngine.CoreModule.dll
---@param x UnityEngine.TrackedReference
---@param y UnityEngine.TrackedReference
---@return Boolean
function CS.UnityEngine.TrackedReference:op_Equality(x, y) end

---@source UnityEngine.CoreModule.dll
---@param x UnityEngine.TrackedReference
---@param y UnityEngine.TrackedReference
---@return Boolean
function CS.UnityEngine.TrackedReference:op_Inequality(x, y) end

---@source UnityEngine.CoreModule.dll
---@param o object
---@return Boolean
function CS.UnityEngine.TrackedReference.Equals(o) end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.TrackedReference.GetHashCode() end

---@source UnityEngine.CoreModule.dll
---@param exists UnityEngine.TrackedReference
---@return Boolean
function CS.UnityEngine.TrackedReference:op_Implicit(exists) end


--
--The result of an Asset Bundle Load or Recompress Operation.
--
---@source UnityEngine.AssetBundleModule.dll
---@class UnityEngine.AssetBundleLoadResult: System.Enum
--
--The operation completed successfully.
--
---@source UnityEngine.AssetBundleModule.dll
---@field Success UnityEngine.AssetBundleLoadResult
--
--The operation was cancelled.
--
---@source UnityEngine.AssetBundleModule.dll
---@field Cancelled UnityEngine.AssetBundleLoadResult
--
--The decompressed Asset data did not match the precomputed CRC. This may suggest that the AssetBundle did not download correctly.
--
---@source UnityEngine.AssetBundleModule.dll
---@field NotMatchingCrc UnityEngine.AssetBundleLoadResult
--
--The Asset Bundle was not successfully cached.
--
---@source UnityEngine.AssetBundleModule.dll
---@field FailedCache UnityEngine.AssetBundleLoadResult
--
--This does not appear to be a valid Asset Bundle.
--
---@source UnityEngine.AssetBundleModule.dll
---@field NotValidAssetBundle UnityEngine.AssetBundleLoadResult
--
--The Asset Bundle does not contain any serialized data. It may be empty, or corrupt.
--
---@source UnityEngine.AssetBundleModule.dll
---@field NoSerializedData UnityEngine.AssetBundleLoadResult
--
--The AssetBundle is incompatible with this version of Unity.
--
---@source UnityEngine.AssetBundleModule.dll
---@field NotCompatible UnityEngine.AssetBundleLoadResult
--
--The Asset Bundle is already loaded.
--
---@source UnityEngine.AssetBundleModule.dll
---@field AlreadyLoaded UnityEngine.AssetBundleLoadResult
--
--Failed to read the Asset Bundle file.
--
---@source UnityEngine.AssetBundleModule.dll
---@field FailedRead UnityEngine.AssetBundleLoadResult
--
--Failed to decompress the Asset Bundle.
--
---@source UnityEngine.AssetBundleModule.dll
---@field FailedDecompression UnityEngine.AssetBundleLoadResult
--
--Failed to write to the file system.
--
---@source UnityEngine.AssetBundleModule.dll
---@field FailedWrite UnityEngine.AssetBundleLoadResult
--
--The target path given for the Recompression operation could not be deleted for swap with recompressed bundle file.
--
---@source UnityEngine.AssetBundleModule.dll
---@field FailedDeleteRecompressionTarget UnityEngine.AssetBundleLoadResult
--
--The target path given for the Recompression operation is an Archive that is currently loaded.
--
---@source UnityEngine.AssetBundleModule.dll
---@field RecompressionTargetIsLoaded UnityEngine.AssetBundleLoadResult
--
--The target path given for the Recompression operation exists but is not an Archive container.
--
---@source UnityEngine.AssetBundleModule.dll
---@field RecompressionTargetExistsButNotArchive UnityEngine.AssetBundleLoadResult
---@source UnityEngine.AssetBundleModule.dll
CS.UnityEngine.AssetBundleLoadResult = {}

---@source 
---@param value any
---@return UnityEngine.AssetBundleLoadResult
function CS.UnityEngine.AssetBundleLoadResult:__CastFrom(value) end


--
--AssetBundles let you stream additional assets via the UnityWebRequest class and instantiate them at runtime. AssetBundles are created via BuildPipeline.BuildAssetBundle.
--
---@source UnityEngine.AssetBundleModule.dll
---@class UnityEngine.AssetBundle: UnityEngine.Object
---@source UnityEngine.AssetBundleModule.dll
---@field mainAsset UnityEngine.Object
--
--Return true if the AssetBundle is a streamed Scene AssetBundle.
--
---@source UnityEngine.AssetBundleModule.dll
---@field isStreamedSceneAssetBundle bool
--
--Controls the size of the shared AssetBundle loading cache. Default value is 1MB.
--
---@source UnityEngine.AssetBundleModule.dll
---@field memoryBudgetKB uint
---@source UnityEngine.AssetBundleModule.dll
CS.UnityEngine.AssetBundle = {}

--
--Unloads all currently loaded AssetBundles.
--
--```plaintext
--Params: unloadAllObjects - Determines whether the current instances of objects loaded from AssetBundles will also be unloaded.
--        
--```
--
---@source UnityEngine.AssetBundleModule.dll
---@param unloadAllObjects bool
function CS.UnityEngine.AssetBundle:UnloadAllAssetBundles(unloadAllObjects) end

--
--Returns IEnumerable<AssetBundle> of all currently loaded Asset Bundles.
--
---@source UnityEngine.AssetBundleModule.dll
---@return IEnumerable
function CS.UnityEngine.AssetBundle:GetAllLoadedAssetBundles() end

---@source UnityEngine.AssetBundleModule.dll
---@param path string
---@return AssetBundleCreateRequest
function CS.UnityEngine.AssetBundle:LoadFromFileAsync(path) end

---@source UnityEngine.AssetBundleModule.dll
---@param path string
---@param crc uint
---@return AssetBundleCreateRequest
function CS.UnityEngine.AssetBundle:LoadFromFileAsync(path, crc) end

--
--Asynchronous create request for an AssetBundle. Use AssetBundleCreateRequest.assetBundle property to get an AssetBundle once it is loaded.
--
--```plaintext
--Params: path - Path of the file on disk.
--        crc - An optional CRC-32 checksum of the uncompressed content. If this is non-zero, then the content will be compared against the checksum before loading it, and give an error if it does not match.
--        offset - An optional byte offset. This value specifies where to start reading the AssetBundle from.
--        
--```
--
---@source UnityEngine.AssetBundleModule.dll
---@param path string
---@param crc uint
---@param offset ulong
---@return AssetBundleCreateRequest
function CS.UnityEngine.AssetBundle:LoadFromFileAsync(path, crc, offset) end

---@source UnityEngine.AssetBundleModule.dll
---@param path string
---@return AssetBundle
function CS.UnityEngine.AssetBundle:LoadFromFile(path) end

---@source UnityEngine.AssetBundleModule.dll
---@param path string
---@param crc uint
---@return AssetBundle
function CS.UnityEngine.AssetBundle:LoadFromFile(path, crc) end

--
--Loaded AssetBundle object or null if failed.
--
--```plaintext
--Params: path - Path of the file on disk.
--        crc - An optional CRC-32 checksum of the uncompressed content. If this is non-zero, then the content will be compared against the checksum before loading it, and give an error if it does not match.
--        offset - An optional byte offset. This value specifies where to start reading the AssetBundle from.
--        
--```
--
---@source UnityEngine.AssetBundleModule.dll
---@param path string
---@param crc uint
---@param offset ulong
---@return AssetBundle
function CS.UnityEngine.AssetBundle:LoadFromFile(path, crc, offset) end

---@source UnityEngine.AssetBundleModule.dll
---@param binary byte[]
---@return AssetBundleCreateRequest
function CS.UnityEngine.AssetBundle:LoadFromMemoryAsync(binary) end

--
--Asynchronous create request for an AssetBundle. Use AssetBundleCreateRequest.assetBundle property to get an AssetBundle once it is loaded.
--
--```plaintext
--Params: binary - Array of bytes with the AssetBundle data.
--        crc - An optional CRC-32 checksum of the uncompressed content. If this is non-zero, then the content will be compared against the checksum before loading it, and give an error if it does not match.
--        
--```
--
---@source UnityEngine.AssetBundleModule.dll
---@param binary byte[]
---@param crc uint
---@return AssetBundleCreateRequest
function CS.UnityEngine.AssetBundle:LoadFromMemoryAsync(binary, crc) end

---@source UnityEngine.AssetBundleModule.dll
---@param binary byte[]
---@return AssetBundle
function CS.UnityEngine.AssetBundle:LoadFromMemory(binary) end

--
--Loaded AssetBundle object or null if failed.
--
--```plaintext
--Params: binary - Array of bytes with the AssetBundle data.
--        crc - An optional CRC-32 checksum of the uncompressed content. If this is non-zero, then the content will be compared against the checksum before loading it, and give an error if it does not match.
--        
--```
--
---@source UnityEngine.AssetBundleModule.dll
---@param binary byte[]
---@param crc uint
---@return AssetBundle
function CS.UnityEngine.AssetBundle:LoadFromMemory(binary, crc) end

--
--Asynchronous create request for an AssetBundle. Use AssetBundleCreateRequest.assetBundle property to get an AssetBundle once it is loaded.
--
--```plaintext
--Params: stream - The managed Stream object. Unity calls Read(), Seek() and the Length property on this object to load the AssetBundle data.
--        crc - An optional CRC-32 checksum of the uncompressed content.
--        managedReadBufferSize - You can use this to override the size of the read buffer Unity uses while loading data. The default size is 32KB.
--        
--```
--
---@source UnityEngine.AssetBundleModule.dll
---@param stream System.IO.Stream
---@param crc uint
---@param managedReadBufferSize uint
---@return AssetBundleCreateRequest
function CS.UnityEngine.AssetBundle:LoadFromStreamAsync(stream, crc, managedReadBufferSize) end

---@source UnityEngine.AssetBundleModule.dll
---@param stream System.IO.Stream
---@param crc uint
---@return AssetBundleCreateRequest
function CS.UnityEngine.AssetBundle:LoadFromStreamAsync(stream, crc) end

---@source UnityEngine.AssetBundleModule.dll
---@param stream System.IO.Stream
---@return AssetBundleCreateRequest
function CS.UnityEngine.AssetBundle:LoadFromStreamAsync(stream) end

--
--The loaded AssetBundle object or null when the object fails to load.
--
--```plaintext
--Params: stream - The managed Stream object. Unity calls Read(), Seek() and the Length property on this object to load the AssetBundle data.
--        crc - An optional CRC-32 checksum of the uncompressed content.
--        managedReadBufferSize - You can use this to override the size of the read buffer Unity uses while loading data. The default size is 32KB.
--        
--```
--
---@source UnityEngine.AssetBundleModule.dll
---@param stream System.IO.Stream
---@param crc uint
---@param managedReadBufferSize uint
---@return AssetBundle
function CS.UnityEngine.AssetBundle:LoadFromStream(stream, crc, managedReadBufferSize) end

---@source UnityEngine.AssetBundleModule.dll
---@param stream System.IO.Stream
---@param crc uint
---@return AssetBundle
function CS.UnityEngine.AssetBundle:LoadFromStream(stream, crc) end

---@source UnityEngine.AssetBundleModule.dll
---@param stream System.IO.Stream
---@return AssetBundle
function CS.UnityEngine.AssetBundle:LoadFromStream(stream) end

--
--Check if an AssetBundle contains a specific object.
--
---@source UnityEngine.AssetBundleModule.dll
---@param name string
---@return Boolean
function CS.UnityEngine.AssetBundle.Contains(name) end

---@source UnityEngine.AssetBundleModule.dll
---@param name string
---@return Object
function CS.UnityEngine.AssetBundle.Load(name) end

---@source UnityEngine.AssetBundleModule.dll
---@param name string
---@return Object
function CS.UnityEngine.AssetBundle.Load(name) end

---@source UnityEngine.AssetBundleModule.dll
function CS.UnityEngine.AssetBundle.LoadAll() end

---@source UnityEngine.AssetBundleModule.dll
function CS.UnityEngine.AssetBundle.LoadAll() end

--
--Loads asset with name of type T from the bundle.
--
---@source UnityEngine.AssetBundleModule.dll
---@param name string
---@return Object
function CS.UnityEngine.AssetBundle.LoadAsset(name) end

---@source UnityEngine.AssetBundleModule.dll
---@param name string
---@return T
function CS.UnityEngine.AssetBundle.LoadAsset(name) end

--
--Loads asset with name of a given type from the bundle.
--
---@source UnityEngine.AssetBundleModule.dll
---@param name string
---@param type System.Type
---@return Object
function CS.UnityEngine.AssetBundle.LoadAsset(name, type) end

--
--Asynchronously loads asset with name of a given T from the bundle.
--
---@source UnityEngine.AssetBundleModule.dll
---@param name string
---@return AssetBundleRequest
function CS.UnityEngine.AssetBundle.LoadAssetAsync(name) end

---@source UnityEngine.AssetBundleModule.dll
---@param name string
---@return AssetBundleRequest
function CS.UnityEngine.AssetBundle.LoadAssetAsync(name) end

--
--Asynchronously loads asset with name of a given type from the bundle.
--
---@source UnityEngine.AssetBundleModule.dll
---@param name string
---@param type System.Type
---@return AssetBundleRequest
function CS.UnityEngine.AssetBundle.LoadAssetAsync(name, type) end

--
--Loads asset and sub assets with name of type T from the bundle.
--
---@source UnityEngine.AssetBundleModule.dll
---@param name string
function CS.UnityEngine.AssetBundle.LoadAssetWithSubAssets(name) end

---@source UnityEngine.AssetBundleModule.dll
---@param name string
function CS.UnityEngine.AssetBundle.LoadAssetWithSubAssets(name) end

--
--Loads asset and sub assets with name of a given type from the bundle.
--
---@source UnityEngine.AssetBundleModule.dll
---@param name string
---@param type System.Type
function CS.UnityEngine.AssetBundle.LoadAssetWithSubAssets(name, type) end

--
--Loads asset with sub assets with name of type T from the bundle asynchronously.
--
---@source UnityEngine.AssetBundleModule.dll
---@param name string
---@return AssetBundleRequest
function CS.UnityEngine.AssetBundle.LoadAssetWithSubAssetsAsync(name) end

---@source UnityEngine.AssetBundleModule.dll
---@param name string
---@return AssetBundleRequest
function CS.UnityEngine.AssetBundle.LoadAssetWithSubAssetsAsync(name) end

--
--Loads asset with sub assets with name of a given type from the bundle asynchronously.
--
---@source UnityEngine.AssetBundleModule.dll
---@param name string
---@param type System.Type
---@return AssetBundleRequest
function CS.UnityEngine.AssetBundle.LoadAssetWithSubAssetsAsync(name, type) end

--
--Loads all assets contained in the asset bundle that inherit from type T.
--
---@source UnityEngine.AssetBundleModule.dll
function CS.UnityEngine.AssetBundle.LoadAllAssets() end

---@source UnityEngine.AssetBundleModule.dll
function CS.UnityEngine.AssetBundle.LoadAllAssets() end

--
--Loads all assets contained in the asset bundle that inherit from type.
--
---@source UnityEngine.AssetBundleModule.dll
---@param type System.Type
function CS.UnityEngine.AssetBundle.LoadAllAssets(type) end

--
--Loads all assets contained in the asset bundle that inherit from T asynchronously.
--
---@source UnityEngine.AssetBundleModule.dll
---@return AssetBundleRequest
function CS.UnityEngine.AssetBundle.LoadAllAssetsAsync() end

---@source UnityEngine.AssetBundleModule.dll
---@return AssetBundleRequest
function CS.UnityEngine.AssetBundle.LoadAllAssetsAsync() end

--
--Loads all assets contained in the asset bundle that inherit from type asynchronously.
--
---@source UnityEngine.AssetBundleModule.dll
---@param type System.Type
---@return AssetBundleRequest
function CS.UnityEngine.AssetBundle.LoadAllAssetsAsync(type) end

---@source UnityEngine.AssetBundleModule.dll
function CS.UnityEngine.AssetBundle.AllAssetNames() end

--
--Unloads an AssetBundle freeing its data.
--
--```plaintext
--Params: unloadAllLoadedObjects - Determines whether the current instances of objects loaded from the AssetBundle will also be unloaded.
--        
--```
--
---@source UnityEngine.AssetBundleModule.dll
---@param unloadAllLoadedObjects bool
function CS.UnityEngine.AssetBundle.Unload(unloadAllLoadedObjects) end

--
--Return all asset names in the AssetBundle.
--
---@source UnityEngine.AssetBundleModule.dll
function CS.UnityEngine.AssetBundle.GetAllAssetNames() end

--
--Return all the Scene asset paths (paths to *.unity assets) in the AssetBundle.
--
---@source UnityEngine.AssetBundleModule.dll
function CS.UnityEngine.AssetBundle.GetAllScenePaths() end

--
--Asynchronously recompress a downloaded/stored AssetBundle from one BuildCompression to another.
--
--```plaintext
--Params: inputPath - Path to the AssetBundle to recompress.
--        outputPath - Path to the recompressed AssetBundle to be generated. Can be the same as inputPath.
--        method - The compression method, level and blocksize to use during recompression. Only some BuildCompression types are supported (see note).
--        expectedCRC - CRC of the AssetBundle to test against. Testing this requires additional file reading and computation. Pass in 0 to skip this check. Unity does not compute a CRC when the source and destination BuildCompression are the same, so no CRC verification takes place (see note).
--        priority - The priority at which the recompression operation should run. This sets thread priority during the operation and does not effect the order in which operations are performed. Recompression operations run on a background worker thread.
--        
--```
--
---@source UnityEngine.AssetBundleModule.dll
---@param inputPath string
---@param outputPath string
---@param method UnityEngine.BuildCompression
---@param expectedCRC uint
---@param priority UnityEngine.ThreadPriority
---@return AssetBundleRecompressOperation
function CS.UnityEngine.AssetBundle:RecompressAssetBundleAsync(inputPath, outputPath, method, expectedCRC, priority) end

--
--Loads an asset bundle from a disk.
--
--```plaintext
--Params: path - Path of the file on disk
--
--See Also: UnityWebRequestAssetBundle.GetAssetBundle, DownloadHandlerAssetBundle.
--        
--```
--
---@source UnityEngine.AssetBundleModule.dll
---@param path string
---@return AssetBundle
function CS.UnityEngine.AssetBundle:CreateFromFile(path) end

--
--Asynchronously create an AssetBundle from a memory region.
--
---@source UnityEngine.AssetBundleModule.dll
---@param binary byte[]
---@return AssetBundleCreateRequest
function CS.UnityEngine.AssetBundle:CreateFromMemory(binary) end

--
--Synchronously create an AssetBundle from a memory region.
--
--```plaintext
--Params: binary - Array of bytes with the AssetBundle data.
--        
--```
--
---@source UnityEngine.AssetBundleModule.dll
---@param binary byte[]
---@return AssetBundle
function CS.UnityEngine.AssetBundle:CreateFromMemoryImmediate(binary) end


--
--Declares an assembly to be compatible (API wise) with a specific Unity API. Used by internal tools to avoid processing the assembly in order to decide whether assemblies may be using old Unity API.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.UnityAPICompatibilityVersionAttribute: System.Attribute
--
--Version of Unity API.
--
---@source UnityEngine.CoreModule.dll
---@field version string
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.UnityAPICompatibilityVersionAttribute = {}


--
--Bit mask that controls object destruction, saving and visibility in inspectors.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.HideFlags: System.Enum
--
--A normal, visible object. This is the default.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.HideFlags
--
--The object will not appear in the hierarchy.
--
---@source UnityEngine.CoreModule.dll
---@field HideInHierarchy UnityEngine.HideFlags
--
--It is not possible to view it in the inspector.
--
---@source UnityEngine.CoreModule.dll
---@field HideInInspector UnityEngine.HideFlags
--
--The object will not be saved to the Scene in the editor.
--
---@source UnityEngine.CoreModule.dll
---@field DontSaveInEditor UnityEngine.HideFlags
--
--The object will not be editable in the inspector.
--
---@source UnityEngine.CoreModule.dll
---@field NotEditable UnityEngine.HideFlags
--
--The object will not be saved when building a player.
--
---@source UnityEngine.CoreModule.dll
---@field DontSaveInBuild UnityEngine.HideFlags
--
--The object will not be unloaded by Resources.UnloadUnusedAssets.
--
---@source UnityEngine.CoreModule.dll
---@field DontUnloadUnusedAsset UnityEngine.HideFlags
--
--The object will not be saved to the Scene. It will not be destroyed when a new Scene is loaded. It is a shortcut for HideFlags.DontSaveInBuild | HideFlags.DontSaveInEditor | HideFlags.DontUnloadUnusedAsset.
--
---@source UnityEngine.CoreModule.dll
---@field DontSave UnityEngine.HideFlags
--
--The GameObject is not shown in the Hierarchy, not saved to to Scenes, and not unloaded by Resources.UnloadUnusedAssets.
--
---@source UnityEngine.CoreModule.dll
---@field HideAndDontSave UnityEngine.HideFlags
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.HideFlags = {}

---@source 
---@param value any
---@return UnityEngine.HideFlags
function CS.UnityEngine.HideFlags:__CastFrom(value) end


--
--Base class for all objects Unity can reference.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Object: object
--
--The name of the object.
--
---@source UnityEngine.CoreModule.dll
---@field name string
--
--Should the object be hidden, saved with the Scene or modifiable by the user?
--
---@source UnityEngine.CoreModule.dll
---@field hideFlags UnityEngine.HideFlags
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Object = {}

--
--Returns the instance id of the object.
--
---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Object.GetInstanceID() end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Object.GetHashCode() end

---@source UnityEngine.CoreModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.Object.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@param exists UnityEngine.Object
---@return Boolean
function CS.UnityEngine.Object:op_Implicit(exists) end

--
--The instantiated clone.
--
--```plaintext
--Params: original - An existing object that you want to make a copy of.
--        position - Position for the new object.
--        rotation - Orientation of the new object.
--        parent - Parent that will be assigned to the new object.
--        instantiateInWorldSpace - When you assign a parent Object, pass true to position the new object directly in world space. Pass false to set the Object’s position relative to its new parent..
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param original UnityEngine.Object
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@return Object
function CS.UnityEngine.Object:Instantiate(original, position, rotation) end

--
--The instantiated clone.
--
--```plaintext
--Params: original - An existing object that you want to make a copy of.
--        position - Position for the new object.
--        rotation - Orientation of the new object.
--        parent - Parent that will be assigned to the new object.
--        instantiateInWorldSpace - When you assign a parent Object, pass true to position the new object directly in world space. Pass false to set the Object’s position relative to its new parent..
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param original UnityEngine.Object
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param parent UnityEngine.Transform
---@return Object
function CS.UnityEngine.Object:Instantiate(original, position, rotation, parent) end

--
--The instantiated clone.
--
--```plaintext
--Params: original - An existing object that you want to make a copy of.
--        position - Position for the new object.
--        rotation - Orientation of the new object.
--        parent - Parent that will be assigned to the new object.
--        instantiateInWorldSpace - When you assign a parent Object, pass true to position the new object directly in world space. Pass false to set the Object’s position relative to its new parent..
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param original UnityEngine.Object
---@return Object
function CS.UnityEngine.Object:Instantiate(original) end

--
--The instantiated clone.
--
--```plaintext
--Params: original - An existing object that you want to make a copy of.
--        position - Position for the new object.
--        rotation - Orientation of the new object.
--        parent - Parent that will be assigned to the new object.
--        instantiateInWorldSpace - When you assign a parent Object, pass true to position the new object directly in world space. Pass false to set the Object’s position relative to its new parent..
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param original UnityEngine.Object
---@param parent UnityEngine.Transform
---@return Object
function CS.UnityEngine.Object:Instantiate(original, parent) end

--
--The instantiated clone.
--
--```plaintext
--Params: original - An existing object that you want to make a copy of.
--        position - Position for the new object.
--        rotation - Orientation of the new object.
--        parent - Parent that will be assigned to the new object.
--        instantiateInWorldSpace - When you assign a parent Object, pass true to position the new object directly in world space. Pass false to set the Object’s position relative to its new parent..
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param original UnityEngine.Object
---@param parent UnityEngine.Transform
---@param instantiateInWorldSpace bool
---@return Object
function CS.UnityEngine.Object:Instantiate(original, parent, instantiateInWorldSpace) end

---@source UnityEngine.CoreModule.dll
---@param original T
---@return T
function CS.UnityEngine.Object:Instantiate(original) end

---@source UnityEngine.CoreModule.dll
---@param original T
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@return T
function CS.UnityEngine.Object:Instantiate(original, position, rotation) end

---@source UnityEngine.CoreModule.dll
---@param original T
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@param parent UnityEngine.Transform
---@return T
function CS.UnityEngine.Object:Instantiate(original, position, rotation, parent) end

---@source UnityEngine.CoreModule.dll
---@param original T
---@param parent UnityEngine.Transform
---@return T
function CS.UnityEngine.Object:Instantiate(original, parent) end

---@source UnityEngine.CoreModule.dll
---@param original T
---@param parent UnityEngine.Transform
---@param worldPositionStays bool
---@return T
function CS.UnityEngine.Object:Instantiate(original, parent, worldPositionStays) end

--
--Removes a GameObject, component or asset.
--
--```plaintext
--Params: obj - The object to destroy.
--        t - The optional amount of time to delay before destroying the object.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param obj UnityEngine.Object
---@param t float
function CS.UnityEngine.Object:Destroy(obj, t) end

--
--Removes a GameObject, component or asset.
--
--```plaintext
--Params: obj - The object to destroy.
--        t - The optional amount of time to delay before destroying the object.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param obj UnityEngine.Object
function CS.UnityEngine.Object:Destroy(obj) end

--
--Destroys the object obj immediately. You are strongly recommended to use Destroy instead.
--
--```plaintext
--Params: obj - Object to be destroyed.
--        allowDestroyingAssets - Set to true to allow assets to be destroyed.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param obj UnityEngine.Object
---@param allowDestroyingAssets bool
function CS.UnityEngine.Object:DestroyImmediate(obj, allowDestroyingAssets) end

--
--Destroys the object obj immediately. You are strongly recommended to use Destroy instead.
--
--```plaintext
--Params: obj - Object to be destroyed.
--        allowDestroyingAssets - Set to true to allow assets to be destroyed.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param obj UnityEngine.Object
function CS.UnityEngine.Object:DestroyImmediate(obj) end

--
--The array of objects found matching the type specified.
--
--```plaintext
--Params: type - The type of object to find.
--        includeInactive - If true, components attached to inactive GameObjects are also included.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
function CS.UnityEngine.Object:FindObjectsOfType(type) end

--
--The array of objects found matching the type specified.
--
--```plaintext
--Params: type - The type of object to find.
--        includeInactive - If true, components attached to inactive GameObjects are also included.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@param includeInactive bool
function CS.UnityEngine.Object:FindObjectsOfType(type, includeInactive) end

--
--Do not destroy the target Object when loading a new Scene.
--
--```plaintext
--Params: target - An Object not destroyed on Scene change.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param target UnityEngine.Object
function CS.UnityEngine.Object:DontDestroyOnLoad(target) end

---@source UnityEngine.CoreModule.dll
---@param obj UnityEngine.Object
---@param t float
function CS.UnityEngine.Object:DestroyObject(obj, t) end

---@source UnityEngine.CoreModule.dll
---@param obj UnityEngine.Object
function CS.UnityEngine.Object:DestroyObject(obj) end

---@source UnityEngine.CoreModule.dll
---@param type System.Type
function CS.UnityEngine.Object:FindSceneObjectsOfType(type) end

--
--The array of objects and assets found matching the type specified.
--
--```plaintext
--Params: type - The type of object or asset to find.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
function CS.UnityEngine.Object:FindObjectsOfTypeIncludingAssets(type) end

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Object:FindObjectsOfType() end

---@source UnityEngine.CoreModule.dll
---@param includeInactive bool
function CS.UnityEngine.Object:FindObjectsOfType(includeInactive) end

---@source UnityEngine.CoreModule.dll
---@return T
function CS.UnityEngine.Object:FindObjectOfType() end

---@source UnityEngine.CoreModule.dll
---@param includeInactive bool
---@return T
function CS.UnityEngine.Object:FindObjectOfType(includeInactive) end

--
--The array of objects found matching the type specified.
--
--```plaintext
--Params: type - The type of object to find.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
function CS.UnityEngine.Object:FindObjectsOfTypeAll(type) end

--
--Object The first active loaded object that matches the specified type. It returns null if no Object matches the type.
--
--```plaintext
--Params: type - The type of object to find.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@return Object
function CS.UnityEngine.Object:FindObjectOfType(type) end

--
--Object The first active loaded object that matches the specified type. It returns null if no Object matches the type.
--
--```plaintext
--Params: type - The type of object to find.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param type System.Type
---@param includeInactive bool
---@return Object
function CS.UnityEngine.Object:FindObjectOfType(type, includeInactive) end

--
--The name returned by ToString.
--
---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Object.ToString() end

---@source UnityEngine.CoreModule.dll
---@param x UnityEngine.Object
---@param y UnityEngine.Object
---@return Boolean
function CS.UnityEngine.Object:op_Equality(x, y) end

---@source UnityEngine.CoreModule.dll
---@param x UnityEngine.Object
---@param y UnityEngine.Object
---@return Boolean
function CS.UnityEngine.Object:op_Inequality(x, y) end


--
--Waits until the end of the frame after Unity has rendererd every Camera and GUI, just before displaying the frame on screen.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.WaitForEndOfFrame: UnityEngine.YieldInstruction
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.WaitForEndOfFrame = {}


--
--Waits until next fixed frame rate update function. See Also: MonoBehaviour.FixedUpdate.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.WaitForFixedUpdate: UnityEngine.YieldInstruction
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.WaitForFixedUpdate = {}


--
--Suspends the coroutine execution for the given amount of seconds using scaled time.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.WaitForSeconds: UnityEngine.YieldInstruction
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.WaitForSeconds = {}


--
--Suspends the coroutine execution for the given amount of seconds using unscaled time.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.WaitForSecondsRealtime: UnityEngine.CustomYieldInstruction
--
--The given amount of seconds that the yield instruction will wait for.
--
---@source UnityEngine.CoreModule.dll
---@field waitTime float
---@source UnityEngine.CoreModule.dll
---@field keepWaiting bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.WaitForSecondsRealtime = {}

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.WaitForSecondsRealtime.Reset() end


--
--Suspends the coroutine execution until the supplied delegate evaluates to true.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.WaitUntil: UnityEngine.CustomYieldInstruction
---@source UnityEngine.CoreModule.dll
---@field keepWaiting bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.WaitUntil = {}


--
--Suspends the coroutine execution until the supplied delegate evaluates to false.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.WaitWhile: UnityEngine.CustomYieldInstruction
---@source UnityEngine.CoreModule.dll
---@field keepWaiting bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.WaitWhile = {}


--
--Base class for all yield instructions.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.YieldInstruction: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.YieldInstruction = {}


--
--Webplayer security related class. Not supported from 5.4.0 onwards.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Security: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Security = {}

--
--Loaded, verified, assembly, or null if the assembly cannot be verfied.
--
--```plaintext
--Params: assemblyData - Assembly to verify.
--        authorizationKey - Public key used to verify assembly.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param assemblyData byte[]
---@param authorizationKey string
---@return Assembly
function CS.UnityEngine.Security:LoadAndVerifyAssembly(assemblyData, authorizationKey) end

--
--Loaded, verified, assembly, or null if the assembly cannot be verfied.
--
--```plaintext
--Params: assemblyData - Assembly to verify.
--        authorizationKey - Public key used to verify assembly.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param assemblyData byte[]
---@return Assembly
function CS.UnityEngine.Security:LoadAndVerifyAssembly(assemblyData) end

--
--Prefetch the webplayer socket security policy from a non-default port number.
--
--```plaintext
--Params: ip - IP address of server.
--        atPort - Port from where socket policy is read.
--        timeout - Time to wait for response.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param ip string
---@param atPort int
---@return Boolean
function CS.UnityEngine.Security:PrefetchSocketPolicy(ip, atPort) end

--
--Prefetch the webplayer socket security policy from a non-default port number.
--
--```plaintext
--Params: ip - IP address of server.
--        atPort - Port from where socket policy is read.
--        timeout - Time to wait for response.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param ip string
---@param atPort int
---@param timeout int
---@return Boolean
function CS.UnityEngine.Security:PrefetchSocketPolicy(ip, atPort, timeout) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Types: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Types = {}

---@source UnityEngine.CoreModule.dll
---@param typeName string
---@param assemblyName string
---@return Type
function CS.UnityEngine.Types:GetType(typeName, assemblyName) end


--
--Force Unity to serialize a private field.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SerializeField: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SerializeField = {}


--
--A that instructs Unity to serialize a field as a reference instead of as a value.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SerializeReference: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SerializeReference = {}


--
--Prefer ScriptableObject derived type to use binary serialization regardless of project's asset serialization mode.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.PreferBinarySerialization: System.Attribute
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.PreferBinarySerialization = {}


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ISerializationCallbackReceiver
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ISerializationCallbackReceiver = {}

--
--Implement this method to receive a callback before Unity serializes your object.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.ISerializationCallbackReceiver.OnBeforeSerialize() end

--
--Implement this method to receive a callback after Unity deserializes your object.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.ISerializationCallbackReceiver.OnAfterDeserialize() end


--
--GPU data buffer, mostly for use with compute shaders.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ComputeBuffer: object
--
--Number of elements in the buffer (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field count int
--
--Size of one element in the buffer (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field stride int
--
--The debug label for the ComputeBuffer. This name shows up in profiling and frame debugger tools, wherever supported.
--
---@source UnityEngine.CoreModule.dll
---@field name string
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ComputeBuffer = {}

---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.ComputeBuffer.Dispose() end

--
--Release a Compute Buffer.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.ComputeBuffer.Release() end

--
--Returns true if this compute buffer is valid and false otherwise.
--
---@source UnityEngine.CoreModule.dll
---@return Boolean
function CS.UnityEngine.ComputeBuffer.IsValid() end

--
--Set the buffer with values from an array.
--
--```plaintext
--Params: data - Array of values to fill the buffer.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param data System.Array
function CS.UnityEngine.ComputeBuffer.SetData(data) end

---@source UnityEngine.CoreModule.dll
---@param data System.Collections.Generic.List<T>
function CS.UnityEngine.ComputeBuffer.SetData(data) end

---@source UnityEngine.CoreModule.dll
---@param data Unity.Collections.NativeArray<T>
function CS.UnityEngine.ComputeBuffer.SetData(data) end

--
--Partial copy of data values from an array into the buffer.
--
--```plaintext
--Params: data - Array of values to fill the buffer.
--        managedBufferStartIndex - The first element index in data to copy to the compute buffer.
--        computeBufferStartIndex - The first element index in compute buffer to receive the data.
--        count - The number of elements to copy.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param data System.Array
---@param managedBufferStartIndex int
---@param computeBufferStartIndex int
---@param count int
function CS.UnityEngine.ComputeBuffer.SetData(data, managedBufferStartIndex, computeBufferStartIndex, count) end

---@source UnityEngine.CoreModule.dll
---@param data System.Collections.Generic.List<T>
---@param managedBufferStartIndex int
---@param computeBufferStartIndex int
---@param count int
function CS.UnityEngine.ComputeBuffer.SetData(data, managedBufferStartIndex, computeBufferStartIndex, count) end

---@source UnityEngine.CoreModule.dll
---@param data Unity.Collections.NativeArray<T>
---@param nativeBufferStartIndex int
---@param computeBufferStartIndex int
---@param count int
function CS.UnityEngine.ComputeBuffer.SetData(data, nativeBufferStartIndex, computeBufferStartIndex, count) end

--
--Read data values from the buffer into an array. The array can only use <a href="https:docs.microsoft.comen-usdotnetframeworkinteropblittable-and-non-blittable-types">blittable<a> types.
--
--```plaintext
--Params: data - An array to receive the data.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param data System.Array
function CS.UnityEngine.ComputeBuffer.GetData(data) end

--
--Partial read of data values from the buffer into an array.
--
--```plaintext
--Params: data - An array to receive the data.
--        managedBufferStartIndex - The first element index in data where retrieved elements are copied.
--        computeBufferStartIndex - The first element index of the compute buffer from which elements are read.
--        count - The number of elements to retrieve.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param data System.Array
---@param managedBufferStartIndex int
---@param computeBufferStartIndex int
---@param count int
function CS.UnityEngine.ComputeBuffer.GetData(data, managedBufferStartIndex, computeBufferStartIndex, count) end

---@source UnityEngine.CoreModule.dll
---@param computeBufferStartIndex int
---@param count int
---@return NativeArray
function CS.UnityEngine.ComputeBuffer.BeginWrite(computeBufferStartIndex, count) end

---@source UnityEngine.CoreModule.dll
---@param countWritten int
function CS.UnityEngine.ComputeBuffer.EndWrite(countWritten) end

--
--Sets counter value of append/consume buffer.
--
--```plaintext
--Params: counterValue - Value of the append/consume counter.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param counterValue uint
function CS.UnityEngine.ComputeBuffer.SetCounterValue(counterValue) end

--
--Copy counter value of append/consume buffer into another buffer.
--
--```plaintext
--Params: src - Append/consume buffer to copy the counter from.
--        dst - A buffer to copy the counter to.
--        dstOffsetBytes - Target byte offset in dst.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param src UnityEngine.ComputeBuffer
---@param dst UnityEngine.ComputeBuffer
---@param dstOffsetBytes int
function CS.UnityEngine.ComputeBuffer:CopyCount(src, dst, dstOffsetBytes) end

--
--Pointer to the underlying graphics API buffer.
--
---@source UnityEngine.CoreModule.dll
---@return IntPtr
function CS.UnityEngine.ComputeBuffer.GetNativeBufferPtr() end


--
--Compute Shader asset.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ComputeShader: UnityEngine.Object
--
--An array containing the names of the local shader keywords that are currently enabled for this compute shader.
--
---@source UnityEngine.CoreModule.dll
---@field shaderKeywords string[]
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ComputeShader = {}

--
--The Kernel index, or logs a "FindKernel failed" error message if the kernel is not found.
--
--```plaintext
--Params: name - Name of kernel function.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Int32
function CS.UnityEngine.ComputeShader.FindKernel(name) end

--
--True if the kernel is found, false otherwise.
--
--```plaintext
--Params: name - The name of the kernel to look for.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@return Boolean
function CS.UnityEngine.ComputeShader.HasKernel(name) end

--
--Set a float parameter.
--
--```plaintext
--Params: name - Variable name in shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        val - Value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param val float
function CS.UnityEngine.ComputeShader.SetFloat(nameID, val) end

--
--Set an integer parameter.
--
--```plaintext
--Params: name - Variable name in shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        val - Value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param val int
function CS.UnityEngine.ComputeShader.SetInt(nameID, val) end

--
--Set a vector parameter.
--
--```plaintext
--Params: name - Variable name in shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        val - Value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param val UnityEngine.Vector4
function CS.UnityEngine.ComputeShader.SetVector(nameID, val) end

--
--Set a Matrix parameter.
--
--```plaintext
--Params: name - Variable name in shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        val - Value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param val UnityEngine.Matrix4x4
function CS.UnityEngine.ComputeShader.SetMatrix(nameID, val) end

--
--Set a vector array parameter.
--
--```plaintext
--Params: name - Variable name in shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        values - Value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values UnityEngine.Vector4[]
function CS.UnityEngine.ComputeShader.SetVectorArray(nameID, values) end

--
--Set a Matrix array parameter.
--
--```plaintext
--Params: name - Variable name in shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        values - Value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values UnityEngine.Matrix4x4[]
function CS.UnityEngine.ComputeShader.SetMatrixArray(nameID, values) end

--
--Set a texture parameter.
--
--```plaintext
--Params: kernelIndex - For which kernel the texture is being set. See FindKernel.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Name of the buffer variable in shader code.
--        texture - Texture to set.
--        mipLevel - Optional mipmap level of the read-write texture.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param nameID int
---@param texture UnityEngine.Texture
---@param mipLevel int
function CS.UnityEngine.ComputeShader.SetTexture(kernelIndex, nameID, texture, mipLevel) end

--
--Set a texture parameter from a global texture property.
--
--```plaintext
--Params: kernelIndex - For which kernel the texture is being set. See FindKernel.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Name of the buffer variable in shader code.
--        globalTextureName - Global texture property to assign to shader.
--        globalTextureNameID - Property name ID, use Shader.PropertyToID to get it.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param nameID int
---@param globalTextureNameID int
function CS.UnityEngine.ComputeShader.SetTextureFromGlobal(kernelIndex, nameID, globalTextureNameID) end

--
--Sets an input or output compute buffer.
--
--```plaintext
--Params: kernelIndex - For which kernel the buffer is being set. See FindKernel.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Name of the buffer variable in shader code.
--        buffer - Buffer to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param nameID int
---@param buffer UnityEngine.ComputeBuffer
function CS.UnityEngine.ComputeShader.SetBuffer(kernelIndex, nameID, buffer) end

--
--Sets an input or output compute buffer.
--
--```plaintext
--Params: kernelIndex - For which kernel the buffer is being set. See FindKernel.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Name of the buffer variable in shader code.
--        buffer - Buffer to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param nameID int
---@param buffer UnityEngine.GraphicsBuffer
function CS.UnityEngine.ComputeShader.SetBuffer(kernelIndex, nameID, buffer) end

---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param x uint
---@param y uint
---@param z uint
function CS.UnityEngine.ComputeShader.GetKernelThreadGroupSizes(kernelIndex, x, y, z) end

--
--Execute a compute shader.
--
--```plaintext
--Params: kernelIndex - Which kernel to execute. A single compute shader asset can have multiple kernel entry points.
--        threadGroupsX - Number of work groups in the X dimension.
--        threadGroupsY - Number of work groups in the Y dimension.
--        threadGroupsZ - Number of work groups in the Z dimension.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param threadGroupsX int
---@param threadGroupsY int
---@param threadGroupsZ int
function CS.UnityEngine.ComputeShader.Dispatch(kernelIndex, threadGroupsX, threadGroupsY, threadGroupsZ) end

--
--Enables a local shader keyword for this compute shader.
--
--```plaintext
--Params: keyword - The name of the local shader keyword to enable.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param keyword string
function CS.UnityEngine.ComputeShader.EnableKeyword(keyword) end

--
--Disables a local shader keyword for this compute shader.
--
--```plaintext
--Params: keyword - The name of the local shader keyword to disable.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param keyword string
function CS.UnityEngine.ComputeShader.DisableKeyword(keyword) end

--
--Returns true if the given local shader keyword is enabled for this compute shader. Otherwise, returns false.
--
--```plaintext
--Params: keyword - The name of the local shader keyword to check.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param keyword string
---@return Boolean
function CS.UnityEngine.ComputeShader.IsKeywordEnabled(keyword) end

--
--Set a float parameter.
--
--```plaintext
--Params: name - Variable name in shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        val - Value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param val float
function CS.UnityEngine.ComputeShader.SetFloat(name, val) end

--
--Set an integer parameter.
--
--```plaintext
--Params: name - Variable name in shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        val - Value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param val int
function CS.UnityEngine.ComputeShader.SetInt(name, val) end

--
--Set a vector parameter.
--
--```plaintext
--Params: name - Variable name in shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        val - Value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param val UnityEngine.Vector4
function CS.UnityEngine.ComputeShader.SetVector(name, val) end

--
--Set a Matrix parameter.
--
--```plaintext
--Params: name - Variable name in shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        val - Value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param val UnityEngine.Matrix4x4
function CS.UnityEngine.ComputeShader.SetMatrix(name, val) end

--
--Set a vector array parameter.
--
--```plaintext
--Params: name - Variable name in shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        values - Value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param values UnityEngine.Vector4[]
function CS.UnityEngine.ComputeShader.SetVectorArray(name, values) end

--
--Set a Matrix array parameter.
--
--```plaintext
--Params: name - Variable name in shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        values - Value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param values UnityEngine.Matrix4x4[]
function CS.UnityEngine.ComputeShader.SetMatrixArray(name, values) end

--
--Set multiple consecutive float parameters at once.
--
--```plaintext
--Params: name - Array variable name in the shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        values - Value array to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param values float[]
function CS.UnityEngine.ComputeShader.SetFloats(name, values) end

--
--Set multiple consecutive float parameters at once.
--
--```plaintext
--Params: name - Array variable name in the shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        values - Value array to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values float[]
function CS.UnityEngine.ComputeShader.SetFloats(nameID, values) end

--
--Set multiple consecutive integer parameters at once.
--
--```plaintext
--Params: name - Array variable name in the shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        values - Value array to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param values int[]
function CS.UnityEngine.ComputeShader.SetInts(name, values) end

--
--Set multiple consecutive integer parameters at once.
--
--```plaintext
--Params: name - Array variable name in the shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        values - Value array to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param values int[]
function CS.UnityEngine.ComputeShader.SetInts(nameID, values) end

--
--Set a bool parameter.
--
--```plaintext
--Params: name - Variable name in shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        val - Value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param val bool
function CS.UnityEngine.ComputeShader.SetBool(name, val) end

--
--Set a bool parameter.
--
--```plaintext
--Params: name - Variable name in shader code.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        val - Value to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param val bool
function CS.UnityEngine.ComputeShader.SetBool(nameID, val) end

--
--Set a texture parameter.
--
--```plaintext
--Params: kernelIndex - For which kernel the texture is being set. See FindKernel.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Name of the buffer variable in shader code.
--        texture - Texture to set.
--        mipLevel - Optional mipmap level of the read-write texture.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param nameID int
---@param texture UnityEngine.Texture
function CS.UnityEngine.ComputeShader.SetTexture(kernelIndex, nameID, texture) end

--
--Set a texture parameter.
--
--```plaintext
--Params: kernelIndex - For which kernel the texture is being set. See FindKernel.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Name of the buffer variable in shader code.
--        texture - Texture to set.
--        mipLevel - Optional mipmap level of the read-write texture.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param name string
---@param texture UnityEngine.Texture
function CS.UnityEngine.ComputeShader.SetTexture(kernelIndex, name, texture) end

--
--Set a texture parameter.
--
--```plaintext
--Params: kernelIndex - For which kernel the texture is being set. See FindKernel.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Name of the buffer variable in shader code.
--        texture - Texture to set.
--        mipLevel - Optional mipmap level of the read-write texture.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param name string
---@param texture UnityEngine.Texture
---@param mipLevel int
function CS.UnityEngine.ComputeShader.SetTexture(kernelIndex, name, texture, mipLevel) end

--
--Set a texture parameter.
--
--```plaintext
--Params: kernelIndex - For which kernel the texture is being set. See FindKernel.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Name of the buffer variable in shader code.
--        texture - Texture to set.
--        mipLevel - Optional mipmap level of the read-write texture.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param nameID int
---@param texture UnityEngine.RenderTexture
---@param mipLevel int
---@param element UnityEngine.Rendering.RenderTextureSubElement
function CS.UnityEngine.ComputeShader.SetTexture(kernelIndex, nameID, texture, mipLevel, element) end

--
--Set a texture parameter.
--
--```plaintext
--Params: kernelIndex - For which kernel the texture is being set. See FindKernel.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Name of the buffer variable in shader code.
--        texture - Texture to set.
--        mipLevel - Optional mipmap level of the read-write texture.
--        element - Optional parameter that specifies the type of data to set from the RenderTexture.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param name string
---@param texture UnityEngine.RenderTexture
---@param mipLevel int
---@param element UnityEngine.Rendering.RenderTextureSubElement
function CS.UnityEngine.ComputeShader.SetTexture(kernelIndex, name, texture, mipLevel, element) end

--
--Set a texture parameter from a global texture property.
--
--```plaintext
--Params: kernelIndex - For which kernel the texture is being set. See FindKernel.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Name of the buffer variable in shader code.
--        globalTextureName - Global texture property to assign to shader.
--        globalTextureNameID - Property name ID, use Shader.PropertyToID to get it.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param name string
---@param globalTextureName string
function CS.UnityEngine.ComputeShader.SetTextureFromGlobal(kernelIndex, name, globalTextureName) end

--
--Sets an input or output compute buffer.
--
--```plaintext
--Params: kernelIndex - For which kernel the buffer is being set. See FindKernel.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Name of the buffer variable in shader code.
--        buffer - Buffer to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param name string
---@param buffer UnityEngine.ComputeBuffer
function CS.UnityEngine.ComputeShader.SetBuffer(kernelIndex, name, buffer) end

--
--Sets an input or output compute buffer.
--
--```plaintext
--Params: kernelIndex - For which kernel the buffer is being set. See FindKernel.
--        nameID - Property name ID, use Shader.PropertyToID to get it.
--        name - Name of the buffer variable in shader code.
--        buffer - Buffer to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param name string
---@param buffer UnityEngine.GraphicsBuffer
function CS.UnityEngine.ComputeShader.SetBuffer(kernelIndex, name, buffer) end

--
--Sets a ComputeBuffer or a GraphicsBuffer as a named constant buffer for the ComputeShader.
--
--```plaintext
--Params: nameID - The ID of the property name for the constant buffer in shader code. Use Shader.PropertyToID to get this ID.
--        name - The name of the buffer to bind as constant buffer.
--        buffer - The buffer to bind as constant buffer.
--        offset - The offset in bytes from the beginning of the ComputeBuffer to bind. Must be a multiple of SystemInfo.constantBufferOffsetAlignment, or 0 if that value is 0.
--        size - The number of bytes to bind.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param buffer UnityEngine.ComputeBuffer
---@param offset int
---@param size int
function CS.UnityEngine.ComputeShader.SetConstantBuffer(nameID, buffer, offset, size) end

--
--Sets a ComputeBuffer or a GraphicsBuffer as a named constant buffer for the ComputeShader.
--
--```plaintext
--Params: nameID - The ID of the property name for the constant buffer in shader code. Use Shader.PropertyToID to get this ID.
--        name - The name of the buffer to bind as constant buffer.
--        buffer - The buffer to bind as constant buffer.
--        offset - The offset in bytes from the beginning of the ComputeBuffer to bind. Must be a multiple of SystemInfo.constantBufferOffsetAlignment, or 0 if that value is 0.
--        size - The number of bytes to bind.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param buffer UnityEngine.ComputeBuffer
---@param offset int
---@param size int
function CS.UnityEngine.ComputeShader.SetConstantBuffer(name, buffer, offset, size) end

--
--Sets a ComputeBuffer or a GraphicsBuffer as a named constant buffer for the ComputeShader.
--
--```plaintext
--Params: nameID - The ID of the property name for the constant buffer in shader code. Use Shader.PropertyToID to get this ID.
--        name - The name of the buffer to bind as constant buffer.
--        buffer - The buffer to bind as constant buffer.
--        offset - The offset in bytes from the beginning of the ComputeBuffer to bind. Must be a multiple of SystemInfo.constantBufferOffsetAlignment, or 0 if that value is 0.
--        size - The number of bytes to bind.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param nameID int
---@param buffer UnityEngine.GraphicsBuffer
---@param offset int
---@param size int
function CS.UnityEngine.ComputeShader.SetConstantBuffer(nameID, buffer, offset, size) end

--
--Sets a ComputeBuffer or a GraphicsBuffer as a named constant buffer for the ComputeShader.
--
--```plaintext
--Params: nameID - The ID of the property name for the constant buffer in shader code. Use Shader.PropertyToID to get this ID.
--        name - The name of the buffer to bind as constant buffer.
--        buffer - The buffer to bind as constant buffer.
--        offset - The offset in bytes from the beginning of the ComputeBuffer to bind. Must be a multiple of SystemInfo.constantBufferOffsetAlignment, or 0 if that value is 0.
--        size - The number of bytes to bind.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param name string
---@param buffer UnityEngine.GraphicsBuffer
---@param offset int
---@param size int
function CS.UnityEngine.ComputeShader.SetConstantBuffer(name, buffer, offset, size) end

--
--Execute a compute shader.
--
--```plaintext
--Params: kernelIndex - Which kernel to execute. A single compute shader asset can have multiple kernel entry points.
--        argsBuffer - Buffer with dispatch arguments.
--        argsOffset - The byte offset into the buffer, where the draw arguments start.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param argsBuffer UnityEngine.ComputeBuffer
---@param argsOffset uint
function CS.UnityEngine.ComputeShader.DispatchIndirect(kernelIndex, argsBuffer, argsOffset) end

---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param argsBuffer UnityEngine.ComputeBuffer
function CS.UnityEngine.ComputeShader.DispatchIndirect(kernelIndex, argsBuffer) end

--
--Execute a compute shader.
--
--```plaintext
--Params: kernelIndex - Which kernel to execute. A single compute shader asset can have multiple kernel entry points.
--        argsBuffer - Buffer with dispatch arguments.
--        argsOffset - The byte offset into the buffer, where the draw arguments start.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param argsBuffer UnityEngine.GraphicsBuffer
---@param argsOffset uint
function CS.UnityEngine.ComputeShader.DispatchIndirect(kernelIndex, argsBuffer, argsOffset) end

---@source UnityEngine.CoreModule.dll
---@param kernelIndex int
---@param argsBuffer UnityEngine.GraphicsBuffer
function CS.UnityEngine.ComputeShader.DispatchIndirect(kernelIndex, argsBuffer) end


--
--ShaderVariantCollection records which shader variants are actually used in each shader.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ShaderVariantCollection: UnityEngine.Object
--
--Number of shaders in this collection (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field shaderCount int
--
--Number of total varians in this collection (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field variantCount int
--
--Is this ShaderVariantCollection already warmed up? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field isWarmedUp bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ShaderVariantCollection = {}

--
--Remove all shader variants from the collection.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.ShaderVariantCollection.Clear() end

--
--Prewarms all shader variants in this shader variant collection.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.ShaderVariantCollection.WarmUp() end

---@source UnityEngine.CoreModule.dll
---@param variant UnityEngine.ShaderVariantCollection.ShaderVariant
---@return Boolean
function CS.UnityEngine.ShaderVariantCollection.Add(variant) end

---@source UnityEngine.CoreModule.dll
---@param variant UnityEngine.ShaderVariantCollection.ShaderVariant
---@return Boolean
function CS.UnityEngine.ShaderVariantCollection.Remove(variant) end

---@source UnityEngine.CoreModule.dll
---@param variant UnityEngine.ShaderVariantCollection.ShaderVariant
---@return Boolean
function CS.UnityEngine.ShaderVariantCollection.Contains(variant) end


--
--Identifies a specific variant of a shader.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ShaderVariant: System.ValueType
--
--Shader to use in this variant.
--
---@source UnityEngine.CoreModule.dll
---@field shader UnityEngine.Shader
--
--Pass type to use in this variant.
--
---@source UnityEngine.CoreModule.dll
---@field passType UnityEngine.Rendering.PassType
--
--Array of shader keywords to use in this variant.
--
---@source UnityEngine.CoreModule.dll
---@field keywords string[]
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ShaderVariant = {}


--
--Defines the axes that can be snapped.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SnapAxis: System.Enum
--
--No axes support snapping.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.SnapAxis
--
--Snapping is available only on the \x\ axis.
--
---@source UnityEngine.CoreModule.dll
---@field X UnityEngine.SnapAxis
--
--Snapping is available only on the \y\ axis.
--
---@source UnityEngine.CoreModule.dll
---@field Y UnityEngine.SnapAxis
--
--Snapping is available only on the \z\ axis.
--
---@source UnityEngine.CoreModule.dll
---@field Z UnityEngine.SnapAxis
--
--Snapping is available on all axes: x, y, and z.
--
---@source UnityEngine.CoreModule.dll
---@field All UnityEngine.SnapAxis
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SnapAxis = {}

---@source 
---@param value any
---@return UnityEngine.SnapAxis
function CS.UnityEngine.SnapAxis:__CastFrom(value) end


--
--Snap values to rounded increments.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Snapping: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Snapping = {}

--
--The rounded value.
--
--```plaintext
--Params: val - The value to round.
--        snap - The increment to round to.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param val float
---@param snap float
---@return Single
function CS.UnityEngine.Snapping:Snap(val, snap) end

--
--The rounded value.
--
--```plaintext
--Params: val - The value to round.
--        snap - The increment to round to.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param val UnityEngine.Vector2
---@param snap UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Snapping:Snap(val, snap) end

--
--The rounded value.
--
--```plaintext
--Params: val - The value to round.
--        snap - The increment to round to.
--        axis - Restrict snapping to the components on these axes.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param val UnityEngine.Vector3
---@param snap UnityEngine.Vector3
---@param axis UnityEngine.SnapAxis
---@return Vector3
function CS.UnityEngine.Snapping:Snap(val, snap, axis) end


--
--StaticBatchingUtility can prepare your objects to take advantage of Unity's static batching.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.StaticBatchingUtility: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.StaticBatchingUtility = {}

--
--StaticBatchingUtility.Combine prepares all children of the staticBatchRoot for static batching.
--
--```plaintext
--Params: staticBatchRoot - The GameObject that should become the root of the combined batch.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param staticBatchRoot UnityEngine.GameObject
function CS.UnityEngine.StaticBatchingUtility:Combine(staticBatchRoot) end

--
--StaticBatchingUtility.Combine prepares all GameObjects contained in gos for static batching. staticBatchRoot is treated as their parent.
--
--```plaintext
--Params: gos - The GameObjects to prepare for static batching.
--        staticBatchRoot - The GameObject that should become the root of the combined batch.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param gos UnityEngine.GameObject[]
---@param staticBatchRoot UnityEngine.GameObject
function CS.UnityEngine.StaticBatchingUtility:Combine(gos, staticBatchRoot) end


--
--Enumeration for SystemInfo.batteryStatus which represents the current status of the device's battery.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.BatteryStatus: System.Enum
--
--The device's battery status cannot be determined. If battery status is not available on your target platform, SystemInfo.batteryStatus will return this value.
--
---@source UnityEngine.CoreModule.dll
---@field Unknown UnityEngine.BatteryStatus
--
--Device is plugged in and charging.
--
---@source UnityEngine.CoreModule.dll
---@field Charging UnityEngine.BatteryStatus
--
--Device is unplugged and discharging.
--
---@source UnityEngine.CoreModule.dll
---@field Discharging UnityEngine.BatteryStatus
--
--Device is plugged in, but is not charging.
--
---@source UnityEngine.CoreModule.dll
---@field NotCharging UnityEngine.BatteryStatus
--
--Device is plugged in and the battery is full.
--
---@source UnityEngine.CoreModule.dll
---@field Full UnityEngine.BatteryStatus
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.BatteryStatus = {}

---@source 
---@param value any
---@return UnityEngine.BatteryStatus
function CS.UnityEngine.BatteryStatus:__CastFrom(value) end


--
--Enumeration for SystemInfo.operatingSystemFamily.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.OperatingSystemFamily: System.Enum
--
--Returned for operating systems that do not fall into any other category.
--
---@source UnityEngine.CoreModule.dll
---@field Other UnityEngine.OperatingSystemFamily
--
--macOS operating system family.
--
---@source UnityEngine.CoreModule.dll
---@field MacOSX UnityEngine.OperatingSystemFamily
--
--Windows operating system family.
--
---@source UnityEngine.CoreModule.dll
---@field Windows UnityEngine.OperatingSystemFamily
--
--Linux operating system family.
--
---@source UnityEngine.CoreModule.dll
---@field Linux UnityEngine.OperatingSystemFamily
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.OperatingSystemFamily = {}

---@source 
---@param value any
---@return UnityEngine.OperatingSystemFamily
function CS.UnityEngine.OperatingSystemFamily:__CastFrom(value) end


--
--Enumeration for SystemInfo.deviceType, denotes a coarse grouping of kinds of devices.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.DeviceType: System.Enum
--
--Device type is unknown. You should never see this in practice.
--
---@source UnityEngine.CoreModule.dll
---@field Unknown UnityEngine.DeviceType
--
--A handheld device like mobile phone or a tablet.
--
---@source UnityEngine.CoreModule.dll
---@field Handheld UnityEngine.DeviceType
--
--A stationary gaming console.
--
---@source UnityEngine.CoreModule.dll
---@field Console UnityEngine.DeviceType
--
--Desktop or laptop computer.
--
---@source UnityEngine.CoreModule.dll
---@field Desktop UnityEngine.DeviceType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.DeviceType = {}

---@source 
---@param value any
---@return UnityEngine.DeviceType
function CS.UnityEngine.DeviceType:__CastFrom(value) end


--
--Access system and hardware information.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SystemInfo: object
--
--Value returned by SystemInfo string properties which are not supported on the current platform.
--
---@source UnityEngine.CoreModule.dll
---@field unsupportedIdentifier string
--
--The current battery level (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field batteryLevel float
--
--Returns the current status of the device's battery (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field batteryStatus UnityEngine.BatteryStatus
--
--Operating system name with version (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field operatingSystem string
--
--Returns the operating system family the game is running on (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field operatingSystemFamily UnityEngine.OperatingSystemFamily
--
--Processor name (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field processorType string
--
--Processor frequency in MHz (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field processorFrequency int
--
--Number of processors present (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field processorCount int
--
--Amount of system memory present (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field systemMemorySize int
--
--A unique device identifier. It is guaranteed to be unique for every device (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field deviceUniqueIdentifier string
--
--The user defined name of the device (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field deviceName string
--
--The model of the device (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field deviceModel string
--
--Is an accelerometer available on the device?
--
---@source UnityEngine.CoreModule.dll
---@field supportsAccelerometer bool
--
--Is a gyroscope available on the device?
--
---@source UnityEngine.CoreModule.dll
---@field supportsGyroscope bool
--
--Is the device capable of reporting its location?
--
---@source UnityEngine.CoreModule.dll
---@field supportsLocationService bool
--
--Is the device capable of providing the user haptic feedback by vibration?
--
---@source UnityEngine.CoreModule.dll
---@field supportsVibration bool
--
--Is there an Audio device available for playback? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsAudio bool
--
--Returns the kind of device the application is running on (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field deviceType UnityEngine.DeviceType
--
--Amount of video memory present (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field graphicsMemorySize int
--
--The name of the graphics device (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field graphicsDeviceName string
--
--The vendor of the graphics device (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field graphicsDeviceVendor string
--
--The identifier code of the graphics device (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field graphicsDeviceID int
--
--The identifier code of the graphics device vendor (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field graphicsDeviceVendorID int
--
--The graphics API type used by the graphics device (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field graphicsDeviceType UnityEngine.Rendering.GraphicsDeviceType
--
--Returns true if the texture UV coordinate convention for this platform has Y starting at the top of the image.
--
---@source UnityEngine.CoreModule.dll
---@field graphicsUVStartsAtTop bool
--
--The graphics API type and driver version used by the graphics device (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field graphicsDeviceVersion string
--
--Graphics device shader capability level (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field graphicsShaderLevel int
--
--Is graphics device using multi-threaded rendering (Read Only)?
--
---@source UnityEngine.CoreModule.dll
---@field graphicsMultiThreaded bool
--
--Application's actual rendering threading mode (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field renderingThreadingMode UnityEngine.Rendering.RenderingThreadingMode
--
--True if the GPU supports hidden surface removal.
--
---@source UnityEngine.CoreModule.dll
---@field hasHiddenSurfaceRemovalOnGPU bool
--
--Returns true when the GPU has native support for indexing uniform arrays in fragment shaders without restrictions.
--
---@source UnityEngine.CoreModule.dll
---@field hasDynamicUniformArrayIndexingInFragmentShaders bool
--
--Are built-in shadows supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsShadows bool
--
--Is sampling raw depth from shadowmaps supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsRawShadowDepthSampling bool
--
--Whether motion vectors are supported on this platform.
--
---@source UnityEngine.CoreModule.dll
---@field supportsMotionVectors bool
--
--Are 3D (volume) textures supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supports3DTextures bool
--
--Are compressed formats for 3D (volume) textures supported? (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field supportsCompressed3DTextures bool
--
--Are 2D Array textures supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supports2DArrayTextures bool
--
--Are 3D (volume) RenderTextures supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supports3DRenderTextures bool
--
--Are Cubemap Array textures supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsCubemapArrayTextures bool
--
--Support for various Graphics.CopyTexture cases (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field copyTextureSupport UnityEngine.Rendering.CopyTextureSupport
--
--Are compute shaders supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsComputeShaders bool
--
--Is conservative rasterization supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsConservativeRaster bool
--
--Boolean that indicates whether Multiview is supported (true if supported, false if not supported). (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsMultiview bool
--
--Are geometry shaders supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsGeometryShaders bool
--
--Are tessellation shaders supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsTessellationShaders bool
--
--Boolean that indicates if SV_RenderTargetArrayIndex can be used in a vertex shader (true if it can be used, false if not).
--
---@source UnityEngine.CoreModule.dll
---@field supportsRenderTargetArrayIndexFromVertexShader bool
--
--Is GPU draw call instancing supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsInstancing bool
--
--Does the hardware support quad topology? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsHardwareQuadTopology bool
--
--Are 32-bit index buffers supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supports32bitsIndexBuffer bool
--
--Are sparse textures supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsSparseTextures bool
--
--How many simultaneous render targets (MRTs) are supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportedRenderTargetCount int
--
--Returns true when the platform supports different blend modes when rendering to multiple render targets, or false otherwise.
--
---@source UnityEngine.CoreModule.dll
---@field supportsSeparatedRenderTargetsBlend bool
--
--The maximum number of random write targets (UAV) that Unity supports simultaneously. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportedRandomWriteTargetCount int
--
--Are multisampled textures supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsMultisampledTextures int
--
--Boolean that indicates whether multisampled texture arrays are supported (true if supported, false if not supported).
--
---@source UnityEngine.CoreModule.dll
---@field supportsMultisampled2DArrayTextures bool
--
--Returns true if multisampled textures are resolved automatically
--
---@source UnityEngine.CoreModule.dll
---@field supportsMultisampleAutoResolve bool
--
--Returns true if the 'Mirror Once' texture wrap mode is supported. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsTextureWrapMirrorOnce int
--
--This property is true if the current platform uses a reversed depth buffer (where values range from 1 at the near plane and 0 at far plane), and false if the depth buffer is normal (0 is near, 1 is far). (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field usesReversedZBuffer bool
--
--What NPOT (non-power of two size) texture support does the GPU provide? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field npotSupport UnityEngine.NPOTSupport
--
--Maximum texture size (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field maxTextureSize int
--
--Maximum Cubemap texture size (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field maxCubemapSize int
--
--Determines how many compute buffers Unity supports simultaneously in a vertex shader for reading. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field maxComputeBufferInputsVertex int
--
--Determines how many compute buffers Unity supports simultaneously in a fragment shader for reading. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field maxComputeBufferInputsFragment int
--
--Determines how many compute buffers Unity supports simultaneously in a geometry shader for reading. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field maxComputeBufferInputsGeometry int
--
--Determines how many compute buffers Unity supports simultaneously in a domain shader for reading. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field maxComputeBufferInputsDomain int
--
--Determines how many compute buffers Unity supports simultaneously in a hull shader for reading. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field maxComputeBufferInputsHull int
--
--Determines how many compute buffers Unity supports simultaneously in a compute shader for reading. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field maxComputeBufferInputsCompute int
--
--The largest total number of invocations in a single local work group that can be dispatched to a compute shader (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field maxComputeWorkGroupSize int
--
--The maximum number of work groups that a compute shader can use in X dimension (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field maxComputeWorkGroupSizeX int
--
--The maximum number of work groups that a compute shader can use in Y dimension (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field maxComputeWorkGroupSizeY int
--
--The maximum number of work groups that a compute shader can use in Z dimension (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field maxComputeWorkGroupSizeZ int
--
--Returns true when the platform supports asynchronous compute queues and false if otherwise.
--
---@source UnityEngine.CoreModule.dll
---@field supportsAsyncCompute bool
--
--Specifies whether the current platform supports the GPU Recorder or not. (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field supportsGpuRecorder bool
--
--Returns true when the platform supports GraphicsFences, and false if otherwise.
--
---@source UnityEngine.CoreModule.dll
---@field supportsGraphicsFence bool
--
--Returns true if asynchronous readback of GPU data is available for this device and false otherwise.
--
---@source UnityEngine.CoreModule.dll
---@field supportsAsyncGPUReadback bool
--
--Checks if ray tracing is supported by the current configuration.
--
---@source UnityEngine.CoreModule.dll
---@field supportsRayTracing bool
--
--Does the current renderer support binding constant buffers directly? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsSetConstantBuffer bool
--
--Minimum buffer offset (in bytes) when binding a constant buffer using Shader.SetConstantBuffer or Material.SetConstantBuffer.
--
---@source UnityEngine.CoreModule.dll
---@field constantBufferOffsetAlignment int
--
--Obsolete - use SystemInfo.constantBufferOffsetAlignment instead. Minimum buffer offset (in bytes) when binding a constant buffer using Shader.SetConstantBuffer or Material.SetConstantBuffer.
--
---@source UnityEngine.CoreModule.dll
---@field minConstantBufferOffsetAlignment bool
--
--Returns true if the GPU supports partial mipmap chains (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field hasMipMaxLevel bool
--
--Is streaming of texture mip maps supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsMipStreaming bool
--
--True if the Graphics API takes RenderBufferLoadAction and RenderBufferStoreAction into account, false if otherwise.
--
---@source UnityEngine.CoreModule.dll
---@field usesLoadStoreActions bool
--
--Returns a bitwise combination of HDRDisplaySupportFlags describing the support for HDR displays on the system.
--
---@source UnityEngine.CoreModule.dll
---@field hdrDisplaySupportFlags UnityEngine.HDRDisplaySupportFlags
--
--This property is true if the graphics API of the target build platform takes RenderBufferStoreAction.StoreAndResolve into account, false if otherwise.
--
---@source UnityEngine.CoreModule.dll
---@field supportsStoreAndResolveAction bool
--
--Are render textures supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsRenderTextures bool
--
--Are cubemap render textures supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsRenderToCubemap bool
--
--Are image effects supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsImageEffects bool
--
--Is the stencil buffer supported? (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field supportsStencil int
---@source UnityEngine.CoreModule.dll
---@field graphicsPixelFillrate int
---@source UnityEngine.CoreModule.dll
---@field supportsVertexPrograms bool
--
--This functionality is deprecated, and should no longer be used. Please use SystemInfo.supportsGraphicsFence.
--
---@source UnityEngine.CoreModule.dll
---@field supportsGPUFence bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SystemInfo = {}

--
--True if the format is supported.
--
--```plaintext
--Params: format - The format to look up.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format UnityEngine.RenderTextureFormat
---@return Boolean
function CS.UnityEngine.SystemInfo:SupportsRenderTextureFormat(format) end

--
--True if blending is supported on the given format.
--
--```plaintext
--Params: format - The format to look up.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format UnityEngine.RenderTextureFormat
---@return Boolean
function CS.UnityEngine.SystemInfo:SupportsBlendingOnRenderTextureFormat(format) end

--
--True if the format is supported.
--
--```plaintext
--Params: format - The TextureFormat format to look up.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format UnityEngine.TextureFormat
---@return Boolean
function CS.UnityEngine.SystemInfo:SupportsTextureFormat(format) end

--
--True if the format with the given dimension is supported.
--
--```plaintext
--Params: format - The VertexAttributeFormat format to look up.
--        dimension - The dimension of vertex data to check for.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format UnityEngine.Rendering.VertexAttributeFormat
---@param dimension int
---@return Boolean
function CS.UnityEngine.SystemInfo:SupportsVertexAttributeFormat(format, dimension) end

---@source UnityEngine.CoreModule.dll
---@param format UnityEngine.Experimental.Rendering.GraphicsFormat
---@param usage UnityEngine.Experimental.Rendering.FormatUsage
---@return Boolean
function CS.UnityEngine.SystemInfo:IsFormatSupported(format, usage) end

---@source UnityEngine.CoreModule.dll
---@param format UnityEngine.Experimental.Rendering.GraphicsFormat
---@param usage UnityEngine.Experimental.Rendering.FormatUsage
---@return GraphicsFormat
function CS.UnityEngine.SystemInfo:GetCompatibleFormat(format, usage) end

--
--Returns the platform-specific GraphicsFormat that is associated with the DefaultFormat.
--
--```plaintext
--Params: format - The DefaultFormat format to look up.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param format UnityEngine.Experimental.Rendering.DefaultFormat
---@return GraphicsFormat
function CS.UnityEngine.SystemInfo:GetGraphicsFormat(format) end

--
--If the target platform supports the given MSAA samples count of RenderTextureDescriptor, returns the given MSAA samples count. Otherwise returns a lower fallback MSAA samples count value that the target platform supports.
--
--```plaintext
--Params: desc - The RenderTextureDescriptor to check.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param desc UnityEngine.RenderTextureDescriptor
---@return Int32
function CS.UnityEngine.SystemInfo:GetRenderTextureSupportedMSAASampleCount(desc) end


--
--Provides an interface to get time information from Unity.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Time: object
--
--The time at the beginning of this frame (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field time float
--
--The double precision time at the beginning of this frame (Read Only). This is the time in seconds since the start of the game.
--
---@source UnityEngine.CoreModule.dll
---@field timeAsDouble double
--
--The time since this frame started (Read Only). This is the time in seconds since the last non-additive scene has finished loading.
--
---@source UnityEngine.CoreModule.dll
---@field timeSinceLevelLoad float
--
--The double precision time since this frame started (Read Only). This is the time in seconds since the last non-additive scene has finished loading.
--
---@source UnityEngine.CoreModule.dll
---@field timeSinceLevelLoadAsDouble double
--
--The interval in seconds from the last frame to the current one (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field deltaTime float
--
--The time since the last MonoBehaviour.FixedUpdate started (Read Only). This is the time in seconds since the start of the game.
--
---@source UnityEngine.CoreModule.dll
---@field fixedTime float
--
--The double precision time since the last MonoBehaviour.FixedUpdate started (Read Only). This is the time in seconds since the start of the game.
--
---@source UnityEngine.CoreModule.dll
---@field fixedTimeAsDouble double
--
--The timeScale-independent time for this frame (Read Only). This is the time in seconds since the start of the game.
--
---@source UnityEngine.CoreModule.dll
---@field unscaledTime float
--
--The double precision timeScale-independent time for this frame (Read Only). This is the time in seconds since the start of the game.
--
---@source UnityEngine.CoreModule.dll
---@field unscaledTimeAsDouble double
--
--The timeScale-independent time at the beginning of the last MonoBehaviour.FixedUpdate phase (Read Only). This is the time in seconds since the start of the game.
--
---@source UnityEngine.CoreModule.dll
---@field fixedUnscaledTime float
--
--The double precision timeScale-independent time at the beginning of the last MonoBehaviour.FixedUpdate (Read Only). This is the time in seconds since the start of the game.
--
---@source UnityEngine.CoreModule.dll
---@field fixedUnscaledTimeAsDouble double
--
--The timeScale-independent interval in seconds from the last frame to the current one (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field unscaledDeltaTime float
--
--The timeScale-independent interval in seconds from the last MonoBehaviour.FixedUpdate phase to the current one (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field fixedUnscaledDeltaTime float
--
--The interval in seconds at which physics and other fixed frame rate updates (like MonoBehaviour's MonoBehaviour.FixedUpdate) are performed.
--
---@source UnityEngine.CoreModule.dll
---@field fixedDeltaTime float
--
--The maximum value of Time.deltaTime in any given frame. This is a time in seconds that limits the increase of Time.time between two frames.
--
---@source UnityEngine.CoreModule.dll
---@field maximumDeltaTime float
--
--A smoothed out Time.deltaTime (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field smoothDeltaTime float
--
--The maximum time a frame can spend on particle updates. If the frame takes longer than this, then updates are split into multiple smaller updates.
--
---@source UnityEngine.CoreModule.dll
---@field maximumParticleDeltaTime float
--
--The scale at which time passes.
--
---@source UnityEngine.CoreModule.dll
---@field timeScale float
--
--The total number of frames since the start of the game (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field frameCount int
---@source UnityEngine.CoreModule.dll
---@field renderedFrameCount int
--
--The real time in seconds since the game started (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field realtimeSinceStartup float
--
--The real time in seconds since the game started (Read Only). Double precision version of Time.realtimeSinceStartup.
--
---@source UnityEngine.CoreModule.dll
---@field realtimeSinceStartupAsDouble double
--
--Slows your application’s playback time to allow Unity to save screenshots in between frames.
--
---@source UnityEngine.CoreModule.dll
---@field captureDeltaTime float
--
--The reciprocal of Time.captureDeltaTime.
--
---@source UnityEngine.CoreModule.dll
---@field captureFramerate int
--
--Returns true if called inside a fixed time step callback (like MonoBehaviour's MonoBehaviour.FixedUpdate), otherwise returns false.
--
---@source UnityEngine.CoreModule.dll
---@field inFixedTimeStep bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Time = {}


--
--Interface for on-screen keyboards. Only native iPhone, Android, and Windows Store Apps are supported.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.TouchScreenKeyboard: object
--
--Is touch screen keyboard supported.
--
---@source UnityEngine.CoreModule.dll
---@field isSupported bool
--
--Returns true when you are able to select and modify the input field, returns false otherwise.
--
---@source UnityEngine.CoreModule.dll
---@field isInPlaceEditingAllowed bool
--
--Returns the text displayed by the input field of the keyboard.
--
---@source UnityEngine.CoreModule.dll
---@field text string
--
--Will text input field above the keyboard be hidden when the keyboard is on screen?
--
---@source UnityEngine.CoreModule.dll
---@field hideInput bool
--
--Is the keyboard visible or sliding into the position on the screen?
--
---@source UnityEngine.CoreModule.dll
---@field active bool
--
--Specifies if input process was finished. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field done bool
--
--Specifies if input process was canceled. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field wasCanceled bool
--
--Returns the status of the on-screen keyboard. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field status UnityEngine.TouchScreenKeyboard.Status
--
--How many characters the keyboard input field is limited to. 0 = infinite.
--
---@source UnityEngine.CoreModule.dll
---@field characterLimit int
--
--Specifies whether the TouchScreenKeyboard supports the selection property. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field canGetSelection bool
--
--Specifies whether the TouchScreenKeyboard supports the selection property. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field canSetSelection bool
--
--Gets or sets the character range of the selected text within the string currently being edited.
--
---@source UnityEngine.CoreModule.dll
---@field selection UnityEngine.RangeInt
--
--Returns the TouchScreenKeyboardType of the keyboard.
--
---@source UnityEngine.CoreModule.dll
---@field type UnityEngine.TouchScreenKeyboardType
--
--Specified on which display the on-screen keyboard will appear.
--
---@source UnityEngine.CoreModule.dll
---@field targetDisplay int
--
--Returns portion of the screen which is covered by the keyboard.
--
---@source UnityEngine.CoreModule.dll
---@field area UnityEngine.Rect
--
--Returns true whenever any keyboard is visible on the screen.
--
---@source UnityEngine.CoreModule.dll
---@field visible bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.TouchScreenKeyboard = {}

--
--Opens the native keyboard provided by OS on the screen.
--
--```plaintext
--Params: text - Text to edit.
--        keyboardType - Type of keyboard (eg, any text, numbers only, etc).
--        autocorrection - Is autocorrection applied?
--        multiline - Can more than one line of text be entered?
--        secure - Is the text masked (for passwords, etc)?
--        alert - Is the keyboard opened in alert mode?
--        textPlaceholder - Text to be used if no other text is present.
--        characterLimit - How many characters the keyboard input field is limited to. 0 = infinite. (Android and iOS only)
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param text string
---@param keyboardType UnityEngine.TouchScreenKeyboardType
---@param autocorrection bool
---@param multiline bool
---@param secure bool
---@param alert bool
---@param textPlaceholder string
---@param characterLimit int
---@return TouchScreenKeyboard
function CS.UnityEngine.TouchScreenKeyboard:Open(text, keyboardType, autocorrection, multiline, secure, alert, textPlaceholder, characterLimit) end

--
--Opens the native keyboard provided by OS on the screen.
--
--```plaintext
--Params: text - Text to edit.
--        keyboardType - Type of keyboard (eg, any text, numbers only, etc).
--        autocorrection - Is autocorrection applied?
--        multiline - Can more than one line of text be entered?
--        secure - Is the text masked (for passwords, etc)?
--        alert - Is the keyboard opened in alert mode?
--        textPlaceholder - Text to be used if no other text is present.
--        characterLimit - How many characters the keyboard input field is limited to. 0 = infinite. (Android and iOS only)
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param text string
---@param keyboardType UnityEngine.TouchScreenKeyboardType
---@param autocorrection bool
---@param multiline bool
---@param secure bool
---@param alert bool
---@param textPlaceholder string
---@return TouchScreenKeyboard
function CS.UnityEngine.TouchScreenKeyboard:Open(text, keyboardType, autocorrection, multiline, secure, alert, textPlaceholder) end

--
--Opens the native keyboard provided by OS on the screen.
--
--```plaintext
--Params: text - Text to edit.
--        keyboardType - Type of keyboard (eg, any text, numbers only, etc).
--        autocorrection - Is autocorrection applied?
--        multiline - Can more than one line of text be entered?
--        secure - Is the text masked (for passwords, etc)?
--        alert - Is the keyboard opened in alert mode?
--        textPlaceholder - Text to be used if no other text is present.
--        characterLimit - How many characters the keyboard input field is limited to. 0 = infinite. (Android and iOS only)
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param text string
---@param keyboardType UnityEngine.TouchScreenKeyboardType
---@param autocorrection bool
---@param multiline bool
---@param secure bool
---@param alert bool
---@return TouchScreenKeyboard
function CS.UnityEngine.TouchScreenKeyboard:Open(text, keyboardType, autocorrection, multiline, secure, alert) end

--
--Opens the native keyboard provided by OS on the screen.
--
--```plaintext
--Params: text - Text to edit.
--        keyboardType - Type of keyboard (eg, any text, numbers only, etc).
--        autocorrection - Is autocorrection applied?
--        multiline - Can more than one line of text be entered?
--        secure - Is the text masked (for passwords, etc)?
--        alert - Is the keyboard opened in alert mode?
--        textPlaceholder - Text to be used if no other text is present.
--        characterLimit - How many characters the keyboard input field is limited to. 0 = infinite. (Android and iOS only)
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param text string
---@param keyboardType UnityEngine.TouchScreenKeyboardType
---@param autocorrection bool
---@param multiline bool
---@param secure bool
---@return TouchScreenKeyboard
function CS.UnityEngine.TouchScreenKeyboard:Open(text, keyboardType, autocorrection, multiline, secure) end

--
--Opens the native keyboard provided by OS on the screen.
--
--```plaintext
--Params: text - Text to edit.
--        keyboardType - Type of keyboard (eg, any text, numbers only, etc).
--        autocorrection - Is autocorrection applied?
--        multiline - Can more than one line of text be entered?
--        secure - Is the text masked (for passwords, etc)?
--        alert - Is the keyboard opened in alert mode?
--        textPlaceholder - Text to be used if no other text is present.
--        characterLimit - How many characters the keyboard input field is limited to. 0 = infinite. (Android and iOS only)
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param text string
---@param keyboardType UnityEngine.TouchScreenKeyboardType
---@param autocorrection bool
---@param multiline bool
---@return TouchScreenKeyboard
function CS.UnityEngine.TouchScreenKeyboard:Open(text, keyboardType, autocorrection, multiline) end

--
--Opens the native keyboard provided by OS on the screen.
--
--```plaintext
--Params: text - Text to edit.
--        keyboardType - Type of keyboard (eg, any text, numbers only, etc).
--        autocorrection - Is autocorrection applied?
--        multiline - Can more than one line of text be entered?
--        secure - Is the text masked (for passwords, etc)?
--        alert - Is the keyboard opened in alert mode?
--        textPlaceholder - Text to be used if no other text is present.
--        characterLimit - How many characters the keyboard input field is limited to. 0 = infinite. (Android and iOS only)
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param text string
---@param keyboardType UnityEngine.TouchScreenKeyboardType
---@param autocorrection bool
---@return TouchScreenKeyboard
function CS.UnityEngine.TouchScreenKeyboard:Open(text, keyboardType, autocorrection) end

--
--Opens the native keyboard provided by OS on the screen.
--
--```plaintext
--Params: text - Text to edit.
--        keyboardType - Type of keyboard (eg, any text, numbers only, etc).
--        autocorrection - Is autocorrection applied?
--        multiline - Can more than one line of text be entered?
--        secure - Is the text masked (for passwords, etc)?
--        alert - Is the keyboard opened in alert mode?
--        textPlaceholder - Text to be used if no other text is present.
--        characterLimit - How many characters the keyboard input field is limited to. 0 = infinite. (Android and iOS only)
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param text string
---@param keyboardType UnityEngine.TouchScreenKeyboardType
---@return TouchScreenKeyboard
function CS.UnityEngine.TouchScreenKeyboard:Open(text, keyboardType) end

--
--Opens the native keyboard provided by OS on the screen.
--
--```plaintext
--Params: text - Text to edit.
--        keyboardType - Type of keyboard (eg, any text, numbers only, etc).
--        autocorrection - Is autocorrection applied?
--        multiline - Can more than one line of text be entered?
--        secure - Is the text masked (for passwords, etc)?
--        alert - Is the keyboard opened in alert mode?
--        textPlaceholder - Text to be used if no other text is present.
--        characterLimit - How many characters the keyboard input field is limited to. 0 = infinite. (Android and iOS only)
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param text string
---@return TouchScreenKeyboard
function CS.UnityEngine.TouchScreenKeyboard:Open(text) end


--
--The status of the on-screen keyboard.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Status: System.Enum
--
--The on-screen keyboard is visible.
--
---@source UnityEngine.CoreModule.dll
---@field Visible UnityEngine.TouchScreenKeyboard.Status
--
--The user has finished providing input.
--
---@source UnityEngine.CoreModule.dll
---@field Done UnityEngine.TouchScreenKeyboard.Status
--
--The on-screen keyboard was canceled.
--
---@source UnityEngine.CoreModule.dll
---@field Canceled UnityEngine.TouchScreenKeyboard.Status
--
--The on-screen keyboard has lost focus.
--
---@source UnityEngine.CoreModule.dll
---@field LostFocus UnityEngine.TouchScreenKeyboard.Status
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Status = {}

---@source 
---@param value any
---@return UnityEngine.TouchScreenKeyboard.Status
function CS.UnityEngine.Status:__CastFrom(value) end


--
--Android specific on-screen keyboard settings.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Android: object
--
--Enable legacy on-screen keyboard hiding on Android.
--
---@source UnityEngine.CoreModule.dll
---@field closeKeyboardOnOutsideTap bool
--
--Indicates whether the keyboard consumes screen touches outside the visible keyboard area.
--
---@source UnityEngine.CoreModule.dll
---@field consumesOutsideTouches bool
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Android = {}


--
--Enumeration of the different types of supported touchscreen keyboards.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.TouchScreenKeyboardType: System.Enum
--
--The default keyboard layout of the target platform.
--
---@source UnityEngine.CoreModule.dll
---@field Default UnityEngine.TouchScreenKeyboardType
--
--Keyboard with standard ASCII keys.
--
---@source UnityEngine.CoreModule.dll
---@field ASCIICapable UnityEngine.TouchScreenKeyboardType
--
--Keyboard with numbers and punctuation mark keys.
--
---@source UnityEngine.CoreModule.dll
---@field NumbersAndPunctuation UnityEngine.TouchScreenKeyboardType
--
--Keyboard with keys for URL entry.
--
---@source UnityEngine.CoreModule.dll
---@field URL UnityEngine.TouchScreenKeyboardType
--
--Keyboard with standard numeric keys.
--
---@source UnityEngine.CoreModule.dll
---@field NumberPad UnityEngine.TouchScreenKeyboardType
--
--Keyboard with a layout suitable for typing telephone numbers.
--
---@source UnityEngine.CoreModule.dll
---@field PhonePad UnityEngine.TouchScreenKeyboardType
--
--Keyboard with alphanumeric keys.
--
---@source UnityEngine.CoreModule.dll
---@field NamePhonePad UnityEngine.TouchScreenKeyboardType
--
--Keyboard with additional keys suitable for typing email addresses.
--
---@source UnityEngine.CoreModule.dll
---@field EmailAddress UnityEngine.TouchScreenKeyboardType
--
--Keyboard for the Nintendo Network (Deprecated).
--
---@source UnityEngine.CoreModule.dll
---@field NintendoNetworkAccount UnityEngine.TouchScreenKeyboardType
--
--Keyboard with symbol keys often used on social media, such as Twitter.
--
---@source UnityEngine.CoreModule.dll
---@field Social UnityEngine.TouchScreenKeyboardType
--
--Keyboard with the "." key beside the space key, suitable for typing search terms.
--
---@source UnityEngine.CoreModule.dll
---@field Search UnityEngine.TouchScreenKeyboardType
--
--Keyboard with numbers and a decimal point.
--
---@source UnityEngine.CoreModule.dll
---@field DecimalPad UnityEngine.TouchScreenKeyboardType
--
--Keyboard with standard numeric keys.
--
---@source UnityEngine.CoreModule.dll
---@field OneTimeCode UnityEngine.TouchScreenKeyboardType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.TouchScreenKeyboardType = {}

---@source 
---@param value any
---@return UnityEngine.TouchScreenKeyboardType
function CS.UnityEngine.TouchScreenKeyboardType:__CastFrom(value) end


---@source UnityEngine.CoreModule.dll
---@class UnityEngine.UnityEventQueueSystem: object
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.UnityEventQueueSystem = {}

---@source UnityEngine.CoreModule.dll
---@param eventPayloadName string
---@return String
function CS.UnityEngine.UnityEventQueueSystem:GenerateEventIdForPayload(eventPayloadName) end

---@source UnityEngine.CoreModule.dll
---@return IntPtr
function CS.UnityEngine.UnityEventQueueSystem:GetGlobalEventQueue() end


--
--Representation of a Position, and a Rotation in 3D Space
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Pose: System.ValueType
--
--The position component of the pose.
--
---@source UnityEngine.CoreModule.dll
---@field position UnityEngine.Vector3
--
--The rotation component of the pose.
--
---@source UnityEngine.CoreModule.dll
---@field rotation UnityEngine.Quaternion
--
--Returns the forward vector of the pose.
--
---@source UnityEngine.CoreModule.dll
---@field forward UnityEngine.Vector3
--
--Returns the right vector of the pose.
--
---@source UnityEngine.CoreModule.dll
---@field right UnityEngine.Vector3
--
--Returns the up vector of the pose.
--
---@source UnityEngine.CoreModule.dll
---@field up UnityEngine.Vector3
--
--Shorthand for pose which represents zero position, and an identity rotation.
--
---@source UnityEngine.CoreModule.dll
---@field identity UnityEngine.Pose
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Pose = {}

---@source UnityEngine.CoreModule.dll
---@return String
function CS.UnityEngine.Pose.ToString() end

---@source UnityEngine.CoreModule.dll
---@param format string
---@return String
function CS.UnityEngine.Pose.ToString(format) end

--
--Transforms the current pose into the local space of the provided pose.
--
---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Pose
---@return Pose
function CS.UnityEngine.Pose.GetTransformedBy(lhs) end

--
--Transforms the current pose into the local space of the provided pose.
--
---@source UnityEngine.CoreModule.dll
---@param lhs UnityEngine.Transform
---@return Pose
function CS.UnityEngine.Pose.GetTransformedBy(lhs) end

---@source UnityEngine.CoreModule.dll
---@param obj object
---@return Boolean
function CS.UnityEngine.Pose.Equals(obj) end

---@source UnityEngine.CoreModule.dll
---@param other UnityEngine.Pose
---@return Boolean
function CS.UnityEngine.Pose.Equals(other) end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Pose.GetHashCode() end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Pose
---@param b UnityEngine.Pose
---@return Boolean
function CS.UnityEngine.Pose:op_Equality(a, b) end

---@source UnityEngine.CoreModule.dll
---@param a UnityEngine.Pose
---@param b UnityEngine.Pose
---@return Boolean
function CS.UnityEngine.Pose:op_Inequality(a, b) end


--
--An enumeration of transform properties that can be driven on a RectTransform by an object.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.DrivenTransformProperties: System.Enum
--
--Deselects all driven properties.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.DrivenTransformProperties
--
--Selects all driven properties.
--
---@source UnityEngine.CoreModule.dll
---@field All UnityEngine.DrivenTransformProperties
--
--Selects driven property RectTransform.anchoredPosition.x.
--
---@source UnityEngine.CoreModule.dll
---@field AnchoredPositionX UnityEngine.DrivenTransformProperties
--
--Selects driven property RectTransform.anchoredPosition.y.
--
---@source UnityEngine.CoreModule.dll
---@field AnchoredPositionY UnityEngine.DrivenTransformProperties
--
--Selects driven property RectTransform.anchoredPosition3D.z.
--
---@source UnityEngine.CoreModule.dll
---@field AnchoredPositionZ UnityEngine.DrivenTransformProperties
--
--Selects driven property Transform.localRotation.
--
---@source UnityEngine.CoreModule.dll
---@field Rotation UnityEngine.DrivenTransformProperties
--
--Selects driven property Transform.localScale.x.
--
---@source UnityEngine.CoreModule.dll
---@field ScaleX UnityEngine.DrivenTransformProperties
--
--Selects driven property Transform.localScale.y.
--
---@source UnityEngine.CoreModule.dll
---@field ScaleY UnityEngine.DrivenTransformProperties
--
--Selects driven property Transform.localScale.z.
--
---@source UnityEngine.CoreModule.dll
---@field ScaleZ UnityEngine.DrivenTransformProperties
--
--Selects driven property RectTransform.anchorMin.x.
--
---@source UnityEngine.CoreModule.dll
---@field AnchorMinX UnityEngine.DrivenTransformProperties
--
--Selects driven property RectTransform.anchorMin.y.
--
---@source UnityEngine.CoreModule.dll
---@field AnchorMinY UnityEngine.DrivenTransformProperties
--
--Selects driven property RectTransform.anchorMax.x.
--
---@source UnityEngine.CoreModule.dll
---@field AnchorMaxX UnityEngine.DrivenTransformProperties
--
--Selects driven property RectTransform.anchorMax.y.
--
---@source UnityEngine.CoreModule.dll
---@field AnchorMaxY UnityEngine.DrivenTransformProperties
--
--Selects driven property RectTransform.sizeDelta.x.
--
---@source UnityEngine.CoreModule.dll
---@field SizeDeltaX UnityEngine.DrivenTransformProperties
--
--Selects driven property RectTransform.sizeDelta.y.
--
---@source UnityEngine.CoreModule.dll
---@field SizeDeltaY UnityEngine.DrivenTransformProperties
--
--Selects driven property RectTransform.pivot.x.
--
---@source UnityEngine.CoreModule.dll
---@field PivotX UnityEngine.DrivenTransformProperties
--
--Selects driven property RectTransform.pivot.y.
--
---@source UnityEngine.CoreModule.dll
---@field PivotY UnityEngine.DrivenTransformProperties
--
--Selects driven property RectTransform.anchoredPosition.
--
---@source UnityEngine.CoreModule.dll
---@field AnchoredPosition UnityEngine.DrivenTransformProperties
--
--Selects driven property RectTransform.anchoredPosition3D.
--
---@source UnityEngine.CoreModule.dll
---@field AnchoredPosition3D UnityEngine.DrivenTransformProperties
--
--Selects driven property combining ScaleX, ScaleY && ScaleZ.
--
---@source UnityEngine.CoreModule.dll
---@field Scale UnityEngine.DrivenTransformProperties
--
--Selects driven property combining AnchorMinX and AnchorMinY.
--
---@source UnityEngine.CoreModule.dll
---@field AnchorMin UnityEngine.DrivenTransformProperties
--
--Selects driven property combining AnchorMaxX and AnchorMaxY.
--
---@source UnityEngine.CoreModule.dll
---@field AnchorMax UnityEngine.DrivenTransformProperties
--
--Selects driven property combining AnchorMinX, AnchorMinY, AnchorMaxX and AnchorMaxY.
--
---@source UnityEngine.CoreModule.dll
---@field Anchors UnityEngine.DrivenTransformProperties
--
--Selects driven property combining SizeDeltaX and SizeDeltaY.
--
---@source UnityEngine.CoreModule.dll
---@field SizeDelta UnityEngine.DrivenTransformProperties
--
--Selects driven property combining PivotX and PivotY.
--
---@source UnityEngine.CoreModule.dll
---@field Pivot UnityEngine.DrivenTransformProperties
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.DrivenTransformProperties = {}

---@source 
---@param value any
---@return UnityEngine.DrivenTransformProperties
function CS.UnityEngine.DrivenTransformProperties:__CastFrom(value) end


--
--A component can be designed to drive a RectTransform. The DrivenRectTransformTracker struct is used to specify which RectTransforms it is driving.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.DrivenRectTransformTracker: System.ValueType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.DrivenRectTransformTracker = {}

--
--Stop recording undo actions from driven RectTransforms.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.DrivenRectTransformTracker:StopRecordingUndo() end

--
--Resume recording undo of driven RectTransforms.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.DrivenRectTransformTracker:StartRecordingUndo() end

--
--Add a RectTransform to be driven.
--
--```plaintext
--Params: driver - The object to drive properties.
--        rectTransform - The RectTransform to be driven.
--        drivenProperties - The properties to be driven.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param driver UnityEngine.Object
---@param rectTransform UnityEngine.RectTransform
---@param drivenProperties UnityEngine.DrivenTransformProperties
function CS.UnityEngine.DrivenRectTransformTracker.Add(driver, rectTransform, drivenProperties) end

---@source UnityEngine.CoreModule.dll
---@param revertValues bool
function CS.UnityEngine.DrivenRectTransformTracker.Clear(revertValues) end

--
--Clear the list of RectTransforms being driven.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.DrivenRectTransformTracker.Clear() end


--
--Position, size, anchor and pivot information for a rectangle.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.RectTransform: UnityEngine.Transform
--
--The calculated rectangle in the local space of the Transform.
--
---@source UnityEngine.CoreModule.dll
---@field rect UnityEngine.Rect
--
--The normalized position in the parent RectTransform that the lower left corner is anchored to.
--
---@source UnityEngine.CoreModule.dll
---@field anchorMin UnityEngine.Vector2
--
--The normalized position in the parent RectTransform that the upper right corner is anchored to.
--
---@source UnityEngine.CoreModule.dll
---@field anchorMax UnityEngine.Vector2
--
--The position of the pivot of this RectTransform relative to the anchor reference point.
--
---@source UnityEngine.CoreModule.dll
---@field anchoredPosition UnityEngine.Vector2
--
--The size of this RectTransform relative to the distances between the anchors.
--
---@source UnityEngine.CoreModule.dll
---@field sizeDelta UnityEngine.Vector2
--
--The normalized position in this RectTransform that it rotates around.
--
---@source UnityEngine.CoreModule.dll
---@field pivot UnityEngine.Vector2
--
--The 3D position of the pivot of this RectTransform relative to the anchor reference point.
--
---@source UnityEngine.CoreModule.dll
---@field anchoredPosition3D UnityEngine.Vector3
--
--The offset of the lower left corner of the rectangle relative to the lower left anchor.
--
---@source UnityEngine.CoreModule.dll
---@field offsetMin UnityEngine.Vector2
--
--The offset of the upper right corner of the rectangle relative to the upper right anchor.
--
---@source UnityEngine.CoreModule.dll
---@field offsetMax UnityEngine.Vector2
---@source UnityEngine.CoreModule.dll
---@field reapplyDrivenProperties UnityEngine.RectTransform.ReapplyDrivenProperties
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.RectTransform = {}

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.RectTransform.ReapplyDrivenProperties
function CS.UnityEngine.RectTransform:add_reapplyDrivenProperties(value) end

---@source UnityEngine.CoreModule.dll
---@param value UnityEngine.RectTransform.ReapplyDrivenProperties
function CS.UnityEngine.RectTransform:remove_reapplyDrivenProperties(value) end

--
--Force the recalculation of RectTransforms internal data.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.RectTransform.ForceUpdateRectTransforms() end

--
--Get the corners of the calculated rectangle in the local space of its Transform.
--
--```plaintext
--Params: fourCornersArray - The array that corners are filled into.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param fourCornersArray UnityEngine.Vector3[]
function CS.UnityEngine.RectTransform.GetLocalCorners(fourCornersArray) end

--
--Get the corners of the calculated rectangle in world space.
--
--```plaintext
--Params: fourCornersArray - The array that corners are filled into.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param fourCornersArray UnityEngine.Vector3[]
function CS.UnityEngine.RectTransform.GetWorldCorners(fourCornersArray) end

---@source UnityEngine.CoreModule.dll
---@param edge UnityEngine.RectTransform.Edge
---@param inset float
---@param size float
function CS.UnityEngine.RectTransform.SetInsetAndSizeFromParentEdge(edge, inset, size) end

---@source UnityEngine.CoreModule.dll
---@param axis UnityEngine.RectTransform.Axis
---@param size float
function CS.UnityEngine.RectTransform.SetSizeWithCurrentAnchors(axis, size) end


--
--Enum used to specify one edge of a rectangle.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Edge: System.Enum
--
--The left edge.
--
---@source UnityEngine.CoreModule.dll
---@field Left UnityEngine.RectTransform.Edge
--
--The right edge.
--
---@source UnityEngine.CoreModule.dll
---@field Right UnityEngine.RectTransform.Edge
--
--The top edge.
--
---@source UnityEngine.CoreModule.dll
---@field Top UnityEngine.RectTransform.Edge
--
--The bottom edge.
--
---@source UnityEngine.CoreModule.dll
---@field Bottom UnityEngine.RectTransform.Edge
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Edge = {}

---@source 
---@param value any
---@return UnityEngine.RectTransform.Edge
function CS.UnityEngine.Edge:__CastFrom(value) end


--
--An axis that can be horizontal or vertical.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Axis: System.Enum
--
--Horizontal.
--
---@source UnityEngine.CoreModule.dll
---@field Horizontal UnityEngine.RectTransform.Axis
--
--Vertical.
--
---@source UnityEngine.CoreModule.dll
---@field Vertical UnityEngine.RectTransform.Axis
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Axis = {}

---@source 
---@param value any
---@return UnityEngine.RectTransform.Axis
function CS.UnityEngine.Axis:__CastFrom(value) end


--
--Delegate used for the reapplyDrivenProperties event.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.ReapplyDrivenProperties: System.MulticastDelegate
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.ReapplyDrivenProperties = {}

---@source UnityEngine.CoreModule.dll
---@param driven UnityEngine.RectTransform
function CS.UnityEngine.ReapplyDrivenProperties.Invoke(driven) end

---@source UnityEngine.CoreModule.dll
---@param driven UnityEngine.RectTransform
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.ReapplyDrivenProperties.BeginInvoke(driven, callback, object) end

---@source UnityEngine.CoreModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.ReapplyDrivenProperties.EndInvoke(result) end


--
--Position, rotation and scale of an object.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Transform: UnityEngine.Component
--
--The world space position of the Transform.
--
---@source UnityEngine.CoreModule.dll
---@field position UnityEngine.Vector3
--
--Position of the transform relative to the parent transform.
--
---@source UnityEngine.CoreModule.dll
---@field localPosition UnityEngine.Vector3
--
--The rotation as Euler angles in degrees.
--
---@source UnityEngine.CoreModule.dll
---@field eulerAngles UnityEngine.Vector3
--
--The rotation as Euler angles in degrees relative to the parent transform's rotation.
--
---@source UnityEngine.CoreModule.dll
---@field localEulerAngles UnityEngine.Vector3
--
--The red axis of the transform in world space.
--
---@source UnityEngine.CoreModule.dll
---@field right UnityEngine.Vector3
--
--The green axis of the transform in world space.
--
---@source UnityEngine.CoreModule.dll
---@field up UnityEngine.Vector3
--
--Returns a normalized vector representing the blue axis of the transform in world space.
--
---@source UnityEngine.CoreModule.dll
---@field forward UnityEngine.Vector3
--
--A Quaternion that stores the rotation of the Transform in world space.
--
---@source UnityEngine.CoreModule.dll
---@field rotation UnityEngine.Quaternion
--
--The rotation of the transform relative to the transform rotation of the parent.
--
---@source UnityEngine.CoreModule.dll
---@field localRotation UnityEngine.Quaternion
--
--The scale of the transform relative to the GameObjects parent.
--
---@source UnityEngine.CoreModule.dll
---@field localScale UnityEngine.Vector3
--
--The parent of the transform.
--
---@source UnityEngine.CoreModule.dll
---@field parent UnityEngine.Transform
--
--Matrix that transforms a point from world space into local space (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field worldToLocalMatrix UnityEngine.Matrix4x4
--
--Matrix that transforms a point from local space into world space (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field localToWorldMatrix UnityEngine.Matrix4x4
--
--Returns the topmost transform in the hierarchy.
--
---@source UnityEngine.CoreModule.dll
---@field root UnityEngine.Transform
--
--The number of children the parent Transform has.
--
---@source UnityEngine.CoreModule.dll
---@field childCount int
--
--The global scale of the object (Read Only).
--
---@source UnityEngine.CoreModule.dll
---@field lossyScale UnityEngine.Vector3
--
--Has the transform changed since the last time the flag was set to 'false'?
--
---@source UnityEngine.CoreModule.dll
---@field hasChanged bool
--
--The transform capacity of the transform's hierarchy data structure.
--
---@source UnityEngine.CoreModule.dll
---@field hierarchyCapacity int
--
--The number of transforms in the transform's hierarchy data structure.
--
---@source UnityEngine.CoreModule.dll
---@field hierarchyCount int
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Transform = {}

--
--Set the parent of the transform.
--
--```plaintext
--Params: parent - The parent Transform to use.
--        worldPositionStays - If true, the parent-relative position, scale and rotation are modified such that the object keeps the same world space position, rotation and scale as before.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param p UnityEngine.Transform
function CS.UnityEngine.Transform.SetParent(p) end

--
--Set the parent of the transform.
--
--```plaintext
--Params: parent - The parent Transform to use.
--        worldPositionStays - If true, the parent-relative position, scale and rotation are modified such that the object keeps the same world space position, rotation and scale as before.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param parent UnityEngine.Transform
---@param worldPositionStays bool
function CS.UnityEngine.Transform.SetParent(parent, worldPositionStays) end

--
--Sets the world space position and rotation of the Transform component.
--
---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
function CS.UnityEngine.Transform.SetPositionAndRotation(position, rotation) end

--
--Moves the transform in the direction and distance of translation.
--
---@source UnityEngine.CoreModule.dll
---@param translation UnityEngine.Vector3
---@param relativeTo UnityEngine.Space
function CS.UnityEngine.Transform.Translate(translation, relativeTo) end

--
--Moves the transform in the direction and distance of translation.
--
---@source UnityEngine.CoreModule.dll
---@param translation UnityEngine.Vector3
function CS.UnityEngine.Transform.Translate(translation) end

--
--Moves the transform by x along the x axis, y along the y axis, and z along the z axis.
--
---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param z float
---@param relativeTo UnityEngine.Space
function CS.UnityEngine.Transform.Translate(x, y, z, relativeTo) end

--
--Moves the transform by x along the x axis, y along the y axis, and z along the z axis.
--
---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param z float
function CS.UnityEngine.Transform.Translate(x, y, z) end

--
--Moves the transform in the direction and distance of translation.
--
---@source UnityEngine.CoreModule.dll
---@param translation UnityEngine.Vector3
---@param relativeTo UnityEngine.Transform
function CS.UnityEngine.Transform.Translate(translation, relativeTo) end

--
--Moves the transform by x along the x axis, y along the y axis, and z along the z axis.
--
---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param z float
---@param relativeTo UnityEngine.Transform
function CS.UnityEngine.Transform.Translate(x, y, z, relativeTo) end

--
--Applies a rotation of eulerAngles.z degrees around the z-axis, eulerAngles.x degrees around the x-axis, and eulerAngles.y degrees around the y-axis (in that order).
--
--```plaintext
--Params: eulers - The rotation to apply in euler angles.
--        relativeTo - Determines whether to rotate the GameObject either locally to  the GameObject or relative to the Scene in world space.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param eulers UnityEngine.Vector3
---@param relativeTo UnityEngine.Space
function CS.UnityEngine.Transform.Rotate(eulers, relativeTo) end

--
--Applies a rotation of eulerAngles.z degrees around the z-axis, eulerAngles.x degrees around the x-axis, and eulerAngles.y degrees around the y-axis (in that order).
--
--```plaintext
--Params: eulers - The rotation to apply in euler angles.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param eulers UnityEngine.Vector3
function CS.UnityEngine.Transform.Rotate(eulers) end

--
--The implementation of this method applies a rotation of zAngle degrees around the z axis, xAngle degrees around the x axis, and yAngle degrees around the y axis (in that order).
--
--```plaintext
--Params: relativeTo - Determines whether to rotate the GameObject either locally to the GameObject or relative to the Scene in world space.
--        xAngle - Degrees to rotate the GameObject around the X axis.
--        yAngle - Degrees to rotate the GameObject around the Y axis.
--        zAngle - Degrees to rotate the GameObject around the Z axis.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param xAngle float
---@param yAngle float
---@param zAngle float
---@param relativeTo UnityEngine.Space
function CS.UnityEngine.Transform.Rotate(xAngle, yAngle, zAngle, relativeTo) end

--
--The implementation of this method applies a rotation of zAngle degrees around the z axis, xAngle degrees around the x axis, and yAngle degrees around the y axis (in that order).
--
--```plaintext
--Params: xAngle - Degrees to rotate the GameObject around the X axis.
--        yAngle - Degrees to rotate the GameObject around the Y axis.
--        zAngle - Degrees to rotate the GameObject around the Z axis.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param xAngle float
---@param yAngle float
---@param zAngle float
function CS.UnityEngine.Transform.Rotate(xAngle, yAngle, zAngle) end

--
--Rotates the object around the given axis by the number of degrees defined by the given angle.
--
--```plaintext
--Params: angle - The degrees of rotation to apply.
--        axis - The axis to apply rotation to.
--        relativeTo - Determines whether to rotate the GameObject either locally to the GameObject or relative to the Scene in world space.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param axis UnityEngine.Vector3
---@param angle float
---@param relativeTo UnityEngine.Space
function CS.UnityEngine.Transform.Rotate(axis, angle, relativeTo) end

--
--Rotates the object around the given axis by the number of degrees defined by the given angle.
--
--```plaintext
--Params: axis - The axis to apply rotation to.
--        angle - The degrees of rotation to apply.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param axis UnityEngine.Vector3
---@param angle float
function CS.UnityEngine.Transform.Rotate(axis, angle) end

--
--Rotates the transform about axis passing through point in world coordinates by angle degrees.
--
---@source UnityEngine.CoreModule.dll
---@param point UnityEngine.Vector3
---@param axis UnityEngine.Vector3
---@param angle float
function CS.UnityEngine.Transform.RotateAround(point, axis, angle) end

--
--Rotates the transform so the forward vector points at target's current position.
--
--```plaintext
--Params: target - Object to point towards.
--        worldUp - Vector specifying the upward direction.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param target UnityEngine.Transform
---@param worldUp UnityEngine.Vector3
function CS.UnityEngine.Transform.LookAt(target, worldUp) end

--
--Rotates the transform so the forward vector points at target's current position.
--
--```plaintext
--Params: target - Object to point towards.
--        worldUp - Vector specifying the upward direction.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param target UnityEngine.Transform
function CS.UnityEngine.Transform.LookAt(target) end

--
--Rotates the transform so the forward vector points at worldPosition.
--
--```plaintext
--Params: worldPosition - Point to look at.
--        worldUp - Vector specifying the upward direction.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param worldPosition UnityEngine.Vector3
---@param worldUp UnityEngine.Vector3
function CS.UnityEngine.Transform.LookAt(worldPosition, worldUp) end

--
--Rotates the transform so the forward vector points at worldPosition.
--
--```plaintext
--Params: worldPosition - Point to look at.
--        worldUp - Vector specifying the upward direction.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param worldPosition UnityEngine.Vector3
function CS.UnityEngine.Transform.LookAt(worldPosition) end

--
--Transforms direction from local space to world space.
--
---@source UnityEngine.CoreModule.dll
---@param direction UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Transform.TransformDirection(direction) end

--
--Transforms direction x, y, z from local space to world space.
--
---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param z float
---@return Vector3
function CS.UnityEngine.Transform.TransformDirection(x, y, z) end

--
--Transforms a direction from world space to local space. The opposite of Transform.TransformDirection.
--
---@source UnityEngine.CoreModule.dll
---@param direction UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Transform.InverseTransformDirection(direction) end

--
--Transforms the direction x, y, z from world space to local space. The opposite of Transform.TransformDirection.
--
---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param z float
---@return Vector3
function CS.UnityEngine.Transform.InverseTransformDirection(x, y, z) end

--
--Transforms vector from local space to world space.
--
---@source UnityEngine.CoreModule.dll
---@param vector UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Transform.TransformVector(vector) end

--
--Transforms vector x, y, z from local space to world space.
--
---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param z float
---@return Vector3
function CS.UnityEngine.Transform.TransformVector(x, y, z) end

--
--Transforms a vector from world space to local space. The opposite of Transform.TransformVector.
--
---@source UnityEngine.CoreModule.dll
---@param vector UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Transform.InverseTransformVector(vector) end

--
--Transforms the vector x, y, z from world space to local space. The opposite of Transform.TransformVector.
--
---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param z float
---@return Vector3
function CS.UnityEngine.Transform.InverseTransformVector(x, y, z) end

--
--Transforms position from local space to world space.
--
---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Transform.TransformPoint(position) end

--
--Transforms the position x, y, z from local space to world space.
--
---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param z float
---@return Vector3
function CS.UnityEngine.Transform.TransformPoint(x, y, z) end

--
--Transforms position from world space to local space.
--
---@source UnityEngine.CoreModule.dll
---@param position UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Transform.InverseTransformPoint(position) end

--
--Transforms the position x, y, z from world space to local space. The opposite of Transform.TransformPoint.
--
---@source UnityEngine.CoreModule.dll
---@param x float
---@param y float
---@param z float
---@return Vector3
function CS.UnityEngine.Transform.InverseTransformPoint(x, y, z) end

--
--Unparents all children.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Transform.DetachChildren() end

--
--Move the transform to the start of the local transform list.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Transform.SetAsFirstSibling() end

--
--Move the transform to the end of the local transform list.
--
---@source UnityEngine.CoreModule.dll
function CS.UnityEngine.Transform.SetAsLastSibling() end

--
--Sets the sibling index.
--
--```plaintext
--Params: index - Index to set.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
function CS.UnityEngine.Transform.SetSiblingIndex(index) end

--
--Gets the sibling index.
--
---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Transform.GetSiblingIndex() end

--
--The returned child transform or null if no child is found.
--
--```plaintext
--Params: n - Name of child to be found.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param n string
---@return Transform
function CS.UnityEngine.Transform.Find(n) end

--
--Is this transform a child of parent?
--
---@source UnityEngine.CoreModule.dll
---@param parent UnityEngine.Transform
---@return Boolean
function CS.UnityEngine.Transform.IsChildOf(parent) end

---@source UnityEngine.CoreModule.dll
---@param n string
---@return Transform
function CS.UnityEngine.Transform.FindChild(n) end

---@source UnityEngine.CoreModule.dll
---@return IEnumerator
function CS.UnityEngine.Transform.GetEnumerator() end

---@source UnityEngine.CoreModule.dll
---@param axis UnityEngine.Vector3
---@param angle float
function CS.UnityEngine.Transform.RotateAround(axis, angle) end

---@source UnityEngine.CoreModule.dll
---@param axis UnityEngine.Vector3
---@param angle float
function CS.UnityEngine.Transform.RotateAroundLocal(axis, angle) end

--
--Transform child by index.
--
--```plaintext
--Params: index - Index of the child transform to return. Must be smaller than Transform.childCount.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param index int
---@return Transform
function CS.UnityEngine.Transform.GetChild(index) end

---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Transform.GetChildCount() end


--
--SpriteRenderer draw mode.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SpriteDrawMode: System.Enum
--
--Displays the full sprite.
--
---@source UnityEngine.CoreModule.dll
---@field Simple UnityEngine.SpriteDrawMode
--
--The SpriteRenderer will render the sprite as a 9-slice image where the corners will remain constant and the other sections will scale.
--
---@source UnityEngine.CoreModule.dll
---@field Sliced UnityEngine.SpriteDrawMode
--
--The SpriteRenderer will render the sprite as a 9-slice image where the corners will remain constant and the other sections will tile.
--
---@source UnityEngine.CoreModule.dll
---@field Tiled UnityEngine.SpriteDrawMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SpriteDrawMode = {}

---@source 
---@param value any
---@return UnityEngine.SpriteDrawMode
function CS.UnityEngine.SpriteDrawMode:__CastFrom(value) end


--
--Tiling mode for SpriteRenderer.tileMode.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SpriteTileMode: System.Enum
--
--Sprite Renderer tiles the sprite continuously when is set to SpriteRenderer.tileMode.
--
---@source UnityEngine.CoreModule.dll
---@field Continuous UnityEngine.SpriteTileMode
--
--Sprite Renderer tiles the sprite once the Sprite Renderer size is above SpriteRenderer.adaptiveModeThreshold.
--
---@source UnityEngine.CoreModule.dll
---@field Adaptive UnityEngine.SpriteTileMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SpriteTileMode = {}

---@source 
---@param value any
---@return UnityEngine.SpriteTileMode
function CS.UnityEngine.SpriteTileMode:__CastFrom(value) end


--
--This enum controls the mode under which the sprite will interact with the masking system.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SpriteMaskInteraction: System.Enum
--
--The sprite will not interact with the masking system.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.SpriteMaskInteraction
--
--The sprite will be visible only in areas where a mask is present.
--
---@source UnityEngine.CoreModule.dll
---@field VisibleInsideMask UnityEngine.SpriteMaskInteraction
--
--The sprite will be visible only in areas where no mask is present.
--
---@source UnityEngine.CoreModule.dll
---@field VisibleOutsideMask UnityEngine.SpriteMaskInteraction
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SpriteMaskInteraction = {}

---@source 
---@param value any
---@return UnityEngine.SpriteMaskInteraction
function CS.UnityEngine.SpriteMaskInteraction:__CastFrom(value) end


--
--Renders a Sprite for 2D graphics.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SpriteRenderer: UnityEngine.Renderer
--
--The Sprite to render.
--
---@source UnityEngine.CoreModule.dll
---@field sprite UnityEngine.Sprite
--
--The current draw mode of the Sprite Renderer.
--
---@source UnityEngine.CoreModule.dll
---@field drawMode UnityEngine.SpriteDrawMode
--
--Property to set/get the size to render when the SpriteRenderer.drawMode is set to SpriteDrawMode.Sliced.
--
---@source UnityEngine.CoreModule.dll
---@field size UnityEngine.Vector2
--
--The current threshold for Sprite Renderer tiling.
--
---@source UnityEngine.CoreModule.dll
---@field adaptiveModeThreshold float
--
--The current tile mode of the Sprite Renderer.
--
---@source UnityEngine.CoreModule.dll
---@field tileMode UnityEngine.SpriteTileMode
--
--Rendering color for the Sprite graphic.
--
---@source UnityEngine.CoreModule.dll
---@field color UnityEngine.Color
--
--Specifies how the sprite interacts with the masks.
--
---@source UnityEngine.CoreModule.dll
---@field maskInteraction UnityEngine.SpriteMaskInteraction
--
--Flips the sprite on the X axis.
--
---@source UnityEngine.CoreModule.dll
---@field flipX bool
--
--Flips the sprite on the Y axis.
--
---@source UnityEngine.CoreModule.dll
---@field flipY bool
--
--Determines the position of the Sprite used for sorting the SpriteRenderer.
--
---@source UnityEngine.CoreModule.dll
---@field spriteSortPoint UnityEngine.SpriteSortPoint
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SpriteRenderer = {}


--
--Defines the type of mesh generated for a sprite.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SpriteMeshType: System.Enum
--
--Rectangle mesh equal to the user specified sprite size.
--
---@source UnityEngine.CoreModule.dll
---@field FullRect UnityEngine.SpriteMeshType
--
--Tight mesh based on pixel alpha values. As many excess pixels are cropped as possible.
--
---@source UnityEngine.CoreModule.dll
---@field Tight UnityEngine.SpriteMeshType
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SpriteMeshType = {}

---@source 
---@param value any
---@return UnityEngine.SpriteMeshType
function CS.UnityEngine.SpriteMeshType:__CastFrom(value) end


--
--How a Sprite's graphic rectangle is aligned with its pivot point.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SpriteAlignment: System.Enum
--
--Pivot is at the center of the graphic rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field Center UnityEngine.SpriteAlignment
--
--Pivot is at the top left corner of the graphic rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field TopLeft UnityEngine.SpriteAlignment
--
--Pivot is at the center of the top edge of the graphic rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field TopCenter UnityEngine.SpriteAlignment
--
--Pivot is at the top right corner of the graphic rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field TopRight UnityEngine.SpriteAlignment
--
--Pivot is at the center of the left edge of the graphic rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field LeftCenter UnityEngine.SpriteAlignment
--
--Pivot is at the center of the right edge of the graphic rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field RightCenter UnityEngine.SpriteAlignment
--
--Pivot is at the bottom left corner of the graphic rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field BottomLeft UnityEngine.SpriteAlignment
--
--Pivot is at the center of the bottom edge of the graphic rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field BottomCenter UnityEngine.SpriteAlignment
--
--Pivot is at the bottom right corner of the graphic rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field BottomRight UnityEngine.SpriteAlignment
--
--Pivot is at a custom position within the graphic rectangle.
--
---@source UnityEngine.CoreModule.dll
---@field Custom UnityEngine.SpriteAlignment
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SpriteAlignment = {}

---@source 
---@param value any
---@return UnityEngine.SpriteAlignment
function CS.UnityEngine.SpriteAlignment:__CastFrom(value) end


--
--Sprite packing modes for the Sprite Packer.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SpritePackingMode: System.Enum
--
--Tight mesh based packing.
--
---@source UnityEngine.CoreModule.dll
---@field Tight UnityEngine.SpritePackingMode
--
--Alpha-cropped ractangle packing.
--
---@source UnityEngine.CoreModule.dll
---@field Rectangle UnityEngine.SpritePackingMode
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SpritePackingMode = {}

---@source 
---@param value any
---@return UnityEngine.SpritePackingMode
function CS.UnityEngine.SpritePackingMode:__CastFrom(value) end


--
--Sprite rotation modes for the Sprite Packer.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SpritePackingRotation: System.Enum
--
--No rotation.
--
---@source UnityEngine.CoreModule.dll
---@field None UnityEngine.SpritePackingRotation
--
--Sprite is flipped horizontally when packed.
--
---@source UnityEngine.CoreModule.dll
---@field FlipHorizontal UnityEngine.SpritePackingRotation
--
--Sprite is flipped vertically when packed.
--
---@source UnityEngine.CoreModule.dll
---@field FlipVertical UnityEngine.SpritePackingRotation
--
--Sprite is rotated 180 degree when packed.
--
---@source UnityEngine.CoreModule.dll
---@field Rotate180 UnityEngine.SpritePackingRotation
--
--Any rotation.
--
---@source UnityEngine.CoreModule.dll
---@field Any UnityEngine.SpritePackingRotation
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SpritePackingRotation = {}

---@source 
---@param value any
---@return UnityEngine.SpritePackingRotation
function CS.UnityEngine.SpritePackingRotation:__CastFrom(value) end


--
--Determines the position of the Sprite used for sorting the Renderer.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SpriteSortPoint: System.Enum
--
--The center of the Sprite is used as the point for sorting the Renderer.
--
---@source UnityEngine.CoreModule.dll
---@field Center UnityEngine.SpriteSortPoint
--
--The pivot of the Sprite is used as the point for sorting the Renderer.
--
---@source UnityEngine.CoreModule.dll
---@field Pivot UnityEngine.SpriteSortPoint
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SpriteSortPoint = {}

---@source 
---@param value any
---@return UnityEngine.SpriteSortPoint
function CS.UnityEngine.SpriteSortPoint:__CastFrom(value) end


--
--Encapsulates a Texture2D and its shader property name to give Sprite-based renderers access to a secondary texture, in addition to the main Sprite texture.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.SecondarySpriteTexture: System.ValueType
--
--The shader property name of the secondary Sprite texture. Use this name to identify and sample the texture in the shader.
--
---@source UnityEngine.CoreModule.dll
---@field name string
--
--The texture to be used as a secondary Sprite texture.
--
---@source UnityEngine.CoreModule.dll
---@field texture UnityEngine.Texture2D
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.SecondarySpriteTexture = {}


--
--Represents a Sprite object for use in 2D gameplay.
--
---@source UnityEngine.CoreModule.dll
---@class UnityEngine.Sprite: UnityEngine.Object
--
--Bounds of the Sprite, specified by its center and extents in world space units.
--
---@source UnityEngine.CoreModule.dll
---@field bounds UnityEngine.Bounds
--
--Location of the Sprite on the original Texture, specified in pixels.
--
---@source UnityEngine.CoreModule.dll
---@field rect UnityEngine.Rect
--
--Returns the border sizes of the sprite.
--
---@source UnityEngine.CoreModule.dll
---@field border UnityEngine.Vector4
--
--Get the reference to the used texture. If packed this will point to the atlas, if not packed will point to the source sprite.
--
---@source UnityEngine.CoreModule.dll
---@field texture UnityEngine.Texture2D
--
--The number of pixels in the sprite that correspond to one unit in world space. (Read Only)
--
---@source UnityEngine.CoreModule.dll
---@field pixelsPerUnit float
--
--The Variant scale of texture used by the Sprite. This is useful to check when a Variant SpriteAtlas is being used by Sprites.
--
---@source UnityEngine.CoreModule.dll
---@field spriteAtlasTextureScale float
--
--Returns the texture that contains the alpha channel from the source texture. Unity generates this texture under the hood for sprites that have alpha in the source, and need to be compressed using techniques like ETC1.
--
--Returns NULL if there is no associated alpha texture for the source sprite. This is the case if the sprite has not been setup to use ETC1 compression.
--
---@source UnityEngine.CoreModule.dll
---@field associatedAlphaSplitTexture UnityEngine.Texture2D
--
--Location of the Sprite's center point in the Rect on the original Texture, specified in pixels.
--
---@source UnityEngine.CoreModule.dll
---@field pivot UnityEngine.Vector2
--
--Returns true if this Sprite is packed in an atlas.
--
---@source UnityEngine.CoreModule.dll
---@field packed bool
--
--If Sprite is packed (see Sprite.packed), returns its SpritePackingMode.
--
---@source UnityEngine.CoreModule.dll
---@field packingMode UnityEngine.SpritePackingMode
--
--If Sprite is packed (see Sprite.packed), returns its SpritePackingRotation.
--
---@source UnityEngine.CoreModule.dll
---@field packingRotation UnityEngine.SpritePackingRotation
--
--Get the rectangle this sprite uses on its texture. Raises an exception if this sprite is tightly packed in an atlas.
--
---@source UnityEngine.CoreModule.dll
---@field textureRect UnityEngine.Rect
--
--Gets the offset of the rectangle this sprite uses on its texture to the original sprite bounds. If sprite mesh type is FullRect, offset is zero.
--
---@source UnityEngine.CoreModule.dll
---@field textureRectOffset UnityEngine.Vector2
--
--Returns a copy of the array containing sprite mesh vertex positions.
--
---@source UnityEngine.CoreModule.dll
---@field vertices UnityEngine.Vector2[]
--
--Returns a copy of the array containing sprite mesh triangles.
--
---@source UnityEngine.CoreModule.dll
---@field triangles ushort[]
--
--The base texture coordinates of the sprite mesh.
--
---@source UnityEngine.CoreModule.dll
---@field uv UnityEngine.Vector2[]
---@source UnityEngine.CoreModule.dll
CS.UnityEngine.Sprite = {}

--
--The number of physics shapes for the Sprite.
--
---@source UnityEngine.CoreModule.dll
---@return Int32
function CS.UnityEngine.Sprite.GetPhysicsShapeCount() end

--
--The number of points in the selected physics shape for the Sprite.
--
--```plaintext
--Params: shapeIdx - The index of the physics shape to retrieve the number of points from.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param shapeIdx int
---@return Int32
function CS.UnityEngine.Sprite.GetPhysicsShapePointCount(shapeIdx) end

---@source UnityEngine.CoreModule.dll
---@param shapeIdx int
---@param physicsShape System.Collections.Generic.List<UnityEngine.Vector2>
---@return Int32
function CS.UnityEngine.Sprite.GetPhysicsShape(shapeIdx, physicsShape) end

---@source UnityEngine.CoreModule.dll
---@param physicsShapes System.Collections.Generic.IList<UnityEngine.Vector2[]>
function CS.UnityEngine.Sprite.OverridePhysicsShape(physicsShapes) end

--
--Sets up new Sprite geometry.
--
--```plaintext
--Params: vertices - Array of vertex positions in Sprite Rect space.
--        triangles - Array of sprite mesh triangle indices.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param vertices UnityEngine.Vector2[]
---@param triangles ushort[]
function CS.UnityEngine.Sprite.OverrideGeometry(vertices, triangles) end

--
--Create a new Sprite object.
--
--```plaintext
--Params: texture - Texture from which to obtain the sprite graphic.
--        rect - Rectangular section of the texture to use for the sprite.
--        pivot - Sprite's pivot point relative to its graphic rectangle.
--        pixelsPerUnit - The number of pixels in the sprite that correspond to one unit in world space.
--        extrude - Amount by which the sprite mesh should be expanded outwards.
--        meshType - Controls the type of mesh generated for the sprite.
--        border - The border sizes of the sprite (X=left, Y=bottom, Z=right, W=top).
--        generateFallbackPhysicsShape - Generates a default physics shape for the sprite.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param texture UnityEngine.Texture2D
---@param rect UnityEngine.Rect
---@param pivot UnityEngine.Vector2
---@param pixelsPerUnit float
---@param extrude uint
---@param meshType UnityEngine.SpriteMeshType
---@param border UnityEngine.Vector4
---@param generateFallbackPhysicsShape bool
---@return Sprite
function CS.UnityEngine.Sprite:Create(texture, rect, pivot, pixelsPerUnit, extrude, meshType, border, generateFallbackPhysicsShape) end

--
--Create a new Sprite object.
--
--```plaintext
--Params: texture - Texture from which to obtain the sprite graphic.
--        rect - Rectangular section of the texture to use for the sprite.
--        pivot - Sprite's pivot point relative to its graphic rectangle.
--        pixelsPerUnit - The number of pixels in the sprite that correspond to one unit in world space.
--        extrude - Amount by which the sprite mesh should be expanded outwards.
--        meshType - Controls the type of mesh generated for the sprite.
--        border - The border sizes of the sprite (X=left, Y=bottom, Z=right, W=top).
--        generateFallbackPhysicsShape - Generates a default physics shape for the sprite.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param texture UnityEngine.Texture2D
---@param rect UnityEngine.Rect
---@param pivot UnityEngine.Vector2
---@param pixelsPerUnit float
---@param extrude uint
---@param meshType UnityEngine.SpriteMeshType
---@param border UnityEngine.Vector4
---@return Sprite
function CS.UnityEngine.Sprite:Create(texture, rect, pivot, pixelsPerUnit, extrude, meshType, border) end

--
--Create a new Sprite object.
--
--```plaintext
--Params: texture - Texture from which to obtain the sprite graphic.
--        rect - Rectangular section of the texture to use for the sprite.
--        pivot - Sprite's pivot point relative to its graphic rectangle.
--        pixelsPerUnit - The number of pixels in the sprite that correspond to one unit in world space.
--        extrude - Amount by which the sprite mesh should be expanded outwards.
--        meshType - Controls the type of mesh generated for the sprite.
--        border - The border sizes of the sprite (X=left, Y=bottom, Z=right, W=top).
--        generateFallbackPhysicsShape - Generates a default physics shape for the sprite.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param texture UnityEngine.Texture2D
---@param rect UnityEngine.Rect
---@param pivot UnityEngine.Vector2
---@param pixelsPerUnit float
---@param extrude uint
---@param meshType UnityEngine.SpriteMeshType
---@return Sprite
function CS.UnityEngine.Sprite:Create(texture, rect, pivot, pixelsPerUnit, extrude, meshType) end

--
--Create a new Sprite object.
--
--```plaintext
--Params: texture - Texture from which to obtain the sprite graphic.
--        rect - Rectangular section of the texture to use for the sprite.
--        pivot - Sprite's pivot point relative to its graphic rectangle.
--        pixelsPerUnit - The number of pixels in the sprite that correspond to one unit in world space.
--        extrude - Amount by which the sprite mesh should be expanded outwards.
--        meshType - Controls the type of mesh generated for the sprite.
--        border - The border sizes of the sprite (X=left, Y=bottom, Z=right, W=top).
--        generateFallbackPhysicsShape - Generates a default physics shape for the sprite.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param texture UnityEngine.Texture2D
---@param rect UnityEngine.Rect
---@param pivot UnityEngine.Vector2
---@param pixelsPerUnit float
---@param extrude uint
---@return Sprite
function CS.UnityEngine.Sprite:Create(texture, rect, pivot, pixelsPerUnit, extrude) end

--
--Create a new Sprite object.
--
--```plaintext
--Params: texture - Texture from which to obtain the sprite graphic.
--        rect - Rectangular section of the texture to use for the sprite.
--        pivot - Sprite's pivot point relative to its graphic rectangle.
--        pixelsPerUnit - The number of pixels in the sprite that correspond to one unit in world space.
--        extrude - Amount by which the sprite mesh should be expanded outwards.
--        meshType - Controls the type of mesh generated for the sprite.
--        border - The border sizes of the sprite (X=left, Y=bottom, Z=right, W=top).
--        generateFallbackPhysicsShape - Generates a default physics shape for the sprite.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param texture UnityEngine.Texture2D
---@param rect UnityEngine.Rect
---@param pivot UnityEngine.Vector2
---@param pixelsPerUnit float
---@return Sprite
function CS.UnityEngine.Sprite:Create(texture, rect, pivot, pixelsPerUnit) end

--
--Create a new Sprite object.
--
--```plaintext
--Params: texture - Texture from which to obtain the sprite graphic.
--        rect - Rectangular section of the texture to use for the sprite.
--        pivot - Sprite's pivot point relative to its graphic rectangle.
--        pixelsPerUnit - The number of pixels in the sprite that correspond to one unit in world space.
--        extrude - Amount by which the sprite mesh should be expanded outwards.
--        meshType - Controls the type of mesh generated for the sprite.
--        border - The border sizes of the sprite (X=left, Y=bottom, Z=right, W=top).
--        generateFallbackPhysicsShape - Generates a default physics shape for the sprite.
--        
--```
--
---@source UnityEngine.CoreModule.dll
---@param texture UnityEngine.Texture2D
---@param rect UnityEngine.Rect
---@param pivot UnityEngine.Vector2
---@return Sprite
function CS.UnityEngine.Sprite:Create(texture, rect, pivot) end


--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@class UnityEngine.ProceduralTexture: UnityEngine.Texture
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field hasAlpha bool
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field format UnityEngine.TextureFormat
---@source UnityEngine.SubstanceModule.dll
CS.UnityEngine.ProceduralTexture = {}

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@return ProceduralOutputType
function CS.UnityEngine.ProceduralTexture.GetProceduralOutputType() end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param x int
---@param y int
---@param blockWidth int
---@param blockHeight int
function CS.UnityEngine.ProceduralTexture.GetPixels32(x, y, blockWidth, blockHeight) end


---@source UnityEngine.TextRenderingModule.dll
---@class UnityEngine.GUIText: object
---@source UnityEngine.TextRenderingModule.dll
---@field text bool
---@source UnityEngine.TextRenderingModule.dll
---@field material UnityEngine.Material
---@source UnityEngine.TextRenderingModule.dll
---@field font UnityEngine.Font
---@source UnityEngine.TextRenderingModule.dll
---@field alignment UnityEngine.TextAlignment
---@source UnityEngine.TextRenderingModule.dll
---@field anchor UnityEngine.TextAnchor
---@source UnityEngine.TextRenderingModule.dll
---@field lineSpacing float
---@source UnityEngine.TextRenderingModule.dll
---@field tabSize float
---@source UnityEngine.TextRenderingModule.dll
---@field fontSize int
---@source UnityEngine.TextRenderingModule.dll
---@field fontStyle UnityEngine.FontStyle
---@source UnityEngine.TextRenderingModule.dll
---@field richText bool
---@source UnityEngine.TextRenderingModule.dll
---@field color UnityEngine.Color
---@source UnityEngine.TextRenderingModule.dll
---@field pixelOffset UnityEngine.Vector2
---@source UnityEngine.TextRenderingModule.dll
CS.UnityEngine.GUIText = {}


--
--Base class for images & text strings displayed in a GUI.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.GUIElement: object
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.GUIElement = {}

--
--Is a point on screen inside the element?
--
---@source UnityEngine.IMGUIModule.dll
---@param screenPosition UnityEngine.Vector3
---@return Boolean
function CS.UnityEngine.GUIElement.HitTest(screenPosition) end

--
--Is a point on screen inside the element?
--
---@source UnityEngine.IMGUIModule.dll
---@param screenPosition UnityEngine.Vector3
---@param camera UnityEngine.Camera
---@return Boolean
function CS.UnityEngine.GUIElement.HitTest(screenPosition, camera) end

--
--Returns bounding rectangle of GUIElement in screen coordinates.
--
---@source UnityEngine.IMGUIModule.dll
---@param camera UnityEngine.Camera
---@return Rect
function CS.UnityEngine.GUIElement.GetScreenRect(camera) end

--
--Returns bounding rectangle of GUIElement in screen coordinates.
--
---@source UnityEngine.IMGUIModule.dll
---@return Rect
function CS.UnityEngine.GUIElement.GetScreenRect() end


---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.GUILayer: object
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.GUILayer = {}

---@source UnityEngine.IMGUIModule.dll
---@param screenPosition UnityEngine.Vector3
---@return GUIElement
function CS.UnityEngine.GUILayer.HitTest(screenPosition) end


---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.GUITexture: object
---@source UnityEngine.IMGUIModule.dll
---@field color UnityEngine.Color
---@source UnityEngine.IMGUIModule.dll
---@field texture UnityEngine.Texture
---@source UnityEngine.IMGUIModule.dll
---@field pixelInset UnityEngine.Rect
---@source UnityEngine.IMGUIModule.dll
---@field border UnityEngine.RectOffset
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.GUITexture = {}


--
--Defines how GUI looks and behaves.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.GUISkin: UnityEngine.ScriptableObject
--
--The default font to use for all styles.
--
---@source UnityEngine.IMGUIModule.dll
---@field font UnityEngine.Font
--
--Style used by default for GUI.Box controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field box UnityEngine.GUIStyle
--
--Style used by default for GUI.Label controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field label UnityEngine.GUIStyle
--
--Style used by default for GUI.TextField controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field textField UnityEngine.GUIStyle
--
--Style used by default for GUI.TextArea controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field textArea UnityEngine.GUIStyle
--
--Style used by default for GUI.Button controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field button UnityEngine.GUIStyle
--
--Style used by default for GUI.Toggle controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field toggle UnityEngine.GUIStyle
--
--Style used by default for Window controls (See Also: GUI.Window).
--
---@source UnityEngine.IMGUIModule.dll
---@field window UnityEngine.GUIStyle
--
--Style used by default for the background part of GUI.HorizontalSlider controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field horizontalSlider UnityEngine.GUIStyle
--
--Style used by default for the thumb that is dragged in GUI.HorizontalSlider controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field horizontalSliderThumb UnityEngine.GUIStyle
--
--Style used by default for the background part of GUI.VerticalSlider controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field verticalSlider UnityEngine.GUIStyle
--
--Style used by default for the thumb that is dragged in GUI.VerticalSlider controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field verticalSliderThumb UnityEngine.GUIStyle
--
--Style used by default for the background part of GUI.HorizontalScrollbar controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field horizontalScrollbar UnityEngine.GUIStyle
--
--Style used by default for the thumb that is dragged in GUI.HorizontalScrollbar controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field horizontalScrollbarThumb UnityEngine.GUIStyle
--
--Style used by default for the left button on GUI.HorizontalScrollbar controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field horizontalScrollbarLeftButton UnityEngine.GUIStyle
--
--Style used by default for the right button on GUI.HorizontalScrollbar controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field horizontalScrollbarRightButton UnityEngine.GUIStyle
--
--Style used by default for the background part of GUI.VerticalScrollbar controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field verticalScrollbar UnityEngine.GUIStyle
--
--Style used by default for the thumb that is dragged in GUI.VerticalScrollbar controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field verticalScrollbarThumb UnityEngine.GUIStyle
--
--Style used by default for the up button on GUI.VerticalScrollbar controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field verticalScrollbarUpButton UnityEngine.GUIStyle
--
--Style used by default for the down button on GUI.VerticalScrollbar controls.
--
---@source UnityEngine.IMGUIModule.dll
---@field verticalScrollbarDownButton UnityEngine.GUIStyle
--
--Style used by default for the background of ScrollView controls (see GUI.BeginScrollView).
--
---@source UnityEngine.IMGUIModule.dll
---@field scrollView UnityEngine.GUIStyle
--
--Array of GUI styles for specific needs.
--
---@source UnityEngine.IMGUIModule.dll
---@field customStyles UnityEngine.GUIStyle[]
--
--Generic settings for how controls should behave with this skin.
--
---@source UnityEngine.IMGUIModule.dll
---@field settings UnityEngine.GUISettings
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.GUISkin = {}

--
--Get a named GUIStyle.
--
---@source UnityEngine.IMGUIModule.dll
---@param styleName string
---@return GUIStyle
function CS.UnityEngine.GUISkin.GetStyle(styleName) end

--
--Try to search for a GUIStyle. This functions returns NULL and does not give an error.
--
---@source UnityEngine.IMGUIModule.dll
---@param styleName string
---@return GUIStyle
function CS.UnityEngine.GUISkin.FindStyle(styleName) end

---@source UnityEngine.IMGUIModule.dll
---@return IEnumerator
function CS.UnityEngine.GUISkin.GetEnumerator() end


--
--Control how a Particle System calculates its velocity.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemEmitterVelocityMode: System.Enum
--
--Calculate the Particle System velocity by using the Transform component.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Transform UnityEngine.ParticleSystemEmitterVelocityMode
--
--Calculate the Particle System velocity by using a Rigidbody or Rigidbody2D component, if one exists on the GameObject.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Rigidbody UnityEngine.ParticleSystemEmitterVelocityMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemEmitterVelocityMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemEmitterVelocityMode
function CS.UnityEngine.ParticleSystemEmitterVelocityMode:__CastFrom(value) end


--
--Specialized values for the given states used by GUIStyle objects.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.GUIStyleState: object
--
--The background image used by GUI elements in this given state.
--
---@source UnityEngine.IMGUIModule.dll
---@field background UnityEngine.Texture2D
--
--The text color used by GUI elements in this state.
--
---@source UnityEngine.IMGUIModule.dll
---@field textColor UnityEngine.Color
--
--Background images used by this state when on a high-resolution screen. It should either be left empty, or contain a single image that is exactly twice the resolution of background. This is only used by the editor. The field is not copied to player data, and is not accessible from player code.
--
---@source UnityEngine.IMGUIModule.dll
---@field scaledBackgrounds UnityEngine.Texture2D[]
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.GUIStyleState = {}


--
--Styling information for GUI elements.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.GUIStyle: object
--
--The font to use for rendering. If null, the default font for the current GUISkin is used instead.
--
---@source UnityEngine.IMGUIModule.dll
---@field font UnityEngine.Font
--
--How image and text of the GUIContent is combined.
--
---@source UnityEngine.IMGUIModule.dll
---@field imagePosition UnityEngine.ImagePosition
--
--Text alignment.
--
---@source UnityEngine.IMGUIModule.dll
---@field alignment UnityEngine.TextAnchor
--
--Should the text be wordwrapped?
--
---@source UnityEngine.IMGUIModule.dll
---@field wordWrap bool
--
--What to do when the contents to be rendered is too large to fit within the area given.
--
---@source UnityEngine.IMGUIModule.dll
---@field clipping UnityEngine.TextClipping
--
--Pixel offset to apply to the content of this GUIstyle.
--
---@source UnityEngine.IMGUIModule.dll
---@field contentOffset UnityEngine.Vector2
--
--If non-0, any GUI elements rendered with this style will have the width specified here.
--
---@source UnityEngine.IMGUIModule.dll
---@field fixedWidth float
--
--If non-0, any GUI elements rendered with this style will have the height specified here.
--
---@source UnityEngine.IMGUIModule.dll
---@field fixedHeight float
--
--Can GUI elements of this style be stretched horizontally for better layouting?
--
---@source UnityEngine.IMGUIModule.dll
---@field stretchWidth bool
--
--Can GUI elements of this style be stretched vertically for better layout?
--
---@source UnityEngine.IMGUIModule.dll
---@field stretchHeight bool
--
--The font size to use (for dynamic fonts).
--
---@source UnityEngine.IMGUIModule.dll
---@field fontSize int
--
--The font style to use (for dynamic fonts).
--
---@source UnityEngine.IMGUIModule.dll
---@field fontStyle UnityEngine.FontStyle
--
--Enable HTML-style tags for Text Formatting Markup.
--
---@source UnityEngine.IMGUIModule.dll
---@field richText bool
---@source UnityEngine.IMGUIModule.dll
---@field clipOffset UnityEngine.Vector2
--
--The name of this GUIStyle. Used for getting them based on name.
--
---@source UnityEngine.IMGUIModule.dll
---@field name string
--
--Rendering settings for when the component is displayed normally.
--
---@source UnityEngine.IMGUIModule.dll
---@field normal UnityEngine.GUIStyleState
--
--Rendering settings for when the mouse is hovering over the control.
--
---@source UnityEngine.IMGUIModule.dll
---@field hover UnityEngine.GUIStyleState
--
--Rendering settings for when the control is pressed down.
--
---@source UnityEngine.IMGUIModule.dll
---@field active UnityEngine.GUIStyleState
--
--Rendering settings for when the control is turned on.
--
---@source UnityEngine.IMGUIModule.dll
---@field onNormal UnityEngine.GUIStyleState
--
--Rendering settings for when the control is turned on and the mouse is hovering it.
--
---@source UnityEngine.IMGUIModule.dll
---@field onHover UnityEngine.GUIStyleState
--
--Rendering settings for when the element is turned on and pressed down.
--
---@source UnityEngine.IMGUIModule.dll
---@field onActive UnityEngine.GUIStyleState
--
--Rendering settings for when the element has keyboard focus.
--
---@source UnityEngine.IMGUIModule.dll
---@field focused UnityEngine.GUIStyleState
--
--Rendering settings for when the element has keyboard and is turned on.
--
---@source UnityEngine.IMGUIModule.dll
---@field onFocused UnityEngine.GUIStyleState
--
--The borders of all background images.
--
---@source UnityEngine.IMGUIModule.dll
---@field border UnityEngine.RectOffset
--
--The margins between elements rendered in this style and any other GUI elements.
--
---@source UnityEngine.IMGUIModule.dll
---@field margin UnityEngine.RectOffset
--
--Space from the edge of GUIStyle to the start of the contents.
--
---@source UnityEngine.IMGUIModule.dll
---@field padding UnityEngine.RectOffset
--
--Extra space to be added to the background image.
--
---@source UnityEngine.IMGUIModule.dll
---@field overflow UnityEngine.RectOffset
--
--The height of one line of text with this style, measured in pixels. (Read Only)
--
---@source UnityEngine.IMGUIModule.dll
---@field lineHeight float
--
--Shortcut for an empty GUIStyle.
--
---@source UnityEngine.IMGUIModule.dll
---@field none UnityEngine.GUIStyle
---@source UnityEngine.IMGUIModule.dll
---@field isHeightDependantOnWidth bool
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.GUIStyle = {}

--
--Draw this GUIStyle on to the screen, internal version.
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param isHover bool
---@param isActive bool
---@param on bool
---@param hasKeyboardFocus bool
function CS.UnityEngine.GUIStyle.Draw(position, isHover, isActive, on, hasKeyboardFocus) end

--
--Draw the GUIStyle with a text string inside.
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
---@param isHover bool
---@param isActive bool
---@param on bool
---@param hasKeyboardFocus bool
function CS.UnityEngine.GUIStyle.Draw(position, text, isHover, isActive, on, hasKeyboardFocus) end

--
--Draw the GUIStyle with an image inside. If the image is too large to fit within the content area of the style it is scaled down.
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
---@param isHover bool
---@param isActive bool
---@param on bool
---@param hasKeyboardFocus bool
function CS.UnityEngine.GUIStyle.Draw(position, image, isHover, isActive, on, hasKeyboardFocus) end

--
--Draw the GUIStyle with text and an image inside. If the image is too large to fit within the content area of the style it is scaled down.
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
---@param isHover bool
---@param isActive bool
---@param on bool
---@param hasKeyboardFocus bool
function CS.UnityEngine.GUIStyle.Draw(position, content, isHover, isActive, on, hasKeyboardFocus) end

--
--Draw the GUIStyle with text and an image inside. If the image is too large to fit within the content area of the style it is scaled down.
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
---@param controlID int
function CS.UnityEngine.GUIStyle.Draw(position, content, controlID) end

--
--Draw the GUIStyle with text and an image inside. If the image is too large to fit within the content area of the style it is scaled down.
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
---@param controlID int
---@param on bool
function CS.UnityEngine.GUIStyle.Draw(position, content, controlID, on) end

---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
---@param controlID int
---@param on bool
---@param hover bool
function CS.UnityEngine.GUIStyle.Draw(position, content, controlID, on, hover) end

--
--Draw this GUIStyle with selected content.
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
---@param controlID int
---@param character int
function CS.UnityEngine.GUIStyle.DrawCursor(position, content, controlID, character) end

--
--Draw this GUIStyle with selected content.
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
---@param controlID int
---@param firstSelectedCharacter int
---@param lastSelectedCharacter int
function CS.UnityEngine.GUIStyle.DrawWithTextSelection(position, content, controlID, firstSelectedCharacter, lastSelectedCharacter) end

---@source UnityEngine.IMGUIModule.dll
---@param str string
---@return GUIStyle
function CS.UnityEngine.GUIStyle:op_Implicit(str) end

--
--Get the pixel position of a given string index.
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
---@param cursorStringIndex int
---@return Vector2
function CS.UnityEngine.GUIStyle.GetCursorPixelPosition(position, content, cursorStringIndex) end

--
--Get the cursor position (indexing into contents.text) when the user clicked at cursorPixelPosition.
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
---@param cursorPixelPosition UnityEngine.Vector2
---@return Int32
function CS.UnityEngine.GUIStyle.GetCursorStringIndex(position, content, cursorPixelPosition) end

--
--Calculate the size of some content if it is rendered with this style.
--
---@source UnityEngine.IMGUIModule.dll
---@param content UnityEngine.GUIContent
---@return Vector2
function CS.UnityEngine.GUIStyle.CalcSize(content) end

--
--Calculate the size of an element formatted with this style, and a given space to content.
--
---@source UnityEngine.IMGUIModule.dll
---@param contentSize UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.GUIStyle.CalcScreenSize(contentSize) end

--
--How tall this element will be when rendered with content and a specific width.
--
---@source UnityEngine.IMGUIModule.dll
---@param content UnityEngine.GUIContent
---@param width float
---@return Single
function CS.UnityEngine.GUIStyle.CalcHeight(content, width) end

---@source UnityEngine.IMGUIModule.dll
---@param content UnityEngine.GUIContent
---@param minWidth float
---@param maxWidth float
function CS.UnityEngine.GUIStyle.CalcMinMaxWidth(content, minWidth, maxWidth) end

---@source UnityEngine.IMGUIModule.dll
---@return String
function CS.UnityEngine.GUIStyle.ToString() end


--
--How image and text is placed inside GUIStyle.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.ImagePosition: System.Enum
--
--Image is to the left of the text.
--
---@source UnityEngine.IMGUIModule.dll
---@field ImageLeft UnityEngine.ImagePosition
--
--Image is above the text.
--
---@source UnityEngine.IMGUIModule.dll
---@field ImageAbove UnityEngine.ImagePosition
--
--Only the image is displayed.
--
---@source UnityEngine.IMGUIModule.dll
---@field ImageOnly UnityEngine.ImagePosition
--
--Only the text is displayed.
--
---@source UnityEngine.IMGUIModule.dll
---@field TextOnly UnityEngine.ImagePosition
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.ImagePosition = {}

---@source 
---@param value any
---@return UnityEngine.ImagePosition
function CS.UnityEngine.ImagePosition:__CastFrom(value) end


--
--Different methods for how the GUI system handles text being too large to fit the rectangle allocated.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.TextClipping: System.Enum
--
--Text flows freely outside the element.
--
---@source UnityEngine.IMGUIModule.dll
---@field Overflow UnityEngine.TextClipping
--
--Text gets clipped to be inside the element.
--
---@source UnityEngine.IMGUIModule.dll
---@field Clip UnityEngine.TextClipping
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.TextClipping = {}

---@source 
---@param value any
---@return UnityEngine.TextClipping
function CS.UnityEngine.TextClipping:__CastFrom(value) end


--
--How to apply emitter velocity to particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemInheritVelocityMode: System.Enum
--
--Each particle inherits the emitter's velocity on the frame when it was initially emitted.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Initial UnityEngine.ParticleSystemInheritVelocityMode
--
--Each particle's velocity is set to the emitter's current velocity value, every frame.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Current UnityEngine.ParticleSystemInheritVelocityMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemInheritVelocityMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemInheritVelocityMode
function CS.UnityEngine.ParticleSystemInheritVelocityMode:__CastFrom(value) end


--
--Allows to control for which display the OnGUI is called.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.GUITargetAttribute: System.Attribute
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.GUITargetAttribute = {}


--
--The different types of particle triggers.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemTriggerEventType: System.Enum
--
--Trigger when particles are inside the collision volume.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Inside UnityEngine.ParticleSystemTriggerEventType
--
--Trigger when particles are outside the collision volume.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Outside UnityEngine.ParticleSystemTriggerEventType
--
--Trigger when particles enter the collision volume.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Enter UnityEngine.ParticleSystemTriggerEventType
--
--Trigger when particles leave the collision volume.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Exit UnityEngine.ParticleSystemTriggerEventType
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemTriggerEventType = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemTriggerEventType
function CS.UnityEngine.ParticleSystemTriggerEventType:__CastFrom(value) end


--
--Utility class for making new GUI controls.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.GUIUtility: object
--
--A global property, which is true if a ModalWindow is being displayed, false otherwise.
--
---@source UnityEngine.IMGUIModule.dll
---@field hasModalWindow bool
--
--Get access to the system-wide clipboard.
--
---@source UnityEngine.IMGUIModule.dll
---@field systemCopyBuffer string
--
--The controlID of the current hot control.
--
---@source UnityEngine.IMGUIModule.dll
---@field hotControl int
--
--The controlID of the control that has keyboard focus.
--
---@source UnityEngine.IMGUIModule.dll
---@field keyboardControl int
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.GUIUtility = {}

--
--Get a unique ID for a control, using an integer as a hint to help ensure correct matching of IDs to controls.
--
---@source UnityEngine.IMGUIModule.dll
---@param hint int
---@param focusType UnityEngine.FocusType
---@param rect UnityEngine.Rect
---@return Int32
function CS.UnityEngine.GUIUtility:GetControlID(hint, focusType, rect) end

---@source UnityEngine.IMGUIModule.dll
---@param rect UnityEngine.Rect
---@param widthInPixels int
---@param heightInPixels int
---@return Rect
function CS.UnityEngine.GUIUtility:AlignRectToDevice(rect, widthInPixels, heightInPixels) end

--
--Get a unique ID for a control.
--
---@source UnityEngine.IMGUIModule.dll
---@param focus UnityEngine.FocusType
---@return Int32
function CS.UnityEngine.GUIUtility:GetControlID(focus) end

--
--Get a unique ID for a control, using a the label content as a hint to help ensure correct matching of IDs to controls.
--
---@source UnityEngine.IMGUIModule.dll
---@param contents UnityEngine.GUIContent
---@param focus UnityEngine.FocusType
---@return Int32
function CS.UnityEngine.GUIUtility:GetControlID(contents, focus) end

--
--Get a unique ID for a control.
--
---@source UnityEngine.IMGUIModule.dll
---@param focus UnityEngine.FocusType
---@param position UnityEngine.Rect
---@return Int32
function CS.UnityEngine.GUIUtility:GetControlID(focus, position) end

--
--Get a unique ID for a control, using a the label content as a hint to help ensure correct matching of IDs to controls.
--
---@source UnityEngine.IMGUIModule.dll
---@param contents UnityEngine.GUIContent
---@param focus UnityEngine.FocusType
---@param position UnityEngine.Rect
---@return Int32
function CS.UnityEngine.GUIUtility:GetControlID(contents, focus, position) end

--
--Get a unique ID for a control, using an integer as a hint to help ensure correct matching of IDs to controls.
--
---@source UnityEngine.IMGUIModule.dll
---@param hint int
---@param focus UnityEngine.FocusType
---@return Int32
function CS.UnityEngine.GUIUtility:GetControlID(hint, focus) end

--
--Get a state object from a controlID.
--
---@source UnityEngine.IMGUIModule.dll
---@param t System.Type
---@param controlID int
---@return Object
function CS.UnityEngine.GUIUtility:GetStateObject(t, controlID) end

--
--Get an existing state object from a controlID.
--
---@source UnityEngine.IMGUIModule.dll
---@param t System.Type
---@param controlID int
---@return Object
function CS.UnityEngine.GUIUtility:QueryStateObject(t, controlID) end

--
--Puts the GUI in a state that will prevent all subsequent immediate mode GUI functions from evaluating for the remainder of the GUI loop by throwing an ExitGUIException.
--
---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.GUIUtility:ExitGUI() end

--
--Convert a point from GUI position to screen space.
--
---@source UnityEngine.IMGUIModule.dll
---@param guiPoint UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.GUIUtility:GUIToScreenPoint(guiPoint) end

--
--Convert a rect from GUI position to screen space.
--
---@source UnityEngine.IMGUIModule.dll
---@param guiRect UnityEngine.Rect
---@return Rect
function CS.UnityEngine.GUIUtility:GUIToScreenRect(guiRect) end

--
--Convert a point from screen space to GUI position.
--
---@source UnityEngine.IMGUIModule.dll
---@param screenPoint UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.GUIUtility:ScreenToGUIPoint(screenPoint) end

--
--Convert a rect from screen space to GUI position.
--
---@source UnityEngine.IMGUIModule.dll
---@param screenRect UnityEngine.Rect
---@return Rect
function CS.UnityEngine.GUIUtility:ScreenToGUIRect(screenRect) end

--
--Helper function to rotate the GUI around a point.
--
---@source UnityEngine.IMGUIModule.dll
---@param angle float
---@param pivotPoint UnityEngine.Vector2
function CS.UnityEngine.GUIUtility:RotateAroundPivot(angle, pivotPoint) end

--
--Helper function to scale the GUI around a point.
--
---@source UnityEngine.IMGUIModule.dll
---@param scale UnityEngine.Vector2
---@param pivotPoint UnityEngine.Vector2
function CS.UnityEngine.GUIUtility:ScaleAroundPivot(scale, pivotPoint) end

--
--The aligned rectangle in local space.
--
--```plaintext
--Params: local - The local space rectangle that needs to be processed.
--        widthInPixels - Width, in pixel units, of the axis-aligned bounding box that encompasses the aligned points.
--        heightInPixels - Height, in pixel units, of the axis-aligned bounding box that encompasses the aligned points.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param rect UnityEngine.Rect
---@return Rect
function CS.UnityEngine.GUIUtility:AlignRectToDevice(rect) end


--
--An exception that will prevent all subsequent immediate mode GUI functions from evaluating for the remainder of the GUI loop.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.ExitGUIException: System.Exception
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.ExitGUIException = {}


--
--All possible Particle System vertex shader inputs.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemVertexStream: System.Enum
--
--The position of each particle vertex, in world space.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Position UnityEngine.ParticleSystemVertexStream
--
--The vertex normal of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Normal UnityEngine.ParticleSystemVertexStream
--
--The tangent vector for each particle (for normal mapping).
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Tangent UnityEngine.ParticleSystemVertexStream
--
--The color of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Color UnityEngine.ParticleSystemVertexStream
--
--The first UV stream of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field UV UnityEngine.ParticleSystemVertexStream
--
--The second UV stream of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field UV2 UnityEngine.ParticleSystemVertexStream
--
--The third UV stream of each particle (only for meshes).
--
---@source UnityEngine.ParticleSystemModule.dll
---@field UV3 UnityEngine.ParticleSystemVertexStream
--
--The fourth UV stream of each particle (only for meshes).
--
---@source UnityEngine.ParticleSystemModule.dll
---@field UV4 UnityEngine.ParticleSystemVertexStream
--
--The amount to blend between animated texture frames, from 0 to 1.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field AnimBlend UnityEngine.ParticleSystemVertexStream
--
--The current animation frame index of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field AnimFrame UnityEngine.ParticleSystemVertexStream
--
--The center position of the entire particle, in world space.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Center UnityEngine.ParticleSystemVertexStream
--
--The vertex ID of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field VertexID UnityEngine.ParticleSystemVertexStream
--
--The X axis size of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field SizeX UnityEngine.ParticleSystemVertexStream
--
--The X and Y axis sizes of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field SizeXY UnityEngine.ParticleSystemVertexStream
--
--The 3D size of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field SizeXYZ UnityEngine.ParticleSystemVertexStream
--
--The Z axis rotation of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Rotation UnityEngine.ParticleSystemVertexStream
--
--The 3D rotation of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Rotation3D UnityEngine.ParticleSystemVertexStream
--
--The Z axis rotational speed of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field RotationSpeed UnityEngine.ParticleSystemVertexStream
--
--The 3D rotational speed of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field RotationSpeed3D UnityEngine.ParticleSystemVertexStream
--
--The velocity of each particle, in world space.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Velocity UnityEngine.ParticleSystemVertexStream
--
--The speed of each particle, calculated by taking the magnitude of the velocity.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Speed UnityEngine.ParticleSystemVertexStream
--
--The normalized age of each particle, from 0 to 1.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field AgePercent UnityEngine.ParticleSystemVertexStream
--
--The reciprocal of the starting lifetime, in seconds (1.0f / startLifetime).
--
---@source UnityEngine.ParticleSystemModule.dll
---@field InvStartLifetime UnityEngine.ParticleSystemVertexStream
--
--A random number for each particle, which remains constant during their lifetime.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field StableRandomX UnityEngine.ParticleSystemVertexStream
--
--Two random numbers for each particle, which remain constant during their lifetime.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field StableRandomXY UnityEngine.ParticleSystemVertexStream
--
--Three random numbers for each particle, which remain constant during their lifetime.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field StableRandomXYZ UnityEngine.ParticleSystemVertexStream
--
--Four random numbers for each particle, which remain constant during their lifetime.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field StableRandomXYZW UnityEngine.ParticleSystemVertexStream
--
--A random number for each particle, which changes during their lifetime.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field VaryingRandomX UnityEngine.ParticleSystemVertexStream
--
--Two random numbers for each particle, which change during their lifetime.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field VaryingRandomXY UnityEngine.ParticleSystemVertexStream
--
--Three random numbers for each particle, which change during their lifetime.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field VaryingRandomXYZ UnityEngine.ParticleSystemVertexStream
--
--Four random numbers for each particle, which change during their lifetime.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field VaryingRandomXYZW UnityEngine.ParticleSystemVertexStream
--
--One custom value for each particle, defined by the Custom Data Module, or ParticleSystem.SetCustomParticleData.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Custom1X UnityEngine.ParticleSystemVertexStream
--
--Two custom values for each particle, defined by the Custom Data Module, or ParticleSystem.SetCustomParticleData.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Custom1XY UnityEngine.ParticleSystemVertexStream
--
--Three custom values for each particle, defined by the Custom Data Module, or ParticleSystem.SetCustomParticleData.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Custom1XYZ UnityEngine.ParticleSystemVertexStream
--
--Four custom values for each particle, defined by the Custom Data Module, or ParticleSystem.SetCustomParticleData.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Custom1XYZW UnityEngine.ParticleSystemVertexStream
--
--One custom value for each particle, defined by the Custom Data Module, or ParticleSystem.SetCustomParticleData.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Custom2X UnityEngine.ParticleSystemVertexStream
--
--Two custom values for each particle, defined by the Custom Data Module, or ParticleSystem.SetCustomParticleData.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Custom2XY UnityEngine.ParticleSystemVertexStream
--
--Three custom values for each particle, defined by the Custom Data Module, or ParticleSystem.SetCustomParticleData.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Custom2XYZ UnityEngine.ParticleSystemVertexStream
--
--Four custom values for each particle, defined by the Custom Data Module, or ParticleSystem.SetCustomParticleData.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Custom2XYZW UnityEngine.ParticleSystemVertexStream
--
--The accumulated X axis noise, over the lifetime of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field NoiseSumX UnityEngine.ParticleSystemVertexStream
--
--The accumulated X and Y axis noise, over the lifetime of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field NoiseSumXY UnityEngine.ParticleSystemVertexStream
--
--The accumulated 3D noise, over the lifetime of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field NoiseSumXYZ UnityEngine.ParticleSystemVertexStream
--
--The X axis noise on the current frame.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field NoiseImpulseX UnityEngine.ParticleSystemVertexStream
--
--The X and Y axis noise on the current frame.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field NoiseImpulseXY UnityEngine.ParticleSystemVertexStream
--
--The 3D noise on the current frame.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field NoiseImpulseXYZ UnityEngine.ParticleSystemVertexStream
--
--The index of the mesh used by the current particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field MeshIndex UnityEngine.ParticleSystemVertexStream
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemVertexStream = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemVertexStream
function CS.UnityEngine.ParticleSystemVertexStream:__CastFrom(value) end


--
--Which stream of custom particle data to set.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemCustomData: System.Enum
--
--The first stream of custom per-particle data.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Custom1 UnityEngine.ParticleSystemCustomData
--
--The second stream of custom per-particle data.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Custom2 UnityEngine.ParticleSystemCustomData
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemCustomData = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemCustomData
function CS.UnityEngine.ParticleSystemCustomData:__CastFrom(value) end


---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.TextEditor: object
---@source UnityEngine.IMGUIModule.dll
---@field keyboardOnScreen UnityEngine.TouchScreenKeyboard
---@source UnityEngine.IMGUIModule.dll
---@field controlID int
---@source UnityEngine.IMGUIModule.dll
---@field style UnityEngine.GUIStyle
---@source UnityEngine.IMGUIModule.dll
---@field multiline bool
---@source UnityEngine.IMGUIModule.dll
---@field hasHorizontalCursorPos bool
---@source UnityEngine.IMGUIModule.dll
---@field isPasswordField bool
---@source UnityEngine.IMGUIModule.dll
---@field scrollOffset UnityEngine.Vector2
---@source UnityEngine.IMGUIModule.dll
---@field graphicalCursorPos UnityEngine.Vector2
---@source UnityEngine.IMGUIModule.dll
---@field graphicalSelectCursorPos UnityEngine.Vector2
---@source UnityEngine.IMGUIModule.dll
---@field content UnityEngine.GUIContent
---@source UnityEngine.IMGUIModule.dll
---@field text string
---@source UnityEngine.IMGUIModule.dll
---@field position UnityEngine.Rect
---@source UnityEngine.IMGUIModule.dll
---@field cursorIndex int
---@source UnityEngine.IMGUIModule.dll
---@field selectIndex int
---@source UnityEngine.IMGUIModule.dll
---@field doubleClickSnapping UnityEngine.TextEditor.DblClickSnapping
---@source UnityEngine.IMGUIModule.dll
---@field altCursorPosition int
---@source UnityEngine.IMGUIModule.dll
---@field hasSelection bool
---@source UnityEngine.IMGUIModule.dll
---@field SelectedText string
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.TextEditor = {}

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.OnFocus() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.OnLostFocus() end

---@source UnityEngine.IMGUIModule.dll
---@param e UnityEngine.Event
---@return Boolean
function CS.UnityEngine.TextEditor.HandleKeyEvent(e) end

---@source UnityEngine.IMGUIModule.dll
---@return Boolean
function CS.UnityEngine.TextEditor.DeleteLineBack() end

---@source UnityEngine.IMGUIModule.dll
---@return Boolean
function CS.UnityEngine.TextEditor.DeleteWordBack() end

---@source UnityEngine.IMGUIModule.dll
---@return Boolean
function CS.UnityEngine.TextEditor.DeleteWordForward() end

---@source UnityEngine.IMGUIModule.dll
---@return Boolean
function CS.UnityEngine.TextEditor.Delete() end

---@source UnityEngine.IMGUIModule.dll
---@return Boolean
function CS.UnityEngine.TextEditor.CanPaste() end

---@source UnityEngine.IMGUIModule.dll
---@return Boolean
function CS.UnityEngine.TextEditor.Backspace() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectAll() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectNone() end

---@source UnityEngine.IMGUIModule.dll
---@return Boolean
function CS.UnityEngine.TextEditor.DeleteSelection() end

---@source UnityEngine.IMGUIModule.dll
---@param replace string
function CS.UnityEngine.TextEditor.ReplaceSelection(replace) end

---@source UnityEngine.IMGUIModule.dll
---@param c char
function CS.UnityEngine.TextEditor.Insert(c) end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveSelectionToAltCursor() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveRight() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveLeft() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveUp() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveDown() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveLineStart() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveLineEnd() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveGraphicalLineStart() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveGraphicalLineEnd() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveTextStart() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveTextEnd() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveParagraphForward() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveParagraphBackward() end

---@source UnityEngine.IMGUIModule.dll
---@param cursorPosition UnityEngine.Vector2
function CS.UnityEngine.TextEditor.MoveCursorToPosition(cursorPosition) end

---@source UnityEngine.IMGUIModule.dll
---@param cursorPosition UnityEngine.Vector2
function CS.UnityEngine.TextEditor.MoveAltCursorToPosition(cursorPosition) end

---@source UnityEngine.IMGUIModule.dll
---@param cursorPosition UnityEngine.Vector2
---@return Boolean
function CS.UnityEngine.TextEditor.IsOverSelection(cursorPosition) end

---@source UnityEngine.IMGUIModule.dll
---@param cursorPosition UnityEngine.Vector2
function CS.UnityEngine.TextEditor.SelectToPosition(cursorPosition) end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectLeft() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectRight() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectUp() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectDown() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectTextEnd() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectTextStart() end

---@source UnityEngine.IMGUIModule.dll
---@param on bool
function CS.UnityEngine.TextEditor.MouseDragSelectsWholeWords(on) end

---@source UnityEngine.IMGUIModule.dll
---@param snapping UnityEngine.TextEditor.DblClickSnapping
function CS.UnityEngine.TextEditor.DblClickSnap(snapping) end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveWordRight() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveToStartOfNextWord() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveToEndOfPreviousWord() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectToStartOfNextWord() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectToEndOfPreviousWord() end

---@source UnityEngine.IMGUIModule.dll
---@param p int
---@return Int32
function CS.UnityEngine.TextEditor.FindStartOfNextWord(p) end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.MoveWordLeft() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectWordRight() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectWordLeft() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.ExpandSelectGraphicalLineStart() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.ExpandSelectGraphicalLineEnd() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectGraphicalLineStart() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectGraphicalLineEnd() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectParagraphForward() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectParagraphBackward() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectCurrentWord() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SelectCurrentParagraph() end

---@source UnityEngine.IMGUIModule.dll
---@param evt UnityEngine.Event
function CS.UnityEngine.TextEditor.UpdateScrollOffsetIfNeeded(evt) end

---@source UnityEngine.IMGUIModule.dll
---@param newText string
function CS.UnityEngine.TextEditor.DrawCursor(newText) end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.SaveBackup() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.Undo() end

---@source UnityEngine.IMGUIModule.dll
---@return Boolean
function CS.UnityEngine.TextEditor.Cut() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.Copy() end

---@source UnityEngine.IMGUIModule.dll
---@return Boolean
function CS.UnityEngine.TextEditor.Paste() end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.TextEditor.DetectFocusChange() end


--
--Which mode CustomDataModule uses to generate its data.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemCustomDataMode: System.Enum
--
--Don't generate any data.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Disabled UnityEngine.ParticleSystemCustomDataMode
--
--Generate data using ParticleSystem.MinMaxCurve.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Vector UnityEngine.ParticleSystemCustomDataMode
--
--Generate data using ParticleSystem.MinMaxGradient.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Color UnityEngine.ParticleSystemCustomDataMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemCustomDataMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemCustomDataMode
function CS.UnityEngine.ParticleSystemCustomDataMode:__CastFrom(value) end


--
--The quality of the generated noise.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemNoiseQuality: System.Enum
--
--Low quality 1D noise.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Low UnityEngine.ParticleSystemNoiseQuality
--
--Medium quality 2D noise.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Medium UnityEngine.ParticleSystemNoiseQuality
--
--High quality 3D noise.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field High UnityEngine.ParticleSystemNoiseQuality
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemNoiseQuality = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemNoiseQuality
function CS.UnityEngine.ParticleSystemNoiseQuality:__CastFrom(value) end


--
--The events that cause new particles to be spawned.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemSubEmitterType: System.Enum
--
--Spawns new particles when particles from the parent system are born.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Birth UnityEngine.ParticleSystemSubEmitterType
--
--Spawns new particles when particles from the parent system collide with something.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Collision UnityEngine.ParticleSystemSubEmitterType
--
--Spawns new particles when particles from the parent system die.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Death UnityEngine.ParticleSystemSubEmitterType
--
--Spawns new particles when particles from the parent system pass conditions in the Trigger Module.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Trigger UnityEngine.ParticleSystemSubEmitterType
--
--Spawns new particles when triggered from script using ParticleSystem.TriggerSubEmitter.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Manual UnityEngine.ParticleSystemSubEmitterType
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemSubEmitterType = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemSubEmitterType
function CS.UnityEngine.ParticleSystemSubEmitterType:__CastFrom(value) end


--
--The properties of sub-emitter particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemSubEmitterProperties: System.Enum
--
--When spawning new particles, do not inherit any properties from the parent particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field InheritNothing UnityEngine.ParticleSystemSubEmitterProperties
--
--When spawning new particles, inherit all available properties from the parent particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field InheritEverything UnityEngine.ParticleSystemSubEmitterProperties
--
--When spawning new particles, multiply the start color by the color of the parent particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field InheritColor UnityEngine.ParticleSystemSubEmitterProperties
--
--When spawning new particles, multiply the start size by the size of the parent particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field InheritSize UnityEngine.ParticleSystemSubEmitterProperties
--
--When spawning new particles, add the start rotation to the rotation of the parent particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field InheritRotation UnityEngine.ParticleSystemSubEmitterProperties
--
--New particles will have a shorter lifespan, the closer their parent particles are to death.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field InheritLifetime UnityEngine.ParticleSystemSubEmitterProperties
--
--When spawning new particles, use the duration and age properties from the parent system, when sampling MainModule curves in the Sub-Emitter.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field InheritDuration UnityEngine.ParticleSystemSubEmitterProperties
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemSubEmitterProperties = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemSubEmitterProperties
function CS.UnityEngine.ParticleSystemSubEmitterProperties:__CastFrom(value) end


--
--Choose how Particle Trails are generated.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemTrailMode: System.Enum
--
--Makes a trail behind each particle as the particle moves.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field PerParticle UnityEngine.ParticleSystemTrailMode
--
--Draws a line between each particle, connecting the youngest particle to the oldest.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Ribbon UnityEngine.ParticleSystemTrailMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemTrailMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemTrailMode
function CS.UnityEngine.ParticleSystemTrailMode:__CastFrom(value) end


--
--Scene extensions to access the underlying physics scene.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.PhysicsSceneExtensions2D: object
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.PhysicsSceneExtensions2D = {}

--
--The 2D physics Scene used by the Scene.
--
--```plaintext
--Params: scene - The Scene from which to return the 2D physics Scene.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@return PhysicsScene2D
function CS.UnityEngine.PhysicsSceneExtensions2D.GetPhysicsScene2D() end


--
--Choose how textures are applied to Particle Trails.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemTrailTextureMode: System.Enum
--
--Map the texture once along the entire length of the trail.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Stretch UnityEngine.ParticleSystemTrailTextureMode
--
--Repeat the texture along the trail. To set the tiling rate, use Material.SetTextureScale.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Tile UnityEngine.ParticleSystemTrailTextureMode
--
--Map the texture once along the entire length of the trail, assuming all vertices are evenly spaced.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field DistributePerSegment UnityEngine.ParticleSystemTrailTextureMode
--
--Repeat the texture along the trail, repeating at a rate of once per trail segment. To adjust the tiling rate, use Material.SetTextureScale.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field RepeatPerSegment UnityEngine.ParticleSystemTrailTextureMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemTrailTextureMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemTrailTextureMode
function CS.UnityEngine.ParticleSystemTrailTextureMode:__CastFrom(value) end


--
--The mode used to generate new points in a shape.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemShapeMultiModeValue: System.Enum
--
--Generate points randomly. (Default)
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Random UnityEngine.ParticleSystemShapeMultiModeValue
--
--Animate the emission point around the shape.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Loop UnityEngine.ParticleSystemShapeMultiModeValue
--
--Animate the emission point around the shape, alternating between clockwise and counter-clockwise directions.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field PingPong UnityEngine.ParticleSystemShapeMultiModeValue
--
--Distribute new particles around the shape evenly.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field BurstSpread UnityEngine.ParticleSystemShapeMultiModeValue
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemShapeMultiModeValue = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemShapeMultiModeValue
function CS.UnityEngine.ParticleSystemShapeMultiModeValue:__CastFrom(value) end


--
--Global settings and helpers for 2D physics.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.Physics2D: object
--
--Layer mask constant for the default layer that ignores raycasts.
--
---@source UnityEngine.Physics2DModule.dll
---@field IgnoreRaycastLayer int
--
--Layer mask constant that includes all layers participating in raycasts by default.
--
---@source UnityEngine.Physics2DModule.dll
---@field DefaultRaycastLayers int
--
--Layer mask constant that includes all layers.
--
---@source UnityEngine.Physics2DModule.dll
---@field AllLayers int
--
--The PhysicsScene2D automatically created when Unity starts.
--
---@source UnityEngine.Physics2DModule.dll
---@field defaultPhysicsScene UnityEngine.PhysicsScene2D
--
--The number of iterations of the physics solver when considering objects' velocities.
--
---@source UnityEngine.Physics2DModule.dll
---@field velocityIterations int
--
--The number of iterations of the physics solver when considering objects' positions.
--
---@source UnityEngine.Physics2DModule.dll
---@field positionIterations int
--
--Acceleration due to gravity.
--
---@source UnityEngine.Physics2DModule.dll
---@field gravity UnityEngine.Vector2
--
--Do raycasts detect Colliders configured as triggers?
--
---@source UnityEngine.Physics2DModule.dll
---@field queriesHitTriggers bool
--
--Set the raycasts or linecasts that start inside Colliders to detect or not detect those Colliders.
--
---@source UnityEngine.Physics2DModule.dll
---@field queriesStartInColliders bool
--
--Use this to control whether or not the appropriate OnCollisionExit2D or OnTriggerExit2D callbacks should be called when a Collider2D is disabled.
--
---@source UnityEngine.Physics2DModule.dll
---@field callbacksOnDisable bool
--
--Determines whether the garbage collector should reuse only a single instance of a Collision2D type for all collision callbacks.
--
---@source UnityEngine.Physics2DModule.dll
---@field reuseCollisionCallbacks bool
--
--Set whether to automatically sync changes to the Transform component with the physics engine.
--
---@source UnityEngine.Physics2DModule.dll
---@field autoSyncTransforms bool
--
--Controls when Unity executes the 2D physics simulation.
--
---@source UnityEngine.Physics2DModule.dll
---@field simulationMode UnityEngine.SimulationMode2D
--
--A set of options that control how physics operates when using the job system to multithread the physics simulation.
--
---@source UnityEngine.Physics2DModule.dll
---@field jobOptions UnityEngine.PhysicsJobOptions2D
--
--Any collisions with a relative linear velocity below this threshold will be treated as inelastic.
--
---@source UnityEngine.Physics2DModule.dll
---@field velocityThreshold float
--
--The maximum linear position correction used when solving constraints.  This helps to prevent overshoot.
--
---@source UnityEngine.Physics2DModule.dll
---@field maxLinearCorrection float
--
--The maximum angular position correction used when solving constraints.  This helps to prevent overshoot.
--
---@source UnityEngine.Physics2DModule.dll
---@field maxAngularCorrection float
--
--The maximum linear speed of a rigid-body per physics update.  Increasing this can cause numerical problems.
--
---@source UnityEngine.Physics2DModule.dll
---@field maxTranslationSpeed float
--
--The maximum angular speed of a rigid-body per physics update.  Increasing this can cause numerical problems.
--
---@source UnityEngine.Physics2DModule.dll
---@field maxRotationSpeed float
--
--The default contact offset of the newly created Colliders.
--
---@source UnityEngine.Physics2DModule.dll
---@field defaultContactOffset float
--
--The scale factor that controls how fast overlaps are resolved.
--
---@source UnityEngine.Physics2DModule.dll
---@field baumgarteScale float
--
--The scale factor that controls how fast TOI overlaps are resolved.
--
---@source UnityEngine.Physics2DModule.dll
---@field baumgarteTOIScale float
--
--The time in seconds that a rigid-body must be still before it will go to sleep.
--
---@source UnityEngine.Physics2DModule.dll
---@field timeToSleep float
--
--A rigid-body cannot sleep if its linear velocity is above this tolerance.
--
---@source UnityEngine.Physics2DModule.dll
---@field linearSleepTolerance float
--
--A Rigidbody cannot sleep if its angular velocity is above this tolerance threshold.
--
---@source UnityEngine.Physics2DModule.dll
---@field angularSleepTolerance float
--
--Enable to always show the Collider Gizmos even when they are not selected.
--
---@source UnityEngine.Physics2DModule.dll
---@field alwaysShowColliders bool
--
--Should the Collider Gizmos show the sleep-state for each Collider?
--
---@source UnityEngine.Physics2DModule.dll
---@field showColliderSleep bool
--
--Should the Collider Gizmos show current contacts for each Collider?
--
---@source UnityEngine.Physics2DModule.dll
---@field showColliderContacts bool
--
--Should the Collider Gizmos show the AABBs for each Collider?
--
---@source UnityEngine.Physics2DModule.dll
---@field showColliderAABB bool
--
--The scale of the contact arrow used by the Collider Gizmos.
--
---@source UnityEngine.Physics2DModule.dll
---@field contactArrowScale float
--
--The color used by the Gizmos to show all awake Colliders (Collider is awake when the body is awake).
--
---@source UnityEngine.Physics2DModule.dll
---@field colliderAwakeColor UnityEngine.Color
--
--The color used by the Gizmos to show all asleep Colliders (Collider is asleep when the body is asleep).
--
---@source UnityEngine.Physics2DModule.dll
---@field colliderAsleepColor UnityEngine.Color
--
--The color used by the Gizmos to show all Collider contacts.
--
---@source UnityEngine.Physics2DModule.dll
---@field colliderContactColor UnityEngine.Color
--
--Set the color used by the Gizmos to show all Collider axis-aligned bounding boxes (AABBs).
--
---@source UnityEngine.Physics2DModule.dll
---@field colliderAABBColor UnityEngine.Color
--
--Set the raycasts to either detect or not detect Triggers.
--
---@source UnityEngine.Physics2DModule.dll
---@field raycastsHitTriggers bool
--
--Do ray/line casts that start inside a Collider(s) detect those Collider(s)?
--
---@source UnityEngine.Physics2DModule.dll
---@field raycastsStartInColliders bool
--
--Set whether to continue or stop the proccesing of collision callbacks if any of the objects involved in the collision are deleted.
--
---@source UnityEngine.Physics2DModule.dll
---@field deleteStopsCallbacks bool
--
--Set whether the reporting of collisions callbacks immediately stops if any of the objects involved in the collision are deleted or moved.
--
---@source UnityEngine.Physics2DModule.dll
---@field changeStopsCallbacks bool
--
--This property is obsolete.  You should use defaultContactOffset instead.
--
---@source UnityEngine.Physics2DModule.dll
---@field minPenetrationForPenalty float
--
--Set whether the physics should be simulated automatically or not.
--
---@source UnityEngine.Physics2DModule.dll
---@field autoSimulation bool
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.Physics2D = {}

--
--Whether the simulation was run or not.  Running the simulation during physics callbacks will always fail.
--
--```plaintext
--Params: step - The time to advance physics by.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param step float
---@return Boolean
function CS.UnityEngine.Physics2D:Simulate(step) end

--
--Synchronizes.
--
---@source UnityEngine.Physics2DModule.dll
function CS.UnityEngine.Physics2D:SyncTransforms() end

---@source UnityEngine.Physics2DModule.dll
---@param collider1 UnityEngine.Collider2D
---@param collider2 UnityEngine.Collider2D
function CS.UnityEngine.Physics2D:IgnoreCollision(collider1, collider2) end

--
--Makes the collision detection system ignore all collisionstriggers between collider1 and collider2/.
--
--```plaintext
--Params: collider1 - The first Collider to compare to collider2.
--        collider2 - The second Collider to compare to collider1.
--        ignore - Whether collisionstriggers between collider1 and collider2/ should be ignored or not.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider1 UnityEngine.Collider2D
---@param collider2 UnityEngine.Collider2D
---@param ignore bool
function CS.UnityEngine.Physics2D:IgnoreCollision(collider1, collider2, ignore) end

--
--Whether the collision detection system will ignore all collisionstriggers between collider1 and collider2/ or not.
--
--```plaintext
--Params: collider1 - The first Collider to compare to collider2.
--        collider2 - The second Collider to compare to collider1.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider1 UnityEngine.Collider2D
---@param collider2 UnityEngine.Collider2D
---@return Boolean
function CS.UnityEngine.Physics2D:GetIgnoreCollision(collider1, collider2) end

---@source UnityEngine.Physics2DModule.dll
---@param layer1 int
---@param layer2 int
function CS.UnityEngine.Physics2D:IgnoreLayerCollision(layer1, layer2) end

--
--Choose whether to detect or ignore collisions between a specified pair of layers.
--
--```plaintext
--Params: layer1 - ID of the first layer.
--        layer2 - ID of the second layer.
--        ignore - Should collisions between these layers be ignored?
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param layer1 int
---@param layer2 int
---@param ignore bool
function CS.UnityEngine.Physics2D:IgnoreLayerCollision(layer1, layer2, ignore) end

--
--Whether collisions between the specified layers be ignored or not.
--
--```plaintext
--Params: layer1 - ID of first layer.
--        layer2 - ID of second layer.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param layer1 int
---@param layer2 int
---@return Boolean
function CS.UnityEngine.Physics2D:GetIgnoreLayerCollision(layer1, layer2) end

--
--Set the collision layer mask that indicates which layer(s) the specified layer can collide with.
--
--```plaintext
--Params: layer - The layer to set the collision layer mask for.
--        layerMask - A mask where each bit indicates a layer and whether it can collide with layer or not.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param layer int
---@param layerMask int
function CS.UnityEngine.Physics2D:SetLayerCollisionMask(layer, layerMask) end

--
--A mask where each bit indicates a layer and whether it can collide with layer or not.
--
--```plaintext
--Params: layer - The layer to retrieve the collision layer mask for.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param layer int
---@return Int32
function CS.UnityEngine.Physics2D:GetLayerCollisionMask(layer) end

--
--Whether collider1 is touching collider2 or not.
--
--```plaintext
--Params: collider1 - The Collider to check if it is touching collider2.
--        collider2 - The Collider to check if it is touching collider1.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider1 UnityEngine.Collider2D
---@param collider2 UnityEngine.Collider2D
---@return Boolean
function CS.UnityEngine.Physics2D:IsTouching(collider1, collider2) end

--
--Whether collider1 is touching collider2 or not.
--
--```plaintext
--Params: collider1 - The Collider to check if it is touching collider2.
--        collider2 - The Collider to check if it is touching collider1.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider1 UnityEngine.Collider2D
---@param collider2 UnityEngine.Collider2D
---@param contactFilter UnityEngine.ContactFilter2D
---@return Boolean
function CS.UnityEngine.Physics2D:IsTouching(collider1, collider2, contactFilter) end

--
--Whether the Collider is touching any other Collider filtered by the contactFilter or not.
--
--```plaintext
--Params: Collider - The Collider to check if it is touching any other Collider filtered by the contactFilter.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param contactFilter UnityEngine.ContactFilter2D
---@return Boolean
function CS.UnityEngine.Physics2D:IsTouching(collider, contactFilter) end

---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@return Boolean
function CS.UnityEngine.Physics2D:IsTouchingLayers(collider) end

--
--Whether the Collider is touching any Colliders on the specified layerMask or not.
--
--```plaintext
--Params: Collider - The Collider to check if it is touching Colliders on the layerMask.
--        layerMask - Any Colliders on any of these layers count as touching.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics2D:IsTouchingLayers(collider, layerMask) end

--
--The minimum distance between colliderA and colliderB.
--
--```plaintext
--Params: colliderA - A Collider used to calculate the minimum distance against colliderB.
--        colliderB - A Collider used to calculate the minimum distance against colliderA.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param colliderA UnityEngine.Collider2D
---@param colliderB UnityEngine.Collider2D
---@return ColliderDistance2D
function CS.UnityEngine.Physics2D:Distance(colliderA, colliderB) end

--
--A point on the perimeter of the Collider that is closest to the specified position.
--
--```plaintext
--Params: position - The position from which to find the closest point on the specified Collider.
--        Collider - The Collider on which to find the closest specified position.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param position UnityEngine.Vector2
---@param collider UnityEngine.Collider2D
---@return Vector2
function CS.UnityEngine.Physics2D:ClosestPoint(position, collider) end

--
--A point on the perimeter of a Collider attached to the rigidbody that is closest to the specified position.
--
--```plaintext
--Params: position - The position from which to find the closest point on the specified rigidbody.
--        rigidbody - The Rigidbody on which to find the closest specified position.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param position UnityEngine.Vector2
---@param rigidbody UnityEngine.Rigidbody2D
---@return Vector2
function CS.UnityEngine.Physics2D:ClosestPoint(position, rigidbody) end

---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:Linecast(start, end) end

---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param layerMask int
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:Linecast(start, end, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param layerMask int
---@param minDepth float
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:Linecast(start, end, layerMask, minDepth) end

--
--The cast results returned.
--
--```plaintext
--Params: start - The start point of the line in world space.
--        end - The end point of the line in world space.
--        layerMask - Filter to detect Colliders only on certain layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:Linecast(start, end, layerMask, minDepth, maxDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: start - The start point of the line in world space.
--        end - The end point of the line in world space.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Physics2D:Linecast(start, end, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.RaycastHit2D>
---@return Int32
function CS.UnityEngine.Physics2D:Linecast(start, end, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
function CS.UnityEngine.Physics2D:LinecastAll(start, end) end

---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param layerMask int
function CS.UnityEngine.Physics2D:LinecastAll(start, end, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param layerMask int
---@param minDepth float
function CS.UnityEngine.Physics2D:LinecastAll(start, end, layerMask, minDepth) end

--
--The cast results returned.
--
--```plaintext
--Params: start - The start point of the line in world space.
--        end - The end point of the line in world space.
--        layerMask - Filter to detect Colliders only on certain layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param layerMask int
---@param minDepth float
---@param maxDepth float
function CS.UnityEngine.Physics2D:LinecastAll(start, end, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Physics2D:LinecastNonAlloc(start, end, results) end

---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics2D:LinecastNonAlloc(start, end, results, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param layerMask int
---@param minDepth float
---@return Int32
function CS.UnityEngine.Physics2D:LinecastNonAlloc(start, end, results, layerMask, minDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        start - The start point of the line in world space.
--        end - The end point of the line in world space.
--        results - Returned array of objects that intersect the line.
--        layerMask - Filter to detect Colliders only on certain layers.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return Int32
function CS.UnityEngine.Physics2D:LinecastNonAlloc(start, end, results, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:Raycast(origin, direction) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param distance float
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:Raycast(origin, direction, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:Raycast(origin, direction, distance, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@param minDepth float
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:Raycast(origin, direction, distance, layerMask, minDepth) end

--
--The cast results returned.
--
--```plaintext
--Params: origin - The point in 2D space where the ray originates.
--        direction - A vector representing the direction of the ray.
--        distance - The maximum distance over which to cast the ray.
--        layerMask - Filter to detect Colliders only on certain layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:Raycast(origin, direction, distance, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Physics2D:Raycast(origin, direction, contactFilter, results) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: origin - The point in 2D space where the ray originates.
--        direction - A vector representing the direction of the ray.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        distance - The maximum distance over which to cast the ray.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@return Int32
function CS.UnityEngine.Physics2D:Raycast(origin, direction, contactFilter, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.RaycastHit2D>
---@param distance float
---@return Int32
function CS.UnityEngine.Physics2D:Raycast(origin, direction, contactFilter, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Physics2D:RaycastNonAlloc(origin, direction, results) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@return Int32
function CS.UnityEngine.Physics2D:RaycastNonAlloc(origin, direction, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics2D:RaycastNonAlloc(origin, direction, results, distance, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param layerMask int
---@param minDepth float
---@return Int32
function CS.UnityEngine.Physics2D:RaycastNonAlloc(origin, direction, results, distance, layerMask, minDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        origin - The point in 2D space where the ray originates.
--        direction - A vector representing the direction of the ray.
--        results - Array to receive results.
--        distance - The maximum distance over which to cast the ray.
--        layerMask - Filter to check objects only on specific layers.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return Int32
function CS.UnityEngine.Physics2D:RaycastNonAlloc(origin, direction, results, distance, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
function CS.UnityEngine.Physics2D:RaycastAll(origin, direction) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param distance float
function CS.UnityEngine.Physics2D:RaycastAll(origin, direction, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
function CS.UnityEngine.Physics2D:RaycastAll(origin, direction, distance, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@param minDepth float
function CS.UnityEngine.Physics2D:RaycastAll(origin, direction, distance, layerMask, minDepth) end

--
--The cast results returned.
--
--```plaintext
--Params: origin - The point in 2D space where the ray originates.
--        direction - A vector representing the direction of the ray.
--        distance - The maximum distance over which to cast the ray.
--        layerMask - Filter to detect Colliders only on certain layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
function CS.UnityEngine.Physics2D:RaycastAll(origin, direction, distance, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:CircleCast(origin, radius, direction) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param distance float
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:CircleCast(origin, radius, direction, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:CircleCast(origin, radius, direction, distance, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@param minDepth float
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:CircleCast(origin, radius, direction, distance, layerMask, minDepth) end

--
--The cast results returned.
--
--```plaintext
--Params: origin - The point in 2D space where the circle originates.
--        radius - The radius of the circle.
--        direction - A vector representing the direction of the circle.
--        distance - The maximum distance over which to cast the circle.
--        layerMask - Filter to detect Colliders only on certain layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:CircleCast(origin, radius, direction, distance, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Physics2D:CircleCast(origin, radius, direction, contactFilter, results) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: origin - The point in 2D space where the circle originates.
--        radius - The radius of the circle.
--        direction - A vector representing the direction of the circle.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        distance - The maximum distance over which to cast the circle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@return Int32
function CS.UnityEngine.Physics2D:CircleCast(origin, radius, direction, contactFilter, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.RaycastHit2D>
---@param distance float
---@return Int32
function CS.UnityEngine.Physics2D:CircleCast(origin, radius, direction, contactFilter, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
function CS.UnityEngine.Physics2D:CircleCastAll(origin, radius, direction) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param distance float
function CS.UnityEngine.Physics2D:CircleCastAll(origin, radius, direction, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
function CS.UnityEngine.Physics2D:CircleCastAll(origin, radius, direction, distance, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@param minDepth float
function CS.UnityEngine.Physics2D:CircleCastAll(origin, radius, direction, distance, layerMask, minDepth) end

--
--The cast results returned.
--
--```plaintext
--Params: origin - The point in 2D space where the circle originates.
--        radius - The radius of the circle.
--        direction - A vector representing the direction of the circle.
--        distance - The maximum distance over which to cast the circle.
--        layerMask - Filter to detect Colliders only on certain layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
function CS.UnityEngine.Physics2D:CircleCastAll(origin, radius, direction, distance, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Physics2D:CircleCastNonAlloc(origin, radius, direction, results) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@return Int32
function CS.UnityEngine.Physics2D:CircleCastNonAlloc(origin, radius, direction, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics2D:CircleCastNonAlloc(origin, radius, direction, results, distance, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param layerMask int
---@param minDepth float
---@return Int32
function CS.UnityEngine.Physics2D:CircleCastNonAlloc(origin, radius, direction, results, distance, layerMask, minDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: origin - The point in 2D space where the circle originates.
--        radius - The radius of the circle.
--        direction - A vector representing the direction of the circle.
--        results - Array to receive results.
--        distance - The maximum distance over which to cast the circle.
--        layerMask - Filter to detect Colliders only on certain layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return Int32
function CS.UnityEngine.Physics2D:CircleCastNonAlloc(origin, radius, direction, results, distance, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:BoxCast(origin, size, angle, direction) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:BoxCast(origin, size, angle, direction, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:BoxCast(origin, size, angle, direction, distance, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@param minDepth float
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:BoxCast(origin, size, angle, direction, distance, layerMask, minDepth) end

--
--The cast results returned.
--
--```plaintext
--Params: origin - The point in 2D space where the box originates.
--        size - The size of the box.
--        angle - The angle of the box (in degrees).
--        direction - A vector representing the direction of the box.
--        distance - The maximum distance over which to cast the box.
--        layerMask - Filter to detect Colliders only on certain layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:BoxCast(origin, size, angle, direction, distance, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Physics2D:BoxCast(origin, size, angle, direction, contactFilter, results) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: origin - The point in 2D space where the box originates.
--        size - The size of the box.
--        angle - The angle of the box (in degrees).
--        direction - A vector representing the direction of the box.
--        distance - The maximum distance over which to cast the box.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@return Int32
function CS.UnityEngine.Physics2D:BoxCast(origin, size, angle, direction, contactFilter, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.RaycastHit2D>
---@param distance float
---@return Int32
function CS.UnityEngine.Physics2D:BoxCast(origin, size, angle, direction, contactFilter, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
function CS.UnityEngine.Physics2D:BoxCastAll(origin, size, angle, direction) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
function CS.UnityEngine.Physics2D:BoxCastAll(origin, size, angle, direction, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
function CS.UnityEngine.Physics2D:BoxCastAll(origin, size, angle, direction, distance, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@param minDepth float
function CS.UnityEngine.Physics2D:BoxCastAll(origin, size, angle, direction, distance, layerMask, minDepth) end

--
--The cast results returned.
--
--```plaintext
--Params: origin - The point in 2D space where the box originates.
--        size - The size of the box.
--        angle - The angle of the box (in degrees).
--        direction - A vector representing the direction of the box.
--        distance - The maximum distance over which to cast the box.
--        layerMask - Filter to detect Colliders only on certain layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
function CS.UnityEngine.Physics2D:BoxCastAll(origin, size, angle, direction, distance, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Physics2D:BoxCastNonAlloc(origin, size, angle, direction, results) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@return Int32
function CS.UnityEngine.Physics2D:BoxCastNonAlloc(origin, size, angle, direction, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics2D:BoxCastNonAlloc(origin, size, angle, direction, results, distance, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param layerMask int
---@param minDepth float
---@return Int32
function CS.UnityEngine.Physics2D:BoxCastNonAlloc(origin, size, angle, direction, results, distance, layerMask, minDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: origin - The point in 2D space where the box originates.
--        size - The size of the box.
--        angle - The angle of the box (in degrees).
--        direction - A vector representing the direction of the box.
--        results - Array to receive results.
--        distance - The maximum distance over which to cast the box.
--        layerMask - Filter to detect Colliders only on certain layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return Int32
function CS.UnityEngine.Physics2D:BoxCastNonAlloc(origin, size, angle, direction, results, distance, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:CapsuleCast(origin, size, capsuleDirection, angle, direction) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:CapsuleCast(origin, size, capsuleDirection, angle, direction, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:CapsuleCast(origin, size, capsuleDirection, angle, direction, distance, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@param minDepth float
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:CapsuleCast(origin, size, capsuleDirection, angle, direction, distance, layerMask, minDepth) end

--
--The cast results returned.
--
--```plaintext
--Params: origin - The point in 2D space where the capsule originates.
--        size - The size of the capsule.
--        capsuleDirection - The direction of the capsule.
--        angle - The angle of the capsule (in degrees).
--        direction - Vector representing the direction to cast the capsule.
--        distance - The maximum distance over which to cast the capsule.
--        layerMask - Filter to detect Colliders only on certain layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:CapsuleCast(origin, size, capsuleDirection, angle, direction, distance, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Physics2D:CapsuleCast(origin, size, capsuleDirection, angle, direction, contactFilter, results) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: origin - The point in 2D space where the capsule originates.
--        size - The size of the capsule.
--        capsuleDirection - The direction of the capsule.
--        angle - The angle of the capsule (in degrees).
--        direction - Vector representing the direction to cast the capsule.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        distance - The maximum distance over which to cast the capsule.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@return Int32
function CS.UnityEngine.Physics2D:CapsuleCast(origin, size, capsuleDirection, angle, direction, contactFilter, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.RaycastHit2D>
---@param distance float
---@return Int32
function CS.UnityEngine.Physics2D:CapsuleCast(origin, size, capsuleDirection, angle, direction, contactFilter, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
function CS.UnityEngine.Physics2D:CapsuleCastAll(origin, size, capsuleDirection, angle, direction) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
function CS.UnityEngine.Physics2D:CapsuleCastAll(origin, size, capsuleDirection, angle, direction, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
function CS.UnityEngine.Physics2D:CapsuleCastAll(origin, size, capsuleDirection, angle, direction, distance, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@param minDepth float
function CS.UnityEngine.Physics2D:CapsuleCastAll(origin, size, capsuleDirection, angle, direction, distance, layerMask, minDepth) end

--
--The cast results returned.
--
--```plaintext
--Params: origin - The point in 2D space where the capsule originates.
--        size - The size of the capsule.
--        capsuleDirection - The direction of the capsule.
--        angle - The angle of the capsule (in degrees).
--        direction - Vector representing the direction to cast the capsule.
--        distance - The maximum distance over which to cast the capsule.
--        layerMask - Filter to detect Colliders only on certain layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
function CS.UnityEngine.Physics2D:CapsuleCastAll(origin, size, capsuleDirection, angle, direction, distance, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Physics2D:CapsuleCastNonAlloc(origin, size, capsuleDirection, angle, direction, results) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@return Int32
function CS.UnityEngine.Physics2D:CapsuleCastNonAlloc(origin, size, capsuleDirection, angle, direction, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics2D:CapsuleCastNonAlloc(origin, size, capsuleDirection, angle, direction, results, distance, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param layerMask int
---@param minDepth float
---@return Int32
function CS.UnityEngine.Physics2D:CapsuleCastNonAlloc(origin, size, capsuleDirection, angle, direction, results, distance, layerMask, minDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: origin - The point in 2D space where the capsule originates.
--        size - The size of the capsule.
--        capsuleDirection - The direction of the capsule.
--        angle - The angle of the capsule (in degrees).
--        direction - Vector representing the direction to cast the capsule.
--        results - Array to receive results.
--        distance - The maximum distance over which to cast the capsule.
--        layerMask - Filter to detect Colliders only on certain layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return Int32
function CS.UnityEngine.Physics2D:CapsuleCastNonAlloc(origin, size, capsuleDirection, angle, direction, results, distance, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param ray UnityEngine.Ray
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:GetRayIntersection(ray) end

---@source UnityEngine.Physics2DModule.dll
---@param ray UnityEngine.Ray
---@param distance float
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:GetRayIntersection(ray, distance) end

--
--The cast results returned.
--
--```plaintext
--Params: ray - The 3D ray defining origin and direction to test.
--        distance - The maximum distance over which to cast the ray.
--        layerMask - Filter to detect Colliders only on certain layers.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param ray UnityEngine.Ray
---@param distance float
---@param layerMask int
---@return RaycastHit2D
function CS.UnityEngine.Physics2D:GetRayIntersection(ray, distance, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param ray UnityEngine.Ray
function CS.UnityEngine.Physics2D:GetRayIntersectionAll(ray) end

---@source UnityEngine.Physics2DModule.dll
---@param ray UnityEngine.Ray
---@param distance float
function CS.UnityEngine.Physics2D:GetRayIntersectionAll(ray, distance) end

--
--The cast results returned.
--
--```plaintext
--Params: ray - The 3D ray defining origin and direction to test.
--        distance - The maximum distance over which to cast the ray.
--        layerMask - Filter to detect Colliders only on certain layers.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param ray UnityEngine.Ray
---@param distance float
---@param layerMask int
function CS.UnityEngine.Physics2D:GetRayIntersectionAll(ray, distance, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param ray UnityEngine.Ray
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Physics2D:GetRayIntersectionNonAlloc(ray, results) end

---@source UnityEngine.Physics2DModule.dll
---@param ray UnityEngine.Ray
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@return Int32
function CS.UnityEngine.Physics2D:GetRayIntersectionNonAlloc(ray, results, distance) end

--
--The number of results returned.
--
--```plaintext
--Params: ray - The 3D ray defining origin and direction to test.
--        distance - The maximum distance over which to cast the ray.
--        layerMask - Filter to detect Colliders only on certain layers.
--        results - Array to receive results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param ray UnityEngine.Ray
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics2D:GetRayIntersectionNonAlloc(ray, results, distance, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapPoint(point) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param layerMask int
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapPoint(point, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param layerMask int
---@param minDepth float
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapPoint(point, layerMask, minDepth) end

--
--The Collider overlapping the point.
--
--```plaintext
--Params: point - A point in world space.
--        layerMask - Filter to check objects only on specific layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapPoint(point, layerMask, minDepth, maxDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: point - A point in world space.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth.  Note that normal angle is not used for overlap testing.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Physics2D:OverlapPoint(point, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Physics2D:OverlapPoint(point, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
function CS.UnityEngine.Physics2D:OverlapPointAll(point) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param layerMask int
function CS.UnityEngine.Physics2D:OverlapPointAll(point, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param layerMask int
---@param minDepth float
function CS.UnityEngine.Physics2D:OverlapPointAll(point, layerMask, minDepth) end

--
--The cast results returned.
--
--```plaintext
--Params: minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        point - A point in space.
--        layerMask - Filter to check objects only on specific layers.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param layerMask int
---@param minDepth float
---@param maxDepth float
function CS.UnityEngine.Physics2D:OverlapPointAll(point, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Physics2D:OverlapPointNonAlloc(point, results) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics2D:OverlapPointNonAlloc(point, results, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@param minDepth float
---@return Int32
function CS.UnityEngine.Physics2D:OverlapPointNonAlloc(point, results, layerMask, minDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        point - A point in space.
--        results - Array to receive results.
--        layerMask - Filter to check objects only on specific layers.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return Int32
function CS.UnityEngine.Physics2D:OverlapPointNonAlloc(point, results, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapCircle(point, radius) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param layerMask int
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapCircle(point, radius, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param layerMask int
---@param minDepth float
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapCircle(point, radius, layerMask, minDepth) end

--
--The Collider overlapping the circle.
--
--```plaintext
--Params: point - Centre of the circle.
--        radius - The radius of the circle.
--        layerMask - Filter to check objects only on specific layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapCircle(point, radius, layerMask, minDepth, maxDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: point - Centre of the circle.
--        radius - The radius of the circle.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth.  Note that normal angle is not used for overlap testing.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Physics2D:OverlapCircle(point, radius, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Physics2D:OverlapCircle(point, radius, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
function CS.UnityEngine.Physics2D:OverlapCircleAll(point, radius) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param layerMask int
function CS.UnityEngine.Physics2D:OverlapCircleAll(point, radius, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param layerMask int
---@param minDepth float
function CS.UnityEngine.Physics2D:OverlapCircleAll(point, radius, layerMask, minDepth) end

--
--The cast results.
--
--```plaintext
--Params: point - The center of the circle.
--        radius - The radius of the circle.
--        layerMask - Filter to check objects only on specified layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
function CS.UnityEngine.Physics2D:OverlapCircleAll(point, radius, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Physics2D:OverlapCircleNonAlloc(point, radius, results) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics2D:OverlapCircleNonAlloc(point, radius, results, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@param minDepth float
---@return Int32
function CS.UnityEngine.Physics2D:OverlapCircleNonAlloc(point, radius, results, layerMask, minDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: point - The center of the circle.
--        radius - The radius of the circle.
--        results - Array to receive results.
--        layerMask - Filter to check objects only on specific layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return Int32
function CS.UnityEngine.Physics2D:OverlapCircleNonAlloc(point, radius, results, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapBox(point, size, angle) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param layerMask int
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapBox(point, size, angle, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param layerMask int
---@param minDepth float
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapBox(point, size, angle, layerMask, minDepth) end

--
--The Collider overlapping the box.
--
--```plaintext
--Params: point - The center of the box.
--        size - The size of the box.
--        angle - The angle of the box.
--        layerMask - Filter to check objects only on specific layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapBox(point, size, angle, layerMask, minDepth, maxDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: point - The center of the box.
--        size - The size of the box.
--        angle - The angle of the box.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth.  Note that normal angle is not used for overlap testing.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Physics2D:OverlapBox(point, size, angle, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Physics2D:OverlapBox(point, size, angle, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
function CS.UnityEngine.Physics2D:OverlapBoxAll(point, size, angle) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param layerMask int
function CS.UnityEngine.Physics2D:OverlapBoxAll(point, size, angle, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param layerMask int
---@param minDepth float
function CS.UnityEngine.Physics2D:OverlapBoxAll(point, size, angle, layerMask, minDepth) end

--
--The cast results returned.
--
--```plaintext
--Params: point - The center of the box.
--        size - The size of the box.
--        angle - The angle of the box.
--        layerMask - Filter to check objects only on specific layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
function CS.UnityEngine.Physics2D:OverlapBoxAll(point, size, angle, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Physics2D:OverlapBoxNonAlloc(point, size, angle, results) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics2D:OverlapBoxNonAlloc(point, size, angle, results, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@param minDepth float
---@return Int32
function CS.UnityEngine.Physics2D:OverlapBoxNonAlloc(point, size, angle, results, layerMask, minDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: point - The center of the box.
--        size - The size of the box.
--        angle - The angle of the box.
--        results - Array to receive results.
--        layerMask - Filter to check objects only on specific layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return Int32
function CS.UnityEngine.Physics2D:OverlapBoxNonAlloc(point, size, angle, results, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapArea(pointA, pointB) end

---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param layerMask int
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapArea(pointA, pointB, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param layerMask int
---@param minDepth float
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapArea(pointA, pointB, layerMask, minDepth) end

--
--The Collider overlapping the area.
--
--```plaintext
--Params: pointA - One corner of the rectangle.
--        pointB - Diagonally opposite the point A corner of the rectangle.
--        layerMask - Filter to check objects only on specific layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapArea(pointA, pointB, layerMask, minDepth, maxDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: pointA - One corner of the rectangle.
--        pointB - Diagonally opposite the point A corner of the rectangle.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth.  Note that normal angle is not used for overlap testing.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Physics2D:OverlapArea(pointA, pointB, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Physics2D:OverlapArea(pointA, pointB, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
function CS.UnityEngine.Physics2D:OverlapAreaAll(pointA, pointB) end

---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param layerMask int
function CS.UnityEngine.Physics2D:OverlapAreaAll(pointA, pointB, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param layerMask int
---@param minDepth float
function CS.UnityEngine.Physics2D:OverlapAreaAll(pointA, pointB, layerMask, minDepth) end

--
--The cast results returned.
--
--```plaintext
--Params: pointA - One corner of the rectangle.
--        pointB - Diagonally opposite the point A corner of the rectangle.
--        layerMask - Filter to check objects only on specific layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param layerMask int
---@param minDepth float
---@param maxDepth float
function CS.UnityEngine.Physics2D:OverlapAreaAll(pointA, pointB, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Physics2D:OverlapAreaNonAlloc(pointA, pointB, results) end

---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics2D:OverlapAreaNonAlloc(pointA, pointB, results, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@param minDepth float
---@return Int32
function CS.UnityEngine.Physics2D:OverlapAreaNonAlloc(pointA, pointB, results, layerMask, minDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: pointA - One corner of the rectangle.
--        pointB - Diagonally opposite the point A corner of the rectangle.
--        results - Array to receive results.
--        layerMask - Filter to check objects only on specified layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than or equal to this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than or equal to this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return Int32
function CS.UnityEngine.Physics2D:OverlapAreaNonAlloc(pointA, pointB, results, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapCapsule(point, size, direction, angle) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param layerMask int
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapCapsule(point, size, direction, angle, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param layerMask int
---@param minDepth float
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapCapsule(point, size, direction, angle, layerMask, minDepth) end

--
--The Collider overlapping the capsule.
--
--```plaintext
--Params: point - The center of the capsule.
--        size - The size of the capsule.
--        direction - The direction of the capsule.
--        angle - The angle of the capsule.
--        layerMask - Filter to check objects only on specific layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return Collider2D
function CS.UnityEngine.Physics2D:OverlapCapsule(point, size, direction, angle, layerMask, minDepth, maxDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: point - The center of the capsule.
--        size - The size of the capsule.
--        direction - The direction of the capsule.
--        angle - The angle of the capsule.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth.  Note that normal angle is not used for overlap testing.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Physics2D:OverlapCapsule(point, size, direction, angle, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Physics2D:OverlapCapsule(point, size, direction, angle, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
function CS.UnityEngine.Physics2D:OverlapCapsuleAll(point, size, direction, angle) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param layerMask int
function CS.UnityEngine.Physics2D:OverlapCapsuleAll(point, size, direction, angle, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param layerMask int
---@param minDepth float
function CS.UnityEngine.Physics2D:OverlapCapsuleAll(point, size, direction, angle, layerMask, minDepth) end

--
--The cast results returned.
--
--```plaintext
--Params: point - The center of the capsule.
--        size - The size of the capsule.
--        direction - The direction of the capsule.
--        angle - The angle of the capsule.
--        layerMask - Filter to check objects only on specific layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
function CS.UnityEngine.Physics2D:OverlapCapsuleAll(point, size, direction, angle, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Physics2D:OverlapCapsuleNonAlloc(point, size, direction, angle, results) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics2D:OverlapCapsuleNonAlloc(point, size, direction, angle, results, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@param minDepth float
---@return Int32
function CS.UnityEngine.Physics2D:OverlapCapsuleNonAlloc(point, size, direction, angle, results, layerMask, minDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: point - The center of the capsule.
--        size - The size of the capsule.
--        direction - The direction of the capsule.
--        angle - The angle of the capsule.
--        results - Array to receive results.
--        layerMask - Filter to check objects only on specific layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than this value.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return Int32
function CS.UnityEngine.Physics2D:OverlapCapsuleNonAlloc(point, size, direction, angle, results, layerMask, minDepth, maxDepth) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: Collider - The Collider that defines the area used to query for other Collider overlaps.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth.  Note that normal angle is not used for overlap testing.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Physics2D:OverlapCollider(collider, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Physics2D:OverlapCollider(collider, contactFilter, results) end

--
--Returns the number of contacts placed in the contacts array.
--
--```plaintext
--Params: collider1 - The Collider to check if it has contacts against collider2.
--        collider2 - The Collider to check if it has contacts against collider1.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        contacts - An array of ContactPoint2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider1 UnityEngine.Collider2D
---@param collider2 UnityEngine.Collider2D
---@param contactFilter UnityEngine.ContactFilter2D
---@param contacts UnityEngine.ContactPoint2D[]
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(collider1, collider2, contactFilter, contacts) end

--
--Returns the number of contacts placed in the contacts array.
--
--```plaintext
--Params: Collider - The Collider to retrieve contacts for.
--        contacts - An array of ContactPoint2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param contacts UnityEngine.ContactPoint2D[]
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(collider, contacts) end

--
--Returns the number of contacts placed in the contacts array.
--
--```plaintext
--Params: Collider - The Collider to retrieve contacts for.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        contacts - An array of ContactPoint2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param contactFilter UnityEngine.ContactFilter2D
---@param contacts UnityEngine.ContactPoint2D[]
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(collider, contactFilter, contacts) end

--
--Returns the number of Colliders placed in the Colliders array.
--
--```plaintext
--Params: Collider - The Collider to retrieve contacts for.
--        Colliders - An array of Collider2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param colliders UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(collider, colliders) end

--
--Returns the number of Colliders placed in the Colliders array.
--
--```plaintext
--Params: Collider - The Collider to retrieve contacts for.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        Colliders - An array of Collider2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param contactFilter UnityEngine.ContactFilter2D
---@param colliders UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(collider, contactFilter, colliders) end

--
--Returns the number of contacts placed in the contacts array.
--
--```plaintext
--Params: rigidbody - The rigidbody to retrieve contacts for.  All Colliders attached to this rigidbody will be checked.
--        contacts - An array of ContactPoint2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param rigidbody UnityEngine.Rigidbody2D
---@param contacts UnityEngine.ContactPoint2D[]
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(rigidbody, contacts) end

--
--Returns the number of contacts placed in the contacts array.
--
--```plaintext
--Params: rigidbody - The rigidbody to retrieve contacts for.  All Colliders attached to this rigidbody will be checked.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        contacts - An array of ContactPoint2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param rigidbody UnityEngine.Rigidbody2D
---@param contactFilter UnityEngine.ContactFilter2D
---@param contacts UnityEngine.ContactPoint2D[]
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(rigidbody, contactFilter, contacts) end

--
--Returns the number of Colliders placed in the Colliders array.
--
--```plaintext
--Params: rigidbody - The rigidbody to retrieve contacts for.  All Colliders attached to this rigidbody will be checked.
--        Colliders - An array of Collider2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param rigidbody UnityEngine.Rigidbody2D
---@param colliders UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(rigidbody, colliders) end

--
--Returns the number of Colliders placed in the Colliders array.
--
--```plaintext
--Params: rigidbody - The rigidbody to retrieve contacts for.  All Colliders attached to this rigidbody will be checked.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        Colliders - An array of Collider2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param rigidbody UnityEngine.Rigidbody2D
---@param contactFilter UnityEngine.ContactFilter2D
---@param colliders UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(rigidbody, contactFilter, colliders) end

---@source UnityEngine.Physics2DModule.dll
---@param collider1 UnityEngine.Collider2D
---@param collider2 UnityEngine.Collider2D
---@param contactFilter UnityEngine.ContactFilter2D
---@param contacts System.Collections.Generic.List<UnityEngine.ContactPoint2D>
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(collider1, collider2, contactFilter, contacts) end

---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param contacts System.Collections.Generic.List<UnityEngine.ContactPoint2D>
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(collider, contacts) end

---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param contactFilter UnityEngine.ContactFilter2D
---@param contacts System.Collections.Generic.List<UnityEngine.ContactPoint2D>
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(collider, contactFilter, contacts) end

---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param colliders System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(collider, colliders) end

---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param contactFilter UnityEngine.ContactFilter2D
---@param colliders System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(collider, contactFilter, colliders) end

---@source UnityEngine.Physics2DModule.dll
---@param rigidbody UnityEngine.Rigidbody2D
---@param contacts System.Collections.Generic.List<UnityEngine.ContactPoint2D>
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(rigidbody, contacts) end

---@source UnityEngine.Physics2DModule.dll
---@param rigidbody UnityEngine.Rigidbody2D
---@param contactFilter UnityEngine.ContactFilter2D
---@param contacts System.Collections.Generic.List<UnityEngine.ContactPoint2D>
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(rigidbody, contactFilter, contacts) end

---@source UnityEngine.Physics2DModule.dll
---@param rigidbody UnityEngine.Rigidbody2D
---@param colliders System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(rigidbody, colliders) end

---@source UnityEngine.Physics2DModule.dll
---@param rigidbody UnityEngine.Rigidbody2D
---@param contactFilter UnityEngine.ContactFilter2D
---@param colliders System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Physics2D:GetContacts(rigidbody, contactFilter, colliders) end


--
--Control how particles are removed from the Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemRingBufferMode: System.Enum
--
--Particles are removed when their age exceeds their lifetime.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Disabled UnityEngine.ParticleSystemRingBufferMode
--
--Particle ages pause at the end of their lifetime until they need to be removed. Particles are removed when creating new particles would exceed the Max Particles property.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field PauseUntilReplaced UnityEngine.ParticleSystemRingBufferMode
--
--Particle ages loop until they need to be removed. Particles are removed when creating new particles would exceed the Max Particles property.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field LoopUntilReplaced UnityEngine.ParticleSystemRingBufferMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemRingBufferMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemRingBufferMode
function CS.UnityEngine.ParticleSystemRingBufferMode:__CastFrom(value) end


--
--A selection of modes that control when Unity executes the 2D physics simulation.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.SimulationMode2D: System.Enum
--
--Use this enumeration to specify to Unity that it should execute the physics simulation immediately after the MonoBehaviour.FixedUpdate.
--
---@source UnityEngine.Physics2DModule.dll
---@field FixedUpdate UnityEngine.SimulationMode2D
--
--Use this enumeration to specify to Unity that it should execute the physics simulation immediately after MonoBehaviour.Update.
--
---@source UnityEngine.Physics2DModule.dll
---@field Update UnityEngine.SimulationMode2D
--
--Use this enumeration to specify to Unity that it should execute the physics simulation manually when you call Physics2D.Simulate.
--
---@source UnityEngine.Physics2DModule.dll
---@field Script UnityEngine.SimulationMode2D
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.SimulationMode2D = {}

---@source 
---@param value any
---@return UnityEngine.SimulationMode2D
function CS.UnityEngine.SimulationMode2D:__CastFrom(value) end


--
--The particle GameObject filtering mode that specifies which objects are used by specific Particle System modules.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemGameObjectFilter: System.Enum
--
--Include objects based on a layer mask, where all objects that match the mask are included.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field LayerMask UnityEngine.ParticleSystemGameObjectFilter
--
--Include objects based on an explicitly provided list.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field List UnityEngine.ParticleSystemGameObjectFilter
--
--Include objects based on both a layer mask and an explicitly provided list.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field LayerMaskAndList UnityEngine.ParticleSystemGameObjectFilter
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemGameObjectFilter = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemGameObjectFilter
function CS.UnityEngine.ParticleSystemGameObjectFilter:__CastFrom(value) end


--
--The direction that the capsule sides can extend.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.CapsuleDirection2D: System.Enum
--
--The capsule sides extend vertically.
--
---@source UnityEngine.Physics2DModule.dll
---@field Vertical UnityEngine.CapsuleDirection2D
--
--The capsule sides extend horizontally.
--
---@source UnityEngine.Physics2DModule.dll
---@field Horizontal UnityEngine.CapsuleDirection2D
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.CapsuleDirection2D = {}

---@source 
---@param value any
---@return UnityEngine.CapsuleDirection2D
function CS.UnityEngine.CapsuleDirection2D:__CastFrom(value) end


--
--The type of shape used for influencing particles in the Force Field Component.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemForceFieldShape: System.Enum
--
--Influence particles inside a sphere shape.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Sphere UnityEngine.ParticleSystemForceFieldShape
--
--Influence particles inside a hemisphere shape.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Hemisphere UnityEngine.ParticleSystemForceFieldShape
--
--Influence particles inside a cylinder shape.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Cylinder UnityEngine.ParticleSystemForceFieldShape
--
--Influence particles inside a box shape.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Box UnityEngine.ParticleSystemForceFieldShape
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemForceFieldShape = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemForceFieldShape
function CS.UnityEngine.ParticleSystemForceFieldShape:__CastFrom(value) end


--
--All possible Particle System vertex shader inputs.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemVertexStreams: System.Enum
--
--The world space position of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Position UnityEngine.ParticleSystemVertexStreams
--
--The normal of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Normal UnityEngine.ParticleSystemVertexStreams
--
--Tangent vectors for normal mapping.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Tangent UnityEngine.ParticleSystemVertexStreams
--
--The color of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Color UnityEngine.ParticleSystemVertexStreams
--
--The texture coordinates of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field UV UnityEngine.ParticleSystemVertexStreams
--
--With the TextureSheetAnimationModule enabled, this contains the UVs for the second texture frame, the blend factor for each particle, and the raw frame, allowing for blending of frames.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field UV2BlendAndFrame UnityEngine.ParticleSystemVertexStreams
--
--The center position of each particle, with the vertex ID of each particle, from 0-3, stored in the w component.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field CenterAndVertexID UnityEngine.ParticleSystemVertexStreams
--
--The size of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Size UnityEngine.ParticleSystemVertexStreams
--
--The rotation of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Rotation UnityEngine.ParticleSystemVertexStreams
--
--The 3D velocity of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Velocity UnityEngine.ParticleSystemVertexStreams
--
--Alive time as a 0-1 value in the X component, and Total Lifetime in the Y component.
--To get the current particle age, simply multiply X by Y.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Lifetime UnityEngine.ParticleSystemVertexStreams
--
--The first stream of custom data, supplied from script.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Custom1 UnityEngine.ParticleSystemVertexStreams
--
--The second stream of custom data, supplied from script.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Custom2 UnityEngine.ParticleSystemVertexStreams
--
--4 random numbers. The first 3 are deterministic and assigned once when each particle is born, but the 4th value will change during the lifetime of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Random UnityEngine.ParticleSystemVertexStreams
--
--A mask with no vertex streams enabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field None UnityEngine.ParticleSystemVertexStreams
--
--A mask with all vertex streams enabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field All UnityEngine.ParticleSystemVertexStreams
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemVertexStreams = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemVertexStreams
function CS.UnityEngine.ParticleSystemVertexStreams:__CastFrom(value) end


--
--Use this class to render particles on to the screen.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemRenderer: UnityEngine.Renderer
--
--Control the direction that particles face.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field alignment UnityEngine.ParticleSystemRenderSpace
--
--Specifies how the system draws particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field renderMode UnityEngine.ParticleSystemRenderMode
--
--Specifies how to sort particles within a system.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field sortMode UnityEngine.ParticleSystemSortMode
--
--How much are the particles stretched in their direction of motion, defined as the length of the particle compared to its width.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field lengthScale float
--
--Specifies how much particles stretch depending on their velocity.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field velocityScale float
--
--How much do the particles stretch depending on the Camera's speed.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field cameraVelocityScale float
--
--Specifies how much a billboard particle orients its normals towards the Camera.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field normalDirection float
--
--Apply a shadow bias to prevent self-shadowing artifacts. The specified value is the proportion of the particle size.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field shadowBias float
--
--Biases Particle System sorting amongst other transparencies.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field sortingFudge float
--
--Clamp the minimum particle size.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field minParticleSize float
--
--Clamp the maximum particle size.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field maxParticleSize float
--
--Modify the pivot point used for rotating particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field pivot UnityEngine.Vector3
--
--Flip a percentage of the particles, along each axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field flip UnityEngine.Vector3
--
--Specifies how the Particle System Renderer interacts with SpriteMask.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field maskInteraction UnityEngine.SpriteMaskInteraction
--
--Set the Material that the TrailModule uses to attach trails to particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field trailMaterial UnityEngine.Material
--
--Enables GPU Instancing on platforms that support it.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enableGPUInstancing bool
--
--Allow billboard particles to roll around their z-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field allowRoll bool
--
--Enables freeform stretching behavior.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field freeformStretching bool
--
--Rotate the particles based on the direction they are stretched in. This is added on top of other particle rotation.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rotateWithStretchDirection bool
--
--The Mesh that the particle uses instead of a billboarded Texture.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field mesh UnityEngine.Mesh
--
--The number of Meshes the system uses for particle rendering.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field meshCount int
--
--The number of currently active custom vertex streams.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field activeVertexStreamsCount int
--
--Determines whether the Particle System can be rendered using GPU Instancing.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field supportsMeshInstancing bool
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemRenderer = {}

--
--Enable a set of vertex Shader streams on the Particle System renderer.
--
--```plaintext
--Params: streams - Streams to enable.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param streams UnityEngine.ParticleSystemVertexStreams
function CS.UnityEngine.ParticleSystemRenderer.EnableVertexStreams(streams) end

--
--Disable a set of vertex Shader streams on the Particle System Renderer.
--The position stream is always enabled, and any attempts to remove it are ignored.
--
--```plaintext
--Params: streams - Streams to disable.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param streams UnityEngine.ParticleSystemVertexStreams
function CS.UnityEngine.ParticleSystemRenderer.DisableVertexStreams(streams) end

--
--true if the queried streams are enabled. Returns false otherwise.
--
--```plaintext
--Params: streams - Streams to query.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param streams UnityEngine.ParticleSystemVertexStreams
---@return Boolean
function CS.UnityEngine.ParticleSystemRenderer.AreVertexStreamsEnabled(streams) end

--
--The subset of the queried streams that are actually enabled.
--
--```plaintext
--Params: streams - Streams to query.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param streams UnityEngine.ParticleSystemVertexStreams
---@return ParticleSystemVertexStreams
function CS.UnityEngine.ParticleSystemRenderer.GetEnabledVertexStreams(streams) end

--
--The number of Meshes actually written to the destination array.
--
--```plaintext
--Params: meshes - This array is populated with the list of Meshes being used for particle rendering.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param meshes UnityEngine.Mesh[]
---@return Int32
function CS.UnityEngine.ParticleSystemRenderer.GetMeshes(meshes) end

--
--Set an array of Meshes to use as particles when the ParticleSystemRenderer.renderMode is set to ParticleSystemRenderMode.Mesh.
--
--```plaintext
--Params: meshes - Array of Meshes to use.
--        size - Number of elements from the Mesh array to apply.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param meshes UnityEngine.Mesh[]
---@param size int
function CS.UnityEngine.ParticleSystemRenderer.SetMeshes(meshes, size) end

--
--Set an array of Meshes to use as particles when the ParticleSystemRenderer.renderMode is set to ParticleSystemRenderMode.Mesh.
--
--```plaintext
--Params: meshes - Array of Meshes to use.
--        size - Number of elements from the Mesh array to apply.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param meshes UnityEngine.Mesh[]
function CS.UnityEngine.ParticleSystemRenderer.SetMeshes(meshes) end

--
--Creates a snapshot of ParticleSystemRenderer and stores it in mesh.
--
--```plaintext
--Params: mesh - A static Mesh to receive the snapshot of the particles.
--        camera - The Camera used to determine which way camera-space particles face.
--        useTransform - Specifies whether to include the rotation and scale of the Transform in the baked Mesh.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param mesh UnityEngine.Mesh
---@param useTransform bool
function CS.UnityEngine.ParticleSystemRenderer.BakeMesh(mesh, useTransform) end

--
--Creates a snapshot of ParticleSystemRenderer and stores it in mesh.
--
--```plaintext
--Params: mesh - A static Mesh to receive the snapshot of the particles.
--        camera - The Camera used to determine which way camera-space particles face.
--        useTransform - Specifies whether to include the rotation and scale of the Transform in the baked Mesh.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param mesh UnityEngine.Mesh
---@param camera UnityEngine.Camera
---@param useTransform bool
function CS.UnityEngine.ParticleSystemRenderer.BakeMesh(mesh, camera, useTransform) end

--
--Creates a snapshot of ParticleSystem Trails and stores them in mesh.
--
--```plaintext
--Params: mesh - A static Mesh to receive the snapshot of the particle trails.
--        camera - The Camera used to determine which way camera-space trails face.
--        useTransform - Specifies whether to include the rotation and scale of the Transform in the baked Mesh.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param mesh UnityEngine.Mesh
---@param useTransform bool
function CS.UnityEngine.ParticleSystemRenderer.BakeTrailsMesh(mesh, useTransform) end

--
--Creates a snapshot of ParticleSystem Trails and stores them in mesh.
--
--```plaintext
--Params: mesh - A static Mesh to receive the snapshot of the particle trails.
--        camera - The Camera used to determine which way camera-space trails face.
--        useTransform - Specifies whether to include the rotation and scale of the Transform in the baked Mesh.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param mesh UnityEngine.Mesh
---@param camera UnityEngine.Camera
---@param useTransform bool
function CS.UnityEngine.ParticleSystemRenderer.BakeTrailsMesh(mesh, camera, useTransform) end

---@source UnityEngine.ParticleSystemModule.dll
---@param streams System.Collections.Generic.List<UnityEngine.ParticleSystemVertexStream>
function CS.UnityEngine.ParticleSystemRenderer.SetActiveVertexStreams(streams) end

---@source UnityEngine.ParticleSystemModule.dll
---@param streams System.Collections.Generic.List<UnityEngine.ParticleSystemVertexStream>
function CS.UnityEngine.ParticleSystemRenderer.GetActiveVertexStreams(streams) end


--
--Script interface for Particle System Force Fields.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemForceField: UnityEngine.Behaviour
--
--Selects the type of shape used for influencing particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field shape UnityEngine.ParticleSystemForceFieldShape
--
--Setting a value greater than 0 creates a hollow Force Field shape. This will cause particles to not be affected by the Force Field when closer to the center of the volume than the startRange property.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startRange float
--
--Determines the size of the shape used for influencing particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field endRange float
--
--Describes the length of the Cylinder when using the Cylinder Force Field shape to influence particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field length float
--
--When using the gravity force, set this value between 0 and 1 to control the focal point of the gravity effect.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field gravityFocus float
--
--Apply randomness to the Force Field axis that particles will travel around.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rotationRandomness UnityEngine.Vector2
--
--When using Drag, the drag strength will be multiplied by the size of the particles if this toggle is enabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field multiplyDragByParticleSize bool
--
--When using Drag, the drag strength will be multiplied by the speed of the particles if this toggle is enabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field multiplyDragByParticleVelocity bool
--
--Apply forces to particles within the volume of the Force Field, by using a 3D texture containing vector field data.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field vectorField UnityEngine.Texture3D
--
--Apply a linear force along the local X axis to particles within the volume of the Force Field.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field directionX UnityEngine.ParticleSystem.MinMaxCurve
--
--Apply a linear force along the local Y axis to particles within the volume of the Force Field.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field directionY UnityEngine.ParticleSystem.MinMaxCurve
--
--Apply a linear force along the local Z axis to particles within the volume of the Force Field.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field directionZ UnityEngine.ParticleSystem.MinMaxCurve
--
--Apply gravity to particles within the volume of the Force Field.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field gravity UnityEngine.ParticleSystem.MinMaxCurve
--
--The speed at which particles are propelled around a vortex.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rotationSpeed UnityEngine.ParticleSystem.MinMaxCurve
--
--Controls how strongly particles are dragged into the vortex motion.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rotationAttraction UnityEngine.ParticleSystem.MinMaxCurve
--
--Apply drag to particles within the volume of the Force Field.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field drag UnityEngine.ParticleSystem.MinMaxCurve
--
--The speed at which particles are propelled through the vector field.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field vectorFieldSpeed UnityEngine.ParticleSystem.MinMaxCurve
--
--Controls how strongly particles are dragged into the vector field motion.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field vectorFieldAttraction UnityEngine.ParticleSystem.MinMaxCurve
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemForceField = {}

---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.ParticleSystemForceField:FindAll() end


---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.DblClickSnapping: System.Enum
---@source UnityEngine.IMGUIModule.dll
---@field WORDS UnityEngine.TextEditor.DblClickSnapping
---@source UnityEngine.IMGUIModule.dll
---@field PARAGRAPHS UnityEngine.TextEditor.DblClickSnapping
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.DblClickSnapping = {}

---@source 
---@param value any
---@return UnityEngine.TextEditor.DblClickSnapping
function CS.UnityEngine.DblClickSnapping:__CastFrom(value) end


--
--Use these flags to constrain motion of the Rigidbody2D.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.RigidbodyConstraints2D: System.Enum
--
--No constraints.
--
---@source UnityEngine.Physics2DModule.dll
---@field None UnityEngine.RigidbodyConstraints2D
--
--Freeze motion along the X-axis.
--
---@source UnityEngine.Physics2DModule.dll
---@field FreezePositionX UnityEngine.RigidbodyConstraints2D
--
--Freeze motion along the Y-axis.
--
---@source UnityEngine.Physics2DModule.dll
---@field FreezePositionY UnityEngine.RigidbodyConstraints2D
--
--Freeze rotation along the Z-axis.
--
---@source UnityEngine.Physics2DModule.dll
---@field FreezeRotation UnityEngine.RigidbodyConstraints2D
--
--Freeze motion along the X-axis and Y-axis.
--
---@source UnityEngine.Physics2DModule.dll
---@field FreezePosition UnityEngine.RigidbodyConstraints2D
--
--Freeze rotation and motion along all axes.
--
---@source UnityEngine.Physics2DModule.dll
---@field FreezeAll UnityEngine.RigidbodyConstraints2D
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.RigidbodyConstraints2D = {}

---@source 
---@param value any
---@return UnityEngine.RigidbodyConstraints2D
function CS.UnityEngine.RigidbodyConstraints2D:__CastFrom(value) end


--
--Represents a single instance of a 2D physics Scene.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.PhysicsScene2D: System.ValueType
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.PhysicsScene2D = {}

---@source UnityEngine.Physics2DModule.dll
---@return String
function CS.UnityEngine.PhysicsScene2D.ToString() end

---@source UnityEngine.Physics2DModule.dll
---@param lhs UnityEngine.PhysicsScene2D
---@param rhs UnityEngine.PhysicsScene2D
---@return Boolean
function CS.UnityEngine.PhysicsScene2D:op_Equality(lhs, rhs) end

---@source UnityEngine.Physics2DModule.dll
---@param lhs UnityEngine.PhysicsScene2D
---@param rhs UnityEngine.PhysicsScene2D
---@return Boolean
function CS.UnityEngine.PhysicsScene2D:op_Inequality(lhs, rhs) end

---@source UnityEngine.Physics2DModule.dll
---@return Int32
function CS.UnityEngine.PhysicsScene2D.GetHashCode() end

---@source UnityEngine.Physics2DModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.PhysicsScene2D.Equals(other) end

---@source UnityEngine.Physics2DModule.dll
---@param other UnityEngine.PhysicsScene2D
---@return Boolean
function CS.UnityEngine.PhysicsScene2D.Equals(other) end

--
--True when the physics Scene valid.
--
---@source UnityEngine.Physics2DModule.dll
---@return Boolean
function CS.UnityEngine.PhysicsScene2D.IsValid() end

--
--True when the physics Scene is empty.
--
---@source UnityEngine.Physics2DModule.dll
---@return Boolean
function CS.UnityEngine.PhysicsScene2D.IsEmpty() end

--
--Whether the simulation was run or not.  Running the simulation during physics callbacks will always fail.
--
--```plaintext
--Params: step - The time to advance physics by.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param step float
---@return Boolean
function CS.UnityEngine.PhysicsScene2D.Simulate(step) end

--
--The cast results returned.
--
--```plaintext
--Params: start - The start point of the line in world space.
--        end - The end point of the line in world space.
--        layerMask - The filter used to detect Colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param layerMask int
---@return RaycastHit2D
function CS.UnityEngine.PhysicsScene2D.Linecast(start, end, layerMask) end

--
--The cast results returned.
--
--```plaintext
--Params: start - The start point of the line in world space.
--        end - The end point of the line in world space.
--        layerMask - The filter used to detect Colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@return RaycastHit2D
function CS.UnityEngine.PhysicsScene2D.Linecast(start, end, contactFilter) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: start - The start point of the line in world space.
--        end - The end point of the line in world space.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - The filter used to detect Colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.PhysicsScene2D.Linecast(start, end, results, layerMask) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: start - The start point of the line in world space.
--        end - The end point of the line in world space.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - The filter used to detect Colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.PhysicsScene2D.Linecast(start, end, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param start UnityEngine.Vector2
---@param end UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.RaycastHit2D>
---@return Int32
function CS.UnityEngine.PhysicsScene2D.Linecast(start, end, contactFilter, results) end

--
--The cast results returned.
--
--```plaintext
--Params: origin - The point in 2D space where the ray originates.
--        direction - The vector representing the direction of the ray.
--        distance - Maximum distance over which to cast the ray.
--        layerMask - The filter used to detect Colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@return RaycastHit2D
function CS.UnityEngine.PhysicsScene2D.Raycast(origin, direction, distance, layerMask) end

--
--The cast results returned.
--
--```plaintext
--Params: origin - The point in 2D space where the ray originates.
--        direction - The vector representing the direction of the ray.
--        distance - Maximum distance over which to cast the ray.
--        layerMask - The filter used to detect Colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param distance float
---@param contactFilter UnityEngine.ContactFilter2D
---@return RaycastHit2D
function CS.UnityEngine.PhysicsScene2D.Raycast(origin, direction, distance, contactFilter) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: origin - The point in 2D space where the ray originates.
--        direction - The vector representing the direction of the ray.
--        distance - Maximum distance over which to cast the ray.
--        layerMask - The filter used to detect Colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth, or normal angle.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param distance float
---@param results UnityEngine.RaycastHit2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.PhysicsScene2D.Raycast(origin, direction, distance, results, layerMask) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: origin - The point in 2D space where the ray originates.
--        direction - The vector representing the direction of the ray.
--        distance - Maximum distance over which to cast the ray.
--        layerMask - The filter used to detect Colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth, or normal angle.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param distance float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.PhysicsScene2D.Raycast(origin, direction, distance, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param direction UnityEngine.Vector2
---@param distance float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.RaycastHit2D>
---@return Int32
function CS.UnityEngine.PhysicsScene2D.Raycast(origin, direction, distance, contactFilter, results) end

--
--The cast results returned.
--
--```plaintext
--Params: origin - The point in 2D space where the circle originates.
--        radius - The radius of the circle.
--        direction - Vector representing the direction to cast the circle.
--        distance - Maximum distance over which to cast the circle.
--        layerMask - The filter used to detect Colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@return RaycastHit2D
function CS.UnityEngine.PhysicsScene2D.CircleCast(origin, radius, direction, distance, layerMask) end

--
--The cast results returned.
--
--```plaintext
--Params: origin - The point in 2D space where the circle originates.
--        radius - The radius of the circle.
--        direction - Vector representing the direction to cast the circle.
--        distance - Maximum distance over which to cast the circle.
--        layerMask - The filter used to detect Colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param distance float
---@param contactFilter UnityEngine.ContactFilter2D
---@return RaycastHit2D
function CS.UnityEngine.PhysicsScene2D.CircleCast(origin, radius, direction, distance, contactFilter) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: origin - The point in 2D space where the circle originates.
--        radius - The radius of the circle.
--        direction - Vector representing the direction to cast the circle.
--        distance - Maximum distance over which to cast the circle.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - The filter used to detect Colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param distance float
---@param results UnityEngine.RaycastHit2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.PhysicsScene2D.CircleCast(origin, radius, direction, distance, results, layerMask) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: origin - The point in 2D space where the circle originates.
--        radius - The radius of the circle.
--        direction - Vector representing the direction to cast the circle.
--        distance - Maximum distance over which to cast the circle.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - The filter used to detect Colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param distance float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.PhysicsScene2D.CircleCast(origin, radius, direction, distance, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param radius float
---@param direction UnityEngine.Vector2
---@param distance float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.RaycastHit2D>
---@return Int32
function CS.UnityEngine.PhysicsScene2D.CircleCast(origin, radius, direction, distance, contactFilter, results) end

--
--The cast results returned.
--
--```plaintext
--Params: origin - The point in 2D space where the box originates.
--        size - The size of the box.
--        angle - The angle of the box (in degrees).
--        direction - Vector representing the direction to cast the box.
--        distance - Maximum distance over which to cast the box.
--        layerMask - Filter to detect colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@return RaycastHit2D
function CS.UnityEngine.PhysicsScene2D.BoxCast(origin, size, angle, direction, distance, layerMask) end

--
--The cast results returned.
--
--```plaintext
--Params: origin - The point in 2D space where the box originates.
--        size - The size of the box.
--        angle - The angle of the box (in degrees).
--        direction - Vector representing the direction to cast the box.
--        distance - Maximum distance over which to cast the box.
--        layerMask - Filter to detect colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param contactFilter UnityEngine.ContactFilter2D
---@return RaycastHit2D
function CS.UnityEngine.PhysicsScene2D.BoxCast(origin, size, angle, direction, distance, contactFilter) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: origin - The point in 2D space where the box originates.
--        size - The size of the box.
--        angle - The angle of the box (in degrees).
--        direction - Vector representing the direction to cast the box.
--        distance - Maximum distance over which to cast the box.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - Filter to detect colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param results UnityEngine.RaycastHit2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.PhysicsScene2D.BoxCast(origin, size, angle, direction, distance, results, layerMask) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: origin - The point in 2D space where the box originates.
--        size - The size of the box.
--        angle - The angle of the box (in degrees).
--        direction - Vector representing the direction to cast the box.
--        distance - Maximum distance over which to cast the box.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - Filter to detect colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.PhysicsScene2D.BoxCast(origin, size, angle, direction, distance, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.RaycastHit2D>
---@return Int32
function CS.UnityEngine.PhysicsScene2D.BoxCast(origin, size, angle, direction, distance, contactFilter, results) end

--
--The cast results returned.
--
--```plaintext
--Params: origin - The point in 2D space where the capsule originates.
--        size - The size of the capsule.
--        capsuleDirection - The direction of the capsule.
--        angle - The angle of the capsule (in degrees).
--        direction - Vector representing the direction to cast the capsule.
--        distance - Maximum distance over which to cast the capsule.
--        layerMask - The filter used to detect Colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param layerMask int
---@return RaycastHit2D
function CS.UnityEngine.PhysicsScene2D.CapsuleCast(origin, size, capsuleDirection, angle, direction, distance, layerMask) end

--
--The cast results returned.
--
--```plaintext
--Params: origin - The point in 2D space where the capsule originates.
--        size - The size of the capsule.
--        capsuleDirection - The direction of the capsule.
--        angle - The angle of the capsule (in degrees).
--        direction - Vector representing the direction to cast the capsule.
--        distance - Maximum distance over which to cast the capsule.
--        layerMask - The filter used to detect Colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param contactFilter UnityEngine.ContactFilter2D
---@return RaycastHit2D
function CS.UnityEngine.PhysicsScene2D.CapsuleCast(origin, size, capsuleDirection, angle, direction, distance, contactFilter) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: origin - The point in 2D space where the capsule originates.
--        size - The size of the capsule.
--        capsuleDirection - The direction of the capsule.
--        angle - The angle of the capsule (in degrees).
--        direction - Vector representing the direction to cast the capsule.
--        distance - Maximum distance over which to cast the capsule.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - The filter used to detect Colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param results UnityEngine.RaycastHit2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.PhysicsScene2D.CapsuleCast(origin, size, capsuleDirection, angle, direction, distance, results, layerMask) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: origin - The point in 2D space where the capsule originates.
--        size - The size of the capsule.
--        capsuleDirection - The direction of the capsule.
--        angle - The angle of the capsule (in degrees).
--        direction - Vector representing the direction to cast the capsule.
--        distance - Maximum distance over which to cast the capsule.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - The filter used to detect Colliders only on certain layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.PhysicsScene2D.CapsuleCast(origin, size, capsuleDirection, angle, direction, distance, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param origin UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param capsuleDirection UnityEngine.CapsuleDirection2D
---@param angle float
---@param direction UnityEngine.Vector2
---@param distance float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.RaycastHit2D>
---@return Int32
function CS.UnityEngine.PhysicsScene2D.CapsuleCast(origin, size, capsuleDirection, angle, direction, distance, contactFilter, results) end

--
--The cast results returned.
--
--```plaintext
--Params: ray - The 3D ray defining origin and direction to test.
--        distance - Maximum distance over which to cast the ray.
--        layerMask - Filter to detect colliders only on certain layers.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param ray UnityEngine.Ray
---@param distance float
---@param layerMask int
---@return RaycastHit2D
function CS.UnityEngine.PhysicsScene2D.GetRayIntersection(ray, distance, layerMask) end

--
--The number of results returned.
--
--```plaintext
--Params: ray - The 3D ray defining origin and direction to test.
--        distance - Maximum distance over which to cast the ray.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - Filter to detect colliders only on certain layers.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param ray UnityEngine.Ray
---@param distance float
---@param results UnityEngine.RaycastHit2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.PhysicsScene2D.GetRayIntersection(ray, distance, results, layerMask) end

--
--The collider overlapping the point.
--
--```plaintext
--Params: point - A point in world space.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param layerMask int
---@return Collider2D
function CS.UnityEngine.PhysicsScene2D.OverlapPoint(point, layerMask) end

--
--The collider overlapping the point.
--
--```plaintext
--Params: point - A point in world space.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@return Collider2D
function CS.UnityEngine.PhysicsScene2D.OverlapPoint(point, contactFilter) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: point - A point in world space.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.PhysicsScene2D.OverlapPoint(point, results, layerMask) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: point - A point in world space.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.PhysicsScene2D.OverlapPoint(point, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.PhysicsScene2D.OverlapPoint(point, contactFilter, results) end

--
--The collider overlapping the circle.
--
--```plaintext
--Params: point - The centre of the circle.
--        radius - The radius of the circle.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param layerMask int
---@return Collider2D
function CS.UnityEngine.PhysicsScene2D.OverlapCircle(point, radius, layerMask) end

--
--The collider overlapping the circle.
--
--```plaintext
--Params: point - The centre of the circle.
--        radius - The radius of the circle.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param contactFilter UnityEngine.ContactFilter2D
---@return Collider2D
function CS.UnityEngine.PhysicsScene2D.OverlapCircle(point, radius, contactFilter) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: point - The centre of the circle.
--        radius - The radius of the circle.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.PhysicsScene2D.OverlapCircle(point, radius, results, layerMask) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: point - The centre of the circle.
--        radius - The radius of the circle.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.PhysicsScene2D.OverlapCircle(point, radius, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param radius float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.PhysicsScene2D.OverlapCircle(point, radius, contactFilter, results) end

--
--The collider overlapping the box.
--
--```plaintext
--Params: point - The center of the box.
--        size - The size of the box.
--        angle - The angle of the box.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param layerMask int
---@return Collider2D
function CS.UnityEngine.PhysicsScene2D.OverlapBox(point, size, angle, layerMask) end

--
--The collider overlapping the box.
--
--```plaintext
--Params: point - The center of the box.
--        size - The size of the box.
--        angle - The angle of the box.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param contactFilter UnityEngine.ContactFilter2D
---@return Collider2D
function CS.UnityEngine.PhysicsScene2D.OverlapBox(point, size, angle, contactFilter) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: point - The center of the box.
--        size - The size of the box.
--        angle - The angle of the box.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.PhysicsScene2D.OverlapBox(point, size, angle, results, layerMask) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: point - The center of the box.
--        size - The size of the box.
--        angle - The angle of the box.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.PhysicsScene2D.OverlapBox(point, size, angle, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param angle float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.PhysicsScene2D.OverlapBox(point, size, angle, contactFilter, results) end

--
--The collider overlapping the area.
--
--```plaintext
--Params: pointA - One corner of the rectangle.
--        pointB - The corner of the rectangle diagonally opposite the pointA corner.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param layerMask int
---@return Collider2D
function CS.UnityEngine.PhysicsScene2D.OverlapArea(pointA, pointB, layerMask) end

--
--The collider overlapping the area.
--
--```plaintext
--Params: pointA - One corner of the rectangle.
--        pointB - The corner of the rectangle diagonally opposite the pointA corner.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@return Collider2D
function CS.UnityEngine.PhysicsScene2D.OverlapArea(pointA, pointB, contactFilter) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: pointA - One corner of the rectangle.
--        pointB - The corner of the rectangle diagonally opposite the pointA corner.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.PhysicsScene2D.OverlapArea(pointA, pointB, results, layerMask) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: pointA - One corner of the rectangle.
--        pointB - The corner of the rectangle diagonally opposite the pointA corner.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.PhysicsScene2D.OverlapArea(pointA, pointB, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param pointA UnityEngine.Vector2
---@param pointB UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.PhysicsScene2D.OverlapArea(pointA, pointB, contactFilter, results) end

--
--The collider overlapping the capsule.
--
--```plaintext
--Params: point - The center of the capsule.
--        size - The size of the capsule.
--        direction - The direction of the capsule.
--        angle - The angle of the capsule.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param layerMask int
---@return Collider2D
function CS.UnityEngine.PhysicsScene2D.OverlapCapsule(point, size, direction, angle, layerMask) end

--
--The collider overlapping the capsule.
--
--```plaintext
--Params: point - The center of the capsule.
--        size - The size of the capsule.
--        direction - The direction of the capsule.
--        angle - The angle of the capsule.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param contactFilter UnityEngine.ContactFilter2D
---@return Collider2D
function CS.UnityEngine.PhysicsScene2D.OverlapCapsule(point, size, direction, angle, contactFilter) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: point - The center of the capsule.
--        size - The size of the capsule.
--        direction - The direction of the capsule.
--        angle - The angle of the capsule.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.PhysicsScene2D.OverlapCapsule(point, size, direction, angle, results, layerMask) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: point - The center of the capsule.
--        size - The size of the capsule.
--        direction - The direction of the capsule.
--        angle - The angle of the capsule.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.PhysicsScene2D.OverlapCapsule(point, size, direction, angle, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@param size UnityEngine.Vector2
---@param direction UnityEngine.CapsuleDirection2D
---@param angle float
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.PhysicsScene2D.OverlapCapsule(point, size, direction, angle, contactFilter, results) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: collider - The Collider that defines the area used to query for other Collider overlaps.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param results UnityEngine.Collider2D[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.PhysicsScene2D:OverlapCollider(collider, results, layerMask) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: collider - The Collider that defines the area used to query for other Collider overlaps.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        layerMask - Filter to check objects only on specific layers.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask and Z depth. Note that the normal angle is not used for overlap testing.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.PhysicsScene2D:OverlapCollider(collider, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.PhysicsScene2D:OverlapCollider(collider, contactFilter, results) end


--
--Interpolation mode for Rigidbody2D objects.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.RigidbodyInterpolation2D: System.Enum
--
--Do not apply any smoothing to the object's movement.
--
---@source UnityEngine.Physics2DModule.dll
---@field None UnityEngine.RigidbodyInterpolation2D
--
--Smooth movement based on the object's positions in previous frames.
--
---@source UnityEngine.Physics2DModule.dll
---@field Interpolate UnityEngine.RigidbodyInterpolation2D
--
--Smooth an object's movement based on an estimate of its position in the next frame.
--
---@source UnityEngine.Physics2DModule.dll
---@field Extrapolate UnityEngine.RigidbodyInterpolation2D
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.RigidbodyInterpolation2D = {}

---@source 
---@param value any
---@return UnityEngine.RigidbodyInterpolation2D
function CS.UnityEngine.RigidbodyInterpolation2D:__CastFrom(value) end


--
--AndroidInput provides support for off-screen touch input, such as a touchpad.
--
---@source UnityEngine.InputLegacyModule.dll
---@class UnityEngine.AndroidInput: object
--
--Number of secondary touches. Guaranteed not to change throughout the frame. (Read Only).
--
---@source UnityEngine.InputLegacyModule.dll
---@field touchCountSecondary int
--
--Property indicating whether the system provides secondary touch input.
--
---@source UnityEngine.InputLegacyModule.dll
---@field secondaryTouchEnabled bool
--
--Property indicating the width of the secondary touchpad.
--
---@source UnityEngine.InputLegacyModule.dll
---@field secondaryTouchWidth int
--
--Property indicating the height of the secondary touchpad.
--
---@source UnityEngine.InputLegacyModule.dll
---@field secondaryTouchHeight int
---@source UnityEngine.InputLegacyModule.dll
CS.UnityEngine.AndroidInput = {}

--
--Returns object representing status of a specific touch on a secondary touchpad (Does not allocate temporary variables).
--
---@source UnityEngine.InputLegacyModule.dll
---@param index int
---@return Touch
function CS.UnityEngine.AndroidInput:GetSecondaryTouch(index) end


--
--Settings for a Rigidbody2D's initial sleep state.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.RigidbodySleepMode2D: System.Enum
--
--Rigidbody2D never automatically sleeps.
--
---@source UnityEngine.Physics2DModule.dll
---@field NeverSleep UnityEngine.RigidbodySleepMode2D
--
--Rigidbody2D is initially awake.
--
---@source UnityEngine.Physics2DModule.dll
---@field StartAwake UnityEngine.RigidbodySleepMode2D
--
--Rigidbody2D is initially asleep.
--
---@source UnityEngine.Physics2DModule.dll
---@field StartAsleep UnityEngine.RigidbodySleepMode2D
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.RigidbodySleepMode2D = {}

---@source 
---@param value any
---@return UnityEngine.RigidbodySleepMode2D
function CS.UnityEngine.RigidbodySleepMode2D:__CastFrom(value) end


--
--Controls how collisions are detected when a Rigidbody2D moves.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.CollisionDetectionMode2D: System.Enum
--
--This mode is obsolete.  You should use Discrete mode.
--
---@source UnityEngine.Physics2DModule.dll
---@field None UnityEngine.CollisionDetectionMode2D
--
--When a Rigidbody2D moves, only collisions at the new position are detected.
--
---@source UnityEngine.Physics2DModule.dll
---@field Discrete UnityEngine.CollisionDetectionMode2D
--
--Ensures that all collisions are detected when a Rigidbody2D moves.
--
---@source UnityEngine.Physics2DModule.dll
---@field Continuous UnityEngine.CollisionDetectionMode2D
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.CollisionDetectionMode2D = {}

---@source 
---@param value any
---@return UnityEngine.CollisionDetectionMode2D
function CS.UnityEngine.CollisionDetectionMode2D:__CastFrom(value) end


--
--The physical behaviour type of the Rigidbody2D.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.RigidbodyType2D: System.Enum
--
--Sets the Rigidbody2D to have dynamic behaviour.
--
---@source UnityEngine.Physics2DModule.dll
---@field Dynamic UnityEngine.RigidbodyType2D
--
--Sets the Rigidbody2D to have kinematic behaviour.
--
---@source UnityEngine.Physics2DModule.dll
---@field Kinematic UnityEngine.RigidbodyType2D
--
--Sets the Rigidbody2D to have static behaviour.
--
---@source UnityEngine.Physics2DModule.dll
---@field Static UnityEngine.RigidbodyType2D
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.RigidbodyType2D = {}

---@source 
---@param value any
---@return UnityEngine.RigidbodyType2D
function CS.UnityEngine.RigidbodyType2D:__CastFrom(value) end


--
--Describes phase of a finger touch.
--
---@source UnityEngine.InputLegacyModule.dll
---@class UnityEngine.TouchPhase: System.Enum
--
--A finger touched the screen.
--
---@source UnityEngine.InputLegacyModule.dll
---@field Began UnityEngine.TouchPhase
--
--A finger moved on the screen.
--
---@source UnityEngine.InputLegacyModule.dll
---@field Moved UnityEngine.TouchPhase
--
--A finger is touching the screen but hasn't moved.
--
---@source UnityEngine.InputLegacyModule.dll
---@field Stationary UnityEngine.TouchPhase
--
--A finger was lifted from the screen. This is the final phase of a touch.
--
---@source UnityEngine.InputLegacyModule.dll
---@field Ended UnityEngine.TouchPhase
--
--The system cancelled tracking for the touch.
--
---@source UnityEngine.InputLegacyModule.dll
---@field Canceled UnityEngine.TouchPhase
---@source UnityEngine.InputLegacyModule.dll
CS.UnityEngine.TouchPhase = {}

---@source 
---@param value any
---@return UnityEngine.TouchPhase
function CS.UnityEngine.TouchPhase:__CastFrom(value) end


--
--Option for how to apply a force using Rigidbody2D.AddForce.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.ForceMode2D: System.Enum
--
--Add a force to the Rigidbody2D, using its mass.
--
---@source UnityEngine.Physics2DModule.dll
---@field Force UnityEngine.ForceMode2D
--
--Add an instant force impulse to the rigidbody2D, using its mass.
--
---@source UnityEngine.Physics2DModule.dll
---@field Impulse UnityEngine.ForceMode2D
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.ForceMode2D = {}

---@source 
---@param value any
---@return UnityEngine.ForceMode2D
function CS.UnityEngine.ForceMode2D:__CastFrom(value) end


--
--Controls IME input.
--
---@source UnityEngine.InputLegacyModule.dll
---@class UnityEngine.IMECompositionMode: System.Enum
--
--Enable IME input only when a text field is selected (default).
--
---@source UnityEngine.InputLegacyModule.dll
---@field Auto UnityEngine.IMECompositionMode
--
--Enable IME input.
--
---@source UnityEngine.InputLegacyModule.dll
---@field On UnityEngine.IMECompositionMode
--
--Disable IME input.
--
---@source UnityEngine.InputLegacyModule.dll
---@field Off UnityEngine.IMECompositionMode
---@source UnityEngine.InputLegacyModule.dll
CS.UnityEngine.IMECompositionMode = {}

---@source 
---@param value any
---@return UnityEngine.IMECompositionMode
function CS.UnityEngine.IMECompositionMode:__CastFrom(value) end


--
--Represents the state of a joint limit.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.JointLimitState2D: System.Enum
--
--Represents a state where the joint limit is inactive.
--
---@source UnityEngine.Physics2DModule.dll
---@field Inactive UnityEngine.JointLimitState2D
--
--Represents a state where the joint limit is at the specified lower limit.
--
---@source UnityEngine.Physics2DModule.dll
---@field LowerLimit UnityEngine.JointLimitState2D
--
--Represents a state where the joint limit is at the specified upper limit.
--
---@source UnityEngine.Physics2DModule.dll
---@field UpperLimit UnityEngine.JointLimitState2D
--
--Represents a state where the joint limit is at the specified lower and upper limits (they are identical).
--
---@source UnityEngine.Physics2DModule.dll
---@field EqualLimits UnityEngine.JointLimitState2D
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.JointLimitState2D = {}

---@source 
---@param value any
---@return UnityEngine.JointLimitState2D
function CS.UnityEngine.JointLimitState2D:__CastFrom(value) end


--
--Describes whether a touch is direct, indirect (or remote), or from a stylus.
--
---@source UnityEngine.InputLegacyModule.dll
---@class UnityEngine.TouchType: System.Enum
--
--A direct touch on a device.
--
---@source UnityEngine.InputLegacyModule.dll
---@field Direct UnityEngine.TouchType
--
--An Indirect, or remote, touch on a device.
--
---@source UnityEngine.InputLegacyModule.dll
---@field Indirect UnityEngine.TouchType
--
--A touch from a stylus on a device.
--
---@source UnityEngine.InputLegacyModule.dll
---@field Stylus UnityEngine.TouchType
---@source UnityEngine.InputLegacyModule.dll
CS.UnityEngine.TouchType = {}

---@source 
---@param value any
---@return UnityEngine.TouchType
function CS.UnityEngine.TouchType:__CastFrom(value) end


--
--Structure describing the status of a finger touching the screen.
--
---@source UnityEngine.InputLegacyModule.dll
---@class UnityEngine.Touch: System.ValueType
--
--The unique index for the touch.
--
---@source UnityEngine.InputLegacyModule.dll
---@field fingerId int
--
--The position of the touch in screen space pixel coordinates.
--
---@source UnityEngine.InputLegacyModule.dll
---@field position UnityEngine.Vector2
--
--The first position of the touch contact in screen space pixel coordinates.
--
---@source UnityEngine.InputLegacyModule.dll
---@field rawPosition UnityEngine.Vector2
--
--The position delta since last change in pixel coordinates.
--
---@source UnityEngine.InputLegacyModule.dll
---@field deltaPosition UnityEngine.Vector2
--
--Amount of time that has passed since the last recorded change in Touch values.
--
---@source UnityEngine.InputLegacyModule.dll
---@field deltaTime float
--
--Number of taps.
--
---@source UnityEngine.InputLegacyModule.dll
---@field tapCount int
--
--Describes the phase of the touch.
--
---@source UnityEngine.InputLegacyModule.dll
---@field phase UnityEngine.TouchPhase
--
--The current amount of pressure being applied to a touch.  1.0f is considered to be the pressure of an average touch.  If Input.touchPressureSupported returns false, the value of this property will always be 1.0f.
--
---@source UnityEngine.InputLegacyModule.dll
---@field pressure float
--
--The maximum possible pressure value for a platform.  If Input.touchPressureSupported returns false, the value of this property will always be 1.0f.
--
---@source UnityEngine.InputLegacyModule.dll
---@field maximumPossiblePressure float
--
--A value that indicates whether a touch was of Direct, Indirect (or remote), or Stylus type.
--
---@source UnityEngine.InputLegacyModule.dll
---@field type UnityEngine.TouchType
--
--Value of 0 radians indicates that the stylus is parallel to the surface, pi/2 indicates that it is perpendicular.
--
---@source UnityEngine.InputLegacyModule.dll
---@field altitudeAngle float
--
--Value of 0 radians indicates that the stylus is pointed along the x-axis of the device.
--
---@source UnityEngine.InputLegacyModule.dll
---@field azimuthAngle float
--
--An estimated value of the radius of a touch.  Add radiusVariance to get the maximum touch size, subtract it to get the minimum touch size.
--
---@source UnityEngine.InputLegacyModule.dll
---@field radius float
--
--This value determines the accuracy of the touch radius. Add this value to the radius to get the maximum touch size, subtract it to get the minimum touch size.
--
---@source UnityEngine.InputLegacyModule.dll
---@field radiusVariance float
---@source UnityEngine.InputLegacyModule.dll
CS.UnityEngine.Touch = {}


--
--Describes physical orientation of the device as determined by the OS.
--
---@source UnityEngine.InputLegacyModule.dll
---@class UnityEngine.DeviceOrientation: System.Enum
--
--The orientation of the device cannot be determined.
--
---@source UnityEngine.InputLegacyModule.dll
---@field Unknown UnityEngine.DeviceOrientation
--
--The device is in portrait mode, with the device held upright and the home button at the bottom.
--
---@source UnityEngine.InputLegacyModule.dll
---@field Portrait UnityEngine.DeviceOrientation
--
--The device is in portrait mode but upside down, with the device held upright and the home button at the top.
--
---@source UnityEngine.InputLegacyModule.dll
---@field PortraitUpsideDown UnityEngine.DeviceOrientation
--
--The device is in landscape mode, with the device held upright and the home button on the right side.
--
---@source UnityEngine.InputLegacyModule.dll
---@field LandscapeLeft UnityEngine.DeviceOrientation
--
--The device is in landscape mode, with the device held upright and the home button on the left side.
--
---@source UnityEngine.InputLegacyModule.dll
---@field LandscapeRight UnityEngine.DeviceOrientation
--
--The device is held parallel to the ground with the screen facing upwards.
--
---@source UnityEngine.InputLegacyModule.dll
---@field FaceUp UnityEngine.DeviceOrientation
--
--The device is held parallel to the ground with the screen facing downwards.
--
---@source UnityEngine.InputLegacyModule.dll
---@field FaceDown UnityEngine.DeviceOrientation
---@source UnityEngine.InputLegacyModule.dll
CS.UnityEngine.DeviceOrientation = {}

---@source 
---@param value any
---@return UnityEngine.DeviceOrientation
function CS.UnityEngine.DeviceOrientation:__CastFrom(value) end


--
--Structure describing acceleration status of the device.
--
---@source UnityEngine.InputLegacyModule.dll
---@class UnityEngine.AccelerationEvent: System.ValueType
--
--Value of acceleration.
--
---@source UnityEngine.InputLegacyModule.dll
---@field acceleration UnityEngine.Vector3
--
--Amount of time passed since last accelerometer measurement.
--
---@source UnityEngine.InputLegacyModule.dll
---@field deltaTime float
---@source UnityEngine.InputLegacyModule.dll
CS.UnityEngine.AccelerationEvent = {}


--
--Interface into the Gyroscope.
--
---@source UnityEngine.InputLegacyModule.dll
---@class UnityEngine.Gyroscope: object
--
--Returns rotation rate as measured by the device's gyroscope.
--
---@source UnityEngine.InputLegacyModule.dll
---@field rotationRate UnityEngine.Vector3
--
--Returns unbiased rotation rate as measured by the device's gyroscope.
--
---@source UnityEngine.InputLegacyModule.dll
---@field rotationRateUnbiased UnityEngine.Vector3
--
--Returns the gravity acceleration vector expressed in the device's reference frame.
--
---@source UnityEngine.InputLegacyModule.dll
---@field gravity UnityEngine.Vector3
--
--Returns the acceleration that the user is giving to the device.
--
---@source UnityEngine.InputLegacyModule.dll
---@field userAcceleration UnityEngine.Vector3
--
--Returns the attitude (ie, orientation in space) of the device.
--
---@source UnityEngine.InputLegacyModule.dll
---@field attitude UnityEngine.Quaternion
--
--Sets or retrieves the enabled status of this gyroscope.
--
---@source UnityEngine.InputLegacyModule.dll
---@field enabled bool
--
--Sets or retrieves gyroscope interval in seconds.
--
---@source UnityEngine.InputLegacyModule.dll
---@field updateInterval float
---@source UnityEngine.InputLegacyModule.dll
CS.UnityEngine.Gyroscope = {}


--
--Structure describing device location.
--
---@source UnityEngine.InputLegacyModule.dll
---@class UnityEngine.LocationInfo: System.ValueType
--
--Geographical device location latitude.
--
---@source UnityEngine.InputLegacyModule.dll
---@field latitude float
--
--Geographical device location latitude.
--
---@source UnityEngine.InputLegacyModule.dll
---@field longitude float
--
--Geographical device location altitude.
--
---@source UnityEngine.InputLegacyModule.dll
---@field altitude float
--
--Horizontal accuracy of the location.
--
---@source UnityEngine.InputLegacyModule.dll
---@field horizontalAccuracy float
--
--Vertical accuracy of the location.
--
---@source UnityEngine.InputLegacyModule.dll
---@field verticalAccuracy float
--
--Timestamp (in seconds since 1970) when location was last time updated.
--
---@source UnityEngine.InputLegacyModule.dll
---@field timestamp double
---@source UnityEngine.InputLegacyModule.dll
CS.UnityEngine.LocationInfo = {}


--
--Selects the source and/or target to be used by an Effector2D.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.EffectorSelection2D: System.Enum
--
--The source/target is defined by the Rigidbody2D.
--
---@source UnityEngine.Physics2DModule.dll
---@field Rigidbody UnityEngine.EffectorSelection2D
--
--The source/target is defined by the Collider2D.
--
---@source UnityEngine.Physics2DModule.dll
---@field Collider UnityEngine.EffectorSelection2D
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.EffectorSelection2D = {}

---@source 
---@param value any
---@return UnityEngine.EffectorSelection2D
function CS.UnityEngine.EffectorSelection2D:__CastFrom(value) end


--
--Describes the location service status for a device.
--
---@source UnityEngine.InputLegacyModule.dll
---@class UnityEngine.LocationServiceStatus: System.Enum
--
--The location service is not running.
--
---@source UnityEngine.InputLegacyModule.dll
---@field Stopped UnityEngine.LocationServiceStatus
--
--The location service is initializing.
--
---@source UnityEngine.InputLegacyModule.dll
---@field Initializing UnityEngine.LocationServiceStatus
--
--The location service is running and the application can query for locations.
--
---@source UnityEngine.InputLegacyModule.dll
---@field Running UnityEngine.LocationServiceStatus
--
--Location service initialization failed. The user denied access to the location service.
--
---@source UnityEngine.InputLegacyModule.dll
---@field Failed UnityEngine.LocationServiceStatus
---@source UnityEngine.InputLegacyModule.dll
CS.UnityEngine.LocationServiceStatus = {}

---@source 
---@param value any
---@return UnityEngine.LocationServiceStatus
function CS.UnityEngine.LocationServiceStatus:__CastFrom(value) end


--
--The mode used to apply Effector2D forces.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.EffectorForceMode2D: System.Enum
--
--The force is applied at a constant rate.
--
---@source UnityEngine.Physics2DModule.dll
---@field Constant UnityEngine.EffectorForceMode2D
--
--The force is applied inverse-linear relative to a point.
--
---@source UnityEngine.Physics2DModule.dll
---@field InverseLinear UnityEngine.EffectorForceMode2D
--
--The force is applied inverse-squared relative to a point.
--
---@source UnityEngine.Physics2DModule.dll
---@field InverseSquared UnityEngine.EffectorForceMode2D
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.EffectorForceMode2D = {}

---@source 
---@param value any
---@return UnityEngine.EffectorForceMode2D
function CS.UnityEngine.EffectorForceMode2D:__CastFrom(value) end


--
--Provides methods that allow an application to access the device's location.
--
---@source UnityEngine.InputLegacyModule.dll
---@class UnityEngine.LocationService: object
--
--Indicates whether the device allows access the application to access the location service.
--
---@source UnityEngine.InputLegacyModule.dll
---@field isEnabledByUser bool
--
--Returns the location service status.
--
---@source UnityEngine.InputLegacyModule.dll
---@field status UnityEngine.LocationServiceStatus
--
--The last geographical location that the device registered.
--
---@source UnityEngine.InputLegacyModule.dll
---@field lastData UnityEngine.LocationInfo
---@source UnityEngine.InputLegacyModule.dll
CS.UnityEngine.LocationService = {}

--
--Starts location service updates.
--
--```plaintext
--Params: desiredAccuracyInMeters - The service accuracy you want to use, in meters. This determines the accuracy of the device's last location coordinates. Higher values like 500 don't require the device to use its GPS chip and
--                    thus save battery power. Lower values like 5-10 provide the best accuracy but require the GPS chip and thus use more battery power. The default value is 10 meters.
--        updateDistanceInMeters - The minimum distance, in meters, that the device must move laterally before Unity updates Input.location. Higher values like 500 produce fewer updates and are less resource intensive to process. The default is 10 meters.
--        
--```
--
---@source UnityEngine.InputLegacyModule.dll
---@param desiredAccuracyInMeters float
---@param updateDistanceInMeters float
function CS.UnityEngine.LocationService.Start(desiredAccuracyInMeters, updateDistanceInMeters) end

--
--Starts location service updates.
--
--```plaintext
--Params: desiredAccuracyInMeters - The service accuracy you want to use, in meters. This determines the accuracy of the device's last location coordinates. Higher values like 500 don't require the device to use its GPS chip and
--                    thus save battery power. Lower values like 5-10 provide the best accuracy but require the GPS chip and thus use more battery power. The default value is 10 meters.
--        updateDistanceInMeters - The minimum distance, in meters, that the device must move laterally before Unity updates Input.location. Higher values like 500 produce fewer updates and are less resource intensive to process. The default is 10 meters.
--        
--```
--
---@source UnityEngine.InputLegacyModule.dll
---@param desiredAccuracyInMeters float
function CS.UnityEngine.LocationService.Start(desiredAccuracyInMeters) end

--
--Starts location service updates.
--
--```plaintext
--Params: desiredAccuracyInMeters - The service accuracy you want to use, in meters. This determines the accuracy of the device's last location coordinates. Higher values like 500 don't require the device to use its GPS chip and
--                    thus save battery power. Lower values like 5-10 provide the best accuracy but require the GPS chip and thus use more battery power. The default value is 10 meters.
--        updateDistanceInMeters - The minimum distance, in meters, that the device must move laterally before Unity updates Input.location. Higher values like 500 produce fewer updates and are less resource intensive to process. The default is 10 meters.
--        
--```
--
---@source UnityEngine.InputLegacyModule.dll
function CS.UnityEngine.LocationService.Start() end

--
--Stops location service updates. This is useful to save battery power when the application doesn't require the location service.
--
---@source UnityEngine.InputLegacyModule.dll
function CS.UnityEngine.LocationService.Stop() end


--
--Represents the separation or overlap of two Collider2D.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.ColliderDistance2D: System.ValueType
--
--A point on a Collider2D that is a specific distance away from pointB.
--
---@source UnityEngine.Physics2DModule.dll
---@field pointA UnityEngine.Vector2
--
--A point on a Collider2D that is a specific distance away from pointA.
--
---@source UnityEngine.Physics2DModule.dll
---@field pointB UnityEngine.Vector2
--
--A normalized vector that points from pointB to pointA.
--
---@source UnityEngine.Physics2DModule.dll
---@field normal UnityEngine.Vector2
--
--Gets the distance between two colliders.
--
---@source UnityEngine.Physics2DModule.dll
---@field distance float
--
--Gets whether the distance represents an overlap or not.
--
---@source UnityEngine.Physics2DModule.dll
---@field isOverlapped bool
--
--Gets whether the distance is valid or not.
--
---@source UnityEngine.Physics2DModule.dll
---@field isValid bool
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.ColliderDistance2D = {}


--
--A set of parameters for filtering contact results. Define the angle by referring to their position in world space, where 0 degrees is parallel to the positive x-axis, 90 degrees is parallel to the positive y-axis, 180 degrees is parallel to the negative x-axis, and 270 degrees is parallel to the negative y-axis.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.ContactFilter2D: System.ValueType
--
--Sets to filter contact results based on trigger collider involvement.
--
---@source UnityEngine.Physics2DModule.dll
---@field useTriggers bool
--
--Sets the contact filter to filter results by layer mask.
--
---@source UnityEngine.Physics2DModule.dll
---@field useLayerMask bool
--
--Sets the contact filter to filter the results by depth using minDepth and maxDepth.
--
---@source UnityEngine.Physics2DModule.dll
---@field useDepth bool
--
--Sets the contact filter to filter within the minDepth and maxDepth range, or outside that range.
--
---@source UnityEngine.Physics2DModule.dll
---@field useOutsideDepth bool
--
--Sets the contact filter to filter the results by the collision's normal angle using minNormalAngle and maxNormalAngle.
--
---@source UnityEngine.Physics2DModule.dll
---@field useNormalAngle bool
--
--Sets the contact filter to filter within the minNormalAngle and maxNormalAngle range, or outside that range.
--
---@source UnityEngine.Physics2DModule.dll
---@field useOutsideNormalAngle bool
--
--Sets the contact filter to filter the results that only include Collider2D on the layers defined by the layer mask.
--
---@source UnityEngine.Physics2DModule.dll
---@field layerMask UnityEngine.LayerMask
--
--Sets the contact filter to filter the results to only include Collider2D with a Z coordinate (depth) greater than this value.
--
---@source UnityEngine.Physics2DModule.dll
---@field minDepth float
--
--Sets the contact filter to filter the results to only include Collider2D with a Z coordinate (depth) less than this value.
--
---@source UnityEngine.Physics2DModule.dll
---@field maxDepth float
--
--Sets the contact filter to filter the results to only include contacts with collision normal angles that are greater than this angle.
--
---@source UnityEngine.Physics2DModule.dll
---@field minNormalAngle float
--
--Sets the contact filter to filter the results to only include contacts with collision normal angles that are less than this angle.
--
---@source UnityEngine.Physics2DModule.dll
---@field maxNormalAngle float
---@source UnityEngine.Physics2DModule.dll
---@field NormalAngleUpperLimit float
--
--Given the current state of the contact filter, determine whether it would filter anything.
--
---@source UnityEngine.Physics2DModule.dll
---@field isFiltering bool
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.ContactFilter2D = {}

--
--A copy of the contact filter set to not filter any ContactPoint2D.
--
---@source UnityEngine.Physics2DModule.dll
---@return ContactFilter2D
function CS.UnityEngine.ContactFilter2D.NoFilter() end

--
--Turns off layer mask filtering by setting useLayerMask to false.  The associated value of layerMask is not changed.
--
---@source UnityEngine.Physics2DModule.dll
function CS.UnityEngine.ContactFilter2D.ClearLayerMask() end

--
--Sets the layerMask filter property using the layerMask parameter provided and also enables layer mask filtering by setting useLayerMask to true.
--
--```plaintext
--Params: layerMask - The value used to set the layerMask.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param layerMask UnityEngine.LayerMask
function CS.UnityEngine.ContactFilter2D.SetLayerMask(layerMask) end

--
--Turns off depth filtering by setting useDepth to false.  The associated values of minDepth and maxDepth are not changed.
--
---@source UnityEngine.Physics2DModule.dll
function CS.UnityEngine.ContactFilter2D.ClearDepth() end

--
--Sets the minDepth and maxDepth filter properties and turns on depth filtering by setting useDepth to true.
--
--```plaintext
--Params: minDepth - The value used to set minDepth.
--        maxDepth - The value used to set maxDepth.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param minDepth float
---@param maxDepth float
function CS.UnityEngine.ContactFilter2D.SetDepth(minDepth, maxDepth) end

--
--Turns off normal angle filtering by setting useNormalAngle to false. The associated values of minNormalAngle and maxNormalAngle are not changed.
--
---@source UnityEngine.Physics2DModule.dll
function CS.UnityEngine.ContactFilter2D.ClearNormalAngle() end

--
--Sets the minNormalAngle and maxNormalAngle filter properties and turns on normal angle filtering by setting useNormalAngle to true.
--
--```plaintext
--Params: minNormalAngle - The value used to set the minNormalAngle.
--        maxNormalAngle - The value used to set the maxNormalAngle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param minNormalAngle float
---@param maxNormalAngle float
function CS.UnityEngine.ContactFilter2D.SetNormalAngle(minNormalAngle, maxNormalAngle) end

--
--Returns true when collider is excluded by the filter and false if otherwise.
--
--```plaintext
--Params: collider - The Collider2D used to check for a trigger.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@return Boolean
function CS.UnityEngine.ContactFilter2D.IsFilteringTrigger(collider) end

--
--Returns true when obj is excluded by the filter and false if otherwise.
--
--```plaintext
--Params: obj - The GameObject used to check the GameObject.layer.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param obj UnityEngine.GameObject
---@return Boolean
function CS.UnityEngine.ContactFilter2D.IsFilteringLayerMask(obj) end

--
--Returns true when obj is excluded by the filter and false if otherwise.
--
--```plaintext
--Params: obj - The GameObject used to check the z-position (depth) of Transform.position.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param obj UnityEngine.GameObject
---@return Boolean
function CS.UnityEngine.ContactFilter2D.IsFilteringDepth(obj) end

--
--Returns true when normal is excluded by the filter and false if otherwise.
--
--```plaintext
--Params: normal - The normal used to calculate an angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param normal UnityEngine.Vector2
---@return Boolean
function CS.UnityEngine.ContactFilter2D.IsFilteringNormalAngle(normal) end

--
--Returns true when angle is excluded by the filter and false if otherwise.
--
--```plaintext
--Params: angle - The angle used for comparison in the filter.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param angle float
---@return Boolean
function CS.UnityEngine.ContactFilter2D.IsFilteringNormalAngle(angle) end


--
--Collision details returned by 2D physics callback functions.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.Collision2D: object
--
--The incoming Collider2D involved in the collision with the otherCollider.
--
---@source UnityEngine.Physics2DModule.dll
---@field collider UnityEngine.Collider2D
--
--The other Collider2D involved in the collision with the collider.
--
---@source UnityEngine.Physics2DModule.dll
---@field otherCollider UnityEngine.Collider2D
--
--The incoming Rigidbody2D involved in the collision with the otherRigidbody.
--
---@source UnityEngine.Physics2DModule.dll
---@field rigidbody UnityEngine.Rigidbody2D
--
--The other Rigidbody2D involved in the collision with the rigidbody.
--
---@source UnityEngine.Physics2DModule.dll
---@field otherRigidbody UnityEngine.Rigidbody2D
--
--The Transform of the incoming object involved in the collision.
--
---@source UnityEngine.Physics2DModule.dll
---@field transform UnityEngine.Transform
--
--The incoming GameObject involved in the collision.
--
---@source UnityEngine.Physics2DModule.dll
---@field gameObject UnityEngine.GameObject
--
--The relative linear velocity of the two colliding objects (Read Only).
--
---@source UnityEngine.Physics2DModule.dll
---@field relativeVelocity UnityEngine.Vector2
--
--Indicates whether the collision response or reaction is enabled or disabled.
--
---@source UnityEngine.Physics2DModule.dll
---@field enabled bool
--
--The specific points of contact with the incoming Collider2D. You should avoid using this as it produces memory garbage. Use GetContact or GetContacts instead.
--
---@source UnityEngine.Physics2DModule.dll
---@field contacts UnityEngine.ContactPoint2D[]
--
--Gets the number of contacts for this collision.
--
---@source UnityEngine.Physics2DModule.dll
---@field contactCount int
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.Collision2D = {}

--
--The contact at the specified index.
--
--```plaintext
--Params: index - The index of the contact to retrieve.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param index int
---@return ContactPoint2D
function CS.UnityEngine.Collision2D.GetContact(index) end

--
--Returns the number of contacts placed in the contacts array.
--
--```plaintext
--Params: contacts - An array of ContactPoint2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param contacts UnityEngine.ContactPoint2D[]
---@return Int32
function CS.UnityEngine.Collision2D.GetContacts(contacts) end

---@source UnityEngine.Physics2DModule.dll
---@param contacts System.Collections.Generic.List<UnityEngine.ContactPoint2D>
---@return Int32
function CS.UnityEngine.Collision2D.GetContacts(contacts) end


--
--Details about a specific point of contact involved in a 2D physics collision.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.ContactPoint2D: System.ValueType
--
--The point of contact between the two colliders in world space.
--
---@source UnityEngine.Physics2DModule.dll
---@field point UnityEngine.Vector2
--
--Surface normal at the contact point.
--
---@source UnityEngine.Physics2DModule.dll
---@field normal UnityEngine.Vector2
--
--Gets the distance between the colliders at the contact point.
--
---@source UnityEngine.Physics2DModule.dll
---@field separation float
--
--Gets the impulse applied at the contact point along the ContactPoint2D.normal.
--
---@source UnityEngine.Physics2DModule.dll
---@field normalImpulse float
--
--Gets the impulse applied at the contact point which is perpendicular to the ContactPoint2D.normal.
--
---@source UnityEngine.Physics2DModule.dll
---@field tangentImpulse float
--
--Gets the relative velocity of the two colliders at the contact point (Read Only).
--
---@source UnityEngine.Physics2DModule.dll
---@field relativeVelocity UnityEngine.Vector2
--
--The incoming Collider2D involved in the collision with the otherCollider.
--
---@source UnityEngine.Physics2DModule.dll
---@field collider UnityEngine.Collider2D
--
--The other Collider2D involved in the collision with the collider.
--
---@source UnityEngine.Physics2DModule.dll
---@field otherCollider UnityEngine.Collider2D
--
--The incoming Rigidbody2D involved in the collision with the otherRigidbody.
--
---@source UnityEngine.Physics2DModule.dll
---@field rigidbody UnityEngine.Rigidbody2D
--
--The other Rigidbody2D involved in the collision with the rigidbody.
--
---@source UnityEngine.Physics2DModule.dll
---@field otherRigidbody UnityEngine.Rigidbody2D
--
--Indicates whether the collision response or reaction is enabled or disabled.
--
---@source UnityEngine.Physics2DModule.dll
---@field enabled bool
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.ContactPoint2D = {}


--
--Angular limits on the rotation of a Rigidbody2D object around a HingeJoint2D.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.JointAngleLimits2D: System.ValueType
--
--Lower angular limit of rotation.
--
---@source UnityEngine.Physics2DModule.dll
---@field min float
--
--Upper angular limit of rotation.
--
---@source UnityEngine.Physics2DModule.dll
---@field max float
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.JointAngleLimits2D = {}


--
--Interface into compass functionality.
--
---@source UnityEngine.InputLegacyModule.dll
---@class UnityEngine.Compass: object
--
--The heading in degrees relative to the magnetic North Pole. (Read Only)
--
---@source UnityEngine.InputLegacyModule.dll
---@field magneticHeading float
--
--The heading in degrees relative to the geographic North Pole. (Read Only)
--
---@source UnityEngine.InputLegacyModule.dll
---@field trueHeading float
--
--Accuracy of heading reading in degrees.
--
---@source UnityEngine.InputLegacyModule.dll
---@field headingAccuracy float
--
--The raw geomagnetic data measured in microteslas. (Read Only)
--
---@source UnityEngine.InputLegacyModule.dll
---@field rawVector UnityEngine.Vector3
--
--Timestamp (in seconds since 1970) when the heading was last time updated. (Read Only)
--
---@source UnityEngine.InputLegacyModule.dll
---@field timestamp double
--
--Used to enable or disable compass. Note, that if you want Input.compass.trueHeading property to contain a valid value, you must also enable location updates by calling Input.location.Start().
--
---@source UnityEngine.InputLegacyModule.dll
---@field enabled bool
---@source UnityEngine.InputLegacyModule.dll
CS.UnityEngine.Compass = {}


--
--Motion limits of a Rigidbody2D object along a SliderJoint2D.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.JointTranslationLimits2D: System.ValueType
--
--Minimum distance the Rigidbody2D object can move from the Slider Joint's anchor.
--
---@source UnityEngine.Physics2DModule.dll
---@field min float
--
--Maximum distance the Rigidbody2D object can move from the Slider Joint's anchor.
--
---@source UnityEngine.Physics2DModule.dll
---@field max float
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.JointTranslationLimits2D = {}


--
--Collider for 2D physics representing an arbitrary set of connected edges (lines) defined by its vertices.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.EdgeCollider2D: UnityEngine.Collider2D
--
--Controls the radius of all edges created by the collider.
--
---@source UnityEngine.Physics2DModule.dll
---@field edgeRadius float
--
--Gets the number of edges.
--
---@source UnityEngine.Physics2DModule.dll
---@field edgeCount int
--
--Gets the number of points.
--
---@source UnityEngine.Physics2DModule.dll
---@field pointCount int
--
--Get or set the points defining multiple continuous edges.
--
---@source UnityEngine.Physics2DModule.dll
---@field points UnityEngine.Vector2[]
--
--Set this to true to use the adjacentStartPoint to form the collision normal that is used to calculate the collision response when a collision occurs at the Edge Collider's start point. Set this to false to not use the adjacentStartPoint, and the collision normal becomes the direction of motion of the collision.
--
---@source UnityEngine.Physics2DModule.dll
---@field useAdjacentStartPoint bool
--
--Set this to true to use the adjacentEndPoint to form the collision normal that is used to calculate the collision response when a collision occurs at the Edge Collider's end point. Set this to false to not use the adjacentEndPoint, and the collision normal becomes the direction of motion of the collision.
--
---@source UnityEngine.Physics2DModule.dll
---@field useAdjacentEndPoint bool
--
--Defines the position of a virtual point adjacent to the start point of the EdgeCollider2D.
--
---@source UnityEngine.Physics2DModule.dll
---@field adjacentStartPoint UnityEngine.Vector2
--
--Defines the position of a virtual point adjacent to the end point of the EdgeCollider2D.
--
---@source UnityEngine.Physics2DModule.dll
---@field adjacentEndPoint UnityEngine.Vector2
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.EdgeCollider2D = {}

--
--Reset to a single edge consisting of two points.
--
---@source UnityEngine.Physics2DModule.dll
function CS.UnityEngine.EdgeCollider2D.Reset() end

---@source UnityEngine.Physics2DModule.dll
---@param points System.Collections.Generic.List<UnityEngine.Vector2>
---@return Int32
function CS.UnityEngine.EdgeCollider2D.GetPoints(points) end

---@source UnityEngine.Physics2DModule.dll
---@param points System.Collections.Generic.List<UnityEngine.Vector2>
---@return Boolean
function CS.UnityEngine.EdgeCollider2D.SetPoints(points) end


--
--Parameters for the optional motor force applied to a Joint2D.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.JointMotor2D: System.ValueType
--
--The desired speed for the Rigidbody2D to reach as it moves with the joint.
--
---@source UnityEngine.Physics2DModule.dll
---@field motorSpeed float
--
--The maximum force that can be applied to the Rigidbody2D at the joint to attain the target speed.
--
---@source UnityEngine.Physics2DModule.dll
---@field maxMotorTorque float
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.JointMotor2D = {}


--
--Utility functions for working with JSON data.
--
---@source UnityEngine.JSONSerializeModule.dll
---@class UnityEngine.JsonUtility: object
---@source UnityEngine.JSONSerializeModule.dll
CS.UnityEngine.JsonUtility = {}

--
--The object's data in JSON format.
--
--```plaintext
--Params: obj - The object to convert to JSON form.
--        prettyPrint - If true, format the output for readability. If false, format the output for minimum size. Default is false.
--        
--```
--
---@source UnityEngine.JSONSerializeModule.dll
---@param obj object
---@return String
function CS.UnityEngine.JsonUtility:ToJson(obj) end

--
--The object's data in JSON format.
--
--```plaintext
--Params: obj - The object to convert to JSON form.
--        prettyPrint - If true, format the output for readability. If false, format the output for minimum size. Default is false.
--        
--```
--
---@source UnityEngine.JSONSerializeModule.dll
---@param obj object
---@param prettyPrint bool
---@return String
function CS.UnityEngine.JsonUtility:ToJson(obj, prettyPrint) end

---@source UnityEngine.JSONSerializeModule.dll
---@param json string
---@return T
function CS.UnityEngine.JsonUtility:FromJson(json) end

--
--An instance of the object.
--
--```plaintext
--Params: json - The JSON representation of the object.
--        type - The type of object represented by the Json.
--        
--```
--
---@source UnityEngine.JSONSerializeModule.dll
---@param json string
---@param type System.Type
---@return Object
function CS.UnityEngine.JsonUtility:FromJson(json, type) end

--
--Overwrite data in an object by reading from its JSON representation.
--
--```plaintext
--Params: json - The JSON representation of the object.
--        objectToOverwrite - The object that should be overwritten.
--        
--```
--
---@source UnityEngine.JSONSerializeModule.dll
---@param json string
---@param objectToOverwrite object
function CS.UnityEngine.JsonUtility:FromJsonOverwrite(json, objectToOverwrite) end


--
--Collider for 2D physics representing an axis-aligned rectangle.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.BoxCollider2D: UnityEngine.Collider2D
--
--The width and height of the rectangle.
--
---@source UnityEngine.Physics2DModule.dll
---@field size UnityEngine.Vector2
--
--Controls the radius of all edges created by the collider.
--
---@source UnityEngine.Physics2DModule.dll
---@field edgeRadius float
--
--Determines whether the BoxCollider2D's shape is automatically updated based on a SpriteRenderer's tiling properties.
--
---@source UnityEngine.Physics2DModule.dll
---@field autoTiling bool
--
--The center point of the collider in local space.
--
---@source UnityEngine.Physics2DModule.dll
---@field center UnityEngine.Vector2
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.BoxCollider2D = {}


--
--Joint suspension is used to define how suspension works on a WheelJoint2D.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.JointSuspension2D: System.ValueType
--
--The amount by which the suspension spring force is reduced in proportion to the movement speed.
--
---@source UnityEngine.Physics2DModule.dll
---@field dampingRatio float
--
--The frequency at which the suspension spring oscillates.
--
---@source UnityEngine.Physics2DModule.dll
---@field frequency float
--
--The world angle (in degrees) along which the suspension will move.
--
---@source UnityEngine.Physics2DModule.dll
---@field angle float
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.JointSuspension2D = {}


--
--Collider for 2D physics representing an arbitrary polygon defined by its vertices.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.PolygonCollider2D: UnityEngine.Collider2D
--
--Determines whether the PolygonCollider2D's shape is automatically updated based on a SpriteRenderer's tiling properties.
--
---@source UnityEngine.Physics2DModule.dll
---@field autoTiling bool
--
--Corner points that define the collider's shape in local space.
--
---@source UnityEngine.Physics2DModule.dll
---@field points UnityEngine.Vector2[]
--
--The number of paths in the polygon.
--
---@source UnityEngine.Physics2DModule.dll
---@field pathCount int
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.PolygonCollider2D = {}

--
--Return the total number of points in the polygon in all paths.
--
---@source UnityEngine.Physics2DModule.dll
---@return Int32
function CS.UnityEngine.PolygonCollider2D.GetTotalPointCount() end

--
--An ordered array of the vertices (points) in the selected path.
--
--```plaintext
--Params: index - The index of the path to retrieve.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param index int
function CS.UnityEngine.PolygonCollider2D.GetPath(index) end

--
--Define a path by its constituent points.
--
--```plaintext
--Params: index - Index of the path to set.
--        points - An ordered array of the vertices (points) that define the path.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param index int
---@param points UnityEngine.Vector2[]
function CS.UnityEngine.PolygonCollider2D.SetPath(index, points) end

---@source UnityEngine.Physics2DModule.dll
---@param index int
---@param points System.Collections.Generic.List<UnityEngine.Vector2>
---@return Int32
function CS.UnityEngine.PolygonCollider2D.GetPath(index, points) end

---@source UnityEngine.Physics2DModule.dll
---@param index int
---@param points System.Collections.Generic.List<UnityEngine.Vector2>
function CS.UnityEngine.PolygonCollider2D.SetPath(index, points) end

---@source UnityEngine.Physics2DModule.dll
---@param sides int
function CS.UnityEngine.PolygonCollider2D.CreatePrimitive(sides) end

---@source UnityEngine.Physics2DModule.dll
---@param sides int
---@param scale UnityEngine.Vector2
function CS.UnityEngine.PolygonCollider2D.CreatePrimitive(sides, scale) end

--
--Creates as regular primitive polygon with the specified number of sides.
--
--```plaintext
--Params: sides - The number of sides in the polygon.  This must be greater than two.
--        scale - The X/Y scale of the polygon.  These must be greater than zero.
--        offset - The X/Y offset of the polygon.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param sides int
---@param scale UnityEngine.Vector2
---@param offset UnityEngine.Vector2
function CS.UnityEngine.PolygonCollider2D.CreatePrimitive(sides, scale, offset) end


--
--An asset to represent a table of localized strings for one specific locale.
--
---@source UnityEngine.LocalizationModule.dll
---@class UnityEngine.LocalizationAsset: UnityEngine.Object
--
--ISO Code used to identify the locale. ex: en-uk, zh-hans, ja
--
---@source UnityEngine.LocalizationModule.dll
---@field localeIsoCode string
--
--Is this asset used to localize UI components of the Unity Editor
--
---@source UnityEngine.LocalizationModule.dll
---@field isEditorAsset bool
---@source UnityEngine.LocalizationModule.dll
CS.UnityEngine.LocalizationAsset = {}

--
--Set the localized string for the specified key
--
--```plaintext
--Params: original - Original string acting as key.
--        localized - Localized string matching the original in the LocalizationAsset locale
--        
--```
--
---@source UnityEngine.LocalizationModule.dll
---@param original string
---@param localized string
function CS.UnityEngine.LocalizationAsset.SetLocalizedString(original, localized) end

--
--Localized string matching the original in the LocalizationAsset locale
--
--```plaintext
--Params: original - Original string acting as key.
--        
--```
--
---@source UnityEngine.LocalizationModule.dll
---@param original string
---@return String
function CS.UnityEngine.LocalizationAsset.GetLocalizedString(original) end


--
--Information returned about an object detected by a raycast in 2D physics.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.RaycastHit2D: System.ValueType
--
--The centroid of the primitive used to perform the cast.
--
---@source UnityEngine.Physics2DModule.dll
---@field centroid UnityEngine.Vector2
--
--The point in world space where the ray hit the collider's surface.
--
---@source UnityEngine.Physics2DModule.dll
---@field point UnityEngine.Vector2
--
--The normal vector of the surface hit by the ray.
--
---@source UnityEngine.Physics2DModule.dll
---@field normal UnityEngine.Vector2
--
--The distance from the ray origin to the impact point.
--
---@source UnityEngine.Physics2DModule.dll
---@field distance float
--
--Fraction of the distance along the ray that the hit occurred.
--
---@source UnityEngine.Physics2DModule.dll
---@field fraction float
--
--The collider hit by the ray.
--
---@source UnityEngine.Physics2DModule.dll
---@field collider UnityEngine.Collider2D
--
--The Rigidbody2D attached to the object that was hit.
--
---@source UnityEngine.Physics2DModule.dll
---@field rigidbody UnityEngine.Rigidbody2D
--
--The Transform of the object that was hit.
--
---@source UnityEngine.Physics2DModule.dll
---@field transform UnityEngine.Transform
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.RaycastHit2D = {}

---@source UnityEngine.Physics2DModule.dll
---@param hit UnityEngine.RaycastHit2D
---@return Boolean
function CS.UnityEngine.RaycastHit2D:op_Implicit(hit) end

---@source UnityEngine.Physics2DModule.dll
---@param other UnityEngine.RaycastHit2D
---@return Int32
function CS.UnityEngine.RaycastHit2D.CompareTo(other) end


--
--A Collider that can merge other Colliders together.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.CompositeCollider2D: UnityEngine.Collider2D
--
--Specifies the type of geometry the Composite Collider should generate.
--
---@source UnityEngine.Physics2DModule.dll
---@field geometryType UnityEngine.CompositeCollider2D.GeometryType
--
--Specifies when to generate the Composite Collider geometry.
--
---@source UnityEngine.Physics2DModule.dll
---@field generationType UnityEngine.CompositeCollider2D.GenerationType
--
--Controls the minimum distance allowed between generated vertices.
--
---@source UnityEngine.Physics2DModule.dll
---@field vertexDistance float
--
--Controls the radius of all edges created by the Collider.
--
---@source UnityEngine.Physics2DModule.dll
---@field edgeRadius float
--
--Vertices are offset by this distance when compositing multiple physic shapes. Any vertices between shapes within this distance are combined.
--
---@source UnityEngine.Physics2DModule.dll
---@field offsetDistance float
--
--The number of paths in the Collider.
--
---@source UnityEngine.Physics2DModule.dll
---@field pathCount int
--
--Gets the total number of points in all the paths within the Collider.
--
---@source UnityEngine.Physics2DModule.dll
---@field pointCount int
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.CompositeCollider2D = {}

--
--Regenerates the Composite Collider geometry.
--
---@source UnityEngine.Physics2DModule.dll
function CS.UnityEngine.CompositeCollider2D.GenerateGeometry() end

--
--Returns the number of points in the path specified by index.
--
--```plaintext
--Params: index - The index of the path from 0 to pathCount minus 1.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param index int
---@return Int32
function CS.UnityEngine.CompositeCollider2D.GetPathPointCount(index) end

--
--Returns the number of points placed in the points array.
--
--```plaintext
--Params: index - The index of the path from 0 to pathCount minus 1.
--        points - An ordered array of the vertices (points) in the selected path.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param index int
---@param points UnityEngine.Vector2[]
---@return Int32
function CS.UnityEngine.CompositeCollider2D.GetPath(index, points) end

---@source UnityEngine.Physics2DModule.dll
---@param index int
---@param points System.Collections.Generic.List<UnityEngine.Vector2>
---@return Int32
function CS.UnityEngine.CompositeCollider2D.GetPath(index, points) end


--
--The mode in which particles are emitted.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemEmissionType: System.Enum
--
--Emit over time.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Time UnityEngine.ParticleSystemEmissionType
--
--Emit when emitter moves.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Distance UnityEngine.ParticleSystemEmissionType
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemEmissionType = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemEmissionType
function CS.UnityEngine.ParticleSystemEmissionType:__CastFrom(value) end


--
--A set of options that control how physics operates when using the job system to multithread the physics simulation.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.PhysicsJobOptions2D: System.ValueType
--
--Should physics simulation use multithreading?
--
---@source UnityEngine.Physics2DModule.dll
---@field useMultithreading bool
--
--Should physics simulation sort multi-threaded results to maintain processing order consistency?
--
---@source UnityEngine.Physics2DModule.dll
---@field useConsistencySorting bool
--
--Controls the minimum number of Rigidbody2D being interpolated in each simulation job.
--
---@source UnityEngine.Physics2DModule.dll
---@field interpolationPosesPerJob int
--
--Controls the minimum number of new contacts to find in each simulation job.
--
---@source UnityEngine.Physics2DModule.dll
---@field newContactsPerJob int
--
--Controls the minimum number of contacts to collide in each simulation job.
--
---@source UnityEngine.Physics2DModule.dll
---@field collideContactsPerJob int
--
--Controls the minimum number of flags to be cleared in each simulation job.
--
---@source UnityEngine.Physics2DModule.dll
---@field clearFlagsPerJob int
--
--Controls the minimum number of bodies to be cleared in each simulation job.
--
---@source UnityEngine.Physics2DModule.dll
---@field clearBodyForcesPerJob int
--
--Controls the minimum number of fixtures to synchronize in the broadphase during discrete island solving in each simulation job.
--
---@source UnityEngine.Physics2DModule.dll
---@field syncDiscreteFixturesPerJob int
--
--Controls the minimum number of fixtures to synchronize in the broadphase during continuous island solving in each simulation job.
--
---@source UnityEngine.Physics2DModule.dll
---@field syncContinuousFixturesPerJob int
--
--Controls the minimum number of nearest contacts to find in each simulation job.
--
---@source UnityEngine.Physics2DModule.dll
---@field findNearestContactsPerJob int
--
--Controls the minimum number of trigger contacts to update in each simulation job.
--
---@source UnityEngine.Physics2DModule.dll
---@field updateTriggerContactsPerJob int
--
--The minimum threshold cost of all bodies, contacts and joints in an island during discrete island solving.
--
---@source UnityEngine.Physics2DModule.dll
---@field islandSolverCostThreshold int
--
--Scales the cost of each body during discrete island solving.
--
---@source UnityEngine.Physics2DModule.dll
---@field islandSolverBodyCostScale int
--
--Scales the cost of each contact during discrete island solving.
--
---@source UnityEngine.Physics2DModule.dll
---@field islandSolverContactCostScale int
--
--Scales the cost of each joint during discrete island solving.
--
---@source UnityEngine.Physics2DModule.dll
---@field islandSolverJointCostScale int
--
--Controls the minimum number of bodies to solve in each simulation job when performing island solving.
--
---@source UnityEngine.Physics2DModule.dll
---@field islandSolverBodiesPerJob int
--
--Controls the minimum number of contacts to solve in each simulation job when performing island solving.
--
---@source UnityEngine.Physics2DModule.dll
---@field islandSolverContactsPerJob int
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.PhysicsJobOptions2D = {}


--
--Script interface for ParticleSystem. Unity's powerful and versatile particle system implementation.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystem: UnityEngine.Component
---@source UnityEngine.ParticleSystemModule.dll
---@field safeCollisionEventSize int
--
--Start delay in seconds.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startDelay float
--
--Determines whether the Particle System is looping.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field loop bool
--
--If set to true, the Particle System will automatically start playing on startup.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field playOnAwake bool
--
--The duration of the Particle System in seconds (Read Only).
--
---@source UnityEngine.ParticleSystemModule.dll
---@field duration float
--
--The playback speed of the Particle System. 1 is normal playback speed.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field playbackSpeed float
--
--When set to false, the Particle System will not emit particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enableEmission bool
--
--The rate of particle emission.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field emissionRate float
--
--The initial speed of particles when emitted. When using curves, this value acts as a scale on the curve.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSpeed float
--
--The initial size of particles when emitted. When using curves, this value acts as a scale on the curve.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSize float
--
--The initial color of particles when emitted.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startColor UnityEngine.Color
--
--The initial rotation of particles when emitted. When using curves, this value acts as a scale on the curve.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startRotation float
--
--The initial 3D rotation of particles when emitted. When using curves, this value acts as a scale on the curves.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startRotation3D UnityEngine.Vector3
--
--The total lifetime in seconds that particles will have when emitted. When using curves, this value acts as a scale on the curve. This value is set in the particle when it is created by the Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startLifetime float
--
--Scale being applied to the gravity defined by Physics.gravity.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field gravityModifier float
--
--The maximum number of particles to emit.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field maxParticles int
--
--This selects the space in which to simulate particles. It can be either world or local space.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field simulationSpace UnityEngine.ParticleSystemSimulationSpace
--
--The scaling mode applied to particle sizes and positions.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field scalingMode UnityEngine.ParticleSystemScalingMode
--
--Does this system support Automatic Culling?
--
---@source UnityEngine.ParticleSystemModule.dll
---@field automaticCullingEnabled bool
--
--Determines whether the Particle System is playing.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field isPlaying bool
--
--Determines whether the Particle System is emitting particles. A Particle System may stop emitting when its emission module has finished, it has been paused or if the system has been stopped using ParticleSystem.Stop|Stop with the ParticleSystemStopBehavior.StopEmitting|StopEmitting flag. Resume emitting by calling ParticleSystem.Play|Play.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field isEmitting bool
--
--Determines whether the Particle System is in the stopped state.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field isStopped bool
--
--Determines whether the Particle System is paused.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field isPaused bool
--
--The current number of particles (Read Only).
--
---@source UnityEngine.ParticleSystemModule.dll
---@field particleCount int
--
--Playback position in seconds.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field time float
--
--Override the random seed used for the Particle System emission.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field randomSeed uint
--
--Controls whether the Particle System uses an automatically-generated random number to seed the random number generator.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field useAutoRandomSeed bool
--
--Does this system support Procedural Simulation?
--
---@source UnityEngine.ParticleSystemModule.dll
---@field proceduralSimulationSupported bool
--
--Access the main Particle System settings.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field main UnityEngine.ParticleSystem.MainModule
--
--Script interface for the EmissionModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field emission UnityEngine.ParticleSystem.EmissionModule
--
--Script interface for the ShapeModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field shape UnityEngine.ParticleSystem.ShapeModule
--
--Script interface for the VelocityOverLifetimeModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field velocityOverLifetime UnityEngine.ParticleSystem.VelocityOverLifetimeModule
--
--Script interface for the LimitVelocityOverLifetimeModule of a Particle System. .
--
---@source UnityEngine.ParticleSystemModule.dll
---@field limitVelocityOverLifetime UnityEngine.ParticleSystem.LimitVelocityOverLifetimeModule
--
--Script interface for the InheritVelocityModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field inheritVelocity UnityEngine.ParticleSystem.InheritVelocityModule
--
--Script interface for the Particle System Lifetime By Emitter Speed module.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field lifetimeByEmitterSpeed UnityEngine.ParticleSystem.LifetimeByEmitterSpeedModule
--
--Script interface for the ForceOverLifetimeModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field forceOverLifetime UnityEngine.ParticleSystem.ForceOverLifetimeModule
--
--Script interface for the ColorOverLifetimeModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field colorOverLifetime UnityEngine.ParticleSystem.ColorOverLifetimeModule
--
--Script interface for the ColorByLifetimeModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field colorBySpeed UnityEngine.ParticleSystem.ColorBySpeedModule
--
--Script interface for the SizeOverLifetimeModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field sizeOverLifetime UnityEngine.ParticleSystem.SizeOverLifetimeModule
--
--Script interface for the SizeBySpeedModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field sizeBySpeed UnityEngine.ParticleSystem.SizeBySpeedModule
--
--Script interface for the RotationOverLifetimeModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rotationOverLifetime UnityEngine.ParticleSystem.RotationOverLifetimeModule
--
--Script interface for the RotationBySpeedModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rotationBySpeed UnityEngine.ParticleSystem.RotationBySpeedModule
--
--Script interface for the ExternalForcesModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field externalForces UnityEngine.ParticleSystem.ExternalForcesModule
--
--Script interface for the NoiseModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field noise UnityEngine.ParticleSystem.NoiseModule
--
--Script interface for the CollisionModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field collision UnityEngine.ParticleSystem.CollisionModule
--
--Script interface for the TriggerModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field trigger UnityEngine.ParticleSystem.TriggerModule
--
--Script interface for the SubEmittersModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field subEmitters UnityEngine.ParticleSystem.SubEmittersModule
--
--Script interface for the TextureSheetAnimationModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field textureSheetAnimation UnityEngine.ParticleSystem.TextureSheetAnimationModule
--
--Script interface for the LightsModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field lights UnityEngine.ParticleSystem.LightsModule
--
--Script interface for the TrailsModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field trails UnityEngine.ParticleSystem.TrailModule
--
--Script interface for the CustomDataModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field customData UnityEngine.ParticleSystem.CustomDataModule
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystem = {}

---@source UnityEngine.ParticleSystemModule.dll
---@param position UnityEngine.Vector3
---@param velocity UnityEngine.Vector3
---@param size float
---@param lifetime float
---@param color UnityEngine.Color32
function CS.UnityEngine.ParticleSystem.Emit(position, velocity, size, lifetime, color) end

---@source UnityEngine.ParticleSystemModule.dll
---@param particle UnityEngine.ParticleSystem.Particle
function CS.UnityEngine.ParticleSystem.Emit(particle) end

---@source UnityEngine.ParticleSystemModule.dll
---@param particles UnityEngine.ParticleSystem.Particle[]
---@param size int
---@param offset int
function CS.UnityEngine.ParticleSystem.SetParticles(particles, size, offset) end

---@source UnityEngine.ParticleSystemModule.dll
---@param particles UnityEngine.ParticleSystem.Particle[]
---@param size int
function CS.UnityEngine.ParticleSystem.SetParticles(particles, size) end

---@source UnityEngine.ParticleSystemModule.dll
---@param particles UnityEngine.ParticleSystem.Particle[]
function CS.UnityEngine.ParticleSystem.SetParticles(particles) end

---@source UnityEngine.ParticleSystemModule.dll
---@param particles Unity.Collections.NativeArray<UnityEngine.ParticleSystem.Particle>
---@param size int
---@param offset int
function CS.UnityEngine.ParticleSystem.SetParticles(particles, size, offset) end

---@source UnityEngine.ParticleSystemModule.dll
---@param particles Unity.Collections.NativeArray<UnityEngine.ParticleSystem.Particle>
---@param size int
function CS.UnityEngine.ParticleSystem.SetParticles(particles, size) end

---@source UnityEngine.ParticleSystemModule.dll
---@param particles Unity.Collections.NativeArray<UnityEngine.ParticleSystem.Particle>
function CS.UnityEngine.ParticleSystem.SetParticles(particles) end

---@source UnityEngine.ParticleSystemModule.dll
---@param particles UnityEngine.ParticleSystem.Particle[]
---@param size int
---@param offset int
---@return Int32
function CS.UnityEngine.ParticleSystem.GetParticles(particles, size, offset) end

---@source UnityEngine.ParticleSystemModule.dll
---@param particles UnityEngine.ParticleSystem.Particle[]
---@param size int
---@return Int32
function CS.UnityEngine.ParticleSystem.GetParticles(particles, size) end

---@source UnityEngine.ParticleSystemModule.dll
---@param particles UnityEngine.ParticleSystem.Particle[]
---@return Int32
function CS.UnityEngine.ParticleSystem.GetParticles(particles) end

---@source UnityEngine.ParticleSystemModule.dll
---@param particles Unity.Collections.NativeArray<UnityEngine.ParticleSystem.Particle>
---@param size int
---@param offset int
---@return Int32
function CS.UnityEngine.ParticleSystem.GetParticles(particles, size, offset) end

---@source UnityEngine.ParticleSystemModule.dll
---@param particles Unity.Collections.NativeArray<UnityEngine.ParticleSystem.Particle>
---@param size int
---@return Int32
function CS.UnityEngine.ParticleSystem.GetParticles(particles, size) end

---@source UnityEngine.ParticleSystemModule.dll
---@param particles Unity.Collections.NativeArray<UnityEngine.ParticleSystem.Particle>
---@return Int32
function CS.UnityEngine.ParticleSystem.GetParticles(particles) end

---@source UnityEngine.ParticleSystemModule.dll
---@param customData System.Collections.Generic.List<UnityEngine.Vector4>
---@param streamIndex UnityEngine.ParticleSystemCustomData
function CS.UnityEngine.ParticleSystem.SetCustomParticleData(customData, streamIndex) end

---@source UnityEngine.ParticleSystemModule.dll
---@param customData System.Collections.Generic.List<UnityEngine.Vector4>
---@param streamIndex UnityEngine.ParticleSystemCustomData
---@return Int32
function CS.UnityEngine.ParticleSystem.GetCustomParticleData(customData, streamIndex) end

--
--The current internal state of the Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@return PlaybackState
function CS.UnityEngine.ParticleSystem.GetPlaybackState() end

---@source UnityEngine.ParticleSystemModule.dll
---@param playbackState UnityEngine.ParticleSystem.PlaybackState
function CS.UnityEngine.ParticleSystem.SetPlaybackState(playbackState) end

--
--The variable to populate with the Trails that currently belong to the Particle System..
--
---@source UnityEngine.ParticleSystemModule.dll
---@return Trails
function CS.UnityEngine.ParticleSystem.GetTrails() end

---@source UnityEngine.ParticleSystemModule.dll
---@param trailData UnityEngine.ParticleSystem.Trails
---@return Int32
function CS.UnityEngine.ParticleSystem.GetTrails(trailData) end

---@source UnityEngine.ParticleSystemModule.dll
---@param trailData UnityEngine.ParticleSystem.Trails
function CS.UnityEngine.ParticleSystem.SetTrails(trailData) end

--
--Fast-forwards the Particle System by simulating particles over the given period of time, then pauses it.
--
--```plaintext
--Params: t - Time period in seconds to advance the ParticleSystem simulation by. If restart is true, the ParticleSystem will be reset to 0 time, and then advanced by this value. If restart is false, the ParticleSystem simulation will be advanced in time from its current state by this value.
--        withChildren - Fast-forward all child Particle Systems as well.
--        restart - Restart and start from the beginning.
--        fixedTimeStep - Only update the system at fixed intervals, based on the value in "Fixed Time" in the Time options.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param t float
---@param withChildren bool
---@param restart bool
---@param fixedTimeStep bool
function CS.UnityEngine.ParticleSystem.Simulate(t, withChildren, restart, fixedTimeStep) end

--
--Fast-forwards the Particle System by simulating particles over the given period of time, then pauses it.
--
--```plaintext
--Params: t - Time period in seconds to advance the ParticleSystem simulation by. If restart is true, the ParticleSystem will be reset to 0 time, and then advanced by this value. If restart is false, the ParticleSystem simulation will be advanced in time from its current state by this value.
--        withChildren - Fast-forward all child Particle Systems as well.
--        restart - Restart and start from the beginning.
--        fixedTimeStep - Only update the system at fixed intervals, based on the value in "Fixed Time" in the Time options.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param t float
---@param withChildren bool
---@param restart bool
function CS.UnityEngine.ParticleSystem.Simulate(t, withChildren, restart) end

--
--Fast-forwards the Particle System by simulating particles over the given period of time, then pauses it.
--
--```plaintext
--Params: t - Time period in seconds to advance the ParticleSystem simulation by. If restart is true, the ParticleSystem will be reset to 0 time, and then advanced by this value. If restart is false, the ParticleSystem simulation will be advanced in time from its current state by this value.
--        withChildren - Fast-forward all child Particle Systems as well.
--        restart - Restart and start from the beginning.
--        fixedTimeStep - Only update the system at fixed intervals, based on the value in "Fixed Time" in the Time options.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param t float
---@param withChildren bool
function CS.UnityEngine.ParticleSystem.Simulate(t, withChildren) end

--
--Fast-forwards the Particle System by simulating particles over the given period of time, then pauses it.
--
--```plaintext
--Params: t - Time period in seconds to advance the ParticleSystem simulation by. If restart is true, the ParticleSystem will be reset to 0 time, and then advanced by this value. If restart is false, the ParticleSystem simulation will be advanced in time from its current state by this value.
--        withChildren - Fast-forward all child Particle Systems as well.
--        restart - Restart and start from the beginning.
--        fixedTimeStep - Only update the system at fixed intervals, based on the value in "Fixed Time" in the Time options.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param t float
function CS.UnityEngine.ParticleSystem.Simulate(t) end

--
--Starts the Particle System.
--
--```plaintext
--Params: withChildren - Play all child Particle Systems as well.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param withChildren bool
function CS.UnityEngine.ParticleSystem.Play(withChildren) end

--
--Starts the Particle System.
--
--```plaintext
--Params: withChildren - Play all child Particle Systems as well.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.ParticleSystem.Play() end

--
--Pauses the system so no new particles are emitted and the existing particles are not updated.
--
--```plaintext
--Params: withChildren - Pause all child Particle Systems as well.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param withChildren bool
function CS.UnityEngine.ParticleSystem.Pause(withChildren) end

--
--Pauses the system so no new particles are emitted and the existing particles are not updated.
--
--```plaintext
--Params: withChildren - Pause all child Particle Systems as well.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.ParticleSystem.Pause() end

--
--Stops playing the Particle System using the supplied stop behaviour.
--
--```plaintext
--Params: withChildren - Stop all child Particle Systems as well.
--        stopBehavior - Stop emitting or stop emitting and clear the system.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param withChildren bool
---@param stopBehavior UnityEngine.ParticleSystemStopBehavior
function CS.UnityEngine.ParticleSystem.Stop(withChildren, stopBehavior) end

--
--Stops playing the Particle System using the supplied stop behaviour.
--
--```plaintext
--Params: withChildren - Stop all child Particle Systems as well.
--        stopBehavior - Stop emitting or stop emitting and clear the system.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param withChildren bool
function CS.UnityEngine.ParticleSystem.Stop(withChildren) end

--
--Stops playing the Particle System using the supplied stop behaviour.
--
--```plaintext
--Params: withChildren - Stop all child Particle Systems as well.
--        stopBehavior - Stop emitting or stop emitting and clear the system.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.ParticleSystem.Stop() end

--
--Remove all particles in the Particle System.
--
--```plaintext
--Params: withChildren - Clear all child Particle Systems as well.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param withChildren bool
function CS.UnityEngine.ParticleSystem.Clear(withChildren) end

--
--Remove all particles in the Particle System.
--
--```plaintext
--Params: withChildren - Clear all child Particle Systems as well.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.ParticleSystem.Clear() end

--
--True if the Particle System contains live particles or is still creating new particles. False if the Particle System has stopped emitting particles and all particles are dead.
--
--```plaintext
--Params: withChildren - Check all child Particle Systems as well.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param withChildren bool
---@return Boolean
function CS.UnityEngine.ParticleSystem.IsAlive(withChildren) end

--
--True if the Particle System contains live particles or is still creating new particles. False if the Particle System has stopped emitting particles and all particles are dead.
--
--```plaintext
--Params: withChildren - Check all child Particle Systems as well.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@return Boolean
function CS.UnityEngine.ParticleSystem.IsAlive() end

--
--Emit count particles immediately.
--
--```plaintext
--Params: count - Number of particles to emit.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param count int
function CS.UnityEngine.ParticleSystem.Emit(count) end

---@source UnityEngine.ParticleSystemModule.dll
---@param emitParams UnityEngine.ParticleSystem.EmitParams
---@param count int
function CS.UnityEngine.ParticleSystem.Emit(emitParams, count) end

--
--Triggers the specified sub emitter on all particles of the Particle System.
--
--```plaintext
--Params: subEmitterIndex - Index of the sub emitter to trigger.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param subEmitterIndex int
function CS.UnityEngine.ParticleSystem.TriggerSubEmitter(subEmitterIndex) end

---@source UnityEngine.ParticleSystemModule.dll
---@param subEmitterIndex int
---@param particle UnityEngine.ParticleSystem.Particle
function CS.UnityEngine.ParticleSystem.TriggerSubEmitter(subEmitterIndex, particle) end

---@source UnityEngine.ParticleSystemModule.dll
---@param subEmitterIndex int
---@param particles System.Collections.Generic.List<UnityEngine.ParticleSystem.Particle>
function CS.UnityEngine.ParticleSystem.TriggerSubEmitter(subEmitterIndex, particles) end

--
--Reset the cache of reserved graphics memory used for efficient rendering of Particle Systems.
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.ParticleSystem:ResetPreMappedBufferMemory() end

--
--Limits the amount of graphics memory Unity reserves for efficient rendering of Particle Systems.
--
--```plaintext
--Params: vertexBuffersCount - The maximum number of cached vertex buffers.
--        indexBuffersCount - The maximum number of cached index buffers.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param vertexBuffersCount int
---@param indexBuffersCount int
function CS.UnityEngine.ParticleSystem:SetMaximumPreMappedBufferCounts(vertexBuffersCount, indexBuffersCount) end

--
--Ensures that the ParticleSystemJobs.ParticleSystemJobData._axisOfRotations|axisOfRotations particle attribute array is allocated.
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.ParticleSystem.AllocateAxisOfRotationAttribute() end

--
--Ensures that the ParticleSystemJobs.ParticleSystemJobData._meshIndices|meshIndices particle attribute array is allocated.
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.ParticleSystem.AllocateMeshIndexAttribute() end

--
--Ensures that the ParticleSystemJobs.ParticleSystemJobData.customData1|customData1 and ParticleSystemJobs.ParticleSystemJobData.customData1|customData2 particle attribute arrays are allocated.
--
--```plaintext
--Params: stream - The custom data stream to allocate.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param stream UnityEngine.ParticleSystemCustomData
function CS.UnityEngine.ParticleSystem.AllocateCustomDataAttribute(stream) end


--
--Rigidbody physics component for 2D sprites.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.Rigidbody2D: UnityEngine.Component
--
--The position of the rigidbody.
--
---@source UnityEngine.Physics2DModule.dll
---@field position UnityEngine.Vector2
--
--The rotation of the rigidbody.
--
---@source UnityEngine.Physics2DModule.dll
---@field rotation float
--
--Linear velocity of the Rigidbody in units per second.
--
---@source UnityEngine.Physics2DModule.dll
---@field velocity UnityEngine.Vector2
--
--Angular velocity in degrees per second.
--
---@source UnityEngine.Physics2DModule.dll
---@field angularVelocity float
--
--Should the total rigid-body mass be automatically calculated from the Collider2D.density of attached colliders?
--
---@source UnityEngine.Physics2DModule.dll
---@field useAutoMass bool
--
--Mass of the Rigidbody.
--
---@source UnityEngine.Physics2DModule.dll
---@field mass float
--
--The PhysicsMaterial2D that is applied to all Collider2D attached to this Rigidbody2D.
--
---@source UnityEngine.Physics2DModule.dll
---@field sharedMaterial UnityEngine.PhysicsMaterial2D
--
--The center of mass of the rigidBody in local space.
--
---@source UnityEngine.Physics2DModule.dll
---@field centerOfMass UnityEngine.Vector2
--
--Gets the center of mass of the rigidBody in global space.
--
---@source UnityEngine.Physics2DModule.dll
---@field worldCenterOfMass UnityEngine.Vector2
--
--The Rigidbody's resistance to changes in angular velocity (rotation).
--
---@source UnityEngine.Physics2DModule.dll
---@field inertia float
--
--Coefficient of drag.
--
---@source UnityEngine.Physics2DModule.dll
---@field drag float
--
--Coefficient of angular drag.
--
---@source UnityEngine.Physics2DModule.dll
---@field angularDrag float
--
--The degree to which this object is affected by gravity.
--
---@source UnityEngine.Physics2DModule.dll
---@field gravityScale float
--
--The physical behaviour type of the Rigidbody2D.
--
---@source UnityEngine.Physics2DModule.dll
---@field bodyType UnityEngine.RigidbodyType2D
--
--Should kinematickinematic and kinematicstatic collisions be allowed?
--
---@source UnityEngine.Physics2DModule.dll
---@field useFullKinematicContacts bool
--
--Should this rigidbody be taken out of physics control?
--
---@source UnityEngine.Physics2DModule.dll
---@field isKinematic bool
--
--Should the rigidbody be prevented from rotating?
--
---@source UnityEngine.Physics2DModule.dll
---@field fixedAngle bool
--
--Controls whether physics will change the rotation of the object.
--
---@source UnityEngine.Physics2DModule.dll
---@field freezeRotation bool
--
--Controls which degrees of freedom are allowed for the simulation of this Rigidbody2D.
--
---@source UnityEngine.Physics2DModule.dll
---@field constraints UnityEngine.RigidbodyConstraints2D
--
--Indicates whether the rigid body should be simulated or not by the physics system.
--
---@source UnityEngine.Physics2DModule.dll
---@field simulated bool
--
--Physics interpolation used between updates.
--
---@source UnityEngine.Physics2DModule.dll
---@field interpolation UnityEngine.RigidbodyInterpolation2D
--
--The sleep state that the rigidbody will initially be in.
--
---@source UnityEngine.Physics2DModule.dll
---@field sleepMode UnityEngine.RigidbodySleepMode2D
--
--The method used by the physics engine to check if two objects have collided.
--
---@source UnityEngine.Physics2DModule.dll
---@field collisionDetectionMode UnityEngine.CollisionDetectionMode2D
--
--Returns the number of Collider2D attached to this Rigidbody2D.
--
---@source UnityEngine.Physics2DModule.dll
---@field attachedColliderCount int
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.Rigidbody2D = {}

--
--Sets the rotation of the Rigidbody2D to angle (given in degrees).
--
--```plaintext
--Params: angle - The rotation of the Rigidbody (in degrees).
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param angle float
function CS.UnityEngine.Rigidbody2D.SetRotation(angle) end

--
--Sets the rotation of the Rigidbody2D to the z-axis rotation extracted from the full 3D rotation.
--
--```plaintext
--Params: rotation - Full 3D rotation used to extract only the z-axis rotation.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param rotation UnityEngine.Quaternion
function CS.UnityEngine.Rigidbody2D.SetRotation(rotation) end

--
--Moves the rigidbody to position.
--
--```plaintext
--Params: position - The new position for the Rigidbody object.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param position UnityEngine.Vector2
function CS.UnityEngine.Rigidbody2D.MovePosition(position) end

--
--Rotates the Rigidbody to angle (given in degrees).
--
--```plaintext
--Params: angle - The new rotation angle for the Rigidbody object.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param angle float
function CS.UnityEngine.Rigidbody2D.MoveRotation(angle) end

--
--An overload of MoveRotation that allows a full 3D rotation as an argument.
--
--```plaintext
--Params: rotation - Full 3D rotation used to extract only the z-axis rotation.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param rotation UnityEngine.Quaternion
function CS.UnityEngine.Rigidbody2D.MoveRotation(rotation) end

--
--Is the rigidbody "sleeping"?
--
---@source UnityEngine.Physics2DModule.dll
---@return Boolean
function CS.UnityEngine.Rigidbody2D.IsSleeping() end

--
--Is the rigidbody "awake"?
--
---@source UnityEngine.Physics2DModule.dll
---@return Boolean
function CS.UnityEngine.Rigidbody2D.IsAwake() end

--
--Make the rigidbody "sleep".
--
---@source UnityEngine.Physics2DModule.dll
function CS.UnityEngine.Rigidbody2D.Sleep() end

--
--Disables the "sleeping" state of a rigidbody.
--
---@source UnityEngine.Physics2DModule.dll
function CS.UnityEngine.Rigidbody2D.WakeUp() end

--
--Whether the collider is touching any of the collider(s) attached to this rigidbody or not.
--
--```plaintext
--Params: collider - The collider to check if it is touching any of the collider(s) attached to this rigidbody.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@return Boolean
function CS.UnityEngine.Rigidbody2D.IsTouching(collider) end

--
--Whether the collider is touching any of the collider(s) attached to this rigidbody or not.
--
--```plaintext
--Params: collider - The collider to check if it is touching any of the collider(s) attached to this rigidbody.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param contactFilter UnityEngine.ContactFilter2D
---@return Boolean
function CS.UnityEngine.Rigidbody2D.IsTouching(collider, contactFilter) end

--
--Whether any collider is touching any of the collider(s) attached to this rigidbody or not.
--
--```plaintext
--Params: contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param contactFilter UnityEngine.ContactFilter2D
---@return Boolean
function CS.UnityEngine.Rigidbody2D.IsTouching(contactFilter) end

---@source UnityEngine.Physics2DModule.dll
---@return Boolean
function CS.UnityEngine.Rigidbody2D.IsTouchingLayers() end

--
--Whether any of the collider(s) attached to this rigidbody are touching any colliders on the specified layerMask or not.
--
--```plaintext
--Params: layerMask - Any colliders on any of these layers count as touching.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Rigidbody2D.IsTouchingLayers(layerMask) end

--
--Whether the point overlapped any of the Rigidbody2D colliders.
--
--```plaintext
--Params: point - A point in world space.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@return Boolean
function CS.UnityEngine.Rigidbody2D.OverlapPoint(point) end

--
--The minimum distance of collider against all colliders attached to this Rigidbody2D.
--
--```plaintext
--Params: collider - A collider used to calculate the minimum distance against all colliders attached to this Rigidbody2D.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@return ColliderDistance2D
function CS.UnityEngine.Rigidbody2D.Distance(collider) end

--
--A point on the perimeter of a Collider attached to this rigidbody that is closest to the specified position.
--
--```plaintext
--Params: position - The position from which to find the closest point on this Rigidbody.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param position UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Rigidbody2D.ClosestPoint(position) end

---@source UnityEngine.Physics2DModule.dll
---@param force UnityEngine.Vector2
function CS.UnityEngine.Rigidbody2D.AddForce(force) end

--
--Apply a force to the rigidbody.
--
--```plaintext
--Params: force - Components of the force in the X and Y axes.
--        mode - The method used to apply the specified force.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param force UnityEngine.Vector2
---@param mode UnityEngine.ForceMode2D
function CS.UnityEngine.Rigidbody2D.AddForce(force, mode) end

---@source UnityEngine.Physics2DModule.dll
---@param relativeForce UnityEngine.Vector2
function CS.UnityEngine.Rigidbody2D.AddRelativeForce(relativeForce) end

--
--Adds a force to the rigidbody2D relative to its coordinate system.
--
--```plaintext
--Params: relativeForce - Components of the force in the X and Y axes.
--        mode - The method used to apply the specified force.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param relativeForce UnityEngine.Vector2
---@param mode UnityEngine.ForceMode2D
function CS.UnityEngine.Rigidbody2D.AddRelativeForce(relativeForce, mode) end

---@source UnityEngine.Physics2DModule.dll
---@param force UnityEngine.Vector2
---@param position UnityEngine.Vector2
function CS.UnityEngine.Rigidbody2D.AddForceAtPosition(force, position) end

--
--Apply a force at a given position in space.
--
--```plaintext
--Params: force - Components of the force in the X and Y axes.
--        position - Position in world space to apply the force.
--        mode - The method used to apply the specified force.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param force UnityEngine.Vector2
---@param position UnityEngine.Vector2
---@param mode UnityEngine.ForceMode2D
function CS.UnityEngine.Rigidbody2D.AddForceAtPosition(force, position, mode) end

---@source UnityEngine.Physics2DModule.dll
---@param torque float
function CS.UnityEngine.Rigidbody2D.AddTorque(torque) end

--
--Apply a torque at the rigidbody's centre of mass.
--
--```plaintext
--Params: torque - Torque to apply.
--        mode - The force mode to use.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param torque float
---@param mode UnityEngine.ForceMode2D
function CS.UnityEngine.Rigidbody2D.AddTorque(torque, mode) end

--
--Get a local space point given the point point in rigidBody global space.
--
--```plaintext
--Params: point - The global space point to transform into local space.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Rigidbody2D.GetPoint(point) end

--
--Get a global space point given the point relativePoint in rigidBody local space.
--
--```plaintext
--Params: relativePoint - The local space point to transform into global space.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param relativePoint UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Rigidbody2D.GetRelativePoint(relativePoint) end

--
--Get a local space vector given the vector vector in rigidBody global space.
--
--```plaintext
--Params: vector - The global space vector to transform into a local space vector.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param vector UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Rigidbody2D.GetVector(vector) end

--
--Get a global space vector given the vector relativeVector in rigidBody local space.
--
--```plaintext
--Params: relativeVector - The local space vector to transform into a global space vector.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param relativeVector UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Rigidbody2D.GetRelativeVector(relativeVector) end

--
--The velocity of the rigidbody at the point Point in global space.
--
--```plaintext
--Params: point - The global space point to calculate velocity for.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Rigidbody2D.GetPointVelocity(point) end

--
--The velocity of the rigidbody at the point Point in local space.
--
--```plaintext
--Params: relativePoint - The local space point to calculate velocity for.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param relativePoint UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Rigidbody2D.GetRelativePointVelocity(relativePoint) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth.  Note that normal angle is not used for overlap testing.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Rigidbody2D.OverlapCollider(contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Rigidbody2D.OverlapCollider(contactFilter, results) end

--
--Returns the number of contacts placed in the contacts array.
--
--```plaintext
--Params: contacts - An array of ContactPoint2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param contacts UnityEngine.ContactPoint2D[]
---@return Int32
function CS.UnityEngine.Rigidbody2D.GetContacts(contacts) end

---@source UnityEngine.Physics2DModule.dll
---@param contacts System.Collections.Generic.List<UnityEngine.ContactPoint2D>
---@return Int32
function CS.UnityEngine.Rigidbody2D.GetContacts(contacts) end

--
--Returns the number of contacts placed in the contacts array.
--
--```plaintext
--Params: contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        contacts - An array of ContactPoint2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param contactFilter UnityEngine.ContactFilter2D
---@param contacts UnityEngine.ContactPoint2D[]
---@return Int32
function CS.UnityEngine.Rigidbody2D.GetContacts(contactFilter, contacts) end

---@source UnityEngine.Physics2DModule.dll
---@param contactFilter UnityEngine.ContactFilter2D
---@param contacts System.Collections.Generic.List<UnityEngine.ContactPoint2D>
---@return Int32
function CS.UnityEngine.Rigidbody2D.GetContacts(contactFilter, contacts) end

--
--Returns the number of colliders placed in the colliders array.
--
--```plaintext
--Params: colliders - An array of Collider2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param colliders UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Rigidbody2D.GetContacts(colliders) end

---@source UnityEngine.Physics2DModule.dll
---@param colliders System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Rigidbody2D.GetContacts(colliders) end

--
--Returns the number of colliders placed in the colliders array.
--
--```plaintext
--Params: contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        colliders - An array of Collider2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param contactFilter UnityEngine.ContactFilter2D
---@param colliders UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Rigidbody2D.GetContacts(contactFilter, colliders) end

---@source UnityEngine.Physics2DModule.dll
---@param contactFilter UnityEngine.ContactFilter2D
---@param colliders System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Rigidbody2D.GetContacts(contactFilter, colliders) end

--
--Returns the number of Collider2D placed in the results array.
--
--```plaintext
--Params: results - An array of Collider2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Rigidbody2D.GetAttachedColliders(results) end

---@source UnityEngine.Physics2DModule.dll
---@param results System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Rigidbody2D.GetAttachedColliders(results) end

---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Rigidbody2D.Cast(direction, results) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: direction - Vector representing the direction to cast each Collider2D shape.
--        results - Array to receive results.
--        distance - Maximum distance over which to cast the Collider(s).
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@return Int32
function CS.UnityEngine.Rigidbody2D.Cast(direction, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param results System.Collections.Generic.List<UnityEngine.RaycastHit2D>
---@param distance float
---@return Int32
function CS.UnityEngine.Rigidbody2D.Cast(direction, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Rigidbody2D.Cast(direction, contactFilter, results) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: direction - Vector representing the direction to cast each Collider2D shape.
--        contactFilter - Filter results defined by the contact filter.
--        results - Array to receive results.
--        distance - Maximum distance over which to cast the Collider(s).
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@return Int32
function CS.UnityEngine.Rigidbody2D.Cast(direction, contactFilter, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.RaycastHit2D>
---@param distance float
---@return Int32
function CS.UnityEngine.Rigidbody2D.Cast(direction, contactFilter, results, distance) end


--
--Parent class for collider types used with 2D gameplay.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.Collider2D: UnityEngine.Behaviour
--
--The density of the collider used to calculate its mass (when auto mass is enabled).
--
---@source UnityEngine.Physics2DModule.dll
---@field density float
--
--Is this collider configured as a trigger?
--
---@source UnityEngine.Physics2DModule.dll
---@field isTrigger bool
--
--Whether the collider is used by an attached effector or not.
--
---@source UnityEngine.Physics2DModule.dll
---@field usedByEffector bool
--
--Sets whether the Collider will be used or not used by a CompositeCollider2D.
--
---@source UnityEngine.Physics2DModule.dll
---@field usedByComposite bool
--
--Get the CompositeCollider2D that is available to be attached to the collider.
--
---@source UnityEngine.Physics2DModule.dll
---@field composite UnityEngine.CompositeCollider2D
--
--The local offset of the collider geometry.
--
---@source UnityEngine.Physics2DModule.dll
---@field offset UnityEngine.Vector2
--
--The Rigidbody2D attached to the Collider2D.
--
---@source UnityEngine.Physics2DModule.dll
---@field attachedRigidbody UnityEngine.Rigidbody2D
--
--The number of separate shaped regions in the collider.
--
---@source UnityEngine.Physics2DModule.dll
---@field shapeCount int
--
--The world space bounding area of the collider.
--
---@source UnityEngine.Physics2DModule.dll
---@field bounds UnityEngine.Bounds
--
--The PhysicsMaterial2D that is applied to this collider.
--
---@source UnityEngine.Physics2DModule.dll
---@field sharedMaterial UnityEngine.PhysicsMaterial2D
--
--Get the friction used by the collider.
--
---@source UnityEngine.Physics2DModule.dll
---@field friction float
--
--Get the bounciness used by the collider.
--
---@source UnityEngine.Physics2DModule.dll
---@field bounciness float
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.Collider2D = {}

--
--The planar Mesh created that matches the collider geometry or NULL if no Mesh could be created.
--
--```plaintext
--Params: useBodyPosition - Should the mesh be transformed by the position of the attached Rigidbody2D?
--        useBodyRotation - Should the mesh be transformed by the rotation of the attached Rigidbody2D?
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param useBodyPosition bool
---@param useBodyRotation bool
---@return Mesh
function CS.UnityEngine.Collider2D.CreateMesh(useBodyPosition, useBodyRotation) end

--
--A hash value that uniquely identifies the configured geometry of the Collider2D.
--
---@source UnityEngine.Physics2DModule.dll
---@return UInt32
function CS.UnityEngine.Collider2D.GetShapeHash() end

--
--Whether this collider is touching the collider or not.
--
--```plaintext
--Params: collider - The collider to check if it is touching this collider.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@return Boolean
function CS.UnityEngine.Collider2D.IsTouching(collider) end

--
--Whether this collider is touching the collider or not.
--
--```plaintext
--Params: collider - The collider to check if it is touching this collider.
--        contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@param contactFilter UnityEngine.ContactFilter2D
---@return Boolean
function CS.UnityEngine.Collider2D.IsTouching(collider, contactFilter) end

--
--Whether this collider is touching the collider or not.
--
--```plaintext
--Params: contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param contactFilter UnityEngine.ContactFilter2D
---@return Boolean
function CS.UnityEngine.Collider2D.IsTouching(contactFilter) end

---@source UnityEngine.Physics2DModule.dll
---@return Boolean
function CS.UnityEngine.Collider2D.IsTouchingLayers() end

--
--Whether this collider is touching any collider on the specified layerMask or not.
--
--```plaintext
--Params: layerMask - Any colliders on any of these layers count as touching.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Collider2D.IsTouchingLayers(layerMask) end

--
--Does point overlap the collider?
--
--```plaintext
--Params: point - A point in world space.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param point UnityEngine.Vector2
---@return Boolean
function CS.UnityEngine.Collider2D.OverlapPoint(point) end

--
--The minimum separation of collider and this collider.
--
--```plaintext
--Params: collider - A collider used to calculate the minimum separation against this collider.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param collider UnityEngine.Collider2D
---@return ColliderDistance2D
function CS.UnityEngine.Collider2D.Distance(collider) end

--
--Returns the number of results placed in the results array.
--
--```plaintext
--Params: contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth.  Note that normal angle is not used for overlap testing.
--        results - The array to receive results.  The size of the array determines the maximum number of results that can be returned.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Collider2D.OverlapCollider(contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Collider2D.OverlapCollider(contactFilter, results) end

--
--Returns the number of contacts placed in the contacts array.
--
--```plaintext
--Params: contacts - An array of ContactPoint2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param contacts UnityEngine.ContactPoint2D[]
---@return Int32
function CS.UnityEngine.Collider2D.GetContacts(contacts) end

---@source UnityEngine.Physics2DModule.dll
---@param contacts System.Collections.Generic.List<UnityEngine.ContactPoint2D>
---@return Int32
function CS.UnityEngine.Collider2D.GetContacts(contacts) end

--
--Returns the number of contacts placed in the contacts array.
--
--```plaintext
--Params: contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        contacts - An array of ContactPoint2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param contactFilter UnityEngine.ContactFilter2D
---@param contacts UnityEngine.ContactPoint2D[]
---@return Int32
function CS.UnityEngine.Collider2D.GetContacts(contactFilter, contacts) end

---@source UnityEngine.Physics2DModule.dll
---@param contactFilter UnityEngine.ContactFilter2D
---@param contacts System.Collections.Generic.List<UnityEngine.ContactPoint2D>
---@return Int32
function CS.UnityEngine.Collider2D.GetContacts(contactFilter, contacts) end

--
--Returns the number of contacts placed in the colliders array.
--
--```plaintext
--Params: colliders - An array of Collider2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param colliders UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Collider2D.GetContacts(colliders) end

---@source UnityEngine.Physics2DModule.dll
---@param colliders System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Collider2D.GetContacts(colliders) end

--
--Returns the number of colliders placed in the colliders array.
--
--```plaintext
--Params: contactFilter - The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.
--        colliders - An array of Collider2D used to receive the results.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param contactFilter UnityEngine.ContactFilter2D
---@param colliders UnityEngine.Collider2D[]
---@return Int32
function CS.UnityEngine.Collider2D.GetContacts(contactFilter, colliders) end

---@source UnityEngine.Physics2DModule.dll
---@param contactFilter UnityEngine.ContactFilter2D
---@param colliders System.Collections.Generic.List<UnityEngine.Collider2D>
---@return Int32
function CS.UnityEngine.Collider2D.GetContacts(contactFilter, colliders) end

---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Collider2D.Cast(direction, results) end

---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@return Int32
function CS.UnityEngine.Collider2D.Cast(direction, results, distance) end

--
--The number of results returned.
--
--```plaintext
--Params: direction - Vector representing the direction to cast the shape.
--        results - Array to receive results.
--        distance - Maximum distance over which to cast the shape.
--        ignoreSiblingColliders - Determines whether the cast should ignore Colliders attached to the same Rigidbody2D (known as sibling Colliders).
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param ignoreSiblingColliders bool
---@return Int32
function CS.UnityEngine.Collider2D.Cast(direction, results, distance, ignoreSiblingColliders) end

---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Collider2D.Cast(direction, contactFilter, results) end

---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@return Int32
function CS.UnityEngine.Collider2D.Cast(direction, contactFilter, results, distance) end

--
--The number of results returned.
--
--```plaintext
--Params: direction - Vector representing the direction to cast the shape.
--        contactFilter - Filter results defined by the contact filter.
--        results - Array to receive results.
--        distance - Maximum distance over which to cast the shape.
--        ignoreSiblingColliders - Determines whether the cast should ignore Colliders attached to the same Rigidbody2D (known as sibling Colliders).
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param ignoreSiblingColliders bool
---@return Int32
function CS.UnityEngine.Collider2D.Cast(direction, contactFilter, results, distance, ignoreSiblingColliders) end

---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.RaycastHit2D>
---@param distance float
---@param ignoreSiblingColliders bool
---@return Int32
function CS.UnityEngine.Collider2D.Cast(direction, contactFilter, results, distance, ignoreSiblingColliders) end

---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Collider2D.Raycast(direction, results) end

---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@return Int32
function CS.UnityEngine.Collider2D.Raycast(direction, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param layerMask int
---@return Int32
function CS.UnityEngine.Collider2D.Raycast(direction, results, distance, layerMask) end

---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param layerMask int
---@param minDepth float
---@return Int32
function CS.UnityEngine.Collider2D.Raycast(direction, results, distance, layerMask, minDepth) end

--
--The number of results returned.
--
--```plaintext
--Params: direction - Vector representing the direction of the ray.
--        results - Array to receive results.
--        distance - Maximum distance over which to cast the ray.
--        layerMask - Filter to check objects only on specific layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than this value.
--        contactFilter - Filter results defined by the contact filter.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@param layerMask int
---@param minDepth float
---@param maxDepth float
---@return Int32
function CS.UnityEngine.Collider2D.Raycast(direction, results, distance, layerMask, minDepth, maxDepth) end

---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@return Int32
function CS.UnityEngine.Collider2D.Raycast(direction, contactFilter, results) end

--
--The number of results returned.
--
--```plaintext
--Params: direction - Vector representing the direction of the ray.
--        results - Array to receive results.
--        distance - Maximum distance over which to cast the ray.
--        layerMask - Filter to check objects only on specific layers.
--        minDepth - Only include objects with a Z coordinate (depth) greater than this value.
--        maxDepth - Only include objects with a Z coordinate (depth) less than this value.
--        contactFilter - Filter results defined by the contact filter.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results UnityEngine.RaycastHit2D[]
---@param distance float
---@return Int32
function CS.UnityEngine.Collider2D.Raycast(direction, contactFilter, results, distance) end

---@source UnityEngine.Physics2DModule.dll
---@param direction UnityEngine.Vector2
---@param contactFilter UnityEngine.ContactFilter2D
---@param results System.Collections.Generic.List<UnityEngine.RaycastHit2D>
---@param distance float
---@return Int32
function CS.UnityEngine.Collider2D.Raycast(direction, contactFilter, results, distance) end

--
--A point on the perimeter of this Collider that is closest to the specified position.
--
--```plaintext
--Params: position - The position from which to find the closest point on this Collider.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param position UnityEngine.Vector2
---@return Vector2
function CS.UnityEngine.Collider2D.ClosestPoint(position) end


--
--Collider for 2D physics representing an circle.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.CircleCollider2D: UnityEngine.Collider2D
--
--Radius of the circle.
--
---@source UnityEngine.Physics2DModule.dll
---@field radius float
--
--The center point of the collider in local space.
--
---@source UnityEngine.Physics2DModule.dll
---@field center UnityEngine.Vector2
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.CircleCollider2D = {}


--
--A capsule-shaped primitive collider.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.CapsuleCollider2D: UnityEngine.Collider2D
--
--The width and height of the capsule area.
--
---@source UnityEngine.Physics2DModule.dll
---@field size UnityEngine.Vector2
--
--The direction that the capsule sides can extend.
--
---@source UnityEngine.Physics2DModule.dll
---@field direction UnityEngine.CapsuleDirection2D
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.CapsuleCollider2D = {}


--
--Specifies the type of geometry the Composite Collider generates.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.GeometryType: System.Enum
--
--Sets the Composite Collider to generate closed outlines for the merged Collider geometry consisting of only edges.
--
---@source UnityEngine.Physics2DModule.dll
---@field Outlines UnityEngine.CompositeCollider2D.GeometryType
--
--Sets the Composite Collider to generate closed outlines for the merged Collider geometry consisting of convex polygon shapes.
--
---@source UnityEngine.Physics2DModule.dll
---@field Polygons UnityEngine.CompositeCollider2D.GeometryType
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.GeometryType = {}

---@source 
---@param value any
---@return UnityEngine.CompositeCollider2D.GeometryType
function CS.UnityEngine.GeometryType:__CastFrom(value) end


--
--Specifies when to generate the Composite Collider geometry.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.GenerationType: System.Enum
--
--Sets the Composite Collider geometry to update synchronously immediately when a Collider used by the Composite Collider changes.
--
---@source UnityEngine.Physics2DModule.dll
---@field Synchronous UnityEngine.CompositeCollider2D.GenerationType
--
--Sets the Composite Collider geometry to not automatically update when a Collider used by the Composite Collider changes.
--
---@source UnityEngine.Physics2DModule.dll
---@field Manual UnityEngine.CompositeCollider2D.GenerationType
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.GenerationType = {}

---@source 
---@param value any
---@return UnityEngine.CompositeCollider2D.GenerationType
function CS.UnityEngine.GenerationType:__CastFrom(value) end


--
--Parent class for joints to connect Rigidbody2D objects.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.Joint2D: UnityEngine.Behaviour
--
--The Rigidbody2D attached to the Joint2D.
--
---@source UnityEngine.Physics2DModule.dll
---@field attachedRigidbody UnityEngine.Rigidbody2D
--
--The Rigidbody2D object to which the other end of the joint is attached (ie, the object without the joint component).
--
---@source UnityEngine.Physics2DModule.dll
---@field connectedBody UnityEngine.Rigidbody2D
--
--Should the two rigid bodies connected with this joint collide with each other?
--
---@source UnityEngine.Physics2DModule.dll
---@field enableCollision bool
--
--The force that needs to be applied for this joint to break.
--
---@source UnityEngine.Physics2DModule.dll
---@field breakForce float
--
--The torque that needs to be applied for this joint to break.
--
---@source UnityEngine.Physics2DModule.dll
---@field breakTorque float
--
--Gets the reaction force of the joint.
--
---@source UnityEngine.Physics2DModule.dll
---@field reactionForce UnityEngine.Vector2
--
--Gets the reaction torque of the joint.
--
---@source UnityEngine.Physics2DModule.dll
---@field reactionTorque float
--
--Can the joint collide with the other Rigidbody2D object to which it is attached?
--
---@source UnityEngine.Physics2DModule.dll
---@field collideConnected bool
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.Joint2D = {}

--
--The reaction force of the joint in the specified timeStep.
--
--```plaintext
--Params: timeStep - The time to calculate the reaction force for.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param timeStep float
---@return Vector2
function CS.UnityEngine.Joint2D.GetReactionForce(timeStep) end

--
--The reaction torque of the joint in the specified timeStep.
--
--```plaintext
--Params: timeStep - The time to calculate the reaction torque for.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param timeStep float
---@return Single
function CS.UnityEngine.Joint2D.GetReactionTorque(timeStep) end


--
--Parent class for all joints that have anchor points.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.AnchoredJoint2D: UnityEngine.Joint2D
--
--The joint's anchor point on the object that has the joint component.
--
---@source UnityEngine.Physics2DModule.dll
---@field anchor UnityEngine.Vector2
--
--The joint's anchor point on the second object (ie, the one which doesn't have the joint component).
--
---@source UnityEngine.Physics2DModule.dll
---@field connectedAnchor UnityEngine.Vector2
--
--Should the connectedAnchor be calculated automatically?
--
---@source UnityEngine.Physics2DModule.dll
---@field autoConfigureConnectedAnchor bool
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.AnchoredJoint2D = {}


--
--Joint that attempts to keep two Rigidbody2D objects a set distance apart by applying a force between them.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.SpringJoint2D: UnityEngine.AnchoredJoint2D
--
--Should the distance be calculated automatically?
--
---@source UnityEngine.Physics2DModule.dll
---@field autoConfigureDistance bool
--
--The distance the spring will try to keep between the two objects.
--
---@source UnityEngine.Physics2DModule.dll
---@field distance float
--
--The amount by which the spring force is reduced in proportion to the movement speed.
--
---@source UnityEngine.Physics2DModule.dll
---@field dampingRatio float
--
--The frequency at which the spring oscillates around the distance distance between the objects.
--
---@source UnityEngine.Physics2DModule.dll
---@field frequency float
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.SpringJoint2D = {}


--
--Joint that keeps two Rigidbody2D objects a fixed distance apart.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.DistanceJoint2D: UnityEngine.AnchoredJoint2D
--
--Should the distance be calculated automatically?
--
---@source UnityEngine.Physics2DModule.dll
---@field autoConfigureDistance bool
--
--The distance separating the two ends of the joint.
--
---@source UnityEngine.Physics2DModule.dll
---@field distance float
--
--Whether to maintain a maximum distance only or not.  If not then the absolute distance will be maintained instead.
--
---@source UnityEngine.Physics2DModule.dll
---@field maxDistanceOnly bool
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.DistanceJoint2D = {}


--
--Applies both force and torque to reduce both the linear and angular velocities to zero.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.FrictionJoint2D: UnityEngine.AnchoredJoint2D
--
--The maximum force that can be generated when trying to maintain the friction joint constraint.
--
---@source UnityEngine.Physics2DModule.dll
---@field maxForce float
--
--The maximum torque that can be generated when trying to maintain the friction joint constraint.
--
---@source UnityEngine.Physics2DModule.dll
---@field maxTorque float
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.FrictionJoint2D = {}


--
--Joint that allows a Rigidbody2D object to rotate around a point in space or a point on another object.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.HingeJoint2D: UnityEngine.AnchoredJoint2D
--
--Should the joint be rotated automatically by a motor torque?
--
---@source UnityEngine.Physics2DModule.dll
---@field useMotor bool
--
--Should limits be placed on the range of rotation?
--
---@source UnityEngine.Physics2DModule.dll
---@field useLimits bool
--
--Parameters for the motor force applied to the joint.
--
---@source UnityEngine.Physics2DModule.dll
---@field motor UnityEngine.JointMotor2D
--
--Limit of angular rotation (in degrees) on the joint.
--
---@source UnityEngine.Physics2DModule.dll
---@field limits UnityEngine.JointAngleLimits2D
--
--Gets the state of the joint limit.
--
---@source UnityEngine.Physics2DModule.dll
---@field limitState UnityEngine.JointLimitState2D
--
--The angle (in degrees) referenced between the two bodies used as the constraint for the joint.
--
---@source UnityEngine.Physics2DModule.dll
---@field referenceAngle float
--
--The current joint angle (in degrees) with respect to the reference angle.
--
---@source UnityEngine.Physics2DModule.dll
---@field jointAngle float
--
--The current joint speed.
--
---@source UnityEngine.Physics2DModule.dll
---@field jointSpeed float
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.HingeJoint2D = {}

--
--Gets the motor torque of the joint given the specified timestep.
--
--```plaintext
--Params: timeStep - The time to calculate the motor torque for.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param timeStep float
---@return Single
function CS.UnityEngine.HingeJoint2D.GetMotorTorque(timeStep) end


--
--Keeps two Rigidbody2D at their relative orientations.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.RelativeJoint2D: UnityEngine.Joint2D
--
--The maximum force that can be generated when trying to maintain the relative joint constraint.
--
---@source UnityEngine.Physics2DModule.dll
---@field maxForce float
--
--The maximum torque that can be generated when trying to maintain the relative joint constraint.
--
---@source UnityEngine.Physics2DModule.dll
---@field maxTorque float
--
--Scales both the linear and angular forces used to correct the required relative orientation.
--
---@source UnityEngine.Physics2DModule.dll
---@field correctionScale float
--
--Should both the linearOffset and angularOffset be calculated automatically?
--
---@source UnityEngine.Physics2DModule.dll
---@field autoConfigureOffset bool
--
--The current linear offset between the Rigidbody2D that the joint connects.
--
---@source UnityEngine.Physics2DModule.dll
---@field linearOffset UnityEngine.Vector2
--
--The current angular offset between the Rigidbody2D that the joint connects.
--
---@source UnityEngine.Physics2DModule.dll
---@field angularOffset float
--
--The world-space position that is currently trying to be maintained.
--
---@source UnityEngine.Physics2DModule.dll
---@field target UnityEngine.Vector2
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.RelativeJoint2D = {}


--
--Joint that restricts the motion of a Rigidbody2D object to a single line.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.SliderJoint2D: UnityEngine.AnchoredJoint2D
--
--Should the angle be calculated automatically?
--
---@source UnityEngine.Physics2DModule.dll
---@field autoConfigureAngle bool
--
--The angle of the line in space (in degrees).
--
---@source UnityEngine.Physics2DModule.dll
---@field angle float
--
--Should a motor force be applied automatically to the Rigidbody2D?
--
---@source UnityEngine.Physics2DModule.dll
---@field useMotor bool
--
--Should motion limits be used?
--
---@source UnityEngine.Physics2DModule.dll
---@field useLimits bool
--
--Parameters for a motor force that is applied automatically to the Rigibody2D along the line.
--
---@source UnityEngine.Physics2DModule.dll
---@field motor UnityEngine.JointMotor2D
--
--Restrictions on how far the joint can slide in each direction along the line.
--
---@source UnityEngine.Physics2DModule.dll
---@field limits UnityEngine.JointTranslationLimits2D
--
--Gets the state of the joint limit.
--
---@source UnityEngine.Physics2DModule.dll
---@field limitState UnityEngine.JointLimitState2D
--
--The angle (in degrees) referenced between the two bodies used as the constraint for the joint.
--
---@source UnityEngine.Physics2DModule.dll
---@field referenceAngle float
--
--The current joint translation.
--
---@source UnityEngine.Physics2DModule.dll
---@field jointTranslation float
--
--The current joint speed.
--
---@source UnityEngine.Physics2DModule.dll
---@field jointSpeed float
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.SliderJoint2D = {}

--
--Gets the motor force of the joint given the specified timestep.
--
--```plaintext
--Params: timeStep - The time to calculate the motor force for.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param timeStep float
---@return Single
function CS.UnityEngine.SliderJoint2D.GetMotorForce(timeStep) end


--
--The joint attempts to move a Rigidbody2D to a specific target position.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.TargetJoint2D: UnityEngine.Joint2D
--
--The local-space anchor on the rigid-body the joint is attached to.
--
---@source UnityEngine.Physics2DModule.dll
---@field anchor UnityEngine.Vector2
--
--The world-space position that the joint will attempt to move the body to.
--
---@source UnityEngine.Physics2DModule.dll
---@field target UnityEngine.Vector2
--
--Should the target be calculated automatically?
--
---@source UnityEngine.Physics2DModule.dll
---@field autoConfigureTarget bool
--
--The maximum force that can be generated when trying to maintain the target joint constraint.
--
---@source UnityEngine.Physics2DModule.dll
---@field maxForce float
--
--The amount by which the target spring force is reduced in proportion to the movement speed.
--
---@source UnityEngine.Physics2DModule.dll
---@field dampingRatio float
--
--The frequency at which the target spring oscillates around the target position.
--
---@source UnityEngine.Physics2DModule.dll
---@field frequency float
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.TargetJoint2D = {}


--
--Connects two Rigidbody2D together at their anchor points using a configurable spring.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.FixedJoint2D: UnityEngine.AnchoredJoint2D
--
--The amount by which the spring force is reduced in proportion to the movement speed.
--
---@source UnityEngine.Physics2DModule.dll
---@field dampingRatio float
--
--The frequency at which the spring oscillates around the distance between the objects.
--
---@source UnityEngine.Physics2DModule.dll
---@field frequency float
--
--The angle referenced between the two bodies used as the constraint for the joint.
--
---@source UnityEngine.Physics2DModule.dll
---@field referenceAngle float
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.FixedJoint2D = {}


--
--The wheel joint allows the simulation of wheels by providing a constraining suspension motion with an optional motor.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.WheelJoint2D: UnityEngine.AnchoredJoint2D
--
--Set the joint suspension configuration.
--
---@source UnityEngine.Physics2DModule.dll
---@field suspension UnityEngine.JointSuspension2D
--
--Should a motor force be applied automatically to the Rigidbody2D?
--
---@source UnityEngine.Physics2DModule.dll
---@field useMotor bool
--
--Parameters for a motor force that is applied automatically to the Rigibody2D along the line.
--
---@source UnityEngine.Physics2DModule.dll
---@field motor UnityEngine.JointMotor2D
--
--The current joint translation.
--
---@source UnityEngine.Physics2DModule.dll
---@field jointTranslation float
--
--The current joint linear speed in meters/sec.
--
---@source UnityEngine.Physics2DModule.dll
---@field jointLinearSpeed float
--
--The current joint rotational speed in degrees/sec.
--
---@source UnityEngine.Physics2DModule.dll
---@field jointSpeed float
--
--The current joint angle (in degrees) defined as the relative angle between the two Rigidbody2D that the joint connects to.
--
---@source UnityEngine.Physics2DModule.dll
---@field jointAngle float
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.WheelJoint2D = {}

--
--Gets the motor torque of the joint given the specified timestep.
--
--```plaintext
--Params: timeStep - The time to calculate the motor torque for.
--        
--```
--
---@source UnityEngine.Physics2DModule.dll
---@param timeStep float
---@return Single
function CS.UnityEngine.WheelJoint2D.GetMotorTorque(timeStep) end


--
--A base class for all 2D effectors.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.Effector2D: UnityEngine.Behaviour
--
--Should the collider-mask be used or the global collision matrix?
--
---@source UnityEngine.Physics2DModule.dll
---@field useColliderMask bool
--
--The mask used to select specific layers allowed to interact with the effector.
--
---@source UnityEngine.Physics2DModule.dll
---@field colliderMask int
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.Effector2D = {}


--
--CollisionFlags is a bitmask returned by CharacterController.Move.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.CollisionFlags: System.Enum
--
--CollisionFlags is a bitmask returned by CharacterController.Move.
--
---@source UnityEngine.PhysicsModule.dll
---@field None UnityEngine.CollisionFlags
--
--CollisionFlags is a bitmask returned by CharacterController.Move.
--
---@source UnityEngine.PhysicsModule.dll
---@field Sides UnityEngine.CollisionFlags
--
--CollisionFlags is a bitmask returned by CharacterController.Move.
--
---@source UnityEngine.PhysicsModule.dll
---@field Above UnityEngine.CollisionFlags
--
--CollisionFlags is a bitmask returned by CharacterController.Move.
--
---@source UnityEngine.PhysicsModule.dll
---@field Below UnityEngine.CollisionFlags
---@source UnityEngine.PhysicsModule.dll
---@field CollidedSides UnityEngine.CollisionFlags
---@source UnityEngine.PhysicsModule.dll
---@field CollidedAbove UnityEngine.CollisionFlags
---@source UnityEngine.PhysicsModule.dll
---@field CollidedBelow UnityEngine.CollisionFlags
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.CollisionFlags = {}

---@source 
---@param value any
---@return UnityEngine.CollisionFlags
function CS.UnityEngine.CollisionFlags:__CastFrom(value) end


--
--Applies forces within an area.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.AreaEffector2D: UnityEngine.Effector2D
--
--The angle of the force to be applied.
--
---@source UnityEngine.Physics2DModule.dll
---@field forceAngle float
--
--Should the forceAngle use global space?
--
---@source UnityEngine.Physics2DModule.dll
---@field useGlobalAngle bool
--
--The magnitude of the force to be applied.
--
---@source UnityEngine.Physics2DModule.dll
---@field forceMagnitude float
--
--The variation of the magnitude of the force to be applied.
--
---@source UnityEngine.Physics2DModule.dll
---@field forceVariation float
--
--The linear drag to apply to rigid-bodies.
--
---@source UnityEngine.Physics2DModule.dll
---@field drag float
--
--The angular drag to apply to rigid-bodies.
--
---@source UnityEngine.Physics2DModule.dll
---@field angularDrag float
--
--The target for where the effector applies any force.
--
---@source UnityEngine.Physics2DModule.dll
---@field forceTarget UnityEngine.EffectorSelection2D
---@source UnityEngine.Physics2DModule.dll
---@field forceDirection float
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.AreaEffector2D = {}


--
--Applies forces to simulate buoyancy, fluid-flow and fluid drag.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.BuoyancyEffector2D: UnityEngine.Effector2D
--
--Defines an arbitrary horizontal line that represents the fluid surface level.
--
---@source UnityEngine.Physics2DModule.dll
---@field surfaceLevel float
--
--The density of the fluid used to calculate the buoyancy forces.
--
---@source UnityEngine.Physics2DModule.dll
---@field density float
--
--A force applied to slow linear movement of any Collider2D in contact with the effector.
--
---@source UnityEngine.Physics2DModule.dll
---@field linearDrag float
--
--A force applied to slow angular movement of any Collider2D in contact with the effector.
--
---@source UnityEngine.Physics2DModule.dll
---@field angularDrag float
--
--The angle of the force used to similate fluid flow.
--
---@source UnityEngine.Physics2DModule.dll
---@field flowAngle float
--
--The magnitude of the force used to similate fluid flow.
--
---@source UnityEngine.Physics2DModule.dll
---@field flowMagnitude float
--
--The random variation of the force used to similate fluid flow.
--
---@source UnityEngine.Physics2DModule.dll
---@field flowVariation float
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.BuoyancyEffector2D = {}


--
--Applies forces to attract/repulse against a point.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.PointEffector2D: UnityEngine.Effector2D
--
--The magnitude of the force to be applied.
--
---@source UnityEngine.Physics2DModule.dll
---@field forceMagnitude float
--
--The variation of the magnitude of the force to be applied.
--
---@source UnityEngine.Physics2DModule.dll
---@field forceVariation float
--
--The scale applied to the calculated distance between source and target.
--
---@source UnityEngine.Physics2DModule.dll
---@field distanceScale float
--
--The linear drag to apply to rigid-bodies.
--
---@source UnityEngine.Physics2DModule.dll
---@field drag float
--
--The angular drag to apply to rigid-bodies.
--
---@source UnityEngine.Physics2DModule.dll
---@field angularDrag float
--
--The source which is used to calculate the centroid point of the effector.  The distance from the target is defined from this point.
--
---@source UnityEngine.Physics2DModule.dll
---@field forceSource UnityEngine.EffectorSelection2D
--
--The target for where the effector applies any force.
--
---@source UnityEngine.Physics2DModule.dll
---@field forceTarget UnityEngine.EffectorSelection2D
--
--The mode used to apply the effector force.
--
---@source UnityEngine.Physics2DModule.dll
---@field forceMode UnityEngine.EffectorForceMode2D
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.PointEffector2D = {}


--
--Applies "platform" behaviour such as one-way collisions etc.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.PlatformEffector2D: UnityEngine.Effector2D
--
--Should the one-way collision behaviour be used?
--
---@source UnityEngine.Physics2DModule.dll
---@field useOneWay bool
--
--Ensures that all contacts controlled by the one-way behaviour act the same.
--
---@source UnityEngine.Physics2DModule.dll
---@field useOneWayGrouping bool
--
--Should friction be used on the platform sides?
--
---@source UnityEngine.Physics2DModule.dll
---@field useSideFriction bool
--
--Should bounce be used on the platform sides?
--
---@source UnityEngine.Physics2DModule.dll
---@field useSideBounce bool
--
--The angle of an arc that defines the surface of the platform centered of the local 'up' of the effector.
--
---@source UnityEngine.Physics2DModule.dll
---@field surfaceArc float
--
--The angle of an arc that defines the sides of the platform centered on the local 'left' and 'right' of the effector. Any collision normals within this arc are considered for the 'side' behaviours.
--
---@source UnityEngine.Physics2DModule.dll
---@field sideArc float
--
--The rotational offset angle from the local 'up'.
--
---@source UnityEngine.Physics2DModule.dll
---@field rotationalOffset float
--
--Whether to use one-way collision behaviour or not.
--
---@source UnityEngine.Physics2DModule.dll
---@field oneWay bool
--
--Whether friction should be used on the platform sides or not.
--
---@source UnityEngine.Physics2DModule.dll
---@field sideFriction bool
--
--Whether bounce should be used on the platform sides or not.
--
---@source UnityEngine.Physics2DModule.dll
---@field sideBounce bool
--
--The angle variance centered on the sides of the platform.  Zero angle only matches sides 90-degree to the platform "top".
--
---@source UnityEngine.Physics2DModule.dll
---@field sideAngleVariance float
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.PlatformEffector2D = {}


--
--Applies tangent forces along the surfaces of colliders.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.SurfaceEffector2D: UnityEngine.Effector2D
--
--The speed to be maintained along the surface.
--
---@source UnityEngine.Physics2DModule.dll
---@field speed float
--
--The speed variation (from zero to the variation) added to base speed to be applied.
--
---@source UnityEngine.Physics2DModule.dll
---@field speedVariation float
--
--The scale of the impulse force applied while attempting to reach the surface speed.
--
---@source UnityEngine.Physics2DModule.dll
---@field forceScale float
--
--Should the impulse force but applied to the contact point?
--
---@source UnityEngine.Physics2DModule.dll
---@field useContactForce bool
--
--Should friction be used for any contact with the surface?
--
---@source UnityEngine.Physics2DModule.dll
---@field useFriction bool
--
--Should bounce be used for any contact with the surface?
--
---@source UnityEngine.Physics2DModule.dll
---@field useBounce bool
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.SurfaceEffector2D = {}


--
--A base type for 2D physics components that required a callback during FixedUpdate.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.PhysicsUpdateBehaviour2D: UnityEngine.Behaviour
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.PhysicsUpdateBehaviour2D = {}


--
--Overrides the global Physics.queriesHitTriggers.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.QueryTriggerInteraction: System.Enum
--
--Queries use the global Physics.queriesHitTriggers setting.
--
---@source UnityEngine.PhysicsModule.dll
---@field UseGlobal UnityEngine.QueryTriggerInteraction
--
--Queries never report Trigger hits.
--
---@source UnityEngine.PhysicsModule.dll
---@field Ignore UnityEngine.QueryTriggerInteraction
--
--Queries always report Trigger hits.
--
---@source UnityEngine.PhysicsModule.dll
---@field Collide UnityEngine.QueryTriggerInteraction
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.QueryTriggerInteraction = {}

---@source 
---@param value any
---@return UnityEngine.QueryTriggerInteraction
function CS.UnityEngine.QueryTriggerInteraction:__CastFrom(value) end


--
--Applies both linear and angular (torque) forces continuously to the rigidbody each physics update.
--
---@source UnityEngine.Physics2DModule.dll
---@class UnityEngine.ConstantForce2D: UnityEngine.PhysicsUpdateBehaviour2D
--
--The linear force applied to the rigidbody each physics update.
--
---@source UnityEngine.Physics2DModule.dll
---@field force UnityEngine.Vector2
--
--The linear force, relative to the rigid-body coordinate system, applied each physics update.
--
---@source UnityEngine.Physics2DModule.dll
---@field relativeForce UnityEngine.Vector2
--
--The torque applied to the rigidbody each physics update.
--
---@source UnityEngine.Physics2DModule.dll
---@field torque float
---@source UnityEngine.Physics2DModule.dll
CS.UnityEngine.ConstantForce2D = {}


--
--The collision detection mode constants used for Rigidbody.collisionDetectionMode.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.CollisionDetectionMode: System.Enum
--
--Continuous collision detection is off for this Rigidbody.
--
---@source UnityEngine.PhysicsModule.dll
---@field Discrete UnityEngine.CollisionDetectionMode
--
--Continuous collision detection is on for colliding with static mesh geometry.
--
---@source UnityEngine.PhysicsModule.dll
---@field Continuous UnityEngine.CollisionDetectionMode
--
--Continuous collision detection is on for colliding with static and dynamic geometry.
--
---@source UnityEngine.PhysicsModule.dll
---@field ContinuousDynamic UnityEngine.CollisionDetectionMode
--
--Speculative continuous collision detection is on for static and dynamic geometries
--
---@source UnityEngine.PhysicsModule.dll
---@field ContinuousSpeculative UnityEngine.CollisionDetectionMode
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.CollisionDetectionMode = {}

---@source 
---@param value any
---@return UnityEngine.CollisionDetectionMode
function CS.UnityEngine.CollisionDetectionMode:__CastFrom(value) end


--
--Use these flags to constrain motion of Rigidbodies.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.RigidbodyConstraints: System.Enum
--
--No constraints.
--
---@source UnityEngine.PhysicsModule.dll
---@field None UnityEngine.RigidbodyConstraints
--
--Freeze motion along the X-axis.
--
---@source UnityEngine.PhysicsModule.dll
---@field FreezePositionX UnityEngine.RigidbodyConstraints
--
--Freeze motion along the Y-axis.
--
---@source UnityEngine.PhysicsModule.dll
---@field FreezePositionY UnityEngine.RigidbodyConstraints
--
--Freeze motion along the Z-axis.
--
---@source UnityEngine.PhysicsModule.dll
---@field FreezePositionZ UnityEngine.RigidbodyConstraints
--
--Freeze rotation along the X-axis.
--
---@source UnityEngine.PhysicsModule.dll
---@field FreezeRotationX UnityEngine.RigidbodyConstraints
--
--Freeze rotation along the Y-axis.
--
---@source UnityEngine.PhysicsModule.dll
---@field FreezeRotationY UnityEngine.RigidbodyConstraints
--
--Freeze rotation along the Z-axis.
--
---@source UnityEngine.PhysicsModule.dll
---@field FreezeRotationZ UnityEngine.RigidbodyConstraints
--
--Freeze motion along all axes.
--
---@source UnityEngine.PhysicsModule.dll
---@field FreezePosition UnityEngine.RigidbodyConstraints
--
--Freeze rotation along all axes.
--
---@source UnityEngine.PhysicsModule.dll
---@field FreezeRotation UnityEngine.RigidbodyConstraints
--
--Freeze rotation and motion along all axes.
--
---@source UnityEngine.PhysicsModule.dll
---@field FreezeAll UnityEngine.RigidbodyConstraints
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.RigidbodyConstraints = {}

---@source 
---@param value any
---@return UnityEngine.RigidbodyConstraints
function CS.UnityEngine.RigidbodyConstraints:__CastFrom(value) end


--
--Use ForceMode to specify how to apply a force using Rigidbody.AddForce.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.ForceMode: System.Enum
--
--Add a continuous force to the rigidbody, using its mass.
--
---@source UnityEngine.PhysicsModule.dll
---@field Force UnityEngine.ForceMode
--
--Add a continuous acceleration to the rigidbody, ignoring its mass.
--
---@source UnityEngine.PhysicsModule.dll
---@field Acceleration UnityEngine.ForceMode
--
--Add an instant force impulse to the rigidbody, using its mass.
--
---@source UnityEngine.PhysicsModule.dll
---@field Impulse UnityEngine.ForceMode
--
--Add an instant velocity change to the rigidbody, ignoring its mass.
--
---@source UnityEngine.PhysicsModule.dll
---@field VelocityChange UnityEngine.ForceMode
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.ForceMode = {}

---@source 
---@param value any
---@return UnityEngine.ForceMode
function CS.UnityEngine.ForceMode:__CastFrom(value) end


--
--Constrains movement for a ConfigurableJoint along the 6 axes.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.ConfigurableJointMotion: System.Enum
--
--Motion along the axis will be locked.
--
---@source UnityEngine.PhysicsModule.dll
---@field Locked UnityEngine.ConfigurableJointMotion
--
--Motion along the axis will be limited by the respective limit.
--
---@source UnityEngine.PhysicsModule.dll
---@field Limited UnityEngine.ConfigurableJointMotion
--
--Motion along the axis will be completely free and completely unconstrained.
--
---@source UnityEngine.PhysicsModule.dll
---@field Free UnityEngine.ConfigurableJointMotion
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.ConfigurableJointMotion = {}

---@source 
---@param value any
---@return UnityEngine.ConfigurableJointMotion
function CS.UnityEngine.ConfigurableJointMotion:__CastFrom(value) end


--
--The ConfigurableJoint attempts to attain position / velocity targets based on this flag.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.JointDriveMode: System.Enum
--
--Don't apply any forces to reach the target.
--
---@source UnityEngine.PhysicsModule.dll
---@field None UnityEngine.JointDriveMode
--
--Try to reach the specified target position.
--
---@source UnityEngine.PhysicsModule.dll
---@field Position UnityEngine.JointDriveMode
--
--Try to reach the specified target velocity.
--
---@source UnityEngine.PhysicsModule.dll
---@field Velocity UnityEngine.JointDriveMode
--
--Try to reach the specified target position and velocity.
--
---@source UnityEngine.PhysicsModule.dll
---@field PositionAndVelocity UnityEngine.JointDriveMode
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.JointDriveMode = {}

---@source 
---@param value any
---@return UnityEngine.JointDriveMode
function CS.UnityEngine.JointDriveMode:__CastFrom(value) end


--
--Control ConfigurableJoint's rotation with either X & YZ or Slerp Drive.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.RotationDriveMode: System.Enum
--
--Use XY & Z Drive.
--
---@source UnityEngine.PhysicsModule.dll
---@field XYAndZ UnityEngine.RotationDriveMode
--
--Use Slerp drive.
--
---@source UnityEngine.PhysicsModule.dll
---@field Slerp UnityEngine.RotationDriveMode
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.RotationDriveMode = {}

---@source 
---@param value any
---@return UnityEngine.RotationDriveMode
function CS.UnityEngine.RotationDriveMode:__CastFrom(value) end


--
--Determines how to snap physics joints back to its constrained position when it drifts off too much.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.JointProjectionMode: System.Enum
--
--Don't snap at all.
--
---@source UnityEngine.PhysicsModule.dll
---@field None UnityEngine.JointProjectionMode
--
--Snap both position and rotation.
--
---@source UnityEngine.PhysicsModule.dll
---@field PositionAndRotation UnityEngine.JointProjectionMode
--
--Snap Position only.
--
---@source UnityEngine.PhysicsModule.dll
---@field PositionOnly UnityEngine.JointProjectionMode
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.JointProjectionMode = {}

---@source 
---@param value any
---@return UnityEngine.JointProjectionMode
function CS.UnityEngine.JointProjectionMode:__CastFrom(value) end


--
--Cooking options that are available with MeshCollider.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.MeshColliderCookingOptions: System.Enum
--
--No optional cooking steps will be run.
--
---@source UnityEngine.PhysicsModule.dll
---@field None UnityEngine.MeshColliderCookingOptions
--
--Allow the physics engine to increase the volume of the input mesh in attempt to generate a valid convex mesh.
--
---@source UnityEngine.PhysicsModule.dll
---@field InflateConvexMesh UnityEngine.MeshColliderCookingOptions
--
--Toggle between cooking for faster simulation or faster cooking time.
--
---@source UnityEngine.PhysicsModule.dll
---@field CookForFasterSimulation UnityEngine.MeshColliderCookingOptions
--
--Toggle cleaning of the mesh.
--
---@source UnityEngine.PhysicsModule.dll
---@field EnableMeshCleaning UnityEngine.MeshColliderCookingOptions
--
--Toggle the removal of equal vertices.
--
---@source UnityEngine.PhysicsModule.dll
---@field WeldColocatedVertices UnityEngine.MeshColliderCookingOptions
--
--Determines whether to use the fast midphase structure that doesn't require R-trees (only available on Desktop targets).
--
---@source UnityEngine.PhysicsModule.dll
---@field UseFastMidphase UnityEngine.MeshColliderCookingOptions
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.MeshColliderCookingOptions = {}

---@source 
---@param value any
---@return UnityEngine.MeshColliderCookingOptions
function CS.UnityEngine.MeshColliderCookingOptions:__CastFrom(value) end


--
--WheelFrictionCurve is used by the WheelCollider to describe friction properties of the wheel tire.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.WheelFrictionCurve: System.ValueType
--
--Extremum point slip (default 1).
--
---@source UnityEngine.PhysicsModule.dll
---@field extremumSlip float
--
--Force at the extremum slip (default 20000).
--
---@source UnityEngine.PhysicsModule.dll
---@field extremumValue float
--
--Asymptote point slip (default 2).
--
---@source UnityEngine.PhysicsModule.dll
---@field asymptoteSlip float
--
--Force at the asymptote slip (default 10000).
--
---@source UnityEngine.PhysicsModule.dll
---@field asymptoteValue float
--
--Multiplier for the extremumValue and asymptoteValue values (default 1).
--
---@source UnityEngine.PhysicsModule.dll
---@field stiffness float
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.WheelFrictionCurve = {}


--
--The limits defined by the CharacterJoint.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.SoftJointLimit: System.ValueType
--
--The limit position/angle of the joint (in degrees).
--
---@source UnityEngine.PhysicsModule.dll
---@field limit float
--
--If greater than zero, the limit is soft. The spring will pull the joint back.
--
---@source UnityEngine.PhysicsModule.dll
---@field spring float
--
--If spring is greater than zero, the limit is soft.
--
---@source UnityEngine.PhysicsModule.dll
---@field damper float
--
--When the joint hits the limit, it can be made to bounce off it.
--
---@source UnityEngine.PhysicsModule.dll
---@field bounciness float
--
--Determines how far ahead in space the solver can "see" the joint limit.
--
---@source UnityEngine.PhysicsModule.dll
---@field contactDistance float
---@source UnityEngine.PhysicsModule.dll
---@field bouncyness float
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.SoftJointLimit = {}


--
--The configuration of the spring attached to the joint's limits: linear and angular. Used by CharacterJoint and ConfigurableJoint.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.SoftJointLimitSpring: System.ValueType
--
--The stiffness of the spring limit. When stiffness is zero the limit is hard, otherwise soft.
--
---@source UnityEngine.PhysicsModule.dll
---@field spring float
--
--The damping of the spring limit. In effect when the stiffness of the sprint limit is not zero.
--
---@source UnityEngine.PhysicsModule.dll
---@field damper float
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.SoftJointLimitSpring = {}


--
--Physics material describes how to handle colliding objects (friction, bounciness).
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.PhysicMaterial: UnityEngine.Object
--
--How bouncy is the surface? A value of 0 will not bounce. A value of 1 will bounce without any loss of energy.
--
---@source UnityEngine.PhysicsModule.dll
---@field bounciness float
--
--The friction used when already moving.  This value is usually between 0 and 1.
--
---@source UnityEngine.PhysicsModule.dll
---@field dynamicFriction float
--
--The friction coefficient used when an object is lying on a surface.
--
---@source UnityEngine.PhysicsModule.dll
---@field staticFriction float
--
--Determines how the friction is combined.
--
---@source UnityEngine.PhysicsModule.dll
---@field frictionCombine UnityEngine.PhysicMaterialCombine
--
--Determines how the bounciness is combined.
--
---@source UnityEngine.PhysicsModule.dll
---@field bounceCombine UnityEngine.PhysicMaterialCombine
---@source UnityEngine.PhysicsModule.dll
---@field bouncyness float
--
--The direction of anisotropy. Anisotropic friction is enabled if the vector is not zero.
--
---@source UnityEngine.PhysicsModule.dll
---@field frictionDirection2 UnityEngine.Vector3
--
--If anisotropic friction is enabled, dynamicFriction2 will be applied along frictionDirection2.
--
---@source UnityEngine.PhysicsModule.dll
---@field dynamicFriction2 float
--
--If anisotropic friction is enabled, staticFriction2 will be applied along frictionDirection2.
--
---@source UnityEngine.PhysicsModule.dll
---@field staticFriction2 float
---@source UnityEngine.PhysicsModule.dll
---@field frictionDirection UnityEngine.Vector3
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.PhysicMaterial = {}


--
--How the joint's movement will behave along its local X axis.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.JointDrive: System.ValueType
--
--Whether the drive should attempt to reach position, velocity, both or nothing.
--
---@source UnityEngine.PhysicsModule.dll
---@field mode UnityEngine.JointDriveMode
--
--Strength of a rubber-band pull toward the defined direction. Only used if mode includes Position.
--
---@source UnityEngine.PhysicsModule.dll
---@field positionSpring float
--
--Resistance strength against the Position Spring. Only used if mode includes Position.
--
---@source UnityEngine.PhysicsModule.dll
---@field positionDamper float
--
--Amount of force applied to push the object toward the defined direction.
--
---@source UnityEngine.PhysicsModule.dll
---@field maximumForce float
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.JointDrive = {}


--
--Structure used to get information back from a raycast.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.RaycastHit: System.ValueType
--
--The Collider that was hit.
--
---@source UnityEngine.PhysicsModule.dll
---@field collider UnityEngine.Collider
--
--The impact point in world space where the ray hit the collider.
--
---@source UnityEngine.PhysicsModule.dll
---@field point UnityEngine.Vector3
--
--The normal of the surface the ray hit.
--
---@source UnityEngine.PhysicsModule.dll
---@field normal UnityEngine.Vector3
--
--The barycentric coordinate of the triangle we hit.
--
---@source UnityEngine.PhysicsModule.dll
---@field barycentricCoordinate UnityEngine.Vector3
--
--The distance from the ray's origin to the impact point.
--
---@source UnityEngine.PhysicsModule.dll
---@field distance float
--
--The index of the triangle that was hit.
--
---@source UnityEngine.PhysicsModule.dll
---@field triangleIndex int
--
--The uv texture coordinate at the collision location.
--
---@source UnityEngine.PhysicsModule.dll
---@field textureCoord UnityEngine.Vector2
--
--The secondary uv texture coordinate at the impact point.
--
---@source UnityEngine.PhysicsModule.dll
---@field textureCoord2 UnityEngine.Vector2
---@source UnityEngine.PhysicsModule.dll
---@field textureCoord1 UnityEngine.Vector2
--
--The Transform of the rigidbody or collider that was hit.
--
---@source UnityEngine.PhysicsModule.dll
---@field transform UnityEngine.Transform
--
--The Rigidbody of the collider that was hit. If the collider is not attached to a rigidbody then it is null.
--
---@source UnityEngine.PhysicsModule.dll
---@field rigidbody UnityEngine.Rigidbody
--
--The ArticulationBody of the collider that was hit. If the collider is not attached to an articulation body then it is null.
--
---@source UnityEngine.PhysicsModule.dll
---@field articulationBody UnityEngine.ArticulationBody
--
--The uv lightmap coordinate at the impact point.
--
---@source UnityEngine.PhysicsModule.dll
---@field lightmapCoord UnityEngine.Vector2
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.RaycastHit = {}


--
--Rigidbody interpolation mode.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.RigidbodyInterpolation: System.Enum
--
--No Interpolation.
--
---@source UnityEngine.PhysicsModule.dll
---@field None UnityEngine.RigidbodyInterpolation
--
--Interpolation will always lag a little bit behind but can be smoother than extrapolation.
--
---@source UnityEngine.PhysicsModule.dll
---@field Interpolate UnityEngine.RigidbodyInterpolation
--
--Extrapolation will predict the position of the rigidbody based on the current velocity.
--
---@source UnityEngine.PhysicsModule.dll
---@field Extrapolate UnityEngine.RigidbodyInterpolation
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.RigidbodyInterpolation = {}

---@source 
---@param value any
---@return UnityEngine.RigidbodyInterpolation
function CS.UnityEngine.RigidbodyInterpolation:__CastFrom(value) end


--
--The JointMotor is used to motorize a joint.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.JointMotor: System.ValueType
--
--The motor will apply a force up to force to achieve targetVelocity.
--
---@source UnityEngine.PhysicsModule.dll
---@field targetVelocity float
--
--The motor will apply a force.
--
---@source UnityEngine.PhysicsModule.dll
---@field force float
--
--If freeSpin is enabled the motor will only accelerate but never slow down.
--
---@source UnityEngine.PhysicsModule.dll
---@field freeSpin bool
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.JointMotor = {}


--
--Control of an object's position through physics simulation.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.Rigidbody: UnityEngine.Component
--
--The velocity vector of the rigidbody. It represents the rate of change of Rigidbody position.
--
---@source UnityEngine.PhysicsModule.dll
---@field velocity UnityEngine.Vector3
--
--The angular velocity vector of the rigidbody measured in radians per second.
--
---@source UnityEngine.PhysicsModule.dll
---@field angularVelocity UnityEngine.Vector3
--
--The drag of the object.
--
---@source UnityEngine.PhysicsModule.dll
---@field drag float
--
--The angular drag of the object.
--
---@source UnityEngine.PhysicsModule.dll
---@field angularDrag float
--
--The mass of the rigidbody.
--
---@source UnityEngine.PhysicsModule.dll
---@field mass float
--
--Controls whether gravity affects this rigidbody.
--
---@source UnityEngine.PhysicsModule.dll
---@field useGravity bool
--
--Maximum velocity of a rigidbody when moving out of penetrating state.
--
---@source UnityEngine.PhysicsModule.dll
---@field maxDepenetrationVelocity float
--
--Controls whether physics affects the rigidbody.
--
---@source UnityEngine.PhysicsModule.dll
---@field isKinematic bool
--
--Controls whether physics will change the rotation of the object.
--
---@source UnityEngine.PhysicsModule.dll
---@field freezeRotation bool
--
--Controls which degrees of freedom are allowed for the simulation of this Rigidbody.
--
---@source UnityEngine.PhysicsModule.dll
---@field constraints UnityEngine.RigidbodyConstraints
--
--The Rigidbody's collision detection mode.
--
---@source UnityEngine.PhysicsModule.dll
---@field collisionDetectionMode UnityEngine.CollisionDetectionMode
--
--The center of mass relative to the transform's origin.
--
---@source UnityEngine.PhysicsModule.dll
---@field centerOfMass UnityEngine.Vector3
--
--The center of mass of the rigidbody in world space (Read Only).
--
---@source UnityEngine.PhysicsModule.dll
---@field worldCenterOfMass UnityEngine.Vector3
--
--The rotation of the inertia tensor.
--
---@source UnityEngine.PhysicsModule.dll
---@field inertiaTensorRotation UnityEngine.Quaternion
--
--The inertia tensor of this body, defined as a diagonal matrix in a reference frame positioned at this body's center of mass and rotated by Rigidbody.inertiaTensorRotation.
--
---@source UnityEngine.PhysicsModule.dll
---@field inertiaTensor UnityEngine.Vector3
--
--Should collision detection be enabled? (By default always enabled).
--
---@source UnityEngine.PhysicsModule.dll
---@field detectCollisions bool
--
--The position of the rigidbody.
--
---@source UnityEngine.PhysicsModule.dll
---@field position UnityEngine.Vector3
--
--The rotation of the Rigidbody.
--
---@source UnityEngine.PhysicsModule.dll
---@field rotation UnityEngine.Quaternion
--
--Interpolation allows you to smooth out the effect of running physics at a fixed frame rate.
--
---@source UnityEngine.PhysicsModule.dll
---@field interpolation UnityEngine.RigidbodyInterpolation
--
--The solverIterations determines how accurately Rigidbody joints and collision contacts are resolved. Overrides Physics.defaultSolverIterations. Must be positive.
--
---@source UnityEngine.PhysicsModule.dll
---@field solverIterations int
--
--The mass-normalized energy threshold, below which objects start going to sleep.
--
---@source UnityEngine.PhysicsModule.dll
---@field sleepThreshold float
--
--The maximimum angular velocity of the rigidbody measured in radians per second. (Default 7) range { 0, infinity }.
--
---@source UnityEngine.PhysicsModule.dll
---@field maxAngularVelocity float
--
--The solverVelocityIterations affects how how accurately Rigidbody joints and collision contacts are resolved. Overrides Physics.defaultSolverVelocityIterations. Must be positive.
--
---@source UnityEngine.PhysicsModule.dll
---@field solverVelocityIterations int
--
--The linear velocity below which objects start going to sleep. (Default 0.14) range { 0, infinity }.
--
---@source UnityEngine.PhysicsModule.dll
---@field sleepVelocity float
--
--The angular velocity below which objects start going to sleep.  (Default 0.14) range { 0, infinity }.
--
---@source UnityEngine.PhysicsModule.dll
---@field sleepAngularVelocity float
--
--Force cone friction to be used for this rigidbody.
--
---@source UnityEngine.PhysicsModule.dll
---@field useConeFriction bool
---@source UnityEngine.PhysicsModule.dll
---@field solverIterationCount int
---@source UnityEngine.PhysicsModule.dll
---@field solverVelocityIterationCount int
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.Rigidbody = {}

--
--Sets the mass based on the attached colliders assuming a constant density.
--
---@source UnityEngine.PhysicsModule.dll
---@param density float
function CS.UnityEngine.Rigidbody.SetDensity(density) end

--
--Moves the kinematic Rigidbody towards position.
--
--```plaintext
--Params: position - Provides the new position for the Rigidbody object.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param position UnityEngine.Vector3
function CS.UnityEngine.Rigidbody.MovePosition(position) end

--
--Rotates the rigidbody to rotation.
--
--```plaintext
--Params: rot - The new rotation for the Rigidbody.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param rot UnityEngine.Quaternion
function CS.UnityEngine.Rigidbody.MoveRotation(rot) end

--
--Forces a rigidbody to sleep at least one frame.
--
---@source UnityEngine.PhysicsModule.dll
function CS.UnityEngine.Rigidbody.Sleep() end

--
--Is the rigidbody sleeping?
--
---@source UnityEngine.PhysicsModule.dll
---@return Boolean
function CS.UnityEngine.Rigidbody.IsSleeping() end

--
--Forces a rigidbody to wake up.
--
---@source UnityEngine.PhysicsModule.dll
function CS.UnityEngine.Rigidbody.WakeUp() end

--
--Reset the center of mass of the rigidbody.
--
---@source UnityEngine.PhysicsModule.dll
function CS.UnityEngine.Rigidbody.ResetCenterOfMass() end

--
--Reset the inertia tensor value and rotation.
--
---@source UnityEngine.PhysicsModule.dll
function CS.UnityEngine.Rigidbody.ResetInertiaTensor() end

--
--The velocity relative to the rigidbody at the point relativePoint.
--
---@source UnityEngine.PhysicsModule.dll
---@param relativePoint UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Rigidbody.GetRelativePointVelocity(relativePoint) end

--
--The velocity of the rigidbody at the point worldPoint in global space.
--
---@source UnityEngine.PhysicsModule.dll
---@param worldPoint UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Rigidbody.GetPointVelocity(worldPoint) end

---@source UnityEngine.PhysicsModule.dll
---@param a float
function CS.UnityEngine.Rigidbody.SetMaxAngularVelocity(a) end

--
--Adds a force to the Rigidbody.
--
--```plaintext
--Params: force - Force vector in world coordinates.
--        mode - Type of force to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param force UnityEngine.Vector3
---@param mode UnityEngine.ForceMode
function CS.UnityEngine.Rigidbody.AddForce(force, mode) end

--
--Adds a force to the Rigidbody.
--
--```plaintext
--Params: force - Force vector in world coordinates.
--        mode - Type of force to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param force UnityEngine.Vector3
function CS.UnityEngine.Rigidbody.AddForce(force) end

--
--Adds a force to the Rigidbody.
--
--```plaintext
--Params: x - Size of force along the world x-axis.
--        y - Size of force along the world y-axis.
--        z - Size of force along the world z-axis.
--        mode - Type of force to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param x float
---@param y float
---@param z float
---@param mode UnityEngine.ForceMode
function CS.UnityEngine.Rigidbody.AddForce(x, y, z, mode) end

--
--Adds a force to the Rigidbody.
--
--```plaintext
--Params: x - Size of force along the world x-axis.
--        y - Size of force along the world y-axis.
--        z - Size of force along the world z-axis.
--        mode - Type of force to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param x float
---@param y float
---@param z float
function CS.UnityEngine.Rigidbody.AddForce(x, y, z) end

--
--Adds a force to the rigidbody relative to its coordinate system.
--
--```plaintext
--Params: force - Force vector in local coordinates.
--        mode - Type of force to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param force UnityEngine.Vector3
---@param mode UnityEngine.ForceMode
function CS.UnityEngine.Rigidbody.AddRelativeForce(force, mode) end

--
--Adds a force to the rigidbody relative to its coordinate system.
--
--```plaintext
--Params: force - Force vector in local coordinates.
--        mode - Type of force to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param force UnityEngine.Vector3
function CS.UnityEngine.Rigidbody.AddRelativeForce(force) end

--
--Adds a force to the rigidbody relative to its coordinate system.
--
--```plaintext
--Params: x - Size of force along the local x-axis.
--        y - Size of force along the local y-axis.
--        z - Size of force along the local z-axis.
--        mode - Type of force to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param x float
---@param y float
---@param z float
---@param mode UnityEngine.ForceMode
function CS.UnityEngine.Rigidbody.AddRelativeForce(x, y, z, mode) end

--
--Adds a force to the rigidbody relative to its coordinate system.
--
--```plaintext
--Params: x - Size of force along the local x-axis.
--        y - Size of force along the local y-axis.
--        z - Size of force along the local z-axis.
--        mode - Type of force to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param x float
---@param y float
---@param z float
function CS.UnityEngine.Rigidbody.AddRelativeForce(x, y, z) end

--
--Adds a torque to the rigidbody.
--
--```plaintext
--Params: torque - Torque vector in world coordinates.
--        mode - Type of torque to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param torque UnityEngine.Vector3
---@param mode UnityEngine.ForceMode
function CS.UnityEngine.Rigidbody.AddTorque(torque, mode) end

--
--Adds a torque to the rigidbody.
--
--```plaintext
--Params: torque - Torque vector in world coordinates.
--        mode - Type of torque to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param torque UnityEngine.Vector3
function CS.UnityEngine.Rigidbody.AddTorque(torque) end

--
--Adds a torque to the rigidbody.
--
--```plaintext
--Params: x - Size of torque along the world x-axis.
--        y - Size of torque along the world y-axis.
--        z - Size of torque along the world z-axis.
--        mode - Type of torque to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param x float
---@param y float
---@param z float
---@param mode UnityEngine.ForceMode
function CS.UnityEngine.Rigidbody.AddTorque(x, y, z, mode) end

--
--Adds a torque to the rigidbody.
--
--```plaintext
--Params: x - Size of torque along the world x-axis.
--        y - Size of torque along the world y-axis.
--        z - Size of torque along the world z-axis.
--        mode - Type of torque to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param x float
---@param y float
---@param z float
function CS.UnityEngine.Rigidbody.AddTorque(x, y, z) end

--
--Adds a torque to the rigidbody relative to its coordinate system.
--
--```plaintext
--Params: torque - Torque vector in local coordinates.
--        mode - Type of torque to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param torque UnityEngine.Vector3
---@param mode UnityEngine.ForceMode
function CS.UnityEngine.Rigidbody.AddRelativeTorque(torque, mode) end

--
--Adds a torque to the rigidbody relative to its coordinate system.
--
--```plaintext
--Params: torque - Torque vector in local coordinates.
--        mode - Type of torque to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param torque UnityEngine.Vector3
function CS.UnityEngine.Rigidbody.AddRelativeTorque(torque) end

--
--Adds a torque to the rigidbody relative to its coordinate system.
--
--```plaintext
--Params: x - Size of torque along the local x-axis.
--        y - Size of torque along the local y-axis.
--        z - Size of torque along the local z-axis.
--        mode - Type of torque to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param x float
---@param y float
---@param z float
---@param mode UnityEngine.ForceMode
function CS.UnityEngine.Rigidbody.AddRelativeTorque(x, y, z, mode) end

--
--Adds a torque to the rigidbody relative to its coordinate system.
--
--```plaintext
--Params: x - Size of torque along the local x-axis.
--        y - Size of torque along the local y-axis.
--        z - Size of torque along the local z-axis.
--        mode - Type of torque to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param x float
---@param y float
---@param z float
function CS.UnityEngine.Rigidbody.AddRelativeTorque(x, y, z) end

--
--Applies force at position. As a result this will apply a torque and force on the object.
--
--```plaintext
--Params: force - Force vector in world coordinates.
--        position - Position in world coordinates.
--        mode - Type of force to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param force UnityEngine.Vector3
---@param position UnityEngine.Vector3
---@param mode UnityEngine.ForceMode
function CS.UnityEngine.Rigidbody.AddForceAtPosition(force, position, mode) end

--
--Applies force at position. As a result this will apply a torque and force on the object.
--
--```plaintext
--Params: force - Force vector in world coordinates.
--        position - Position in world coordinates.
--        mode - Type of force to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param force UnityEngine.Vector3
---@param position UnityEngine.Vector3
function CS.UnityEngine.Rigidbody.AddForceAtPosition(force, position) end

--
--Applies a force to a rigidbody that simulates explosion effects.
--
--```plaintext
--Params: explosionForce - The force of the explosion (which may be modified by distance).
--        explosionPosition - The centre of the sphere within which the explosion has its effect.
--        explosionRadius - The radius of the sphere within which the explosion has its effect.
--        upwardsModifier - Adjustment to the apparent position of the explosion to make it seem to lift objects.
--        mode - The method used to apply the force to its targets.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param explosionForce float
---@param explosionPosition UnityEngine.Vector3
---@param explosionRadius float
---@param upwardsModifier float
---@param mode UnityEngine.ForceMode
function CS.UnityEngine.Rigidbody.AddExplosionForce(explosionForce, explosionPosition, explosionRadius, upwardsModifier, mode) end

--
--Applies a force to a rigidbody that simulates explosion effects.
--
--```plaintext
--Params: explosionForce - The force of the explosion (which may be modified by distance).
--        explosionPosition - The centre of the sphere within which the explosion has its effect.
--        explosionRadius - The radius of the sphere within which the explosion has its effect.
--        upwardsModifier - Adjustment to the apparent position of the explosion to make it seem to lift objects.
--        mode - The method used to apply the force to its targets.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param explosionForce float
---@param explosionPosition UnityEngine.Vector3
---@param explosionRadius float
---@param upwardsModifier float
function CS.UnityEngine.Rigidbody.AddExplosionForce(explosionForce, explosionPosition, explosionRadius, upwardsModifier) end

--
--Applies a force to a rigidbody that simulates explosion effects.
--
--```plaintext
--Params: explosionForce - The force of the explosion (which may be modified by distance).
--        explosionPosition - The centre of the sphere within which the explosion has its effect.
--        explosionRadius - The radius of the sphere within which the explosion has its effect.
--        upwardsModifier - Adjustment to the apparent position of the explosion to make it seem to lift objects.
--        mode - The method used to apply the force to its targets.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param explosionForce float
---@param explosionPosition UnityEngine.Vector3
---@param explosionRadius float
function CS.UnityEngine.Rigidbody.AddExplosionForce(explosionForce, explosionPosition, explosionRadius) end

--
--The closest point to the bounding box of the attached colliders.
--
---@source UnityEngine.PhysicsModule.dll
---@param position UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Rigidbody.ClosestPointOnBounds(position) end

---@source UnityEngine.PhysicsModule.dll
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Rigidbody.SweepTest(direction, hitInfo, maxDistance, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@return Boolean
function CS.UnityEngine.Rigidbody.SweepTest(direction, hitInfo, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@return Boolean
function CS.UnityEngine.Rigidbody.SweepTest(direction, hitInfo) end

--
--An array of all colliders hit in the sweep.
--
--```plaintext
--Params: direction - The direction into which to sweep the rigidbody.
--        maxDistance - The length of the sweep.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param direction UnityEngine.Vector3
---@param maxDistance float
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
function CS.UnityEngine.Rigidbody.SweepTestAll(direction, maxDistance, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param direction UnityEngine.Vector3
---@param maxDistance float
function CS.UnityEngine.Rigidbody.SweepTestAll(direction, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param direction UnityEngine.Vector3
function CS.UnityEngine.Rigidbody.SweepTestAll(direction) end


--
--JointSpring is used add a spring force to HingeJoint and PhysicMaterial.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.JointSpring: System.ValueType
--
--The spring forces used to reach the target position.
--
---@source UnityEngine.PhysicsModule.dll
---@field spring float
--
--The damper force uses to dampen the spring.
--
---@source UnityEngine.PhysicsModule.dll
---@field damper float
--
--The target position the joint attempts to reach.
--
---@source UnityEngine.PhysicsModule.dll
---@field targetPosition float
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.JointSpring = {}


--
--JointLimits is used by the HingeJoint to limit the joints angle.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.JointLimits: System.ValueType
---@source UnityEngine.PhysicsModule.dll
---@field minBounce float
---@source UnityEngine.PhysicsModule.dll
---@field maxBounce float
--
--The lower angular limit (in degrees) of the joint.
--
---@source UnityEngine.PhysicsModule.dll
---@field min float
--
--The upper angular limit (in degrees) of the joint.
--
---@source UnityEngine.PhysicsModule.dll
---@field max float
--
--Determines the size of the bounce when the joint hits it's limit. Also known as restitution.
--
---@source UnityEngine.PhysicsModule.dll
---@field bounciness float
--
--The minimum impact velocity which will cause the joint to bounce.
--
---@source UnityEngine.PhysicsModule.dll
---@field bounceMinVelocity float
--
--Distance inside the limit value at which the limit will be considered to be active by the solver.
--
---@source UnityEngine.PhysicsModule.dll
---@field contactDistance float
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.JointLimits = {}


--
--A base class of all colliders.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.Collider: UnityEngine.Component
--
--Enabled Colliders will collide with other Colliders, disabled Colliders won't.
--
---@source UnityEngine.PhysicsModule.dll
---@field enabled bool
--
--The rigidbody the collider is attached to.
--
---@source UnityEngine.PhysicsModule.dll
---@field attachedRigidbody UnityEngine.Rigidbody
--
--The articulation body the collider is attached to.
--
---@source UnityEngine.PhysicsModule.dll
---@field attachedArticulationBody UnityEngine.ArticulationBody
--
--Is the collider a trigger?
--
---@source UnityEngine.PhysicsModule.dll
---@field isTrigger bool
--
--Contact offset value of this collider.
--
---@source UnityEngine.PhysicsModule.dll
---@field contactOffset float
--
--The world space bounding volume of the collider (Read Only).
--
---@source UnityEngine.PhysicsModule.dll
---@field bounds UnityEngine.Bounds
--
--The shared physic material of this collider.
--
---@source UnityEngine.PhysicsModule.dll
---@field sharedMaterial UnityEngine.PhysicMaterial
--
--The material used by the collider.
--
---@source UnityEngine.PhysicsModule.dll
---@field material UnityEngine.PhysicMaterial
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.Collider = {}

--
--The point on the collider that is closest to the specified location.
--
--```plaintext
--Params: position - Location you want to find the closest point to.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param position UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Collider.ClosestPoint(position) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@return Boolean
function CS.UnityEngine.Collider.Raycast(ray, hitInfo, maxDistance) end

--
--The closest point to the bounding box of the attached collider.
--
---@source UnityEngine.PhysicsModule.dll
---@param position UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Collider.ClosestPointOnBounds(position) end


--
--ControllerColliderHit is used by CharacterController.OnControllerColliderHit to give detailed information about the collision and how to deal with it.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.ControllerColliderHit: object
--
--The controller that hit the collider.
--
---@source UnityEngine.PhysicsModule.dll
---@field controller UnityEngine.CharacterController
--
--The collider that was hit by the controller.
--
---@source UnityEngine.PhysicsModule.dll
---@field collider UnityEngine.Collider
--
--The rigidbody that was hit by the controller.
--
---@source UnityEngine.PhysicsModule.dll
---@field rigidbody UnityEngine.Rigidbody
--
--The game object that was hit by the controller.
--
---@source UnityEngine.PhysicsModule.dll
---@field gameObject UnityEngine.GameObject
--
--The transform that was hit by the controller.
--
---@source UnityEngine.PhysicsModule.dll
---@field transform UnityEngine.Transform
--
--The impact point in world space.
--
---@source UnityEngine.PhysicsModule.dll
---@field point UnityEngine.Vector3
--
--The normal of the surface we collided with in world space.
--
---@source UnityEngine.PhysicsModule.dll
---@field normal UnityEngine.Vector3
--
--The direction the CharacterController was moving in when the collision occured.
--
---@source UnityEngine.PhysicsModule.dll
---@field moveDirection UnityEngine.Vector3
--
--How far the character has travelled until it hit the collider.
--
---@source UnityEngine.PhysicsModule.dll
---@field moveLength float
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.ControllerColliderHit = {}


--
--Describes how physics materials of the colliding objects are combined.
--
--The friction force as well as the residual bounce impulse are applied symmertrically to both of the colliders in contact, so each pair of overlapping colliders must have a single set of friction and bouciness settings. However, one can set arbitrary physics materials to any colliders. For that particular reason, there is a mechanism that allows the combination of two different sets of properties that correspond to each of the colliders in contact into one set to be used in the solver.
--
--Specifying Average, Maximum, Minimum or Multiply as the physics material combine mode, you directly set the function that is used to combine the settings corresponding to the two overlapping colliders into one set of settings that can be used to apply the material effect.
--
--Note that there is a special case when the two overlapping colliders have physics materials with different combine modes set. In this particular case, the function that has the highest priority is used. The priority order is as follows: Average < Minimum < Multiply < Maximum. For example, if one material has Average set but the other one has Maximum, then the combine function to be used is Maximum, since it has higher priority.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.PhysicMaterialCombine: System.Enum
--
--Averages the friction/bounce of the two colliding materials.
--
---@source UnityEngine.PhysicsModule.dll
---@field Average UnityEngine.PhysicMaterialCombine
--
--Uses the smaller friction/bounce of the two colliding materials.
--
---@source UnityEngine.PhysicsModule.dll
---@field Minimum UnityEngine.PhysicMaterialCombine
--
--Multiplies the friction/bounce of the two colliding materials.
--
---@source UnityEngine.PhysicsModule.dll
---@field Multiply UnityEngine.PhysicMaterialCombine
--
--Uses the larger friction/bounce of the two colliding materials.
--
---@source UnityEngine.PhysicsModule.dll
---@field Maximum UnityEngine.PhysicMaterialCombine
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.PhysicMaterialCombine = {}

---@source 
---@param value any
---@return UnityEngine.PhysicMaterialCombine
function CS.UnityEngine.PhysicMaterialCombine:__CastFrom(value) end


--
--A CharacterController allows you to easily do movement constrained by collisions without having to deal with a rigidbody.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.CharacterController: UnityEngine.Collider
--
--The current relative velocity of the Character (see notes).
--
---@source UnityEngine.PhysicsModule.dll
---@field velocity UnityEngine.Vector3
--
--Was the CharacterController touching the ground during the last move?
--
---@source UnityEngine.PhysicsModule.dll
---@field isGrounded bool
--
--What part of the capsule collided with the environment during the last CharacterController.Move call.
--
---@source UnityEngine.PhysicsModule.dll
---@field collisionFlags UnityEngine.CollisionFlags
--
--The radius of the character's capsule.
--
---@source UnityEngine.PhysicsModule.dll
---@field radius float
--
--The height of the character's capsule.
--
---@source UnityEngine.PhysicsModule.dll
---@field height float
--
--The center of the character's capsule relative to the transform's position.
--
---@source UnityEngine.PhysicsModule.dll
---@field center UnityEngine.Vector3
--
--The character controllers slope limit in degrees.
--
---@source UnityEngine.PhysicsModule.dll
---@field slopeLimit float
--
--The character controllers step offset in meters.
--
---@source UnityEngine.PhysicsModule.dll
---@field stepOffset float
--
--The character's collision skin width.
--
---@source UnityEngine.PhysicsModule.dll
---@field skinWidth float
--
--Gets or sets the minimum move distance of the character controller.
--
---@source UnityEngine.PhysicsModule.dll
---@field minMoveDistance float
--
--Determines whether other rigidbodies or character controllers collide with this character controller (by default this is always enabled).
--
---@source UnityEngine.PhysicsModule.dll
---@field detectCollisions bool
--
--Enables or disables overlap recovery.
-- Enables or disables overlap recovery. Used to depenetrate character controllers from static objects when an overlap is detected.
--
---@source UnityEngine.PhysicsModule.dll
---@field enableOverlapRecovery bool
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.CharacterController = {}

--
--Moves the character with speed.
--
---@source UnityEngine.PhysicsModule.dll
---@param speed UnityEngine.Vector3
---@return Boolean
function CS.UnityEngine.CharacterController.SimpleMove(speed) end

--
--Supplies the movement of a GameObject with an attached CharacterController component.
--
---@source UnityEngine.PhysicsModule.dll
---@param motion UnityEngine.Vector3
---@return CollisionFlags
function CS.UnityEngine.CharacterController.Move(motion) end


--
--Describes a collision.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.Collision: object
--
--The relative linear velocity of the two colliding objects (Read Only).
--
---@source UnityEngine.PhysicsModule.dll
---@field relativeVelocity UnityEngine.Vector3
--
--The Rigidbody we hit (Read Only). This is null if the object we hit is a collider with no rigidbody attached.
--
---@source UnityEngine.PhysicsModule.dll
---@field rigidbody UnityEngine.Rigidbody
--
--The ArticulationBody of the collider that your GameObject collides with (Read Only).
--
---@source UnityEngine.PhysicsModule.dll
---@field articulationBody UnityEngine.ArticulationBody
--
--The Rigidbody or ArticulationBody of the collider that your Component collides with (Read Only).
--
---@source UnityEngine.PhysicsModule.dll
---@field body UnityEngine.Component
--
--The Collider we hit (Read Only).
--
---@source UnityEngine.PhysicsModule.dll
---@field collider UnityEngine.Collider
--
--The Transform of the object we hit (Read Only).
--
---@source UnityEngine.PhysicsModule.dll
---@field transform UnityEngine.Transform
--
--The GameObject whose collider you are colliding with. (Read Only).
--
---@source UnityEngine.PhysicsModule.dll
---@field gameObject UnityEngine.GameObject
--
--Gets the number of contacts for this collision.
--
---@source UnityEngine.PhysicsModule.dll
---@field contactCount int
--
--The contact points generated by the physics engine. You should avoid using this as it produces memory garbage. Use GetContact or GetContacts instead.
--
---@source UnityEngine.PhysicsModule.dll
---@field contacts UnityEngine.ContactPoint[]
--
--The total impulse applied to this contact pair to resolve the collision.
--
---@source UnityEngine.PhysicsModule.dll
---@field impulse UnityEngine.Vector3
---@source UnityEngine.PhysicsModule.dll
---@field impactForceSum UnityEngine.Vector3
---@source UnityEngine.PhysicsModule.dll
---@field frictionForceSum UnityEngine.Vector3
---@source UnityEngine.PhysicsModule.dll
---@field other UnityEngine.Component
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.Collision = {}

--
--The contact at the specified index.
--
--```plaintext
--Params: index - The index of the contact to retrieve.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param index int
---@return ContactPoint
function CS.UnityEngine.Collision.GetContact(index) end

--
--Returns the number of contacts placed in the contacts array.
--
--```plaintext
--Params: contacts - An array of ContactPoint used to receive the results.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param contacts UnityEngine.ContactPoint[]
---@return Int32
function CS.UnityEngine.Collision.GetContacts(contacts) end

---@source UnityEngine.PhysicsModule.dll
---@param contacts System.Collections.Generic.List<UnityEngine.ContactPoint>
---@return Int32
function CS.UnityEngine.Collision.GetContacts(contacts) end

---@source UnityEngine.PhysicsModule.dll
---@return IEnumerator
function CS.UnityEngine.Collision.GetEnumerator() end


--
--A mesh collider allows you to do between meshes and primitives.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.MeshCollider: UnityEngine.Collider
--
--The mesh object used for collision detection.
--
---@source UnityEngine.PhysicsModule.dll
---@field sharedMesh UnityEngine.Mesh
--
--Use a convex collider from the mesh.
--
---@source UnityEngine.PhysicsModule.dll
---@field convex bool
--
--Allow the physics engine to increase the volume of the input mesh in attempt to generate a valid convex mesh.
--
---@source UnityEngine.PhysicsModule.dll
---@field inflateMesh bool
--
--Options used to enable or disable certain features in mesh cooking.
--
---@source UnityEngine.PhysicsModule.dll
---@field cookingOptions UnityEngine.MeshColliderCookingOptions
--
--Used when set to inflateMesh to determine how much inflation is acceptable.
--
---@source UnityEngine.PhysicsModule.dll
---@field skinWidth float
--
--Uses interpolated normals for sphere collisions instead of flat polygonal normals.
--
---@source UnityEngine.PhysicsModule.dll
---@field smoothSphereCollisions bool
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.MeshCollider = {}


--
--A capsule-shaped primitive collider.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.CapsuleCollider: UnityEngine.Collider
--
--The center of the capsule, measured in the object's local space.
--
---@source UnityEngine.PhysicsModule.dll
---@field center UnityEngine.Vector3
--
--The radius of the sphere, measured in the object's local space.
--
---@source UnityEngine.PhysicsModule.dll
---@field radius float
--
--The height of the capsule measured in the object's local space.
--
---@source UnityEngine.PhysicsModule.dll
---@field height float
--
--The direction of the capsule.
--
---@source UnityEngine.PhysicsModule.dll
---@field direction int
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.CapsuleCollider = {}


--
--A box-shaped primitive collider.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.BoxCollider: UnityEngine.Collider
--
--The center of the box, measured in the object's local space.
--
---@source UnityEngine.PhysicsModule.dll
---@field center UnityEngine.Vector3
--
--The size of the box, measured in the object's local space.
--
---@source UnityEngine.PhysicsModule.dll
---@field size UnityEngine.Vector3
---@source UnityEngine.PhysicsModule.dll
---@field extents UnityEngine.Vector3
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.BoxCollider = {}


--
--A sphere-shaped primitive collider.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.SphereCollider: UnityEngine.Collider
--
--The center of the sphere in the object's local space.
--
---@source UnityEngine.PhysicsModule.dll
---@field center UnityEngine.Vector3
--
--The radius of the sphere measured in the object's local space.
--
---@source UnityEngine.PhysicsModule.dll
---@field radius float
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.SphereCollider = {}


--
--Script interface for a Min-Max Curve.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.MinMaxCurve: System.ValueType
---@source UnityEngine.ParticleSystemModule.dll
---@field curveScalar float
--
--Set the mode that the min-max curve uses to evaluate values.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field mode UnityEngine.ParticleSystemCurveMode
--
--Set a multiplier to apply to the curves.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field curveMultiplier float
--
--Set a curve for the upper bound.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field curveMax UnityEngine.AnimationCurve
--
--Set a curve for the lower bound.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field curveMin UnityEngine.AnimationCurve
--
--Set a constant for the upper bound.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field constantMax float
--
--Set a constant for the lower bound.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field constantMin float
--
--Set the constant value.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field constant float
--
--Set the curve.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field curve UnityEngine.AnimationCurve
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.MinMaxCurve = {}

--
--Calculated curve/constant value.
--
--```plaintext
--Params: time - Normalized time (in the range 0 - 1, where 1 represents 100%) at which to evaluate the curve. This is valid when ParticleSystem.MinMaxCurve.mode is set to ParticleSystemCurveMode.Curve or ParticleSystemCurveMode.TwoCurves.
--        lerpFactor - Blend between the two curves/constants (Valid when ParticleSystem.MinMaxCurve.mode is set to ParticleSystemCurveMode.TwoConstants or ParticleSystemCurveMode.TwoCurves).
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param time float
---@return Single
function CS.UnityEngine.MinMaxCurve.Evaluate(time) end

--
--Calculated curve/constant value.
--
--```plaintext
--Params: time - Normalized time (in the range 0 - 1, where 1 represents 100%) at which to evaluate the curve. This is valid when ParticleSystem.MinMaxCurve.mode is set to ParticleSystemCurveMode.Curve or ParticleSystemCurveMode.TwoCurves.
--        lerpFactor - Blend between the two curves/constants (Valid when ParticleSystem.MinMaxCurve.mode is set to ParticleSystemCurveMode.TwoConstants or ParticleSystemCurveMode.TwoCurves).
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param time float
---@param lerpFactor float
---@return Single
function CS.UnityEngine.MinMaxCurve.Evaluate(time, lerpFactor) end

---@source UnityEngine.ParticleSystemModule.dll
---@param constant float
---@return MinMaxCurve
function CS.UnityEngine.MinMaxCurve:op_Implicit(constant) end


--
--A force applied constantly.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.ConstantForce: UnityEngine.Behaviour
--
--The force applied to the rigidbody every frame.
--
---@source UnityEngine.PhysicsModule.dll
---@field force UnityEngine.Vector3
--
--The force - relative to the rigid bodies coordinate system - applied every frame.
--
---@source UnityEngine.PhysicsModule.dll
---@field relativeForce UnityEngine.Vector3
--
--The torque applied to the rigidbody every frame.
--
---@source UnityEngine.PhysicsModule.dll
---@field torque UnityEngine.Vector3
--
--The torque - relative to the rigid bodies coordinate system - applied every frame.
--
---@source UnityEngine.PhysicsModule.dll
---@field relativeTorque UnityEngine.Vector3
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.ConstantForce = {}


--
--Joint is the base class for all joints.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.Joint: UnityEngine.Component
--
--A reference to another rigidbody this joint connects to.
--
---@source UnityEngine.PhysicsModule.dll
---@field connectedBody UnityEngine.Rigidbody
--
--A reference to an articulation body this joint connects to.
--
---@source UnityEngine.PhysicsModule.dll
---@field connectedArticulationBody UnityEngine.ArticulationBody
--
--The Direction of the axis around which the body is constrained.
--
---@source UnityEngine.PhysicsModule.dll
---@field axis UnityEngine.Vector3
--
--The Position of the anchor around which the joints motion is constrained.
--
---@source UnityEngine.PhysicsModule.dll
---@field anchor UnityEngine.Vector3
--
--Position of the anchor relative to the connected Rigidbody.
--
---@source UnityEngine.PhysicsModule.dll
---@field connectedAnchor UnityEngine.Vector3
--
--Should the connectedAnchor be calculated automatically?
--
---@source UnityEngine.PhysicsModule.dll
---@field autoConfigureConnectedAnchor bool
--
--The force that needs to be applied for this joint to break.
--
---@source UnityEngine.PhysicsModule.dll
---@field breakForce float
--
--The torque that needs to be applied for this joint to break. To be able to break, a joint must be _Locked_ or _Limited_ on the axis of rotation where the torque is being applied. This means that some joints cannot break, such as an unconstrained Configurable Joint.
--
---@source UnityEngine.PhysicsModule.dll
---@field breakTorque float
--
--Enable collision between bodies connected with the joint.
--
---@source UnityEngine.PhysicsModule.dll
---@field enableCollision bool
--
--Toggle preprocessing for this joint.
--
---@source UnityEngine.PhysicsModule.dll
---@field enablePreprocessing bool
--
--The scale to apply to the inverse mass and inertia tensor of the body prior to solving the constraints.
--
---@source UnityEngine.PhysicsModule.dll
---@field massScale float
--
--The scale to apply to the inverse mass and inertia tensor of the connected body prior to solving the constraints.
--
---@source UnityEngine.PhysicsModule.dll
---@field connectedMassScale float
--
--The force applied by the solver to satisfy all constraints.
--
---@source UnityEngine.PhysicsModule.dll
---@field currentForce UnityEngine.Vector3
--
--The torque applied by the solver to satisfy all constraints.
--
---@source UnityEngine.PhysicsModule.dll
---@field currentTorque UnityEngine.Vector3
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.Joint = {}


--
--Script interface for the MainModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.MainModule: System.ValueType
--
--Cause some particles to spin in the opposite direction.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field randomizeRotationDirection float
--
--The duration of the Particle System in seconds.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field duration float
--
--Specifies whether the Particle System is looping.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field loop bool
--
--If ParticleSystem.MainModule._loop is true, when you enable this property, the Particle System looks like it has already simulated for one loop when first becoming visible.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field prewarm bool
--
--Start delay in seconds.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startDelay UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for ParticleSystem.MainModule._startDelay in seconds.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startDelayMultiplier float
--
--The total lifetime in seconds that each new particle has.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startLifetime UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for ParticleSystem.MainModule._startLifetime.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startLifetimeMultiplier float
--
--The initial speed of particles when the Particle System first spawns them.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSpeed UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for ParticleSystem.MainModule._startSpeed.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSpeedMultiplier float
--
--A flag to enable specifying particle size individually for each axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSize3D bool
--
--The initial size of particles when the Particle System first spawns them.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSize UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for the initial size of particles when the Particle System first spawns them.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSizeMultiplier float
--
--The initial size of particles along the x-axis when the Particle System first spawns them.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSizeX UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for ParticleSystem.MainModule._startSizeX.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSizeXMultiplier float
--
--The initial size of particles along the y-axis when the Particle System first spawns them.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSizeY UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for ParticleSystem.MainModule._startSizeY.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSizeYMultiplier float
--
--The initial size of particles along the z-axis when the Particle System first spawns them.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSizeZ UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for ParticleSystem.MainModule._startSizeZ.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSizeZMultiplier float
--
--A flag to enable 3D particle rotation.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startRotation3D bool
--
--The initial rotation of particles when the Particle System first spawns them.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startRotation UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for ParticleSystem.MainModule._startRotation.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startRotationMultiplier float
--
--The initial rotation of particles around the x-axis when emitted.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startRotationX UnityEngine.ParticleSystem.MinMaxCurve
--
--The initial rotation multiplier of particles around the x-axis when the Particle System first spawns them.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startRotationXMultiplier float
--
--The initial rotation of particles around the y-axis when the Particle System first spawns them.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startRotationY UnityEngine.ParticleSystem.MinMaxCurve
--
--The initial rotation multiplier of particles around the y-axis when the Particle System first spawns them..
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startRotationYMultiplier float
--
--The initial rotation of particles around the z-axis when the Particle System first spawns them
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startRotationZ UnityEngine.ParticleSystem.MinMaxCurve
--
--The initial rotation multiplier of particles around the z-axis when the Particle System first spawns them.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startRotationZMultiplier float
--
--Makes some particles spin in the opposite direction.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field flipRotation float
--
--The initial color of particles when the Particle System first spawns them.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startColor UnityEngine.ParticleSystem.MinMaxGradient
--
--A scale that this Particle System applies to gravity, defined by Physics.gravity.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field gravityModifier UnityEngine.ParticleSystem.MinMaxCurve
--
--Change the gravity multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field gravityModifierMultiplier float
--
--This selects the space in which to simulate particles. It can be either world or local space.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field simulationSpace UnityEngine.ParticleSystemSimulationSpace
--
--Simulate particles relative to a custom transform component.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field customSimulationSpace UnityEngine.Transform
--
--Override the default playback speed of the Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field simulationSpeed float
--
--When true, use the unscaled delta time to simulate the Particle System. Otherwise, use the scaled delta time.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field useUnscaledTime bool
--
--Control how the Particle System applies its Transform component to the particles it emits.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field scalingMode UnityEngine.ParticleSystemScalingMode
--
--If set to true, the Particle System automatically begins to play on startup.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field playOnAwake bool
--
--The maximum number of particles to emit.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field maxParticles int
--
--Control how the Particle System calculates its velocity, when moving in the world.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field emitterVelocityMode UnityEngine.ParticleSystemEmitterVelocityMode
--
--Select whether to Disable or Destroy the GameObject, or to call the OnParticleSystemStopped script Callback, when the Particle System stops and all particles have died.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field stopAction UnityEngine.ParticleSystemStopAction
--
--Configure the Particle System to not kill its particles when their lifetimes are exceeded.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field ringBufferMode UnityEngine.ParticleSystemRingBufferMode
--
--When ParticleSystem.MainModule.ringBufferMode is set to loop, this value defines the proportion of the particle life that loops.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field ringBufferLoopRange UnityEngine.Vector2
--
--Configure whether the Particle System will still be simulated each frame, when it is offscreen.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field cullingMode UnityEngine.ParticleSystemCullingMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.MainModule = {}


--
--The HingeJoint groups together 2 rigid bodies, constraining them to move like connected by a hinge.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.HingeJoint: UnityEngine.Joint
--
--The motor will apply a force up to a maximum force to achieve the target velocity in degrees per second.
--
---@source UnityEngine.PhysicsModule.dll
---@field motor UnityEngine.JointMotor
--
--Limit of angular rotation (in degrees) on the hinge joint.
--
---@source UnityEngine.PhysicsModule.dll
---@field limits UnityEngine.JointLimits
--
--The spring attempts to reach a target angle by adding spring and damping forces.
--
---@source UnityEngine.PhysicsModule.dll
---@field spring UnityEngine.JointSpring
--
--Enables the joint's motor. Disabled by default.
--
---@source UnityEngine.PhysicsModule.dll
---@field useMotor bool
--
--Enables the joint's limits. Disabled by default.
--
---@source UnityEngine.PhysicsModule.dll
---@field useLimits bool
--
--Enables the joint's spring. Disabled by default.
--
---@source UnityEngine.PhysicsModule.dll
---@field useSpring bool
--
--The angular velocity of the joint in degrees per second. (Read Only)
--
---@source UnityEngine.PhysicsModule.dll
---@field velocity float
--
--The current angle in degrees of the joint relative to its rest position. (Read Only)
--
---@source UnityEngine.PhysicsModule.dll
---@field angle float
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.HingeJoint = {}


--
--Script interface for the EmissionModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.EmissionModule: System.ValueType
--
--The emission type.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field type UnityEngine.ParticleSystemEmissionType
--
--The rate at which the system spawns new particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rate UnityEngine.ParticleSystem.MinMaxCurve
--
--Change the rate multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rateMultiplier float
--
--Specifies whether the EmissionModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--The rate at which the emitter spawns new particles over time.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rateOverTime UnityEngine.ParticleSystem.MinMaxCurve
--
--Change the rate over time multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rateOverTimeMultiplier float
--
--The rate at which the emitter spawns new particles over distance.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rateOverDistance UnityEngine.ParticleSystem.MinMaxCurve
--
--Change the rate over distance multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rateOverDistanceMultiplier float
--
--The current number of bursts.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field burstCount int
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.EmissionModule = {}

---@source UnityEngine.ParticleSystemModule.dll
---@param bursts UnityEngine.ParticleSystem.Burst[]
function CS.UnityEngine.EmissionModule.SetBursts(bursts) end

---@source UnityEngine.ParticleSystemModule.dll
---@param bursts UnityEngine.ParticleSystem.Burst[]
---@param size int
function CS.UnityEngine.EmissionModule.SetBursts(bursts, size) end

---@source UnityEngine.ParticleSystemModule.dll
---@param bursts UnityEngine.ParticleSystem.Burst[]
---@return Int32
function CS.UnityEngine.EmissionModule.GetBursts(bursts) end

---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@param burst UnityEngine.ParticleSystem.Burst
function CS.UnityEngine.EmissionModule.SetBurst(index, burst) end

--
--The burst data at the given index.
--
--```plaintext
--Params: index - The index of the burst to retrieve.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@return Burst
function CS.UnityEngine.EmissionModule.GetBurst(index) end


--
--The spring joint ties together 2 rigid bodies, spring forces will be automatically applied to keep the object at the given distance.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.SpringJoint: UnityEngine.Joint
--
--The spring force used to keep the two objects together.
--
---@source UnityEngine.PhysicsModule.dll
---@field spring float
--
--The damper force used to dampen the spring force.
--
---@source UnityEngine.PhysicsModule.dll
---@field damper float
--
--The minimum distance between the bodies relative to their initial distance.
--
---@source UnityEngine.PhysicsModule.dll
---@field minDistance float
--
--The maximum distance between the bodies relative to their initial distance.
--
---@source UnityEngine.PhysicsModule.dll
---@field maxDistance float
--
--The maximum allowed error between the current spring length and the length defined by minDistance and maxDistance.
--
---@source UnityEngine.PhysicsModule.dll
---@field tolerance float
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.SpringJoint = {}


--
--Script interface for the ShapeModule.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ShapeModule: System.ValueType
--
--Scale of the box to emit particles from.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field box UnityEngine.Vector3
--
--Apply a scaling factor to the Mesh that emits the particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field meshScale float
--
--Randomizes the starting direction of particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field randomDirection bool
--
--Specifies whether the ShapeModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--The type of shape to emit particles from.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field shapeType UnityEngine.ParticleSystemShapeType
--
--Randomizes the starting direction of particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field randomDirectionAmount float
--
--Makes particles move in a spherical direction from their starting point.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field sphericalDirectionAmount float
--
--Randomizes the starting position of particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field randomPositionAmount float
--
--Align particles based on their initial direction of travel.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field alignToDirection bool
--
--Radius of the shape to emit particles from.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field radius float
--
--The mode to use to generate particles along the radius.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field radiusMode UnityEngine.ParticleSystemShapeMultiModeValue
--
--Control the gap between particle emission points along the radius.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field radiusSpread float
--
--In animated modes, this determines how quickly the particle emission position moves along the radius.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field radiusSpeed UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier of the radius speed of the particle emission shape.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field radiusSpeedMultiplier float
--
--Radius thickness of the shape's edge from which to emit particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field radiusThickness float
--
--Angle of the cone to emit particles from.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field angle float
--
--Length of the cone to emit particles from.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field length float
--
--Thickness of the box to emit particles from.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field boxThickness UnityEngine.Vector3
--
--Where on the Mesh to emit particles from.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field meshShapeType UnityEngine.ParticleSystemMeshShapeType
--
--Mesh to emit particles from.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field mesh UnityEngine.Mesh
--
--MeshRenderer to emit particles from.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field meshRenderer UnityEngine.MeshRenderer
--
--SkinnedMeshRenderer to emit particles from.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field skinnedMeshRenderer UnityEngine.SkinnedMeshRenderer
--
--Sprite to emit particles from.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field sprite UnityEngine.Sprite
--
--SpriteRenderer to emit particles from.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field spriteRenderer UnityEngine.SpriteRenderer
--
--Emit particles from a single Material, or the whole Mesh.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field useMeshMaterialIndex bool
--
--Emit particles from a single Material of a Mesh.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field meshMaterialIndex int
--
--Modulate the particle colors with the vertex colors, or the Material color if no vertex colors exist.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field useMeshColors bool
--
--Move particles away from the surface of the source Mesh.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field normalOffset float
--
--The mode to use to generate particles on a Mesh.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field meshSpawnMode UnityEngine.ParticleSystemShapeMultiModeValue
--
--Control the gap between particle emission points across the Mesh.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field meshSpawnSpread float
--
--In animated modes, this determines how quickly the particle emission position moves across the Mesh.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field meshSpawnSpeed UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier of the Mesh spawn speed.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field meshSpawnSpeedMultiplier float
--
--Angle of the circle arc to emit particles from.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field arc float
--
--The mode that Unity uses to generate particles around the arc.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field arcMode UnityEngine.ParticleSystemShapeMultiModeValue
--
--Control the gap between particle emission points around the arc.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field arcSpread float
--
--In animated modes, this determines how quickly the particle emission position moves around the arc.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field arcSpeed UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier of the arc speed of the particle emission shape.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field arcSpeedMultiplier float
--
--The thickness of the Donut shape to emit particles from.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field donutRadius float
--
--Apply an offset to the position from which the system emits particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field position UnityEngine.Vector3
--
--Apply a rotation to the shape from which the system emits particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rotation UnityEngine.Vector3
--
--Apply scale to the shape from which the system emits particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field scale UnityEngine.Vector3
--
--Specifies a Texture to tint the particle's start colors.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field texture UnityEngine.Texture2D
--
--Selects which channel of the Texture to use for discarding particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field textureClipChannel UnityEngine.ParticleSystemShapeTextureChannel
--
--Discards particles when they spawn on an area of the Texture with a value lower than this threshold.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field textureClipThreshold float
--
--When enabled, the system applies the RGB channels of the Texture to the particle color when the particle spawns.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field textureColorAffectsParticles bool
--
--When enabled, the system applies the alpha channel of the Texture to the particle alpha when the particle spawns.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field textureAlphaAffectsParticles bool
--
--When enabled, the system takes four neighboring samples from the Texture then combines them to give the final particle value.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field textureBilinearFiltering bool
--
--When using a Mesh as a source shape type, this option controls which UV channel on the Mesh to use for reading the source Texture.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field textureUVChannel int
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ShapeModule = {}


--
--The Fixed joint groups together 2 rigidbodies, making them stick together in their bound position.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.FixedJoint: UnityEngine.Joint
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.FixedJoint = {}


--
--Script interface for the CollisionMmodule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.CollisionModule: System.ValueType
--
--The maximum number of planes it is possible to set as colliders.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field maxPlaneCount int
--
--Specifies whether the CollisionModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--The type of particle collision to perform.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field type UnityEngine.ParticleSystemCollisionType
--
--Choose between 2D and 3D world collisions.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field mode UnityEngine.ParticleSystemCollisionMode
--
--How much speed does each particle lose after a collision.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field dampen UnityEngine.ParticleSystem.MinMaxCurve
--
--Change the dampen multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field dampenMultiplier float
--
--How much force is applied to each particle after a collision.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field bounce UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for ParticleSystem.CollisionModule._bounce.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field bounceMultiplier float
--
--How much a collision reduces a particle's lifetime.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field lifetimeLoss UnityEngine.ParticleSystem.MinMaxCurve
--
--Change the lifetime loss multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field lifetimeLossMultiplier float
--
--Kill particles whose speed falls below this threshold, after a collision.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field minKillSpeed float
--
--Kill particles whose speed goes above this threshold, after a collision.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field maxKillSpeed float
--
--Control which Layers this Particle System collides with.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field collidesWith UnityEngine.LayerMask
--
--Allow particles to collide with dynamic colliders when using world collision mode.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enableDynamicColliders bool
--
--The maximum number of collision shapes Unity considers for particle collisions. It ignores excess shapes. Terrains take priority.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field maxCollisionShapes int
--
--Specifies the accuracy of particle collisions against colliders in the Scene.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field quality UnityEngine.ParticleSystemCollisionQuality
--
--Size of voxels in the collision cache.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field voxelSize float
--
--A multiplier that Unity applies to the size of each particle before collisions are processed.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field radiusScale float
--
--Send collision callback messages.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field sendCollisionMessages bool
--
--How much force is applied to a Collider when hit by particles from this Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field colliderForce float
--
--Specifies whether the physics system considers the collision angle when it applies forces from particles to Colliders.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field multiplyColliderForceByCollisionAngle bool
--
--Specifies whether the physics system considers particle speeds when it applies forces to Colliders.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field multiplyColliderForceByParticleSpeed bool
--
--Specifies whether the physics system considers particle sizes when it applies forces to Colliders.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field multiplyColliderForceByParticleSize bool
--
--Shows the number of planes currently set as Colliders.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field planeCount int
--
--Allow particles to collide when inside colliders.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enableInteriorCollisions bool
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.CollisionModule = {}

--
--Adds a collision plane to use with this Particle System.
--
--```plaintext
--Params: transform - The plane to add.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param transform UnityEngine.Transform
function CS.UnityEngine.CollisionModule.AddPlane(transform) end

--
--Removes a collision plane associated with this Particle System.
--
--```plaintext
--Params: index - The collision plane to remove.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
function CS.UnityEngine.CollisionModule.RemovePlane(index) end

--
--Removes a collision plane associated with this Particle System.
--
--```plaintext
--Params: transform - The collision plane to remove.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param transform UnityEngine.Transform
function CS.UnityEngine.CollisionModule.RemovePlane(transform) end

--
--Set a collision plane to use with this Particle System.
--
--```plaintext
--Params: index - The plane entry to set.
--        transform - The plane to collide particles against.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@param transform UnityEngine.Transform
function CS.UnityEngine.CollisionModule.SetPlane(index, transform) end

--
--The plane.
--
--```plaintext
--Params: index - The plane to return.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@return Transform
function CS.UnityEngine.CollisionModule.GetPlane(index) end


--
--Character Joints are mainly used for Ragdoll effects.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.CharacterJoint: UnityEngine.Joint
---@source UnityEngine.PhysicsModule.dll
---@field targetRotation UnityEngine.Quaternion
---@source UnityEngine.PhysicsModule.dll
---@field targetAngularVelocity UnityEngine.Vector3
---@source UnityEngine.PhysicsModule.dll
---@field rotationDrive UnityEngine.JointDrive
--
--The secondary axis around which the joint can rotate.
--
---@source UnityEngine.PhysicsModule.dll
---@field swingAxis UnityEngine.Vector3
--
--The configuration of the spring attached to the twist limits of the joint.
--
---@source UnityEngine.PhysicsModule.dll
---@field twistLimitSpring UnityEngine.SoftJointLimitSpring
--
--The configuration of the spring attached to the swing limits of the joint.
--
---@source UnityEngine.PhysicsModule.dll
---@field swingLimitSpring UnityEngine.SoftJointLimitSpring
--
--The lower limit around the primary axis of the character joint.
--
---@source UnityEngine.PhysicsModule.dll
---@field lowTwistLimit UnityEngine.SoftJointLimit
--
--The upper limit around the primary axis of the character joint.
--
---@source UnityEngine.PhysicsModule.dll
---@field highTwistLimit UnityEngine.SoftJointLimit
--
--The angular limit of rotation (in degrees) around the primary axis of the character joint.
--
---@source UnityEngine.PhysicsModule.dll
---@field swing1Limit UnityEngine.SoftJointLimit
--
--The angular limit of rotation (in degrees) around the primary axis of the character joint.
--
---@source UnityEngine.PhysicsModule.dll
---@field swing2Limit UnityEngine.SoftJointLimit
--
--Brings violated constraints back into alignment even when the solver fails.
--
---@source UnityEngine.PhysicsModule.dll
---@field enableProjection bool
--
--Set the linear tolerance threshold for projection.
--
---@source UnityEngine.PhysicsModule.dll
---@field projectionDistance float
--
--Set the angular tolerance threshold (in degrees) for projection.
--
---@source UnityEngine.PhysicsModule.dll
---@field projectionAngle float
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.CharacterJoint = {}


--
--Script interface for the TriggerModule.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.TriggerModule: System.ValueType
--
--The maximum number of collision shapes that can be attached to this Particle System trigger.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field maxColliderCount int
--
--Specifies whether the TriggerModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--Choose what action to perform when particles are inside the trigger volume.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field inside UnityEngine.ParticleSystemOverlapAction
--
--Choose what action to perform when particles are outside the trigger volume.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field outside UnityEngine.ParticleSystemOverlapAction
--
--Choose what action to perform when particles enter the trigger volume.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enter UnityEngine.ParticleSystemOverlapAction
--
--Choose what action to perform when particles leave the trigger volume.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field exit UnityEngine.ParticleSystemOverlapAction
--
--Determines whether collider information is available when calling ParticleSystem::GetTriggerParticles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field colliderQueryMode UnityEngine.ParticleSystemColliderQueryMode
--
--A multiplier Unity applies to the size of each particle before it processes overlaps.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field radiusScale float
--
--Indicates the number of collision shapes attached to this Particle System trigger.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field colliderCount int
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.TriggerModule = {}

--
--Adds a Collision shape associated with this Particle System trigger.
--
--```plaintext
--Params: transform - The Collider to associate with this trigger.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param collider UnityEngine.Component
function CS.UnityEngine.TriggerModule.AddCollider(collider) end

--
--Removes a collision shape associated with this Particle System trigger.
--
--```plaintext
--Params: index - The Collider to remove.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
function CS.UnityEngine.TriggerModule.RemoveCollider(index) end

--
--Removes a collision shape associated with this Particle System trigger.
--
--```plaintext
--Params: collider - The Collider to remove.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param collider UnityEngine.Component
function CS.UnityEngine.TriggerModule.RemoveCollider(collider) end

--
--Sets a Collision shape associated with this Particle System trigger.
--
--```plaintext
--Params: index - The Collider entry to assign.
--        collider - The Collider to associate with this trigger.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@param collider UnityEngine.Component
function CS.UnityEngine.TriggerModule.SetCollider(index, collider) end

--
--The Collider at the given index.
--
--```plaintext
--Params: index - The Collider to return.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@return Component
function CS.UnityEngine.TriggerModule.GetCollider(index) end


--
--The configurable joint is an extremely flexible joint giving you complete control over rotation and linear motion.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.ConfigurableJoint: UnityEngine.Joint
--
--The joint's secondary axis.
--
---@source UnityEngine.PhysicsModule.dll
---@field secondaryAxis UnityEngine.Vector3
--
--Allow movement along the X axis to be Free, completely Locked, or Limited according to Linear Limit.
--
---@source UnityEngine.PhysicsModule.dll
---@field xMotion UnityEngine.ConfigurableJointMotion
--
--Allow movement along the Y axis to be Free, completely Locked, or Limited according to Linear Limit.
--
---@source UnityEngine.PhysicsModule.dll
---@field yMotion UnityEngine.ConfigurableJointMotion
--
--Allow movement along the Z axis to be Free, completely Locked, or Limited according to Linear Limit.
--
---@source UnityEngine.PhysicsModule.dll
---@field zMotion UnityEngine.ConfigurableJointMotion
--
--Allow rotation around the X axis to be Free, completely Locked, or Limited according to Low and High Angular XLimit.
--
---@source UnityEngine.PhysicsModule.dll
---@field angularXMotion UnityEngine.ConfigurableJointMotion
--
--Allow rotation around the Y axis to be Free, completely Locked, or Limited according to Angular YLimit.
--
---@source UnityEngine.PhysicsModule.dll
---@field angularYMotion UnityEngine.ConfigurableJointMotion
--
--Allow rotation around the Z axis to be Free, completely Locked, or Limited according to Angular ZLimit.
--
---@source UnityEngine.PhysicsModule.dll
---@field angularZMotion UnityEngine.ConfigurableJointMotion
--
--The configuration of the spring attached to the linear limit of the joint.
--
---@source UnityEngine.PhysicsModule.dll
---@field linearLimitSpring UnityEngine.SoftJointLimitSpring
--
--The configuration of the spring attached to the angular X limit of the joint.
--
---@source UnityEngine.PhysicsModule.dll
---@field angularXLimitSpring UnityEngine.SoftJointLimitSpring
--
--The configuration of the spring attached to the angular Y and angular Z limits of the joint.
--
---@source UnityEngine.PhysicsModule.dll
---@field angularYZLimitSpring UnityEngine.SoftJointLimitSpring
--
--Boundary defining movement restriction, based on distance from the joint's origin.
--
---@source UnityEngine.PhysicsModule.dll
---@field linearLimit UnityEngine.SoftJointLimit
--
--Boundary defining lower rotation restriction, based on delta from original rotation.
--
---@source UnityEngine.PhysicsModule.dll
---@field lowAngularXLimit UnityEngine.SoftJointLimit
--
--Boundary defining upper rotation restriction, based on delta from original rotation.
--
---@source UnityEngine.PhysicsModule.dll
---@field highAngularXLimit UnityEngine.SoftJointLimit
--
--Boundary defining rotation restriction, based on delta from original rotation.
--
---@source UnityEngine.PhysicsModule.dll
---@field angularYLimit UnityEngine.SoftJointLimit
--
--Boundary defining rotation restriction, based on delta from original rotation.
--
---@source UnityEngine.PhysicsModule.dll
---@field angularZLimit UnityEngine.SoftJointLimit
--
--The desired position that the joint should move into.
--
---@source UnityEngine.PhysicsModule.dll
---@field targetPosition UnityEngine.Vector3
--
--The desired velocity that the joint should move along.
--
---@source UnityEngine.PhysicsModule.dll
---@field targetVelocity UnityEngine.Vector3
--
--Definition of how the joint's movement will behave along its local X axis.
--
---@source UnityEngine.PhysicsModule.dll
---@field xDrive UnityEngine.JointDrive
--
--Definition of how the joint's movement will behave along its local Y axis.
--
---@source UnityEngine.PhysicsModule.dll
---@field yDrive UnityEngine.JointDrive
--
--Definition of how the joint's movement will behave along its local Z axis.
--
---@source UnityEngine.PhysicsModule.dll
---@field zDrive UnityEngine.JointDrive
--
--This is a Quaternion. It defines the desired rotation that the joint should rotate into.
--
---@source UnityEngine.PhysicsModule.dll
---@field targetRotation UnityEngine.Quaternion
--
--This is a Vector3. It defines the desired angular velocity that the joint should rotate into.
--
---@source UnityEngine.PhysicsModule.dll
---@field targetAngularVelocity UnityEngine.Vector3
--
--Control the object's rotation with either X & YZ or Slerp Drive by itself.
--
---@source UnityEngine.PhysicsModule.dll
---@field rotationDriveMode UnityEngine.RotationDriveMode
--
--Definition of how the joint's rotation will behave around its local X axis. Only used if Rotation Drive Mode is Swing & Twist.
--
---@source UnityEngine.PhysicsModule.dll
---@field angularXDrive UnityEngine.JointDrive
--
--Definition of how the joint's rotation will behave around its local Y and Z axes. Only used if Rotation Drive Mode is Swing & Twist.
--
---@source UnityEngine.PhysicsModule.dll
---@field angularYZDrive UnityEngine.JointDrive
--
--Definition of how the joint's rotation will behave around all local axes. Only used if Rotation Drive Mode is Slerp Only.
--
---@source UnityEngine.PhysicsModule.dll
---@field slerpDrive UnityEngine.JointDrive
--
--Brings violated constraints back into alignment even when the solver fails. Projection is not a physical process and does not preserve momentum or respect collision geometry. It is best avoided if practical, but can be useful in improving simulation quality where joint separation results in unacceptable artifacts.
--
---@source UnityEngine.PhysicsModule.dll
---@field projectionMode UnityEngine.JointProjectionMode
--
--Set the linear tolerance threshold for projection.
--
--If the joint separates by more than this distance along its locked degrees of freedom, the solver
--will move the bodies to close the distance.
--
--Setting a very small tolerance may result in simulation jitter or other artifacts.
--
--Sometimes it is not possible to project (for example when the joints form a cycle).
--
---@source UnityEngine.PhysicsModule.dll
---@field projectionDistance float
--
--Set the angular tolerance threshold (in degrees) for projection.
--
--If the joint deviates by more than this angle around its locked angular degrees of freedom,
--the solver will move the bodies to close the angle.
--
--Setting a very small tolerance may result in simulation jitter or other artifacts.
--
--Sometimes it is not possible to project (for example when the joints form a cycle).
--
---@source UnityEngine.PhysicsModule.dll
---@field projectionAngle float
--
--If enabled, all Target values will be calculated in world space instead of the object's local space.
--
---@source UnityEngine.PhysicsModule.dll
---@field configuredInWorldSpace bool
--
--Enable this property to swap the order in which the physics engine processes the Rigidbodies involved in the joint. This results in different joint motion but has no impact on Rigidbodies and anchors.
--
---@source UnityEngine.PhysicsModule.dll
---@field swapBodies bool
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.ConfigurableJoint = {}


--
--Script interface for the SubEmittersModule.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.SubEmittersModule: System.ValueType
--
--Sub-Particle System which spawns at the locations of the birth of the particles from the parent system.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field birth0 UnityEngine.ParticleSystem
--
--Sub-Particle System which spawns at the locations of the birth of the particles from the parent system.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field birth1 UnityEngine.ParticleSystem
--
--Sub-Particle System which spawns at the locations of the collision of the particles from the parent system.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field collision0 UnityEngine.ParticleSystem
--
--Sub-Particle System which spawns at the locations of the collision of the particles from the parent system.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field collision1 UnityEngine.ParticleSystem
--
--Sub-Particle System which spawns at the locations of the death of the particles from the parent system.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field death0 UnityEngine.ParticleSystem
--
--Sub-Particle System to spawn on death of the parent system's particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field death1 UnityEngine.ParticleSystem
--
--Specifies whether the SubEmittersModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--The total number of sub-emitters.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field subEmittersCount int
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.SubEmittersModule = {}

--
--Add a new sub-emitter.
--
--```plaintext
--Params: subEmitter - The sub-emitter to add.
--        type - The event that creates new particles.
--        properties - The properties of the new particles.
--        emitProbability - The probability that the sub-emitter emits particles. Accepts values from 0 to 1, where 0 is never and 1 is always.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param subEmitter UnityEngine.ParticleSystem
---@param type UnityEngine.ParticleSystemSubEmitterType
---@param properties UnityEngine.ParticleSystemSubEmitterProperties
---@param emitProbability float
function CS.UnityEngine.SubEmittersModule.AddSubEmitter(subEmitter, type, properties, emitProbability) end

--
--Add a new sub-emitter.
--
--```plaintext
--Params: subEmitter - The sub-emitter to add.
--        type - The event that creates new particles.
--        properties - The properties of the new particles.
--        emitProbability - The probability that the sub-emitter emits particles. Accepts values from 0 to 1, where 0 is never and 1 is always.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param subEmitter UnityEngine.ParticleSystem
---@param type UnityEngine.ParticleSystemSubEmitterType
---@param properties UnityEngine.ParticleSystemSubEmitterProperties
function CS.UnityEngine.SubEmittersModule.AddSubEmitter(subEmitter, type, properties) end

--
--Removes a sub-emitter from the given index in the array.
--
--```plaintext
--Params: index - The index from which to remove a sub-emitter.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
function CS.UnityEngine.SubEmittersModule.RemoveSubEmitter(index) end

--
--Removes a sub-emitter from the given index in the array.
--
--```plaintext
--Params: subEmitter - The sub-emitter to remove.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param subEmitter UnityEngine.ParticleSystem
function CS.UnityEngine.SubEmittersModule.RemoveSubEmitter(subEmitter) end

--
--Sets the Particle System to use as the sub-emitter at the given index.
--
--```plaintext
--Params: index - The index of the sub-emitter you want to modify.
--        subEmitter - The Particle System to use as the sub-emitter at the specified index.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@param subEmitter UnityEngine.ParticleSystem
function CS.UnityEngine.SubEmittersModule.SetSubEmitterSystem(index, subEmitter) end

--
--Sets the type of the sub-emitter at the given index.
--
--```plaintext
--Params: index - The index of the sub-emitter you want to modify.
--        type - The new spawning type to assign to this sub-emitter.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@param type UnityEngine.ParticleSystemSubEmitterType
function CS.UnityEngine.SubEmittersModule.SetSubEmitterType(index, type) end

--
--Sets the properties of the sub-emitter at the given index.
--
--```plaintext
--Params: index - The index of the sub-emitter you want to modify.
--        properties - The new properties to assign to this sub-emitter.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@param properties UnityEngine.ParticleSystemSubEmitterProperties
function CS.UnityEngine.SubEmittersModule.SetSubEmitterProperties(index, properties) end

--
--Sets the probability that the sub-emitter emits particles.
--
--```plaintext
--Params: index - The index of the sub-emitter you want to modify.
--        emitProbability - The probability value.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@param emitProbability float
function CS.UnityEngine.SubEmittersModule.SetSubEmitterEmitProbability(index, emitProbability) end

--
--The sub-emitter at the index.
--
--```plaintext
--Params: index - The index of the desired sub-emitter.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@return ParticleSystem
function CS.UnityEngine.SubEmittersModule.GetSubEmitterSystem(index) end

--
--The type of sub-emitter at the index.
--
--```plaintext
--Params: index - The index of the desired sub-emitter.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@return ParticleSystemSubEmitterType
function CS.UnityEngine.SubEmittersModule.GetSubEmitterType(index) end

--
--The properties of the sub-emitter at the index.
--
--```plaintext
--Params: index - The index of the sub-emitter.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@return ParticleSystemSubEmitterProperties
function CS.UnityEngine.SubEmittersModule.GetSubEmitterProperties(index) end

--
--The emission probability for the sub-emitter
--
--```plaintext
--Params: index - The index of the sub-emitter.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@return Single
function CS.UnityEngine.SubEmittersModule.GetSubEmitterEmitProbability(index) end


--
--Describes a contact point where the collision occurs.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.ContactPoint: System.ValueType
--
--The point of contact.
--
---@source UnityEngine.PhysicsModule.dll
---@field point UnityEngine.Vector3
--
--Normal of the contact point.
--
---@source UnityEngine.PhysicsModule.dll
---@field normal UnityEngine.Vector3
--
--The first collider in contact at the point.
--
---@source UnityEngine.PhysicsModule.dll
---@field thisCollider UnityEngine.Collider
--
--The other collider in contact at the point.
--
---@source UnityEngine.PhysicsModule.dll
---@field otherCollider UnityEngine.Collider
--
--The distance between the colliders at the contact point.
--
---@source UnityEngine.PhysicsModule.dll
---@field separation float
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.ContactPoint = {}


--
--Script interface for the TextureSheetAnimationModule.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.TextureSheetAnimationModule: System.ValueType
--
--Flip the U coordinate on particles, causing them to appear mirrored horizontally.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field flipU float
--
--Flip the V coordinate on particles, causing them to appear mirrored vertically.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field flipV float
--
--Use a random row of the Texture sheet for each particle emitted.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field useRandomRow bool
--
--Specifies whether the TextureSheetAnimationModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--Select whether the animated Texture information comes from a grid of frames on a single Texture, or from a list of Sprite objects.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field mode UnityEngine.ParticleSystemAnimationMode
--
--Select whether the system bases the playback on mapping a curve to the lifetime of each particle, by using the particle speeds, or if playback simply uses a constant frames per second.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field timeMode UnityEngine.ParticleSystemAnimationTimeMode
--
--Control how quickly the animation plays.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field fps float
--
--Defines the tiling of the Texture in the x-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field numTilesX int
--
--Defines the tiling of the texture in the y-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field numTilesY int
--
--Specifies the animation type.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field animation UnityEngine.ParticleSystemAnimationType
--
--Select how particles choose which row of a Texture Sheet Animation to use.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rowMode UnityEngine.ParticleSystemAnimationRowMode
--
--A curve to control which frame of the Texture sheet animation to play.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field frameOverTime UnityEngine.ParticleSystem.MinMaxCurve
--
--The frame over time mutiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field frameOverTimeMultiplier float
--
--Define a random starting frame for the Texture sheet animation.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startFrame UnityEngine.ParticleSystem.MinMaxCurve
--
--The starting frame multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startFrameMultiplier float
--
--Specifies how many times the animation loops during the lifetime of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field cycleCount int
--
--Explicitly select which row of the Texture sheet to use. The system uses this property when ParticleSystem.TextureSheetAnimationModule.rowMode is set to Custom.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rowIndex int
--
--Choose which UV channels receive Texture animation.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field uvChannelMask UnityEngine.Rendering.UVChannelFlags
--
--The total number of sprites.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field spriteCount int
--
--Specify how particle speeds are mapped to the animation frames.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field speedRange UnityEngine.Vector2
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.TextureSheetAnimationModule = {}

--
--Add a new Sprite.
--
--```plaintext
--Params: sprite - The Sprite to be added.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param sprite UnityEngine.Sprite
function CS.UnityEngine.TextureSheetAnimationModule.AddSprite(sprite) end

--
--Remove a Sprite from the given index in the array.
--
--```plaintext
--Params: index - The index from which to remove a Sprite.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
function CS.UnityEngine.TextureSheetAnimationModule.RemoveSprite(index) end

--
--Set the Sprite at the given index.
--
--```plaintext
--Params: index - The index of the Sprite being modified.
--        sprite - The Sprite being assigned.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@param sprite UnityEngine.Sprite
function CS.UnityEngine.TextureSheetAnimationModule.SetSprite(index, sprite) end

--
--The Sprite being requested.
--
--```plaintext
--Params: index - The index of the desired Sprite.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@return Sprite
function CS.UnityEngine.TextureSheetAnimationModule.GetSprite(index) end


--
--Represents a single instance of a 3D physics Scene.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.PhysicsScene: System.ValueType
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.PhysicsScene = {}

---@source UnityEngine.PhysicsModule.dll
---@return String
function CS.UnityEngine.PhysicsScene.ToString() end

---@source UnityEngine.PhysicsModule.dll
---@param lhs UnityEngine.PhysicsScene
---@param rhs UnityEngine.PhysicsScene
---@return Boolean
function CS.UnityEngine.PhysicsScene:op_Equality(lhs, rhs) end

---@source UnityEngine.PhysicsModule.dll
---@param lhs UnityEngine.PhysicsScene
---@param rhs UnityEngine.PhysicsScene
---@return Boolean
function CS.UnityEngine.PhysicsScene:op_Inequality(lhs, rhs) end

---@source UnityEngine.PhysicsModule.dll
---@return Int32
function CS.UnityEngine.PhysicsScene.GetHashCode() end

---@source UnityEngine.PhysicsModule.dll
---@param other object
---@return Boolean
function CS.UnityEngine.PhysicsScene.Equals(other) end

---@source UnityEngine.PhysicsModule.dll
---@param other UnityEngine.PhysicsScene
---@return Boolean
function CS.UnityEngine.PhysicsScene.Equals(other) end

--
--Is the physics scene valid?
--
---@source UnityEngine.PhysicsModule.dll
---@return Boolean
function CS.UnityEngine.PhysicsScene.IsValid() end

--
--Is the physics Scene is empty?
--
---@source UnityEngine.PhysicsModule.dll
---@return Boolean
function CS.UnityEngine.PhysicsScene.IsEmpty() end

--
--Whether the simulation was run or not.  Running the simulation during physics callbacks will always fail.
--
--```plaintext
--Params: step - The time to advance physics by.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param step float
function CS.UnityEngine.PhysicsScene.Simulate(step) end

--
--True if the ray intersects with a Collider, otherwise false.
--
--```plaintext
--Params: origin - The starting point of the ray in world coordinates.
--        direction - The direction of the ray.
--        maxDistance - The max distance the ray should check for collisions.
--        layerMask - A that is used to selectively ignore Colliders when casting a ray.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.PhysicsScene.Raycast(origin, direction, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.PhysicsScene.Raycast(origin, direction, hitInfo, maxDistance, layerMask, queryTriggerInteraction) end

--
--True if the ray intersects with a Collider, otherwise false.
--
--```plaintext
--Params: origin - The starting point and direction of the ray.
--        direction - The direction of the ray.
--        raycastHits - The buffer to store the hits into.
--        maxDistance - The max distance the rayhit is allowed to be from the start of the ray.
--        layerMask - A that is used to selectively ignore colliders when casting a ray.
--        queryTriggerInteraction - The amount of hits stored into the results buffer.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param raycastHits UnityEngine.RaycastHit[]
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Int32
function CS.UnityEngine.PhysicsScene.Raycast(origin, direction, raycastHits, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.PhysicsScene.CapsuleCast(point1, point2, radius, direction, hitInfo, maxDistance, layerMask, queryTriggerInteraction) end

--
--The amount of hits stored to the results buffer.
--
--```plaintext
--Params: point1 - The center of the sphere at the start of the capsule.
--        point2 - The center of the sphere at the end of the capsule.
--        radius - The radius of the capsule.
--        direction - The direction into which to sweep the capsule.
--        results - The buffer to store the results in.
--        maxDistance - The max length of the sweep.
--        layerMask - A that is used to selectively ignore colliders when casting a capsule.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Int32
function CS.UnityEngine.PhysicsScene.CapsuleCast(point1, point2, radius, direction, results, maxDistance, layerMask, queryTriggerInteraction) end

--
--The amount of entries written to the buffer.
--
--```plaintext
--Params: point0 - The center of the sphere at the start of the capsule.
--        point1 - The center of the sphere at the end of the capsule.
--        radius - The radius of the capsule.
--        results - The buffer to store the results into.
--        layerMask - A that is used to selectively ignore colliders when casting a capsule.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param point0 UnityEngine.Vector3
---@param point1 UnityEngine.Vector3
---@param radius float
---@param results UnityEngine.Collider[]
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Int32
function CS.UnityEngine.PhysicsScene.OverlapCapsule(point0, point1, radius, results, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.PhysicsScene.SphereCast(origin, radius, direction, hitInfo, maxDistance, layerMask, queryTriggerInteraction) end

--
--The amount of hits stored into the results buffer.
--
--```plaintext
--Params: origin - The center of the sphere at the start of the sweep.
--        radius - The radius of the sphere.
--        direction - The direction into which to sweep the sphere.
--        results - The buffer to save the results to.
--        maxDistance - The max length of the cast.
--        layerMask - A that is used to selectively ignore colliders when casting a capsule.
--        queryTriggerInteraction - A that is used to selectively ignore colliders when casting a capsule.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Int32
function CS.UnityEngine.PhysicsScene.SphereCast(origin, radius, direction, results, maxDistance, layerMask, queryTriggerInteraction) end

--
--The amount of colliders stored into the results buffer.
--
--```plaintext
--Params: position - Center of the sphere.
--        radius - Radius of the sphere.
--        results - The buffer to store the results into.
--        layerMask - A that is used to selectively ignore colliders when casting a ray.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param position UnityEngine.Vector3
---@param radius float
---@param results UnityEngine.Collider[]
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Int32
function CS.UnityEngine.PhysicsScene.OverlapSphere(position, radius, results, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param orientation UnityEngine.Quaternion
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.PhysicsScene.BoxCast(center, halfExtents, direction, hitInfo, orientation, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@return Boolean
function CS.UnityEngine.PhysicsScene.BoxCast(center, halfExtents, direction, hitInfo) end

--
--The amount of colliders stored in results.
--
--```plaintext
--Params: center - Center of the box.
--        halfExtents - Half of the size of the box in each dimension.
--        results - The buffer to store the results in.
--        orientation - Rotation of the box.
--        layerMask - A that is used to selectively ignore colliders when casting a ray.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param results UnityEngine.Collider[]
---@param orientation UnityEngine.Quaternion
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Int32
function CS.UnityEngine.PhysicsScene.OverlapBox(center, halfExtents, results, orientation, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param results UnityEngine.Collider[]
---@return Int32
function CS.UnityEngine.PhysicsScene.OverlapBox(center, halfExtents, results) end

--
--The amount of hits stored to the results buffer.
--
--```plaintext
--Params: center - Center of the box.
--        halfExtents - Half the size of the box in each dimension.
--        direction - The direction in which to cast the box.
--        results - The buffer to store the results in.
--        orientation - Rotation of the box.
--        maxDistance - The max length of the cast.
--        layerMask - A that is used to selectively ignore colliders when casting a capsule.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@param orientation UnityEngine.Quaternion
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Int32
function CS.UnityEngine.PhysicsScene.BoxCast(center, halfExtents, direction, results, orientation, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@return Int32
function CS.UnityEngine.PhysicsScene.BoxCast(center, halfExtents, direction, results) end


--
--Script interface for a Particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.Particle: System.ValueType
--
--The lifetime of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field lifetime float
--
--The random value of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field randomValue float
---@source UnityEngine.ParticleSystemModule.dll
---@field size float
---@source UnityEngine.ParticleSystemModule.dll
---@field color UnityEngine.Color32
--
--The position of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field position UnityEngine.Vector3
--
--The velocity of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field velocity UnityEngine.Vector3
--
--The animated velocity of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field animatedVelocity UnityEngine.Vector3
--
--The total velocity of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field totalVelocity UnityEngine.Vector3
--
--The remaining lifetime of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field remainingLifetime float
--
--The starting lifetime of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startLifetime float
--
--The initial color of the particle. The current color of the particle is calculated procedurally based on this value and the active color modules.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startColor UnityEngine.Color32
--
--The random seed of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field randomSeed uint
--
--Mesh particles rotate around this axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field axisOfRotation UnityEngine.Vector3
--
--The initial size of the particle. The current size of the particle is calculated procedurally based on this value and the active size modules.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSize float
--
--The initial 3D size of the particle. The current size of the particle is calculated procedurally based on this value and the active size modules.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSize3D UnityEngine.Vector3
--
--The rotation of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rotation float
--
--The 3D rotation of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rotation3D UnityEngine.Vector3
--
--The angular velocity of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field angularVelocity float
--
--The 3D angular velocity of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field angularVelocity3D UnityEngine.Vector3
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.Particle = {}

--
--Current size.
--
--```plaintext
--Params: system - The Particle System from which this particle was emitted.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param system UnityEngine.ParticleSystem
---@return Single
function CS.UnityEngine.Particle.GetCurrentSize(system) end

--
--Current size.
--
--```plaintext
--Params: system - The Particle System from which this particle was emitted.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param system UnityEngine.ParticleSystem
---@return Vector3
function CS.UnityEngine.Particle.GetCurrentSize3D(system) end

--
--Current color.
--
--```plaintext
--Params: system - The Particle System from which this particle was emitted.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param system UnityEngine.ParticleSystem
---@return Color32
function CS.UnityEngine.Particle.GetCurrentColor(system) end

--
--Sets the Mesh index of the particle, used for choosing which Mesh a particle is rendered with.
--
--```plaintext
--Params: index - The Mesh index.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
function CS.UnityEngine.Particle.SetMeshIndex(index) end

--
--The index of the mesh used for rendering the particle.
--
--```plaintext
--Params: system - The Particle System from which this particle was emitted.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param system UnityEngine.ParticleSystem
---@return Int32
function CS.UnityEngine.Particle.GetMeshIndex(system) end


--
--Scene extensions to access the underlying physics scene.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.PhysicsSceneExtensions: object
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.PhysicsSceneExtensions = {}

--
--The 3D physics Scene used by the Scene.
--
--```plaintext
--Params: scene - The Scene from which to return the 3D physics Scene.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@return PhysicsScene
function CS.UnityEngine.PhysicsSceneExtensions.GetPhysicsScene() end


--
--The type of the joint that restricts movement of the two connected articulation bodies.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.ArticulationJointType: System.Enum
--
--Fixed joint doesn't allow any relative movement of the connected bodies.
--
---@source UnityEngine.PhysicsModule.dll
---@field FixedJoint UnityEngine.ArticulationJointType
--
--Prismatic joint only allows relative translation of the connection bodies along one specified axis.
--
---@source UnityEngine.PhysicsModule.dll
---@field PrismaticJoint UnityEngine.ArticulationJointType
--
--Revolute joint allows rotational movement around the X axis of the parent's anchor.
--
---@source UnityEngine.PhysicsModule.dll
---@field RevoluteJoint UnityEngine.ArticulationJointType
--
--Spherical joint only allows relative rotations of the two connected bodies.
--
---@source UnityEngine.PhysicsModule.dll
---@field SphericalJoint UnityEngine.ArticulationJointType
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.ArticulationJointType = {}

---@source 
---@param value any
---@return UnityEngine.ArticulationJointType
function CS.UnityEngine.ArticulationJointType:__CastFrom(value) end


--
--An IntegratedSubsystem is initialized from an IntegratedSubsystemDescriptor for a given Subsystem (Example, Input, Environment, Display, etc.) and provides an interface to interact with that given IntegratedSubsystem until it is Destroyed. After an IntegratedSubsystem is created it can be Started or Stopped to turn on and off functionality (and preserve performance). The base type for IntegratedSubsystem only exposes this functionality; this class is designed to be a base class for derived classes that expose more functionality specific to a given IntegratedSubsystem.
--
--            Note: initializing a second IntegratedSubsystem from the same IntegratedSubsystemDescriptor will return a reference to the existing IntegratedSubsystem as only one IntegratedSubsystem is currently allowed for a single IntegratedSubsystem provider.
--
---@source UnityEngine.SubsystemsModule.dll
---@class UnityEngine.IntegratedSubsystem: object
--
--Whether or not the subsystem is running.
--
---@source UnityEngine.SubsystemsModule.dll
---@field running bool
---@source UnityEngine.SubsystemsModule.dll
CS.UnityEngine.IntegratedSubsystem = {}

--
--Starts an instance of a subsystem.
--
---@source UnityEngine.SubsystemsModule.dll
function CS.UnityEngine.IntegratedSubsystem.Start() end

--
--Stops an instance of a subsystem.
--
---@source UnityEngine.SubsystemsModule.dll
function CS.UnityEngine.IntegratedSubsystem.Stop() end

--
--Destroys this instance of a subsystem.
--
---@source UnityEngine.SubsystemsModule.dll
function CS.UnityEngine.IntegratedSubsystem.Destroy() end


--
--The lock type applied to a particular degree of freedom of an articulation body.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.ArticulationDofLock: System.Enum
--
--The relative motion of the two connected articulation bodies is not allowed.
--
---@source UnityEngine.PhysicsModule.dll
---@field LockedMotion UnityEngine.ArticulationDofLock
--
--The relative motion of the two connected articulation bodies is limited to a certain range.
--
---@source UnityEngine.PhysicsModule.dll
---@field LimitedMotion UnityEngine.ArticulationDofLock
--
--The relative motion of the two connected articulation bodies is unconstrained.
--
---@source UnityEngine.PhysicsModule.dll
---@field FreeMotion UnityEngine.ArticulationDofLock
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.ArticulationDofLock = {}

---@source 
---@param value any
---@return UnityEngine.ArticulationDofLock
function CS.UnityEngine.ArticulationDofLock:__CastFrom(value) end


---@source UnityEngine.SubsystemsModule.dll
---@class UnityEngine.IntegratedSubsystem: UnityEngine.IntegratedSubsystem
---@source UnityEngine.SubsystemsModule.dll
---@field subsystemDescriptor TSubsystemDescriptor
---@source UnityEngine.SubsystemsModule.dll
---@field SubsystemDescriptor TSubsystemDescriptor
---@source UnityEngine.SubsystemsModule.dll
CS.UnityEngine.IntegratedSubsystem = {}


--
--Drive applies forces and torques to the connected bodies.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.ArticulationDrive: System.ValueType
--
--The lower limit of motion for a particular degree of freedom.
--
---@source UnityEngine.PhysicsModule.dll
---@field lowerLimit float
--
--The upper limit of motion for a particular degree of freedom.
--
---@source UnityEngine.PhysicsModule.dll
---@field upperLimit float
--
--The stiffness of the spring connected to this drive.
--
---@source UnityEngine.PhysicsModule.dll
---@field stiffness float
--
--The damping of the spring attached to this drive.
--
---@source UnityEngine.PhysicsModule.dll
---@field damping float
--
--The maximum force this drive can apply to a body.
--
---@source UnityEngine.PhysicsModule.dll
---@field forceLimit float
--
--The target value the drive will try to reach.
--
---@source UnityEngine.PhysicsModule.dll
---@field target float
--
--The velocity of the body this drive will try to reach.
--
---@source UnityEngine.PhysicsModule.dll
---@field targetVelocity float
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.ArticulationDrive = {}


---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.CollisionEvent: System.ValueType
---@source UnityEngine.ParticleSystemModule.dll
---@field intersection UnityEngine.Vector3
---@source UnityEngine.ParticleSystemModule.dll
---@field normal UnityEngine.Vector3
---@source UnityEngine.ParticleSystemModule.dll
---@field velocity UnityEngine.Vector3
---@source UnityEngine.ParticleSystemModule.dll
---@field collider UnityEngine.Component
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.CollisionEvent = {}


--
--Coordinates in reduced space.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.ArticulationReducedSpace: System.ValueType
--
--The number of degrees of freedom of a body.
--
---@source UnityEngine.PhysicsModule.dll
---@field dofCount int
---@source UnityEngine.PhysicsModule.dll
---@field this[] float
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.ArticulationReducedSpace = {}


--
--Script interface for a Burst.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.Burst: System.ValueType
--
--The time that each burst occurs.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field time float
--
--Specify the number of particles to emit.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field count UnityEngine.ParticleSystem.MinMaxCurve
--
--The minimum number of particles to emit.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field minCount short
--
--The maximum number of particles to emit.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field maxCount short
--
--Specifies how many times the system should play the burst. Set this to 0 to make it play indefinitely.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field cycleCount int
--
--How often to repeat the burst, in seconds.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field repeatInterval float
--
--The probability that the system triggers a burst.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field probability float
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.Burst = {}


--
--Script interface for a Min-Max Gradient.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.MinMaxGradient: System.ValueType
--
--Set the mode that the Min-Max Gradient uses to evaluate colors.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field mode UnityEngine.ParticleSystemGradientMode
--
--Set a gradient for the upper bound.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field gradientMax UnityEngine.Gradient
--
--Set a gradient for the lower bound.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field gradientMin UnityEngine.Gradient
--
--Set a constant color for the upper bound.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field colorMax UnityEngine.Color
--
--Set a constant color for the lower bound.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field colorMin UnityEngine.Color
--
--Set a constant color.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field color UnityEngine.Color
--
--Set the gradient.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field gradient UnityEngine.Gradient
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.MinMaxGradient = {}

--
--Calculated gradient/color value.
--
--```plaintext
--Params: time - Normalized time (in the range 0 - 1, where 1 represents 100%) at which to evaluate the gradient. This is valid when ParticleSystem.MinMaxGradient.mode is set to ParticleSystemGradientMode.Gradient or ParticleSystemGradientMode.TwoGradients.
--        lerpFactor - Blend between the two gradients/colors (Valid when ParticleSystem.MinMaxGradient.mode is set to ParticleSystemGradientMode.TwoColors or ParticleSystemGradientMode.TwoGradients).
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param time float
---@return Color
function CS.UnityEngine.MinMaxGradient.Evaluate(time) end

--
--Calculated gradient/color value.
--
--```plaintext
--Params: time - Normalized time (in the range 0 - 1, where 1 represents 100%) at which to evaluate the gradient. This is valid when ParticleSystem.MinMaxGradient.mode is set to ParticleSystemGradientMode.Gradient or ParticleSystemGradientMode.TwoGradients.
--        lerpFactor - Blend between the two gradients/colors (Valid when ParticleSystem.MinMaxGradient.mode is set to ParticleSystemGradientMode.TwoColors or ParticleSystemGradientMode.TwoGradients).
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param time float
---@param lerpFactor float
---@return Color
function CS.UnityEngine.MinMaxGradient.Evaluate(time, lerpFactor) end

---@source UnityEngine.ParticleSystemModule.dll
---@param color UnityEngine.Color
---@return MinMaxGradient
function CS.UnityEngine.MinMaxGradient:op_Implicit(color) end

---@source UnityEngine.ParticleSystemModule.dll
---@param gradient UnityEngine.Gradient
---@return MinMaxGradient
function CS.UnityEngine.MinMaxGradient:op_Implicit(gradient) end


--
--Information about a subsystem that can be queried before creating a subsystem instance.
--
---@source UnityEngine.SubsystemsModule.dll
---@class UnityEngine.IntegratedSubsystemDescriptor: object
--
--A unique string that identifies the subsystem that this Descriptor can create.
--
---@source UnityEngine.SubsystemsModule.dll
---@field id string
---@source UnityEngine.SubsystemsModule.dll
CS.UnityEngine.IntegratedSubsystemDescriptor = {}


--
--Script interface for Particle System emission parameters.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.EmitParams: System.ValueType
--
--Override all the properties of particles this system emits.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field particle UnityEngine.ParticleSystem.Particle
--
--Override the position of particles this system emits.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field position UnityEngine.Vector3
--
--When overriding the position of particles, setting this flag to true allows you to retain the influence of the shape module.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field applyShapeToPosition bool
--
--Override the velocity of particles this system emits.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field velocity UnityEngine.Vector3
--
--Override the lifetime of particles this system emits.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startLifetime float
--
--Override the initial size of particles this system emits.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSize float
--
--Override the initial 3D size of particles this system emits.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startSize3D UnityEngine.Vector3
--
--Override the axis of rotation of particles this system emits.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field axisOfRotation UnityEngine.Vector3
--
--Override the rotation of particles this system emits.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rotation float
--
--Override the 3D rotation of particles this system emits.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rotation3D UnityEngine.Vector3
--
--Override the angular velocity of particles this system emits.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field angularVelocity float
--
--Override the 3D angular velocity of particles this system emits.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field angularVelocity3D UnityEngine.Vector3
--
--Override the initial color of particles this system emits.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field startColor UnityEngine.Color32
--
--Override the random seed of particles this system emits.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field randomSeed uint
--
--Set the index that specifies which Mesh to emit.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field meshIndex int
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.EmitParams = {}

--
--Revert the position back to the value specified in the Inspector.
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.EmitParams.ResetPosition() end

--
--Revert the velocity back to the value specified in the Inspector.
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.EmitParams.ResetVelocity() end

--
--Revert the axis of rotation back to the value specified in the Inspector.
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.EmitParams.ResetAxisOfRotation() end

--
--Reverts rotation and rotation3D back to the values specified in the Inspector.
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.EmitParams.ResetRotation() end

--
--Reverts angularVelocity and angularVelocity3D back to the values specified in the Inspector.
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.EmitParams.ResetAngularVelocity() end

--
--Revert the initial size back to the value specified in the Inspector.
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.EmitParams.ResetStartSize() end

--
--Revert the initial color back to the value specified in the Inspector.
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.EmitParams.ResetStartColor() end

--
--Revert the random seed back to the value specified in the Inspector.
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.EmitParams.ResetRandomSeed() end

--
--Revert the lifetime back to the value specified in the Inspector.
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.EmitParams.ResetStartLifetime() end

--
--Revert the Mesh selection back to the default randomized behavior.
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.EmitParams.ResetMeshIndex() end


--
--Script interface for storing the particle playback state.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.PlaybackState: System.ValueType
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.PlaybackState = {}


---@source UnityEngine.SubsystemsModule.dll
---@class UnityEngine.IntegratedSubsystemDescriptor: UnityEngine.IntegratedSubsystemDescriptor
---@source UnityEngine.SubsystemsModule.dll
CS.UnityEngine.IntegratedSubsystemDescriptor = {}

---@source UnityEngine.SubsystemsModule.dll
---@return TSubsystem
function CS.UnityEngine.IntegratedSubsystemDescriptor.Create() end


---@source UnityEngine.SubsystemsModule.dll
---@class UnityEngine.ISubsystem
--
--Will be true if asking the subsytem to start was successful. False in the case that the subsystem has stopped, was asked to stop or has not been started yet.
--
---@source UnityEngine.SubsystemsModule.dll
---@field running bool
---@source UnityEngine.SubsystemsModule.dll
CS.UnityEngine.ISubsystem = {}

--
--Starts an instance of a subsystem.
--
---@source UnityEngine.SubsystemsModule.dll
function CS.UnityEngine.ISubsystem.Start() end

--
--Stops an instance of a subsystem.
--
---@source UnityEngine.SubsystemsModule.dll
function CS.UnityEngine.ISubsystem.Stop() end

--
--Destroys this instance of a subsystem.
--
---@source UnityEngine.SubsystemsModule.dll
function CS.UnityEngine.ISubsystem.Destroy() end


---@source UnityEngine.SubsystemsModule.dll
---@class UnityEngine.ISubsystemDescriptor
--
--A unique string that identifies the subsystem that this Descriptor can create.
--
---@source UnityEngine.SubsystemsModule.dll
---@field id string
---@source UnityEngine.SubsystemsModule.dll
CS.UnityEngine.ISubsystemDescriptor = {}

--
--An instance of ISubsystem.
--
---@source UnityEngine.SubsystemsModule.dll
---@return ISubsystem
function CS.UnityEngine.ISubsystemDescriptor.Create() end


---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.<x>e__FixedBuffer: System.ValueType
---@source UnityEngine.PhysicsModule.dll
---@field FixedElementField float
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.<x>e__FixedBuffer = {}


--
--The floating point dense Jacobian matrix of the articulation body hierarchy.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.ArticulationJacobian: System.ValueType
---@source UnityEngine.PhysicsModule.dll
---@field this[] float
--
--Number of rows of the matrix is equal to the number of articulation bodies in hierarchy times 6: 3 rows of linearpositional DOF and 3 rows of angularrotational DOF for each body.
--
---@source UnityEngine.PhysicsModule.dll
---@field rows int
--
--Number of columns of the matrix is equal to the total number of all joint degrees of freedom(DOF), plus 6 if ArticulationBody.immovable is false.
--
---@source UnityEngine.PhysicsModule.dll
---@field columns int
--
--List of floats representing Jacobian matrix.
--
---@source UnityEngine.PhysicsModule.dll
---@field elements System.Collections.Generic.List<float>
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.ArticulationJacobian = {}


--
--A Subsystem is initialized from a SubsystemDescriptorWithProvider for a given Subsystem (Example, Input, Display, etc.) and provides an interface to interact with that given Subsystem until it is Destroyed. After a Subsystem is created it can be Started or Stopped to turn on and off functionality (and improve performance). The base type for subsystems only exposes this functionality; this class is designed to be a base class for derived classes that expose more functionality specific to a given Subsystem.
--
--            Note: initializing a second Subsystem from the same SubsystemDescriptor will return a reference to the existing Subsystem as only one Subsystem is currently allowed for a single Subsystem provider.
--
--This subsystem base-class is deprecated. If you are creating a new subsystem type, derive from SubsystemWithProvider instead.
--
---@source UnityEngine.SubsystemsModule.dll
---@class UnityEngine.Subsystem: object
--
--Whether or not the subsystem is running.
--
---@source UnityEngine.SubsystemsModule.dll
---@field running bool
---@source UnityEngine.SubsystemsModule.dll
CS.UnityEngine.Subsystem = {}

--
--Starts an instance of a subsystem.
--
---@source UnityEngine.SubsystemsModule.dll
function CS.UnityEngine.Subsystem.Start() end

--
--Stops an instance of a subsystem.
--
---@source UnityEngine.SubsystemsModule.dll
function CS.UnityEngine.Subsystem.Stop() end

--
--Destroys this instance of a subsystem.
--
---@source UnityEngine.SubsystemsModule.dll
function CS.UnityEngine.Subsystem.Destroy() end


--
--A body that forms part of a Physics articulation.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.ArticulationBody: UnityEngine.Behaviour
--
--The type of joint connecting this body to its parent body.
--
---@source UnityEngine.PhysicsModule.dll
---@field jointType UnityEngine.ArticulationJointType
--
--Position of the anchor relative to this body.
--
---@source UnityEngine.PhysicsModule.dll
---@field anchorPosition UnityEngine.Vector3
--
--Position of the anchor relative to this body's parent.
--
---@source UnityEngine.PhysicsModule.dll
---@field parentAnchorPosition UnityEngine.Vector3
--
--Rotation of the anchor relative to this body.
--
---@source UnityEngine.PhysicsModule.dll
---@field anchorRotation UnityEngine.Quaternion
--
--Rotation of the anchor relative to this body's parent.
--
---@source UnityEngine.PhysicsModule.dll
---@field parentAnchorRotation UnityEngine.Quaternion
--
--Indicates whether this body is the root body of the articulation (Read Only).
--
---@source UnityEngine.PhysicsModule.dll
---@field isRoot bool
--
--The type of lock along X axis of movement.
--
---@source UnityEngine.PhysicsModule.dll
---@field linearLockX UnityEngine.ArticulationDofLock
--
--The type of lock along Y axis of movement.
--
---@source UnityEngine.PhysicsModule.dll
---@field linearLockY UnityEngine.ArticulationDofLock
--
--The type of lock along Z axis of movement.
--
---@source UnityEngine.PhysicsModule.dll
---@field linearLockZ UnityEngine.ArticulationDofLock
--
--The magnitude of the conical swing angle relative to Y axis.
--
---@source UnityEngine.PhysicsModule.dll
---@field swingYLock UnityEngine.ArticulationDofLock
--
--The magnitude of the conical swing angle relative to Z axis.
--
---@source UnityEngine.PhysicsModule.dll
---@field swingZLock UnityEngine.ArticulationDofLock
--
--The type of lock for twist movement.
--
---@source UnityEngine.PhysicsModule.dll
---@field twistLock UnityEngine.ArticulationDofLock
--
--The properties of drive along or around X.
--
---@source UnityEngine.PhysicsModule.dll
---@field xDrive UnityEngine.ArticulationDrive
--
--The properties of drive along or around Y.
--
---@source UnityEngine.PhysicsModule.dll
---@field yDrive UnityEngine.ArticulationDrive
--
--The properties of drive along or around Z.
--
---@source UnityEngine.PhysicsModule.dll
---@field zDrive UnityEngine.ArticulationDrive
--
--Allows you to specify that this body is not movable.
--
---@source UnityEngine.PhysicsModule.dll
---@field immovable bool
--
--Controls whether gravity affects this articulation body.
--
---@source UnityEngine.PhysicsModule.dll
---@field useGravity bool
--
--Damping factor that affects how this body resists linear motion.
--
---@source UnityEngine.PhysicsModule.dll
---@field linearDamping float
--
--Damping factor that affects how this body resists rotations.
--
---@source UnityEngine.PhysicsModule.dll
---@field angularDamping float
--
--Allows you to specify the amount of friction that is applied as a result of the parent body moving relative to this body.
--
---@source UnityEngine.PhysicsModule.dll
---@field jointFriction float
--
--Linear velocity of the body defined in world space.
--
---@source UnityEngine.PhysicsModule.dll
---@field velocity UnityEngine.Vector3
--
--The angular velocity of the body defined in world space.
--
---@source UnityEngine.PhysicsModule.dll
---@field angularVelocity UnityEngine.Vector3
--
--The mass of this articulation body.
--
---@source UnityEngine.PhysicsModule.dll
---@field mass float
--
--The center of mass of the body defined in local space.
--
---@source UnityEngine.PhysicsModule.dll
---@field centerOfMass UnityEngine.Vector3
--
--The center of mass of the body defined in world space (Read Only).
--
---@source UnityEngine.PhysicsModule.dll
---@field worldCenterOfMass UnityEngine.Vector3
--
--The inertia tensor of this body.
--
---@source UnityEngine.PhysicsModule.dll
---@field inertiaTensor UnityEngine.Vector3
--
--The rotation of the inertia tensor.
--
---@source UnityEngine.PhysicsModule.dll
---@field inertiaTensorRotation UnityEngine.Quaternion
--
--The mass-normalized energy threshold, below which objects start going to sleep.
--
---@source UnityEngine.PhysicsModule.dll
---@field sleepThreshold float
--
--The solverIterations determines how accurately articulation body joints and collision contacts are resolved.
--
---@source UnityEngine.PhysicsModule.dll
---@field solverIterations int
--
--The solverVelocityIterations affects how accurately articulation body joints and collision contacts are resolved during bounce.
--
---@source UnityEngine.PhysicsModule.dll
---@field solverVelocityIterations int
--
--The maximimum angular velocity of the articulation body measured in radians per second.
--
---@source UnityEngine.PhysicsModule.dll
---@field maxAngularVelocity float
--
--The maximum linear velocity of the articulation body measured in meters per second.
--
---@source UnityEngine.PhysicsModule.dll
---@field maxLinearVelocity float
--
--The maximum joint velocity of the articulation body joint in reduced coordinates.
--
---@source UnityEngine.PhysicsModule.dll
---@field maxJointVelocity float
--
--The maximum velocity of an articulation body when moving out of penetrating state.
--
---@source UnityEngine.PhysicsModule.dll
---@field maxDepenetrationVelocity float
--
--The joint position in reduced coordinates.
--
---@source UnityEngine.PhysicsModule.dll
---@field jointPosition UnityEngine.ArticulationReducedSpace
--
--The joint velocity in reduced coordinates.
--
---@source UnityEngine.PhysicsModule.dll
---@field jointVelocity UnityEngine.ArticulationReducedSpace
--
--The joint acceleration in reduced coordinates.
--
---@source UnityEngine.PhysicsModule.dll
---@field jointAcceleration UnityEngine.ArticulationReducedSpace
--
--The joint force in reduced coordinates.
--
---@source UnityEngine.PhysicsModule.dll
---@field jointForce UnityEngine.ArticulationReducedSpace
--
--The amount of degrees of freedom of a body.
--
---@source UnityEngine.PhysicsModule.dll
---@field dofCount int
--
--The index of the body in the hierarchy of articulation bodies.
--
---@source UnityEngine.PhysicsModule.dll
---@field index int
--
--The ArticulationBody's collision detection mode.
--
---@source UnityEngine.PhysicsModule.dll
---@field collisionDetectionMode UnityEngine.CollisionDetectionMode
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.ArticulationBody = {}

--
--Add force to the articulation body.
--
--```plaintext
--Params: force - The force vector to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param force UnityEngine.Vector3
function CS.UnityEngine.ArticulationBody.AddForce(force) end

--
--Applies a force to the articulation body, relative to its local coordinate system.
--
--```plaintext
--Params: force - Force vector in local coordinates.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param force UnityEngine.Vector3
function CS.UnityEngine.ArticulationBody.AddRelativeForce(force) end

--
--Add torque to the articulation body.
--
--```plaintext
--Params: torque - The torque to apply.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param torque UnityEngine.Vector3
function CS.UnityEngine.ArticulationBody.AddTorque(torque) end

--
--Applies a torque to the articulation body, relative to its local coordinate system.
--
--```plaintext
--Params: torque - Torque vector in local coordinates.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param torque UnityEngine.Vector3
function CS.UnityEngine.ArticulationBody.AddRelativeTorque(torque) end

--
--Applies a force at a specific position, resulting in applying a torque and force on the object.
--
--```plaintext
--Params: force - Force vector in world coordinates.
--        position - Position in world coordinates.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param force UnityEngine.Vector3
---@param position UnityEngine.Vector3
function CS.UnityEngine.ArticulationBody.AddForceAtPosition(force, position) end

--
--Resets the center of mass of the articulation body.
--
---@source UnityEngine.PhysicsModule.dll
function CS.UnityEngine.ArticulationBody.ResetCenterOfMass() end

--
--Resets the inertia tensor value and rotation.
--
---@source UnityEngine.PhysicsModule.dll
function CS.UnityEngine.ArticulationBody.ResetInertiaTensor() end

--
--Forces an articulation body to sleep.
--
---@source UnityEngine.PhysicsModule.dll
function CS.UnityEngine.ArticulationBody.Sleep() end

--
--Indicates whether the articulation body is sleeping.
--
---@source UnityEngine.PhysicsModule.dll
---@return Boolean
function CS.UnityEngine.ArticulationBody.IsSleeping() end

--
--Forces an articulation body to wake up.
--
---@source UnityEngine.PhysicsModule.dll
function CS.UnityEngine.ArticulationBody.WakeUp() end

--
--Teleport the root body of the articulation to a new pose.
--
--```plaintext
--Params: position - The new position of the root articulation body.
--        rotation - The new orientation of the root articulation body.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
function CS.UnityEngine.ArticulationBody.TeleportRoot(position, rotation) end

--
--The point on the surfaces of all Colliders attached to this articulation body that is closest to the given one.
--
--```plaintext
--Params: point - The point of interest.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param point UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.ArticulationBody.GetClosestPoint(point) end

--
--The velocity relative to the articulation body at the point relativePoint.
--
---@source UnityEngine.PhysicsModule.dll
---@param relativePoint UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.ArticulationBody.GetRelativePointVelocity(relativePoint) end

--
--Gets the velocity of the articulation body at the specified worldPoint in global space.
--
---@source UnityEngine.PhysicsModule.dll
---@param worldPoint UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.ArticulationBody.GetPointVelocity(worldPoint) end

---@source UnityEngine.PhysicsModule.dll
---@param jacobian UnityEngine.ArticulationJacobian
---@return Int32
function CS.UnityEngine.ArticulationBody.GetDenseJacobian(jacobian) end

---@source UnityEngine.PhysicsModule.dll
---@param positions System.Collections.Generic.List<float>
---@return Int32
function CS.UnityEngine.ArticulationBody.GetJointPositions(positions) end

---@source UnityEngine.PhysicsModule.dll
---@param positions System.Collections.Generic.List<float>
function CS.UnityEngine.ArticulationBody.SetJointPositions(positions) end

---@source UnityEngine.PhysicsModule.dll
---@param velocities System.Collections.Generic.List<float>
---@return Int32
function CS.UnityEngine.ArticulationBody.GetJointVelocities(velocities) end

---@source UnityEngine.PhysicsModule.dll
---@param velocities System.Collections.Generic.List<float>
function CS.UnityEngine.ArticulationBody.SetJointVelocities(velocities) end

---@source UnityEngine.PhysicsModule.dll
---@param accelerations System.Collections.Generic.List<float>
---@return Int32
function CS.UnityEngine.ArticulationBody.GetJointAccelerations(accelerations) end

---@source UnityEngine.PhysicsModule.dll
---@param accelerations System.Collections.Generic.List<float>
function CS.UnityEngine.ArticulationBody.SetJointAccelerations(accelerations) end

---@source UnityEngine.PhysicsModule.dll
---@param forces System.Collections.Generic.List<float>
---@return Int32
function CS.UnityEngine.ArticulationBody.GetJointForces(forces) end

---@source UnityEngine.PhysicsModule.dll
---@param forces System.Collections.Generic.List<float>
function CS.UnityEngine.ArticulationBody.SetJointForces(forces) end

---@source UnityEngine.PhysicsModule.dll
---@param targets System.Collections.Generic.List<float>
---@return Int32
function CS.UnityEngine.ArticulationBody.GetDriveTargets(targets) end

---@source UnityEngine.PhysicsModule.dll
---@param targets System.Collections.Generic.List<float>
function CS.UnityEngine.ArticulationBody.SetDriveTargets(targets) end

---@source UnityEngine.PhysicsModule.dll
---@param targetVelocities System.Collections.Generic.List<float>
---@return Int32
function CS.UnityEngine.ArticulationBody.GetDriveTargetVelocities(targetVelocities) end

---@source UnityEngine.PhysicsModule.dll
---@param targetVelocities System.Collections.Generic.List<float>
function CS.UnityEngine.ArticulationBody.SetDriveTargetVelocities(targetVelocities) end

---@source UnityEngine.PhysicsModule.dll
---@param dofStartIndices System.Collections.Generic.List<int>
---@return Int32
function CS.UnityEngine.ArticulationBody.GetDofStartIndices(dofStartIndices) end


---@source UnityEngine.SubsystemsModule.dll
---@class UnityEngine.Subsystem: UnityEngine.Subsystem
---@source UnityEngine.SubsystemsModule.dll
---@field SubsystemDescriptor TSubsystemDescriptor
---@source UnityEngine.SubsystemsModule.dll
CS.UnityEngine.Subsystem = {}


--
--Global physics properties and helper methods.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.Physics: object
--
--Layer mask constant to select ignore raycast layer.
--
---@source UnityEngine.PhysicsModule.dll
---@field IgnoreRaycastLayer int
--
--Layer mask constant to select default raycast layers.
--
---@source UnityEngine.PhysicsModule.dll
---@field DefaultRaycastLayers int
--
--Layer mask constant to select all layers.
--
---@source UnityEngine.PhysicsModule.dll
---@field AllLayers int
---@source UnityEngine.PhysicsModule.dll
---@field kIgnoreRaycastLayer int
---@source UnityEngine.PhysicsModule.dll
---@field kDefaultRaycastLayers int
---@source UnityEngine.PhysicsModule.dll
---@field kAllLayers int
--
--The minimum contact penetration value in order to apply a penalty force (default 0.05). Must be positive.
--
---@source UnityEngine.PhysicsModule.dll
---@field minPenetrationForPenalty float
--
--The gravity applied to all rigid bodies in the Scene.
--
---@source UnityEngine.PhysicsModule.dll
---@field gravity UnityEngine.Vector3
--
--The default contact offset of the newly created colliders.
--
---@source UnityEngine.PhysicsModule.dll
---@field defaultContactOffset float
--
--The mass-normalized energy threshold, below which objects start going to sleep.
--
---@source UnityEngine.PhysicsModule.dll
---@field sleepThreshold float
--
--Specifies whether queries (raycasts, spherecasts, overlap tests, etc.) hit Triggers by default.
--
---@source UnityEngine.PhysicsModule.dll
---@field queriesHitTriggers bool
--
--Whether physics queries should hit back-face triangles.
--
---@source UnityEngine.PhysicsModule.dll
---@field queriesHitBackfaces bool
--
--Two colliding objects with a relative velocity below this will not bounce (default 2). Must be positive.
--
---@source UnityEngine.PhysicsModule.dll
---@field bounceThreshold float
--
--The maximum default velocity needed to move a Rigidbody's collider out of another collider's surface penetration. Must be positive.
--
---@source UnityEngine.PhysicsModule.dll
---@field defaultMaxDepenetrationVelocity float
--
--The defaultSolverIterations determines how accurately Rigidbody joints and collision contacts are resolved. (default 6). Must be positive.
--
---@source UnityEngine.PhysicsModule.dll
---@field defaultSolverIterations int
--
--The defaultSolverVelocityIterations affects how accurately the Rigidbody joints and collision contacts are resolved. (default 1). Must be positive.
--
---@source UnityEngine.PhysicsModule.dll
---@field defaultSolverVelocityIterations int
---@source UnityEngine.PhysicsModule.dll
---@field bounceTreshold float
--
--The default linear velocity, below which objects start going to sleep (default 0.15). Must be positive.
--
---@source UnityEngine.PhysicsModule.dll
---@field sleepVelocity float
--
--The default angular velocity, below which objects start sleeping (default 0.14). Must be positive.
--
---@source UnityEngine.PhysicsModule.dll
---@field sleepAngularVelocity float
--
--The default maximum angular velocity permitted for any rigid bodies (default 7). Must be positive.
--
---@source UnityEngine.PhysicsModule.dll
---@field maxAngularVelocity float
---@source UnityEngine.PhysicsModule.dll
---@field solverIterationCount int
---@source UnityEngine.PhysicsModule.dll
---@field solverVelocityIterationCount int
---@source UnityEngine.PhysicsModule.dll
---@field penetrationPenaltyForce float
--
--Default maximum angular speed of the dynamic Rigidbody, in radians (default 50).
--
---@source UnityEngine.PhysicsModule.dll
---@field defaultMaxAngularSpeed float
--
--The PhysicsScene automatically created when Unity starts.
--
---@source UnityEngine.PhysicsModule.dll
---@field defaultPhysicsScene UnityEngine.PhysicsScene
--
--Sets whether the physics should be simulated automatically or not.
--
---@source UnityEngine.PhysicsModule.dll
---@field autoSimulation bool
--
--Whether or not to automatically sync transform changes with the physics system whenever a Transform component changes.
--
---@source UnityEngine.PhysicsModule.dll
---@field autoSyncTransforms bool
--
--Determines whether the garbage collector should reuse only a single instance of a Collision type for all collision callbacks.
--
---@source UnityEngine.PhysicsModule.dll
---@field reuseCollisionCallbacks bool
--
--Sets the minimum separation distance for cloth inter-collision.
--
---@source UnityEngine.PhysicsModule.dll
---@field interCollisionDistance float
--
--Sets the cloth inter-collision stiffness.
--
---@source UnityEngine.PhysicsModule.dll
---@field interCollisionStiffness float
---@source UnityEngine.PhysicsModule.dll
---@field interCollisionSettingsToggle bool
--
--Cloth Gravity setting.
--Set gravity for all cloth components.
--
---@source UnityEngine.PhysicsModule.dll
---@field clothGravity UnityEngine.Vector3
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.Physics = {}

--
--Makes the collision detection system ignore all collisions between collider1 and collider2.
--
--```plaintext
--Params: collider1 - Any collider.
--        collider2 - Another collider you want to have collider1 to start or stop ignoring collisions with.
--        ignore - Whether or not the collisions between the two colliders should be ignored or not.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param collider1 UnityEngine.Collider
---@param collider2 UnityEngine.Collider
---@param ignore bool
function CS.UnityEngine.Physics:IgnoreCollision(collider1, collider2, ignore) end

---@source UnityEngine.PhysicsModule.dll
---@param collider1 UnityEngine.Collider
---@param collider2 UnityEngine.Collider
function CS.UnityEngine.Physics:IgnoreCollision(collider1, collider2) end

--
--Makes the collision detection system ignore all collisions between any collider in layer1 and any collider in layer2.
--
--Note that IgnoreLayerCollision will reset the trigger state of affected colliders, so you might receive OnTriggerExit and OnTriggerEnter messages in response to calling this.
--
---@source UnityEngine.PhysicsModule.dll
---@param layer1 int
---@param layer2 int
---@param ignore bool
function CS.UnityEngine.Physics:IgnoreLayerCollision(layer1, layer2, ignore) end

---@source UnityEngine.PhysicsModule.dll
---@param layer1 int
---@param layer2 int
function CS.UnityEngine.Physics:IgnoreLayerCollision(layer1, layer2) end

--
--Are collisions between layer1 and layer2 being ignored?
--
---@source UnityEngine.PhysicsModule.dll
---@param layer1 int
---@param layer2 int
---@return Boolean
function CS.UnityEngine.Physics:GetIgnoreLayerCollision(layer1, layer2) end

--
--Whether the collision detection system will ignore all collisionstriggers between collider1 and collider2/ or not.
--
--```plaintext
--Params: collider1 - The first collider to compare to collider2.
--        collider2 - The second collider to compare to collider1.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param collider1 UnityEngine.Collider
---@param collider2 UnityEngine.Collider
---@return Boolean
function CS.UnityEngine.Physics:GetIgnoreCollision(collider1, collider2) end

--
--Returns true if the ray intersects with a Collider, otherwise false.
--
--```plaintext
--Params: origin - The starting point of the ray in world coordinates.
--        direction - The direction of the ray.
--        maxDistance - The max distance the ray should check for collisions.
--        layerMask - A that is used to selectively ignore Colliders when casting a ray.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Physics:Raycast(origin, direction, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param maxDistance float
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics:Raycast(origin, direction, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param maxDistance float
---@return Boolean
function CS.UnityEngine.Physics:Raycast(origin, direction, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@return Boolean
function CS.UnityEngine.Physics:Raycast(origin, direction) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Physics:Raycast(origin, direction, hitInfo, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics:Raycast(origin, direction, hitInfo, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@return Boolean
function CS.UnityEngine.Physics:Raycast(origin, direction, hitInfo, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@return Boolean
function CS.UnityEngine.Physics:Raycast(origin, direction, hitInfo) end

--
--Returns true when the ray intersects any collider, otherwise false.
--
--```plaintext
--Params: ray - The starting point and direction of the ray.
--        maxDistance - The max distance the ray should check for collisions.
--        layerMask - A that is used to selectively ignore colliders when casting a ray.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Physics:Raycast(ray, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param maxDistance float
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics:Raycast(ray, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param maxDistance float
---@return Boolean
function CS.UnityEngine.Physics:Raycast(ray, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@return Boolean
function CS.UnityEngine.Physics:Raycast(ray) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Physics:Raycast(ray, hitInfo, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics:Raycast(ray, hitInfo, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@return Boolean
function CS.UnityEngine.Physics:Raycast(ray, hitInfo, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param hitInfo UnityEngine.RaycastHit
---@return Boolean
function CS.UnityEngine.Physics:Raycast(ray, hitInfo) end

--
--Returns true if there is any collider intersecting the line between start and end.
--
--```plaintext
--Params: start - Start point.
--        end - End point.
--        layerMask - A that is used to selectively ignore colliders when casting a ray.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param start UnityEngine.Vector3
---@param end UnityEngine.Vector3
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Physics:Linecast(start, end, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param start UnityEngine.Vector3
---@param end UnityEngine.Vector3
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics:Linecast(start, end, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param start UnityEngine.Vector3
---@param end UnityEngine.Vector3
---@return Boolean
function CS.UnityEngine.Physics:Linecast(start, end) end

---@source UnityEngine.PhysicsModule.dll
---@param start UnityEngine.Vector3
---@param end UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Physics:Linecast(start, end, hitInfo, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param start UnityEngine.Vector3
---@param end UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics:Linecast(start, end, hitInfo, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param start UnityEngine.Vector3
---@param end UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@return Boolean
function CS.UnityEngine.Physics:Linecast(start, end, hitInfo) end

--
--True when the capsule sweep intersects any collider, otherwise false.
--
--```plaintext
--Params: point1 - The center of the sphere at the start of the capsule.
--        point2 - The center of the sphere at the end of the capsule.
--        radius - The radius of the capsule.
--        direction - The direction into which to sweep the capsule.
--        maxDistance - The max length of the sweep.
--        layerMask - A that is used to selectively ignore colliders when casting a capsule.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Physics:CapsuleCast(point1, point2, radius, direction, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param maxDistance float
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics:CapsuleCast(point1, point2, radius, direction, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param maxDistance float
---@return Boolean
function CS.UnityEngine.Physics:CapsuleCast(point1, point2, radius, direction, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@return Boolean
function CS.UnityEngine.Physics:CapsuleCast(point1, point2, radius, direction) end

---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Physics:CapsuleCast(point1, point2, radius, direction, hitInfo, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics:CapsuleCast(point1, point2, radius, direction, hitInfo, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@return Boolean
function CS.UnityEngine.Physics:CapsuleCast(point1, point2, radius, direction, hitInfo, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@return Boolean
function CS.UnityEngine.Physics:CapsuleCast(point1, point2, radius, direction, hitInfo) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Physics:SphereCast(origin, radius, direction, hitInfo, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics:SphereCast(origin, radius, direction, hitInfo, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@return Boolean
function CS.UnityEngine.Physics:SphereCast(origin, radius, direction, hitInfo, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@return Boolean
function CS.UnityEngine.Physics:SphereCast(origin, radius, direction, hitInfo) end

--
--True when the sphere sweep intersects any collider, otherwise false.
--
--```plaintext
--Params: ray - The starting point and direction of the ray into which the sphere sweep is cast.
--        radius - The radius of the sphere.
--        maxDistance - The max length of the cast.
--        layerMask - A that is used to selectively ignore colliders when casting a capsule.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param radius float
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Physics:SphereCast(ray, radius, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param radius float
---@param maxDistance float
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics:SphereCast(ray, radius, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param radius float
---@param maxDistance float
---@return Boolean
function CS.UnityEngine.Physics:SphereCast(ray, radius, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param radius float
---@return Boolean
function CS.UnityEngine.Physics:SphereCast(ray, radius) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param radius float
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Physics:SphereCast(ray, radius, hitInfo, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param radius float
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics:SphereCast(ray, radius, hitInfo, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param radius float
---@param hitInfo UnityEngine.RaycastHit
---@param maxDistance float
---@return Boolean
function CS.UnityEngine.Physics:SphereCast(ray, radius, hitInfo, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param radius float
---@param hitInfo UnityEngine.RaycastHit
---@return Boolean
function CS.UnityEngine.Physics:SphereCast(ray, radius, hitInfo) end

--
--True, if any intersections were found.
--
--```plaintext
--Params: center - Center of the box.
--        halfExtents - Half the size of the box in each dimension.
--        direction - The direction in which to cast the box.
--        orientation - Rotation of the box.
--        maxDistance - The max length of the cast.
--        layerMask - A that is used to selectively ignore colliders when casting a capsule.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param orientation UnityEngine.Quaternion
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Physics:BoxCast(center, halfExtents, direction, orientation, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param orientation UnityEngine.Quaternion
---@param maxDistance float
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics:BoxCast(center, halfExtents, direction, orientation, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param orientation UnityEngine.Quaternion
---@param maxDistance float
---@return Boolean
function CS.UnityEngine.Physics:BoxCast(center, halfExtents, direction, orientation, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param orientation UnityEngine.Quaternion
---@return Boolean
function CS.UnityEngine.Physics:BoxCast(center, halfExtents, direction, orientation) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@return Boolean
function CS.UnityEngine.Physics:BoxCast(center, halfExtents, direction) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param orientation UnityEngine.Quaternion
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Physics:BoxCast(center, halfExtents, direction, hitInfo, orientation, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param orientation UnityEngine.Quaternion
---@param maxDistance float
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics:BoxCast(center, halfExtents, direction, hitInfo, orientation, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param orientation UnityEngine.Quaternion
---@param maxDistance float
---@return Boolean
function CS.UnityEngine.Physics:BoxCast(center, halfExtents, direction, hitInfo, orientation, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@param orientation UnityEngine.Quaternion
---@return Boolean
function CS.UnityEngine.Physics:BoxCast(center, halfExtents, direction, hitInfo, orientation) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param hitInfo UnityEngine.RaycastHit
---@return Boolean
function CS.UnityEngine.Physics:BoxCast(center, halfExtents, direction, hitInfo) end

--
--See Also: Raycast.
--
--```plaintext
--Params: origin - The starting point of the ray in world coordinates.
--        direction - The direction of the ray.
--        maxDistance - The max distance the rayhit is allowed to be from the start of the ray.
--        layermask - A that is used to selectively ignore colliders when casting a ray.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
function CS.UnityEngine.Physics:RaycastAll(origin, direction, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param maxDistance float
---@param layerMask int
function CS.UnityEngine.Physics:RaycastAll(origin, direction, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param maxDistance float
function CS.UnityEngine.Physics:RaycastAll(origin, direction, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
function CS.UnityEngine.Physics:RaycastAll(origin, direction) end

--
--An array of RaycastHit objects. Note that the order of the results is undefined.
--
--```plaintext
--Params: ray - The starting point and direction of the ray.
--        maxDistance - The max distance the rayhit is allowed to be from the start of the ray.
--        layerMask - A that is used to selectively ignore colliders when casting a ray.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
function CS.UnityEngine.Physics:RaycastAll(ray, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param maxDistance float
---@param layerMask int
function CS.UnityEngine.Physics:RaycastAll(ray, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param maxDistance float
function CS.UnityEngine.Physics:RaycastAll(ray, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
function CS.UnityEngine.Physics:RaycastAll(ray) end

--
--The amount of hits stored into the results buffer.
--
--```plaintext
--Params: ray - The starting point and direction of the ray.
--        results - The buffer to store the hits into.
--        maxDistance - The max distance the rayhit is allowed to be from the start of the ray.
--        layerMask - A that is used to selectively ignore colliders when casting a ray.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Int32
function CS.UnityEngine.Physics:RaycastNonAlloc(ray, results, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics:RaycastNonAlloc(ray, results, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@return Int32
function CS.UnityEngine.Physics:RaycastNonAlloc(ray, results, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param results UnityEngine.RaycastHit[]
---@return Int32
function CS.UnityEngine.Physics:RaycastNonAlloc(ray, results) end

--
--The amount of hits stored into the results buffer.
--
--```plaintext
--Params: origin - The starting point and direction of the ray.
--        results - The buffer to store the hits into.
--        direction - The direction of the ray.
--        maxDistance - The max distance the rayhit is allowed to be from the start of the ray.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        layerMask - A that is used to selectively ignore colliders when casting a ray.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Int32
function CS.UnityEngine.Physics:RaycastNonAlloc(origin, direction, results, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics:RaycastNonAlloc(origin, direction, results, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@return Int32
function CS.UnityEngine.Physics:RaycastNonAlloc(origin, direction, results, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@return Int32
function CS.UnityEngine.Physics:RaycastNonAlloc(origin, direction, results) end

--
--An array of all colliders hit in the sweep.
--
--```plaintext
--Params: point1 - The center of the sphere at the start of the capsule.
--        point2 - The center of the sphere at the end of the capsule.
--        radius - The radius of the capsule.
--        direction - The direction into which to sweep the capsule.
--        maxDistance - The max length of the sweep.
--        layermask - A that is used to selectively ignore colliders when casting a capsule.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
function CS.UnityEngine.Physics:CapsuleCastAll(point1, point2, radius, direction, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param maxDistance float
---@param layerMask int
function CS.UnityEngine.Physics:CapsuleCastAll(point1, point2, radius, direction, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param maxDistance float
function CS.UnityEngine.Physics:CapsuleCastAll(point1, point2, radius, direction, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
function CS.UnityEngine.Physics:CapsuleCastAll(point1, point2, radius, direction) end

--
--An array of all colliders hit in the sweep.
--
--```plaintext
--Params: origin - The center of the sphere at the start of the sweep.
--        radius - The radius of the sphere.
--        direction - The direction in which to sweep the sphere.
--        maxDistance - The max length of the sweep.
--        layerMask - A that is used to selectively ignore colliders when casting a sphere.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
function CS.UnityEngine.Physics:SphereCastAll(origin, radius, direction, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param maxDistance float
---@param layerMask int
function CS.UnityEngine.Physics:SphereCastAll(origin, radius, direction, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param maxDistance float
function CS.UnityEngine.Physics:SphereCastAll(origin, radius, direction, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
function CS.UnityEngine.Physics:SphereCastAll(origin, radius, direction) end

--
--Like Physics.SphereCast, but this function will return all hits the sphere sweep intersects.
--
--```plaintext
--Params: ray - The starting point and direction of the ray into which the sphere sweep is cast.
--        radius - The radius of the sphere.
--        maxDistance - The max length of the sweep.
--        layerMask - A that is used to selectively ignore colliders when casting a sphere.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param radius float
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
function CS.UnityEngine.Physics:SphereCastAll(ray, radius, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param radius float
---@param maxDistance float
---@param layerMask int
function CS.UnityEngine.Physics:SphereCastAll(ray, radius, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param radius float
---@param maxDistance float
function CS.UnityEngine.Physics:SphereCastAll(ray, radius, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param radius float
function CS.UnityEngine.Physics:SphereCastAll(ray, radius) end

--
--Colliders touching or inside the capsule.
--
--```plaintext
--Params: point0 - The center of the sphere at the start of the capsule.
--        point1 - The center of the sphere at the end of the capsule.
--        radius - The radius of the capsule.
--        layerMask - A that is used to selectively ignore colliders when casting a capsule.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param point0 UnityEngine.Vector3
---@param point1 UnityEngine.Vector3
---@param radius float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
function CS.UnityEngine.Physics:OverlapCapsule(point0, point1, radius, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param point0 UnityEngine.Vector3
---@param point1 UnityEngine.Vector3
---@param radius float
---@param layerMask int
function CS.UnityEngine.Physics:OverlapCapsule(point0, point1, radius, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param point0 UnityEngine.Vector3
---@param point1 UnityEngine.Vector3
---@param radius float
function CS.UnityEngine.Physics:OverlapCapsule(point0, point1, radius) end

--
--Returns an array with all colliders touching or inside the sphere.
--
--```plaintext
--Params: position - Center of the sphere.
--        radius - Radius of the sphere.
--        layerMask - A defines which layers of colliders to include in the query.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param position UnityEngine.Vector3
---@param radius float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
function CS.UnityEngine.Physics:OverlapSphere(position, radius, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param position UnityEngine.Vector3
---@param radius float
---@param layerMask int
function CS.UnityEngine.Physics:OverlapSphere(position, radius, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param position UnityEngine.Vector3
---@param radius float
function CS.UnityEngine.Physics:OverlapSphere(position, radius) end

--
--Simulate physics in the Scene.
--
--```plaintext
--Params: step - The time to advance physics by.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param step float
function CS.UnityEngine.Physics:Simulate(step) end

--
--Apply Transform changes to the physics engine.
--
---@source UnityEngine.PhysicsModule.dll
function CS.UnityEngine.Physics:SyncTransforms() end

---@source UnityEngine.PhysicsModule.dll
---@param colliderA UnityEngine.Collider
---@param positionA UnityEngine.Vector3
---@param rotationA UnityEngine.Quaternion
---@param colliderB UnityEngine.Collider
---@param positionB UnityEngine.Vector3
---@param rotationB UnityEngine.Quaternion
---@param direction UnityEngine.Vector3
---@param distance float
---@return Boolean
function CS.UnityEngine.Physics:ComputePenetration(colliderA, positionA, rotationA, colliderB, positionB, rotationB, direction, distance) end

--
--The point on the collider that is closest to the specified location.
--
--```plaintext
--Params: point - Location you want to find the closest point to.
--        collider - The collider that you find the closest point on.
--        position - The position of the collider.
--        rotation - The rotation of the collider.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param point UnityEngine.Vector3
---@param collider UnityEngine.Collider
---@param position UnityEngine.Vector3
---@param rotation UnityEngine.Quaternion
---@return Vector3
function CS.UnityEngine.Physics:ClosestPoint(point, collider, position, rotation) end

--
--Returns the amount of colliders stored into the results buffer.
--
--```plaintext
--Params: position - Center of the sphere.
--        radius - Radius of the sphere.
--        results - The buffer to store the results into.
--        layerMask - A defines which layers of colliders to include in the query.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param position UnityEngine.Vector3
---@param radius float
---@param results UnityEngine.Collider[]
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Int32
function CS.UnityEngine.Physics:OverlapSphereNonAlloc(position, radius, results, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param position UnityEngine.Vector3
---@param radius float
---@param results UnityEngine.Collider[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics:OverlapSphereNonAlloc(position, radius, results, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param position UnityEngine.Vector3
---@param radius float
---@param results UnityEngine.Collider[]
---@return Int32
function CS.UnityEngine.Physics:OverlapSphereNonAlloc(position, radius, results) end

--
--Returns true if there are any colliders overlapping the sphere defined by position and radius in world coordinates.
--
--```plaintext
--Params: position - Center of the sphere.
--        radius - Radius of the sphere.
--        layerMask - A that is used to selectively ignore colliders when casting a capsule.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param position UnityEngine.Vector3
---@param radius float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Physics:CheckSphere(position, radius, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param position UnityEngine.Vector3
---@param radius float
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics:CheckSphere(position, radius, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param position UnityEngine.Vector3
---@param radius float
---@return Boolean
function CS.UnityEngine.Physics:CheckSphere(position, radius) end

--
--The amount of hits stored into the buffer.
--
--```plaintext
--Params: point1 - The center of the sphere at the start of the capsule.
--        point2 - The center of the sphere at the end of the capsule.
--        radius - The radius of the capsule.
--        direction - The direction into which to sweep the capsule.
--        results - The buffer to store the hits into.
--        maxDistance - The max length of the sweep.
--        layerMask - A that is used to selectively ignore colliders when casting a capsule.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Int32
function CS.UnityEngine.Physics:CapsuleCastNonAlloc(point1, point2, radius, direction, results, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics:CapsuleCastNonAlloc(point1, point2, radius, direction, results, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@return Int32
function CS.UnityEngine.Physics:CapsuleCastNonAlloc(point1, point2, radius, direction, results, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param point1 UnityEngine.Vector3
---@param point2 UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@return Int32
function CS.UnityEngine.Physics:CapsuleCastNonAlloc(point1, point2, radius, direction, results) end

--
--The amount of hits stored into the results buffer.
--
--```plaintext
--Params: origin - The center of the sphere at the start of the sweep.
--        radius - The radius of the sphere.
--        direction - The direction in which to sweep the sphere.
--        results - The buffer to save the hits into.
--        maxDistance - The max length of the sweep.
--        layerMask - A that is used to selectively ignore colliders when casting a sphere.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Int32
function CS.UnityEngine.Physics:SphereCastNonAlloc(origin, radius, direction, results, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics:SphereCastNonAlloc(origin, radius, direction, results, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@return Int32
function CS.UnityEngine.Physics:SphereCastNonAlloc(origin, radius, direction, results, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param origin UnityEngine.Vector3
---@param radius float
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@return Int32
function CS.UnityEngine.Physics:SphereCastNonAlloc(origin, radius, direction, results) end

--
--The amount of hits stored into the results buffer.
--
--```plaintext
--Params: ray - The starting point and direction of the ray into which the sphere sweep is cast.
--        radius - The radius of the sphere.
--        results - The buffer to save the results to.
--        maxDistance - The max length of the sweep.
--        layerMask - A that is used to selectively ignore colliders when casting a sphere.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param radius float
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Int32
function CS.UnityEngine.Physics:SphereCastNonAlloc(ray, radius, results, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param radius float
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics:SphereCastNonAlloc(ray, radius, results, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param radius float
---@param results UnityEngine.RaycastHit[]
---@param maxDistance float
---@return Int32
function CS.UnityEngine.Physics:SphereCastNonAlloc(ray, radius, results, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param ray UnityEngine.Ray
---@param radius float
---@param results UnityEngine.RaycastHit[]
---@return Int32
function CS.UnityEngine.Physics:SphereCastNonAlloc(ray, radius, results) end

--
--Checks if any colliders overlap a capsule-shaped volume in world space.
--
--```plaintext
--Params: start - The center of the sphere at the start of the capsule.
--        end - The center of the sphere at the end of the capsule.
--        radius - The radius of the capsule.
--        layermask - A that is used to selectively ignore colliders when casting a capsule.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param start UnityEngine.Vector3
---@param end UnityEngine.Vector3
---@param radius float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Physics:CheckCapsule(start, end, radius, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param start UnityEngine.Vector3
---@param end UnityEngine.Vector3
---@param radius float
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics:CheckCapsule(start, end, radius, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param start UnityEngine.Vector3
---@param end UnityEngine.Vector3
---@param radius float
---@return Boolean
function CS.UnityEngine.Physics:CheckCapsule(start, end, radius) end

--
--True, if the box overlaps with any colliders.
--
--```plaintext
--Params: center - Center of the box.
--        halfExtents - Half the size of the box in each dimension.
--        orientation - Rotation of the box.
--        layermask - A that is used to selectively ignore colliders when casting a ray.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param orientation UnityEngine.Quaternion
---@param layermask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Boolean
function CS.UnityEngine.Physics:CheckBox(center, halfExtents, orientation, layermask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param orientation UnityEngine.Quaternion
---@param layerMask int
---@return Boolean
function CS.UnityEngine.Physics:CheckBox(center, halfExtents, orientation, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param orientation UnityEngine.Quaternion
---@return Boolean
function CS.UnityEngine.Physics:CheckBox(center, halfExtents, orientation) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@return Boolean
function CS.UnityEngine.Physics:CheckBox(center, halfExtents) end

--
--Colliders that overlap with the given box.
--
--```plaintext
--Params: center - Center of the box.
--        halfExtents - Half of the size of the box in each dimension.
--        orientation - Rotation of the box.
--        layerMask - A that is used to selectively ignore colliders when casting a ray.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param orientation UnityEngine.Quaternion
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
function CS.UnityEngine.Physics:OverlapBox(center, halfExtents, orientation, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param orientation UnityEngine.Quaternion
---@param layerMask int
function CS.UnityEngine.Physics:OverlapBox(center, halfExtents, orientation, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param orientation UnityEngine.Quaternion
function CS.UnityEngine.Physics:OverlapBox(center, halfExtents, orientation) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
function CS.UnityEngine.Physics:OverlapBox(center, halfExtents) end

--
--The amount of colliders stored in results.
--
--```plaintext
--Params: center - Center of the box.
--        halfExtents - Half of the size of the box in each dimension.
--        results - The buffer to store the results in.
--        orientation - Rotation of the box.
--        layerMask - A that is used to selectively ignore colliders when casting a ray.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param results UnityEngine.Collider[]
---@param orientation UnityEngine.Quaternion
---@param mask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Int32
function CS.UnityEngine.Physics:OverlapBoxNonAlloc(center, halfExtents, results, orientation, mask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param results UnityEngine.Collider[]
---@param orientation UnityEngine.Quaternion
---@param mask int
---@return Int32
function CS.UnityEngine.Physics:OverlapBoxNonAlloc(center, halfExtents, results, orientation, mask) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param results UnityEngine.Collider[]
---@param orientation UnityEngine.Quaternion
---@return Int32
function CS.UnityEngine.Physics:OverlapBoxNonAlloc(center, halfExtents, results, orientation) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param results UnityEngine.Collider[]
---@return Int32
function CS.UnityEngine.Physics:OverlapBoxNonAlloc(center, halfExtents, results) end

--
--The amount of hits stored to the results buffer.
--
--```plaintext
--Params: center - Center of the box.
--        halfExtents - Half the size of the box in each dimension.
--        direction - The direction in which to cast the box.
--        results - The buffer to store the results in.
--        orientation - Rotation of the box.
--        maxDistance - The max length of the cast.
--        layermask - A that is used to selectively ignore colliders when casting a capsule.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@param orientation UnityEngine.Quaternion
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Int32
function CS.UnityEngine.Physics:BoxCastNonAlloc(center, halfExtents, direction, results, orientation, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@param orientation UnityEngine.Quaternion
---@return Int32
function CS.UnityEngine.Physics:BoxCastNonAlloc(center, halfExtents, direction, results, orientation) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@param orientation UnityEngine.Quaternion
---@param maxDistance float
---@return Int32
function CS.UnityEngine.Physics:BoxCastNonAlloc(center, halfExtents, direction, results, orientation, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@param orientation UnityEngine.Quaternion
---@param maxDistance float
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics:BoxCastNonAlloc(center, halfExtents, direction, results, orientation, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param results UnityEngine.RaycastHit[]
---@return Int32
function CS.UnityEngine.Physics:BoxCastNonAlloc(center, halfExtents, direction, results) end

--
--All colliders that were hit.
--
--```plaintext
--Params: center - Center of the box.
--        halfExtents - Half the size of the box in each dimension.
--        direction - The direction in which to cast the box.
--        orientation - Rotation of the box.
--        maxDistance - The max length of the cast.
--        layermask - A that is used to selectively ignore colliders when casting a capsule.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param orientation UnityEngine.Quaternion
---@param maxDistance float
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
function CS.UnityEngine.Physics:BoxCastAll(center, halfExtents, direction, orientation, maxDistance, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param orientation UnityEngine.Quaternion
---@param maxDistance float
---@param layerMask int
function CS.UnityEngine.Physics:BoxCastAll(center, halfExtents, direction, orientation, maxDistance, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param orientation UnityEngine.Quaternion
---@param maxDistance float
function CS.UnityEngine.Physics:BoxCastAll(center, halfExtents, direction, orientation, maxDistance) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
---@param orientation UnityEngine.Quaternion
function CS.UnityEngine.Physics:BoxCastAll(center, halfExtents, direction, orientation) end

---@source UnityEngine.PhysicsModule.dll
---@param center UnityEngine.Vector3
---@param halfExtents UnityEngine.Vector3
---@param direction UnityEngine.Vector3
function CS.UnityEngine.Physics:BoxCastAll(center, halfExtents, direction) end

--
--The amount of entries written to the buffer.
--
--```plaintext
--Params: point0 - The center of the sphere at the start of the capsule.
--        point1 - The center of the sphere at the end of the capsule.
--        radius - The radius of the capsule.
--        results - The buffer to store the results into.
--        layerMask - A that is used to selectively ignore colliders when casting a capsule.
--        queryTriggerInteraction - Specifies whether this query should hit Triggers.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param point0 UnityEngine.Vector3
---@param point1 UnityEngine.Vector3
---@param radius float
---@param results UnityEngine.Collider[]
---@param layerMask int
---@param queryTriggerInteraction UnityEngine.QueryTriggerInteraction
---@return Int32
function CS.UnityEngine.Physics:OverlapCapsuleNonAlloc(point0, point1, radius, results, layerMask, queryTriggerInteraction) end

---@source UnityEngine.PhysicsModule.dll
---@param point0 UnityEngine.Vector3
---@param point1 UnityEngine.Vector3
---@param radius float
---@param results UnityEngine.Collider[]
---@param layerMask int
---@return Int32
function CS.UnityEngine.Physics:OverlapCapsuleNonAlloc(point0, point1, radius, results, layerMask) end

---@source UnityEngine.PhysicsModule.dll
---@param point0 UnityEngine.Vector3
---@param point1 UnityEngine.Vector3
---@param radius float
---@param results UnityEngine.Collider[]
---@return Int32
function CS.UnityEngine.Physics:OverlapCapsuleNonAlloc(point0, point1, radius, results) end

--
--Rebuild the broadphase interest regions as well as set the world boundaries.
--
--```plaintext
--Params: worldBounds - Boundaries of the physics world.
--        subdivisions - How many cells to create along x and z axis.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param worldBounds UnityEngine.Bounds
---@param subdivisions int
function CS.UnityEngine.Physics:RebuildBroadphaseRegions(worldBounds, subdivisions) end

--
--Prepares the Mesh for use with a MeshCollider.
--
--```plaintext
--Params: meshID - The instance ID of the Mesh to bake collision data from.
--        convex - A flag to indicate whether to bake convex geometry or not.
--        
--```
--
---@source UnityEngine.PhysicsModule.dll
---@param meshID int
---@param convex bool
function CS.UnityEngine.Physics:BakeMesh(meshID, convex) end


--
--Information about a subsystem that can be queried before creating a subsystem instance.
--
--This subsystem descriptor base-class is deprecated. If you are creating a new subsystem type, derive from SubsystemDecriptorWithProvider instead.
--
---@source UnityEngine.SubsystemsModule.dll
---@class UnityEngine.SubsystemDescriptor: object
--
--A unique string that identifies the subsystem that this Descriptor can create.
--
---@source UnityEngine.SubsystemsModule.dll
---@field id string
--
--The System.Type of the subsystem implementation associated with this descriptor.
--
---@source UnityEngine.SubsystemsModule.dll
---@field subsystemImplementationType System.Type
---@source UnityEngine.SubsystemsModule.dll
CS.UnityEngine.SubsystemDescriptor = {}


--
--Struct used to set up a raycast command to be performed asynchronously during a job.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.RaycastCommand: System.ValueType
--
--The starting point of the ray in world coordinates.
--
---@source UnityEngine.PhysicsModule.dll
---@field from UnityEngine.Vector3
--
--The direction of the ray.
--
---@source UnityEngine.PhysicsModule.dll
---@field direction UnityEngine.Vector3
--
--The maximum distance the ray should check for collisions.
--
---@source UnityEngine.PhysicsModule.dll
---@field distance float
--
--A LayerMask that is used to selectively ignore Colliders when casting a ray.
--
---@source UnityEngine.PhysicsModule.dll
---@field layerMask int
--
--The maximum number of Colliders the ray can hit.
--
---@source UnityEngine.PhysicsModule.dll
---@field maxHits int
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.RaycastCommand = {}

---@source UnityEngine.PhysicsModule.dll
---@param commands Unity.Collections.NativeArray<UnityEngine.RaycastCommand>
---@param results Unity.Collections.NativeArray<UnityEngine.RaycastHit>
---@param minCommandsPerJob int
---@param dependsOn Unity.Jobs.JobHandle
---@return JobHandle
function CS.UnityEngine.RaycastCommand:ScheduleBatch(commands, results, minCommandsPerJob, dependsOn) end


---@source UnityEngine.SubsystemsModule.dll
---@class UnityEngine.SubsystemDescriptor: UnityEngine.SubsystemDescriptor
---@source UnityEngine.SubsystemsModule.dll
CS.UnityEngine.SubsystemDescriptor = {}

---@source UnityEngine.SubsystemsModule.dll
---@return TSubsystem
function CS.UnityEngine.SubsystemDescriptor.Create() end


--
--Use this struct to set up a sphere cast command that is performed asynchronously during a job.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.SpherecastCommand: System.ValueType
--
--The starting point of the sphere cast in world coordinates.
--
---@source UnityEngine.PhysicsModule.dll
---@field origin UnityEngine.Vector3
--
--The radius of the casting sphere.
--
---@source UnityEngine.PhysicsModule.dll
---@field radius float
--
--The direction of the sphere cast.
--
---@source UnityEngine.PhysicsModule.dll
---@field direction UnityEngine.Vector3
--
--The maximum distance the sphere should check for collisions.
--
---@source UnityEngine.PhysicsModule.dll
---@field distance float
--
--The LayerMask that selectively ignores Colliders when casting a sphere.
--
---@source UnityEngine.PhysicsModule.dll
---@field layerMask int
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.SpherecastCommand = {}

---@source UnityEngine.PhysicsModule.dll
---@param commands Unity.Collections.NativeArray<UnityEngine.SpherecastCommand>
---@param results Unity.Collections.NativeArray<UnityEngine.RaycastHit>
---@param minCommandsPerJob int
---@param dependsOn Unity.Jobs.JobHandle
---@return JobHandle
function CS.UnityEngine.SpherecastCommand:ScheduleBatch(commands, results, minCommandsPerJob, dependsOn) end


--
--Use this struct to set up a capsule cast command that is performed asynchronously during a job.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.CapsulecastCommand: System.ValueType
--
--The center of the sphere at the start of the capsule.
--
---@source UnityEngine.PhysicsModule.dll
---@field point1 UnityEngine.Vector3
--
--The center of the sphere at the end of the capsule.
--
---@source UnityEngine.PhysicsModule.dll
---@field point2 UnityEngine.Vector3
--
--The radius of the capsule.
--
---@source UnityEngine.PhysicsModule.dll
---@field radius float
--
--The direction of the capsule cast.
--
---@source UnityEngine.PhysicsModule.dll
---@field direction UnityEngine.Vector3
--
--The maximum distance the capsule cast checks for collision.
--
---@source UnityEngine.PhysicsModule.dll
---@field distance float
--
--A LayerMask that selectively ignores Colliders when casting a capsule.
--
---@source UnityEngine.PhysicsModule.dll
---@field layerMask int
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.CapsulecastCommand = {}

---@source UnityEngine.PhysicsModule.dll
---@param commands Unity.Collections.NativeArray<UnityEngine.CapsulecastCommand>
---@param results Unity.Collections.NativeArray<UnityEngine.RaycastHit>
---@param minCommandsPerJob int
---@param dependsOn Unity.Jobs.JobHandle
---@return JobHandle
function CS.UnityEngine.CapsulecastCommand:ScheduleBatch(commands, results, minCommandsPerJob, dependsOn) end


--
--Use this struct to set up a box cast command to be performed asynchronously during a job.
--
---@source UnityEngine.PhysicsModule.dll
---@class UnityEngine.BoxcastCommand: System.ValueType
--
--Center of the box.
--
---@source UnityEngine.PhysicsModule.dll
---@field center UnityEngine.Vector3
--
--Half the size of the box in each dimension.
--
---@source UnityEngine.PhysicsModule.dll
---@field halfExtents UnityEngine.Vector3
--
--Rotation of the box.
--
---@source UnityEngine.PhysicsModule.dll
---@field orientation UnityEngine.Quaternion
--
--The direction in which to sweep the box.
--
---@source UnityEngine.PhysicsModule.dll
---@field direction UnityEngine.Vector3
--
--The maximum distance of the sweep.
--
---@source UnityEngine.PhysicsModule.dll
---@field distance float
--
--A LayerMask that is used to selectively ignore Colliders when casting a box.
--
---@source UnityEngine.PhysicsModule.dll
---@field layerMask int
---@source UnityEngine.PhysicsModule.dll
CS.UnityEngine.BoxcastCommand = {}

---@source UnityEngine.PhysicsModule.dll
---@param commands Unity.Collections.NativeArray<UnityEngine.BoxcastCommand>
---@param results Unity.Collections.NativeArray<UnityEngine.RaycastHit>
---@param minCommandsPerJob int
---@param dependsOn Unity.Jobs.JobHandle
---@return JobHandle
function CS.UnityEngine.BoxcastCommand:ScheduleBatch(commands, results, minCommandsPerJob, dependsOn) end


--
--Gives access to subsystems which provide additional functionality through plugins.
--
---@source UnityEngine.SubsystemsModule.dll
---@class UnityEngine.SubsystemManager: object
---@source UnityEngine.SubsystemsModule.dll
---@field beforeReloadSubsystems System.Action
---@source UnityEngine.SubsystemsModule.dll
---@field afterReloadSubsystems System.Action
---@source UnityEngine.SubsystemsModule.dll
---@field reloadSubsytemsStarted System.Action
---@source UnityEngine.SubsystemsModule.dll
---@field reloadSubsytemsCompleted System.Action
---@source UnityEngine.SubsystemsModule.dll
CS.UnityEngine.SubsystemManager = {}

---@source UnityEngine.SubsystemsModule.dll
---@param descriptors System.Collections.Generic.List<UnityEngine.ISubsystemDescriptor>
function CS.UnityEngine.SubsystemManager:GetAllSubsystemDescriptors(descriptors) end

---@source UnityEngine.SubsystemsModule.dll
---@param descriptors System.Collections.Generic.List<T>
function CS.UnityEngine.SubsystemManager:GetSubsystemDescriptors(descriptors) end

---@source UnityEngine.SubsystemsModule.dll
---@param subsystems System.Collections.Generic.List<T>
function CS.UnityEngine.SubsystemManager:GetSubsystems(subsystems) end

---@source UnityEngine.SubsystemsModule.dll
---@param value System.Action
function CS.UnityEngine.SubsystemManager:add_beforeReloadSubsystems(value) end

---@source UnityEngine.SubsystemsModule.dll
---@param value System.Action
function CS.UnityEngine.SubsystemManager:remove_beforeReloadSubsystems(value) end

---@source UnityEngine.SubsystemsModule.dll
---@param value System.Action
function CS.UnityEngine.SubsystemManager:add_afterReloadSubsystems(value) end

---@source UnityEngine.SubsystemsModule.dll
---@param value System.Action
function CS.UnityEngine.SubsystemManager:remove_afterReloadSubsystems(value) end

---@source UnityEngine.SubsystemsModule.dll
---@param subsystems System.Collections.Generic.List<T>
function CS.UnityEngine.SubsystemManager:GetInstances(subsystems) end

---@source UnityEngine.SubsystemsModule.dll
---@param value System.Action
function CS.UnityEngine.SubsystemManager:add_reloadSubsytemsStarted(value) end

---@source UnityEngine.SubsystemsModule.dll
---@param value System.Action
function CS.UnityEngine.SubsystemManager:remove_reloadSubsytemsStarted(value) end

---@source UnityEngine.SubsystemsModule.dll
---@param value System.Action
function CS.UnityEngine.SubsystemManager:add_reloadSubsytemsCompleted(value) end

---@source UnityEngine.SubsystemsModule.dll
---@param value System.Action
function CS.UnityEngine.SubsystemManager:remove_reloadSubsytemsCompleted(value) end


--
--Functionality to take Screenshots.
--
---@source UnityEngine.ScreenCaptureModule.dll
---@class UnityEngine.ScreenCapture: object
---@source UnityEngine.ScreenCaptureModule.dll
CS.UnityEngine.ScreenCapture = {}

---@source UnityEngine.ScreenCaptureModule.dll
---@param filename string
function CS.UnityEngine.ScreenCapture:CaptureScreenshot(filename) end

--
--Captures a screenshot at path filename as a PNG file.
--
--```plaintext
--Params: filename - Pathname to save the screenshot file to.
--        superSize - Factor by which to increase resolution.
--        stereoCaptureMode - Specifies the eye texture to capture when stereo rendering is enabled.
--        
--```
--
---@source UnityEngine.ScreenCaptureModule.dll
---@param filename string
---@param superSize int
function CS.UnityEngine.ScreenCapture:CaptureScreenshot(filename, superSize) end

---@source UnityEngine.ScreenCaptureModule.dll
---@param filename string
---@param stereoCaptureMode UnityEngine.ScreenCapture.StereoScreenCaptureMode
function CS.UnityEngine.ScreenCapture:CaptureScreenshot(filename, stereoCaptureMode) end

---@source UnityEngine.ScreenCaptureModule.dll
---@return Texture2D
function CS.UnityEngine.ScreenCapture:CaptureScreenshotAsTexture() end

--
--Captures a screenshot of the game view into a Texture2D object.
--
--```plaintext
--Params: superSize - Factor by which to increase resolution.
--        stereoCaptureMode - Specifies the eye texture to capture when stereo rendering is enabled.
--        
--```
--
---@source UnityEngine.ScreenCaptureModule.dll
---@param superSize int
---@return Texture2D
function CS.UnityEngine.ScreenCapture:CaptureScreenshotAsTexture(superSize) end

---@source UnityEngine.ScreenCaptureModule.dll
---@param stereoCaptureMode UnityEngine.ScreenCapture.StereoScreenCaptureMode
---@return Texture2D
function CS.UnityEngine.ScreenCapture:CaptureScreenshotAsTexture(stereoCaptureMode) end

--
--Captures a screenshot of the game view into a RenderTexture object.
--
--```plaintext
--Params: renderTexture - RenderTexture that will get filled with the screen content.
--        
--```
--
---@source UnityEngine.ScreenCaptureModule.dll
---@param renderTexture UnityEngine.RenderTexture
function CS.UnityEngine.ScreenCapture:CaptureScreenshotIntoRenderTexture(renderTexture) end


--
--Indicate the types of changes to the terrain in OnTerrainChanged callback.
--
---@source UnityEngine.TerrainModule.dll
---@class UnityEngine.TerrainChangedFlags: System.Enum
--
--Indicates a change to the heightmap data.
--
---@source UnityEngine.TerrainModule.dll
---@field Heightmap UnityEngine.TerrainChangedFlags
--
--Indicates a change to the tree data.
--
---@source UnityEngine.TerrainModule.dll
---@field TreeInstances UnityEngine.TerrainChangedFlags
--
--Indicates a change to the heightmap data without computing LOD.
--
---@source UnityEngine.TerrainModule.dll
---@field DelayedHeightmapUpdate UnityEngine.TerrainChangedFlags
--
--Indicates that a change was made to the terrain that was so significant that the internal rendering data need to be flushed and recreated.
--
---@source UnityEngine.TerrainModule.dll
---@field FlushEverythingImmediately UnityEngine.TerrainChangedFlags
--
--Indicates a change to the detail data.
--
---@source UnityEngine.TerrainModule.dll
---@field RemoveDirtyDetailsImmediately UnityEngine.TerrainChangedFlags
--
--Indicates a change to the heightmap resolution.
--
---@source UnityEngine.TerrainModule.dll
---@field HeightmapResolution UnityEngine.TerrainChangedFlags
--
--Indicates a change to the Terrain holes data.
--
---@source UnityEngine.TerrainModule.dll
---@field Holes UnityEngine.TerrainChangedFlags
--
--Indicates a change to the Terrain holes data, which doesn't include LOD calculations and tree/vegetation updates.
--
---@source UnityEngine.TerrainModule.dll
---@field DelayedHolesUpdate UnityEngine.TerrainChangedFlags
--
--Indicates that the TerrainData object is about to be destroyed.
--
---@source UnityEngine.TerrainModule.dll
---@field WillBeDestroyed UnityEngine.TerrainChangedFlags
---@source UnityEngine.TerrainModule.dll
CS.UnityEngine.TerrainChangedFlags = {}

---@source 
---@param value any
---@return UnityEngine.TerrainChangedFlags
function CS.UnityEngine.TerrainChangedFlags:__CastFrom(value) end


--
--Enum provding terrain rendering options.
--
---@source UnityEngine.TerrainModule.dll
---@class UnityEngine.TerrainRenderFlags: System.Enum
---@source UnityEngine.TerrainModule.dll
---@field heightmap UnityEngine.TerrainRenderFlags
---@source UnityEngine.TerrainModule.dll
---@field trees UnityEngine.TerrainRenderFlags
---@source UnityEngine.TerrainModule.dll
---@field details UnityEngine.TerrainRenderFlags
---@source UnityEngine.TerrainModule.dll
---@field all UnityEngine.TerrainRenderFlags
--
--Render heightmap.
--
---@source UnityEngine.TerrainModule.dll
---@field Heightmap UnityEngine.TerrainRenderFlags
--
--Render trees.
--
---@source UnityEngine.TerrainModule.dll
---@field Trees UnityEngine.TerrainRenderFlags
--
--Render terrain details.
--
---@source UnityEngine.TerrainModule.dll
---@field Details UnityEngine.TerrainRenderFlags
--
--Render all options.
--
---@source UnityEngine.TerrainModule.dll
---@field All UnityEngine.TerrainRenderFlags
---@source UnityEngine.TerrainModule.dll
CS.UnityEngine.TerrainRenderFlags = {}

---@source 
---@param value any
---@return UnityEngine.TerrainRenderFlags
function CS.UnityEngine.TerrainRenderFlags:__CastFrom(value) end


--
--Enumeration specifying the eye texture to capture when using ScreenCapture.CaptureScreenshot and when stereo rendering is enabled.
--
---@source UnityEngine.ScreenCaptureModule.dll
---@class UnityEngine.StereoScreenCaptureMode: System.Enum
--
--The Left Eye is captured. This is the default setting for the CaptureScreenshot method.
--
---@source UnityEngine.ScreenCaptureModule.dll
---@field LeftEye UnityEngine.ScreenCapture.StereoScreenCaptureMode
--
--The Right Eye is captured.
--
---@source UnityEngine.ScreenCaptureModule.dll
---@field RightEye UnityEngine.ScreenCapture.StereoScreenCaptureMode
--
--Both the left and right eyes are captured and composited into one image.
--
---@source UnityEngine.ScreenCaptureModule.dll
---@field BothEyes UnityEngine.ScreenCapture.StereoScreenCaptureMode
---@source UnityEngine.ScreenCaptureModule.dll
CS.UnityEngine.StereoScreenCaptureMode = {}

---@source 
---@param value any
---@return UnityEngine.ScreenCapture.StereoScreenCaptureMode
function CS.UnityEngine.StereoScreenCaptureMode:__CastFrom(value) end


--
--The Terrain component renders the terrain.
--
---@source UnityEngine.TerrainModule.dll
---@class UnityEngine.Terrain: UnityEngine.Behaviour
--
--The Terrain Data that stores heightmaps, terrain textures, detail meshes and trees.
--
---@source UnityEngine.TerrainModule.dll
---@field terrainData UnityEngine.TerrainData
--
--The maximum distance at which trees are rendered.
--
---@source UnityEngine.TerrainModule.dll
---@field treeDistance float
--
--Distance from the camera where trees will be rendered as billboards only.
--
---@source UnityEngine.TerrainModule.dll
---@field treeBillboardDistance float
--
--Total distance delta that trees will use to transition from billboard orientation to mesh orientation.
--
---@source UnityEngine.TerrainModule.dll
---@field treeCrossFadeLength float
--
--Maximum number of trees rendered at full LOD.
--
---@source UnityEngine.TerrainModule.dll
---@field treeMaximumFullLODCount int
--
--Detail objects will be displayed up to this distance.
--
---@source UnityEngine.TerrainModule.dll
---@field detailObjectDistance float
--
--Density of detail objects.
--
---@source UnityEngine.TerrainModule.dll
---@field detailObjectDensity float
--
--An approximation of how many pixels the terrain will pop in the worst case when switching lod.
--
---@source UnityEngine.TerrainModule.dll
---@field heightmapPixelError float
--
--Lets you essentially lower the heightmap resolution used for rendering.
--
---@source UnityEngine.TerrainModule.dll
---@field heightmapMaximumLOD int
--
--Heightmap patches beyond basemap distance will use a precomputed low res basemap.
--
---@source UnityEngine.TerrainModule.dll
---@field basemapDistance float
--
--The index of the baked lightmap applied to this terrain.
--
---@source UnityEngine.TerrainModule.dll
---@field lightmapIndex int
--
--The index of the realtime lightmap applied to this terrain.
--
---@source UnityEngine.TerrainModule.dll
---@field realtimeLightmapIndex int
--
--The UV scale & offset used for a baked lightmap.
--
---@source UnityEngine.TerrainModule.dll
---@field lightmapScaleOffset UnityEngine.Vector4
--
--The UV scale & offset used for a realtime lightmap.
--
---@source UnityEngine.TerrainModule.dll
---@field realtimeLightmapScaleOffset UnityEngine.Vector4
--
--Whether some per-camera rendering resources for the terrain should be freed after not being used for some frames.
--
---@source UnityEngine.TerrainModule.dll
---@field freeUnusedRenderingResources bool
--
--Allows you to set the shadow casting mode for the terrain.
--
---@source UnityEngine.TerrainModule.dll
---@field shadowCastingMode UnityEngine.Rendering.ShadowCastingMode
--
--How reflection probes are used for terrain. See Rendering.ReflectionProbeUsage.
--
---@source UnityEngine.TerrainModule.dll
---@field reflectionProbeUsage UnityEngine.Rendering.ReflectionProbeUsage
--
--The custom material Unity uses to render the Terrain.
--
---@source UnityEngine.TerrainModule.dll
---@field materialTemplate UnityEngine.Material
--
--Indicates whether Unity draws the Terrain geometry itself.
--
---@source UnityEngine.TerrainModule.dll
---@field drawHeightmap bool
--
--Specifies if the terrain tile will be automatically connected to adjacent tiles.
--
---@source UnityEngine.TerrainModule.dll
---@field allowAutoConnect bool
--
--Grouping ID for auto connect.
--
---@source UnityEngine.TerrainModule.dll
---@field groupingID int
--
--Set to true to enable the terrain instance renderer. The default value is false.
--
---@source UnityEngine.TerrainModule.dll
---@field drawInstanced bool
--
--Returns the normal map texture computed from sampling the heightmap. It is only used when terrain is rendered using instancing.
--
---@source UnityEngine.TerrainModule.dll
---@field normalmapTexture UnityEngine.RenderTexture
--
--Specify if terrain trees and details should be drawn.
--
---@source UnityEngine.TerrainModule.dll
---@field drawTreesAndFoliage bool
--
--Set the terrain bounding box scale.
--
---@source UnityEngine.TerrainModule.dll
---@field patchBoundsMultiplier UnityEngine.Vector3
--
--The multiplier to the current LOD bias used for rendering LOD trees (i.e. SpeedTree trees).
--
---@source UnityEngine.TerrainModule.dll
---@field treeLODBiasMultiplier float
--
--Collect detail patches from memory.
--
---@source UnityEngine.TerrainModule.dll
---@field collectDetailPatches bool
--
--Controls what part of the terrain should be rendered.
--
---@source UnityEngine.TerrainModule.dll
---@field editorRenderFlags UnityEngine.TerrainRenderFlags
--
--Specifies if an array of internal light probes should be baked for terrain trees. Available only in editor.
--
---@source UnityEngine.TerrainModule.dll
---@field bakeLightProbesForTrees bool
--
--Removes ringing from probes on trees if enabled.
--
---@source UnityEngine.TerrainModule.dll
---@field deringLightProbesForTrees bool
--
--Allows you to specify how Unity chooses the for tree instances.
--
---@source UnityEngine.TerrainModule.dll
---@field preserveTreePrototypeLayers bool
--
--Graphics format of the Terrain heightmap.
--
---@source UnityEngine.TerrainModule.dll
---@field heightmapFormat UnityEngine.Experimental.Rendering.GraphicsFormat
---@source UnityEngine.TerrainModule.dll
---@field heightmapTextureFormat UnityEngine.TextureFormat
--
--RenderTextureFormat of the terrain heightmap.
--
---@source UnityEngine.TerrainModule.dll
---@field heightmapRenderTextureFormat UnityEngine.RenderTextureFormat
--
--Graphics format of the Terrain normal map texture.
--
---@source UnityEngine.TerrainModule.dll
---@field normalmapFormat UnityEngine.Experimental.Rendering.GraphicsFormat
--
--Texture format of the Terrain normal map texture.
--
---@source UnityEngine.TerrainModule.dll
---@field normalmapTextureFormat UnityEngine.TextureFormat
--
--Render texture format of the Terrain normal map texture.
--
---@source UnityEngine.TerrainModule.dll
---@field normalmapRenderTextureFormat UnityEngine.RenderTextureFormat
--
--Graphics format of the Terrain holes Texture when it is not compressed.
--
---@source UnityEngine.TerrainModule.dll
---@field holesFormat UnityEngine.Experimental.Rendering.GraphicsFormat
--
--Render texture format of the Terrain holes Texture.
--
---@source UnityEngine.TerrainModule.dll
---@field holesRenderTextureFormat UnityEngine.RenderTextureFormat
--
--Graphics format of the Terrain holes Texture when it is compressed.
--
---@source UnityEngine.TerrainModule.dll
---@field compressedHolesFormat UnityEngine.Experimental.Rendering.GraphicsFormat
--
--Texture format of the Terrain holes Texture when it is compressed.
--
---@source UnityEngine.TerrainModule.dll
---@field compressedHolesTextureFormat UnityEngine.TextureFormat
--
--The active Terrain. This is a convenient function to get to the main Terrain in the Scene.
--
---@source UnityEngine.TerrainModule.dll
---@field activeTerrain UnityEngine.Terrain
--
--The active terrains in the Scene.
--
---@source UnityEngine.TerrainModule.dll
---@field activeTerrains UnityEngine.Terrain[]
--
--The Terrain tile to the left, which is in the negative X direction.
--
---@source UnityEngine.TerrainModule.dll
---@field leftNeighbor UnityEngine.Terrain
--
--The Terrain tile to the left, which is in the positive X direction.
--
---@source UnityEngine.TerrainModule.dll
---@field rightNeighbor UnityEngine.Terrain
--
--Terrain top neighbor.
--
---@source UnityEngine.TerrainModule.dll
---@field topNeighbor UnityEngine.Terrain
--
--Terrain bottom neighbor.
--
---@source UnityEngine.TerrainModule.dll
---@field bottomNeighbor UnityEngine.Terrain
--
--Determines which rendering layers the Terrain renderer lives on.
--
---@source UnityEngine.TerrainModule.dll
---@field renderingLayerMask uint
---@source UnityEngine.TerrainModule.dll
---@field splatmapDistance float
--
--Should terrain cast shadows?.
--
---@source UnityEngine.TerrainModule.dll
---@field castShadows bool
--
--The type of the material used to render the terrain. Could be one of the built-in types or custom. See Terrain.MaterialType.
--
---@source UnityEngine.TerrainModule.dll
---@field materialType UnityEngine.Terrain.MaterialType
--
--The specular color of the terrain.
--
---@source UnityEngine.TerrainModule.dll
---@field legacySpecular UnityEngine.Color
--
--The shininess value of the terrain.
--
---@source UnityEngine.TerrainModule.dll
---@field legacyShininess float
---@source UnityEngine.TerrainModule.dll
CS.UnityEngine.Terrain = {}

---@source UnityEngine.TerrainModule.dll
---@param result System.Collections.Generic.List<UnityEngine.Rendering.ReflectionProbeBlendInfo>
function CS.UnityEngine.Terrain.GetClosestReflectionProbes(result) end

--
--Samples the height at the given position defined in world space, relative to the Terrain space.
--
---@source UnityEngine.TerrainModule.dll
---@param worldPosition UnityEngine.Vector3
---@return Single
function CS.UnityEngine.Terrain.SampleHeight(worldPosition) end

--
--Adds a tree instance to the terrain.
--
---@source UnityEngine.TerrainModule.dll
---@param instance UnityEngine.TreeInstance
function CS.UnityEngine.Terrain.AddTreeInstance(instance) end

--
--Lets you set up the connection between neighboring Terrain tiles. This ensures LOD matches up on neighboring Terrain tiles.
--
--```plaintext
--Params: left - The Terrain tile to the left is in the negative X direction.
--        top - The Terrain tile to the top is in the positive Z direction.
--        right - The Terrain tile to the right is in the positive X direction.
--        bottom - The Terrain tile to the bottom is in the negative Z direction.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param left UnityEngine.Terrain
---@param top UnityEngine.Terrain
---@param right UnityEngine.Terrain
---@param bottom UnityEngine.Terrain
function CS.UnityEngine.Terrain.SetNeighbors(left, top, right, bottom) end

--
--Get the position of the terrain.
--
---@source UnityEngine.TerrainModule.dll
---@return Vector3
function CS.UnityEngine.Terrain.GetPosition() end

--
--Flushes any change done in the terrain so it takes effect.
--
---@source UnityEngine.TerrainModule.dll
function CS.UnityEngine.Terrain.Flush() end

--
--Set the additional material properties when rendering the terrain heightmap using the splat material.
--
---@source UnityEngine.TerrainModule.dll
---@param properties UnityEngine.MaterialPropertyBlock
function CS.UnityEngine.Terrain.SetSplatMaterialPropertyBlock(properties) end

--
--Get the previously set splat material properties by copying to the dest MaterialPropertyBlock object.
--
---@source UnityEngine.TerrainModule.dll
---@param dest UnityEngine.MaterialPropertyBlock
function CS.UnityEngine.Terrain.GetSplatMaterialPropertyBlock(dest) end

--
--Marks the current connectivity status as invalid.
--
---@source UnityEngine.TerrainModule.dll
function CS.UnityEngine.Terrain:SetConnectivityDirty() end

--
--Creates a Terrain including collider from TerrainData.
--
---@source UnityEngine.TerrainModule.dll
---@param assignTerrain UnityEngine.TerrainData
---@return GameObject
function CS.UnityEngine.Terrain:CreateTerrainGameObject(assignTerrain) end

--
--Update the terrain's LOD and vegetation information after making changes with TerrainData.SetHeightsDelayLOD.
--
---@source UnityEngine.TerrainModule.dll
function CS.UnityEngine.Terrain.ApplyDelayedHeightmapModification() end


--
--A component for masking Sprites and Particles.
--
---@source UnityEngine.SpriteMaskModule.dll
---@class UnityEngine.SpriteMask: UnityEngine.Renderer
--
--Unique ID of the sorting layer defining the start of the custom range.
--
---@source UnityEngine.SpriteMaskModule.dll
---@field frontSortingLayerID int
--
--Order within the front sorting layer defining the start of the custom range.
--
---@source UnityEngine.SpriteMaskModule.dll
---@field frontSortingOrder int
--
--Unique ID of the sorting layer defining the end of the custom range.
--
---@source UnityEngine.SpriteMaskModule.dll
---@field backSortingLayerID int
--
--Order within the back sorting layer defining the end of the custom range.
--
---@source UnityEngine.SpriteMaskModule.dll
---@field backSortingOrder int
--
--The minimum alpha value used by the mask to select the area of influence defined over the mask's sprite.
--
---@source UnityEngine.SpriteMaskModule.dll
---@field alphaCutoff float
--
--The Sprite used to define the mask.
--
---@source UnityEngine.SpriteMaskModule.dll
---@field sprite UnityEngine.Sprite
--
--Mask sprites from front to back sorting values only.
--
---@source UnityEngine.SpriteMaskModule.dll
---@field isCustomRangeActive bool
--
--Determines the position of the Sprite used for sorting the SpriteMask.
--
---@source UnityEngine.SpriteMaskModule.dll
---@field spriteSortPoint UnityEngine.SpriteSortPoint
---@source UnityEngine.SpriteMaskModule.dll
CS.UnityEngine.SpriteMask = {}


--
--A StreamingController controls the streaming settings for an individual camera location.
--
---@source UnityEngine.StreamingModule.dll
---@class UnityEngine.StreamingController: UnityEngine.Behaviour
--
--Offset applied to the mipmap level chosen by the texture streaming system for any textures visible from this camera. This Offset can take either a positive or negative value.
--
---@source UnityEngine.StreamingModule.dll
---@field streamingMipmapBias float
---@source UnityEngine.StreamingModule.dll
CS.UnityEngine.StreamingController = {}

--
--Initiate preloading of streaming data for this camera.
--
--```plaintext
--Params: timeoutSeconds - Optional timeout before stopping preloading. Set to 0.0f when no timeout is required.
--        activateCameraOnTimeout - Set to True to activate the connected Camera component when timeout expires.
--        disableCameraCuttingFrom - Camera to deactivate on timeout (if Camera.activateCameraOnTime is True). This parameter can be null.
--        
--```
--
---@source UnityEngine.StreamingModule.dll
---@param timeoutSeconds float
---@param activateCameraOnTimeout bool
---@param disableCameraCuttingFrom UnityEngine.Camera
function CS.UnityEngine.StreamingController.SetPreloading(timeoutSeconds, activateCameraOnTimeout, disableCameraCuttingFrom) end

--
--Abort preloading.
--
---@source UnityEngine.StreamingModule.dll
function CS.UnityEngine.StreamingController.CancelPreloading() end

--
--True if in a preloading state, otherwise False.
--
---@source UnityEngine.StreamingModule.dll
---@return Boolean
function CS.UnityEngine.StreamingController.IsPreloading() end


--
--Script interface for storing the particle trail data.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.Trails: System.ValueType
--
--Reserve memory for the particle trail data.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field capacity int
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.Trails = {}


--
--The type of the material used to render a terrain object. Could be one of the built-in types or custom.
--
---@source UnityEngine.TerrainModule.dll
---@class UnityEngine.MaterialType: System.Enum
--
--A built-in material that uses the standard physically-based lighting model. Inputs supported: smoothness, metallic / specular, normal.
--
---@source UnityEngine.TerrainModule.dll
---@field BuiltInStandard UnityEngine.Terrain.MaterialType
--
--A built-in material that uses the legacy Lambert (diffuse) lighting model and has optional normal map support.
--
---@source UnityEngine.TerrainModule.dll
---@field BuiltInLegacyDiffuse UnityEngine.Terrain.MaterialType
--
--A built-in material that uses the legacy BlinnPhong (specular) lighting model and has optional normal map support.
--
---@source UnityEngine.TerrainModule.dll
---@field BuiltInLegacySpecular UnityEngine.Terrain.MaterialType
--
--Use a custom material given by Terrain.materialTemplate.
--
---@source UnityEngine.TerrainModule.dll
---@field Custom UnityEngine.Terrain.MaterialType
---@source UnityEngine.TerrainModule.dll
CS.UnityEngine.MaterialType = {}

---@source 
---@param value any
---@return UnityEngine.Terrain.MaterialType
function CS.UnityEngine.MaterialType:__CastFrom(value) end


--
--Script interface for particle Collider data.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ColliderData: System.ValueType
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ColliderData = {}

--
--The number of Colliders the particle is interacting with.
--
--```plaintext
--Params: particleIndex - The index of the particle event.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param particleIndex int
---@return Int32
function CS.UnityEngine.ColliderData.GetColliderCount(particleIndex) end

--
--The Collider or Collider2D Component that a particle is interacting with.
--
--```plaintext
--Params: particleIndex - The index of the particle event.
--        colliderIndex - The index of the collider to obtain.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param particleIndex int
---@param colliderIndex int
---@return Component
function CS.UnityEngine.ColliderData.GetCollider(particleIndex, colliderIndex) end


--
--Extension methods to the Terrain class, used only for the UpdateGIMaterials method used by the Global Illumination System.
--
---@source UnityEngine.TerrainModule.dll
---@class UnityEngine.TerrainExtensions: object
---@source UnityEngine.TerrainModule.dll
CS.UnityEngine.TerrainExtensions = {}

--
--Schedules an update of the albedo and emissive Textures of a system that contains the Terrain.
--
---@source UnityEngine.TerrainModule.dll
function CS.UnityEngine.TerrainExtensions.UpdateGIMaterials() end

--
--Schedules an update of the albedo and emissive Textures of a system that contains the Terrain.
--
---@source UnityEngine.TerrainModule.dll
---@param x int
---@param y int
---@param width int
---@param height int
function CS.UnityEngine.TerrainExtensions.UpdateGIMaterials(x, y, width, height) end


--
--Script interface for the VelocityOverLifetimeModule.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.VelocityOverLifetimeModule: System.ValueType
--
--Specifies whether the VelocityOverLifetimeModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--Curve to control particle speed based on lifetime, on the x-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field x UnityEngine.ParticleSystem.MinMaxCurve
--
--Curve to control particle speed based on lifetime, on the y-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field y UnityEngine.ParticleSystem.MinMaxCurve
--
--Curve to control particle speed based on lifetime, on the z-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field z UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for ParticleSystem.VelocityOverLifetimeModule._x
--
---@source UnityEngine.ParticleSystemModule.dll
---@field xMultiplier float
--
--A multiplier for ParticleSystem.VelocityOverLifetimeModule._y.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field yMultiplier float
--
--A multiplier for ParticleSystem.VelocityOverLifetimeModule._z.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field zMultiplier float
--
--Curve to control particle speed based on lifetime, around the x-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field orbitalX UnityEngine.ParticleSystem.MinMaxCurve
--
--Curve to control particle speed based on lifetime, around the y-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field orbitalY UnityEngine.ParticleSystem.MinMaxCurve
--
--Curve to control particle speed based on lifetime, around the z-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field orbitalZ UnityEngine.ParticleSystem.MinMaxCurve
--
--Speed multiplier along the x-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field orbitalXMultiplier float
--
--Speed multiplier along the y-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field orbitalYMultiplier float
--
--Speed multiplier along the z-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field orbitalZMultiplier float
--
--Specify a custom center of rotation for the orbital and radial velocities.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field orbitalOffsetX UnityEngine.ParticleSystem.MinMaxCurve
--
--Specify a custom center of rotation for the orbital and radial velocities.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field orbitalOffsetY UnityEngine.ParticleSystem.MinMaxCurve
--
--Specify a custom center of rotation for the orbital and radial velocities.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field orbitalOffsetZ UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for _orbitalOffsetX.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field orbitalOffsetXMultiplier float
--
--A multiplier for _orbitalOffsetY.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field orbitalOffsetYMultiplier float
--
--A multiplier for _orbitalOffsetY.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field orbitalOffsetZMultiplier float
--
--Curve to control particle speed based on lifetime, away from a center position.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field radial UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for ParticleSystem.VelocityOverLifetimeModule._radial.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field radialMultiplier float
--
--Curve to control particle speed based on lifetime, without affecting the direction of the particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field speedModifier UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for ParticleSystem.VelocityOverLifetimeModule._speedModifier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field speedModifierMultiplier float
--
--Specifies if the velocities are in local space (rotated with the transform) or world space.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field space UnityEngine.ParticleSystemSimulationSpace
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.VelocityOverLifetimeModule = {}


--
--Tree Component for the tree creator.
--
---@source UnityEngine.TerrainModule.dll
---@class UnityEngine.Tree: UnityEngine.Component
--
--Data asociated to the Tree.
--
---@source UnityEngine.TerrainModule.dll
---@field data UnityEngine.ScriptableObject
--
--Tells if there is wind data exported from SpeedTree are saved on this component.
--
---@source UnityEngine.TerrainModule.dll
---@field hasSpeedTreeWind bool
---@source UnityEngine.TerrainModule.dll
CS.UnityEngine.Tree = {}


--
--Script interface for the Limit Velocity Over Lifetime module.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.LimitVelocityOverLifetimeModule: System.ValueType
--
--Specifies whether the LimitForceOverLifetimeModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--Maximum velocity curve for the x-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field limitX UnityEngine.ParticleSystem.MinMaxCurve
--
--Change the limit multiplier on the x-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field limitXMultiplier float
--
--Maximum velocity curve for the y-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field limitY UnityEngine.ParticleSystem.MinMaxCurve
--
--Change the limit multiplier on the y-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field limitYMultiplier float
--
--Maximum velocity curve for the z-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field limitZ UnityEngine.ParticleSystem.MinMaxCurve
--
--Change the limit multiplier on the z-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field limitZMultiplier float
--
--Maximum velocity curve, when not using one curve per axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field limit UnityEngine.ParticleSystem.MinMaxCurve
--
--Change the limit multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field limitMultiplier float
--
--Controls how much this module dampens particle velocities that exceed the velocity limit.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field dampen float
--
--Set the velocity limit on each axis separately. This module uses ParticleSystem.LimitVelocityOverLifetimeModule._drag to dampen a particle's velocity if the velocity exceeds this value.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field separateAxes bool
--
--Specifies if the velocity limits are in local space (rotated with the transform) or world space.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field space UnityEngine.ParticleSystemSimulationSpace
--
--Controls the amount of drag that this modules applies to the particle velocities.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field drag UnityEngine.ParticleSystem.MinMaxCurve
--
--Specifies the drag multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field dragMultiplier float
--
--Adjust the amount of drag this module applies to particles, based on their sizes.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field multiplyDragByParticleSize bool
--
--Adjust the amount of drag this module applies to particles, based on their speeds.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field multiplyDragByParticleVelocity bool
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.LimitVelocityOverLifetimeModule = {}


--
--The Inherit Velocity Module controls how the velocity of the emitter is transferred to the particles as they are emitted.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.InheritVelocityModule: System.ValueType
--
--Specifies whether the InheritVelocityModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--Specifies how to apply emitter velocity to particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field mode UnityEngine.ParticleSystemInheritVelocityMode
--
--Curve to define how much of the emitter velocity the system applies during the lifetime of a particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field curve UnityEngine.ParticleSystem.MinMaxCurve
--
--Change the curve multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field curveMultiplier float
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.InheritVelocityModule = {}


--
--The Lifetime By Emitter Speed Module controls the initial lifetime of each particle based on the speed of the emitter when the particle was spawned.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.LifetimeByEmitterSpeedModule: System.ValueType
--
--Use this property to enable or disable the LifetimeByEmitterSpeed module.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--Use this curve to define which value to multiply the start lifetime of a particle with, based on the speed of the emitter when the particle is spawned.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field curve UnityEngine.ParticleSystem.MinMaxCurve
--
--Use this property to change the curve multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field curveMultiplier float
--
--Control the start lifetime multiplier between these minimum and maximum speeds of the emitter.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field range UnityEngine.Vector2
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.LifetimeByEmitterSpeedModule = {}


--
--Script interface for the ForceOverLifetimeModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ForceOverLifetimeModule: System.ValueType
--
--Specifies whether the ForceOverLifetimeModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--The curve that defines particle forces in the x-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field x UnityEngine.ParticleSystem.MinMaxCurve
--
--The curve defining particle forces in the y-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field y UnityEngine.ParticleSystem.MinMaxCurve
--
--The curve defining particle forces in the z-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field z UnityEngine.ParticleSystem.MinMaxCurve
--
--Defines the x-axis multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field xMultiplier float
--
--Defines the y-axis multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field yMultiplier float
--
--Defines the z-axis multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field zMultiplier float
--
--Specifies whether the modules applies the forces in local or world space.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field space UnityEngine.ParticleSystemSimulationSpace
--
--When randomly selecting values between two curves or constants, this flag causes the system to choose a new random force on each frame.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field randomized bool
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ForceOverLifetimeModule = {}


--
--Script interface for the ColorOverLifetimeModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ColorOverLifetimeModule: System.ValueType
--
--Specifies whether the ColorOverLifetimeModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--The gradient that controls the particle colors.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field color UnityEngine.ParticleSystem.MinMaxGradient
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ColorOverLifetimeModule = {}


--
--Script interface for the ColorBySpeedModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ColorBySpeedModule: System.ValueType
--
--Specifies whether the ColorBySpeedModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--The gradient that controls the particle colors.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field color UnityEngine.ParticleSystem.MinMaxGradient
--
--Apply the color gradient between these minimum and maximum speeds.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field range UnityEngine.Vector2
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ColorBySpeedModule = {}


--
--Script interface for the SizeOverLifetimeModule.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.SizeOverLifetimeModule: System.ValueType
--
--Specifies whether the SizeOverLifetimeModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--Curve to control particle size based on lifetime.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field size UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for ParticleSystem.SizeOverLifetimeModule._size.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field sizeMultiplier float
--
--Size over lifetime curve for the x-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field x UnityEngine.ParticleSystem.MinMaxCurve
--
--Size multiplier along the x-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field xMultiplier float
--
--Size over lifetime curve for the y-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field y UnityEngine.ParticleSystem.MinMaxCurve
--
--Size multiplier along the y-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field yMultiplier float
--
--Size over lifetime curve for the z-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field z UnityEngine.ParticleSystem.MinMaxCurve
--
--Size multiplier along the z-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field zMultiplier float
--
--Set the size over lifetime on each axis separately.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field separateAxes bool
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.SizeOverLifetimeModule = {}


--
--Script interface for the SizeBySpeedModule.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.SizeBySpeedModule: System.ValueType
--
--Specifies whether the SizeBySpeedModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--Curve to control particle size based on speed.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field size UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for ParticleSystem.SizeBySpeedModule._size.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field sizeMultiplier float
--
--Size by speed curve for the x-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field x UnityEngine.ParticleSystem.MinMaxCurve
--
--Size multiplier along the x-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field xMultiplier float
--
--Size by speed curve for the y-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field y UnityEngine.ParticleSystem.MinMaxCurve
--
--Size multiplier along the y-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field yMultiplier float
--
--Size by speed curve for the z-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field z UnityEngine.ParticleSystem.MinMaxCurve
--
--Size multiplier along the z-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field zMultiplier float
--
--Set the size by speed on each axis separately.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field separateAxes bool
--
--Set the minimum and maximum speed that this modules applies the size curve between.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field range UnityEngine.Vector2
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.SizeBySpeedModule = {}


--
--Script interface for the RotationOverLifetimeModule.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.RotationOverLifetimeModule: System.ValueType
--
--Specifies whether the RotationOverLifetimeModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--Rotation over lifetime curve for the x-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field x UnityEngine.ParticleSystem.MinMaxCurve
--
--Rotation multiplier around the x-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field xMultiplier float
--
--Rotation over lifetime curve for the y-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field y UnityEngine.ParticleSystem.MinMaxCurve
--
--Rotation multiplier around the y-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field yMultiplier float
--
--Rotation over lifetime curve for the z-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field z UnityEngine.ParticleSystem.MinMaxCurve
--
--Rotation multiplier around the z-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field zMultiplier float
--
--Set the rotation over lifetime on each axis separately.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field separateAxes bool
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.RotationOverLifetimeModule = {}


--
--Script interface for the RotationBySpeedModule.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.RotationBySpeedModule: System.ValueType
--
--ESpecifies whether the RotationBySpeedModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--Rotation by speed curve for the x-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field x UnityEngine.ParticleSystem.MinMaxCurve
--
--Speed multiplier along the x-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field xMultiplier float
--
--Rotation by speed curve for the y-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field y UnityEngine.ParticleSystem.MinMaxCurve
--
--Speed multiplier along the y-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field yMultiplier float
--
--Rotation by speed curve for the z-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field z UnityEngine.ParticleSystem.MinMaxCurve
--
--Speed multiplier along the z-axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field zMultiplier float
--
--Set the rotation by speed on each axis separately.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field separateAxes bool
--
--Set the minimum and maximum speeds that this module applies the rotation curve between.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field range UnityEngine.Vector2
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.RotationBySpeedModule = {}


--
--Script interface for the ExternalForcesModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ExternalForcesModule: System.ValueType
--
--Specifies whether the ExternalForcesModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--Multiplies the magnitude of external forces affecting the particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field multiplier float
--
--Multiplies the magnitude of applied external forces.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field multiplierCurve UnityEngine.ParticleSystem.MinMaxCurve
--
--Apply all Force Fields belonging to a matching Layer to this Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field influenceFilter UnityEngine.ParticleSystemGameObjectFilter
--
--Particle System Force Field Components with a matching Layer affect this Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field influenceMask UnityEngine.LayerMask
--
--The number of Force Fields explicitly provided to the influencers list.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field influenceCount int
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ExternalForcesModule = {}

--
--Whether the Force Field affects the Particle System.
--
--```plaintext
--Params: field - The Force Field to test.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param field UnityEngine.ParticleSystemForceField
---@return Boolean
function CS.UnityEngine.ExternalForcesModule.IsAffectedBy(field) end

--
--Adds a ParticleSystemForceField to the influencers list.
--
--```plaintext
--Params: field - The Force Field to add to the influencers list.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param field UnityEngine.ParticleSystemForceField
function CS.UnityEngine.ExternalForcesModule.AddInfluence(field) end

--
--Removes the Force Field from the influencers list at the given index.
--
--```plaintext
--Params: index - The index to remove the chosen Force Field from.
--        field - The Force Field to remove from the list.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
function CS.UnityEngine.ExternalForcesModule.RemoveInfluence(index) end

--
--Removes the Force Field from the influencers list at the given index.
--
--```plaintext
--Params: index - The index to remove the chosen Force Field from.
--        field - The Force Field to remove from the list.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param field UnityEngine.ParticleSystemForceField
function CS.UnityEngine.ExternalForcesModule.RemoveInfluence(field) end

--
--Removes every Force Field from the influencers list.
--
---@source UnityEngine.ParticleSystemModule.dll
function CS.UnityEngine.ExternalForcesModule.RemoveAllInfluences() end

--
--Assigns the Force Field at the given index in the influencers list.
--
--```plaintext
--Params: index - Index to assign the Force Field.
--        field - Force Field that to assign.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@param field UnityEngine.ParticleSystemForceField
function CS.UnityEngine.ExternalForcesModule.SetInfluence(index, field) end

--
--The ForceField from the list.
--
--```plaintext
--Params: index - The index to return the chosen Force Field from.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param index int
---@return ParticleSystemForceField
function CS.UnityEngine.ExternalForcesModule.GetInfluence(index) end


--
--Script interface for the NoiseModule.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.NoiseModule: System.ValueType
--
--Specifies whether the the NoiseModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--Control the noise separately for each axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field separateAxes bool
--
--How strong the overall noise effect is.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field strength UnityEngine.ParticleSystem.MinMaxCurve
--
--Strength multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field strengthMultiplier float
--
--Define the strength of the effect on the x-axis, when using the ParticleSystem.NoiseModule.separateAxes option.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field strengthX UnityEngine.ParticleSystem.MinMaxCurve
--
--x-axis strength multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field strengthXMultiplier float
--
--Define the strength of the effect on the y-axis, when using the ParticleSystem.NoiseModule.separateAxes option.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field strengthY UnityEngine.ParticleSystem.MinMaxCurve
--
--y-axis strength multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field strengthYMultiplier float
--
--Define the strength of the effect on the z-axis, when using the ParticleSystem.NoiseModule.separateAxes option.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field strengthZ UnityEngine.ParticleSystem.MinMaxCurve
--
--z-axis strength multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field strengthZMultiplier float
--
--Low values create soft, smooth noise, and high values create rapidly changing noise.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field frequency float
--
--Higher frequency noise reduces the strength by a proportional amount, if enabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field damping bool
--
--Layers of noise that combine to produce final noise.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field octaveCount int
--
--When combining each octave, scale the intensity by this amount.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field octaveMultiplier float
--
--When combining each octave, zoom in by this amount.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field octaveScale float
--
--Generate 1D, 2D or 3D noise.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field quality UnityEngine.ParticleSystemNoiseQuality
--
--Scroll the noise map over the Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field scrollSpeed UnityEngine.ParticleSystem.MinMaxCurve
--
--Scroll speed multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field scrollSpeedMultiplier float
--
--Enable remapping of the final noise values, allowing for noise values to be translated into different values.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field remapEnabled bool
--
--Define how the noise values are remapped.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field remap UnityEngine.ParticleSystem.MinMaxCurve
--
--Remap multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field remapMultiplier float
--
--Define how the noise values are remapped on the x-axis, when using the ParticleSystem.NoiseModule.separateAxes option.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field remapX UnityEngine.ParticleSystem.MinMaxCurve
--
--x-axis remap multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field remapXMultiplier float
--
--Define how the noise values are remapped on the y-axis, when using the ParticleSystem.NoiseModule.separateAxes option.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field remapY UnityEngine.ParticleSystem.MinMaxCurve
--
--y-axis remap multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field remapYMultiplier float
--
--Define how the noise values are remapped on the z-axis, when using the ParticleSystem.NoiseModule.separateAxes option.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field remapZ UnityEngine.ParticleSystem.MinMaxCurve
--
--z-axis remap multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field remapZMultiplier float
--
--How much the noise affects the particle positions.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field positionAmount UnityEngine.ParticleSystem.MinMaxCurve
--
--How much the noise affects the particle rotation, in degrees per second.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rotationAmount UnityEngine.ParticleSystem.MinMaxCurve
--
--How much the noise affects the particle sizes, applied as a multiplier on the size of each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field sizeAmount UnityEngine.ParticleSystem.MinMaxCurve
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.NoiseModule = {}


--
--Access the ParticleSystem Lights Module.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.LightsModule: System.ValueType
--
--Specifies whether the LightsModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--Choose what proportion of particles receive a dynamic light.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field ratio float
--
--Randomly assign Lights to new particles based on ParticleSystem.LightsModule.ratio.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field useRandomDistribution bool
--
--Select what Light Prefab you want to base your particle lights on.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field light UnityEngine.Light
--
--Toggle whether the particle lights multiply their color by the particle color.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field useParticleColor bool
--
--Toggle whether the system multiplies the particle size by the light range to determine the final light range.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field sizeAffectsRange bool
--
--Toggle whether the system multiplies the particle alpha by the light intensity when it computes the final light intensity.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field alphaAffectsIntensity bool
--
--Define a curve to apply custom range scaling to particle Lights.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field range UnityEngine.ParticleSystem.MinMaxCurve
--
--Range multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field rangeMultiplier float
--
--Define a curve to apply custom intensity scaling to particle Lights.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field intensity UnityEngine.ParticleSystem.MinMaxCurve
--
--Intensity multiplier.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field intensityMultiplier float
--
--Set a limit on how many Lights this Module can create.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field maxLights int
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.LightsModule = {}


--
--Script interface for the TrailsModule.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.TrailModule: System.ValueType
--
--Specifies whether the TrailModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
--
--Choose how the system generates the particle trails.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field mode UnityEngine.ParticleSystemTrailMode
--
--Choose what proportion of particles receive a trail.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field ratio float
--
--The curve describing the trail lifetime, throughout the lifetime of the particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field lifetime UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for ParticleSystem.TrailModule._lifetime.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field lifetimeMultiplier float
--
--Set the minimum distance each trail can travel before the system adds a new vertex to it.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field minVertexDistance float
--
--Choose whether the U coordinate of the trail Texture is tiled or stretched.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field textureMode UnityEngine.ParticleSystemTrailTextureMode
--
--Drop new trail points in world space, regardless of Particle System Simulation Space.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field worldSpace bool
--
--Specifies whether trails disappear immediately when their owning particle dies. When false, each trail persists until all its points have naturally expired, based on its lifetime.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field dieWithParticles bool
--
--Set whether the particle size acts as a multiplier on top of the trail width.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field sizeAffectsWidth bool
--
--Set whether the particle size acts as a multiplier on top of the trail lifetime.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field sizeAffectsLifetime bool
--
--Toggle whether the trail inherits the particle color as its starting color.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field inheritParticleColor bool
--
--The gradient that controls the trail colors during the lifetime of the attached particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field colorOverLifetime UnityEngine.ParticleSystem.MinMaxGradient
--
--The curve describing the width of each trail point.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field widthOverTrail UnityEngine.ParticleSystem.MinMaxCurve
--
--A multiplier for ParticleSystem.TrailModule._widthOverTrail.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field widthOverTrailMultiplier float
--
--The gradient that controls the trail colors over the length of the trail.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field colorOverTrail UnityEngine.ParticleSystem.MinMaxGradient
--
--Configures the trails to generate Normals and Tangents. With this data, Scene lighting can affect the trails via Normal Maps and the Unity Standard Shader, or your own custom-built Shaders.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field generateLightingData bool
--
--Select how many lines to create through the Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field ribbonCount int
--
--Apply a shadow bias to prevent self-shadowing artifacts. The specified value is the proportion of the trail width at each segment.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field shadowBias float
--
--Specifies whether, if you use this system as a sub-emitter, ribbons connect particles from each parent particle independently.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field splitSubEmitterRibbons bool
--
--Adds an extra position to each ribbon, connecting it to the location of the Transform Component.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field attachRibbonsToTransform bool
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.TrailModule = {}


--
--Script interface for the CustomDataModule of a Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.CustomDataModule: System.ValueType
--
--Specifies whether the CustomDataModule is enabled or disabled.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field enabled bool
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.CustomDataModule = {}

--
--Choose the type of custom data to generate for the chosen data stream.
--
--```plaintext
--Params: stream - The name of the custom data stream to enable data generation on.
--        mode - The type of data to generate.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param stream UnityEngine.ParticleSystemCustomData
---@param mode UnityEngine.ParticleSystemCustomDataMode
function CS.UnityEngine.CustomDataModule.SetMode(stream, mode) end

--
--The type of data being generated for the requested stream.
--
--```plaintext
--Params: stream - The name of the custom data stream to query.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param stream UnityEngine.ParticleSystemCustomData
---@return ParticleSystemCustomDataMode
function CS.UnityEngine.CustomDataModule.GetMode(stream) end

--
--Specify how many curves are used to generate custom data for this stream.
--
--```plaintext
--Params: stream - The name of the custom data stream to apply the curve to.
--        curveCount - The number of curves to generate data for.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param stream UnityEngine.ParticleSystemCustomData
---@param count int
function CS.UnityEngine.CustomDataModule.SetVectorComponentCount(stream, count) end

--
--The number of curves.
--
--```plaintext
--Params: stream - The name of the custom data stream to retrieve the curve from.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param stream UnityEngine.ParticleSystemCustomData
---@return Int32
function CS.UnityEngine.CustomDataModule.GetVectorComponentCount(stream) end

---@source UnityEngine.ParticleSystemModule.dll
---@param stream UnityEngine.ParticleSystemCustomData
---@param component int
---@param curve UnityEngine.ParticleSystem.MinMaxCurve
function CS.UnityEngine.CustomDataModule.SetVector(stream, component, curve) end

--
--The curve being used to generate custom data.
--
--```plaintext
--Params: stream - The name of the custom data stream to retrieve the curve from.
--        component - The component index to retrieve the curve for (0-3, mapping to the xyzw components of a Vector4 or float4).
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param stream UnityEngine.ParticleSystemCustomData
---@param component int
---@return MinMaxCurve
function CS.UnityEngine.CustomDataModule.GetVector(stream, component) end

---@source UnityEngine.ParticleSystemModule.dll
---@param stream UnityEngine.ParticleSystemCustomData
---@param gradient UnityEngine.ParticleSystem.MinMaxGradient
function CS.UnityEngine.CustomDataModule.SetColor(stream, gradient) end

--
--The color gradient being used to generate custom color data.
--
--```plaintext
--Params: stream - The name of the custom data stream to retrieve the gradient from.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param stream UnityEngine.ParticleSystemCustomData
---@return MinMaxGradient
function CS.UnityEngine.CustomDataModule.GetColor(stream) end


--
--Method extension for Physics in Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticlePhysicsExtensions: object
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticlePhysicsExtensions = {}

--
--Get the particle collision events for a GameObject. Returns the number of events written to the array.
--
--```plaintext
--Params: go - The GameObject for which to retrieve collision events.
--        collisionEvents - Array to write collision events to.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param go UnityEngine.GameObject
---@param collisionEvents UnityEngine.ParticleCollisionEvent[]
---@return Int32
function CS.UnityEngine.ParticlePhysicsExtensions.GetCollisionEvents(go, collisionEvents) end

--
--Safe array size for use with ParticleSystem.GetCollisionEvents.
--
---@source UnityEngine.ParticleSystemModule.dll
---@return Int32
function CS.UnityEngine.ParticlePhysicsExtensions.GetSafeCollisionEventSize() end

---@source UnityEngine.ParticleSystemModule.dll
---@param go UnityEngine.GameObject
---@param collisionEvents System.Collections.Generic.List<UnityEngine.ParticleCollisionEvent>
---@return Int32
function CS.UnityEngine.ParticlePhysicsExtensions.GetCollisionEvents(go, collisionEvents) end

--
--Number of particles with this trigger event type.
--
--```plaintext
--Params: ps - Particle system.
--        type - Type of trigger to return size for.
--        
--```
--
---@source UnityEngine.ParticleSystemModule.dll
---@param type UnityEngine.ParticleSystemTriggerEventType
---@return Int32
function CS.UnityEngine.ParticlePhysicsExtensions.GetSafeTriggerParticlesSize(type) end

---@source UnityEngine.ParticleSystemModule.dll
---@param type UnityEngine.ParticleSystemTriggerEventType
---@param particles System.Collections.Generic.List<UnityEngine.ParticleSystem.Particle>
---@return Int32
function CS.UnityEngine.ParticlePhysicsExtensions.GetTriggerParticles(type, particles) end

---@source UnityEngine.ParticleSystemModule.dll
---@param type UnityEngine.ParticleSystemTriggerEventType
---@param particles System.Collections.Generic.List<UnityEngine.ParticleSystem.Particle>
---@param colliderData UnityEngine.ParticleSystem.ColliderData
---@return Int32
function CS.UnityEngine.ParticlePhysicsExtensions.GetTriggerParticles(type, particles, colliderData) end

---@source UnityEngine.ParticleSystemModule.dll
---@param type UnityEngine.ParticleSystemTriggerEventType
---@param particles System.Collections.Generic.List<UnityEngine.ParticleSystem.Particle>
---@param offset int
---@param count int
function CS.UnityEngine.ParticlePhysicsExtensions.SetTriggerParticles(type, particles, offset, count) end

---@source UnityEngine.ParticleSystemModule.dll
---@param type UnityEngine.ParticleSystemTriggerEventType
---@param particles System.Collections.Generic.List<UnityEngine.ParticleSystem.Particle>
function CS.UnityEngine.ParticlePhysicsExtensions.SetTriggerParticles(type, particles) end


--
--Information about a particle collision.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleCollisionEvent: System.ValueType
--
--The Collider for the GameObject struck by the particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field collider UnityEngine.Component
--
--Intersection point of the collision in world coordinates.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field intersection UnityEngine.Vector3
--
--Geometry normal at the intersection point of the collision.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field normal UnityEngine.Vector3
--
--Incident velocity at the intersection point of the collision.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field velocity UnityEngine.Vector3
--
--The Collider or Collider2D for the GameObject struck by the particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field colliderComponent UnityEngine.Component
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleCollisionEvent = {}


--
--The rendering mode for particle systems.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemRenderMode: System.Enum
--
--Render particles as billboards facing the active camera. (Default)
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Billboard UnityEngine.ParticleSystemRenderMode
--
--Stretch particles in the direction of motion.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Stretch UnityEngine.ParticleSystemRenderMode
--
--Render particles as billboards always facing up along the y-Axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field HorizontalBillboard UnityEngine.ParticleSystemRenderMode
--
--Render particles as billboards always facing the player, but not pitching along the x-Axis.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field VerticalBillboard UnityEngine.ParticleSystemRenderMode
--
--Render particles as meshes.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Mesh UnityEngine.ParticleSystemRenderMode
--
--Do not render particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field None UnityEngine.ParticleSystemRenderMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemRenderMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemRenderMode
function CS.UnityEngine.ParticleSystemRenderMode:__CastFrom(value) end


--
--The sorting mode for particle systems.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemSortMode: System.Enum
--
--No sorting.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field None UnityEngine.ParticleSystemSortMode
--
--Sort based on distance to the camera position. For orthographic cameras, this mode is the same as sorting by depth.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Distance UnityEngine.ParticleSystemSortMode
--
--Sort the oldest particles to the front.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field OldestInFront UnityEngine.ParticleSystemSortMode
--
--Sort the youngest particles to the front.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field YoungestInFront UnityEngine.ParticleSystemSortMode
--
--Sort based on depth from the camera plane.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Depth UnityEngine.ParticleSystemSortMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemSortMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemSortMode
function CS.UnityEngine.ParticleSystemSortMode:__CastFrom(value) end


--
--Quality of world collisions. Medium and low quality are approximate and may leak particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemCollisionQuality: System.Enum
--
--The most accurate world collisions.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field High UnityEngine.ParticleSystemCollisionQuality
--
--Approximate world collisions.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Medium UnityEngine.ParticleSystemCollisionQuality
--
--Fastest and most approximate world collisions.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Low UnityEngine.ParticleSystemCollisionQuality
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemCollisionQuality = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemCollisionQuality
function CS.UnityEngine.ParticleSystemCollisionQuality:__CastFrom(value) end


--
--How particles are aligned when rendered.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemRenderSpace: System.Enum
--
--Particles face the camera plane.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field View UnityEngine.ParticleSystemRenderSpace
--
--Particles align with the world.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field World UnityEngine.ParticleSystemRenderSpace
--
--Particles align with their local transform.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Local UnityEngine.ParticleSystemRenderSpace
--
--Particles face the eye position.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Facing UnityEngine.ParticleSystemRenderSpace
--
--Particles are aligned to their direction of travel.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Velocity UnityEngine.ParticleSystemRenderSpace
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemRenderSpace = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemRenderSpace
function CS.UnityEngine.ParticleSystemRenderSpace:__CastFrom(value) end


--
--The particle curve mode.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemCurveMode: System.Enum
--
--Use a single constant for the ParticleSystem.MinMaxCurve.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Constant UnityEngine.ParticleSystemCurveMode
--
--Use a single curve for the ParticleSystem.MinMaxCurve.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Curve UnityEngine.ParticleSystemCurveMode
--
--Use a random value between 2 curves for the ParticleSystem.MinMaxCurve.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field TwoCurves UnityEngine.ParticleSystemCurveMode
--
--Use a random value between 2 constants for the ParticleSystem.MinMaxCurve.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field TwoConstants UnityEngine.ParticleSystemCurveMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemCurveMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemCurveMode
function CS.UnityEngine.ParticleSystemCurveMode:__CastFrom(value) end


--
--The particle gradient mode.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemGradientMode: System.Enum
--
--Use a single color for the ParticleSystem.MinMaxGradient.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Color UnityEngine.ParticleSystemGradientMode
--
--Use a single color gradient for the ParticleSystem.MinMaxGradient.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Gradient UnityEngine.ParticleSystemGradientMode
--
--Use a random value between 2 colors for the ParticleSystem.MinMaxGradient.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field TwoColors UnityEngine.ParticleSystemGradientMode
--
--Use a random value between 2 color gradients for the ParticleSystem.MinMaxGradient.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field TwoGradients UnityEngine.ParticleSystemGradientMode
--
--Define a list of colors in the ParticleSystem.MinMaxGradient, to be chosen from at random.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field RandomColor UnityEngine.ParticleSystemGradientMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemGradientMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemGradientMode
function CS.UnityEngine.ParticleSystemGradientMode:__CastFrom(value) end


--
--The emission shape.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemShapeType: System.Enum
--
--Emit from a sphere.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Sphere UnityEngine.ParticleSystemShapeType
--
--Emit from the surface of a sphere.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field SphereShell UnityEngine.ParticleSystemShapeType
--
--Emit from a half-sphere.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Hemisphere UnityEngine.ParticleSystemShapeType
--
--Emit from the surface of a half-sphere.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field HemisphereShell UnityEngine.ParticleSystemShapeType
--
--Emit from the base of a cone.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Cone UnityEngine.ParticleSystemShapeType
--
--Emit from the volume of a box.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Box UnityEngine.ParticleSystemShapeType
--
--Emit from a mesh.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Mesh UnityEngine.ParticleSystemShapeType
--
--Emit from the base surface of a cone.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field ConeShell UnityEngine.ParticleSystemShapeType
--
--Emit from a cone.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field ConeVolume UnityEngine.ParticleSystemShapeType
--
--Emit from the surface of a cone.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field ConeVolumeShell UnityEngine.ParticleSystemShapeType
--
--Emit from a circle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Circle UnityEngine.ParticleSystemShapeType
--
--Emit from the edge of a circle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field CircleEdge UnityEngine.ParticleSystemShapeType
--
--Emit from an edge.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field SingleSidedEdge UnityEngine.ParticleSystemShapeType
--
--Emit from a mesh renderer.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field MeshRenderer UnityEngine.ParticleSystemShapeType
--
--Emit from a skinned mesh renderer.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field SkinnedMeshRenderer UnityEngine.ParticleSystemShapeType
--
--Emit from the surface of a box.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field BoxShell UnityEngine.ParticleSystemShapeType
--
--Emit from the edges of a box.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field BoxEdge UnityEngine.ParticleSystemShapeType
--
--Emit from a Donut.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Donut UnityEngine.ParticleSystemShapeType
--
--Emit from a rectangle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Rectangle UnityEngine.ParticleSystemShapeType
--
--Emit from a sprite.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Sprite UnityEngine.ParticleSystemShapeType
--
--Emit from a sprite renderer.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field SpriteRenderer UnityEngine.ParticleSystemShapeType
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemShapeType = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemShapeType
function CS.UnityEngine.ParticleSystemShapeType:__CastFrom(value) end


--
--The mesh emission type.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemMeshShapeType: System.Enum
--
--Emit from the vertices of the mesh.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Vertex UnityEngine.ParticleSystemMeshShapeType
--
--Emit from the edges of the mesh.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Edge UnityEngine.ParticleSystemMeshShapeType
--
--Emit from the surface of the mesh.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Triangle UnityEngine.ParticleSystemMeshShapeType
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemMeshShapeType = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemMeshShapeType
function CS.UnityEngine.ParticleSystemMeshShapeType:__CastFrom(value) end


--
--The texture channel.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemShapeTextureChannel: System.Enum
--
--The red channel.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Red UnityEngine.ParticleSystemShapeTextureChannel
--
--The green channel.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Green UnityEngine.ParticleSystemShapeTextureChannel
--
--The blue channel.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Blue UnityEngine.ParticleSystemShapeTextureChannel
--
--The alpha channel.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Alpha UnityEngine.ParticleSystemShapeTextureChannel
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemShapeTextureChannel = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemShapeTextureChannel
function CS.UnityEngine.ParticleSystemShapeTextureChannel:__CastFrom(value) end


--
--The animation mode.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemAnimationMode: System.Enum
--
--Use a regular grid to construct a sequence of animation frames.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Grid UnityEngine.ParticleSystemAnimationMode
--
--Use a list of sprites to construct a sequence of animation frames.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Sprites UnityEngine.ParticleSystemAnimationMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemAnimationMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemAnimationMode
function CS.UnityEngine.ParticleSystemAnimationMode:__CastFrom(value) end


--
--Control how animation frames are selected.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemAnimationTimeMode: System.Enum
--
--Select animation frames based on the particle ages.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Lifetime UnityEngine.ParticleSystemAnimationTimeMode
--
--Select animation frames based on the particle speeds.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Speed UnityEngine.ParticleSystemAnimationTimeMode
--
--Select animation frames sequentially at a constant rate of the specified frames per second.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field FPS UnityEngine.ParticleSystemAnimationTimeMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemAnimationTimeMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemAnimationTimeMode
function CS.UnityEngine.ParticleSystemAnimationTimeMode:__CastFrom(value) end


--
--Simple class that contains a pointer to a tree prototype.
--
---@source UnityEngine.TerrainModule.dll
---@class UnityEngine.TreePrototype: object
--
--Retrieves the actual GameObject used by the tree.
--
---@source UnityEngine.TerrainModule.dll
---@field prefab UnityEngine.GameObject
--
--Bend factor of the tree prototype.
--
---@source UnityEngine.TerrainModule.dll
---@field bendFactor float
--
--The LOD index of a Tree LODGroup that Unity uses to generate a NavMesh. It uses this value only for Trees with a LODGroup, and ignores this value for regular Trees.
--
---@source UnityEngine.TerrainModule.dll
---@field navMeshLod int
---@source UnityEngine.TerrainModule.dll
CS.UnityEngine.TreePrototype = {}

---@source UnityEngine.TerrainModule.dll
---@param obj object
---@return Boolean
function CS.UnityEngine.TreePrototype.Equals(obj) end

---@source UnityEngine.TerrainModule.dll
---@return Int32
function CS.UnityEngine.TreePrototype.GetHashCode() end


--
--The animation type.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemAnimationType: System.Enum
--
--Animate over the whole texture sheet from left to right, top to bottom.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field WholeSheet UnityEngine.ParticleSystemAnimationType
--
--Animate a single row in the sheet from left to right.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field SingleRow UnityEngine.ParticleSystemAnimationType
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemAnimationType = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemAnimationType
function CS.UnityEngine.ParticleSystemAnimationType:__CastFrom(value) end


--
--The mode used for selecting rows of an animation in the Texture Sheet Animation Module.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemAnimationRowMode: System.Enum
--
--Use a specific row for all particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Custom UnityEngine.ParticleSystemAnimationRowMode
--
--Use a random row for each particle.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Random UnityEngine.ParticleSystemAnimationRowMode
--
--Use the mesh index as the row, so that meshes can be mapped to specific animation frames.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field MeshIndex UnityEngine.ParticleSystemAnimationRowMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemAnimationRowMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemAnimationRowMode
function CS.UnityEngine.ParticleSystemAnimationRowMode:__CastFrom(value) end


--
--Render mode for detail prototypes.
--
---@source UnityEngine.TerrainModule.dll
---@class UnityEngine.DetailRenderMode: System.Enum
--
--The detail prototype will be rendered as billboards that are always facing the camera.
--
---@source UnityEngine.TerrainModule.dll
---@field GrassBillboard UnityEngine.DetailRenderMode
--
--Will show the prototype using diffuse shading.
--
---@source UnityEngine.TerrainModule.dll
---@field VertexLit UnityEngine.DetailRenderMode
--
--The detail prototype will use the grass shader.
--
---@source UnityEngine.TerrainModule.dll
---@field Grass UnityEngine.DetailRenderMode
---@source UnityEngine.TerrainModule.dll
CS.UnityEngine.DetailRenderMode = {}

---@source 
---@param value any
---@return UnityEngine.DetailRenderMode
function CS.UnityEngine.DetailRenderMode:__CastFrom(value) end


--
--The type of collisions to use for a given Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemCollisionType: System.Enum
--
--Collide with a list of planes.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Planes UnityEngine.ParticleSystemCollisionType
--
--Collide with the world geometry.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field World UnityEngine.ParticleSystemCollisionType
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemCollisionType = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemCollisionType
function CS.UnityEngine.ParticleSystemCollisionType:__CastFrom(value) end


--
--Detail prototype used by the Terrain GameObject.
--
---@source UnityEngine.TerrainModule.dll
---@class UnityEngine.DetailPrototype: object
--
--GameObject used by the DetailPrototype.
--
---@source UnityEngine.TerrainModule.dll
---@field prototype UnityEngine.GameObject
--
--Texture used by the DetailPrototype.
--
---@source UnityEngine.TerrainModule.dll
---@field prototypeTexture UnityEngine.Texture2D
--
--Minimum width of the grass billboards (if render mode is GrassBillboard).
--
---@source UnityEngine.TerrainModule.dll
---@field minWidth float
--
--Maximum width of the grass billboards (if render mode is GrassBillboard).
--
---@source UnityEngine.TerrainModule.dll
---@field maxWidth float
--
--Minimum height of the grass billboards (if render mode is GrassBillboard).
--
---@source UnityEngine.TerrainModule.dll
---@field minHeight float
--
--Maximum height of the grass billboards (if render mode is GrassBillboard).
--
---@source UnityEngine.TerrainModule.dll
---@field maxHeight float
--
--How spread out is the noise for the DetailPrototype.
--
---@source UnityEngine.TerrainModule.dll
---@field noiseSpread float
--
--Bend factor of the detailPrototype.
--
---@source UnityEngine.TerrainModule.dll
---@field bendFactor float
--
--Controls how far away detail objects are from the edge of the hole area.
--
---@source UnityEngine.TerrainModule.dll
---@field holeEdgePadding float
--
--Color when the DetailPrototypes are "healthy".
--
---@source UnityEngine.TerrainModule.dll
---@field healthyColor UnityEngine.Color
--
--Color when the DetailPrototypes are "dry".
--
---@source UnityEngine.TerrainModule.dll
---@field dryColor UnityEngine.Color
--
--Render mode for the DetailPrototype.
--
---@source UnityEngine.TerrainModule.dll
---@field renderMode UnityEngine.DetailRenderMode
--
--Indicates whether this detail prototype uses the Mesh object from the GameObject specified by prototype.
--
---@source UnityEngine.TerrainModule.dll
---@field usePrototypeMesh bool
---@source UnityEngine.TerrainModule.dll
CS.UnityEngine.DetailPrototype = {}

---@source UnityEngine.TerrainModule.dll
---@param obj object
---@return Boolean
function CS.UnityEngine.DetailPrototype.Equals(obj) end

---@source UnityEngine.TerrainModule.dll
---@return Int32
function CS.UnityEngine.DetailPrototype.GetHashCode() end

--
--Returns true if the detail prototype is valid and the Terrain can accept it.
--
--```plaintext
--Params: errorMessage - Returns a message that indicates the cause of failed validation.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@return Boolean
function CS.UnityEngine.DetailPrototype.Validate() end

---@source UnityEngine.TerrainModule.dll
---@param errorMessage string
---@return Boolean
function CS.UnityEngine.DetailPrototype.Validate(errorMessage) end


--
--Whether to use 2D or 3D colliders for particle collisions.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemCollisionMode: System.Enum
--
--Use 3D colliders to collide particles against.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Collision3D UnityEngine.ParticleSystemCollisionMode
--
--Use 2D colliders to collide particles against.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Collision2D UnityEngine.ParticleSystemCollisionMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemCollisionMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemCollisionMode
function CS.UnityEngine.ParticleSystemCollisionMode:__CastFrom(value) end


--
--A Splat prototype is just a texture that is used by the TerrainData.
--
---@source UnityEngine.TerrainModule.dll
---@class UnityEngine.SplatPrototype: object
--
--Texture of the splat applied to the Terrain.
--
---@source UnityEngine.TerrainModule.dll
---@field texture UnityEngine.Texture2D
--
--Normal map of the splat applied to the Terrain.
--
---@source UnityEngine.TerrainModule.dll
---@field normalMap UnityEngine.Texture2D
--
--Size of the tile used in the texture of the SplatPrototype.
--
---@source UnityEngine.TerrainModule.dll
---@field tileSize UnityEngine.Vector2
--
--Offset of the tile texture of the SplatPrototype.
--
---@source UnityEngine.TerrainModule.dll
---@field tileOffset UnityEngine.Vector2
---@source UnityEngine.TerrainModule.dll
---@field specular UnityEngine.Color
--
--The metallic value of the splat layer.
--
---@source UnityEngine.TerrainModule.dll
---@field metallic float
--
--The smoothness value of the splat layer when the main texture has no alpha channel.
--
---@source UnityEngine.TerrainModule.dll
---@field smoothness float
---@source UnityEngine.TerrainModule.dll
CS.UnityEngine.SplatPrototype = {}


--
--What action to perform when the particle trigger module passes a test.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemOverlapAction: System.Enum
--
--Do nothing.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Ignore UnityEngine.ParticleSystemOverlapAction
--
--Kill all particles that pass this test.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Kill UnityEngine.ParticleSystemOverlapAction
--
--Send the OnParticleTrigger command to the Particle System's script.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Callback UnityEngine.ParticleSystemOverlapAction
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemOverlapAction = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemOverlapAction
function CS.UnityEngine.ParticleSystemOverlapAction:__CastFrom(value) end


--
--Contains information about a tree placed in the Terrain game object.
--
---@source UnityEngine.TerrainModule.dll
---@class UnityEngine.TreeInstance: System.ValueType
--
--Position of the tree.
--
---@source UnityEngine.TerrainModule.dll
---@field position UnityEngine.Vector3
--
--Width scale of this instance (compared to the prototype's size).
--
---@source UnityEngine.TerrainModule.dll
---@field widthScale float
--
--Height scale of this instance (compared to the prototype's size).
--
---@source UnityEngine.TerrainModule.dll
---@field heightScale float
--
--Read-only.
--
--Rotation of the tree on X-Z plane (in radians).
--
---@source UnityEngine.TerrainModule.dll
---@field rotation float
--
--Color of this instance.
--
---@source UnityEngine.TerrainModule.dll
---@field color UnityEngine.Color32
--
--Lightmap color calculated for this instance.
--
---@source UnityEngine.TerrainModule.dll
---@field lightmapColor UnityEngine.Color32
--
--Index of this instance in the TerrainData.treePrototypes array.
--
---@source UnityEngine.TerrainModule.dll
---@field prototypeIndex int
---@source UnityEngine.TerrainModule.dll
CS.UnityEngine.TreeInstance = {}


--
--Whether collider information is available when using the ParticleSystem::GetTriggerParticles method.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemColliderQueryMode: System.Enum
--
--ParticleSystem::GetTriggerParticles does not return any information about which colliders each particle is interacting with.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Disabled UnityEngine.ParticleSystemColliderQueryMode
--
--ParticleSystem::GetTriggerParticles may only return one collider that each particle is interacting with.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field One UnityEngine.ParticleSystemColliderQueryMode
--
--ParticleSystem::GetTriggerParticles returns all colliders that each particle is interacting with.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field All UnityEngine.ParticleSystemColliderQueryMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemColliderQueryMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemColliderQueryMode
function CS.UnityEngine.ParticleSystemColliderQueryMode:__CastFrom(value) end


--
--Structure containing minimum and maximum terrain patch height values.
--
---@source UnityEngine.TerrainModule.dll
---@class UnityEngine.PatchExtents: System.ValueType
--
--Minimum height of a terrain patch.
--
---@source UnityEngine.TerrainModule.dll
---@field min float
--
--Maximum height of a terrain patch.
--
---@source UnityEngine.TerrainModule.dll
---@field max float
---@source UnityEngine.TerrainModule.dll
CS.UnityEngine.PatchExtents = {}


--
--The space to simulate particles in.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemSimulationSpace: System.Enum
--
--Simulate particles in local space.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Local UnityEngine.ParticleSystemSimulationSpace
--
--Simulate particles in world space.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field World UnityEngine.ParticleSystemSimulationSpace
--
--Simulate particles relative to a custom transform component, defined by ParticleSystem.MainModule.customSimulationSpace.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Custom UnityEngine.ParticleSystemSimulationSpace
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemSimulationSpace = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemSimulationSpace
function CS.UnityEngine.ParticleSystemSimulationSpace:__CastFrom(value) end


--
--Controls what Terrain heightmap data to synchronize when there are changes to the heightmap texture.
--
---@source UnityEngine.TerrainModule.dll
---@class UnityEngine.TerrainHeightmapSyncControl: System.Enum
--
--Does not synchronize the height data nor the LOD data.
--
---@source UnityEngine.TerrainModule.dll
---@field None UnityEngine.TerrainHeightmapSyncControl
--
--Synchronizes only height data of the heightmap texture from the GPU back to CPU memory.
--
---@source UnityEngine.TerrainModule.dll
---@field HeightOnly UnityEngine.TerrainHeightmapSyncControl
--
--Synchronizes height data of the heightmap texture from the GPU back to CPU memory. Then computes LOD data, used for determining the tessellation level, from the height data.
--
---@source UnityEngine.TerrainModule.dll
---@field HeightAndLod UnityEngine.TerrainHeightmapSyncControl
---@source UnityEngine.TerrainModule.dll
CS.UnityEngine.TerrainHeightmapSyncControl = {}

---@source 
---@param value any
---@return UnityEngine.TerrainHeightmapSyncControl
function CS.UnityEngine.TerrainHeightmapSyncControl:__CastFrom(value) end


--
--The behavior to apply when calling ParticleSystem.Stop|Stop.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemStopBehavior: System.Enum
--
--Stops Particle System emitting and removes all existing emitted particles.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field StopEmittingAndClear UnityEngine.ParticleSystemStopBehavior
--
--Stops Particle System emitting any further particles. All existing particles will remain until they expire.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field StopEmitting UnityEngine.ParticleSystemStopBehavior
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemStopBehavior = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemStopBehavior
function CS.UnityEngine.ParticleSystemStopBehavior:__CastFrom(value) end


--
--The TerrainData class stores heightmaps, detail mesh positions, tree instances, and terrain texture alpha maps.
--
---@source UnityEngine.TerrainModule.dll
---@class UnityEngine.TerrainData: UnityEngine.Object
--
--Width of the terrain in samples (Read Only).
--
---@source UnityEngine.TerrainModule.dll
---@field heightmapWidth int
--
--Height of the terrain in samples (Read Only).
--
---@source UnityEngine.TerrainModule.dll
---@field heightmapHeight int
--
--Returns the heightmap texture.
--
---@source UnityEngine.TerrainModule.dll
---@field heightmapTexture UnityEngine.RenderTexture
--
--The size of the heightmap in texels for either the width or the height.
--
---@source UnityEngine.TerrainModule.dll
---@field heightmapResolution int
--
--Returns a Vector3 where the x and z components are the size of each heightmap sample (i.e. the space between two neighboring heightmap samples), and the y component is the entire Terrain's height range in world space.
--
---@source UnityEngine.TerrainModule.dll
---@field heightmapScale UnityEngine.Vector3
--
--Returns the Terrain holes Texture.
--
---@source UnityEngine.TerrainModule.dll
---@field holesTexture UnityEngine.Texture
--
--Enable the Terrain holes Texture compression.
--
---@source UnityEngine.TerrainModule.dll
---@field enableHolesTextureCompression bool
--
--Returns the Terrain holes resolution for both the data and the Texture.
--
---@source UnityEngine.TerrainModule.dll
---@field holesResolution int
--
--The total size in world units of the terrain.
--
---@source UnityEngine.TerrainModule.dll
---@field size UnityEngine.Vector3
--
--The local bounding box of the TerrainData object.
--
---@source UnityEngine.TerrainModule.dll
---@field bounds UnityEngine.Bounds
--
--The thickness of the terrain used for collision detection.
--
---@source UnityEngine.TerrainModule.dll
---@field thickness float
--
--Strength of the waving grass in the terrain.
--
---@source UnityEngine.TerrainModule.dll
---@field wavingGrassStrength float
--
--Amount of waving grass in the terrain.
--
---@source UnityEngine.TerrainModule.dll
---@field wavingGrassAmount float
--
--Speed of the waving grass.
--
---@source UnityEngine.TerrainModule.dll
---@field wavingGrassSpeed float
--
--Color of the waving grass that the terrain has.
--
---@source UnityEngine.TerrainModule.dll
---@field wavingGrassTint UnityEngine.Color
--
--The resolution of the detail data stored in TerrainData.
--
---@source UnityEngine.TerrainModule.dll
---@field detailWidth int
--
--The resolution of the detail data stored in TerrainData.
--
---@source UnityEngine.TerrainModule.dll
---@field detailHeight int
--
--The number of patches along a terrain tile edge. This is squared to make a grid of patches.
--
---@source UnityEngine.TerrainModule.dll
---@field detailPatchCount int
--
--Detail Resolution of the TerrainData.
--
---@source UnityEngine.TerrainModule.dll
---@field detailResolution int
--
--Detail Resolution of each patch. A larger value will decrease the number of batches used by detail objects.
--
---@source UnityEngine.TerrainModule.dll
---@field detailResolutionPerPatch int
--
--Contains the detail texture/meshes that the Terrain has.
--
---@source UnityEngine.TerrainModule.dll
---@field detailPrototypes UnityEngine.DetailPrototype[]
--
--Contains the current trees placed in the terrain.
--
---@source UnityEngine.TerrainModule.dll
---@field treeInstances UnityEngine.TreeInstance[]
--
--Returns the number of tree instances.
--
---@source UnityEngine.TerrainModule.dll
---@field treeInstanceCount int
--
--The list of tree prototypes this are the ones available in the inspector.
--
---@source UnityEngine.TerrainModule.dll
---@field treePrototypes UnityEngine.TreePrototype[]
--
--Number of alpha map layers.
--
---@source UnityEngine.TerrainModule.dll
---@field alphamapLayers int
--
--The size of the alpha map in texels for either the width or the height.
--
---@source UnityEngine.TerrainModule.dll
---@field alphamapResolution int
--
--Width of the alpha map.
--
---@source UnityEngine.TerrainModule.dll
---@field alphamapWidth int
--
--Height of the alpha map. (Read only.)
--
---@source UnityEngine.TerrainModule.dll
---@field alphamapHeight int
--
--Resolution of the base map used for rendering far patches on the terrain.
--
---@source UnityEngine.TerrainModule.dll
---@field baseMapResolution int
--
--Returns the number of alphamap textures.
--
---@source UnityEngine.TerrainModule.dll
---@field alphamapTextureCount int
--
--Alpha map textures used by the Terrain. Used by Terrain Inspector for undo.
--
---@source UnityEngine.TerrainModule.dll
---@field alphamapTextures UnityEngine.Texture2D[]
--
--Splat texture used by the terrain.
--
---@source UnityEngine.TerrainModule.dll
---@field splatPrototypes UnityEngine.SplatPrototype[]
--
--Retrieves the terrain layers used by the current terrain.
--
---@source UnityEngine.TerrainModule.dll
---@field terrainLayers UnityEngine.TerrainLayer[]
--
--The name for the Terrain alpha map textures.
--
---@source UnityEngine.TerrainModule.dll
---@field AlphamapTextureName string
--
--The name for the Terrain holes Texture.
--
---@source UnityEngine.TerrainModule.dll
---@field HolesTextureName string
---@source UnityEngine.TerrainModule.dll
CS.UnityEngine.TerrainData = {}

--
--Triggers an update to integrate modifications done to the heightmap outside of unity.
--
--```plaintext
--Params: x - Start X position of the dirty heightmap region.
--        y - Start Y position of the dirty heightmap region.
--        width - Width of the the dirty heightmap region.
--        height - Width of the the dirty heightmap region.
--        syncHeightmapTextureImmediately - Update immediately, instead of deferring the update.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param x int
---@param y int
---@param width int
---@param height int
---@param syncHeightmapTextureImmediately bool
function CS.UnityEngine.TerrainData.UpdateDirtyRegion(x, y, width, height, syncHeightmapTextureImmediately) end

--
--Gets the world space height of the Terrain at a certain point x,y without adding the Terrain's world position y.
--
---@source UnityEngine.TerrainModule.dll
---@param x int
---@param y int
---@return Single
function CS.UnityEngine.TerrainData.GetHeight(x, y) end

--
--Gets an interpolated height at a point x,y. The x and y coordinates are clamped to [0, 1].
--
--```plaintext
--Params: x - X coordinate of the point in the range of [0, 1].
--        y - Y coordinate of the point in the range of [0, 1].
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param x float
---@param y float
---@return Single
function CS.UnityEngine.TerrainData.GetInterpolatedHeight(x, y) end

--
--Gets an array of terrain height values using the normalized x,y coordinates.
--
--```plaintext
--Params: xBase - The base x coordinate.
--        yBase - The base y coordinate.
--        xCount - The number of queries along the X axis.
--        yCount - The number of queries along the Y axis.
--        xInterval - The interval between each query along the X axis.
--        yInterval - The interval between each query along the Y axis.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param xBase float
---@param yBase float
---@param xCount int
---@param yCount int
---@param xInterval float
---@param yInterval float
function CS.UnityEngine.TerrainData.GetInterpolatedHeights(xBase, yBase, xCount, yCount, xInterval, yInterval) end

---@source UnityEngine.TerrainModule.dll
---@param results float[*,*]
---@param resultXOffset int
---@param resultYOffset int
---@param xBase float
---@param yBase float
---@param xCount int
---@param yCount int
---@param xInterval float
---@param yInterval float
function CS.UnityEngine.TerrainData.GetInterpolatedHeights(results, resultXOffset, resultYOffset, xBase, yBase, xCount, yCount, xInterval, yInterval) end

--
--Gets an array of heightmap samples.
--
--```plaintext
--Params: xBase - First index of heightmap samples to retrieve along the Terrain's x axis.
--        yBase - First index of heightmap samples to retrieve along the Terrain's z axis.
--        width - Number of samples to retrieve along the Terrain's x axis.
--        height - Number of samples to retrieve along the Terrain's z axis.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param xBase int
---@param yBase int
---@param width int
---@param height int
function CS.UnityEngine.TerrainData.GetHeights(xBase, yBase, width, height) end

---@source UnityEngine.TerrainModule.dll
---@param xBase int
---@param yBase int
---@param heights float[*,*]
function CS.UnityEngine.TerrainData.SetHeights(xBase, yBase, heights) end

--
--Minimum and maximum height values for each patch.
--
---@source UnityEngine.TerrainModule.dll
function CS.UnityEngine.TerrainData.GetPatchMinMaxHeights() end

--
--Override the minimum and maximum patch heights for every renderable terrain patch.  Note that the overriden values get reset when the terrain resolution is changed and stays unchanged when the terrain heightmap is painted or changed via script.
--
--```plaintext
--Params: minMaxHeights - Array of minimum and maximum terrain patch height values.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param minMaxHeights UnityEngine.PatchExtents[]
function CS.UnityEngine.TerrainData.OverrideMinMaxPatchHeights(minMaxHeights) end

--
--Float array of maximum height error values.
--
---@source UnityEngine.TerrainModule.dll
function CS.UnityEngine.TerrainData.GetMaximumHeightError() end

--
--Override the maximum tessellation height error with user provided values.  Note that the overriden values get reset when the terrain resolution is changed and stays unchanged when the terrain heightmap is painted or changed via script.
--
--```plaintext
--Params: maxError - Provided maximum height error values.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param maxError float[]
function CS.UnityEngine.TerrainData.OverrideMaximumHeightError(maxError) end

---@source UnityEngine.TerrainModule.dll
---@param xBase int
---@param yBase int
---@param heights float[*,*]
function CS.UnityEngine.TerrainData.SetHeightsDelayLOD(xBase, yBase, heights) end

--
--Gets whether a certain point at x,y is a hole.
--
---@source UnityEngine.TerrainModule.dll
---@param x int
---@param y int
---@return Boolean
function CS.UnityEngine.TerrainData.IsHole(x, y) end

--
--Gets an array of Terrain holes samples.
--
--```plaintext
--Params: xBase - First x index of Terrain holes samples to retrieve.
--        yBase - First y index of Terrain holes samples to retrieve.
--        width - Number of samples to retrieve along the Terrain holes x axis.
--        height - Number of samples to retrieve along the Terrain holes y axis.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param xBase int
---@param yBase int
---@param width int
---@param height int
function CS.UnityEngine.TerrainData.GetHoles(xBase, yBase, width, height) end

---@source UnityEngine.TerrainModule.dll
---@param xBase int
---@param yBase int
---@param holes bool[*,*]
function CS.UnityEngine.TerrainData.SetHoles(xBase, yBase, holes) end

---@source UnityEngine.TerrainModule.dll
---@param xBase int
---@param yBase int
---@param holes bool[*,*]
function CS.UnityEngine.TerrainData.SetHolesDelayLOD(xBase, yBase, holes) end

--
--Gets the gradient of the terrain at point (x,y).
--
---@source UnityEngine.TerrainModule.dll
---@param x float
---@param y float
---@return Single
function CS.UnityEngine.TerrainData.GetSteepness(x, y) end

--
--Get an interpolated normal at a given location.
--
---@source UnityEngine.TerrainModule.dll
---@param x float
---@param y float
---@return Vector3
function CS.UnityEngine.TerrainData.GetInterpolatedNormal(x, y) end

--
--Sets the resolution of the detail map.
--
--```plaintext
--Params: detailResolution - Specifies the number of pixels in the detail resolution map. A larger detailResolution, leads to more accurate detail object painting.
--        resolutionPerPatch - Specifies the size in pixels of each individually rendered detail patch. A larger number reduces draw calls, but might increase triangle count since detail patches are culled on a per batch basis. A recommended value is 16. If you use a very large detail object distance and your grass is very sparse, it makes sense to increase the value.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param detailResolution int
---@param resolutionPerPatch int
function CS.UnityEngine.TerrainData.SetDetailResolution(detailResolution, resolutionPerPatch) end

--
--Reloads all the values of the available prototypes (ie, detail mesh assets) in the TerrainData Object.
--
---@source UnityEngine.TerrainModule.dll
function CS.UnityEngine.TerrainData.RefreshPrototypes() end

--
--Returns an array of all supported detail layer indices in the area.
--
---@source UnityEngine.TerrainModule.dll
---@param xBase int
---@param yBase int
---@param totalWidth int
---@param totalHeight int
function CS.UnityEngine.TerrainData.GetSupportedLayers(xBase, yBase, totalWidth, totalHeight) end

--
--Returns a 2D array of the detail object density (i.e. the number of detail objects for this layer) in the specific location.
--
--```plaintext
--Params: xBase - First x index of detail object density data to retrieve.
--        yBase - First y index of detail object density data to retrieve.
--        width - The amount of detail object density data to retrieve along the Terrain's x axis.
--        height - The amount of detail object density data to retrieve along the Terrain's z axis.
--        layer - The index of the detail in the TerrainData.detailPrototypes array.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param xBase int
---@param yBase int
---@param width int
---@param height int
---@param layer int
function CS.UnityEngine.TerrainData.GetDetailLayer(xBase, yBase, width, height, layer) end

---@source UnityEngine.TerrainModule.dll
---@param xBase int
---@param yBase int
---@param layer int
---@param details int[*,*]
function CS.UnityEngine.TerrainData.SetDetailLayer(xBase, yBase, layer, details) end

--
--Returns an array of detail patches, which are each identified by X-Z coordinates. Detail objects in the patches are clamped to the maximum count.
--
--```plaintext
--Params: density - The detail density value. See Terrain.detailObjectDensity.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param density float
function CS.UnityEngine.TerrainData.GetClampedDetailPatches(density) end

--
--Sets the Tree Instance array, and optionally snaps Trees onto the surface of the Terrain heightmap.
--
--```plaintext
--Params: instances - The array of TreeInstance objects.
--        snapToHeightmap - Specifies whether to snap Trees to the Terrain heightmap.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param instances UnityEngine.TreeInstance[]
---@param snapToHeightmap bool
function CS.UnityEngine.TerrainData.SetTreeInstances(instances, snapToHeightmap) end

--
--Gets the tree instance at the specified index. It is used as a faster version of treeInstances[index] as this function doesn't create the entire tree instances array.
--
--```plaintext
--Params: index - The index of the tree instance.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param index int
---@return TreeInstance
function CS.UnityEngine.TerrainData.GetTreeInstance(index) end

--
--Sets the tree instance with new parameters at the specified index. However, you cannot change TreeInstance.prototypeIndex and TreeInstance.position. If you change them, the method throws an ArgumentException.
--
--```plaintext
--Params: index - The index of the tree instance.
--        instance - The new TreeInstance value.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param index int
---@param instance UnityEngine.TreeInstance
function CS.UnityEngine.TerrainData.SetTreeInstance(index, instance) end

--
--A 3D array of floats, where the 3rd dimension represents the mixing weight of each splatmap at each x,y coordinate.
--
--```plaintext
--Params: x - The x offset to read from.
--        y - The y offset to read from.
--        width - The width of the alpha map area to read.
--        height - The height of the alpha map area to read.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param x int
---@param y int
---@param width int
---@param height int
function CS.UnityEngine.TerrainData.GetAlphamaps(x, y, width, height) end

---@source UnityEngine.TerrainModule.dll
---@param x int
---@param y int
---@param map float[*,*,*]
function CS.UnityEngine.TerrainData.SetAlphamaps(x, y, map) end

--
--Marks the terrain data as dirty to trigger an update of the terrain basemap texture.
--
---@source UnityEngine.TerrainModule.dll
function CS.UnityEngine.TerrainData.SetBaseMapDirty() end

--
--Alphamap texture at the specified index.
--
--```plaintext
--Params: index - Index of the alphamap.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param index int
---@return Texture2D
function CS.UnityEngine.TerrainData.GetAlphamapTexture(index) end

--
--This function sets the terrainLayers property, and in addition, registers the action to the Editor's undo stack.
--
--```plaintext
--Params: terrainLayers - The Terrain Layer assets to set.
--        undoName - The name of the Editor's undo action.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param terrainLayers UnityEngine.TerrainLayer[]
---@param undoName string
function CS.UnityEngine.TerrainData.SetTerrainLayersRegisterUndo(terrainLayers, undoName) end

--
--Performs synchronization queued by previous calls to CopyActiveRenderTextureToHeightmap and DirtyHeightmapRegion, which makes the height data and LOD data used for tessellation up to date.
--
---@source UnityEngine.TerrainModule.dll
function CS.UnityEngine.TerrainData.SyncHeightmap() end

--
--Copies the specified part of the active RenderTexture to the Terrain heightmap texture.
--
--```plaintext
--Params: sourceRect - The part of the active Render Texture to copy.
--        dest - The X and Y coordinates of the heightmap texture to copy into.
--        syncControl - Controls how CPU synchronization is performed.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param sourceRect UnityEngine.RectInt
---@param dest UnityEngine.Vector2Int
---@param syncControl UnityEngine.TerrainHeightmapSyncControl
function CS.UnityEngine.TerrainData.CopyActiveRenderTextureToHeightmap(sourceRect, dest, syncControl) end

--
--Marks the specified part of the heightmap as dirty.
--
--```plaintext
--Params: region - The rectangular region to mark as dirty.
--        syncControl - Controls how CPU synchronization is performed.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param region UnityEngine.RectInt
---@param syncControl UnityEngine.TerrainHeightmapSyncControl
function CS.UnityEngine.TerrainData.DirtyHeightmapRegion(region, syncControl) end

--
--Copies the specified part of the active RenderTexture to the Terrain texture.
--
--```plaintext
--Params: textureName - The name of the Terrain texture to copy into.
--        textureIndex - The index of the Terrain texture to copy into.
--        sourceRect - The part of the active Render Texture to copy.
--        dest - The X and Y coordinates of the Terrain texture to copy into.
--        allowDelayedCPUSync - Specifies whether to allow delayed CPU synchronization of the texture.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param textureName string
---@param textureIndex int
---@param sourceRect UnityEngine.RectInt
---@param dest UnityEngine.Vector2Int
---@param allowDelayedCPUSync bool
function CS.UnityEngine.TerrainData.CopyActiveRenderTextureToTexture(textureName, textureIndex, sourceRect, dest, allowDelayedCPUSync) end

--
--Marks the specified part of the Terrain texture as dirty.
--
--```plaintext
--Params: textureName - The name of the Terrain texture.
--        region - The rectangular region to mark as dirty.
--        allowDelayedCPUSync - Specifies whether to allow delayed CPU synchronization of the texture.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param textureName string
---@param region UnityEngine.RectInt
---@param allowDelayedCPUSync bool
function CS.UnityEngine.TerrainData.DirtyTextureRegion(textureName, region, allowDelayedCPUSync) end

--
--Performs synchronization queued by previous calls to CopyActiveRenderTextureToTexture and DirtyTextureRegion, which makes CPU data of the Terrain textures up to date.
--
--```plaintext
--Params: textureName - The name of the Terrain texture to synchronize.
--        
--```
--
---@source UnityEngine.TerrainModule.dll
---@param textureName string
function CS.UnityEngine.TerrainData.SyncTexture(textureName) end


--
--Control how particle systems apply transform scale.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemScalingMode: System.Enum
--
--Scale the Particle System using the entire transform hierarchy.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Hierarchy UnityEngine.ParticleSystemScalingMode
--
--Scale the Particle System using only its own transform scale. (Ignores parent scale).
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Local UnityEngine.ParticleSystemScalingMode
--
--Only apply transform scale to the shape component, which controls where
--        particles are spawned, but does not affect their size or movement.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Shape UnityEngine.ParticleSystemScalingMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemScalingMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemScalingMode
function CS.UnityEngine.ParticleSystemScalingMode:__CastFrom(value) end


--
--The action to perform when the Particle System stops.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemStopAction: System.Enum
--
--Do nothing.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field None UnityEngine.ParticleSystemStopAction
--
--Disable the GameObject containing the Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Disable UnityEngine.ParticleSystemStopAction
--
--Destroy the GameObject containing the Particle System.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Destroy UnityEngine.ParticleSystemStopAction
--
--Call OnParticleSystemStopped on the ParticleSystem script.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Callback UnityEngine.ParticleSystemStopAction
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemStopAction = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemStopAction
function CS.UnityEngine.ParticleSystemStopAction:__CastFrom(value) end


--
--The action to perform when the Particle System is offscreen.
--
---@source UnityEngine.ParticleSystemModule.dll
---@class UnityEngine.ParticleSystemCullingMode: System.Enum
--
--For looping effects, the simulation is paused when offscreen, and for one-shot effects, the simulation will continue playing.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Automatic UnityEngine.ParticleSystemCullingMode
--
--Pause the Particle System simulation when it is offscreen, and perform an extra simulation when the system comes back onscreen, creating the impression that it was never paused.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field PauseAndCatchup UnityEngine.ParticleSystemCullingMode
--
--Pause the Particle System simulation when it is offscreen.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field Pause UnityEngine.ParticleSystemCullingMode
--
--Continue simulating the Particle System when it is offscreen.
--
---@source UnityEngine.ParticleSystemModule.dll
---@field AlwaysSimulate UnityEngine.ParticleSystemCullingMode
---@source UnityEngine.ParticleSystemModule.dll
CS.UnityEngine.ParticleSystemCullingMode = {}

---@source 
---@param value any
---@return UnityEngine.ParticleSystemCullingMode
function CS.UnityEngine.ParticleSystemCullingMode:__CastFrom(value) end


--
--RenderMode for the Canvas.
--
---@source UnityEngine.UIModule.dll
---@class UnityEngine.RenderMode: System.Enum
--
--Render at the end of the Scene using a 2D Canvas.
--
---@source UnityEngine.UIModule.dll
---@field ScreenSpaceOverlay UnityEngine.RenderMode
--
--Render using the Camera configured on the Canvas.
--
---@source UnityEngine.UIModule.dll
---@field ScreenSpaceCamera UnityEngine.RenderMode
--
--Render using any Camera in the Scene that can render the layer.
--
---@source UnityEngine.UIModule.dll
---@field WorldSpace UnityEngine.RenderMode
---@source UnityEngine.UIModule.dll
CS.UnityEngine.RenderMode = {}

---@source 
---@param value any
---@return UnityEngine.RenderMode
function CS.UnityEngine.RenderMode:__CastFrom(value) end


--
--Description of a terrain layer.
--
---@source UnityEngine.TerrainModule.dll
---@class UnityEngine.TerrainLayer: UnityEngine.Object
--
--The diffuse texture used by the terrain layer.
--
---@source UnityEngine.TerrainModule.dll
---@field diffuseTexture UnityEngine.Texture2D
--
--Normal map texture used by the terrain layer.
--
---@source UnityEngine.TerrainModule.dll
---@field normalMapTexture UnityEngine.Texture2D
--
--The mask map texture used by the terrain layer.
--
---@source UnityEngine.TerrainModule.dll
---@field maskMapTexture UnityEngine.Texture2D
--
--UV Tiling size.
--
---@source UnityEngine.TerrainModule.dll
---@field tileSize UnityEngine.Vector2
--
--UV tiling offset.
--
---@source UnityEngine.TerrainModule.dll
---@field tileOffset UnityEngine.Vector2
--
--Specular color.
--
---@source UnityEngine.TerrainModule.dll
---@field specular UnityEngine.Color
--
--Metallic factor used by the terrain layer.
--
---@source UnityEngine.TerrainModule.dll
---@field metallic float
--
--Smoothness of the specular reflection.
--
---@source UnityEngine.TerrainModule.dll
---@field smoothness float
--
--A float value that scales the normal vector. The minimum value is 0, the maximum value is 1.
--
---@source UnityEngine.TerrainModule.dll
---@field normalScale float
--
--A Vector4 value specifying the minimum RGBA value that the diffuse texture maps to when the value of the channel is 0.
--
---@source UnityEngine.TerrainModule.dll
---@field diffuseRemapMin UnityEngine.Vector4
--
--A Vector4 value specifying the maximum RGBA value that the diffuse texture maps to when the value of the channel is 1.
--
---@source UnityEngine.TerrainModule.dll
---@field diffuseRemapMax UnityEngine.Vector4
--
--A Vector4 value specifying the minimum RGBA value that the mask map texture maps to when the value of the channel is 0.
--
---@source UnityEngine.TerrainModule.dll
---@field maskMapRemapMin UnityEngine.Vector4
--
--A Vector4 value specifying the maximum RGBA value that the mask map texture maps to when the value of the channel is 1.
--
---@source UnityEngine.TerrainModule.dll
---@field maskMapRemapMax UnityEngine.Vector4
---@source UnityEngine.TerrainModule.dll
CS.UnityEngine.TerrainLayer = {}


--
--A heightmap based collider.
--
---@source UnityEngine.TerrainPhysicsModule.dll
---@class UnityEngine.TerrainCollider: UnityEngine.Collider
--
--The terrain that stores the heightmap.
--
---@source UnityEngine.TerrainPhysicsModule.dll
---@field terrainData UnityEngine.TerrainData
---@source UnityEngine.TerrainPhysicsModule.dll
CS.UnityEngine.TerrainCollider = {}


--
--Font Style applied to GUI Texts, Text Meshes or GUIStyles.
--
---@source UnityEngine.TextRenderingModule.dll
---@class UnityEngine.FontStyle: System.Enum
--
--No special style is applied.
--
---@source UnityEngine.TextRenderingModule.dll
---@field Normal UnityEngine.FontStyle
--
--Bold style applied to your texts.
--
---@source UnityEngine.TextRenderingModule.dll
---@field Bold UnityEngine.FontStyle
--
--Italic style applied to your texts.
--
---@source UnityEngine.TextRenderingModule.dll
---@field Italic UnityEngine.FontStyle
--
--Bold and Italic styles applied to your texts.
--
---@source UnityEngine.TextRenderingModule.dll
---@field BoldAndItalic UnityEngine.FontStyle
---@source UnityEngine.TextRenderingModule.dll
CS.UnityEngine.FontStyle = {}

---@source 
---@param value any
---@return UnityEngine.FontStyle
function CS.UnityEngine.FontStyle:__CastFrom(value) end


--
--A struct that stores the settings for TextGeneration.
--
---@source UnityEngine.TextRenderingModule.dll
---@class UnityEngine.TextGenerationSettings: System.ValueType
--
--Font to use for generation.
--
---@source UnityEngine.TextRenderingModule.dll
---@field font UnityEngine.Font
--
--The base color for the text generation.
--
---@source UnityEngine.TextRenderingModule.dll
---@field color UnityEngine.Color
--
--Font size.
--
---@source UnityEngine.TextRenderingModule.dll
---@field fontSize int
--
--The line spacing multiplier.
--
---@source UnityEngine.TextRenderingModule.dll
---@field lineSpacing float
--
--Allow rich text markup in generation.
--
---@source UnityEngine.TextRenderingModule.dll
---@field richText bool
--
--A scale factor for the text. This is useful if the Text is on a Canvas and the canvas is scaled.
--
---@source UnityEngine.TextRenderingModule.dll
---@field scaleFactor float
--
--Font style.
--
---@source UnityEngine.TextRenderingModule.dll
---@field fontStyle UnityEngine.FontStyle
--
--How is the generated text anchored.
--
---@source UnityEngine.TextRenderingModule.dll
---@field textAnchor UnityEngine.TextAnchor
--
--Use the extents of glyph geometry to perform horizontal alignment rather than glyph metrics.
--
---@source UnityEngine.TextRenderingModule.dll
---@field alignByGeometry bool
--
--Should the text be resized to fit the configured bounds?
--
---@source UnityEngine.TextRenderingModule.dll
---@field resizeTextForBestFit bool
--
--Minimum size for resized text.
--
---@source UnityEngine.TextRenderingModule.dll
---@field resizeTextMinSize int
--
--Maximum size for resized text.
--
---@source UnityEngine.TextRenderingModule.dll
---@field resizeTextMaxSize int
--
--Should the text generator update the bounds from the generated text.
--
---@source UnityEngine.TextRenderingModule.dll
---@field updateBounds bool
--
--What happens to text when it reaches the bottom generation bounds.
--
---@source UnityEngine.TextRenderingModule.dll
---@field verticalOverflow UnityEngine.VerticalWrapMode
--
--What happens to text when it reaches the horizontal generation bounds.
--
---@source UnityEngine.TextRenderingModule.dll
---@field horizontalOverflow UnityEngine.HorizontalWrapMode
--
--Extents that the generator will attempt to fit the text in.
--
---@source UnityEngine.TextRenderingModule.dll
---@field generationExtents UnityEngine.Vector2
--
--Generated vertices are offset by the pivot.
--
---@source UnityEngine.TextRenderingModule.dll
---@field pivot UnityEngine.Vector2
--
--Continue to generate characters even if the text runs out of bounds.
--
---@source UnityEngine.TextRenderingModule.dll
---@field generateOutOfBounds bool
---@source UnityEngine.TextRenderingModule.dll
CS.UnityEngine.TextGenerationSettings = {}

---@source UnityEngine.TextRenderingModule.dll
---@param other UnityEngine.TextGenerationSettings
---@return Boolean
function CS.UnityEngine.TextGenerationSettings.Equals(other) end


--
--How multiline text should be aligned.
--
---@source UnityEngine.TextRenderingModule.dll
---@class UnityEngine.TextAlignment: System.Enum
--
--Text lines are aligned on the left side.
--
---@source UnityEngine.TextRenderingModule.dll
---@field Left UnityEngine.TextAlignment
--
--Text lines are centered.
--
---@source UnityEngine.TextRenderingModule.dll
---@field Center UnityEngine.TextAlignment
--
--Text lines are aligned on the right side.
--
---@source UnityEngine.TextRenderingModule.dll
---@field Right UnityEngine.TextAlignment
---@source UnityEngine.TextRenderingModule.dll
CS.UnityEngine.TextAlignment = {}

---@source 
---@param value any
---@return UnityEngine.TextAlignment
function CS.UnityEngine.TextAlignment:__CastFrom(value) end


--
--Where the anchor of the text is placed.
--
---@source UnityEngine.TextRenderingModule.dll
---@class UnityEngine.TextAnchor: System.Enum
--
--Text is anchored in upper left corner.
--
---@source UnityEngine.TextRenderingModule.dll
---@field UpperLeft UnityEngine.TextAnchor
--
--Text is anchored in upper side, centered horizontally.
--
---@source UnityEngine.TextRenderingModule.dll
---@field UpperCenter UnityEngine.TextAnchor
--
--Text is anchored in upper right corner.
--
---@source UnityEngine.TextRenderingModule.dll
---@field UpperRight UnityEngine.TextAnchor
--
--Text is anchored in left side, centered vertically.
--
---@source UnityEngine.TextRenderingModule.dll
---@field MiddleLeft UnityEngine.TextAnchor
--
--Text is centered both horizontally and vertically.
--
---@source UnityEngine.TextRenderingModule.dll
---@field MiddleCenter UnityEngine.TextAnchor
--
--Text is anchored in right side, centered vertically.
--
---@source UnityEngine.TextRenderingModule.dll
---@field MiddleRight UnityEngine.TextAnchor
--
--Text is anchored in lower left corner.
--
---@source UnityEngine.TextRenderingModule.dll
---@field LowerLeft UnityEngine.TextAnchor
--
--Text is anchored in lower side, centered horizontally.
--
---@source UnityEngine.TextRenderingModule.dll
---@field LowerCenter UnityEngine.TextAnchor
--
--Text is anchored in lower right corner.
--
---@source UnityEngine.TextRenderingModule.dll
---@field LowerRight UnityEngine.TextAnchor
---@source UnityEngine.TextRenderingModule.dll
CS.UnityEngine.TextAnchor = {}

---@source 
---@param value any
---@return UnityEngine.TextAnchor
function CS.UnityEngine.TextAnchor:__CastFrom(value) end


--
--Wrapping modes for text that reaches the horizontal boundary.
--
---@source UnityEngine.TextRenderingModule.dll
---@class UnityEngine.HorizontalWrapMode: System.Enum
--
--Text will word-wrap when reaching the horizontal boundary.
--
---@source UnityEngine.TextRenderingModule.dll
---@field Wrap UnityEngine.HorizontalWrapMode
--
--Text can exceed the horizontal boundary.
--
---@source UnityEngine.TextRenderingModule.dll
---@field Overflow UnityEngine.HorizontalWrapMode
---@source UnityEngine.TextRenderingModule.dll
CS.UnityEngine.HorizontalWrapMode = {}

---@source 
---@param value any
---@return UnityEngine.HorizontalWrapMode
function CS.UnityEngine.HorizontalWrapMode:__CastFrom(value) end


--
--Wrapping modes for text that reaches the vertical boundary.
--
---@source UnityEngine.TextRenderingModule.dll
---@class UnityEngine.VerticalWrapMode: System.Enum
--
--Text will be clipped when reaching the vertical boundary.
--
---@source UnityEngine.TextRenderingModule.dll
---@field Truncate UnityEngine.VerticalWrapMode
--
--Text well continue to generate when reaching vertical boundary.
--
---@source UnityEngine.TextRenderingModule.dll
---@field Overflow UnityEngine.VerticalWrapMode
---@source UnityEngine.TextRenderingModule.dll
CS.UnityEngine.VerticalWrapMode = {}

---@source 
---@param value any
---@return UnityEngine.VerticalWrapMode
function CS.UnityEngine.VerticalWrapMode:__CastFrom(value) end


--
--A script interface for the.
--
---@source UnityEngine.TextRenderingModule.dll
---@class UnityEngine.TextMesh: UnityEngine.Component
--
--The text that is displayed.
--
---@source UnityEngine.TextRenderingModule.dll
---@field text string
--
--The Font used.
--
---@source UnityEngine.TextRenderingModule.dll
---@field font UnityEngine.Font
--
--The font size to use (for dynamic fonts).
--
---@source UnityEngine.TextRenderingModule.dll
---@field fontSize int
--
--The font style to use (for dynamic fonts).
--
---@source UnityEngine.TextRenderingModule.dll
---@field fontStyle UnityEngine.FontStyle
--
--How far should the text be offset from the transform.position.z when drawing.
--
---@source UnityEngine.TextRenderingModule.dll
---@field offsetZ float
--
--How lines of text are aligned (Left, Right, Center).
--
---@source UnityEngine.TextRenderingModule.dll
---@field alignment UnityEngine.TextAlignment
--
--Which point of the text shares the position of the Transform.
--
---@source UnityEngine.TextRenderingModule.dll
---@field anchor UnityEngine.TextAnchor
--
--The size of each character (This scales the whole text).
--
---@source UnityEngine.TextRenderingModule.dll
---@field characterSize float
--
--How much space will be in-between lines of text.
--
---@source UnityEngine.TextRenderingModule.dll
---@field lineSpacing float
--
--How much space will be inserted for a tab '\t' character. This is a multiplum of the 'spacebar' character offset.
--
---@source UnityEngine.TextRenderingModule.dll
---@field tabSize float
--
--Enable HTML-style tags for Text Formatting Markup.
--
---@source UnityEngine.TextRenderingModule.dll
---@field richText bool
--
--The color used to render the text.
--
---@source UnityEngine.TextRenderingModule.dll
---@field color UnityEngine.Color
---@source UnityEngine.TextRenderingModule.dll
CS.UnityEngine.TextMesh = {}


--
--Specification for how to render a character from the font texture. See Font.characterInfo.
--
---@source UnityEngine.TextRenderingModule.dll
---@class UnityEngine.CharacterInfo: System.ValueType
--
--Unicode value of the character.
--
---@source UnityEngine.TextRenderingModule.dll
---@field index int
--
--UV coordinates for the character in the texture.
--
---@source UnityEngine.TextRenderingModule.dll
---@field uv UnityEngine.Rect
--
--Screen coordinates for the character in generated text meshes.
--
---@source UnityEngine.TextRenderingModule.dll
---@field vert UnityEngine.Rect
--
--How far to advance between the beginning of this charcater and the next.
--
---@source UnityEngine.TextRenderingModule.dll
---@field width float
--
--The size of the character or 0 if it is the default font size.
--
---@source UnityEngine.TextRenderingModule.dll
---@field size int
--
--The style of the character.
--
---@source UnityEngine.TextRenderingModule.dll
---@field style UnityEngine.FontStyle
--
--Is the character flipped?
--
---@source UnityEngine.TextRenderingModule.dll
---@field flipped bool
--
--The horizontal distance, rounded to the nearest integer, from the origin of this character to the origin of the next character.
--
---@source UnityEngine.TextRenderingModule.dll
---@field advance int
--
--The width of the glyph image.
--
---@source UnityEngine.TextRenderingModule.dll
---@field glyphWidth int
--
--The height of the glyph image.
--
---@source UnityEngine.TextRenderingModule.dll
---@field glyphHeight int
--
--The horizontal distance from the origin of this glyph to the begining of the glyph image.
--
---@source UnityEngine.TextRenderingModule.dll
---@field bearing int
--
--The minimum extend of the glyph image in the y-axis.
--
---@source UnityEngine.TextRenderingModule.dll
---@field minY int
--
--The maximum extend of the glyph image in the y-axis.
--
---@source UnityEngine.TextRenderingModule.dll
---@field maxY int
--
--The minium extend of the glyph image in the x-axis.
--
---@source UnityEngine.TextRenderingModule.dll
---@field minX int
--
--The maximum extend of the glyph image in the x-axis.
--
---@source UnityEngine.TextRenderingModule.dll
---@field maxX int
--
--The uv coordinate matching the bottom left of the glyph image in the font texture.
--
---@source UnityEngine.TextRenderingModule.dll
---@field uvBottomLeft UnityEngine.Vector2
--
--The uv coordinate matching the bottom right of the glyph image in the font texture.
--
---@source UnityEngine.TextRenderingModule.dll
---@field uvBottomRight UnityEngine.Vector2
--
--The uv coordinate matching the top right of the glyph image in the font texture.
--
---@source UnityEngine.TextRenderingModule.dll
---@field uvTopRight UnityEngine.Vector2
--
--The uv coordinate matching the top left of the glyph image in the font texture.
--
---@source UnityEngine.TextRenderingModule.dll
---@field uvTopLeft UnityEngine.Vector2
---@source UnityEngine.TextRenderingModule.dll
CS.UnityEngine.CharacterInfo = {}


--
--Enum mask of possible shader channel properties that can also be included when the Canvas mesh is created.
--
---@source UnityEngine.UIModule.dll
---@class UnityEngine.AdditionalCanvasShaderChannels: System.Enum
--
--No additional shader parameters are needed.
--
---@source UnityEngine.UIModule.dll
---@field None UnityEngine.AdditionalCanvasShaderChannels
--
--Include UV1 on the mesh vertices.
--
---@source UnityEngine.UIModule.dll
---@field TexCoord1 UnityEngine.AdditionalCanvasShaderChannels
--
--Include UV2 on the mesh vertices.
--
---@source UnityEngine.UIModule.dll
---@field TexCoord2 UnityEngine.AdditionalCanvasShaderChannels
--
--Include UV3 on the mesh vertices.
--
---@source UnityEngine.UIModule.dll
---@field TexCoord3 UnityEngine.AdditionalCanvasShaderChannels
--
--Include the normals on the mesh vertices.
--
---@source UnityEngine.UIModule.dll
---@field Normal UnityEngine.AdditionalCanvasShaderChannels
--
--Include the Tangent on the mesh vertices.
--
---@source UnityEngine.UIModule.dll
---@field Tangent UnityEngine.AdditionalCanvasShaderChannels
---@source UnityEngine.UIModule.dll
CS.UnityEngine.AdditionalCanvasShaderChannels = {}

---@source 
---@param value any
---@return UnityEngine.AdditionalCanvasShaderChannels
function CS.UnityEngine.AdditionalCanvasShaderChannels:__CastFrom(value) end


--
--Class that specifies some information about a renderable character.
--
---@source UnityEngine.TextRenderingModule.dll
---@class UnityEngine.UICharInfo: System.ValueType
--
--Position of the character cursor in local (text generated) space.
--
---@source UnityEngine.TextRenderingModule.dll
---@field cursorPos UnityEngine.Vector2
--
--Character width.
--
---@source UnityEngine.TextRenderingModule.dll
---@field charWidth float
---@source UnityEngine.TextRenderingModule.dll
CS.UnityEngine.UICharInfo = {}


--
--Information about a generated line of text.
--
---@source UnityEngine.TextRenderingModule.dll
---@class UnityEngine.UILineInfo: System.ValueType
--
--Index of the first character in the line.
--
---@source UnityEngine.TextRenderingModule.dll
---@field startCharIdx int
--
--Height of the line.
--
---@source UnityEngine.TextRenderingModule.dll
---@field height int
--
--The upper Y position of the line in pixels. This is used for text annotation such as the caret and selection box in the InputField.
--
---@source UnityEngine.TextRenderingModule.dll
---@field topY float
--
--Space in pixels between this line and the next line.
--
---@source UnityEngine.TextRenderingModule.dll
---@field leading float
---@source UnityEngine.TextRenderingModule.dll
CS.UnityEngine.UILineInfo = {}


--
--Element that can be used for screen rendering.
--
---@source UnityEngine.UIModule.dll
---@class UnityEngine.Canvas: UnityEngine.Behaviour
--
--Is the Canvas in World or Overlay mode?
--
---@source UnityEngine.UIModule.dll
---@field renderMode UnityEngine.RenderMode
--
--Is this the root Canvas?
--
---@source UnityEngine.UIModule.dll
---@field isRootCanvas bool
--
--Get the render rect for the Canvas.
--
---@source UnityEngine.UIModule.dll
---@field pixelRect UnityEngine.Rect
--
--Used to scale the entire canvas, while still making it fit the screen. Only applies with renderMode is Screen Space.
--
---@source UnityEngine.UIModule.dll
---@field scaleFactor float
--
--The number of pixels per unit that is considered the default.
--
---@source UnityEngine.UIModule.dll
---@field referencePixelsPerUnit float
--
--Allows for nested canvases to override pixelPerfect settings inherited from parent canvases.
--
---@source UnityEngine.UIModule.dll
---@field overridePixelPerfect bool
--
--Force elements in the canvas to be aligned with pixels. Only applies with renderMode is Screen Space.
--
---@source UnityEngine.UIModule.dll
---@field pixelPerfect bool
--
--How far away from the camera is the Canvas generated.
--
---@source UnityEngine.UIModule.dll
---@field planeDistance float
--
--The render order in which the canvas is being emitted to the Scene. (Read Only)
--
---@source UnityEngine.UIModule.dll
---@field renderOrder int
--
--Override the sorting of canvas.
--
---@source UnityEngine.UIModule.dll
---@field overrideSorting bool
--
--Canvas' order within a sorting layer.
--
---@source UnityEngine.UIModule.dll
---@field sortingOrder int
--
--For Overlay mode, display index on which the UI canvas will appear.
--
---@source UnityEngine.UIModule.dll
---@field targetDisplay int
--
--Unique ID of the Canvas' sorting layer.
--
---@source UnityEngine.UIModule.dll
---@field sortingLayerID int
--
--Cached calculated value based upon SortingLayerID.
--
---@source UnityEngine.UIModule.dll
---@field cachedSortingLayerValue int
--
--Get or set the mask of additional shader channels to be used when creating the Canvas mesh.
--
---@source UnityEngine.UIModule.dll
---@field additionalShaderChannels UnityEngine.AdditionalCanvasShaderChannels
--
--Name of the Canvas' sorting layer.
--
---@source UnityEngine.UIModule.dll
---@field sortingLayerName string
--
--Returns the Canvas closest to root, by checking through each parent and returning the last canvas found. If no other canvas is found then the canvas will return itself.
--
---@source UnityEngine.UIModule.dll
---@field rootCanvas UnityEngine.Canvas
--
--Returns the canvas display size based on the selected render mode and target display.
--
---@source UnityEngine.UIModule.dll
---@field renderingDisplaySize UnityEngine.Vector2
--
--Camera used for sizing the Canvas when in Screen Space - Camera. Also used as the Camera that events will be sent through for a World Space [[Canvas].
--
---@source UnityEngine.UIModule.dll
---@field worldCamera UnityEngine.Camera
--
--The normalized grid size that the canvas will split the renderable area into.
--
---@source UnityEngine.UIModule.dll
---@field normalizedSortingGridSize float
--
--The normalized grid size that the canvas will split the renderable area into.
--
---@source UnityEngine.UIModule.dll
---@field sortingGridNormalizedSize int
---@source UnityEngine.UIModule.dll
---@field preWillRenderCanvases UnityEngine.Canvas.WillRenderCanvases
---@source UnityEngine.UIModule.dll
---@field willRenderCanvases UnityEngine.Canvas.WillRenderCanvases
---@source UnityEngine.UIModule.dll
CS.UnityEngine.Canvas = {}

---@source UnityEngine.UIModule.dll
---@param value UnityEngine.Canvas.WillRenderCanvases
function CS.UnityEngine.Canvas:add_preWillRenderCanvases(value) end

---@source UnityEngine.UIModule.dll
---@param value UnityEngine.Canvas.WillRenderCanvases
function CS.UnityEngine.Canvas:remove_preWillRenderCanvases(value) end

---@source UnityEngine.UIModule.dll
---@param value UnityEngine.Canvas.WillRenderCanvases
function CS.UnityEngine.Canvas:add_willRenderCanvases(value) end

---@source UnityEngine.UIModule.dll
---@param value UnityEngine.Canvas.WillRenderCanvases
function CS.UnityEngine.Canvas:remove_willRenderCanvases(value) end

--
--Returns the default material that can be used for rendering text elements on the Canvas.
--
---@source UnityEngine.UIModule.dll
---@return Material
function CS.UnityEngine.Canvas:GetDefaultCanvasTextMaterial() end

--
--Returns the default material that can be used for rendering normal elements on the Canvas.
--
---@source UnityEngine.UIModule.dll
---@return Material
function CS.UnityEngine.Canvas:GetDefaultCanvasMaterial() end

--
--The generated ETC1 Material from the Canvas.
--
---@source UnityEngine.UIModule.dll
---@return Material
function CS.UnityEngine.Canvas:GetETC1SupportedCanvasMaterial() end

--
--Force all canvases to update their content.
--
---@source UnityEngine.UIModule.dll
function CS.UnityEngine.Canvas:ForceUpdateCanvases() end


--
--Vertex class used by a Canvas for managing vertices.
--
---@source UnityEngine.TextRenderingModule.dll
---@class UnityEngine.UIVertex: System.ValueType
--
--Vertex position.
--
---@source UnityEngine.TextRenderingModule.dll
---@field position UnityEngine.Vector3
--
--Normal.
--
---@source UnityEngine.TextRenderingModule.dll
---@field normal UnityEngine.Vector3
--
--Tangent.
--
---@source UnityEngine.TextRenderingModule.dll
---@field tangent UnityEngine.Vector4
--
--Vertex color.
--
---@source UnityEngine.TextRenderingModule.dll
---@field color UnityEngine.Color32
--
--The first texture coordinate set of the mesh. Used by UI elements by default.
--
---@source UnityEngine.TextRenderingModule.dll
---@field uv0 UnityEngine.Vector4
--
--The second texture coordinate set of the mesh, if present.
--
---@source UnityEngine.TextRenderingModule.dll
---@field uv1 UnityEngine.Vector4
--
--The Third texture coordinate set of the mesh, if present.
--
---@source UnityEngine.TextRenderingModule.dll
---@field uv2 UnityEngine.Vector4
--
--The forth texture coordinate set of the mesh, if present.
--
---@source UnityEngine.TextRenderingModule.dll
---@field uv3 UnityEngine.Vector4
--
--Simple UIVertex with sensible settings for use in the UI system.
--
---@source UnityEngine.TextRenderingModule.dll
---@field simpleVert UnityEngine.UIVertex
---@source UnityEngine.TextRenderingModule.dll
CS.UnityEngine.UIVertex = {}


--
--Script interface for.
--
---@source UnityEngine.TextRenderingModule.dll
---@class UnityEngine.Font: UnityEngine.Object
--
--The material used for the font display.
--
---@source UnityEngine.TextRenderingModule.dll
---@field material UnityEngine.Material
---@source UnityEngine.TextRenderingModule.dll
---@field fontNames string[]
--
--Is the font a dynamic font.
--
---@source UnityEngine.TextRenderingModule.dll
---@field dynamic bool
--
--The ascent of the font.
--
---@source UnityEngine.TextRenderingModule.dll
---@field ascent int
--
--The default size of the font.
--
---@source UnityEngine.TextRenderingModule.dll
---@field fontSize int
--
--Access an array of all characters contained in the font texture.
--
---@source UnityEngine.TextRenderingModule.dll
---@field characterInfo UnityEngine.CharacterInfo[]
--
--The line height of the font.
--
---@source UnityEngine.TextRenderingModule.dll
---@field lineHeight int
---@source UnityEngine.TextRenderingModule.dll
---@field textureRebuildCallback UnityEngine.Font.FontTextureRebuildCallback
---@source UnityEngine.TextRenderingModule.dll
---@field textureRebuilt System.Action<UnityEngine.Font>
---@source UnityEngine.TextRenderingModule.dll
CS.UnityEngine.Font = {}

---@source UnityEngine.TextRenderingModule.dll
---@param value System.Action<UnityEngine.Font>
function CS.UnityEngine.Font:add_textureRebuilt(value) end

---@source UnityEngine.TextRenderingModule.dll
---@param value System.Action<UnityEngine.Font>
function CS.UnityEngine.Font:remove_textureRebuilt(value) end

--
--The generate Font object.
--
--```plaintext
--Params: fontname - The name of the OS font to use for this font object.
--        size - The default character size of the generated font.
--        fontnames - Am array of names of OS fonts to use for this font object. When rendering characters using this font object, the first font which is installed on the machine, which contains the requested character will be used.
--        
--```
--
---@source UnityEngine.TextRenderingModule.dll
---@param fontname string
---@param size int
---@return Font
function CS.UnityEngine.Font:CreateDynamicFontFromOSFont(fontname, size) end

--
--The generate Font object.
--
--```plaintext
--Params: fontname - The name of the OS font to use for this font object.
--        size - The default character size of the generated font.
--        fontnames - Am array of names of OS fonts to use for this font object. When rendering characters using this font object, the first font which is installed on the machine, which contains the requested character will be used.
--        
--```
--
---@source UnityEngine.TextRenderingModule.dll
---@param fontnames string[]
---@param size int
---@return Font
function CS.UnityEngine.Font:CreateDynamicFontFromOSFont(fontnames, size) end

--
--Returns the maximum number of verts that the text generator may return for a given string.
--
--```plaintext
--Params: str - Input string.
--        
--```
--
---@source UnityEngine.TextRenderingModule.dll
---@param str string
---@return Int32
function CS.UnityEngine.Font:GetMaxVertsForString(str) end

--
--Whether or not the font has the character specified.
--
--```plaintext
--Params: c - The character to check for.
--        
--```
--
---@source UnityEngine.TextRenderingModule.dll
---@param c char
---@return Boolean
function CS.UnityEngine.Font.HasCharacter(c) end

--
--An array of the names of all fonts installed on the machine.
--
---@source UnityEngine.TextRenderingModule.dll
function CS.UnityEngine.Font:GetOSInstalledFontNames() end

--
--An array of the file paths of all fonts installed on the machine.
--
---@source UnityEngine.TextRenderingModule.dll
function CS.UnityEngine.Font:GetPathsToOSFonts() end

---@source UnityEngine.TextRenderingModule.dll
---@param ch char
---@param info UnityEngine.CharacterInfo
---@param size int
---@param style UnityEngine.FontStyle
---@return Boolean
function CS.UnityEngine.Font.GetCharacterInfo(ch, info, size, style) end

---@source UnityEngine.TextRenderingModule.dll
---@param ch char
---@param info UnityEngine.CharacterInfo
---@param size int
---@return Boolean
function CS.UnityEngine.Font.GetCharacterInfo(ch, info, size) end

---@source UnityEngine.TextRenderingModule.dll
---@param ch char
---@param info UnityEngine.CharacterInfo
---@return Boolean
function CS.UnityEngine.Font.GetCharacterInfo(ch, info) end

--
--Request characters to be added to the font texture (dynamic fonts only).
--
--```plaintext
--Params: characters - The characters which are needed to be in the font texture.
--        size - The size of the requested characters (the default value of zero will use the font's default size).
--        style - The style of the requested characters.
--        
--```
--
---@source UnityEngine.TextRenderingModule.dll
---@param characters string
---@param size int
---@param style UnityEngine.FontStyle
function CS.UnityEngine.Font.RequestCharactersInTexture(characters, size, style) end

---@source UnityEngine.TextRenderingModule.dll
---@param characters string
---@param size int
function CS.UnityEngine.Font.RequestCharactersInTexture(characters, size) end

---@source UnityEngine.TextRenderingModule.dll
---@param characters string
function CS.UnityEngine.Font.RequestCharactersInTexture(characters) end


---@source UnityEngine.UIModule.dll
---@class UnityEngine.WillRenderCanvases: System.MulticastDelegate
---@source UnityEngine.UIModule.dll
CS.UnityEngine.WillRenderCanvases = {}

---@source UnityEngine.UIModule.dll
function CS.UnityEngine.WillRenderCanvases.Invoke() end

---@source UnityEngine.UIModule.dll
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.WillRenderCanvases.BeginInvoke(callback, object) end

---@source UnityEngine.UIModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.WillRenderCanvases.EndInvoke(result) end


---@source UnityEngine.UIModule.dll
---@class UnityEngine.UISystemProfilerApi: object
---@source UnityEngine.UIModule.dll
CS.UnityEngine.UISystemProfilerApi = {}

---@source UnityEngine.UIModule.dll
---@param type UnityEngine.UISystemProfilerApi.SampleType
function CS.UnityEngine.UISystemProfilerApi:BeginSample(type) end

---@source UnityEngine.UIModule.dll
---@param type UnityEngine.UISystemProfilerApi.SampleType
function CS.UnityEngine.UISystemProfilerApi:EndSample(type) end

---@source UnityEngine.UIModule.dll
---@param name string
---@param obj UnityEngine.Object
function CS.UnityEngine.UISystemProfilerApi:AddMarker(name, obj) end


---@source UnityEngine.TextRenderingModule.dll
---@class UnityEngine.FontTextureRebuildCallback: System.MulticastDelegate
---@source UnityEngine.TextRenderingModule.dll
CS.UnityEngine.FontTextureRebuildCallback = {}

---@source UnityEngine.TextRenderingModule.dll
function CS.UnityEngine.FontTextureRebuildCallback.Invoke() end

---@source UnityEngine.TextRenderingModule.dll
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.FontTextureRebuildCallback.BeginInvoke(callback, object) end

---@source UnityEngine.TextRenderingModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.FontTextureRebuildCallback.EndInvoke(result) end


--
--Attribute to define the class as a grid brush and to make it available in the palette window.
--
---@source UnityEngine.TilemapModule.dll
---@class UnityEngine.CustomGridBrushAttribute: System.Attribute
--
--Hide all asset instances of this brush in the tile palette window.
--
---@source UnityEngine.TilemapModule.dll
---@field hideAssetInstances bool
--
--Hide the default instance of brush in the tile palette window.
--
---@source UnityEngine.TilemapModule.dll
---@field hideDefaultInstance bool
--
--If set to true, brush will replace Unity built-in brush as the default brush in palette window.
--
--Only one class at any one time should set defaultBrush to true.
--
---@source UnityEngine.TilemapModule.dll
---@field defaultBrush bool
--
--Name of the default instance of this brush.
--
---@source UnityEngine.TilemapModule.dll
---@field defaultName string
---@source UnityEngine.TilemapModule.dll
CS.UnityEngine.CustomGridBrushAttribute = {}


--
--Base class for authoring data on a grid with grid painting tools like paint, erase, pick, select and fill.
--
---@source UnityEngine.TilemapModule.dll
---@class UnityEngine.GridBrushBase: UnityEngine.ScriptableObject
---@source UnityEngine.TilemapModule.dll
CS.UnityEngine.GridBrushBase = {}

--
--Paints data into a grid within the given bounds.
--
--```plaintext
--Params: grid - Grid used for layout.
--        brushTarget - Target of the paint operation. By default the currently selected GameObject.
--        position - The coordinates of the cell to paint data to.
--        
--```
--
---@source UnityEngine.TilemapModule.dll
---@param gridLayout UnityEngine.GridLayout
---@param brushTarget UnityEngine.GameObject
---@param position UnityEngine.Vector3Int
function CS.UnityEngine.GridBrushBase.Paint(gridLayout, brushTarget, position) end

--
--Erases data on a grid within the given bounds.
--
--```plaintext
--Params: grid - Grid used for layout.
--        brushTarget - Target of the erase operation. By default the currently selected GameObject.
--        position - The coordinates of the cell to erase data from.
--        
--```
--
---@source UnityEngine.TilemapModule.dll
---@param gridLayout UnityEngine.GridLayout
---@param brushTarget UnityEngine.GameObject
---@param position UnityEngine.Vector3Int
function CS.UnityEngine.GridBrushBase.Erase(gridLayout, brushTarget, position) end

--
--Box fills tiles and GameObjects into given bounds within the selected layers.
--
--```plaintext
--Params: gridLayout - Grid used for layout.
--        brushTarget - Target of box fill operation. By default the currently selected GameObject.
--        position - The bounds to box fill data to.
--        
--```
--
---@source UnityEngine.TilemapModule.dll
---@param gridLayout UnityEngine.GridLayout
---@param brushTarget UnityEngine.GameObject
---@param position UnityEngine.BoundsInt
function CS.UnityEngine.GridBrushBase.BoxFill(gridLayout, brushTarget, position) end

--
--Erases data on a grid within the given bounds.
--
--```plaintext
--Params: gridLayout - Grid used for layout.
--        brushTarget - Target of the erase operation. By default the currently selected GameObject.
--        position - The bounds to erase data from.
--        
--```
--
---@source UnityEngine.TilemapModule.dll
---@param gridLayout UnityEngine.GridLayout
---@param brushTarget UnityEngine.GameObject
---@param position UnityEngine.BoundsInt
function CS.UnityEngine.GridBrushBase.BoxErase(gridLayout, brushTarget, position) end

--
--Select an area of a grid.
--
--```plaintext
--Params: grid - Grid used for layout.
--        brushTarget - Targets of paint operation. By default the currently selected GameObject.
--        position - Area to get selected.
--        
--```
--
---@source UnityEngine.TilemapModule.dll
---@param gridLayout UnityEngine.GridLayout
---@param brushTarget UnityEngine.GameObject
---@param position UnityEngine.BoundsInt
function CS.UnityEngine.GridBrushBase.Select(gridLayout, brushTarget, position) end

--
--Flood fills data onto a grid given the starting coordinates of the cell.
--
--```plaintext
--Params: gridLayout - Grid used for layout.
--        brushTarget - Targets of flood fill operation. By default the currently selected GameObject.
--        position - Starting position of the flood fill.
--        
--```
--
---@source UnityEngine.TilemapModule.dll
---@param gridLayout UnityEngine.GridLayout
---@param brushTarget UnityEngine.GameObject
---@param position UnityEngine.Vector3Int
function CS.UnityEngine.GridBrushBase.FloodFill(gridLayout, brushTarget, position) end

---@source UnityEngine.TilemapModule.dll
---@param direction UnityEngine.GridBrushBase.RotationDirection
---@param layout UnityEngine.GridLayout.CellLayout
function CS.UnityEngine.GridBrushBase.Rotate(direction, layout) end

---@source UnityEngine.TilemapModule.dll
---@param flip UnityEngine.GridBrushBase.FlipAxis
---@param layout UnityEngine.GridLayout.CellLayout
function CS.UnityEngine.GridBrushBase.Flip(flip, layout) end

--
--Picks data from a grid given the coordinates of the cells.
--
--```plaintext
--Params: grid - Grid used for layout.
--        brushTarget - Target of the paint operation. By default the currently selected GameObject.
--        position - The coordinates of the cells to paint data from.
--        pivot - Pivot of the picking brush.
--        
--```
--
---@source UnityEngine.TilemapModule.dll
---@param gridLayout UnityEngine.GridLayout
---@param brushTarget UnityEngine.GameObject
---@param position UnityEngine.BoundsInt
---@param pivot UnityEngine.Vector3Int
function CS.UnityEngine.GridBrushBase.Pick(gridLayout, brushTarget, position, pivot) end

--
--Move is called when user moves the area previously selected with the selection marquee.
--
--```plaintext
--Params: grid - Grid used for layout.
--        brushTarget - Target of the move operation. By default the currently selected GameObject.
--        from - Source bounds of the move.
--        to - Target bounds of the move.
--        
--```
--
---@source UnityEngine.TilemapModule.dll
---@param gridLayout UnityEngine.GridLayout
---@param brushTarget UnityEngine.GameObject
---@param from UnityEngine.BoundsInt
---@param to UnityEngine.BoundsInt
function CS.UnityEngine.GridBrushBase.Move(gridLayout, brushTarget, from, to) end

--
--MoveEnd is called when user starts moving the area previously selected with the selection marquee.
--
--```plaintext
--Params: grid - Grid used for layout.
--        brushTarget - Target of the move operation. By default the currently selected GameObject.
--        position - Position where the move operation has started.
--        
--```
--
---@source UnityEngine.TilemapModule.dll
---@param gridLayout UnityEngine.GridLayout
---@param brushTarget UnityEngine.GameObject
---@param position UnityEngine.BoundsInt
function CS.UnityEngine.GridBrushBase.MoveStart(gridLayout, brushTarget, position) end

--
--MoveEnd is called when user has ended the move of the area previously selected with the selection marquee.
--
--```plaintext
--Params: position - Layers affected by the move operation.
--        brushTarget - Target of the move operation. By default the currently selected GameObject.
--        grid - Grid used for layout.
--        
--```
--
---@source UnityEngine.TilemapModule.dll
---@param gridLayout UnityEngine.GridLayout
---@param brushTarget UnityEngine.GameObject
---@param position UnityEngine.BoundsInt
function CS.UnityEngine.GridBrushBase.MoveEnd(gridLayout, brushTarget, position) end

--
--Changes the Z position of the GridBrushBase.
--
--```plaintext
--Params: change - Modify the Z position of GridBrushBase by this value.
--        
--```
--
---@source UnityEngine.TilemapModule.dll
---@param change int
function CS.UnityEngine.GridBrushBase.ChangeZPosition(change) end

--
--Resets Z position changes of the GridBrushBase.
--
---@source UnityEngine.TilemapModule.dll
function CS.UnityEngine.GridBrushBase.ResetZPosition() end


--
--Tool mode for the GridBrushBase.
--
---@source UnityEngine.TilemapModule.dll
---@class UnityEngine.Tool: System.Enum
--
--Select.
--
---@source UnityEngine.TilemapModule.dll
---@field Select UnityEngine.GridBrushBase.Tool
--
--Move.
--
---@source UnityEngine.TilemapModule.dll
---@field Move UnityEngine.GridBrushBase.Tool
--
--Paint.
--
---@source UnityEngine.TilemapModule.dll
---@field Paint UnityEngine.GridBrushBase.Tool
--
--Box Fill.
--
---@source UnityEngine.TilemapModule.dll
---@field Box UnityEngine.GridBrushBase.Tool
--
--Pick.
--
---@source UnityEngine.TilemapModule.dll
---@field Pick UnityEngine.GridBrushBase.Tool
--
--Erase.
--
---@source UnityEngine.TilemapModule.dll
---@field Erase UnityEngine.GridBrushBase.Tool
--
--Flood Fill.
--
---@source UnityEngine.TilemapModule.dll
---@field FloodFill UnityEngine.GridBrushBase.Tool
---@source UnityEngine.TilemapModule.dll
CS.UnityEngine.Tool = {}

---@source 
---@param value any
---@return UnityEngine.GridBrushBase.Tool
function CS.UnityEngine.Tool:__CastFrom(value) end


--
--Rotate tiles in the GridBrushBase in this direction.
--
---@source UnityEngine.TilemapModule.dll
---@class UnityEngine.RotationDirection: System.Enum
--
--Rotates tiles clockwise.
--
---@source UnityEngine.TilemapModule.dll
---@field Clockwise UnityEngine.GridBrushBase.RotationDirection
--
--Rotates tiles counter-clockwise.
--
---@source UnityEngine.TilemapModule.dll
---@field CounterClockwise UnityEngine.GridBrushBase.RotationDirection
---@source UnityEngine.TilemapModule.dll
CS.UnityEngine.RotationDirection = {}

---@source 
---@param value any
---@return UnityEngine.GridBrushBase.RotationDirection
function CS.UnityEngine.RotationDirection:__CastFrom(value) end


--
--Axis to flip tiles in the GridBrushBase by.
--
---@source UnityEngine.TilemapModule.dll
---@class UnityEngine.FlipAxis: System.Enum
--
--Flip the brush in the X Axis.
--
---@source UnityEngine.TilemapModule.dll
---@field X UnityEngine.GridBrushBase.FlipAxis
--
--Flip the brush in the Y Axis.
--
---@source UnityEngine.TilemapModule.dll
---@field Y UnityEngine.GridBrushBase.FlipAxis
---@source UnityEngine.TilemapModule.dll
CS.UnityEngine.FlipAxis = {}

---@source 
---@param value any
---@return UnityEngine.GridBrushBase.FlipAxis
function CS.UnityEngine.FlipAxis:__CastFrom(value) end


---@source UnityEngine.UIModule.dll
---@class UnityEngine.SampleType: System.Enum
---@source UnityEngine.UIModule.dll
---@field Layout UnityEngine.UISystemProfilerApi.SampleType
---@source UnityEngine.UIModule.dll
---@field Render UnityEngine.UISystemProfilerApi.SampleType
---@source UnityEngine.UIModule.dll
CS.UnityEngine.SampleType = {}

---@source 
---@param value any
---@return UnityEngine.UISystemProfilerApi.SampleType
function CS.UnityEngine.SampleType:__CastFrom(value) end


--
--Provides access to your remote settings.
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@class UnityEngine.RemoteSettings: object
---@source UnityEngine.UnityAnalyticsModule.dll
---@field Updated UnityEngine.RemoteSettings.UpdatedEventHandler
---@source UnityEngine.UnityAnalyticsModule.dll
---@field BeforeFetchFromServer System.Action
---@source UnityEngine.UnityAnalyticsModule.dll
---@field Completed System.Action<bool, bool, int>
---@source UnityEngine.UnityAnalyticsModule.dll
CS.UnityEngine.RemoteSettings = {}

---@source UnityEngine.UnityAnalyticsModule.dll
---@param value UnityEngine.RemoteSettings.UpdatedEventHandler
function CS.UnityEngine.RemoteSettings:add_Updated(value) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param value UnityEngine.RemoteSettings.UpdatedEventHandler
function CS.UnityEngine.RemoteSettings:remove_Updated(value) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param value System.Action
function CS.UnityEngine.RemoteSettings:add_BeforeFetchFromServer(value) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param value System.Action
function CS.UnityEngine.RemoteSettings:remove_BeforeFetchFromServer(value) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param value System.Action<bool, bool, int>
function CS.UnityEngine.RemoteSettings:add_Completed(value) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param value System.Action<bool, bool, int>
function CS.UnityEngine.RemoteSettings:remove_Completed(value) end

---@source UnityEngine.UnityAnalyticsModule.dll
function CS.UnityEngine.RemoteSettings:CallOnUpdate() end

--
--Forces the game to download the newest settings from the server and update its values.
--
---@source UnityEngine.UnityAnalyticsModule.dll
function CS.UnityEngine.RemoteSettings:ForceUpdate() end

--
--True, if the remote settings file was received from the Analytics Service in the current session. False, if the remote settings file was received during an earlier session and cached.
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@return Boolean
function CS.UnityEngine.RemoteSettings:WasLastUpdatedFromServer() end

--
--The current value of the setting identified by key, or the default value.
--
--```plaintext
--Params: key - The key identifying the setting.
--        defaultValue - The default value to use if the setting identified by the key parameter cannot be found or is unavailable.
--        
--```
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@return Int32
function CS.UnityEngine.RemoteSettings:GetInt(key) end

--
--The current value of the setting identified by key, or the default value.
--
--```plaintext
--Params: key - The key identifying the setting.
--        defaultValue - The default value to use if the setting identified by the key parameter cannot be found or is unavailable.
--        
--```
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@param defaultValue int
---@return Int32
function CS.UnityEngine.RemoteSettings:GetInt(key, defaultValue) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@return Int64
function CS.UnityEngine.RemoteSettings:GetLong(key) end

--
--The current value of the setting identified by key, or the default value.
--
--```plaintext
--Params: key - The key identifying the setting.
--        defaultValue - The default value to use if the setting identified by the key parameter cannot be found or is unavailable.
--        
--```
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@param defaultValue long
---@return Int64
function CS.UnityEngine.RemoteSettings:GetLong(key, defaultValue) end

--
--The current value of the setting identified by key, or the default value.
--
--```plaintext
--Params: key - The key identifying the setting.
--        defaultValue - The default value to use if the setting identified by the key parameter cannot be found or is unavailable.
--        
--```
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@return Single
function CS.UnityEngine.RemoteSettings:GetFloat(key) end

--
--The current value of the setting identified by key, or the default value.
--
--```plaintext
--Params: key - The key identifying the setting.
--        defaultValue - The default value to use if the setting identified by the key parameter cannot be found or is unavailable.
--        
--```
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@param defaultValue float
---@return Single
function CS.UnityEngine.RemoteSettings:GetFloat(key, defaultValue) end

--
--The current value of the setting identified by key, or the default value.
--
--```plaintext
--Params: key - The key identifying the setting.
--        defaultValue - The default value to use if the setting identified by the key parameter cannot be found or is unavailable.
--        
--```
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@return String
function CS.UnityEngine.RemoteSettings:GetString(key) end

--
--The current value of the setting identified by key, or the default value.
--
--```plaintext
--Params: key - The key identifying the setting.
--        defaultValue - The default value to use if the setting identified by the key parameter cannot be found or is unavailable.
--        
--```
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@param defaultValue string
---@return String
function CS.UnityEngine.RemoteSettings:GetString(key, defaultValue) end

--
--The current value of the setting identified by key, or the default value.
--
--```plaintext
--Params: key - The key identifying the setting.
--        defaultValue - The default value to use if the setting identified by the key parameter cannot be found or is unavailable.
--        
--```
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@return Boolean
function CS.UnityEngine.RemoteSettings:GetBool(key) end

--
--The current value of the setting identified by key, or the default value.
--
--```plaintext
--Params: key - The key identifying the setting.
--        defaultValue - The default value to use if the setting identified by the key parameter cannot be found or is unavailable.
--        
--```
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@param defaultValue bool
---@return Boolean
function CS.UnityEngine.RemoteSettings:GetBool(key, defaultValue) end

--
--True, if the key exists.
--
--```plaintext
--Params: key - The key identifying the setting.
--        
--```
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@return Boolean
function CS.UnityEngine.RemoteSettings:HasKey(key) end

--
--Gets the number of keys in the remote settings configuration.
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@return Int32
function CS.UnityEngine.RemoteSettings:GetCount() end

--
--Gets an array containing all the keys in the remote settings configuration.
--
---@source UnityEngine.UnityAnalyticsModule.dll
function CS.UnityEngine.RemoteSettings:GetKeys() end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@return T
function CS.UnityEngine.RemoteSettings:GetObject(key) end

--
--An instance of the object with fields assigned the corresponding remote values.
--
--```plaintext
--Params: key - The key identifying the setting.
--        type - The type of object represented in RemoteSettings.
--        
--```
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@param type System.Type
---@param key string
---@return Object
function CS.UnityEngine.RemoteSettings:GetObject(type, key) end

--
--An instance of the object with fields assigned the corresponding remote values.
--
--```plaintext
--Params: defaultValue - The object that should be for default values.
--        key - The key identifying the setting.
--        
--```
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@param defaultValue object
---@return Object
function CS.UnityEngine.RemoteSettings:GetObject(key, defaultValue) end

--
--An instance of Dictionary<string, object> containing the corresponding remote value or values.
--
--```plaintext
--Params: key - The key identifying the setting.
--        
--```
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@return IDictionary
function CS.UnityEngine.RemoteSettings:GetDictionary(key) end


--
--Defines the delegate signature for handling RemoteSettings.Updated events.
--
---@source UnityEngine.UnityAnalyticsModule.dll
---@class UnityEngine.UpdatedEventHandler: System.MulticastDelegate
---@source UnityEngine.UnityAnalyticsModule.dll
CS.UnityEngine.UpdatedEventHandler = {}

---@source UnityEngine.UnityAnalyticsModule.dll
function CS.UnityEngine.UpdatedEventHandler.Invoke() end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.UpdatedEventHandler.BeginInvoke(callback, object) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.UpdatedEventHandler.EndInvoke(result) end


---@source UnityEngine.UnityAnalyticsModule.dll
---@class UnityEngine.RemoteConfigSettings: object
---@source UnityEngine.UnityAnalyticsModule.dll
---@field Updated System.Action<bool>
---@source UnityEngine.UnityAnalyticsModule.dll
CS.UnityEngine.RemoteConfigSettings = {}

---@source UnityEngine.UnityAnalyticsModule.dll
---@param value System.Action<bool>
function CS.UnityEngine.RemoteConfigSettings.add_Updated(value) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param value System.Action<bool>
function CS.UnityEngine.RemoteConfigSettings.remove_Updated(value) end

---@source UnityEngine.UnityAnalyticsModule.dll
function CS.UnityEngine.RemoteConfigSettings.Dispose() end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param name string
---@param param object
---@param ver int
---@param prefix string
---@return Boolean
function CS.UnityEngine.RemoteConfigSettings:QueueConfig(name, param, ver, prefix) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@return Boolean
function CS.UnityEngine.RemoteConfigSettings:SendDeviceInfoInConfigRequest() end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param tag string
function CS.UnityEngine.RemoteConfigSettings:AddSessionTag(tag) end

---@source UnityEngine.UnityAnalyticsModule.dll
function CS.UnityEngine.RemoteConfigSettings.ForceUpdate() end

---@source UnityEngine.UnityAnalyticsModule.dll
---@return Boolean
function CS.UnityEngine.RemoteConfigSettings.WasLastUpdatedFromServer() end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@return Int32
function CS.UnityEngine.RemoteConfigSettings.GetInt(key) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@param defaultValue int
---@return Int32
function CS.UnityEngine.RemoteConfigSettings.GetInt(key, defaultValue) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@return Int64
function CS.UnityEngine.RemoteConfigSettings.GetLong(key) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@param defaultValue long
---@return Int64
function CS.UnityEngine.RemoteConfigSettings.GetLong(key, defaultValue) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@return Single
function CS.UnityEngine.RemoteConfigSettings.GetFloat(key) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@param defaultValue float
---@return Single
function CS.UnityEngine.RemoteConfigSettings.GetFloat(key, defaultValue) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@return String
function CS.UnityEngine.RemoteConfigSettings.GetString(key) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@param defaultValue string
---@return String
function CS.UnityEngine.RemoteConfigSettings.GetString(key, defaultValue) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@return Boolean
function CS.UnityEngine.RemoteConfigSettings.GetBool(key) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@param defaultValue bool
---@return Boolean
function CS.UnityEngine.RemoteConfigSettings.GetBool(key, defaultValue) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@return Boolean
function CS.UnityEngine.RemoteConfigSettings.HasKey(key) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@return Int32
function CS.UnityEngine.RemoteConfigSettings.GetCount() end

---@source UnityEngine.UnityAnalyticsModule.dll
function CS.UnityEngine.RemoteConfigSettings.GetKeys() end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@return T
function CS.UnityEngine.RemoteConfigSettings.GetObject(key) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param type System.Type
---@param key string
---@return Object
function CS.UnityEngine.RemoteConfigSettings.GetObject(type, key) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@param defaultValue object
---@return Object
function CS.UnityEngine.RemoteConfigSettings.GetObject(key, defaultValue) end

---@source UnityEngine.UnityAnalyticsModule.dll
---@param key string
---@return IDictionary
function CS.UnityEngine.RemoteConfigSettings.GetDictionary(key) end


--
--Helper class to generate form data to post to web servers using the UnityWebRequest or WWW classes.
--
---@source UnityEngine.UnityWebRequestModule.dll
---@class UnityEngine.WWWForm: object
--
--(Read Only) Returns the correct request headers for posting the form using the WWW class.
--
---@source UnityEngine.UnityWebRequestModule.dll
---@field headers System.Collections.Generic.Dictionary<string, string>
--
--(Read Only) The raw data to pass as the POST request body when sending the form.
--
---@source UnityEngine.UnityWebRequestModule.dll
---@field data byte[]
---@source UnityEngine.UnityWebRequestModule.dll
CS.UnityEngine.WWWForm = {}

--
--Add a simple field to the form.
--
---@source UnityEngine.UnityWebRequestModule.dll
---@param fieldName string
---@param value string
function CS.UnityEngine.WWWForm.AddField(fieldName, value) end

--
--Add a simple field to the form.
--
---@source UnityEngine.UnityWebRequestModule.dll
---@param fieldName string
---@param value string
---@param e System.Text.Encoding
function CS.UnityEngine.WWWForm.AddField(fieldName, value, e) end

--
--Adds a simple field to the form.
--
---@source UnityEngine.UnityWebRequestModule.dll
---@param fieldName string
---@param i int
function CS.UnityEngine.WWWForm.AddField(fieldName, i) end

--
--Add binary data to the form.
--
---@source UnityEngine.UnityWebRequestModule.dll
---@param fieldName string
---@param contents byte[]
function CS.UnityEngine.WWWForm.AddBinaryData(fieldName, contents) end

--
--Add binary data to the form.
--
---@source UnityEngine.UnityWebRequestModule.dll
---@param fieldName string
---@param contents byte[]
---@param fileName string
function CS.UnityEngine.WWWForm.AddBinaryData(fieldName, contents, fileName) end

--
--Add binary data to the form.
--
---@source UnityEngine.UnityWebRequestModule.dll
---@param fieldName string
---@param contents byte[]
---@param fileName string
---@param mimeType string
function CS.UnityEngine.WWWForm.AddBinaryData(fieldName, contents, fileName, mimeType) end


--
--Simple access to web pages.
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@class UnityEngine.WWW: UnityEngine.CustomYieldInstruction
--
--Streams an AssetBundle that can contain any kind of asset from the project folder.
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field assetBundle UnityEngine.AssetBundle
--
--Returns a AudioClip generated from the downloaded data (Read Only).
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field audioClip UnityEngine.Object
--
--Returns the contents of the fetched web page as a byte array (Read Only).
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field bytes byte[]
--
--MovieTexture has been removed. Use VideoPlayer instead.
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field movie UnityEngine.Object
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field size int
--
--The number of bytes downloaded by this WWW query (read only).
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field bytesDownloaded int
--
--Returns an error message if there was an error during the download (Read Only).
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field error string
--
--Is the download already finished? (Read Only)
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field isDone bool
--
--Load an Ogg Vorbis file into the audio clip.
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field oggVorbis UnityEngine.Object
--
--How far has the download progressed (Read Only).
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field progress float
--
--Dictionary of headers returned by the request.
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field responseHeaders System.Collections.Generic.Dictionary<string, string>
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field data string
--
--Returns the contents of the fetched web page as a string (Read Only).
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field text string
--
--Returns a Texture2D generated from the downloaded data (Read Only).
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field texture UnityEngine.Texture2D
--
--Returns a non-readable Texture2D generated from the downloaded data (Read Only).
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field textureNonReadable UnityEngine.Texture2D
--
--Obsolete, has no effect.
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field threadPriority UnityEngine.ThreadPriority
--
--How far has the upload progressed (Read Only).
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field uploadProgress float
--
--The URL of this WWW request (Read Only).
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field url string
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@field keepWaiting bool
---@source UnityEngine.UnityWebRequestWWWModule.dll
CS.UnityEngine.WWW = {}

--
--Escapes characters in a string to ensure they are URL-friendly.
--
--```plaintext
--Params: s - A string with characters to be escaped.
--        e - The text encoding to use.
--        
--```
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param s string
---@return String
function CS.UnityEngine.WWW:EscapeURL(s) end

--
--Escapes characters in a string to ensure they are URL-friendly.
--
--```plaintext
--Params: s - A string with characters to be escaped.
--        e - The text encoding to use.
--        
--```
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param s string
---@param e System.Text.Encoding
---@return String
function CS.UnityEngine.WWW:EscapeURL(s, e) end

--
--Converts URL-friendly escape sequences back to normal text.
--
--```plaintext
--Params: s - A string containing escaped characters.
--        e - The text encoding to use.
--        
--```
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param s string
---@return String
function CS.UnityEngine.WWW:UnEscapeURL(s) end

--
--Converts URL-friendly escape sequences back to normal text.
--
--```plaintext
--Params: s - A string containing escaped characters.
--        e - The text encoding to use.
--        
--```
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param s string
---@param e System.Text.Encoding
---@return String
function CS.UnityEngine.WWW:UnEscapeURL(s, e) end

--
--A WWW instance, which can be used to access the data once the load/download operation is completed.
--
--```plaintext
--Params: url - The URL to download the AssetBundle from, if it is not present in the cache. Must be '%' escaped.
--        version - Version of the AssetBundle. The file will only be loaded from the disk cache if it has previously been downloaded with the same version parameter. By incrementing the version number requested by your application, you can force Caching to download a new copy of the AssetBundle from url.
--        hash - Hash128 which is used as the version of the AssetBundle.
--        cachedBundle - A structure used to download a given version of AssetBundle to a customized cache path.
--
--Analogous to the cachedAssetBundle parameter for UnityWebRequestAssetBundle.GetAssetBundle.</param>
--        crc - An optional CRC-32 Checksum of the uncompressed contents. If this is non-zero, then the content will be compared against the checksum before loading it, and give an error if it does not match. You can use this to avoid data corruption from bad downloads or users tampering with the cached files on disk. If the CRC does not match, Unity will try to redownload the data, and if the CRC on the server does not match it will fail with an error. Look at the error string returned to see the correct CRC value to use for an AssetBundle.
--        
--```
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param url string
---@param version int
---@return WWW
function CS.UnityEngine.WWW:LoadFromCacheOrDownload(url, version) end

--
--A WWW instance, which can be used to access the data once the load/download operation is completed.
--
--```plaintext
--Params: url - The URL to download the AssetBundle from, if it is not present in the cache. Must be '%' escaped.
--        version - Version of the AssetBundle. The file will only be loaded from the disk cache if it has previously been downloaded with the same version parameter. By incrementing the version number requested by your application, you can force Caching to download a new copy of the AssetBundle from url.
--        hash - Hash128 which is used as the version of the AssetBundle.
--        cachedBundle - A structure used to download a given version of AssetBundle to a customized cache path.
--
--Analogous to the cachedAssetBundle parameter for UnityWebRequestAssetBundle.GetAssetBundle.</param>
--        crc - An optional CRC-32 Checksum of the uncompressed contents. If this is non-zero, then the content will be compared against the checksum before loading it, and give an error if it does not match. You can use this to avoid data corruption from bad downloads or users tampering with the cached files on disk. If the CRC does not match, Unity will try to redownload the data, and if the CRC on the server does not match it will fail with an error. Look at the error string returned to see the correct CRC value to use for an AssetBundle.
--        
--```
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param url string
---@param version int
---@param crc uint
---@return WWW
function CS.UnityEngine.WWW:LoadFromCacheOrDownload(url, version, crc) end

---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param url string
---@param hash UnityEngine.Hash128
---@return WWW
function CS.UnityEngine.WWW:LoadFromCacheOrDownload(url, hash) end

--
--A WWW instance, which can be used to access the data once the load/download operation is completed.
--
--```plaintext
--Params: url - The URL to download the AssetBundle from, if it is not present in the cache. Must be '%' escaped.
--        version - Version of the AssetBundle. The file will only be loaded from the disk cache if it has previously been downloaded with the same version parameter. By incrementing the version number requested by your application, you can force Caching to download a new copy of the AssetBundle from url.
--        hash - Hash128 which is used as the version of the AssetBundle.
--        cachedBundle - A structure used to download a given version of AssetBundle to a customized cache path.
--
--Analogous to the cachedAssetBundle parameter for UnityWebRequestAssetBundle.GetAssetBundle.</param>
--        crc - An optional CRC-32 Checksum of the uncompressed contents. If this is non-zero, then the content will be compared against the checksum before loading it, and give an error if it does not match. You can use this to avoid data corruption from bad downloads or users tampering with the cached files on disk. If the CRC does not match, Unity will try to redownload the data, and if the CRC on the server does not match it will fail with an error. Look at the error string returned to see the correct CRC value to use for an AssetBundle.
--        
--```
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param url string
---@param hash UnityEngine.Hash128
---@param crc uint
---@return WWW
function CS.UnityEngine.WWW:LoadFromCacheOrDownload(url, hash, crc) end

--
--A WWW instance, which can be used to access the data once the load/download operation is completed.
--
--```plaintext
--Params: url - The URL to download the AssetBundle from, if it is not present in the cache. Must be '%' escaped.
--        version - Version of the AssetBundle. The file will only be loaded from the disk cache if it has previously been downloaded with the same version parameter. By incrementing the version number requested by your application, you can force Caching to download a new copy of the AssetBundle from url.
--        hash - Hash128 which is used as the version of the AssetBundle.
--        cachedBundle - A structure used to download a given version of AssetBundle to a customized cache path.
--
--Analogous to the cachedAssetBundle parameter for UnityWebRequestAssetBundle.GetAssetBundle.</param>
--        crc - An optional CRC-32 Checksum of the uncompressed contents. If this is non-zero, then the content will be compared against the checksum before loading it, and give an error if it does not match. You can use this to avoid data corruption from bad downloads or users tampering with the cached files on disk. If the CRC does not match, Unity will try to redownload the data, and if the CRC on the server does not match it will fail with an error. Look at the error string returned to see the correct CRC value to use for an AssetBundle.
--        
--```
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param url string
---@param cachedBundle UnityEngine.CachedAssetBundle
---@param crc uint
---@return WWW
function CS.UnityEngine.WWW:LoadFromCacheOrDownload(url, cachedBundle, crc) end

--
--Replaces the contents of an existing Texture2D with an image from the downloaded data.
--
--```plaintext
--Params: tex - An existing texture object to be overwritten with the image data.
--        
--```
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param texture UnityEngine.Texture2D
function CS.UnityEngine.WWW.LoadImageIntoTexture(texture) end

--
--Disposes of an existing WWW object.
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
function CS.UnityEngine.WWW.Dispose() end

--
--OBSOLETE. Use UnityWebRequestMultimedia.GetAudioClip().
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@return AudioClip
function CS.UnityEngine.WWW.GetAudioClip() end

--
--OBSOLETE. Use UnityWebRequestMultimedia.GetAudioClip().
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param threeD bool
---@return AudioClip
function CS.UnityEngine.WWW.GetAudioClip(threeD) end

--
--OBSOLETE. Use UnityWebRequestMultimedia.GetAudioClip().
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param threeD bool
---@param stream bool
---@return AudioClip
function CS.UnityEngine.WWW.GetAudioClip(threeD, stream) end

--
--OBSOLETE. Use UnityWebRequestMultimedia.GetAudioClip().
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param threeD bool
---@param stream bool
---@param audioType UnityEngine.AudioType
---@return AudioClip
function CS.UnityEngine.WWW.GetAudioClip(threeD, stream, audioType) end

--
--OBSOLETE. Use UnityWebRequestMultimedia.GetAudioClip().
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@return AudioClip
function CS.UnityEngine.WWW.GetAudioClipCompressed() end

--
--OBSOLETE. Use UnityWebRequestMultimedia.GetAudioClip().
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param threeD bool
---@return AudioClip
function CS.UnityEngine.WWW.GetAudioClipCompressed(threeD) end

--
--OBSOLETE. Use UnityWebRequestMultimedia.GetAudioClip().
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param threeD bool
---@param audioType UnityEngine.AudioType
---@return AudioClip
function CS.UnityEngine.WWW.GetAudioClipCompressed(threeD, audioType) end

--
--MovieTexture has been removed. Use VideoPlayer instead.
--
---@source UnityEngine.UnityWebRequestWWWModule.dll
---@return MovieTexture
function CS.UnityEngine.WWW.GetMovieTexture() end


---@source UnityEngine.UnityWebRequestWWWModule.dll
---@class UnityEngine.WWWAudioExtensions: object
---@source UnityEngine.UnityWebRequestWWWModule.dll
CS.UnityEngine.WWWAudioExtensions = {}

---@source UnityEngine.UnityWebRequestWWWModule.dll
---@return AudioClip
function CS.UnityEngine.WWWAudioExtensions.GetAudioClip() end

---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param threeD bool
---@return AudioClip
function CS.UnityEngine.WWWAudioExtensions.GetAudioClip(threeD) end

---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param threeD bool
---@param stream bool
---@return AudioClip
function CS.UnityEngine.WWWAudioExtensions.GetAudioClip(threeD, stream) end

---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param threeD bool
---@param stream bool
---@param audioType UnityEngine.AudioType
---@return AudioClip
function CS.UnityEngine.WWWAudioExtensions.GetAudioClip(threeD, stream, audioType) end

---@source UnityEngine.UnityWebRequestWWWModule.dll
---@return AudioClip
function CS.UnityEngine.WWWAudioExtensions.GetAudioClipCompressed() end

---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param threeD bool
---@return AudioClip
function CS.UnityEngine.WWWAudioExtensions.GetAudioClipCompressed(threeD) end

---@source UnityEngine.UnityWebRequestWWWModule.dll
---@param threeD bool
---@param audioType UnityEngine.AudioType
---@return AudioClip
function CS.UnityEngine.WWWAudioExtensions.GetAudioClipCompressed(threeD, audioType) end

---@source UnityEngine.UnityWebRequestWWWModule.dll
---@return MovieTexture
function CS.UnityEngine.WWWAudioExtensions.GetMovieTexture() end


--
--Contact information for the wheel, reported by WheelCollider.
--
---@source UnityEngine.VehiclesModule.dll
---@class UnityEngine.WheelHit: System.ValueType
--
--The other Collider the wheel is hitting.
--
---@source UnityEngine.VehiclesModule.dll
---@field collider UnityEngine.Collider
--
--The point of contact between the wheel and the ground.
--
---@source UnityEngine.VehiclesModule.dll
---@field point UnityEngine.Vector3
--
--The normal at the point of contact.
--
---@source UnityEngine.VehiclesModule.dll
---@field normal UnityEngine.Vector3
--
--The direction the wheel is pointing in.
--
---@source UnityEngine.VehiclesModule.dll
---@field forwardDir UnityEngine.Vector3
--
--The sideways direction of the wheel.
--
---@source UnityEngine.VehiclesModule.dll
---@field sidewaysDir UnityEngine.Vector3
--
--The magnitude of the force being applied for the contact.
--
---@source UnityEngine.VehiclesModule.dll
---@field force float
--
--Tire slip in the rolling direction. Acceleration slip is negative, braking slip is positive.
--
---@source UnityEngine.VehiclesModule.dll
---@field forwardSlip float
--
--Tire slip in the sideways direction.
--
---@source UnityEngine.VehiclesModule.dll
---@field sidewaysSlip float
---@source UnityEngine.VehiclesModule.dll
CS.UnityEngine.WheelHit = {}


--
--A special collider for vehicle wheels.
--
---@source UnityEngine.VehiclesModule.dll
---@class UnityEngine.WheelCollider: UnityEngine.Collider
--
--The center of the wheel, measured in the object's local space.
--
---@source UnityEngine.VehiclesModule.dll
---@field center UnityEngine.Vector3
--
--The radius of the wheel, measured in local space.
--
---@source UnityEngine.VehiclesModule.dll
---@field radius float
--
--Maximum extension distance of wheel suspension, measured in local space.
--
---@source UnityEngine.VehiclesModule.dll
---@field suspensionDistance float
--
--The parameters of wheel's suspension. The suspension attempts to reach a target position by applying a linear force and a damping force.
--
---@source UnityEngine.VehiclesModule.dll
---@field suspensionSpring UnityEngine.JointSpring
--
--Limits the expansion velocity of the Wheel Collider's suspension. If you set this property on a Rigidbody that has several Wheel Colliders, such as a vehicle, then it affects all other Wheel Colliders on the Rigidbody.
--
--```plaintext
--Params: active - Turns on/off the property
--        
--```
--
---@source UnityEngine.VehiclesModule.dll
---@field suspensionExpansionLimited bool
--
--Application point of the suspension and tire forces measured from the base of the resting wheel.
--
---@source UnityEngine.VehiclesModule.dll
---@field forceAppPointDistance float
--
--The mass of the wheel, expressed in kilograms. Must be larger than zero. Typical values would be in range (20,80).
--
---@source UnityEngine.VehiclesModule.dll
---@field mass float
--
--The damping rate of the wheel. Must be larger than zero.
--
---@source UnityEngine.VehiclesModule.dll
---@field wheelDampingRate float
--
--Properties of tire friction in the direction the wheel is pointing in.
--
---@source UnityEngine.VehiclesModule.dll
---@field forwardFriction UnityEngine.WheelFrictionCurve
--
--Properties of tire friction in the sideways direction.
--
---@source UnityEngine.VehiclesModule.dll
---@field sidewaysFriction UnityEngine.WheelFrictionCurve
--
--Motor torque on the wheel axle expressed in Newton metres. Positive or negative depending on direction.
--
---@source UnityEngine.VehiclesModule.dll
---@field motorTorque float
--
--Brake torque expressed in Newton metres.
--
---@source UnityEngine.VehiclesModule.dll
---@field brakeTorque float
--
--Steering angle in degrees, always around the local y-axis.
--
---@source UnityEngine.VehiclesModule.dll
---@field steerAngle float
--
--Indicates whether the wheel currently collides with something (Read Only).
--
---@source UnityEngine.VehiclesModule.dll
---@field isGrounded bool
--
--Current wheel axle rotation speed, in rotations per minute (Read Only).
--
---@source UnityEngine.VehiclesModule.dll
---@field rpm float
--
--The mass supported by this WheelCollider.
--
---@source UnityEngine.VehiclesModule.dll
---@field sprungMass float
---@source UnityEngine.VehiclesModule.dll
CS.UnityEngine.WheelCollider = {}

--
--Reset the sprung masses of the vehicle.
--
---@source UnityEngine.VehiclesModule.dll
function CS.UnityEngine.WheelCollider.ResetSprungMasses() end

--
--Configure vehicle sub-stepping parameters.
--
--```plaintext
--Params: speedThreshold - The speed threshold of the sub-stepping algorithm.
--        stepsBelowThreshold - Amount of simulation sub-steps when vehicle's speed is below speedThreshold.
--        stepsAboveThreshold - Amount of simulation sub-steps when vehicle's speed is above speedThreshold.
--        
--```
--
---@source UnityEngine.VehiclesModule.dll
---@param speedThreshold float
---@param stepsBelowThreshold int
---@param stepsAboveThreshold int
function CS.UnityEngine.WheelCollider.ConfigureVehicleSubsteps(speedThreshold, stepsBelowThreshold, stepsAboveThreshold) end

---@source UnityEngine.VehiclesModule.dll
---@param pos UnityEngine.Vector3
---@param quat UnityEngine.Quaternion
function CS.UnityEngine.WheelCollider.GetWorldPose(pos, quat) end

---@source UnityEngine.VehiclesModule.dll
---@param hit UnityEngine.WheelHit
---@return Boolean
function CS.UnityEngine.WheelCollider.GetGroundHit(hit) end


--
--Modes a Wind Zone can have, either Spherical or Directional.
--
---@source UnityEngine.WindModule.dll
---@class UnityEngine.WindZoneMode: System.Enum
--
--Wind zone affects the entire Scene in one direction.
--
---@source UnityEngine.WindModule.dll
---@field Directional UnityEngine.WindZoneMode
--
--Wind zone only has an effect inside the radius, and has a falloff from the center towards the edge.
--
---@source UnityEngine.WindModule.dll
---@field Spherical UnityEngine.WindZoneMode
---@source UnityEngine.WindModule.dll
CS.UnityEngine.WindZoneMode = {}

---@source 
---@param value any
---@return UnityEngine.WindZoneMode
function CS.UnityEngine.WindZoneMode:__CastFrom(value) end


--
--Wind Zones add realism to the trees you create by making them wave their branches and leaves as if blown by the wind.
--
---@source UnityEngine.WindModule.dll
---@class UnityEngine.WindZone: UnityEngine.Component
--
--Defines the type of wind zone to be used (Spherical or Directional).
--
---@source UnityEngine.WindModule.dll
---@field mode UnityEngine.WindZoneMode
--
--Radius of the Spherical Wind Zone (only active if the WindZoneMode is set to Spherical).
--
---@source UnityEngine.WindModule.dll
---@field radius float
--
--The primary wind force.
--
---@source UnityEngine.WindModule.dll
---@field windMain float
--
--The turbulence wind force.
--
---@source UnityEngine.WindModule.dll
---@field windTurbulence float
--
--Defines how much the wind changes over time.
--
---@source UnityEngine.WindModule.dll
---@field windPulseMagnitude float
--
--Defines the frequency of the wind changes.
--
---@source UnityEngine.WindModule.dll
---@field windPulseFrequency float
---@source UnityEngine.WindModule.dll
CS.UnityEngine.WindZone = {}


---@source UnityEngine.UIModule.dll
---@class UnityEngine.ICanvasRaycastFilter
---@source UnityEngine.UIModule.dll
CS.UnityEngine.ICanvasRaycastFilter = {}

--
--Valid.
--
--```plaintext
--Params: sp - Screen position.
--        eventCamera - Raycast camera.
--        
--```
--
---@source UnityEngine.UIModule.dll
---@param sp UnityEngine.Vector2
---@param eventCamera UnityEngine.Camera
---@return Boolean
function CS.UnityEngine.ICanvasRaycastFilter.IsRaycastLocationValid(sp, eventCamera) end


--
--A Canvas placable element that can be used to modify children Alpha, Raycasting, Enabled state.
--
---@source UnityEngine.UIModule.dll
---@class UnityEngine.CanvasGroup: UnityEngine.Behaviour
--
--Set the alpha of the group.
--
---@source UnityEngine.UIModule.dll
---@field alpha float
--
--Is the group interactable (are the elements beneath the group enabled).
--
---@source UnityEngine.UIModule.dll
---@field interactable bool
--
--Does this group block raycasting (allow collision).
--
---@source UnityEngine.UIModule.dll
---@field blocksRaycasts bool
--
--Should the group ignore parent groups?
--
---@source UnityEngine.UIModule.dll
---@field ignoreParentGroups bool
---@source UnityEngine.UIModule.dll
CS.UnityEngine.CanvasGroup = {}

--
--Returns true if the Group allows raycasts.
--
---@source UnityEngine.UIModule.dll
---@param sp UnityEngine.Vector2
---@param eventCamera UnityEngine.Camera
---@return Boolean
function CS.UnityEngine.CanvasGroup.IsRaycastLocationValid(sp, eventCamera) end


--
--A component that will render to the screen after all normal rendering has completed when attached to a Canvas. Designed for GUI application.
--
---@source UnityEngine.UIModule.dll
---@class UnityEngine.CanvasRenderer: UnityEngine.Component
--
--Enable 'render stack' pop draw call.
--
---@source UnityEngine.UIModule.dll
---@field hasPopInstruction bool
--
--The number of materials usable by this renderer.
--
---@source UnityEngine.UIModule.dll
---@field materialCount int
--
--The number of materials usable by this renderer. Used internally for masking.
--
---@source UnityEngine.UIModule.dll
---@field popMaterialCount int
--
--Depth of the renderer relative to the root canvas.
--
---@source UnityEngine.UIModule.dll
---@field absoluteDepth int
--
--True if any change has occured that would invalidate the positions of generated geometry.
--
---@source UnityEngine.UIModule.dll
---@field hasMoved bool
--
--Indicates whether geometry emitted by this renderer can be ignored when the vertex color alpha is close to zero for every vertex of the mesh.
--
---@source UnityEngine.UIModule.dll
---@field cullTransparentMesh bool
--
--True if rect clipping has been enabled on this renderer.
--See Also: CanvasRenderer.EnableRectClipping, CanvasRenderer.DisableRectClipping.
--
---@source UnityEngine.UIModule.dll
---@field hasRectClipping bool
--
--Depth of the renderer realative to the parent canvas.
--
---@source UnityEngine.UIModule.dll
---@field relativeDepth int
--
--Indicates whether geometry emitted by this renderer is ignored.
--
---@source UnityEngine.UIModule.dll
---@field cull bool
--
--Is the UIRenderer a mask component.
--
---@source UnityEngine.UIModule.dll
---@field isMask bool
--
--The clipping softness to apply to the renderer.
--
---@source UnityEngine.UIModule.dll
---@field clippingSoftness UnityEngine.Vector2
---@source UnityEngine.UIModule.dll
---@field onRequestRebuild UnityEngine.CanvasRenderer.OnRequestRebuild
---@source UnityEngine.UIModule.dll
CS.UnityEngine.CanvasRenderer = {}

--
--Set the color of the renderer. Will be multiplied with the UIVertex color and the Canvas color.
--
--```plaintext
--Params: color - Renderer multiply color.
--        
--```
--
---@source UnityEngine.UIModule.dll
---@param color UnityEngine.Color
function CS.UnityEngine.CanvasRenderer.SetColor(color) end

--
--Get the current color of the renderer.
--
---@source UnityEngine.UIModule.dll
---@return Color
function CS.UnityEngine.CanvasRenderer.GetColor() end

--
--Enables rect clipping on the CanvasRendered. Geometry outside of the specified rect will be clipped (not rendered).
--
---@source UnityEngine.UIModule.dll
---@param rect UnityEngine.Rect
function CS.UnityEngine.CanvasRenderer.EnableRectClipping(rect) end

--
--Disables rectangle clipping for this CanvasRenderer.
--
---@source UnityEngine.UIModule.dll
function CS.UnityEngine.CanvasRenderer.DisableRectClipping() end

--
--Set the material for the canvas renderer. If a texture is specified then it will be used as the 'MainTex' instead of the material's 'MainTex'.
--See Also: CanvasRenderer.SetMaterialCount, CanvasRenderer.SetTexture.
--
--```plaintext
--Params: material - Material for rendering.
--        texture - Material texture overide.
--        index - Material index.
--        
--```
--
---@source UnityEngine.UIModule.dll
---@param material UnityEngine.Material
---@param index int
function CS.UnityEngine.CanvasRenderer.SetMaterial(material, index) end

--
--Result.
--
--```plaintext
--Params: index - The material index to retrieve (0 if this parameter is omitted).
--        
--```
--
---@source UnityEngine.UIModule.dll
---@param index int
---@return Material
function CS.UnityEngine.CanvasRenderer.GetMaterial(index) end

--
--Set the material for the canvas renderer. Used internally for masking.
--
---@source UnityEngine.UIModule.dll
---@param material UnityEngine.Material
---@param index int
function CS.UnityEngine.CanvasRenderer.SetPopMaterial(material, index) end

--
--Gets the current Material assigned to the CanvasRenderer. Used internally for masking.
--
---@source UnityEngine.UIModule.dll
---@param index int
---@return Material
function CS.UnityEngine.CanvasRenderer.GetPopMaterial(index) end

--
--Sets the texture used by this renderer's material.
--
---@source UnityEngine.UIModule.dll
---@param texture UnityEngine.Texture
function CS.UnityEngine.CanvasRenderer.SetTexture(texture) end

--
--The Alpha Texture that will be passed to the Shader under the _AlphaTex property.
--
--```plaintext
--Params: texture - The Texture to be passed.
--        
--```
--
---@source UnityEngine.UIModule.dll
---@param texture UnityEngine.Texture
function CS.UnityEngine.CanvasRenderer.SetAlphaTexture(texture) end

--
--Sets the Mesh used by this renderer. Note the Mesh must be read/write enabled.
--
---@source UnityEngine.UIModule.dll
---@param mesh UnityEngine.Mesh
function CS.UnityEngine.CanvasRenderer.SetMesh(mesh) end

--
--Remove all cached vertices.
--
---@source UnityEngine.UIModule.dll
function CS.UnityEngine.CanvasRenderer.Clear() end

--
--Get the current alpha of the renderer.
--
---@source UnityEngine.UIModule.dll
---@return Single
function CS.UnityEngine.CanvasRenderer.GetAlpha() end

--
--Set the alpha of the renderer. Will be multiplied with the UIVertex alpha and the Canvas alpha.
--
--```plaintext
--Params: alpha - Alpha.
--        
--```
--
---@source UnityEngine.UIModule.dll
---@param alpha float
function CS.UnityEngine.CanvasRenderer.SetAlpha(alpha) end

--
--The calculated inherited alpha.
--
---@source UnityEngine.UIModule.dll
---@return Single
function CS.UnityEngine.CanvasRenderer.GetInheritedAlpha() end

--
--Set the material for the canvas renderer. If a texture is specified then it will be used as the 'MainTex' instead of the material's 'MainTex'.
--See Also: CanvasRenderer.SetMaterialCount, CanvasRenderer.SetTexture.
--
--```plaintext
--Params: material - Material for rendering.
--        texture - Material texture overide.
--        index - Material index.
--        
--```
--
---@source UnityEngine.UIModule.dll
---@param material UnityEngine.Material
---@param texture UnityEngine.Texture
function CS.UnityEngine.CanvasRenderer.SetMaterial(material, texture) end

--
--Result.
--
--```plaintext
--Params: index - The material index to retrieve (0 if this parameter is omitted).
--        
--```
--
---@source UnityEngine.UIModule.dll
---@return Material
function CS.UnityEngine.CanvasRenderer.GetMaterial() end

---@source UnityEngine.UIModule.dll
---@param verts System.Collections.Generic.List<UnityEngine.UIVertex>
---@param positions System.Collections.Generic.List<UnityEngine.Vector3>
---@param colors System.Collections.Generic.List<UnityEngine.Color32>
---@param uv0S System.Collections.Generic.List<UnityEngine.Vector4>
---@param uv1S System.Collections.Generic.List<UnityEngine.Vector4>
---@param normals System.Collections.Generic.List<UnityEngine.Vector3>
---@param tangents System.Collections.Generic.List<UnityEngine.Vector4>
---@param indices System.Collections.Generic.List<int>
function CS.UnityEngine.CanvasRenderer:SplitUIVertexStreams(verts, positions, colors, uv0S, uv1S, normals, tangents, indices) end

---@source UnityEngine.UIModule.dll
---@param verts System.Collections.Generic.List<UnityEngine.UIVertex>
---@param positions System.Collections.Generic.List<UnityEngine.Vector3>
---@param colors System.Collections.Generic.List<UnityEngine.Color32>
---@param uv0S System.Collections.Generic.List<UnityEngine.Vector4>
---@param uv1S System.Collections.Generic.List<UnityEngine.Vector4>
---@param uv2S System.Collections.Generic.List<UnityEngine.Vector4>
---@param uv3S System.Collections.Generic.List<UnityEngine.Vector4>
---@param normals System.Collections.Generic.List<UnityEngine.Vector3>
---@param tangents System.Collections.Generic.List<UnityEngine.Vector4>
---@param indices System.Collections.Generic.List<int>
function CS.UnityEngine.CanvasRenderer:SplitUIVertexStreams(verts, positions, colors, uv0S, uv1S, uv2S, uv3S, normals, tangents, indices) end

---@source UnityEngine.UIModule.dll
---@param verts System.Collections.Generic.List<UnityEngine.UIVertex>
---@param positions System.Collections.Generic.List<UnityEngine.Vector3>
---@param colors System.Collections.Generic.List<UnityEngine.Color32>
---@param uv0S System.Collections.Generic.List<UnityEngine.Vector4>
---@param uv1S System.Collections.Generic.List<UnityEngine.Vector4>
---@param normals System.Collections.Generic.List<UnityEngine.Vector3>
---@param tangents System.Collections.Generic.List<UnityEngine.Vector4>
---@param indices System.Collections.Generic.List<int>
function CS.UnityEngine.CanvasRenderer:CreateUIVertexStream(verts, positions, colors, uv0S, uv1S, normals, tangents, indices) end

---@source UnityEngine.UIModule.dll
---@param verts System.Collections.Generic.List<UnityEngine.UIVertex>
---@param positions System.Collections.Generic.List<UnityEngine.Vector3>
---@param colors System.Collections.Generic.List<UnityEngine.Color32>
---@param uv0S System.Collections.Generic.List<UnityEngine.Vector4>
---@param uv1S System.Collections.Generic.List<UnityEngine.Vector4>
---@param uv2S System.Collections.Generic.List<UnityEngine.Vector4>
---@param uv3S System.Collections.Generic.List<UnityEngine.Vector4>
---@param normals System.Collections.Generic.List<UnityEngine.Vector3>
---@param tangents System.Collections.Generic.List<UnityEngine.Vector4>
---@param indices System.Collections.Generic.List<int>
function CS.UnityEngine.CanvasRenderer:CreateUIVertexStream(verts, positions, colors, uv0S, uv1S, uv2S, uv3S, normals, tangents, indices) end

---@source UnityEngine.UIModule.dll
---@param verts System.Collections.Generic.List<UnityEngine.UIVertex>
---@param positions System.Collections.Generic.List<UnityEngine.Vector3>
---@param colors System.Collections.Generic.List<UnityEngine.Color32>
---@param uv0S System.Collections.Generic.List<UnityEngine.Vector4>
---@param uv1S System.Collections.Generic.List<UnityEngine.Vector4>
---@param normals System.Collections.Generic.List<UnityEngine.Vector3>
---@param tangents System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.CanvasRenderer:AddUIVertexStream(verts, positions, colors, uv0S, uv1S, normals, tangents) end

---@source UnityEngine.UIModule.dll
---@param verts System.Collections.Generic.List<UnityEngine.UIVertex>
---@param positions System.Collections.Generic.List<UnityEngine.Vector3>
---@param colors System.Collections.Generic.List<UnityEngine.Color32>
---@param uv0S System.Collections.Generic.List<UnityEngine.Vector4>
---@param uv1S System.Collections.Generic.List<UnityEngine.Vector4>
---@param uv2S System.Collections.Generic.List<UnityEngine.Vector4>
---@param uv3S System.Collections.Generic.List<UnityEngine.Vector4>
---@param normals System.Collections.Generic.List<UnityEngine.Vector3>
---@param tangents System.Collections.Generic.List<UnityEngine.Vector4>
function CS.UnityEngine.CanvasRenderer:AddUIVertexStream(verts, positions, colors, uv0S, uv1S, uv2S, uv3S, normals, tangents) end

---@source UnityEngine.UIModule.dll
---@param vertices System.Collections.Generic.List<UnityEngine.UIVertex>
function CS.UnityEngine.CanvasRenderer.SetVertices(vertices) end

--
--Set the vertices for the UIRenderer.
--
--```plaintext
--Params: vertices - Array of vertices to set.
--        size - Number of vertices to set.
--        
--```
--
---@source UnityEngine.UIModule.dll
---@param vertices UnityEngine.UIVertex[]
---@param size int
function CS.UnityEngine.CanvasRenderer.SetVertices(vertices, size) end

---@source UnityEngine.UIModule.dll
---@param value UnityEngine.CanvasRenderer.OnRequestRebuild
function CS.UnityEngine.CanvasRenderer:add_onRequestRebuild(value) end

---@source UnityEngine.UIModule.dll
---@param value UnityEngine.CanvasRenderer.OnRequestRebuild
function CS.UnityEngine.CanvasRenderer:remove_onRequestRebuild(value) end


---@source UnityEngine.UIModule.dll
---@class UnityEngine.OnRequestRebuild: System.MulticastDelegate
---@source UnityEngine.UIModule.dll
CS.UnityEngine.OnRequestRebuild = {}

---@source UnityEngine.UIModule.dll
function CS.UnityEngine.OnRequestRebuild.Invoke() end

---@source UnityEngine.UIModule.dll
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.OnRequestRebuild.BeginInvoke(callback, object) end

---@source UnityEngine.UIModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.OnRequestRebuild.EndInvoke(result) end


--
--Utility class containing helper methods for working with  RectTransform.
--
---@source UnityEngine.UIModule.dll
---@class UnityEngine.RectTransformUtility: object
---@source UnityEngine.UIModule.dll
CS.UnityEngine.RectTransformUtility = {}

--
--Pixel adjusted point.
--
---@source UnityEngine.UIModule.dll
---@param point UnityEngine.Vector2
---@param elementTransform UnityEngine.Transform
---@param canvas UnityEngine.Canvas
---@return Vector2
function CS.UnityEngine.RectTransformUtility:PixelAdjustPoint(point, elementTransform, canvas) end

--
--Pixel adjusted rect.
--
---@source UnityEngine.UIModule.dll
---@param rectTransform UnityEngine.RectTransform
---@param canvas UnityEngine.Canvas
---@return Rect
function CS.UnityEngine.RectTransformUtility:PixelAdjustRect(rectTransform, canvas) end

---@source UnityEngine.UIModule.dll
---@param rect UnityEngine.RectTransform
---@param screenPoint UnityEngine.Vector2
---@return Boolean
function CS.UnityEngine.RectTransformUtility:RectangleContainsScreenPoint(rect, screenPoint) end

--
--True if the point is inside the rectangle.
--
--```plaintext
--Params: rect - The RectTransform to test with.
--        screenPoint - The screen point to test.
--        cam - The camera from which the test is performed from. (Optional)
--        
--```
--
---@source UnityEngine.UIModule.dll
---@param rect UnityEngine.RectTransform
---@param screenPoint UnityEngine.Vector2
---@param cam UnityEngine.Camera
---@return Boolean
function CS.UnityEngine.RectTransformUtility:RectangleContainsScreenPoint(rect, screenPoint, cam) end

---@source UnityEngine.UIModule.dll
---@param rect UnityEngine.RectTransform
---@param screenPoint UnityEngine.Vector2
---@param cam UnityEngine.Camera
---@param offset UnityEngine.Vector4
---@return Boolean
function CS.UnityEngine.RectTransformUtility:RectangleContainsScreenPoint(rect, screenPoint, cam, offset) end

---@source UnityEngine.UIModule.dll
---@param rect UnityEngine.RectTransform
---@param screenPoint UnityEngine.Vector2
---@param cam UnityEngine.Camera
---@param worldPoint UnityEngine.Vector3
---@return Boolean
function CS.UnityEngine.RectTransformUtility:ScreenPointToWorldPointInRectangle(rect, screenPoint, cam, worldPoint) end

---@source UnityEngine.UIModule.dll
---@param rect UnityEngine.RectTransform
---@param screenPoint UnityEngine.Vector2
---@param cam UnityEngine.Camera
---@param localPoint UnityEngine.Vector2
---@return Boolean
function CS.UnityEngine.RectTransformUtility:ScreenPointToLocalPointInRectangle(rect, screenPoint, cam, localPoint) end

---@source UnityEngine.UIModule.dll
---@param cam UnityEngine.Camera
---@param screenPos UnityEngine.Vector2
---@return Ray
function CS.UnityEngine.RectTransformUtility:ScreenPointToRay(cam, screenPos) end

---@source UnityEngine.UIModule.dll
---@param cam UnityEngine.Camera
---@param worldPoint UnityEngine.Vector3
---@return Vector2
function CS.UnityEngine.RectTransformUtility:WorldToScreenPoint(cam, worldPoint) end

---@source UnityEngine.UIModule.dll
---@param root UnityEngine.Transform
---@param child UnityEngine.Transform
---@return Bounds
function CS.UnityEngine.RectTransformUtility:CalculateRelativeRectTransformBounds(root, child) end

---@source UnityEngine.UIModule.dll
---@param trans UnityEngine.Transform
---@return Bounds
function CS.UnityEngine.RectTransformUtility:CalculateRelativeRectTransformBounds(trans) end

--
--Flips the alignment of the RectTransform along the horizontal or vertical axis, and optionally its children as well.
--
--```plaintext
--Params: rect - The RectTransform to flip.
--        keepPositioning - Flips around the pivot if true. Flips within the parent rect if false.
--        recursive - Flip the children as well?
--        axis - The axis to flip along. 0 is horizontal and 1 is vertical.
--        
--```
--
---@source UnityEngine.UIModule.dll
---@param rect UnityEngine.RectTransform
---@param axis int
---@param keepPositioning bool
---@param recursive bool
function CS.UnityEngine.RectTransformUtility:FlipLayoutOnAxis(rect, axis, keepPositioning, recursive) end

--
--Flips the horizontal and vertical axes of the RectTransform size and alignment, and optionally its children as well.
--
--```plaintext
--Params: rect - The RectTransform to flip.
--        keepPositioning - Flips around the pivot if true. Flips within the parent rect if false.
--        recursive - Flip the children as well?
--        
--```
--
---@source UnityEngine.UIModule.dll
---@param rect UnityEngine.RectTransform
---@param keepPositioning bool
---@param recursive bool
function CS.UnityEngine.RectTransformUtility:FlipLayoutAxes(rect, keepPositioning, recursive) end


--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@class UnityEngine.ProceduralMaterial: UnityEngine.Material
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field cacheSize UnityEngine.ProceduralCacheSize
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field animationUpdateRate int
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field isProcessing bool
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field isCachedDataAvailable bool
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field isLoadTimeGenerated bool
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field loadingBehavior UnityEngine.ProceduralLoadingBehavior
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field isSupported bool
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field substanceProcessorUsage UnityEngine.ProceduralProcessorUsage
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field preset string
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field isReadable bool
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field isFrozen bool
---@source UnityEngine.SubstanceModule.dll
CS.UnityEngine.ProceduralMaterial = {}

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
function CS.UnityEngine.ProceduralMaterial.GetProceduralPropertyDescriptions() end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@return Boolean
function CS.UnityEngine.ProceduralMaterial.HasProceduralProperty(inputName) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@return Boolean
function CS.UnityEngine.ProceduralMaterial.GetProceduralBoolean(inputName) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@return Boolean
function CS.UnityEngine.ProceduralMaterial.IsProceduralPropertyVisible(inputName) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@param value bool
function CS.UnityEngine.ProceduralMaterial.SetProceduralBoolean(inputName, value) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@return Single
function CS.UnityEngine.ProceduralMaterial.GetProceduralFloat(inputName) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@param value float
function CS.UnityEngine.ProceduralMaterial.SetProceduralFloat(inputName, value) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@return Vector4
function CS.UnityEngine.ProceduralMaterial.GetProceduralVector(inputName) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@param value UnityEngine.Vector4
function CS.UnityEngine.ProceduralMaterial.SetProceduralVector(inputName, value) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@return Color
function CS.UnityEngine.ProceduralMaterial.GetProceduralColor(inputName) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@param value UnityEngine.Color
function CS.UnityEngine.ProceduralMaterial.SetProceduralColor(inputName, value) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@return Int32
function CS.UnityEngine.ProceduralMaterial.GetProceduralEnum(inputName) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@param value int
function CS.UnityEngine.ProceduralMaterial.SetProceduralEnum(inputName, value) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@return Texture2D
function CS.UnityEngine.ProceduralMaterial.GetProceduralTexture(inputName) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@param value UnityEngine.Texture2D
function CS.UnityEngine.ProceduralMaterial.SetProceduralTexture(inputName, value) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@return String
function CS.UnityEngine.ProceduralMaterial.GetProceduralString(inputName) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@param value string
function CS.UnityEngine.ProceduralMaterial.SetProceduralString(inputName, value) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@return Boolean
function CS.UnityEngine.ProceduralMaterial.IsProceduralPropertyCached(inputName) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param inputName string
---@param value bool
function CS.UnityEngine.ProceduralMaterial.CacheProceduralProperty(inputName, value) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
function CS.UnityEngine.ProceduralMaterial.ClearCache() end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
function CS.UnityEngine.ProceduralMaterial.RebuildTextures() end

--
--Triggers an immediate (synchronous) rebuild of this ProceduralMaterial's dirty textures.
--
---@source UnityEngine.SubstanceModule.dll
function CS.UnityEngine.ProceduralMaterial.RebuildTexturesImmediately() end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
function CS.UnityEngine.ProceduralMaterial:StopRebuilds() end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
function CS.UnityEngine.ProceduralMaterial.GetGeneratedTextures() end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@param textureName string
---@return ProceduralTexture
function CS.UnityEngine.ProceduralMaterial.GetGeneratedTexture(textureName) end

--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
function CS.UnityEngine.ProceduralMaterial.FreezeAndReleaseSourceData() end


--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@class UnityEngine.ProceduralProcessorUsage: System.Enum
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Unsupported UnityEngine.ProceduralProcessorUsage
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field One UnityEngine.ProceduralProcessorUsage
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Half UnityEngine.ProceduralProcessorUsage
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field All UnityEngine.ProceduralProcessorUsage
---@source UnityEngine.SubstanceModule.dll
CS.UnityEngine.ProceduralProcessorUsage = {}

---@source 
---@param value any
---@return UnityEngine.ProceduralProcessorUsage
function CS.UnityEngine.ProceduralProcessorUsage:__CastFrom(value) end


--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@class UnityEngine.ProceduralCacheSize: System.Enum
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Tiny UnityEngine.ProceduralCacheSize
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Medium UnityEngine.ProceduralCacheSize
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Heavy UnityEngine.ProceduralCacheSize
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field NoLimit UnityEngine.ProceduralCacheSize
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field None UnityEngine.ProceduralCacheSize
---@source UnityEngine.SubstanceModule.dll
CS.UnityEngine.ProceduralCacheSize = {}

---@source 
---@param value any
---@return UnityEngine.ProceduralCacheSize
function CS.UnityEngine.ProceduralCacheSize:__CastFrom(value) end


--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@class UnityEngine.ProceduralLoadingBehavior: System.Enum
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field DoNothing UnityEngine.ProceduralLoadingBehavior
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Generate UnityEngine.ProceduralLoadingBehavior
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field BakeAndKeep UnityEngine.ProceduralLoadingBehavior
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field BakeAndDiscard UnityEngine.ProceduralLoadingBehavior
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Cache UnityEngine.ProceduralLoadingBehavior
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field DoNothingAndCache UnityEngine.ProceduralLoadingBehavior
---@source UnityEngine.SubstanceModule.dll
CS.UnityEngine.ProceduralLoadingBehavior = {}

---@source 
---@param value any
---@return UnityEngine.ProceduralLoadingBehavior
function CS.UnityEngine.ProceduralLoadingBehavior:__CastFrom(value) end


--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@class UnityEngine.ProceduralPropertyType: System.Enum
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Boolean UnityEngine.ProceduralPropertyType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Float UnityEngine.ProceduralPropertyType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Vector2 UnityEngine.ProceduralPropertyType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Vector3 UnityEngine.ProceduralPropertyType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Vector4 UnityEngine.ProceduralPropertyType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Color3 UnityEngine.ProceduralPropertyType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Color4 UnityEngine.ProceduralPropertyType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Enum UnityEngine.ProceduralPropertyType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Texture UnityEngine.ProceduralPropertyType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field String UnityEngine.ProceduralPropertyType
---@source UnityEngine.SubstanceModule.dll
CS.UnityEngine.ProceduralPropertyType = {}

---@source 
---@param value any
---@return UnityEngine.ProceduralPropertyType
function CS.UnityEngine.ProceduralPropertyType:__CastFrom(value) end


--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@class UnityEngine.ProceduralOutputType: System.Enum
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Unknown UnityEngine.ProceduralOutputType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Diffuse UnityEngine.ProceduralOutputType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Normal UnityEngine.ProceduralOutputType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Height UnityEngine.ProceduralOutputType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Emissive UnityEngine.ProceduralOutputType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Specular UnityEngine.ProceduralOutputType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Opacity UnityEngine.ProceduralOutputType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Smoothness UnityEngine.ProceduralOutputType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field AmbientOcclusion UnityEngine.ProceduralOutputType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field DetailMask UnityEngine.ProceduralOutputType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Metallic UnityEngine.ProceduralOutputType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field Roughness UnityEngine.ProceduralOutputType
---@source UnityEngine.SubstanceModule.dll
CS.UnityEngine.ProceduralOutputType = {}

---@source 
---@param value any
---@return UnityEngine.ProceduralOutputType
function CS.UnityEngine.ProceduralOutputType:__CastFrom(value) end


--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@class UnityEngine.ProceduralPropertyDescription: object
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field name string
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field label string
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field group string
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field type UnityEngine.ProceduralPropertyType
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field hasRange bool
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field minimum float
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field maximum float
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field step float
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field enumOptions string[]
--
--Deprecated feature, no longer available
--
---@source UnityEngine.SubstanceModule.dll
---@field componentLabels string[]
---@source UnityEngine.SubstanceModule.dll
CS.UnityEngine.ProceduralPropertyDescription = {}


--
--Generic access to the Social API.
--
---@source UnityEngine.GameCenterModule.dll
---@class UnityEngine.Social: object
--
--This is the currently active social platform.
--
---@source UnityEngine.GameCenterModule.dll
---@field Active UnityEngine.SocialPlatforms.ISocialPlatform
--
--The local user (potentially not logged in).
--
---@source UnityEngine.GameCenterModule.dll
---@field localUser UnityEngine.SocialPlatforms.ILocalUser
---@source UnityEngine.GameCenterModule.dll
CS.UnityEngine.Social = {}

---@source UnityEngine.GameCenterModule.dll
---@param userIDs string[]
---@param callback System.Action<UnityEngine.SocialPlatforms.IUserProfile[]>
function CS.UnityEngine.Social:LoadUsers(userIDs, callback) end

---@source UnityEngine.GameCenterModule.dll
---@param achievementID string
---@param progress double
---@param callback System.Action<bool>
function CS.UnityEngine.Social:ReportProgress(achievementID, progress, callback) end

---@source UnityEngine.GameCenterModule.dll
---@param callback System.Action<UnityEngine.SocialPlatforms.IAchievementDescription[]>
function CS.UnityEngine.Social:LoadAchievementDescriptions(callback) end

---@source UnityEngine.GameCenterModule.dll
---@param callback System.Action<UnityEngine.SocialPlatforms.IAchievement[]>
function CS.UnityEngine.Social:LoadAchievements(callback) end

---@source UnityEngine.GameCenterModule.dll
---@param score long
---@param board string
---@param callback System.Action<bool>
function CS.UnityEngine.Social:ReportScore(score, board, callback) end

---@source UnityEngine.GameCenterModule.dll
---@param leaderboardID string
---@param callback System.Action<UnityEngine.SocialPlatforms.IScore[]>
function CS.UnityEngine.Social:LoadScores(leaderboardID, callback) end

--
--Create an ILeaderboard instance.
--
---@source UnityEngine.GameCenterModule.dll
---@return ILeaderboard
function CS.UnityEngine.Social:CreateLeaderboard() end

--
--Create an IAchievement instance.
--
---@source UnityEngine.GameCenterModule.dll
---@return IAchievement
function CS.UnityEngine.Social:CreateAchievement() end

--
--Show a default/system view of the games achievements.
--
---@source UnityEngine.GameCenterModule.dll
function CS.UnityEngine.Social:ShowAchievementsUI() end

--
--Show a default/system view of the games leaderboards.
--
---@source UnityEngine.GameCenterModule.dll
function CS.UnityEngine.Social:ShowLeaderboardUI() end


--
--Grid is the base class for plotting a layout of uniformly spaced points and lines.
--
---@source UnityEngine.GridModule.dll
---@class UnityEngine.Grid: UnityEngine.GridLayout
--
--The size of each cell in the Grid.
--
---@source UnityEngine.GridModule.dll
---@field cellSize UnityEngine.Vector3
--
--The size of the gap between each cell in the Grid.
--
---@source UnityEngine.GridModule.dll
---@field cellGap UnityEngine.Vector3
--
--The layout of the cells in the Grid.
--
---@source UnityEngine.GridModule.dll
---@field cellLayout UnityEngine.GridLayout.CellLayout
--
--The cell swizzle for the Grid.
--
---@source UnityEngine.GridModule.dll
---@field cellSwizzle UnityEngine.GridLayout.CellSwizzle
---@source UnityEngine.GridModule.dll
CS.UnityEngine.Grid = {}

--
--Center of the cell transformed into local space coordinates.
--
--```plaintext
--Params: position - Grid cell position.
--        
--```
--
---@source UnityEngine.GridModule.dll
---@param position UnityEngine.Vector3Int
---@return Vector3
function CS.UnityEngine.Grid.GetCellCenterLocal(position) end

--
--Center of the cell transformed into world space coordinates.
--
--```plaintext
--Params: position - Grid cell position.
--        
--```
--
---@source UnityEngine.GridModule.dll
---@param position UnityEngine.Vector3Int
---@return Vector3
function CS.UnityEngine.Grid.GetCellCenterWorld(position) end

---@source UnityEngine.GridModule.dll
---@param swizzle UnityEngine.GridLayout.CellSwizzle
---@param position UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Grid:Swizzle(swizzle, position) end

---@source UnityEngine.GridModule.dll
---@param swizzle UnityEngine.GridLayout.CellSwizzle
---@param position UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.Grid:InverseSwizzle(swizzle, position) end


--
--An abstract class that defines a grid layout.
--
---@source UnityEngine.GridModule.dll
---@class UnityEngine.GridLayout: UnityEngine.Behaviour
--
--The size of each cell in the layout.
--
---@source UnityEngine.GridModule.dll
---@field cellSize UnityEngine.Vector3
--
--The size of the gap between each cell in the layout.
--
---@source UnityEngine.GridModule.dll
---@field cellGap UnityEngine.Vector3
--
--The layout of the cells.
--
---@source UnityEngine.GridModule.dll
---@field cellLayout UnityEngine.GridLayout.CellLayout
--
--The cell swizzle for the layout.
--
---@source UnityEngine.GridModule.dll
---@field cellSwizzle UnityEngine.GridLayout.CellSwizzle
---@source UnityEngine.GridModule.dll
CS.UnityEngine.GridLayout = {}

--
--Local bounds of cell at the location.
--
--```plaintext
--Params: cellPosition - Location of the cell.
--        
--```
--
---@source UnityEngine.GridModule.dll
---@param cellPosition UnityEngine.Vector3Int
---@return Bounds
function CS.UnityEngine.GridLayout.GetBoundsLocal(cellPosition) end

--
--Local bounds of the group of cells at the location.
--
--```plaintext
--Params: origin - Origin of the group of cells.
--        size - Size of the group of cells.
--        
--```
--
---@source UnityEngine.GridModule.dll
---@param origin UnityEngine.Vector3
---@param size UnityEngine.Vector3
---@return Bounds
function CS.UnityEngine.GridLayout.GetBoundsLocal(origin, size) end

--
--Local position of the cell position.
--
--```plaintext
--Params: cellPosition - Cell position to convert.
--        
--```
--
---@source UnityEngine.GridModule.dll
---@param cellPosition UnityEngine.Vector3Int
---@return Vector3
function CS.UnityEngine.GridLayout.CellToLocal(cellPosition) end

--
--Cell position of the local position.
--
--```plaintext
--Params: localPosition - Local Position to convert.
--        
--```
--
---@source UnityEngine.GridModule.dll
---@param localPosition UnityEngine.Vector3
---@return Vector3Int
function CS.UnityEngine.GridLayout.LocalToCell(localPosition) end

--
--Local position of the cell position.
--
--```plaintext
--Params: cellPosition - Interpolated cell position to convert.
--        
--```
--
---@source UnityEngine.GridModule.dll
---@param cellPosition UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.GridLayout.CellToLocalInterpolated(cellPosition) end

--
--Interpolated cell position of the local position.
--
--```plaintext
--Params: localPosition - Local Position to convert.
--        
--```
--
---@source UnityEngine.GridModule.dll
---@param localPosition UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.GridLayout.LocalToCellInterpolated(localPosition) end

--
--World position of the cell position.
--
--```plaintext
--Params: cellPosition - Cell position to convert.
--        
--```
--
---@source UnityEngine.GridModule.dll
---@param cellPosition UnityEngine.Vector3Int
---@return Vector3
function CS.UnityEngine.GridLayout.CellToWorld(cellPosition) end

--
--Cell position of the world position.
--
--```plaintext
--Params: worldPosition - World Position to convert.
--        
--```
--
---@source UnityEngine.GridModule.dll
---@param worldPosition UnityEngine.Vector3
---@return Vector3Int
function CS.UnityEngine.GridLayout.WorldToCell(worldPosition) end

--
--World position of the local position.
--
--```plaintext
--Params: localPosition - Local Position to convert.
--        
--```
--
---@source UnityEngine.GridModule.dll
---@param localPosition UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.GridLayout.LocalToWorld(localPosition) end

--
--Local position of the world position.
--
--```plaintext
--Params: worldPosition - World Position to convert.
--        
--```
--
---@source UnityEngine.GridModule.dll
---@param worldPosition UnityEngine.Vector3
---@return Vector3
function CS.UnityEngine.GridLayout.WorldToLocal(worldPosition) end

--
--Cell Center coordinate.
--
---@source UnityEngine.GridModule.dll
---@return Vector3
function CS.UnityEngine.GridLayout.GetLayoutCellCenter() end


--
--The layout of the GridLayout.
--
---@source UnityEngine.GridModule.dll
---@class UnityEngine.CellLayout: System.Enum
--
--Rectangular layout for cells in the GridLayout.
--
---@source UnityEngine.GridModule.dll
---@field Rectangle UnityEngine.GridLayout.CellLayout
--
--Hexagonal layout for cells in the GridLayout.
--
---@source UnityEngine.GridModule.dll
---@field Hexagon UnityEngine.GridLayout.CellLayout
--
--Isometric layout for cells in the GridLayout.
--
---@source UnityEngine.GridModule.dll
---@field Isometric UnityEngine.GridLayout.CellLayout
--
--Isometric layout for cells in the GridLayout where any Z cell value set will be added as a Y value.
--
---@source UnityEngine.GridModule.dll
---@field IsometricZAsY UnityEngine.GridLayout.CellLayout
---@source UnityEngine.GridModule.dll
CS.UnityEngine.CellLayout = {}

---@source 
---@param value any
---@return UnityEngine.GridLayout.CellLayout
function CS.UnityEngine.CellLayout:__CastFrom(value) end


--
--Swizzles cell positions to other positions.
--
---@source UnityEngine.GridModule.dll
---@class UnityEngine.CellSwizzle: System.Enum
--
--Keeps the cell positions at XYZ.
--
---@source UnityEngine.GridModule.dll
---@field XYZ UnityEngine.GridLayout.CellSwizzle
--
--Swizzles the cell positions from XYZ to XZY.
--
---@source UnityEngine.GridModule.dll
---@field XZY UnityEngine.GridLayout.CellSwizzle
--
--Swizzles the cell positions from XYZ to YXZ.
--
---@source UnityEngine.GridModule.dll
---@field YXZ UnityEngine.GridLayout.CellSwizzle
--
--Swizzles the cell positions from XYZ to YZX.
--
---@source UnityEngine.GridModule.dll
---@field YZX UnityEngine.GridLayout.CellSwizzle
--
--Swizzles the cell positions from XYZ to ZXY.
--
---@source UnityEngine.GridModule.dll
---@field ZXY UnityEngine.GridLayout.CellSwizzle
--
--Swizzles the cell positions from XYZ to ZYX.
--
---@source UnityEngine.GridModule.dll
---@field ZYX UnityEngine.GridLayout.CellSwizzle
---@source UnityEngine.GridModule.dll
CS.UnityEngine.CellSwizzle = {}

---@source 
---@param value any
---@return UnityEngine.GridLayout.CellSwizzle
function CS.UnityEngine.CellSwizzle:__CastFrom(value) end


--
--This class provides utility and extension methods to convert image data from or to PNG, EXR, TGA, and JPEG formats.
--
---@source UnityEngine.ImageConversionModule.dll
---@class UnityEngine.ImageConversion: object
--
--Enables legacy PNG runtime import behavior.
--
---@source UnityEngine.ImageConversionModule.dll
---@field EnableLegacyPngGammaRuntimeLoadBehavior bool
---@source UnityEngine.ImageConversionModule.dll
CS.UnityEngine.ImageConversion = {}

--
--Encodes this array into TGA format.
--
--```plaintext
--Params: array - The byte array to convert.
--        format - The pixel format of the image data.
--        width - The width of the image data in pixels.
--        height - The height of the image data in pixels.
--        rowBytes - The length of a single row in bytes.
--        
--```
--
---@source UnityEngine.ImageConversionModule.dll
---@param array System.Array
---@param format UnityEngine.Experimental.Rendering.GraphicsFormat
---@param width uint
---@param height uint
---@param rowBytes uint
function CS.UnityEngine.ImageConversion:EncodeArrayToTGA(array, format, width, height, rowBytes) end

--
--Encodes this array into PNG format.
--
--```plaintext
--Params: array - The byte array to convert.
--        format - The pixel format of the image data.
--        width - The width of the image data in pixels.
--        height - The height of the image data in pixels.
--        rowBytes - The length of a single row in bytes.
--        
--```
--
---@source UnityEngine.ImageConversionModule.dll
---@param array System.Array
---@param format UnityEngine.Experimental.Rendering.GraphicsFormat
---@param width uint
---@param height uint
---@param rowBytes uint
function CS.UnityEngine.ImageConversion:EncodeArrayToPNG(array, format, width, height, rowBytes) end

--
--Encodes this array into JPG format.
--
--```plaintext
--Params: array - The byte array to convert.
--        format - The pixel format of the image data.
--        width - The width of the image data in pixels.
--        height - The height of the image data in pixels.
--        rowBytes - The length of a single row in bytes.
--        quality - JPG quality to encode with, 1..100 (default 75).
--        
--```
--
---@source UnityEngine.ImageConversionModule.dll
---@param array System.Array
---@param format UnityEngine.Experimental.Rendering.GraphicsFormat
---@param width uint
---@param height uint
---@param rowBytes uint
---@param quality int
function CS.UnityEngine.ImageConversion:EncodeArrayToJPG(array, format, width, height, rowBytes, quality) end

---@source UnityEngine.ImageConversionModule.dll
---@param array System.Array
---@param format UnityEngine.Experimental.Rendering.GraphicsFormat
---@param width uint
---@param height uint
---@param rowBytes uint
---@param flags UnityEngine.Texture2D.EXRFlags
function CS.UnityEngine.ImageConversion:EncodeArrayToEXR(array, format, width, height, rowBytes, flags) end

---@source UnityEngine.ImageConversionModule.dll
---@param input Unity.Collections.NativeArray<T>
---@param format UnityEngine.Experimental.Rendering.GraphicsFormat
---@param width uint
---@param height uint
---@param rowBytes uint
---@return NativeArray
function CS.UnityEngine.ImageConversion:EncodeNativeArrayToTGA(input, format, width, height, rowBytes) end

---@source UnityEngine.ImageConversionModule.dll
---@param input Unity.Collections.NativeArray<T>
---@param format UnityEngine.Experimental.Rendering.GraphicsFormat
---@param width uint
---@param height uint
---@param rowBytes uint
---@return NativeArray
function CS.UnityEngine.ImageConversion:EncodeNativeArrayToPNG(input, format, width, height, rowBytes) end

---@source UnityEngine.ImageConversionModule.dll
---@param input Unity.Collections.NativeArray<T>
---@param format UnityEngine.Experimental.Rendering.GraphicsFormat
---@param width uint
---@param height uint
---@param rowBytes uint
---@param quality int
---@return NativeArray
function CS.UnityEngine.ImageConversion:EncodeNativeArrayToJPG(input, format, width, height, rowBytes, quality) end

---@source UnityEngine.ImageConversionModule.dll
---@param input Unity.Collections.NativeArray<T>
---@param format UnityEngine.Experimental.Rendering.GraphicsFormat
---@param width uint
---@param height uint
---@param rowBytes uint
---@param flags UnityEngine.Texture2D.EXRFlags
---@return NativeArray
function CS.UnityEngine.ImageConversion:EncodeNativeArrayToEXR(input, format, width, height, rowBytes, flags) end

--
--Encodes the specified texture in TGA format.
--
--```plaintext
--Params: tex - The texture to encode.
--        
--```
--
---@source UnityEngine.ImageConversionModule.dll
function CS.UnityEngine.ImageConversion.EncodeToTGA() end

--
--Encodes this texture into PNG format.
--
--```plaintext
--Params: tex - The texture to convert.
--        
--```
--
---@source UnityEngine.ImageConversionModule.dll
function CS.UnityEngine.ImageConversion.EncodeToPNG() end

--
--Encodes this texture into JPG format.
--
--```plaintext
--Params: tex - Text texture to convert.
--        quality - JPG quality to encode with, 1..100 (default 75).
--        
--```
--
---@source UnityEngine.ImageConversionModule.dll
---@param quality int
function CS.UnityEngine.ImageConversion.EncodeToJPG(quality) end

--
--Encodes this texture into JPG format.
--
--```plaintext
--Params: tex - Text texture to convert.
--        quality - JPG quality to encode with, 1..100 (default 75).
--        
--```
--
---@source UnityEngine.ImageConversionModule.dll
function CS.UnityEngine.ImageConversion.EncodeToJPG() end

---@source UnityEngine.ImageConversionModule.dll
---@param flags UnityEngine.Texture2D.EXRFlags
function CS.UnityEngine.ImageConversion.EncodeToEXR(flags) end

---@source UnityEngine.ImageConversionModule.dll
function CS.UnityEngine.ImageConversion.EncodeToEXR() end

--
--Returns true if the data can be loaded, false otherwise.
--
--```plaintext
--Params: data - The byte array containing the image data to load.
--        markNonReadable - Set to false by default, pass true to optionally mark the texture as non-readable.
--        tex - The texture to load the image into.
--        
--```
--
---@source UnityEngine.ImageConversionModule.dll
---@param data byte[]
---@param markNonReadable bool
---@return Boolean
function CS.UnityEngine.ImageConversion.LoadImage(data, markNonReadable) end

---@source UnityEngine.ImageConversionModule.dll
---@param data byte[]
---@return Boolean
function CS.UnityEngine.ImageConversion.LoadImage(data) end


--
--A UnityGUI event.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.Event: object
---@source UnityEngine.IMGUIModule.dll
---@field rawType UnityEngine.EventType
--
--The mouse position.
--
---@source UnityEngine.IMGUIModule.dll
---@field mousePosition UnityEngine.Vector2
--
--The relative movement of the mouse compared to last event.
--
---@source UnityEngine.IMGUIModule.dll
---@field delta UnityEngine.Vector2
--
--The type of pointer that created this event (for example, mouse, touch screen, pen).
--
---@source UnityEngine.IMGUIModule.dll
---@field pointerType UnityEngine.PointerType
--
--Which mouse button was pressed.
--
---@source UnityEngine.IMGUIModule.dll
---@field button int
--
--Which modifier keys are held down.
--
---@source UnityEngine.IMGUIModule.dll
---@field modifiers UnityEngine.EventModifiers
--
--How hard stylus pressure is applied.
--
---@source UnityEngine.IMGUIModule.dll
---@field pressure float
--
--How many consecutive mouse clicks have we received.
--
---@source UnityEngine.IMGUIModule.dll
---@field clickCount int
--
--The character typed.
--
---@source UnityEngine.IMGUIModule.dll
---@field character char
--
--The raw key code for keyboard events.
--
---@source UnityEngine.IMGUIModule.dll
---@field keyCode UnityEngine.KeyCode
--
--Index of display that the event belongs to.
--
---@source UnityEngine.IMGUIModule.dll
---@field displayIndex int
--
--The type of event.
--
---@source UnityEngine.IMGUIModule.dll
---@field type UnityEngine.EventType
--
--The name of an ExecuteCommand or ValidateCommand Event.
--
---@source UnityEngine.IMGUIModule.dll
---@field commandName string
---@source UnityEngine.IMGUIModule.dll
---@field mouseRay UnityEngine.Ray
--
--Is Shift held down? (Read Only)
--
---@source UnityEngine.IMGUIModule.dll
---@field shift bool
--
--Is Control key held down? (Read Only)
--
---@source UnityEngine.IMGUIModule.dll
---@field control bool
--
--Is Alt/Option key held down? (Read Only)
--
---@source UnityEngine.IMGUIModule.dll
---@field alt bool
--
--Is Command/Windows key held down? (Read Only)
--
---@source UnityEngine.IMGUIModule.dll
---@field command bool
--
--Is Caps Lock on? (Read Only)
--
---@source UnityEngine.IMGUIModule.dll
---@field capsLock bool
--
--Is the current keypress on the numeric keyboard? (Read Only)
--
---@source UnityEngine.IMGUIModule.dll
---@field numeric bool
--
--Is the current keypress a function key? (Read Only)
--
---@source UnityEngine.IMGUIModule.dll
---@field functionKey bool
--
--The current event that's being processed right now.
--
---@source UnityEngine.IMGUIModule.dll
---@field current UnityEngine.Event
--
--Is this event a keyboard event? (Read Only)
--
---@source UnityEngine.IMGUIModule.dll
---@field isKey bool
--
--Is this event a mouse event? (Read Only)
--
---@source UnityEngine.IMGUIModule.dll
---@field isMouse bool
---@source UnityEngine.IMGUIModule.dll
---@field isScrollWheel bool
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.Event = {}

--
--Get a filtered event type for a given control ID.
--
--```plaintext
--Params: controlID - The ID of the control you are querying from.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param controlID int
---@return EventType
function CS.UnityEngine.Event.GetTypeForControl(controlID) end

--
--Get the next queued [Event] from the event system.
--
--```plaintext
--Params: outEvent - Next Event.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param outEvent UnityEngine.Event
---@return Boolean
function CS.UnityEngine.Event:PopEvent(outEvent) end

--
--Current number of events currently in the event queue.
--
---@source UnityEngine.IMGUIModule.dll
---@return Int32
function CS.UnityEngine.Event:GetEventCount() end

--
--Create a keyboard event.
--
---@source UnityEngine.IMGUIModule.dll
---@param key string
---@return Event
function CS.UnityEngine.Event:KeyboardEvent(key) end

---@source UnityEngine.IMGUIModule.dll
---@return Int32
function CS.UnityEngine.Event.GetHashCode() end

---@source UnityEngine.IMGUIModule.dll
---@param obj object
---@return Boolean
function CS.UnityEngine.Event.Equals(obj) end

---@source UnityEngine.IMGUIModule.dll
---@return String
function CS.UnityEngine.Event.ToString() end

--
--Use this event.
--
---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.Event.Use() end


--
--Types of UnityGUI input and processing events.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.EventType: System.Enum
--
--Mouse button was pressed.
--
---@source UnityEngine.IMGUIModule.dll
---@field MouseDown UnityEngine.EventType
--
--Mouse button was released.
--
---@source UnityEngine.IMGUIModule.dll
---@field MouseUp UnityEngine.EventType
--
--Mouse was moved (Editor views only).
--
---@source UnityEngine.IMGUIModule.dll
---@field MouseMove UnityEngine.EventType
--
--Mouse was dragged.
--
---@source UnityEngine.IMGUIModule.dll
---@field MouseDrag UnityEngine.EventType
--
--A keyboard key was pressed.
--
---@source UnityEngine.IMGUIModule.dll
---@field KeyDown UnityEngine.EventType
--
--A keyboard key was released.
--
---@source UnityEngine.IMGUIModule.dll
---@field KeyUp UnityEngine.EventType
--
--The scroll wheel was moved.
--
---@source UnityEngine.IMGUIModule.dll
---@field ScrollWheel UnityEngine.EventType
--
--A repaint event. One is sent every frame.
--
---@source UnityEngine.IMGUIModule.dll
---@field Repaint UnityEngine.EventType
--
--A layout event.
--
---@source UnityEngine.IMGUIModule.dll
---@field Layout UnityEngine.EventType
--
--Editor only: drag & drop operation updated.
--
---@source UnityEngine.IMGUIModule.dll
---@field DragUpdated UnityEngine.EventType
--
--Editor only: drag & drop operation performed.
--
---@source UnityEngine.IMGUIModule.dll
---@field DragPerform UnityEngine.EventType
--
--Editor only: drag & drop operation exited.
--
---@source UnityEngine.IMGUIModule.dll
---@field DragExited UnityEngine.EventType
--
--Event should be ignored.
--
---@source UnityEngine.IMGUIModule.dll
---@field Ignore UnityEngine.EventType
--
--Already processed event.
--
---@source UnityEngine.IMGUIModule.dll
---@field Used UnityEngine.EventType
--
--Validates a special command (e.g. copy & paste).
--
---@source UnityEngine.IMGUIModule.dll
---@field ValidateCommand UnityEngine.EventType
--
--Execute a special command (eg. copy & paste).
--
---@source UnityEngine.IMGUIModule.dll
---@field ExecuteCommand UnityEngine.EventType
--
--User has right-clicked (or control-clicked on the mac).
--
---@source UnityEngine.IMGUIModule.dll
---@field ContextClick UnityEngine.EventType
--
--Mouse entered a window (Editor views only).
--
---@source UnityEngine.IMGUIModule.dll
---@field MouseEnterWindow UnityEngine.EventType
--
--Mouse left a window (Editor views only).
--
---@source UnityEngine.IMGUIModule.dll
---@field MouseLeaveWindow UnityEngine.EventType
--
--Direct manipulation device (finger, pen) touched the screen.
--
---@source UnityEngine.IMGUIModule.dll
---@field TouchDown UnityEngine.EventType
--
--Direct manipulation device (finger, pen) left the screen.
--
---@source UnityEngine.IMGUIModule.dll
---@field TouchUp UnityEngine.EventType
--
--Direct manipulation device (finger, pen) moved on the screen (drag).
--
---@source UnityEngine.IMGUIModule.dll
---@field TouchMove UnityEngine.EventType
--
--Direct manipulation device (finger, pen) moving into the window (drag).
--
---@source UnityEngine.IMGUIModule.dll
---@field TouchEnter UnityEngine.EventType
--
--Direct manipulation device (finger, pen) moved out of the window (drag).
--
---@source UnityEngine.IMGUIModule.dll
---@field TouchLeave UnityEngine.EventType
--
--Direct manipulation device (finger, pen) stationary event (long touch down).
--
---@source UnityEngine.IMGUIModule.dll
---@field TouchStationary UnityEngine.EventType
--
--An event that is called when the mouse is clicked.
--
---@source UnityEngine.IMGUIModule.dll
---@field mouseDown UnityEngine.EventType
--
--An event that is called when the mouse is no longer being clicked.
--
---@source UnityEngine.IMGUIModule.dll
---@field mouseUp UnityEngine.EventType
---@source UnityEngine.IMGUIModule.dll
---@field mouseMove UnityEngine.EventType
--
--An event that is called when the mouse is clicked and dragged.
--
---@source UnityEngine.IMGUIModule.dll
---@field mouseDrag UnityEngine.EventType
---@source UnityEngine.IMGUIModule.dll
---@field keyDown UnityEngine.EventType
---@source UnityEngine.IMGUIModule.dll
---@field keyUp UnityEngine.EventType
---@source UnityEngine.IMGUIModule.dll
---@field scrollWheel UnityEngine.EventType
---@source UnityEngine.IMGUIModule.dll
---@field repaint UnityEngine.EventType
---@source UnityEngine.IMGUIModule.dll
---@field layout UnityEngine.EventType
---@source UnityEngine.IMGUIModule.dll
---@field dragUpdated UnityEngine.EventType
---@source UnityEngine.IMGUIModule.dll
---@field dragPerform UnityEngine.EventType
---@source UnityEngine.IMGUIModule.dll
---@field ignore UnityEngine.EventType
---@source UnityEngine.IMGUIModule.dll
---@field used UnityEngine.EventType
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.EventType = {}

---@source 
---@param value any
---@return UnityEngine.EventType
function CS.UnityEngine.EventType:__CastFrom(value) end


--
--Types of modifier key that can be active during a keystroke event.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.EventModifiers: System.Enum
--
--No modifier key pressed during a keystroke event.
--
---@source UnityEngine.IMGUIModule.dll
---@field None UnityEngine.EventModifiers
--
--Shift key.
--
---@source UnityEngine.IMGUIModule.dll
---@field Shift UnityEngine.EventModifiers
--
--Control key.
--
---@source UnityEngine.IMGUIModule.dll
---@field Control UnityEngine.EventModifiers
--
--Alt key.
--
---@source UnityEngine.IMGUIModule.dll
---@field Alt UnityEngine.EventModifiers
--
--Command key (Mac).
--
---@source UnityEngine.IMGUIModule.dll
---@field Command UnityEngine.EventModifiers
--
--Num lock key.
--
---@source UnityEngine.IMGUIModule.dll
---@field Numeric UnityEngine.EventModifiers
--
--Caps lock key.
--
---@source UnityEngine.IMGUIModule.dll
---@field CapsLock UnityEngine.EventModifiers
--
--Function key.
--
---@source UnityEngine.IMGUIModule.dll
---@field FunctionKey UnityEngine.EventModifiers
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.EventModifiers = {}

---@source 
---@param value any
---@return UnityEngine.EventModifiers
function CS.UnityEngine.EventModifiers:__CastFrom(value) end


--
--Pointer types.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.PointerType: System.Enum
--
--The pointer type for mouse events.
--
---@source UnityEngine.IMGUIModule.dll
---@field Mouse UnityEngine.PointerType
--
--The pointer type for touch events.
--
---@source UnityEngine.IMGUIModule.dll
---@field Touch UnityEngine.PointerType
--
--The pointer type for pen events.
--
---@source UnityEngine.IMGUIModule.dll
---@field Pen UnityEngine.PointerType
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.PointerType = {}

---@source 
---@param value any
---@return UnityEngine.PointerType
function CS.UnityEngine.PointerType:__CastFrom(value) end


--
--The GUI class is the interface for Unity's GUI with manual positioning.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.GUI: object
--
--Global tinting color for the GUI.
--
---@source UnityEngine.IMGUIModule.dll
---@field color UnityEngine.Color
--
--Global tinting color for all background elements rendered by the GUI.
--
---@source UnityEngine.IMGUIModule.dll
---@field backgroundColor UnityEngine.Color
--
--Tinting color for all text rendered by the GUI.
--
---@source UnityEngine.IMGUIModule.dll
---@field contentColor UnityEngine.Color
--
--Returns true if any controls changed the value of the input data.
--
---@source UnityEngine.IMGUIModule.dll
---@field changed bool
--
--Is the GUI enabled?
--
---@source UnityEngine.IMGUIModule.dll
---@field enabled bool
--
--The sorting depth of the currently executing GUI behaviour.
--
---@source UnityEngine.IMGUIModule.dll
---@field depth int
--
--The global skin to use.
--
---@source UnityEngine.IMGUIModule.dll
---@field skin UnityEngine.GUISkin
--
--The GUI transform matrix.
--
---@source UnityEngine.IMGUIModule.dll
---@field matrix UnityEngine.Matrix4x4
--
--The tooltip of the control the mouse is currently over, or which has keyboard focus. (Read Only).
--
---@source UnityEngine.IMGUIModule.dll
---@field tooltip string
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.GUI = {}

--
--Set the name of the next control.
--
---@source UnityEngine.IMGUIModule.dll
---@param name string
function CS.UnityEngine.GUI:SetNextControlName(name) end

--
--Get the name of named control that has focus.
--
---@source UnityEngine.IMGUIModule.dll
---@return String
function CS.UnityEngine.GUI:GetNameOfFocusedControl() end

--
--Move keyboard focus to a named control.
--
--```plaintext
--Params: name - Name set using SetNextControlName.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param name string
function CS.UnityEngine.GUI:FocusControl(name) end

--
--Make a window draggable.
--
--```plaintext
--Params: position - The part of the window that can be dragged. This is clipped to the actual window.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
function CS.UnityEngine.GUI:DragWindow(position) end

--
--Bring a specific window to front of the floating windows.
--
--```plaintext
--Params: windowID - The identifier used when you created the window in the Window call.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param windowID int
function CS.UnityEngine.GUI:BringWindowToFront(windowID) end

--
--Bring a specific window to back of the floating windows.
--
--```plaintext
--Params: windowID - The identifier used when you created the window in the Window call.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param windowID int
function CS.UnityEngine.GUI:BringWindowToBack(windowID) end

--
--Make a window become the active window.
--
--```plaintext
--Params: windowID - The identifier used when you created the window in the Window call.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param windowID int
function CS.UnityEngine.GUI:FocusWindow(windowID) end

--
--Remove focus from all windows.
--
---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.GUI:UnfocusWindow() end

--
--Make a text or texture label on screen.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the label.
--        text - Text to display on the label.
--        image - Texture to display on the label.
--        content - Text, image and tooltip for this label.
--        style - The style to use. If left out, the label style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
function CS.UnityEngine.GUI:Label(position, text) end

--
--Make a text or texture label on screen.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the label.
--        text - Text to display on the label.
--        image - Texture to display on the label.
--        content - Text, image and tooltip for this label.
--        style - The style to use. If left out, the label style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
function CS.UnityEngine.GUI:Label(position, image) end

--
--Make a text or texture label on screen.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the label.
--        text - Text to display on the label.
--        image - Texture to display on the label.
--        content - Text, image and tooltip for this label.
--        style - The style to use. If left out, the label style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
function CS.UnityEngine.GUI:Label(position, content) end

--
--Make a text or texture label on screen.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the label.
--        text - Text to display on the label.
--        image - Texture to display on the label.
--        content - Text, image and tooltip for this label.
--        style - The style to use. If left out, the label style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
---@param style UnityEngine.GUIStyle
function CS.UnityEngine.GUI:Label(position, text, style) end

--
--Make a text or texture label on screen.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the label.
--        text - Text to display on the label.
--        image - Texture to display on the label.
--        content - Text, image and tooltip for this label.
--        style - The style to use. If left out, the label style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
function CS.UnityEngine.GUI:Label(position, image, style) end

--
--Make a text or texture label on screen.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the label.
--        text - Text to display on the label.
--        image - Texture to display on the label.
--        content - Text, image and tooltip for this label.
--        style - The style to use. If left out, the label style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
function CS.UnityEngine.GUI:Label(position, content, style) end

--
--Draw a texture within a rectangle.
--
--```plaintext
--Params: position - Rectangle on the screen to draw the texture within.
--        image - Texture to display.
--        scaleMode - How to scale the image when the aspect ratio of it doesn't fit the aspect ratio to be drawn within.
--        alphaBlend - Whether to apply alpha blending when drawing the image (enabled by default).
--        imageAspect - Aspect ratio to use for the source image. If 0 (the default), the aspect ratio from the image is used.  Pass in w/h for the desired aspect ratio.  This allows the aspect ratio of the source image to be adjusted without changing the pixel width and height.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
function CS.UnityEngine.GUI:DrawTexture(position, image) end

--
--Draw a texture within a rectangle.
--
--```plaintext
--Params: position - Rectangle on the screen to draw the texture within.
--        image - Texture to display.
--        scaleMode - How to scale the image when the aspect ratio of it doesn't fit the aspect ratio to be drawn within.
--        alphaBlend - Whether to apply alpha blending when drawing the image (enabled by default).
--        imageAspect - Aspect ratio to use for the source image. If 0 (the default), the aspect ratio from the image is used.  Pass in w/h for the desired aspect ratio.  This allows the aspect ratio of the source image to be adjusted without changing the pixel width and height.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
---@param scaleMode UnityEngine.ScaleMode
function CS.UnityEngine.GUI:DrawTexture(position, image, scaleMode) end

--
--Draw a texture within a rectangle.
--
--```plaintext
--Params: position - Rectangle on the screen to draw the texture within.
--        image - Texture to display.
--        scaleMode - How to scale the image when the aspect ratio of it doesn't fit the aspect ratio to be drawn within.
--        alphaBlend - Whether to apply alpha blending when drawing the image (enabled by default).
--        imageAspect - Aspect ratio to use for the source image. If 0 (the default), the aspect ratio from the image is used.  Pass in w/h for the desired aspect ratio.  This allows the aspect ratio of the source image to be adjusted without changing the pixel width and height.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
---@param scaleMode UnityEngine.ScaleMode
---@param alphaBlend bool
function CS.UnityEngine.GUI:DrawTexture(position, image, scaleMode, alphaBlend) end

--
--Draw a texture within a rectangle.
--
--```plaintext
--Params: position - Rectangle on the screen to draw the texture within.
--        image - Texture to display.
--        scaleMode - How to scale the image when the aspect ratio of it doesn't fit the aspect ratio to be drawn within.
--        alphaBlend - Whether to apply alpha blending when drawing the image (enabled by default).
--        imageAspect - Aspect ratio to use for the source image. If 0 (the default), the aspect ratio from the image is used.  Pass in w/h for the desired aspect ratio.  This allows the aspect ratio of the source image to be adjusted without changing the pixel width and height.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
---@param scaleMode UnityEngine.ScaleMode
---@param alphaBlend bool
---@param imageAspect float
function CS.UnityEngine.GUI:DrawTexture(position, image, scaleMode, alphaBlend, imageAspect) end

--
--Draws a border with rounded corners within a rectangle. The texture is used to pattern the border.  Note that this method only works on shader model 2.5 and above.
--
--```plaintext
--Params: position - Rectangle on the screen to draw the texture within.
--        image - Texture to display.
--        scaleMode - How to scale the image when the aspect ratio of it doesn't fit the aspect ratio to be drawn within.
--        alphaBlend - Whether to apply alpha blending when drawing the image (enabled by default).
--        imageAspect - Aspect ratio to use for the source image. If 0 (the default), the aspect ratio from the image is used.  Pass in w/h for the desired aspect ratio.  This allows the aspect ratio of the source image to be adjusted without changing the pixel width and height.
--        color - A tint color to apply on the texture.
--        borderWidth - The width of the border. If 0, the full texture is drawn.
--        borderWidths - The width of the borders (left, top, right and bottom). If Vector4.zero, the full texture is drawn.
--        borderRadius - The radius for rounded corners. If 0, corners will not be rounded.
--        borderRadiuses - The radiuses for rounded corners (top-left, top-right, bottom-right and bottom-left). If Vector4.zero, corners will not be rounded.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
---@param scaleMode UnityEngine.ScaleMode
---@param alphaBlend bool
---@param imageAspect float
---@param color UnityEngine.Color
---@param borderWidth float
---@param borderRadius float
function CS.UnityEngine.GUI:DrawTexture(position, image, scaleMode, alphaBlend, imageAspect, color, borderWidth, borderRadius) end

--
--Draws a border with rounded corners within a rectangle. The texture is used to pattern the border.  Note that this method only works on shader model 2.5 and above.
--
--```plaintext
--Params: position - Rectangle on the screen to draw the texture within.
--        image - Texture to display.
--        scaleMode - How to scale the image when the aspect ratio of it doesn't fit the aspect ratio to be drawn within.
--        alphaBlend - Whether to apply alpha blending when drawing the image (enabled by default).
--        imageAspect - Aspect ratio to use for the source image. If 0 (the default), the aspect ratio from the image is used.  Pass in w/h for the desired aspect ratio.  This allows the aspect ratio of the source image to be adjusted without changing the pixel width and height.
--        color - A tint color to apply on the texture.
--        borderWidth - The width of the border. If 0, the full texture is drawn.
--        borderWidths - The width of the borders (left, top, right and bottom). If Vector4.zero, the full texture is drawn.
--        borderRadius - The radius for rounded corners. If 0, corners will not be rounded.
--        borderRadiuses - The radiuses for rounded corners (top-left, top-right, bottom-right and bottom-left). If Vector4.zero, corners will not be rounded.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
---@param scaleMode UnityEngine.ScaleMode
---@param alphaBlend bool
---@param imageAspect float
---@param color UnityEngine.Color
---@param borderWidths UnityEngine.Vector4
---@param borderRadius float
function CS.UnityEngine.GUI:DrawTexture(position, image, scaleMode, alphaBlend, imageAspect, color, borderWidths, borderRadius) end

---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
---@param scaleMode UnityEngine.ScaleMode
---@param alphaBlend bool
---@param imageAspect float
---@param color UnityEngine.Color
---@param borderWidths UnityEngine.Vector4
---@param borderRadiuses UnityEngine.Vector4
function CS.UnityEngine.GUI:DrawTexture(position, image, scaleMode, alphaBlend, imageAspect, color, borderWidths, borderRadiuses) end

--
--Draw a texture within a rectangle with the given texture coordinates.
--
--```plaintext
--Params: position - Rectangle on the screen to draw the texture within.
--        image - Texture to display.
--        texCoords - How to scale the image when the aspect ratio of it doesn't fit the aspect ratio to be drawn within.
--        alphaBlend - Whether to alpha blend the image on to the display (the default). If false, the picture is drawn on to the display.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
---@param texCoords UnityEngine.Rect
function CS.UnityEngine.GUI:DrawTextureWithTexCoords(position, image, texCoords) end

--
--Draw a texture within a rectangle with the given texture coordinates.
--
--```plaintext
--Params: position - Rectangle on the screen to draw the texture within.
--        image - Texture to display.
--        texCoords - How to scale the image when the aspect ratio of it doesn't fit the aspect ratio to be drawn within.
--        alphaBlend - Whether to alpha blend the image on to the display (the default). If false, the picture is drawn on to the display.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
---@param texCoords UnityEngine.Rect
---@param alphaBlend bool
function CS.UnityEngine.GUI:DrawTextureWithTexCoords(position, image, texCoords, alphaBlend) end

--
--Create a Box on the GUI Layer.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the box.
--        text - Text to display on the box.
--        image - Texture to display on the box.
--        content - Text, image and tooltip for this box.
--        style - The style to use. If left out, the box style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
function CS.UnityEngine.GUI:Box(position, text) end

--
--Create a Box on the GUI Layer.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the box.
--        text - Text to display on the box.
--        image - Texture to display on the box.
--        content - Text, image and tooltip for this box.
--        style - The style to use. If left out, the box style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
function CS.UnityEngine.GUI:Box(position, image) end

--
--Create a Box on the GUI Layer.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the box.
--        text - Text to display on the box.
--        image - Texture to display on the box.
--        content - Text, image and tooltip for this box.
--        style - The style to use. If left out, the box style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
function CS.UnityEngine.GUI:Box(position, content) end

--
--Create a Box on the GUI Layer.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the box.
--        text - Text to display on the box.
--        image - Texture to display on the box.
--        content - Text, image and tooltip for this box.
--        style - The style to use. If left out, the box style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
---@param style UnityEngine.GUIStyle
function CS.UnityEngine.GUI:Box(position, text, style) end

--
--Create a Box on the GUI Layer.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the box.
--        text - Text to display on the box.
--        image - Texture to display on the box.
--        content - Text, image and tooltip for this box.
--        style - The style to use. If left out, the box style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
function CS.UnityEngine.GUI:Box(position, image, style) end

--
--Create a Box on the GUI Layer.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the box.
--        text - Text to display on the box.
--        image - Texture to display on the box.
--        content - Text, image and tooltip for this box.
--        style - The style to use. If left out, the box style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
function CS.UnityEngine.GUI:Box(position, content, style) end

--
--true when the users clicks the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
---@return Boolean
function CS.UnityEngine.GUI:Button(position, text) end

--
--true when the users clicks the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
---@return Boolean
function CS.UnityEngine.GUI:Button(position, image) end

--
--true when the users clicks the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
---@return Boolean
function CS.UnityEngine.GUI:Button(position, content) end

--
--true when the users clicks the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
---@param style UnityEngine.GUIStyle
---@return Boolean
function CS.UnityEngine.GUI:Button(position, text, style) end

--
--true when the users clicks the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
---@return Boolean
function CS.UnityEngine.GUI:Button(position, image, style) end

--
--true when the users clicks the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
---@return Boolean
function CS.UnityEngine.GUI:Button(position, content, style) end

--
--True when the users clicks the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
---@return Boolean
function CS.UnityEngine.GUI:RepeatButton(position, text) end

--
--True when the users clicks the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
---@return Boolean
function CS.UnityEngine.GUI:RepeatButton(position, image) end

--
--True when the users clicks the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
---@return Boolean
function CS.UnityEngine.GUI:RepeatButton(position, content) end

--
--True when the users clicks the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
---@param style UnityEngine.GUIStyle
---@return Boolean
function CS.UnityEngine.GUI:RepeatButton(position, text, style) end

--
--True when the users clicks the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
---@return Boolean
function CS.UnityEngine.GUI:RepeatButton(position, image, style) end

--
--True when the users clicks the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
---@return Boolean
function CS.UnityEngine.GUI:RepeatButton(position, content, style) end

--
--The edited string.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the text field.
--        text - Text to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textField style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
---@return String
function CS.UnityEngine.GUI:TextField(position, text) end

--
--The edited string.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the text field.
--        text - Text to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textField style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
---@param maxLength int
---@return String
function CS.UnityEngine.GUI:TextField(position, text, maxLength) end

--
--The edited string.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the text field.
--        text - Text to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textField style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
---@param style UnityEngine.GUIStyle
---@return String
function CS.UnityEngine.GUI:TextField(position, text, style) end

--
--The edited string.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the text field.
--        text - Text to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textField style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
---@param maxLength int
---@param style UnityEngine.GUIStyle
---@return String
function CS.UnityEngine.GUI:TextField(position, text, maxLength, style) end

--
--The edited password.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the text field.
--        password - Password to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maskChar - Character to mask the password with.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textField style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param password string
---@param maskChar char
---@return String
function CS.UnityEngine.GUI:PasswordField(position, password, maskChar) end

--
--The edited password.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the text field.
--        password - Password to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maskChar - Character to mask the password with.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textField style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param password string
---@param maskChar char
---@param maxLength int
---@return String
function CS.UnityEngine.GUI:PasswordField(position, password, maskChar, maxLength) end

--
--The edited password.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the text field.
--        password - Password to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maskChar - Character to mask the password with.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textField style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param password string
---@param maskChar char
---@param style UnityEngine.GUIStyle
---@return String
function CS.UnityEngine.GUI:PasswordField(position, password, maskChar, style) end

--
--The edited password.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the text field.
--        password - Password to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maskChar - Character to mask the password with.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textField style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param password string
---@param maskChar char
---@param maxLength int
---@param style UnityEngine.GUIStyle
---@return String
function CS.UnityEngine.GUI:PasswordField(position, password, maskChar, maxLength, style) end

--
--The edited string.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the text field.
--        text - Text to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textArea style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
---@return String
function CS.UnityEngine.GUI:TextArea(position, text) end

--
--The edited string.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the text field.
--        text - Text to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textArea style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
---@param maxLength int
---@return String
function CS.UnityEngine.GUI:TextArea(position, text, maxLength) end

--
--The edited string.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the text field.
--        text - Text to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textArea style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
---@param style UnityEngine.GUIStyle
---@return String
function CS.UnityEngine.GUI:TextArea(position, text, style) end

--
--The edited string.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the text field.
--        text - Text to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textArea style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
---@param maxLength int
---@param style UnityEngine.GUIStyle
---@return String
function CS.UnityEngine.GUI:TextArea(position, text, maxLength, style) end

--
--The new value of the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        value - Is this button on or off?
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the toggle style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value bool
---@param text string
---@return Boolean
function CS.UnityEngine.GUI:Toggle(position, value, text) end

--
--The new value of the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        value - Is this button on or off?
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the toggle style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value bool
---@param image UnityEngine.Texture
---@return Boolean
function CS.UnityEngine.GUI:Toggle(position, value, image) end

--
--The new value of the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        value - Is this button on or off?
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the toggle style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value bool
---@param content UnityEngine.GUIContent
---@return Boolean
function CS.UnityEngine.GUI:Toggle(position, value, content) end

--
--The new value of the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        value - Is this button on or off?
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the toggle style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value bool
---@param text string
---@param style UnityEngine.GUIStyle
---@return Boolean
function CS.UnityEngine.GUI:Toggle(position, value, text, style) end

--
--The new value of the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        value - Is this button on or off?
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the toggle style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value bool
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
---@return Boolean
function CS.UnityEngine.GUI:Toggle(position, value, image, style) end

--
--The new value of the button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the button.
--        value - Is this button on or off?
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the toggle style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value bool
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
---@return Boolean
function CS.UnityEngine.GUI:Toggle(position, value, content, style) end

---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param id int
---@param value bool
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
---@return Boolean
function CS.UnityEngine.GUI:Toggle(position, id, value, content, style) end

--
--The index of the selected button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the toolbar.
--        selected - The index of the selected button.
--        texts - An array of strings to show on the toolbar buttons.
--        images - An array of textures on the toolbar buttons.
--        contents - An array of text, image and tooltips for the toolbar buttons.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        buttonSize - Determines how toolbar button size is calculated.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param selected int
---@param texts string[]
---@return Int32
function CS.UnityEngine.GUI:Toolbar(position, selected, texts) end

--
--The index of the selected button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the toolbar.
--        selected - The index of the selected button.
--        texts - An array of strings to show on the toolbar buttons.
--        images - An array of textures on the toolbar buttons.
--        contents - An array of text, image and tooltips for the toolbar buttons.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        buttonSize - Determines how toolbar button size is calculated.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param selected int
---@param images UnityEngine.Texture[]
---@return Int32
function CS.UnityEngine.GUI:Toolbar(position, selected, images) end

--
--The index of the selected button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the toolbar.
--        selected - The index of the selected button.
--        texts - An array of strings to show on the toolbar buttons.
--        images - An array of textures on the toolbar buttons.
--        contents - An array of text, image and tooltips for the toolbar buttons.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        buttonSize - Determines how toolbar button size is calculated.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param selected int
---@param contents UnityEngine.GUIContent[]
---@return Int32
function CS.UnityEngine.GUI:Toolbar(position, selected, contents) end

--
--The index of the selected button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the toolbar.
--        selected - The index of the selected button.
--        texts - An array of strings to show on the toolbar buttons.
--        images - An array of textures on the toolbar buttons.
--        contents - An array of text, image and tooltips for the toolbar buttons.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        buttonSize - Determines how toolbar button size is calculated.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param selected int
---@param texts string[]
---@param style UnityEngine.GUIStyle
---@return Int32
function CS.UnityEngine.GUI:Toolbar(position, selected, texts, style) end

--
--The index of the selected button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the toolbar.
--        selected - The index of the selected button.
--        texts - An array of strings to show on the toolbar buttons.
--        images - An array of textures on the toolbar buttons.
--        contents - An array of text, image and tooltips for the toolbar buttons.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        buttonSize - Determines how toolbar button size is calculated.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param selected int
---@param images UnityEngine.Texture[]
---@param style UnityEngine.GUIStyle
---@return Int32
function CS.UnityEngine.GUI:Toolbar(position, selected, images, style) end

--
--The index of the selected button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the toolbar.
--        selected - The index of the selected button.
--        texts - An array of strings to show on the toolbar buttons.
--        images - An array of textures on the toolbar buttons.
--        contents - An array of text, image and tooltips for the toolbar buttons.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        buttonSize - Determines how toolbar button size is calculated.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param selected int
---@param contents UnityEngine.GUIContent[]
---@param style UnityEngine.GUIStyle
---@return Int32
function CS.UnityEngine.GUI:Toolbar(position, selected, contents, style) end

---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param selected int
---@param contents UnityEngine.GUIContent[]
---@param style UnityEngine.GUIStyle
---@param buttonSize UnityEngine.GUI.ToolbarButtonSize
---@return Int32
function CS.UnityEngine.GUI:Toolbar(position, selected, contents, style, buttonSize) end

--
--The index of the selected button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the grid.
--        selected - The index of the selected grid button.
--        texts - An array of strings to show on the grid buttons.
--        images - An array of textures on the grid buttons.
--        contents - An array of text, image and tooltips for the grid button.
--        xCount - How many elements to fit in the horizontal direction. The controls will be scaled to fit unless the style defines a fixedWidth to use.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param selected int
---@param texts string[]
---@param xCount int
---@return Int32
function CS.UnityEngine.GUI:SelectionGrid(position, selected, texts, xCount) end

--
--The index of the selected button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the grid.
--        selected - The index of the selected grid button.
--        texts - An array of strings to show on the grid buttons.
--        images - An array of textures on the grid buttons.
--        contents - An array of text, image and tooltips for the grid button.
--        xCount - How many elements to fit in the horizontal direction. The controls will be scaled to fit unless the style defines a fixedWidth to use.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param selected int
---@param images UnityEngine.Texture[]
---@param xCount int
---@return Int32
function CS.UnityEngine.GUI:SelectionGrid(position, selected, images, xCount) end

--
--The index of the selected button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the grid.
--        selected - The index of the selected grid button.
--        texts - An array of strings to show on the grid buttons.
--        images - An array of textures on the grid buttons.
--        contents - An array of text, image and tooltips for the grid button.
--        xCount - How many elements to fit in the horizontal direction. The controls will be scaled to fit unless the style defines a fixedWidth to use.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param selected int
---@param content UnityEngine.GUIContent[]
---@param xCount int
---@return Int32
function CS.UnityEngine.GUI:SelectionGrid(position, selected, content, xCount) end

--
--The index of the selected button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the grid.
--        selected - The index of the selected grid button.
--        texts - An array of strings to show on the grid buttons.
--        images - An array of textures on the grid buttons.
--        contents - An array of text, image and tooltips for the grid button.
--        xCount - How many elements to fit in the horizontal direction. The controls will be scaled to fit unless the style defines a fixedWidth to use.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param selected int
---@param texts string[]
---@param xCount int
---@param style UnityEngine.GUIStyle
---@return Int32
function CS.UnityEngine.GUI:SelectionGrid(position, selected, texts, xCount, style) end

--
--The index of the selected button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the grid.
--        selected - The index of the selected grid button.
--        texts - An array of strings to show on the grid buttons.
--        images - An array of textures on the grid buttons.
--        contents - An array of text, image and tooltips for the grid button.
--        xCount - How many elements to fit in the horizontal direction. The controls will be scaled to fit unless the style defines a fixedWidth to use.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param selected int
---@param images UnityEngine.Texture[]
---@param xCount int
---@param style UnityEngine.GUIStyle
---@return Int32
function CS.UnityEngine.GUI:SelectionGrid(position, selected, images, xCount, style) end

--
--The index of the selected button.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the grid.
--        selected - The index of the selected grid button.
--        texts - An array of strings to show on the grid buttons.
--        images - An array of textures on the grid buttons.
--        contents - An array of text, image and tooltips for the grid button.
--        xCount - How many elements to fit in the horizontal direction. The controls will be scaled to fit unless the style defines a fixedWidth to use.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param selected int
---@param contents UnityEngine.GUIContent[]
---@param xCount int
---@param style UnityEngine.GUIStyle
---@return Int32
function CS.UnityEngine.GUI:SelectionGrid(position, selected, contents, xCount, style) end

--
--The value that has been set by the user.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the slider.
--        value - The value the slider shows. This determines the position of the draggable thumb.
--        leftValue - The value at the left end of the slider.
--        rightValue - The value at the right end of the slider.
--        slider - The GUIStyle to use for displaying the dragging area. If left out, the horizontalSlider style from the current GUISkin is used.
--        thumb - The GUIStyle to use for displaying draggable thumb. If left out, the horizontalSliderThumb style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value float
---@param leftValue float
---@param rightValue float
---@return Single
function CS.UnityEngine.GUI:HorizontalSlider(position, value, leftValue, rightValue) end

--
--The value that has been set by the user.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the slider.
--        value - The value the slider shows. This determines the position of the draggable thumb.
--        leftValue - The value at the left end of the slider.
--        rightValue - The value at the right end of the slider.
--        slider - The GUIStyle to use for displaying the dragging area. If left out, the horizontalSlider style from the current GUISkin is used.
--        thumb - The GUIStyle to use for displaying draggable thumb. If left out, the horizontalSliderThumb style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value float
---@param leftValue float
---@param rightValue float
---@param slider UnityEngine.GUIStyle
---@param thumb UnityEngine.GUIStyle
---@return Single
function CS.UnityEngine.GUI:HorizontalSlider(position, value, leftValue, rightValue, slider, thumb) end

---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value float
---@param leftValue float
---@param rightValue float
---@param slider UnityEngine.GUIStyle
---@param thumb UnityEngine.GUIStyle
---@param thumbExtent UnityEngine.GUIStyle
---@return Single
function CS.UnityEngine.GUI:HorizontalSlider(position, value, leftValue, rightValue, slider, thumb, thumbExtent) end

--
--The value that has been set by the user.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the slider.
--        value - The value the slider shows. This determines the position of the draggable thumb.
--        topValue - The value at the top end of the slider.
--        bottomValue - The value at the bottom end of the slider.
--        slider - The GUIStyle to use for displaying the dragging area. If left out, the horizontalSlider style from the current GUISkin is used.
--        thumb - The GUIStyle to use for displaying draggable thumb. If left out, the horizontalSliderThumb style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value float
---@param topValue float
---@param bottomValue float
---@return Single
function CS.UnityEngine.GUI:VerticalSlider(position, value, topValue, bottomValue) end

--
--The value that has been set by the user.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the slider.
--        value - The value the slider shows. This determines the position of the draggable thumb.
--        topValue - The value at the top end of the slider.
--        bottomValue - The value at the bottom end of the slider.
--        slider - The GUIStyle to use for displaying the dragging area. If left out, the horizontalSlider style from the current GUISkin is used.
--        thumb - The GUIStyle to use for displaying draggable thumb. If left out, the horizontalSliderThumb style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value float
---@param topValue float
---@param bottomValue float
---@param slider UnityEngine.GUIStyle
---@param thumb UnityEngine.GUIStyle
---@return Single
function CS.UnityEngine.GUI:VerticalSlider(position, value, topValue, bottomValue, slider, thumb) end

---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value float
---@param topValue float
---@param bottomValue float
---@param slider UnityEngine.GUIStyle
---@param thumb UnityEngine.GUIStyle
---@param thumbExtent UnityEngine.GUIStyle
---@return Single
function CS.UnityEngine.GUI:VerticalSlider(position, value, topValue, bottomValue, slider, thumb, thumbExtent) end

---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value float
---@param size float
---@param start float
---@param end float
---@param slider UnityEngine.GUIStyle
---@param thumb UnityEngine.GUIStyle
---@param horiz bool
---@param id int
---@param thumbExtent UnityEngine.GUIStyle
---@return Single
function CS.UnityEngine.GUI:Slider(position, value, size, start, end, slider, thumb, horiz, id, thumbExtent) end

--
--The modified value. This can be changed by the user by dragging the scrollbar, or clicking the arrows at the end.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the scrollbar.
--        value - The position between min and max.
--        size - How much can we see?
--        leftValue - The value at the left end of the scrollbar.
--        rightValue - The value at the right end of the scrollbar.
--        style - The style to use for the scrollbar background. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value float
---@param size float
---@param leftValue float
---@param rightValue float
---@return Single
function CS.UnityEngine.GUI:HorizontalScrollbar(position, value, size, leftValue, rightValue) end

--
--The modified value. This can be changed by the user by dragging the scrollbar, or clicking the arrows at the end.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the scrollbar.
--        value - The position between min and max.
--        size - How much can we see?
--        leftValue - The value at the left end of the scrollbar.
--        rightValue - The value at the right end of the scrollbar.
--        style - The style to use for the scrollbar background. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value float
---@param size float
---@param leftValue float
---@param rightValue float
---@param style UnityEngine.GUIStyle
---@return Single
function CS.UnityEngine.GUI:HorizontalScrollbar(position, value, size, leftValue, rightValue, style) end

--
--The modified value. This can be changed by the user by dragging the scrollbar, or clicking the arrows at the end.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the scrollbar.
--        value - The position between min and max.
--        size - How much can we see?
--        topValue - The value at the top of the scrollbar.
--        bottomValue - The value at the bottom of the scrollbar.
--        style - The style to use for the scrollbar background. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value float
---@param size float
---@param topValue float
---@param bottomValue float
---@return Single
function CS.UnityEngine.GUI:VerticalScrollbar(position, value, size, topValue, bottomValue) end

--
--The modified value. This can be changed by the user by dragging the scrollbar, or clicking the arrows at the end.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the scrollbar.
--        value - The position between min and max.
--        size - How much can we see?
--        topValue - The value at the top of the scrollbar.
--        bottomValue - The value at the bottom of the scrollbar.
--        style - The style to use for the scrollbar background. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param value float
---@param size float
---@param topValue float
---@param bottomValue float
---@param style UnityEngine.GUIStyle
---@return Single
function CS.UnityEngine.GUI:VerticalScrollbar(position, value, size, topValue, bottomValue, style) end

---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param scrollOffset UnityEngine.Vector2
---@param renderOffset UnityEngine.Vector2
---@param resetOffset bool
function CS.UnityEngine.GUI:BeginClip(position, scrollOffset, renderOffset, resetOffset) end

--
--Begin a group. Must be matched with a call to EndGroup.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the group.
--        text - Text to display on the group.
--        image - Texture to display on the group.
--        content - Text, image and tooltip for this group. If supplied, any mouse clicks are "captured" by the group and not If left out, no background is rendered, and mouse clicks are passed.
--        style - The style to use for the background.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
function CS.UnityEngine.GUI:BeginGroup(position) end

--
--Begin a group. Must be matched with a call to EndGroup.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the group.
--        text - Text to display on the group.
--        image - Texture to display on the group.
--        content - Text, image and tooltip for this group. If supplied, any mouse clicks are "captured" by the group and not If left out, no background is rendered, and mouse clicks are passed.
--        style - The style to use for the background.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
function CS.UnityEngine.GUI:BeginGroup(position, text) end

--
--Begin a group. Must be matched with a call to EndGroup.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the group.
--        text - Text to display on the group.
--        image - Texture to display on the group.
--        content - Text, image and tooltip for this group. If supplied, any mouse clicks are "captured" by the group and not If left out, no background is rendered, and mouse clicks are passed.
--        style - The style to use for the background.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
function CS.UnityEngine.GUI:BeginGroup(position, image) end

--
--Begin a group. Must be matched with a call to EndGroup.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the group.
--        text - Text to display on the group.
--        image - Texture to display on the group.
--        content - Text, image and tooltip for this group. If supplied, any mouse clicks are "captured" by the group and not If left out, no background is rendered, and mouse clicks are passed.
--        style - The style to use for the background.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
function CS.UnityEngine.GUI:BeginGroup(position, content) end

--
--Begin a group. Must be matched with a call to EndGroup.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the group.
--        text - Text to display on the group.
--        image - Texture to display on the group.
--        content - Text, image and tooltip for this group. If supplied, any mouse clicks are "captured" by the group and not If left out, no background is rendered, and mouse clicks are passed.
--        style - The style to use for the background.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param style UnityEngine.GUIStyle
function CS.UnityEngine.GUI:BeginGroup(position, style) end

--
--Begin a group. Must be matched with a call to EndGroup.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the group.
--        text - Text to display on the group.
--        image - Texture to display on the group.
--        content - Text, image and tooltip for this group. If supplied, any mouse clicks are "captured" by the group and not If left out, no background is rendered, and mouse clicks are passed.
--        style - The style to use for the background.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param text string
---@param style UnityEngine.GUIStyle
function CS.UnityEngine.GUI:BeginGroup(position, text, style) end

--
--Begin a group. Must be matched with a call to EndGroup.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the group.
--        text - Text to display on the group.
--        image - Texture to display on the group.
--        content - Text, image and tooltip for this group. If supplied, any mouse clicks are "captured" by the group and not If left out, no background is rendered, and mouse clicks are passed.
--        style - The style to use for the background.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
function CS.UnityEngine.GUI:BeginGroup(position, image, style) end

--
--Begin a group. Must be matched with a call to EndGroup.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the group.
--        text - Text to display on the group.
--        image - Texture to display on the group.
--        content - Text, image and tooltip for this group. If supplied, any mouse clicks are "captured" by the group and not If left out, no background is rendered, and mouse clicks are passed.
--        style - The style to use for the background.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
function CS.UnityEngine.GUI:BeginGroup(position, content, style) end

--
--End a group.
--
---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.GUI:EndGroup() end

---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
function CS.UnityEngine.GUI:BeginClip(position) end

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.GUI:EndClip() end

--
--The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the ScrollView.
--        scrollPosition - The pixel distance that the view is scrolled in the X and Y directions.
--        viewRect - The rectangle used inside the scrollview.
--        horizontalScrollbar - Optional GUIStyle to use for the horizontal scrollbar. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        verticalScrollbar - Optional GUIStyle to use for the vertical scrollbar. If left out, the verticalScrollbar style from the current GUISkin is used.
--        alwaysShowHorizontal - Optional parameter to always show the horizontal scrollbar. If false or left out, it is only shown when viewRect is wider than position.
--        alwaysShowVertical - Optional parameter to always show the vertical scrollbar. If false or left out, it is only shown when viewRect is taller than position.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param scrollPosition UnityEngine.Vector2
---@param viewRect UnityEngine.Rect
---@return Vector2
function CS.UnityEngine.GUI:BeginScrollView(position, scrollPosition, viewRect) end

--
--The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the ScrollView.
--        scrollPosition - The pixel distance that the view is scrolled in the X and Y directions.
--        viewRect - The rectangle used inside the scrollview.
--        horizontalScrollbar - Optional GUIStyle to use for the horizontal scrollbar. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        verticalScrollbar - Optional GUIStyle to use for the vertical scrollbar. If left out, the verticalScrollbar style from the current GUISkin is used.
--        alwaysShowHorizontal - Optional parameter to always show the horizontal scrollbar. If false or left out, it is only shown when viewRect is wider than position.
--        alwaysShowVertical - Optional parameter to always show the vertical scrollbar. If false or left out, it is only shown when viewRect is taller than position.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param scrollPosition UnityEngine.Vector2
---@param viewRect UnityEngine.Rect
---@param alwaysShowHorizontal bool
---@param alwaysShowVertical bool
---@return Vector2
function CS.UnityEngine.GUI:BeginScrollView(position, scrollPosition, viewRect, alwaysShowHorizontal, alwaysShowVertical) end

--
--The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the ScrollView.
--        scrollPosition - The pixel distance that the view is scrolled in the X and Y directions.
--        viewRect - The rectangle used inside the scrollview.
--        horizontalScrollbar - Optional GUIStyle to use for the horizontal scrollbar. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        verticalScrollbar - Optional GUIStyle to use for the vertical scrollbar. If left out, the verticalScrollbar style from the current GUISkin is used.
--        alwaysShowHorizontal - Optional parameter to always show the horizontal scrollbar. If false or left out, it is only shown when viewRect is wider than position.
--        alwaysShowVertical - Optional parameter to always show the vertical scrollbar. If false or left out, it is only shown when viewRect is taller than position.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param scrollPosition UnityEngine.Vector2
---@param viewRect UnityEngine.Rect
---@param horizontalScrollbar UnityEngine.GUIStyle
---@param verticalScrollbar UnityEngine.GUIStyle
---@return Vector2
function CS.UnityEngine.GUI:BeginScrollView(position, scrollPosition, viewRect, horizontalScrollbar, verticalScrollbar) end

--
--The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example.
--
--```plaintext
--Params: position - Rectangle on the screen to use for the ScrollView.
--        scrollPosition - The pixel distance that the view is scrolled in the X and Y directions.
--        viewRect - The rectangle used inside the scrollview.
--        horizontalScrollbar - Optional GUIStyle to use for the horizontal scrollbar. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        verticalScrollbar - Optional GUIStyle to use for the vertical scrollbar. If left out, the verticalScrollbar style from the current GUISkin is used.
--        alwaysShowHorizontal - Optional parameter to always show the horizontal scrollbar. If false or left out, it is only shown when viewRect is wider than position.
--        alwaysShowVertical - Optional parameter to always show the vertical scrollbar. If false or left out, it is only shown when viewRect is taller than position.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param scrollPosition UnityEngine.Vector2
---@param viewRect UnityEngine.Rect
---@param alwaysShowHorizontal bool
---@param alwaysShowVertical bool
---@param horizontalScrollbar UnityEngine.GUIStyle
---@param verticalScrollbar UnityEngine.GUIStyle
---@return Vector2
function CS.UnityEngine.GUI:BeginScrollView(position, scrollPosition, viewRect, alwaysShowHorizontal, alwaysShowVertical, horizontalScrollbar, verticalScrollbar) end

--
--Ends a scrollview started with a call to BeginScrollView.
--
---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.GUI:EndScrollView() end

--
--Ends a scrollview started with a call to BeginScrollView.
--
---@source UnityEngine.IMGUIModule.dll
---@param handleScrollWheel bool
function CS.UnityEngine.GUI:EndScrollView(handleScrollWheel) end

--
--Scrolls all enclosing scrollviews so they try to make position visible.
--
---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
function CS.UnityEngine.GUI:ScrollTo(position) end

---@source UnityEngine.IMGUIModule.dll
---@param position UnityEngine.Rect
---@param maxDelta float
---@return Boolean
function CS.UnityEngine.GUI:ScrollTowards(position, maxDelta) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param clientRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param text string
---@return Rect
function CS.UnityEngine.GUI:Window(id, clientRect, func, text) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param clientRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param image UnityEngine.Texture
---@return Rect
function CS.UnityEngine.GUI:Window(id, clientRect, func, image) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param clientRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param content UnityEngine.GUIContent
---@return Rect
function CS.UnityEngine.GUI:Window(id, clientRect, func, content) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param clientRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param text string
---@param style UnityEngine.GUIStyle
---@return Rect
function CS.UnityEngine.GUI:Window(id, clientRect, func, text, style) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param clientRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
---@return Rect
function CS.UnityEngine.GUI:Window(id, clientRect, func, image, style) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param clientRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param title UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
---@return Rect
function CS.UnityEngine.GUI:Window(id, clientRect, func, title, style) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param clientRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param text string
---@return Rect
function CS.UnityEngine.GUI:ModalWindow(id, clientRect, func, text) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param clientRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param image UnityEngine.Texture
---@return Rect
function CS.UnityEngine.GUI:ModalWindow(id, clientRect, func, image) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param clientRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param content UnityEngine.GUIContent
---@return Rect
function CS.UnityEngine.GUI:ModalWindow(id, clientRect, func, content) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param clientRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param text string
---@param style UnityEngine.GUIStyle
---@return Rect
function CS.UnityEngine.GUI:ModalWindow(id, clientRect, func, text, style) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param clientRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
---@return Rect
function CS.UnityEngine.GUI:ModalWindow(id, clientRect, func, image, style) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param clientRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
---@return Rect
function CS.UnityEngine.GUI:ModalWindow(id, clientRect, func, content, style) end

--
--If you want to have the entire window background to act as a drag area, use the version of DragWindow that takes no parameters and put it at the end of the window function.
--
---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.GUI:DragWindow() end


--
--Determines how toolbar button size is calculated.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.ToolbarButtonSize: System.Enum
--
--Calculates the button size by dividing the available width by the number of buttons. The minimum size is the maximum content width.
--
---@source UnityEngine.IMGUIModule.dll
---@field Fixed UnityEngine.GUI.ToolbarButtonSize
--
--The width of each toolbar button is calculated based on the width of its content.
--
---@source UnityEngine.IMGUIModule.dll
---@field FitToContents UnityEngine.GUI.ToolbarButtonSize
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.ToolbarButtonSize = {}

---@source 
---@param value any
---@return UnityEngine.GUI.ToolbarButtonSize
function CS.UnityEngine.ToolbarButtonSize:__CastFrom(value) end


--
--Callback to draw GUI within a window (used with GUI.Window).
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.WindowFunction: System.MulticastDelegate
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.WindowFunction = {}

---@source UnityEngine.IMGUIModule.dll
---@param id int
function CS.UnityEngine.WindowFunction.Invoke(id) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param callback System.AsyncCallback
---@param object object
---@return IAsyncResult
function CS.UnityEngine.WindowFunction.BeginInvoke(id, callback, object) end

---@source UnityEngine.IMGUIModule.dll
---@param result System.IAsyncResult
function CS.UnityEngine.WindowFunction.EndInvoke(result) end


---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.Scope: object
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.Scope = {}

---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.Scope.Dispose() end


--
--Disposable helper class for managing BeginGroup / EndGroup.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.GroupScope: UnityEngine.GUI.Scope
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.GroupScope = {}


--
--Disposable helper class for managing BeginScrollView / EndScrollView.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.ScrollViewScope: UnityEngine.GUI.Scope
--
--The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example.
--
---@source UnityEngine.IMGUIModule.dll
---@field scrollPosition UnityEngine.Vector2
--
--Whether this ScrollView should handle scroll wheel events. (default: true).
--
---@source UnityEngine.IMGUIModule.dll
---@field handleScrollWheel bool
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.ScrollViewScope = {}


---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.ClipScope: UnityEngine.GUI.Scope
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.ClipScope = {}


--
--The contents of a GUI element.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.GUIContent: object
--
--Shorthand for empty content.
--
---@source UnityEngine.IMGUIModule.dll
---@field none UnityEngine.GUIContent
--
--The text contained.
--
---@source UnityEngine.IMGUIModule.dll
---@field text string
--
--The icon image contained.
--
---@source UnityEngine.IMGUIModule.dll
---@field image UnityEngine.Texture
--
--The tooltip of this element.
--
---@source UnityEngine.IMGUIModule.dll
---@field tooltip string
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.GUIContent = {}


--
--Scaling mode to draw textures with.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.ScaleMode: System.Enum
--
--Stretches the texture to fill the complete rectangle passed in to GUI.DrawTexture.
--
---@source UnityEngine.IMGUIModule.dll
---@field StretchToFill UnityEngine.ScaleMode
--
--Scales the texture, maintaining aspect ratio, so it completely covers the position rectangle passed to GUI.DrawTexture. If the texture is being draw to a rectangle with a different aspect ratio than the original, the image is cropped.
--
---@source UnityEngine.IMGUIModule.dll
---@field ScaleAndCrop UnityEngine.ScaleMode
--
--Scales the texture, maintaining aspect ratio, so it completely fits withing the position rectangle passed to GUI.DrawTexture.
--
---@source UnityEngine.IMGUIModule.dll
---@field ScaleToFit UnityEngine.ScaleMode
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.ScaleMode = {}

---@source 
---@param value any
---@return UnityEngine.ScaleMode
function CS.UnityEngine.ScaleMode:__CastFrom(value) end


--
--Used by GUIUtility.GetControlID to inform the IMGUI system if a given control can get keyboard focus. This allows the IMGUI system to give focus appropriately when a user presses tab for cycling between controls.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.FocusType: System.Enum
---@source UnityEngine.IMGUIModule.dll
---@field Native UnityEngine.FocusType
--
--This control can receive keyboard focus.
--
---@source UnityEngine.IMGUIModule.dll
---@field Keyboard UnityEngine.FocusType
--
--This control can not receive keyboard focus.
--
---@source UnityEngine.IMGUIModule.dll
---@field Passive UnityEngine.FocusType
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.FocusType = {}

---@source 
---@param value any
---@return UnityEngine.FocusType
function CS.UnityEngine.FocusType:__CastFrom(value) end


--
--The GUILayout class is the interface for Unity gui with automatic layout.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.GUILayout: object
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.GUILayout = {}

--
--Make an auto-layout label.
--
--```plaintext
--Params: text - Text to display on the label.
--        image - Texture to display on the label.
--        content - Text, image and tooltip for this label.
--        style - The style to use. If left out, the label style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param image UnityEngine.Texture
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:Label(image, options) end

--
--Make an auto-layout label.
--
--```plaintext
--Params: text - Text to display on the label.
--        image - Texture to display on the label.
--        content - Text, image and tooltip for this label.
--        style - The style to use. If left out, the label style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:Label(text, options) end

--
--Make an auto-layout label.
--
--```plaintext
--Params: text - Text to display on the label.
--        image - Texture to display on the label.
--        content - Text, image and tooltip for this label.
--        style - The style to use. If left out, the label style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param content UnityEngine.GUIContent
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:Label(content, options) end

--
--Make an auto-layout label.
--
--```plaintext
--Params: text - Text to display on the label.
--        image - Texture to display on the label.
--        content - Text, image and tooltip for this label.
--        style - The style to use. If left out, the label style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:Label(image, style, options) end

--
--Make an auto-layout label.
--
--```plaintext
--Params: text - Text to display on the label.
--        image - Texture to display on the label.
--        content - Text, image and tooltip for this label.
--        style - The style to use. If left out, the label style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:Label(text, style, options) end

--
--Make an auto-layout label.
--
--```plaintext
--Params: text - Text to display on the label.
--        image - Texture to display on the label.
--        content - Text, image and tooltip for this label.
--        style - The style to use. If left out, the label style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:Label(content, style, options) end

--
--Make an auto-layout box.
--
--```plaintext
--Params: text - Text to display on the box.
--        image - Texture to display on the box.
--        content - Text, image and tooltip for this box.
--        style - The style to use. If left out, the box style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param image UnityEngine.Texture
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:Box(image, options) end

--
--Make an auto-layout box.
--
--```plaintext
--Params: text - Text to display on the box.
--        image - Texture to display on the box.
--        content - Text, image and tooltip for this box.
--        style - The style to use. If left out, the box style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:Box(text, options) end

--
--Make an auto-layout box.
--
--```plaintext
--Params: text - Text to display on the box.
--        image - Texture to display on the box.
--        content - Text, image and tooltip for this box.
--        style - The style to use. If left out, the box style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param content UnityEngine.GUIContent
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:Box(content, options) end

--
--Make an auto-layout box.
--
--```plaintext
--Params: text - Text to display on the box.
--        image - Texture to display on the box.
--        content - Text, image and tooltip for this box.
--        style - The style to use. If left out, the box style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:Box(image, style, options) end

--
--Make an auto-layout box.
--
--```plaintext
--Params: text - Text to display on the box.
--        image - Texture to display on the box.
--        content - Text, image and tooltip for this box.
--        style - The style to use. If left out, the box style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:Box(text, style, options) end

--
--Make an auto-layout box.
--
--```plaintext
--Params: text - Text to display on the box.
--        image - Texture to display on the box.
--        content - Text, image and tooltip for this box.
--        style - The style to use. If left out, the box style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:Box(content, style, options) end

--
--true when the users clicks the button.
--
--```plaintext
--Params: text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param image UnityEngine.Texture
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:Button(image, options) end

--
--true when the users clicks the button.
--
--```plaintext
--Params: text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:Button(text, options) end

--
--true when the users clicks the button.
--
--```plaintext
--Params: text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param content UnityEngine.GUIContent
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:Button(content, options) end

--
--true when the users clicks the button.
--
--```plaintext
--Params: text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:Button(image, style, options) end

--
--true when the users clicks the button.
--
--```plaintext
--Params: text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:Button(text, style, options) end

--
--true when the users clicks the button.
--
--```plaintext
--Params: text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:Button(content, style, options) end

--
--true when the holds down the mouse.
--
--```plaintext
--Params: text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param image UnityEngine.Texture
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:RepeatButton(image, options) end

--
--true when the holds down the mouse.
--
--```plaintext
--Params: text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:RepeatButton(text, options) end

--
--true when the holds down the mouse.
--
--```plaintext
--Params: text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param content UnityEngine.GUIContent
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:RepeatButton(content, options) end

--
--true when the holds down the mouse.
--
--```plaintext
--Params: text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:RepeatButton(image, style, options) end

--
--true when the holds down the mouse.
--
--```plaintext
--Params: text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:RepeatButton(text, style, options) end

--
--true when the holds down the mouse.
--
--```plaintext
--Params: text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:RepeatButton(content, style, options) end

--
--The edited string.
--
--```plaintext
--Params: text - Text to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textArea style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param options UnityEngine.GUILayoutOption[]
---@return String
function CS.UnityEngine.GUILayout:TextField(text, options) end

--
--The edited string.
--
--```plaintext
--Params: text - Text to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textArea style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param maxLength int
---@param options UnityEngine.GUILayoutOption[]
---@return String
function CS.UnityEngine.GUILayout:TextField(text, maxLength, options) end

--
--The edited string.
--
--```plaintext
--Params: text - Text to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textArea style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return String
function CS.UnityEngine.GUILayout:TextField(text, style, options) end

--
--The edited string.
--
--```plaintext
--Params: text - Text to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textArea style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param maxLength int
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return String
function CS.UnityEngine.GUILayout:TextField(text, maxLength, style, options) end

--
--The edited password.
--
--```plaintext
--Params: password - Password to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maskChar - Character to mask the password with.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textField style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param password string
---@param maskChar char
---@param options UnityEngine.GUILayoutOption[]
---@return String
function CS.UnityEngine.GUILayout:PasswordField(password, maskChar, options) end

--
--The edited password.
--
--```plaintext
--Params: password - Password to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maskChar - Character to mask the password with.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textField style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param password string
---@param maskChar char
---@param maxLength int
---@param options UnityEngine.GUILayoutOption[]
---@return String
function CS.UnityEngine.GUILayout:PasswordField(password, maskChar, maxLength, options) end

--
--The edited password.
--
--```plaintext
--Params: password - Password to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maskChar - Character to mask the password with.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textField style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param password string
---@param maskChar char
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return String
function CS.UnityEngine.GUILayout:PasswordField(password, maskChar, style, options) end

--
--The edited password.
--
--```plaintext
--Params: password - Password to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maskChar - Character to mask the password with.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textField style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param password string
---@param maskChar char
---@param maxLength int
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return String
function CS.UnityEngine.GUILayout:PasswordField(password, maskChar, maxLength, style, options) end

--
--The edited string.
--
--```plaintext
--Params: text - Text to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textField style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.&amp;lt;br&amp;gt;
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param options UnityEngine.GUILayoutOption[]
---@return String
function CS.UnityEngine.GUILayout:TextArea(text, options) end

--
--The edited string.
--
--```plaintext
--Params: text - Text to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textField style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.&amp;lt;br&amp;gt;
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param maxLength int
---@param options UnityEngine.GUILayoutOption[]
---@return String
function CS.UnityEngine.GUILayout:TextArea(text, maxLength, options) end

--
--The edited string.
--
--```plaintext
--Params: text - Text to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textField style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.&amp;lt;br&amp;gt;
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return String
function CS.UnityEngine.GUILayout:TextArea(text, style, options) end

--
--The edited string.
--
--```plaintext
--Params: text - Text to edit. The return value of this function should be assigned back to the string as shown in the example.
--        maxLength - The maximum length of the string. If left out, the user can type for ever and ever.
--        style - The style to use. If left out, the textField style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.&amp;lt;br&amp;gt;
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param maxLength int
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return String
function CS.UnityEngine.GUILayout:TextArea(text, maxLength, style, options) end

--
--The new value of the button.
--
--```plaintext
--Params: value - Is the button on or off?
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param value bool
---@param image UnityEngine.Texture
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:Toggle(value, image, options) end

--
--The new value of the button.
--
--```plaintext
--Params: value - Is the button on or off?
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param value bool
---@param text string
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:Toggle(value, text, options) end

--
--The new value of the button.
--
--```plaintext
--Params: value - Is the button on or off?
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param value bool
---@param content UnityEngine.GUIContent
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:Toggle(value, content, options) end

--
--The new value of the button.
--
--```plaintext
--Params: value - Is the button on or off?
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param value bool
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:Toggle(value, image, style, options) end

--
--The new value of the button.
--
--```plaintext
--Params: value - Is the button on or off?
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param value bool
---@param text string
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:Toggle(value, text, style, options) end

--
--The new value of the button.
--
--```plaintext
--Params: value - Is the button on or off?
--        text - Text to display on the button.
--        image - Texture to display on the button.
--        content - Text, image and tooltip for this button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param value bool
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Boolean
function CS.UnityEngine.GUILayout:Toggle(value, content, style, options) end

--
--The index of the selected button.
--
--```plaintext
--Params: selected - The index of the selected button.
--        texts - An array of strings to show on the buttons.
--        images - An array of textures on the buttons.
--        contents - An array of text, image and tooltips for the button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        buttonSize - Determines how toolbar button size is calculated.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param texts string[]
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:Toolbar(selected, texts, options) end

--
--The index of the selected button.
--
--```plaintext
--Params: selected - The index of the selected button.
--        texts - An array of strings to show on the buttons.
--        images - An array of textures on the buttons.
--        contents - An array of text, image and tooltips for the button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        buttonSize - Determines how toolbar button size is calculated.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param images UnityEngine.Texture[]
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:Toolbar(selected, images, options) end

--
--The index of the selected button.
--
--```plaintext
--Params: selected - The index of the selected button.
--        texts - An array of strings to show on the buttons.
--        images - An array of textures on the buttons.
--        contents - An array of text, image and tooltips for the button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        buttonSize - Determines how toolbar button size is calculated.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param contents UnityEngine.GUIContent[]
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:Toolbar(selected, contents, options) end

--
--The index of the selected button.
--
--```plaintext
--Params: selected - The index of the selected button.
--        texts - An array of strings to show on the buttons.
--        images - An array of textures on the buttons.
--        contents - An array of text, image and tooltips for the button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        buttonSize - Determines how toolbar button size is calculated.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param texts string[]
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:Toolbar(selected, texts, style, options) end

--
--The index of the selected button.
--
--```plaintext
--Params: selected - The index of the selected button.
--        texts - An array of strings to show on the buttons.
--        images - An array of textures on the buttons.
--        contents - An array of text, image and tooltips for the button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        buttonSize - Determines how toolbar button size is calculated.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param images UnityEngine.Texture[]
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:Toolbar(selected, images, style, options) end

---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param texts string[]
---@param style UnityEngine.GUIStyle
---@param buttonSize UnityEngine.GUI.ToolbarButtonSize
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:Toolbar(selected, texts, style, buttonSize, options) end

---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param images UnityEngine.Texture[]
---@param style UnityEngine.GUIStyle
---@param buttonSize UnityEngine.GUI.ToolbarButtonSize
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:Toolbar(selected, images, style, buttonSize, options) end

--
--The index of the selected button.
--
--```plaintext
--Params: selected - The index of the selected button.
--        texts - An array of strings to show on the buttons.
--        images - An array of textures on the buttons.
--        contents - An array of text, image and tooltips for the button.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        buttonSize - Determines how toolbar button size is calculated.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param contents UnityEngine.GUIContent[]
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:Toolbar(selected, contents, style, options) end

---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param contents UnityEngine.GUIContent[]
---@param style UnityEngine.GUIStyle
---@param buttonSize UnityEngine.GUI.ToolbarButtonSize
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:Toolbar(selected, contents, style, buttonSize, options) end

---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param contents UnityEngine.GUIContent[]
---@param enabled bool[]
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:Toolbar(selected, contents, enabled, style, options) end

---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param contents UnityEngine.GUIContent[]
---@param enabled bool[]
---@param style UnityEngine.GUIStyle
---@param buttonSize UnityEngine.GUI.ToolbarButtonSize
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:Toolbar(selected, contents, enabled, style, buttonSize, options) end

--
--The index of the selected button.
--
--```plaintext
--Params: selected - The index of the selected button.
--        texts - An array of strings to show on the buttons.
--        images - An array of textures on the buttons.
--        contents - An array of text, image and tooltips for the button.
--        xCount - How many elements to fit in the horizontal direction. The elements will be scaled to fit unless the style defines a fixedWidth to use. The height of the control will be determined from the number of elements.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param texts string[]
---@param xCount int
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:SelectionGrid(selected, texts, xCount, options) end

--
--The index of the selected button.
--
--```plaintext
--Params: selected - The index of the selected button.
--        texts - An array of strings to show on the buttons.
--        images - An array of textures on the buttons.
--        contents - An array of text, image and tooltips for the button.
--        xCount - How many elements to fit in the horizontal direction. The elements will be scaled to fit unless the style defines a fixedWidth to use. The height of the control will be determined from the number of elements.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param images UnityEngine.Texture[]
---@param xCount int
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:SelectionGrid(selected, images, xCount, options) end

--
--The index of the selected button.
--
--```plaintext
--Params: selected - The index of the selected button.
--        texts - An array of strings to show on the buttons.
--        images - An array of textures on the buttons.
--        contents - An array of text, image and tooltips for the button.
--        xCount - How many elements to fit in the horizontal direction. The elements will be scaled to fit unless the style defines a fixedWidth to use. The height of the control will be determined from the number of elements.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param content UnityEngine.GUIContent[]
---@param xCount int
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:SelectionGrid(selected, content, xCount, options) end

--
--The index of the selected button.
--
--```plaintext
--Params: selected - The index of the selected button.
--        texts - An array of strings to show on the buttons.
--        images - An array of textures on the buttons.
--        contents - An array of text, image and tooltips for the button.
--        xCount - How many elements to fit in the horizontal direction. The elements will be scaled to fit unless the style defines a fixedWidth to use. The height of the control will be determined from the number of elements.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param texts string[]
---@param xCount int
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:SelectionGrid(selected, texts, xCount, style, options) end

--
--The index of the selected button.
--
--```plaintext
--Params: selected - The index of the selected button.
--        texts - An array of strings to show on the buttons.
--        images - An array of textures on the buttons.
--        contents - An array of text, image and tooltips for the button.
--        xCount - How many elements to fit in the horizontal direction. The elements will be scaled to fit unless the style defines a fixedWidth to use. The height of the control will be determined from the number of elements.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param images UnityEngine.Texture[]
---@param xCount int
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:SelectionGrid(selected, images, xCount, style, options) end

--
--The index of the selected button.
--
--```plaintext
--Params: selected - The index of the selected button.
--        texts - An array of strings to show on the buttons.
--        images - An array of textures on the buttons.
--        contents - An array of text, image and tooltips for the button.
--        xCount - How many elements to fit in the horizontal direction. The elements will be scaled to fit unless the style defines a fixedWidth to use. The height of the control will be determined from the number of elements.
--        style - The style to use. If left out, the button style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param selected int
---@param contents UnityEngine.GUIContent[]
---@param xCount int
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Int32
function CS.UnityEngine.GUILayout:SelectionGrid(selected, contents, xCount, style, options) end

--
--The value that has been set by the user.
--
--```plaintext
--Params: value - The value the slider shows. This determines the position of the draggable thumb.
--        leftValue - The value at the left end of the slider.
--        rightValue - The value at the right end of the slider.
--        slider - The GUIStyle to use for displaying the dragging area. If left out, the horizontalSlider style from the current GUISkin is used.
--        thumb - The GUIStyle to use for displaying draggable thumb. If left out, the horizontalSliderThumb style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param value float
---@param leftValue float
---@param rightValue float
---@param options UnityEngine.GUILayoutOption[]
---@return Single
function CS.UnityEngine.GUILayout:HorizontalSlider(value, leftValue, rightValue, options) end

--
--The value that has been set by the user.
--
--```plaintext
--Params: value - The value the slider shows. This determines the position of the draggable thumb.
--        leftValue - The value at the left end of the slider.
--        rightValue - The value at the right end of the slider.
--        slider - The GUIStyle to use for displaying the dragging area. If left out, the horizontalSlider style from the current GUISkin is used.
--        thumb - The GUIStyle to use for displaying draggable thumb. If left out, the horizontalSliderThumb style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param value float
---@param leftValue float
---@param rightValue float
---@param slider UnityEngine.GUIStyle
---@param thumb UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Single
function CS.UnityEngine.GUILayout:HorizontalSlider(value, leftValue, rightValue, slider, thumb, options) end

--
--The value that has been set by the user.
--
--```plaintext
--Params: value - The value the slider shows. This determines the position of the draggable thumb.
--        topValue - The value at the top end of the slider.
--        bottomValue - The value at the bottom end of the slider.
--        slider - The GUIStyle to use for displaying the dragging area. If left out, the horizontalSlider style from the current GUISkin is used.
--        thumb - The GUIStyle to use for displaying draggable thumb. If left out, the horizontalSliderThumb style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param value float
---@param leftValue float
---@param rightValue float
---@param options UnityEngine.GUILayoutOption[]
---@return Single
function CS.UnityEngine.GUILayout:VerticalSlider(value, leftValue, rightValue, options) end

--
--The value that has been set by the user.
--
--```plaintext
--Params: value - The value the slider shows. This determines the position of the draggable thumb.
--        topValue - The value at the top end of the slider.
--        bottomValue - The value at the bottom end of the slider.
--        slider - The GUIStyle to use for displaying the dragging area. If left out, the horizontalSlider style from the current GUISkin is used.
--        thumb - The GUIStyle to use for displaying draggable thumb. If left out, the horizontalSliderThumb style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param value float
---@param leftValue float
---@param rightValue float
---@param slider UnityEngine.GUIStyle
---@param thumb UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Single
function CS.UnityEngine.GUILayout:VerticalSlider(value, leftValue, rightValue, slider, thumb, options) end

--
--The modified value. This can be changed by the user by dragging the scrollbar, or clicking the arrows at the end.
--
--```plaintext
--Params: value - The position between min and max.
--        size - How much can we see?
--        leftValue - The value at the left end of the scrollbar.
--        rightValue - The value at the right end of the scrollbar.
--        style - The style to use for the scrollbar background. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param value float
---@param size float
---@param leftValue float
---@param rightValue float
---@param options UnityEngine.GUILayoutOption[]
---@return Single
function CS.UnityEngine.GUILayout:HorizontalScrollbar(value, size, leftValue, rightValue, options) end

--
--The modified value. This can be changed by the user by dragging the scrollbar, or clicking the arrows at the end.
--
--```plaintext
--Params: value - The position between min and max.
--        size - How much can we see?
--        leftValue - The value at the left end of the scrollbar.
--        rightValue - The value at the right end of the scrollbar.
--        style - The style to use for the scrollbar background. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param value float
---@param size float
---@param leftValue float
---@param rightValue float
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Single
function CS.UnityEngine.GUILayout:HorizontalScrollbar(value, size, leftValue, rightValue, style, options) end

--
--The modified value. This can be changed by the user by dragging the scrollbar, or clicking the arrows at the end.
--
--```plaintext
--Params: value - The position between min and max.
--        size - How much can we see?
--        topValue - The value at the top end of the scrollbar.
--        bottomValue - The value at the bottom end of the scrollbar.
--        style - The style to use for the scrollbar background. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param value float
---@param size float
---@param topValue float
---@param bottomValue float
---@param options UnityEngine.GUILayoutOption[]
---@return Single
function CS.UnityEngine.GUILayout:VerticalScrollbar(value, size, topValue, bottomValue, options) end

--
--The modified value. This can be changed by the user by dragging the scrollbar, or clicking the arrows at the end.
--
--```plaintext
--Params: value - The position between min and max.
--        size - How much can we see?
--        topValue - The value at the top end of the scrollbar.
--        bottomValue - The value at the bottom end of the scrollbar.
--        style - The style to use for the scrollbar background. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param value float
---@param size float
---@param topValue float
---@param bottomValue float
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Single
function CS.UnityEngine.GUILayout:VerticalScrollbar(value, size, topValue, bottomValue, style, options) end

--
--Insert a space in the current layout group.
--
---@source UnityEngine.IMGUIModule.dll
---@param pixels float
function CS.UnityEngine.GUILayout:Space(pixels) end

--
--Insert a flexible space element.
--
---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.GUILayout:FlexibleSpace() end

--
--Begin a Horizontal control group.
--
--```plaintext
--Params: text - Text to display on group.
--        image - Texture to display on group.
--        content - Text, image, and tooltip for this group.
--        style - The style to use for background image and padding values. If left out, the background is transparent.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:BeginHorizontal(options) end

--
--Begin a Horizontal control group.
--
--```plaintext
--Params: text - Text to display on group.
--        image - Texture to display on group.
--        content - Text, image, and tooltip for this group.
--        style - The style to use for background image and padding values. If left out, the background is transparent.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:BeginHorizontal(style, options) end

--
--Begin a Horizontal control group.
--
--```plaintext
--Params: text - Text to display on group.
--        image - Texture to display on group.
--        content - Text, image, and tooltip for this group.
--        style - The style to use for background image and padding values. If left out, the background is transparent.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:BeginHorizontal(text, style, options) end

--
--Begin a Horizontal control group.
--
--```plaintext
--Params: text - Text to display on group.
--        image - Texture to display on group.
--        content - Text, image, and tooltip for this group.
--        style - The style to use for background image and padding values. If left out, the background is transparent.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:BeginHorizontal(image, style, options) end

--
--Begin a Horizontal control group.
--
--```plaintext
--Params: text - Text to display on group.
--        image - Texture to display on group.
--        content - Text, image, and tooltip for this group.
--        style - The style to use for background image and padding values. If left out, the background is transparent.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:BeginHorizontal(content, style, options) end

--
--Close a group started with BeginHorizontal.
--
---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.GUILayout:EndHorizontal() end

--
--Begin a vertical control group.
--
--```plaintext
--Params: text - Text to display on group.
--        image - Texture to display on group.
--        content - Text, image, and tooltip for this group.
--        style - The style to use for background image and padding values. If left out, the background is transparent.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:BeginVertical(options) end

--
--Begin a vertical control group.
--
--```plaintext
--Params: text - Text to display on group.
--        image - Texture to display on group.
--        content - Text, image, and tooltip for this group.
--        style - The style to use for background image and padding values. If left out, the background is transparent.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:BeginVertical(style, options) end

--
--Begin a vertical control group.
--
--```plaintext
--Params: text - Text to display on group.
--        image - Texture to display on group.
--        content - Text, image, and tooltip for this group.
--        style - The style to use for background image and padding values. If left out, the background is transparent.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param text string
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:BeginVertical(text, style, options) end

--
--Begin a vertical control group.
--
--```plaintext
--Params: text - Text to display on group.
--        image - Texture to display on group.
--        content - Text, image, and tooltip for this group.
--        style - The style to use for background image and padding values. If left out, the background is transparent.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:BeginVertical(image, style, options) end

--
--Begin a vertical control group.
--
--```plaintext
--Params: text - Text to display on group.
--        image - Texture to display on group.
--        content - Text, image, and tooltip for this group.
--        style - The style to use for background image and padding values. If left out, the background is transparent.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
function CS.UnityEngine.GUILayout:BeginVertical(content, style, options) end

--
--Close a group started with BeginVertical.
--
---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.GUILayout:EndVertical() end

--
--Begin a GUILayout block of GUI controls in a fixed screen area.
--
--```plaintext
--Params: text - Optional text to display in the area.
--        image - Optional texture to display in the area.
--        content - Optional text, image and tooltip top display for this area.
--        style - The style to use. If left out, the empty GUIStyle (GUIStyle.none) is used, giving a transparent background.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param screenRect UnityEngine.Rect
function CS.UnityEngine.GUILayout:BeginArea(screenRect) end

--
--Begin a GUILayout block of GUI controls in a fixed screen area.
--
--```plaintext
--Params: text - Optional text to display in the area.
--        image - Optional texture to display in the area.
--        content - Optional text, image and tooltip top display for this area.
--        style - The style to use. If left out, the empty GUIStyle (GUIStyle.none) is used, giving a transparent background.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param screenRect UnityEngine.Rect
---@param text string
function CS.UnityEngine.GUILayout:BeginArea(screenRect, text) end

--
--Begin a GUILayout block of GUI controls in a fixed screen area.
--
--```plaintext
--Params: text - Optional text to display in the area.
--        image - Optional texture to display in the area.
--        content - Optional text, image and tooltip top display for this area.
--        style - The style to use. If left out, the empty GUIStyle (GUIStyle.none) is used, giving a transparent background.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param screenRect UnityEngine.Rect
---@param image UnityEngine.Texture
function CS.UnityEngine.GUILayout:BeginArea(screenRect, image) end

--
--Begin a GUILayout block of GUI controls in a fixed screen area.
--
--```plaintext
--Params: text - Optional text to display in the area.
--        image - Optional texture to display in the area.
--        content - Optional text, image and tooltip top display for this area.
--        style - The style to use. If left out, the empty GUIStyle (GUIStyle.none) is used, giving a transparent background.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param screenRect UnityEngine.Rect
---@param content UnityEngine.GUIContent
function CS.UnityEngine.GUILayout:BeginArea(screenRect, content) end

--
--Begin a GUILayout block of GUI controls in a fixed screen area.
--
--```plaintext
--Params: text - Optional text to display in the area.
--        image - Optional texture to display in the area.
--        content - Optional text, image and tooltip top display for this area.
--        style - The style to use. If left out, the empty GUIStyle (GUIStyle.none) is used, giving a transparent background.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param screenRect UnityEngine.Rect
---@param style UnityEngine.GUIStyle
function CS.UnityEngine.GUILayout:BeginArea(screenRect, style) end

--
--Begin a GUILayout block of GUI controls in a fixed screen area.
--
--```plaintext
--Params: text - Optional text to display in the area.
--        image - Optional texture to display in the area.
--        content - Optional text, image and tooltip top display for this area.
--        style - The style to use. If left out, the empty GUIStyle (GUIStyle.none) is used, giving a transparent background.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param screenRect UnityEngine.Rect
---@param text string
---@param style UnityEngine.GUIStyle
function CS.UnityEngine.GUILayout:BeginArea(screenRect, text, style) end

--
--Begin a GUILayout block of GUI controls in a fixed screen area.
--
--```plaintext
--Params: text - Optional text to display in the area.
--        image - Optional texture to display in the area.
--        content - Optional text, image and tooltip top display for this area.
--        style - The style to use. If left out, the empty GUIStyle (GUIStyle.none) is used, giving a transparent background.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param screenRect UnityEngine.Rect
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
function CS.UnityEngine.GUILayout:BeginArea(screenRect, image, style) end

--
--Begin a GUILayout block of GUI controls in a fixed screen area.
--
--```plaintext
--Params: text - Optional text to display in the area.
--        image - Optional texture to display in the area.
--        content - Optional text, image and tooltip top display for this area.
--        style - The style to use. If left out, the empty GUIStyle (GUIStyle.none) is used, giving a transparent background.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param screenRect UnityEngine.Rect
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
function CS.UnityEngine.GUILayout:BeginArea(screenRect, content, style) end

--
--Close a GUILayout block started with BeginArea.
--
---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.GUILayout:EndArea() end

--
--The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example.
--
--```plaintext
--Params: scrollPosition - The position to use display.
--        alwayShowHorizontal - Optional parameter to always show the horizontal scrollbar. If false or left out, it is only shown when the content inside the ScrollView is wider than the scrollview itself.
--        alwayShowVertical - Optional parameter to always show the vertical scrollbar. If false or left out, it is only shown when content inside the ScrollView is taller than the scrollview itself.
--        horizontalScrollbar - Optional GUIStyle to use for the horizontal scrollbar. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        verticalScrollbar - Optional GUIStyle to use for the vertical scrollbar. If left out, the verticalScrollbar style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param scrollPosition UnityEngine.Vector2
---@param options UnityEngine.GUILayoutOption[]
---@return Vector2
function CS.UnityEngine.GUILayout:BeginScrollView(scrollPosition, options) end

--
--The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example.
--
--```plaintext
--Params: scrollPosition - The position to use display.
--        alwayShowHorizontal - Optional parameter to always show the horizontal scrollbar. If false or left out, it is only shown when the content inside the ScrollView is wider than the scrollview itself.
--        alwayShowVertical - Optional parameter to always show the vertical scrollbar. If false or left out, it is only shown when content inside the ScrollView is taller than the scrollview itself.
--        horizontalScrollbar - Optional GUIStyle to use for the horizontal scrollbar. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        verticalScrollbar - Optional GUIStyle to use for the vertical scrollbar. If left out, the verticalScrollbar style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param scrollPosition UnityEngine.Vector2
---@param alwaysShowHorizontal bool
---@param alwaysShowVertical bool
---@param options UnityEngine.GUILayoutOption[]
---@return Vector2
function CS.UnityEngine.GUILayout:BeginScrollView(scrollPosition, alwaysShowHorizontal, alwaysShowVertical, options) end

--
--The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example.
--
--```plaintext
--Params: scrollPosition - The position to use display.
--        alwayShowHorizontal - Optional parameter to always show the horizontal scrollbar. If false or left out, it is only shown when the content inside the ScrollView is wider than the scrollview itself.
--        alwayShowVertical - Optional parameter to always show the vertical scrollbar. If false or left out, it is only shown when content inside the ScrollView is taller than the scrollview itself.
--        horizontalScrollbar - Optional GUIStyle to use for the horizontal scrollbar. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        verticalScrollbar - Optional GUIStyle to use for the vertical scrollbar. If left out, the verticalScrollbar style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param scrollPosition UnityEngine.Vector2
---@param horizontalScrollbar UnityEngine.GUIStyle
---@param verticalScrollbar UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Vector2
function CS.UnityEngine.GUILayout:BeginScrollView(scrollPosition, horizontalScrollbar, verticalScrollbar, options) end

--
--The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example.
--
--```plaintext
--Params: scrollPosition - The position to use display.
--        alwayShowHorizontal - Optional parameter to always show the horizontal scrollbar. If false or left out, it is only shown when the content inside the ScrollView is wider than the scrollview itself.
--        alwayShowVertical - Optional parameter to always show the vertical scrollbar. If false or left out, it is only shown when content inside the ScrollView is taller than the scrollview itself.
--        horizontalScrollbar - Optional GUIStyle to use for the horizontal scrollbar. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        verticalScrollbar - Optional GUIStyle to use for the vertical scrollbar. If left out, the verticalScrollbar style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param scrollPosition UnityEngine.Vector2
---@param style UnityEngine.GUIStyle
---@return Vector2
function CS.UnityEngine.GUILayout:BeginScrollView(scrollPosition, style) end

--
--The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example.
--
--```plaintext
--Params: scrollPosition - The position to use display.
--        alwayShowHorizontal - Optional parameter to always show the horizontal scrollbar. If false or left out, it is only shown when the content inside the ScrollView is wider than the scrollview itself.
--        alwayShowVertical - Optional parameter to always show the vertical scrollbar. If false or left out, it is only shown when content inside the ScrollView is taller than the scrollview itself.
--        horizontalScrollbar - Optional GUIStyle to use for the horizontal scrollbar. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        verticalScrollbar - Optional GUIStyle to use for the vertical scrollbar. If left out, the verticalScrollbar style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param scrollPosition UnityEngine.Vector2
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Vector2
function CS.UnityEngine.GUILayout:BeginScrollView(scrollPosition, style, options) end

--
--The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example.
--
--```plaintext
--Params: scrollPosition - The position to use display.
--        alwayShowHorizontal - Optional parameter to always show the horizontal scrollbar. If false or left out, it is only shown when the content inside the ScrollView is wider than the scrollview itself.
--        alwayShowVertical - Optional parameter to always show the vertical scrollbar. If false or left out, it is only shown when content inside the ScrollView is taller than the scrollview itself.
--        horizontalScrollbar - Optional GUIStyle to use for the horizontal scrollbar. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        verticalScrollbar - Optional GUIStyle to use for the vertical scrollbar. If left out, the verticalScrollbar style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param scrollPosition UnityEngine.Vector2
---@param alwaysShowHorizontal bool
---@param alwaysShowVertical bool
---@param horizontalScrollbar UnityEngine.GUIStyle
---@param verticalScrollbar UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Vector2
function CS.UnityEngine.GUILayout:BeginScrollView(scrollPosition, alwaysShowHorizontal, alwaysShowVertical, horizontalScrollbar, verticalScrollbar, options) end

--
--The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example.
--
--```plaintext
--Params: scrollPosition - The position to use display.
--        alwayShowHorizontal - Optional parameter to always show the horizontal scrollbar. If false or left out, it is only shown when the content inside the ScrollView is wider than the scrollview itself.
--        alwayShowVertical - Optional parameter to always show the vertical scrollbar. If false or left out, it is only shown when content inside the ScrollView is taller than the scrollview itself.
--        horizontalScrollbar - Optional GUIStyle to use for the horizontal scrollbar. If left out, the horizontalScrollbar style from the current GUISkin is used.
--        verticalScrollbar - Optional GUIStyle to use for the vertical scrollbar. If left out, the verticalScrollbar style from the current GUISkin is used.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param scrollPosition UnityEngine.Vector2
---@param alwaysShowHorizontal bool
---@param alwaysShowVertical bool
---@param horizontalScrollbar UnityEngine.GUIStyle
---@param verticalScrollbar UnityEngine.GUIStyle
---@param background UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Vector2
function CS.UnityEngine.GUILayout:BeginScrollView(scrollPosition, alwaysShowHorizontal, alwaysShowVertical, horizontalScrollbar, verticalScrollbar, background, options) end

--
--End a scroll view begun with a call to BeginScrollView.
--
---@source UnityEngine.IMGUIModule.dll
function CS.UnityEngine.GUILayout:EndScrollView() end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param screenRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param text string
---@param options UnityEngine.GUILayoutOption[]
---@return Rect
function CS.UnityEngine.GUILayout:Window(id, screenRect, func, text, options) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param screenRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param image UnityEngine.Texture
---@param options UnityEngine.GUILayoutOption[]
---@return Rect
function CS.UnityEngine.GUILayout:Window(id, screenRect, func, image, options) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param screenRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param content UnityEngine.GUIContent
---@param options UnityEngine.GUILayoutOption[]
---@return Rect
function CS.UnityEngine.GUILayout:Window(id, screenRect, func, content, options) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param screenRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param text string
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Rect
function CS.UnityEngine.GUILayout:Window(id, screenRect, func, text, style, options) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param screenRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param image UnityEngine.Texture
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Rect
function CS.UnityEngine.GUILayout:Window(id, screenRect, func, image, style, options) end

---@source UnityEngine.IMGUIModule.dll
---@param id int
---@param screenRect UnityEngine.Rect
---@param func UnityEngine.GUI.WindowFunction
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Rect
function CS.UnityEngine.GUILayout:Window(id, screenRect, func, content, style, options) end

--
--Option passed to a control to give it an absolute width.
--
---@source UnityEngine.IMGUIModule.dll
---@param width float
---@return GUILayoutOption
function CS.UnityEngine.GUILayout:Width(width) end

--
--Option passed to a control to specify a minimum width.
--
---@source UnityEngine.IMGUIModule.dll
---@param minWidth float
---@return GUILayoutOption
function CS.UnityEngine.GUILayout:MinWidth(minWidth) end

--
--Option passed to a control to specify a maximum width.
--
---@source UnityEngine.IMGUIModule.dll
---@param maxWidth float
---@return GUILayoutOption
function CS.UnityEngine.GUILayout:MaxWidth(maxWidth) end

--
--Option passed to a control to give it an absolute height.
--
---@source UnityEngine.IMGUIModule.dll
---@param height float
---@return GUILayoutOption
function CS.UnityEngine.GUILayout:Height(height) end

--
--Option passed to a control to specify a minimum height.
--
---@source UnityEngine.IMGUIModule.dll
---@param minHeight float
---@return GUILayoutOption
function CS.UnityEngine.GUILayout:MinHeight(minHeight) end

--
--Option passed to a control to specify a maximum height.
--
---@source UnityEngine.IMGUIModule.dll
---@param maxHeight float
---@return GUILayoutOption
function CS.UnityEngine.GUILayout:MaxHeight(maxHeight) end

--
--Option passed to a control to allow or disallow horizontal expansion.
--
---@source UnityEngine.IMGUIModule.dll
---@param expand bool
---@return GUILayoutOption
function CS.UnityEngine.GUILayout:ExpandWidth(expand) end

--
--Option passed to a control to allow or disallow vertical expansion.
--
---@source UnityEngine.IMGUIModule.dll
---@param expand bool
---@return GUILayoutOption
function CS.UnityEngine.GUILayout:ExpandHeight(expand) end


--
--Disposable helper class for managing BeginHorizontal / EndHorizontal.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.HorizontalScope: UnityEngine.GUI.Scope
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.HorizontalScope = {}


--
--Disposable helper class for managing BeginVertical / EndVertical.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.VerticalScope: UnityEngine.GUI.Scope
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.VerticalScope = {}


--
--Disposable helper class for managing BeginArea / EndArea.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.AreaScope: UnityEngine.GUI.Scope
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.AreaScope = {}


--
--Disposable helper class for managing BeginScrollView / EndScrollView.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.ScrollViewScope: UnityEngine.GUI.Scope
--
--The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example.
--
---@source UnityEngine.IMGUIModule.dll
---@field scrollPosition UnityEngine.Vector2
--
--Whether this ScrollView should handle scroll wheel events. (default: true).
--
---@source UnityEngine.IMGUIModule.dll
---@field handleScrollWheel bool
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.ScrollViewScope = {}


--
--Class internally used to pass layout options into GUILayout functions. You don't use these directly, but construct them with the layouting functions in the GUILayout class.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.GUILayoutOption: object
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.GUILayoutOption = {}


--
--Utility functions for implementing and extending the GUILayout class.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.GUILayoutUtility: object
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.GUILayoutUtility = {}

---@source UnityEngine.IMGUIModule.dll
---@param GroupName string
function CS.UnityEngine.GUILayoutUtility:BeginGroup(GroupName) end

---@source UnityEngine.IMGUIModule.dll
---@param groupName string
function CS.UnityEngine.GUILayoutUtility:EndGroup(groupName) end

--
--A rectangle that is large enough to contain content when rendered in style.
--
--```plaintext
--Params: content - The content to make room for displaying.
--        style - The GUIStyle to layout for.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
---@return Rect
function CS.UnityEngine.GUILayoutUtility:GetRect(content, style) end

--
--A rectangle that is large enough to contain content when rendered in style.
--
--```plaintext
--Params: content - The content to make room for displaying.
--        style - The GUIStyle to layout for.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param content UnityEngine.GUIContent
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Rect
function CS.UnityEngine.GUILayoutUtility:GetRect(content, style, options) end

--
--The rectanlge to put your control in.
--
--```plaintext
--Params: width - The width of the area you want.
--        height - The height of the area you want.
--        style - An optional GUIStyle to layout for. If specified, the style's padding value will be added to your sizes & its margin value will be used for spacing.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param width float
---@param height float
---@return Rect
function CS.UnityEngine.GUILayoutUtility:GetRect(width, height) end

--
--The rectanlge to put your control in.
--
--```plaintext
--Params: width - The width of the area you want.
--        height - The height of the area you want.
--        style - An optional GUIStyle to layout for. If specified, the style's padding value will be added to your sizes & its margin value will be used for spacing.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param width float
---@param height float
---@param style UnityEngine.GUIStyle
---@return Rect
function CS.UnityEngine.GUILayoutUtility:GetRect(width, height, style) end

--
--The rectanlge to put your control in.
--
--```plaintext
--Params: width - The width of the area you want.
--        height - The height of the area you want.
--        style - An optional GUIStyle to layout for. If specified, the style's padding value will be added to your sizes & its margin value will be used for spacing.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param width float
---@param height float
---@param options UnityEngine.GUILayoutOption[]
---@return Rect
function CS.UnityEngine.GUILayoutUtility:GetRect(width, height, options) end

--
--The rectanlge to put your control in.
--
--```plaintext
--Params: width - The width of the area you want.
--        height - The height of the area you want.
--        style - An optional GUIStyle to layout for. If specified, the style's padding value will be added to your sizes & its margin value will be used for spacing.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param width float
---@param height float
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Rect
function CS.UnityEngine.GUILayoutUtility:GetRect(width, height, style, options) end

--
--A rectangle with size between minWidth & maxWidth on both axes.
--
--```plaintext
--Params: minWidth - The minimum width of the area passed back.
--        maxWidth - The maximum width of the area passed back.
--        minHeight - The minimum width of the area passed back.
--        maxHeight - The maximum width of the area passed back.
--        style - An optional style. If specified, the style's padding value will be added to the sizes requested & the style's margin values will be used for spacing.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param minWidth float
---@param maxWidth float
---@param minHeight float
---@param maxHeight float
---@return Rect
function CS.UnityEngine.GUILayoutUtility:GetRect(minWidth, maxWidth, minHeight, maxHeight) end

--
--A rectangle with size between minWidth & maxWidth on both axes.
--
--```plaintext
--Params: minWidth - The minimum width of the area passed back.
--        maxWidth - The maximum width of the area passed back.
--        minHeight - The minimum width of the area passed back.
--        maxHeight - The maximum width of the area passed back.
--        style - An optional style. If specified, the style's padding value will be added to the sizes requested & the style's margin values will be used for spacing.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param minWidth float
---@param maxWidth float
---@param minHeight float
---@param maxHeight float
---@param style UnityEngine.GUIStyle
---@return Rect
function CS.UnityEngine.GUILayoutUtility:GetRect(minWidth, maxWidth, minHeight, maxHeight, style) end

--
--A rectangle with size between minWidth & maxWidth on both axes.
--
--```plaintext
--Params: minWidth - The minimum width of the area passed back.
--        maxWidth - The maximum width of the area passed back.
--        minHeight - The minimum width of the area passed back.
--        maxHeight - The maximum width of the area passed back.
--        style - An optional style. If specified, the style's padding value will be added to the sizes requested & the style's margin values will be used for spacing.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param minWidth float
---@param maxWidth float
---@param minHeight float
---@param maxHeight float
---@param options UnityEngine.GUILayoutOption[]
---@return Rect
function CS.UnityEngine.GUILayoutUtility:GetRect(minWidth, maxWidth, minHeight, maxHeight, options) end

--
--A rectangle with size between minWidth & maxWidth on both axes.
--
--```plaintext
--Params: minWidth - The minimum width of the area passed back.
--        maxWidth - The maximum width of the area passed back.
--        minHeight - The minimum width of the area passed back.
--        maxHeight - The maximum width of the area passed back.
--        style - An optional style. If specified, the style's padding value will be added to the sizes requested & the style's margin values will be used for spacing.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param minWidth float
---@param maxWidth float
---@param minHeight float
---@param maxHeight float
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Rect
function CS.UnityEngine.GUILayoutUtility:GetRect(minWidth, maxWidth, minHeight, maxHeight, style, options) end

--
--The last used rectangle.
--
---@source UnityEngine.IMGUIModule.dll
---@return Rect
function CS.UnityEngine.GUILayoutUtility:GetLastRect() end

--
--The rect for the control.
--
--```plaintext
--Params: aspect - The aspect ratio of the element (width / height).
--        style - An optional style. If specified, the style's padding value will be added to the sizes of the returned rectangle & the style's margin values will be used for spacing.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param aspect float
---@return Rect
function CS.UnityEngine.GUILayoutUtility:GetAspectRect(aspect) end

--
--The rect for the control.
--
--```plaintext
--Params: aspect - The aspect ratio of the element (width / height).
--        style - An optional style. If specified, the style's padding value will be added to the sizes of the returned rectangle & the style's margin values will be used for spacing.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param aspect float
---@param style UnityEngine.GUIStyle
---@return Rect
function CS.UnityEngine.GUILayoutUtility:GetAspectRect(aspect, style) end

--
--The rect for the control.
--
--```plaintext
--Params: aspect - The aspect ratio of the element (width / height).
--        style - An optional style. If specified, the style's padding value will be added to the sizes of the returned rectangle & the style's margin values will be used for spacing.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param aspect float
---@param options UnityEngine.GUILayoutOption[]
---@return Rect
function CS.UnityEngine.GUILayoutUtility:GetAspectRect(aspect, options) end

--
--The rect for the control.
--
--```plaintext
--Params: aspect - The aspect ratio of the element (width / height).
--        style - An optional style. If specified, the style's padding value will be added to the sizes of the returned rectangle & the style's margin values will be used for spacing.
--        options - An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
--See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
--GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
--        
--```
--
---@source UnityEngine.IMGUIModule.dll
---@param aspect float
---@param style UnityEngine.GUIStyle
---@param options UnityEngine.GUILayoutOption[]
---@return Rect
function CS.UnityEngine.GUILayoutUtility:GetAspectRect(aspect, style, options) end


--
--General settings for how the GUI behaves.
--
---@source UnityEngine.IMGUIModule.dll
---@class UnityEngine.GUISettings: object
--
--Should double-clicking select words in text fields.
--
---@source UnityEngine.IMGUIModule.dll
---@field doubleClickSelectsWord bool
--
--Should triple-clicking select whole text in text fields.
--
---@source UnityEngine.IMGUIModule.dll
---@field tripleClickSelectsLine bool
--
--The color of the cursor in text fields.
--
---@source UnityEngine.IMGUIModule.dll
---@field cursorColor UnityEngine.Color
--
--The speed of text field cursor flashes.
--
---@source UnityEngine.IMGUIModule.dll
---@field cursorFlashSpeed float
--
--The color of the selection rect in text fields.
--
---@source UnityEngine.IMGUIModule.dll
---@field selectionColor UnityEngine.Color
---@source UnityEngine.IMGUIModule.dll
CS.UnityEngine.GUISettings = {}
