public SetupClientScreenManager(AutoController scene)
        {
            ComponentRegistry guiComps = scene.Components.Get <ComponentRegistry>((int)ComponentKeys.LobbyGUIMessages);

            guiComps.Register((int)GUICompKeys.BtnClientCancelPress, new Message());
            guiComps.Register((int)GUICompKeys.BtnStartClientPress, new Message());
            guiComps.Register((int)GUICompKeys.ClientPortChange, new Message <string>());
            guiComps.Register((int)GUICompKeys.ClientAddressChange, new Message <string>());

            startBtnEnabled = new SubscribableBool(hasPort);
            guiComps.Register((int)GUICompKeys.BtnClientStartEnabledCommand, startBtnEnabled);

            setInputInteractable = new SubscribableBool(state != State.Connecting);
            guiComps.Register((int)GUICompKeys.ClientStartInputInteractable, setInputInteractable);

            setPortField = new SubscribableObject <string>(port.ToString());
            guiComps.Register((int)GUICompKeys.ClientPortSetCommand, setPortField);

            setAddressField = new SubscribableObject <string>("");
            guiComps.Register((int)GUICompKeys.ClientAddressTextField, setAddressField);

            statusText = new SubscribableObject <string>("");
            guiComps.Register((int)GUICompKeys.ClientConnectionStatusLabel, statusText);

            guiComps.Get <Message <string> >((int)GUICompKeys.ClientPortChange).Subscribe(new SimpleListener <string>(OnPortChange));
            guiComps.Get <Message <string> >((int)GUICompKeys.ClientAddressChange).Subscribe(new SimpleListener <string>(OnAddressChange));
            guiComps.Get <Message>((int)GUICompKeys.BtnClientCancelPress).Subscribe(new SimpleListener(OnCancelPress));
            guiComps.Get <Message>((int)GUICompKeys.BtnStartClientPress).Subscribe(new SimpleListener(OnStartPress));

            screen             = scene.Components.Get <StateMachine>((int)ComponentKeys.LobbyScreen);
            startClientCommand = scene.Game.Components.Get <Message <string, int> >((int)ComponentKeys.StartClientCommand);
            stopClientCommand  = scene.Game.Components.Get <Message>((int)ComponentKeys.StopClientCommand);

            screen.EnterStateMessenger.Subscribe(new SimpleListener <int>((s) => {
                if (s == (int)LobbyScreen.SetupClient)
                {
                    state = State.Choosing;
                    SetDefaults();
                }
                else
                {
                    state = State.Hidden;
                }
            }));

            scene.ActivatableList.Add(new ListenerJanitor <IListener <int> >(
                                          scene.Game.Components.Get <LocalPlayerInformation>((int)ComponentKeys.LocalPlayerInformation).Connection.EnterStateMessenger,
                                          new SimpleListener <int>(OnConnectionEstablished)));
        }
Пример #2
0
        public HostOrClientScreenManager(AutoController scene)
        {
            ComponentRegistry guiComps = scene.Components.Get <ComponentRegistry>((int)ComponentKeys.LobbyGUIMessages);

            guiComps.Register((int)GUICompKeys.ChooseToHostBtnPress, new Message());
            guiComps.Register((int)GUICompKeys.ChooseToJoinBtnPress, new Message());
            guiComps.Register((int)GUICompKeys.ChooseToRejoinBtnPress, new Message());

            rejoinButtonVisible = new SubscribableBool(false);
            guiComps.Register((int)GUICompKeys.ChooseToRejoinBtnVisible, rejoinButtonVisible);

            guiComps.Get <Message>((int)GUICompKeys.ChooseToHostBtnPress).Subscribe(new SimpleListener(OnHostBtn));
            guiComps.Get <Message>((int)GUICompKeys.ChooseToJoinBtnPress).Subscribe(new SimpleListener(OnJoinBtn));
            guiComps.Get <Message>((int)GUICompKeys.ChooseToRejoinBtnPress).Subscribe(new SimpleListener(OnRejoinBtn));

            screen = scene.Components.Get <StateMachine>((int)ComponentKeys.LobbyScreen);
            screen.EnterStateMessenger.Subscribe(new SimpleListener <int>((s) => OnEnterScreen()));
        }
        /// <summary>
        ///     The initialize.
        /// </summary>
        /// <param name="components">
        ///     The components.
        /// </param>
        public void Initialize(ComponentRegistry components)
        {
            components.Register<IMetadataFactory, MetadataFactory>();
            components.Register<IImportSelectorChain, ImportSelectorChain>();
            components.Register<IExportFactory, DefaultExportFactory>(DefaultExportFactory.Factory);
            components.Register<ICache, BuildCache>();
            components.Register<IEventManager, EventManager>();
            components.Register<IProxyService, ProxyService>();

            components.Register<IStrategy, CacheStrategy>();
            components.Register<IStrategy, LiftimeStrategy>();
            components.Register<IStrategy, InstantiationStrategy>();
            components.Register<IStrategy, InterceptionStrategy>();
            components.Register<IStrategy, InjectionStrategy>();
            components.Register<IStrategy, NodifyBuildCompledStrategy>();

            var chain = components.Get<IImportSelectorChain>();
            chain.Register(new FieldImportSelector());
            chain.Register(new PropertyImportSelector());
            chain.Register(new MethodImportSelector());
            chain.Register(new EventImportSelector());
        }
 /// <summary>
 ///     The initialize.
 /// </summary>
 /// <param name="components">
 ///     The components.
 /// </param>
 public override void Initialize(ComponentRegistry components)
 {
     _cache = components.Get<ICache>();
 }
 /// <summary>
 ///     The initialize.
 /// </summary>
 /// <param name="components">
 ///     The components.
 /// </param>
 public override void Initialize(ComponentRegistry components)
 {
     _generator = components.Get<IProxyService>().GenericGenerator;
 }
 /// <summary>
 ///     The initialize.
 /// </summary>
 /// <param name="components">
 ///     The components.
 /// </param>
 public void Initialize(ComponentRegistry components)
 {
     _chain = components.Get<IImportSelectorChain>();
 }
 /// <summary>
 ///     The initialize.
 /// </summary>
 /// <param name="components">
 ///     The components.
 /// </param>
 public override void Initialize(ComponentRegistry components)
 {
     _service = components.Get<IProxyService>();
 }
 /// <summary>
 ///     The initialize.
 /// </summary>
 /// <param name="components">
 ///     The components.
 /// </param>
 public override void Initialize(ComponentRegistry components)
 {
     _eventManager = components.Get<IEventManager>();
     _factory = components.Get<IMetadataFactory>();
     _interceptorFactories = components.GetAll<IImportInterceptorFactory>().ToArray();
 }
Пример #9
0
        //private int frame;

        public SetupHostScreenManager(AutoController scene)
        {
            state = State.Hidden;

            ComponentRegistry guiComps = scene.Components.Get <ComponentRegistry>((int)ComponentKeys.LobbyGUIMessages);

            guiComps.Register((int)GUICompKeys.BtnHostCancelPress, new Message());
            guiComps.Register((int)GUICompKeys.BtnStartHostPress, new Message());
            guiComps.Register((int)GUICompKeys.HostPortChange, new Message <string>());
            guiComps.Register((int)GUICompKeys.ClientAddressChange, new Message <string>());

            startBtnEnabled = new SubscribableBool(hasPort);
            guiComps.Register((int)GUICompKeys.BtnHostStartEnabledCommand, startBtnEnabled);

            setInputInteractable = new SubscribableBool(state != State.Connecting);
            guiComps.Register((int)GUICompKeys.HostStartInputInteractable, setInputInteractable);

            setPortField = new SubscribableObject <string>(port.ToString());
            guiComps.Register((int)GUICompKeys.HostPortSetCommand, setPortField);

            setAddressField = new SubscribableObject <string>("");
            guiComps.Register((int)GUICompKeys.ClientAddressTextField, setAddressField);
            setAddressInteractable = new SubscribableBool(false);
            guiComps.Register((int)GUICompKeys.HostAddressInteractable, setAddressInteractable);

            statusText = new SubscribableObject <string>("");
            guiComps.Register((int)GUICompKeys.HostConnectionStatusLabel, statusText);
            titleText = new SubscribableObject <string>("");
            guiComps.Register((int)GUICompKeys.StartGameTitleText, titleText);
            startButtonText = new SubscribableObject <string>("");
            guiComps.Register((int)GUICompKeys.StartGameStartButtonText, startButtonText);

            guiComps.Get <Message <string> >((int)GUICompKeys.HostPortChange).Subscribe(new SimpleListener <string>(OnPortChange));
            guiComps.Get <Message <string> >((int)GUICompKeys.ClientAddressChange).Subscribe(new SimpleListener <string>(OnAddressChange));
            guiComps.Get <Message>((int)GUICompKeys.BtnHostCancelPress).Subscribe(new SimpleListener(OnCancelPress));
            guiComps.Get <Message>((int)GUICompKeys.BtnStartHostPress).Subscribe(new SimpleListener(OnStartPress));

            setPasswordField = new SubscribableObject <string>("");
            guiComps.Register((int)GUICompKeys.PasswordTextSet, setPasswordField);
            Message <string> passwordChange = new Message <string>();

            guiComps.Register((int)GUICompKeys.PasswordChange, passwordChange);
            passwordChange.Subscribe(new SimpleListener <string>(OnPasswordChange));

            choices   = scene.Game.Components.Get <LobbyChoices>((int)ComponentKeys.LobbyChoices);
            screen    = scene.Components.Get <StateMachine>((int)ComponentKeys.LobbyScreen);
            netHelper = scene.Game.Components.Get <ConnectionHelper>((int)ComponentKeys.ConnectionHelper);
            scene.ActivatableList.Add(new ListenerJanitor <IListener <int> >(
                                          netHelper.Connection.EnterStateMessenger,
                                          new SimpleListener <int>(OnConnectionChange)));

            screen.EnterStateMessenger.Subscribe(new SimpleListener <int>((s) => {
                //BalugaDebug.Log("Entering screen " + (LobbyScreen)s);
                if (s == (int)LobbyScreen.SetupHost || s == (int)LobbyScreen.SetupClient)
                {
                    state = State.Choosing;
                    EnterScreen();
                }
                else
                {
                    state = State.Hidden;
                }
            }));
        }