Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
        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);
        }