AtomicNET.d.ts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. //Atomic TypeScript Definitions
  2. /// <reference path="Atomic.d.ts" />
  3. declare module AtomicNET {
  4. // enum CSComponentMethod
  5. export type CSComponentMethod = number;
  6. export var CSComponentMethod_Start: CSComponentMethod;
  7. export var CSComponentMethod_DelayedStart: CSComponentMethod;
  8. export var CSComponentMethod_Update: CSComponentMethod;
  9. export var CSComponentMethod_PostUpdate: CSComponentMethod;
  10. export var CSComponentMethod_FixedUpdate: CSComponentMethod;
  11. export var CSComponentMethod_PostFixedUpdate: CSComponentMethod;
  12. //----------------------------------------------------
  13. // MODULE: NETCore
  14. //----------------------------------------------------
  15. export class NETCore extends Atomic.AObject {
  16. context: Atomic.Context;
  17. // Construct.
  18. constructor();
  19. shutdown(): void;
  20. addAssemblyLoadPath(assemblyPath: string): void;
  21. execAssembly(assemblyName: string, args: string[]): number;
  22. waitForDebuggerConnect(): void;
  23. // to get a reference from
  24. static getContext(): Atomic.Context;
  25. }
  26. export class NETVariantMap extends Atomic.RefCounted {
  27. constructor();
  28. getBool(key: string): boolean;
  29. getInt(key: string): number;
  30. getFloat(key: string): number;
  31. getVector3(key: string): Atomic.Vector3;
  32. getQuaternion(key: string): Atomic.Quaternion;
  33. getPtr(key: string): Atomic.RefCounted;
  34. getString(key: string): string;
  35. getVariantType(key: string): Atomic.VariantType;
  36. getResourceFromRef(key: string): Atomic.Resource;
  37. contains(key: string): boolean;
  38. }
  39. //----------------------------------------------------
  40. // MODULE: NETScript
  41. //----------------------------------------------------
  42. export class CSComponent extends Atomic.ScriptComponent {
  43. componentClassName: string;
  44. componentFile: Atomic.ScriptComponentFile;
  45. assemblyFile: CSComponentAssembly;
  46. // Construct.
  47. constructor();
  48. applyAttributes(): void;
  49. // Handle enabled/disabled state change. Changes update event subscription.
  50. onSetEnabled(): void;
  51. applyFieldValues(): void;
  52. setComponentClassName(name: string): void;
  53. getComponentClassName(): string;
  54. getComponentFile(): Atomic.ScriptComponentFile;
  55. getAssemblyFile(): CSComponentAssembly;
  56. setAssemblyFile(assemblyFile: CSComponentAssembly): void;
  57. }
  58. export class CSComponentAssembly extends Atomic.ScriptComponentFile {
  59. classNames: string[];
  60. // Construct.
  61. constructor();
  62. createCSComponent(classname: string): CSComponent;
  63. // Only valid in editor, as we don't inspect assembly at runtime
  64. getClassNames(): string[];
  65. }
  66. export class CSManaged extends Atomic.AObject {
  67. // Construct.
  68. constructor();
  69. initialize(): boolean;
  70. nETUpdate(timeStep: number): void;
  71. cSComponentCreate(assemblyName: string, componentName: string): CSComponent;
  72. cSComponentApplyFields(component: CSComponent, fieldMapPtr: NETVariantMap): void;
  73. cSComponentCallMethod(id: number, methodID: CSComponentMethod, value?: number): void;
  74. }
  75. export class CSScriptObject extends Atomic.AObject {
  76. // Construct.
  77. constructor();
  78. }
  79. }