Advertisement
GlobalLiquidity

Untitled

Mar 20th, 2019
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import * as bjs from 'babylonjs';
  2. import { MarketSide, OrderStatus, OrderSide } from '../market/enums';
  3.  
  4. export interface IScene
  5. {
  6.     title: string;
  7.     canvas : HTMLElement;
  8.     engine : bjs.Engine;
  9.     bjsScene : bjs.Scene;
  10.     camera : bjs.Camera;
  11.     light : bjs.PointLight;
  12.     sceneElements : Array<ISceneElement>;
  13.  
  14.     preRender();
  15.     render();
  16. }
  17.  
  18. export interface ISceneElement
  19. {
  20.     scene : IScene;
  21.     sceneElements : Array<ISceneElement>;
  22.  
  23.     addChild(element : ISceneElement);
  24.  
  25.     preRender();
  26.     render();
  27. }
  28.  
  29. export interface ISceneDataSource
  30. {
  31.     dataSink : ISceneDataSink;
  32.    
  33.     subscribe(sink : ISceneDataSink)
  34. }
  35.  
  36. export interface ISceneDataSink
  37. {
  38.     dataSource : ISceneDataSource;
  39.  
  40.     connectDataSource();
  41.     onDataSourceUpdated();
  42. }
  43.  
  44. export interface IMessageBusMessage
  45. {
  46.     topic: string;
  47.     message: string;
  48. }
  49.  
  50. export interface IMessageBus
  51. {
  52.     link:IMessageBusLink;
  53.  
  54.     connect(apikey : string);
  55.     joinChannel(channelName : string)
  56.     sendMessage(topic: string, message: string);
  57. }
  58.  
  59. export interface IMessageBusLink    
  60. {
  61.     scene:IScene
  62.     processEvent(eventName:string, eventData:string);
  63. }
  64.  
  65. export interface IExchangeOrder
  66. {
  67.     symbol : string;
  68.     side : string;
  69.     quantity : number;
  70.     price : number;
  71.     status : string;
  72.     time : number;
  73.  
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement