void Start() { IScriptableObjectLoader scriptableObjectLoader = new ScriptableObjectLoader(); ISceneTable sceneTable = scriptableObjectLoader.LoadScriptableObject(eScriptableObject.SceneTable) as ISceneTable; ISceneSystem sceneSystem = new SceneSystem(sceneTable); IGameSetting gameSetting = new GameSetting(); IUIPrefabTable uiPrefabTable = scriptableObjectLoader.LoadScriptableObject(eScriptableObject.UISystemTable) as IUIPrefabTable; IUILoader uiLoader = new UILoader(uiPrefabTable); IUISystem uiSystem = new UISystem(uiLoader); IGameProcessSystem gameProcessSystem = new GameProcessSystem(gameSetting, sceneSystem, uiSystem); IGameMainLoop gameMainLoop = new GameMainLoop(gameProcessSystem); gameMainLoop.Start(); DontDestroyOnLoad(this); }
void Start() { container = new UnityContainer(); m_client = container.RegisterSingleton <ITcpClient, TcpClient>(new InjectionConstructor(new object[] { "127.0.0.1", 3000 })).Resolve <ITcpClient>() as TcpClient; m_client.Start(); container.RegisterSingleton <IProtocolContainer, ProtocolContainer>().Resolve <IProtocolContainer>(); container.RegisterSingleton <ISendProtocol, ProtocolParser>().Resolve <ISendProtocol>(); container.RegisterSingleton <Channel>(new InjectionConstructor(new object[] { "127.0.0.1:3001", ChannelCredentials.Insecure })).Resolve <Channel>(); container.RegisterSingleton <PlayerData>().Resolve <PlayerData>(); container.RegisterSingleton <IPlayer, Player>().Resolve <IPlayer>(); container.RegisterSingleton <ISendHeartBeat, HeartBeatHandler>().Resolve <ISendHeartBeat>(); container.RegisterSingleton <ILoginHandler, LoginHandler>().Resolve <ILoginHandler>(); container.RegisterSingleton <ILogin, Login>().Resolve <ILogin>(); container.RegisterSingleton <LoginAdapter>().Resolve <LoginAdapter>(); IScriptableObjectLoader scriptableObjectLoader = new ScriptableObjectLoader(); container.RegisterInstance <ISceneTable>(scriptableObjectLoader.LoadScriptableObject(eScriptableObject.SceneTable) as ISceneTable); container.RegisterInstance <IUIPrefabTable>(scriptableObjectLoader.LoadScriptableObject(eScriptableObject.UISystemTable) as IUIPrefabTable); container.RegisterSingleton <ISceneSystem, SceneSystem>().Resolve <ISceneSystem>(); container.RegisterSingleton <IGameSetting, GameSetting>().Resolve <IGameSetting>(); container.RegisterSingleton <IUILoader, UILoader>().Resolve <IUILoader>(); container.RegisterSingleton <UIContainer>().Resolve <UIContainer>(); container.RegisterInstance <IUIImplContainer>(new UIImplContainerBuilder(container).Create()); container.RegisterSingleton <UIContext>().Resolve <UIContext>(); container.RegisterSingleton <IUIView, UIView>().Resolve <IUIView>(); container.RegisterSingleton <UIPresenter>().Resolve <UIPresenter>(); container.RegisterSingleton <IUIController, UIController>().Resolve <IUIController>(); container.RegisterSingleton <IGameProcessSystem, GameProcessSystem>().Resolve <IGameProcessSystem>(); GameHost gameHost = container.RegisterSingleton <GameHost>().Resolve <GameHost>(); gameHost.Start(); DontDestroyOnLoad(this); }