    

 ## On this page

  

 

 # OpenTD.UserCode Class Reference

 Last update: 16.07.2025 

Client-side representation of a Logic Object User Code item in a TD instance. [More...](#details)

Inheritance diagram for OpenTD.UserCode:

 ![](/sites/default/files/migrate-content/opentd_net4_reference_2025_r2_1/class_open_t_d_1_1_user_code.png)



## <a id="pub-types" name="pub-types"></a>Public Types

enum [LogicType](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9e) {   
 [TRANSLATECODE](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9ea44fb3536c8145c2b6cd0001effefb867) = -1 , [ARRAY\_INTERP](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9eaa79d4f6b7a9a8e30ee94303d727ccd96), [BIVAR\_INTERP](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9ea7b2584706a394a5d853e535bb370c79b), [PID](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9ea2d73559f294204a42bda2e926d094612),   
 [USERCODE](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9ead113e5820e33ff51f925a3f5dbf7aca1), [DIFFEQ](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9ea709ba73fdddc2857de411f6eae348d7b), [DIFFEQANGULAR](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9eadfc7f799d8d832c23b93b5f934e68d94), [DIFFEQRPM](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9ea1a5e9bbaf44f203db4f4b64a7dd259fa),   
 [COMPAREDL](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9eacb0bcdd6dce9496cabe901f8fb45dc34), [USER\_ARRAY](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9ea719921666c82ae312d9082594eebe4ae), [SUBCOMPLQ](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9eaa25de14206e2b8316327da0f22c13f01), [FORTRANARRAY](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9ea7d33999b8d21874b0ab1f73ff9f58f49),   
 [MAXLOGICTYPE](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9ea83f272b71616c425115ee76a4775b04e)  
 } TD Logic Object types. [More...](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9e)  
 ## <a id="pub-methods" name="pub-methods"></a>Public Member Functions

override void [Update](#a1913ce676a1a86d284c10a5b94e05f76) () Updates the TD entity with the latest client data.   
 override void [CreateIn](#a9e1872b0a939a735447799f746be56b9) ([ThermalDesktop](class_open_t_d_1_1_thermal_desktop.xhtml) td) Creates the TD entity in the specified TD instance.   
 override void [UpdateFromTD](class_open_t_d_1_1_logic_object.xhtml#ac93d4821f111c73c7eaf95fc7c27d73b) () Updates the client-side instance with the latest data from the TD entity.   
 override string [ToString](class_open_t_d_1_1_logic_object.xhtml#a5c340328029b903ad8480a6a7dda1f85) () void [SetFrom](class_open_t_d_1_1_open_t_d_object.xhtml#aa2e0aa2793e95a56891ef59fb4843ca2) ([OpenTDObject](class_open_t_d_1_1_open_t_d_object.xhtml) x) void [UpdateIn](class_open_t_d_1_1_open_t_d_object.xhtml#a1e5228ce309c9a85ec09e8119318024d) ([ThermalDesktop](class_open_t_d_1_1_thermal_desktop.xhtml) td) Updates the TD entity corresponding to this object in the specified TD instance, if possible.   
 ## <a id="pro-attribs" name="pro-attribs"></a>Protected Attributes

[ITdCommander](interface_open_t_d_1_1_internal_1_1_communication_1_1_i_td_commander.xhtml) [TdProxy](class_open_t_d_1_1_open_t_d_object.xhtml#a0da16592e6b635ca0def27b355d669b3) ## <a id="properties" name="properties"></a>Properties

string [Code](class_open_t_d_1_1_rc_logic_user_code_data.xhtml#acf04593a1f389214a186826eb6a75057)` [get, set]` [LogicObjectRoutineTypes](namespace_open_t_d.xhtml#a76034a304382261541410fc8ee4c19ca) [Routine](class_open_t_d_1_1_rc_logic_user_code_data.xhtml#a0e42e590c7080eae0fb1d23cbd109f1a)` [get, set]` string [Declarations](class_open_t_d_1_1_rc_logic_user_code_data.xhtml#ae4616d675aab29873a1943452c34d3b2)` [get, set]` string [UseStatements](class_open_t_d_1_1_rc_logic_user_code_data.xhtml#a45ac7f9289370a2f94a3706ba2fe7435)` [get, set]` string [TdClassName](interface_open_t_d_1_1_i_td_derived.xhtml#ab352578bf3691270b61651f567077073)` [get]` string [Handle](class_open_t_d_1_1_logic_object.xhtml#ae9743ddd8cf8500cb8c1edefd96f0ab8)` [get, set]` string [Comment](class_open_t_d_1_1_logic_object.xhtml#a5be337c63042b60e8fa1e9467d028dda)` [get, set]` [SubmodelNameData](class_open_t_d_1_1_submodel_name_data.xhtml) [Submodel](class_open_t_d_1_1_logic_object.xhtml#aea12dd68d8f3537ab7c59aa30fe4933a)` [get, set]` [ExpressionData](class_open_t_d_1_1_expression_data.xhtml) [EnabledExp](class_open_t_d_1_1_logic_object.xhtml#a892165742428b0fb10d53b52df1c40e6)` [get, set]` string [GroupName](class_open_t_d_1_1_logic_object.xhtml#a6de31d1fc41caa3729fcebc660268283)` [get, set]` [LogicType](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9e) [Type](class_open_t_d_1_1_logic_object.xhtml#a44e8f37e9600deec3f61e570c591fc7d)` [get]` <a id="details" name="details"></a>## Detailed Description

Client-side representation of a Logic Object User Code item in a TD instance.

See also[OpenTD.ThermalDesktop](class_open_t_d_1_1_thermal_desktop.xhtml "Represents one instance of Thermal Desktop. This is the top-level class for interacting with OpenTD.")

## Member Enumeration Documentation

<a id="a284f97e5fd43816d9037affd5bb18c9e" name="a284f97e5fd43816d9037affd5bb18c9e"></a>## [◆ ](#a284f97e5fd43816d9037affd5bb18c9e)LogicType

 enum [OpenTD.LogicObject.LogicType](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9e)  inherited 

TD Logic Object types.

Enumerator<a id="a284f97e5fd43816d9037affd5bb18c9ea44fb3536c8145c2b6cd0001effefb867" name="a284f97e5fd43816d9037affd5bb18c9ea44fb3536c8145c2b6cd0001effefb867"></a>TRANSLATECODE <a id="a284f97e5fd43816d9037affd5bb18c9eaa79d4f6b7a9a8e30ee94303d727ccd96" name="a284f97e5fd43816d9037affd5bb18c9eaa79d4f6b7a9a8e30ee94303d727ccd96"></a>ARRAY\_INTERP <a id="a284f97e5fd43816d9037affd5bb18c9ea7b2584706a394a5d853e535bb370c79b" name="a284f97e5fd43816d9037affd5bb18c9ea7b2584706a394a5d853e535bb370c79b"></a>BIVAR\_INTERP <a id="a284f97e5fd43816d9037affd5bb18c9ea2d73559f294204a42bda2e926d094612" name="a284f97e5fd43816d9037affd5bb18c9ea2d73559f294204a42bda2e926d094612"></a>PID <a id="a284f97e5fd43816d9037affd5bb18c9ead113e5820e33ff51f925a3f5dbf7aca1" name="a284f97e5fd43816d9037affd5bb18c9ead113e5820e33ff51f925a3f5dbf7aca1"></a>USERCODE <a id="a284f97e5fd43816d9037affd5bb18c9ea709ba73fdddc2857de411f6eae348d7b" name="a284f97e5fd43816d9037affd5bb18c9ea709ba73fdddc2857de411f6eae348d7b"></a>DIFFEQ <a id="a284f97e5fd43816d9037affd5bb18c9eadfc7f799d8d832c23b93b5f934e68d94" name="a284f97e5fd43816d9037affd5bb18c9eadfc7f799d8d832c23b93b5f934e68d94"></a>DIFFEQANGULAR <a id="a284f97e5fd43816d9037affd5bb18c9ea1a5e9bbaf44f203db4f4b64a7dd259fa" name="a284f97e5fd43816d9037affd5bb18c9ea1a5e9bbaf44f203db4f4b64a7dd259fa"></a>DIFFEQRPM <a id="a284f97e5fd43816d9037affd5bb18c9eacb0bcdd6dce9496cabe901f8fb45dc34" name="a284f97e5fd43816d9037affd5bb18c9eacb0bcdd6dce9496cabe901f8fb45dc34"></a>COMPAREDL <a id="a284f97e5fd43816d9037affd5bb18c9ea719921666c82ae312d9082594eebe4ae" name="a284f97e5fd43816d9037affd5bb18c9ea719921666c82ae312d9082594eebe4ae"></a>USER\_ARRAY <a id="a284f97e5fd43816d9037affd5bb18c9eaa25de14206e2b8316327da0f22c13f01" name="a284f97e5fd43816d9037affd5bb18c9eaa25de14206e2b8316327da0f22c13f01"></a>SUBCOMPLQ <a id="a284f97e5fd43816d9037affd5bb18c9ea7d33999b8d21874b0ab1f73ff9f58f49" name="a284f97e5fd43816d9037affd5bb18c9ea7d33999b8d21874b0ab1f73ff9f58f49"></a>FORTRANARRAY <a id="a284f97e5fd43816d9037affd5bb18c9ea83f272b71616c425115ee76a4775b04e" name="a284f97e5fd43816d9037affd5bb18c9ea83f272b71616c425115ee76a4775b04e"></a>MAXLOGICTYPE 



## Member Function Documentation

<a id="a9e1872b0a939a735447799f746be56b9" name="a9e1872b0a939a735447799f746be56b9"></a>## [◆ ](#a9e1872b0a939a735447799f746be56b9)CreateIn()

 override void OpenTD.UserCode.CreateIn  ( [ThermalDesktop](class_open_t_d_1_1_thermal_desktop.xhtml) *td*)   inline 

Creates the TD entity in the specified TD instance.

Implements [OpenTD.IReassignable](interface_open_t_d_1_1_i_reassignable.xhtml#a94cbc52d002a10e44f5dc2daaf9c87db).





<a id="aa2e0aa2793e95a56891ef59fb4843ca2" name="aa2e0aa2793e95a56891ef59fb4843ca2"></a>## [◆ ](#aa2e0aa2793e95a56891ef59fb4843ca2)SetFrom()

 void OpenTD.OpenTDObject.SetFrom  ( [OpenTDObject](class_open_t_d_1_1_open_t_d_object.xhtml) *x*)   inlineinherited 





<a id="a5c340328029b903ad8480a6a7dda1f85" name="a5c340328029b903ad8480a6a7dda1f85"></a>## [◆ ](#a5c340328029b903ad8480a6a7dda1f85)ToString()

 override string OpenTD.LogicObject.ToString  ( )   inlineinherited 





<a id="a1913ce676a1a86d284c10a5b94e05f76" name="a1913ce676a1a86d284c10a5b94e05f76"></a>## [◆ ](#a1913ce676a1a86d284c10a5b94e05f76)Update()

 override void OpenTD.UserCode.Update  ( )   inline 

Updates the TD entity with the latest client data.

Implements [OpenTD.IUpdatable](interface_open_t_d_1_1_i_updatable.xhtml#a162ef7c717f51047a1d45c7df4282470).





<a id="ac93d4821f111c73c7eaf95fc7c27d73b" name="ac93d4821f111c73c7eaf95fc7c27d73b"></a>## [◆ ](#ac93d4821f111c73c7eaf95fc7c27d73b)UpdateFromTD()

 override void OpenTD.LogicObject.UpdateFromTD  ( )   inlineinherited 

Updates the client-side instance with the latest data from the TD entity.

Implements [OpenTD.IUpdatable](interface_open_t_d_1_1_i_updatable.xhtml#a47f3096415cfb5694fd822df8a1eceb0).





<a id="a1e5228ce309c9a85ec09e8119318024d" name="a1e5228ce309c9a85ec09e8119318024d"></a>## [◆ ](#a1e5228ce309c9a85ec09e8119318024d)UpdateIn()

 void OpenTD.OpenTDObject.UpdateIn  ( [ThermalDesktop](class_open_t_d_1_1_thermal_desktop.xhtml) *td*)   inlineinherited 

Updates the TD entity corresponding to this object in the specified TD instance, if possible.

Implements [OpenTD.IReassignable](interface_open_t_d_1_1_i_reassignable.xhtml#a90dffde7dd442e9d940f9e5c5fabde14).





## Member Data Documentation

<a id="a0da16592e6b635ca0def27b355d669b3" name="a0da16592e6b635ca0def27b355d669b3"></a>## [◆ ](#a0da16592e6b635ca0def27b355d669b3)TdProxy

 [ITdCommander](interface_open_t_d_1_1_internal_1_1_communication_1_1_i_td_commander.xhtml) OpenTD.OpenTDObject.TdProxy  protectedinherited 





## Property Documentation

<a id="acf04593a1f389214a186826eb6a75057" name="acf04593a1f389214a186826eb6a75057"></a>## [◆ ](#acf04593a1f389214a186826eb6a75057)Code

 string OpenTD.RcLogicUserCodeData.Code  getsetinherited 





<a id="a5be337c63042b60e8fa1e9467d028dda" name="a5be337c63042b60e8fa1e9467d028dda"></a>## [◆ ](#a5be337c63042b60e8fa1e9467d028dda)Comment

 string OpenTD.LogicObject.Comment  getsetinherited 





<a id="ae4616d675aab29873a1943452c34d3b2" name="ae4616d675aab29873a1943452c34d3b2"></a>## [◆ ](#ae4616d675aab29873a1943452c34d3b2)Declarations

 string OpenTD.RcLogicUserCodeData.Declarations  getsetinherited 





<a id="a892165742428b0fb10d53b52df1c40e6" name="a892165742428b0fb10d53b52df1c40e6"></a>## [◆ ](#a892165742428b0fb10d53b52df1c40e6)EnabledExp

 [ExpressionData](class_open_t_d_1_1_expression_data.xhtml) OpenTD.LogicObject.EnabledExp  getsetinherited 





<a id="a6de31d1fc41caa3729fcebc660268283" name="a6de31d1fc41caa3729fcebc660268283"></a>## [◆ ](#a6de31d1fc41caa3729fcebc660268283)GroupName

 string OpenTD.LogicObject.GroupName  getsetinherited 





<a id="ae9743ddd8cf8500cb8c1edefd96f0ab8" name="ae9743ddd8cf8500cb8c1edefd96f0ab8"></a>## [◆ ](#ae9743ddd8cf8500cb8c1edefd96f0ab8)Handle

 string OpenTD.LogicObject.Handle  getsetinherited 





<a id="a0e42e590c7080eae0fb1d23cbd109f1a" name="a0e42e590c7080eae0fb1d23cbd109f1a"></a>## [◆ ](#a0e42e590c7080eae0fb1d23cbd109f1a)Routine

 [LogicObjectRoutineTypes](namespace_open_t_d.xhtml#a76034a304382261541410fc8ee4c19ca) OpenTD.RcLogicUserCodeData.Routine  getsetinherited 





<a id="aea12dd68d8f3537ab7c59aa30fe4933a" name="aea12dd68d8f3537ab7c59aa30fe4933a"></a>## [◆ ](#aea12dd68d8f3537ab7c59aa30fe4933a)Submodel

 [SubmodelNameData](class_open_t_d_1_1_submodel_name_data.xhtml) OpenTD.LogicObject.Submodel  getsetinherited 





<a id="ab352578bf3691270b61651f567077073" name="ab352578bf3691270b61651f567077073"></a>## [◆ ](#ab352578bf3691270b61651f567077073)TdClassName

 string OpenTD.ITdDerived.TdClassName  getinherited 





<a id="a44e8f37e9600deec3f61e570c591fc7d" name="a44e8f37e9600deec3f61e570c591fc7d"></a>## [◆ ](#a44e8f37e9600deec3f61e570c591fc7d)Type

 [LogicType](class_open_t_d_1_1_logic_object.xhtml#a284f97e5fd43816d9037affd5bb18c9e) OpenTD.LogicObject.Type  getinherited 





<a id="a45ac7f9289370a2f94a3706ba2fe7435" name="a45ac7f9289370a2f94a3706ba2fe7435"></a>## [◆ ](#a45ac7f9289370a2f94a3706ba2fe7435)UseStatements

 string OpenTD.RcLogicUserCodeData.UseStatements  getsetinherited 





---

The documentation for this class was generated from the following file:- C:/Users/mgarrett/source/repos/BuildsTdSuite/builds/TDDEV\_ALPHA/buildXX/OpenTD/**UserCode.cs**