Exemplo n.º 1
0
        public void Ctor(IReactiveProperty <EnumMainWindow> activeWindow,
                         IReactiveProperty <EnumCharacterWindow> activeCharWindow, ListOfCharactersController listCharactersManager)
        {
            base.Ctor();
            _activeWindow          = activeWindow;
            _listCharactersManager = listCharactersManager;
            _activeCharWindow      = activeCharWindow;

            //создать нового персонажа
            _createCharacterButton.OnPointerClickAsObservable().Subscribe(_ =>
            {
                _activeCharWindow.Value = EnumCharacterWindow.NewSelectClass;
            }).AddTo(_subscriptions);

            //выбор персонажа и переход
            _selectingCharacterButton.OnPointerClickAsObservable().Subscribe(_ =>
            {
                _activeWindow.Value = EnumMainWindow.Battle;
            }).AddTo(_subscriptions);

            //листаем список персонажей
            _prevCharButton.OnPointerClickAsObservable().Subscribe(_ => { _listCharactersManager.MovePrev(); })
            .AddTo(_subscriptions);
            _nextCharButton.OnPointerClickAsObservable().Subscribe(_ => { _listCharactersManager.MoveNext(); })
            .AddTo(_subscriptions);

            //подписываемся на изменение персонажа
            _listCharactersManager.CurrentCharacter.Subscribe(view => { _info.text = view.Description.Value; });
        }
Exemplo n.º 2
0
        public void Ctor(IReactiveProperty <EnumCharacterWindow> charWindow, ListOfCharactersController listCharactersManager)
        {
            base.Ctor();
            _listCharactersManager = listCharactersManager;
            _charWindow            = charWindow;

            _listClasses = new GameObjectLinkedList <CharacterClass>(new[]
            {
                new LinkedListItem <CharacterClass>(CharacterClass.Warrior, _warriorIcon),
                new LinkedListItem <CharacterClass>(CharacterClass.Rogue, _rogueIcon),
                new LinkedListItem <CharacterClass>(CharacterClass.Hunter, _hunterIcon),
                new LinkedListItem <CharacterClass>(CharacterClass.Mage, _mageIcon)
            });

            // //prev class
            // _prevClassButton.OnPointerClickAsObservable().Subscribe(_ =>
            // {
            //     if (_listClasses.MovePrev())
            //         _listCharactersManager.PrototypePlayer.CharacterClass.Value = _listClasses.Current.Key;
            // }).AddTo(_subscriptions);
            // //next class
            // _nextClassButton.OnPointerClickAsObservable().Subscribe(_ =>
            // {
            //     if (_listClasses.MoveNext())
            //         _listCharactersManager.PrototypePlayer.CharacterClass.Value = _listClasses.Current.Key;
            // }).AddTo(_subscriptions);

            //goto settings
            _gotoSettingChar.OnPointerClickAsObservable().Subscribe(_ =>
            {
                _charWindow.Value = EnumCharacterWindow.NewSettingsCharacter;
            }).AddTo(_subscriptions);
        }
Exemplo n.º 3
0
        public void Ctor(IReactiveProperty <EnumCharacterWindow> activeCharacterWindow,
                         ListOfCharactersController listCharactersManager)
        {
            base.Ctor();
            _listCharactersManager = listCharactersManager;
            _activeCharacterWindow = activeCharacterWindow;


            //complete creation
            _createCharacterButton.OnPointerClickAsObservable().Subscribe(_ =>
            {
                _listCharactersManager.SaveNewCharacter();
                _activeCharacterWindow.Value = EnumCharacterWindow.ListCharacters;
            }).AddTo(_subscriptions);

            //goto selecting class
            _backtoSelectCharClass.OnPointerClickAsObservable().Subscribe(_ =>
            {
                _activeCharacterWindow.Value = EnumCharacterWindow.NewSelectClass;
            }).AddTo(_subscriptions);

            // //gender
            // _genderManToggle.OnValueChangedAsObservable().Subscribe(_ =>
            // {
            //     _listCharactersManager.PrototypePlayer.CharacterGender.Value =
            //         CharacterGender.Male;
            // }).AddTo(_subscriptions);
            // _genderWomanToggle.OnValueChangedAsObservable().Subscribe(_ =>
            // {
            //     _listCharactersManager.PrototypePlayer.CharacterGender.Value =
            //         CharacterGender.Female;
            // }).AddTo(_subscriptions);
            //
            // //race
            // _raceHumanToggle.OnValueChangedAsObservable().Subscribe(_ =>
            // {
            //     _listCharactersManager.PrototypePlayer.CharacterRace.Value = CharacterRace.Human;
            // }).AddTo(_subscriptions);
            // _raceNightElfToggle.OnValueChangedAsObservable().Subscribe(_ =>
            // {
            //     _listCharactersManager.PrototypePlayer.CharacterRace.Value =
            //         CharacterRace.NightElf;
            // }).AddTo(_subscriptions);
            // _raceBloodElfToggle.OnValueChangedAsObservable().Subscribe(_ =>
            // {
            //     _listCharactersManager.PrototypePlayer.CharacterRace.Value =
            //         CharacterRace.BloodElf;
            // }).AddTo(_subscriptions);
            // _raceOrcToggle.OnValueChangedAsObservable().Subscribe(_ =>
            // {
            //     _listCharactersManager.PrototypePlayer.CharacterRace.Value = CharacterRace.Orc;
            // }).AddTo(_subscriptions);
        }
Exemplo n.º 4
0
        public void Ctor(IReactiveProperty <EnumMainWindow> activeWindow,
                         IReactiveProperty <EnumBattleWindow> battleState, IReactiveProperty <EnumCharacterWindow> charWindow,
                         ListOfCharactersController listOfCharactersController)
        {
            _activeWindow = activeWindow;
            _battleState  = battleState;
            _charWindow   = charWindow;
            _listOfCharactersController = listOfCharactersController;

            CharacterPanel.Ctor(_activeWindow, _charWindow, _listOfCharactersController);
            EquipmentPanel.Ctor();
            BattlePanel.Ctor(_battleState);
            SpellsPanel.Ctor();
            TalentsPanel.Ctor();
            NavigationBar.Ctor(_activeWindow, _battleState);

            _activeWindow.Subscribe(_ => { ShowOnlyActivePanel(); });
            _battleState.Subscribe(_ => { ShowBattleOnlyActivePanel(); });
        }
Exemplo n.º 5
0
        public void Ctor(IReactiveProperty <EnumMainWindow> activeWindow,
                         IReactiveProperty <EnumCharacterWindow> activeCharacterWindow,
                         ListOfCharactersController listCharactersManager)
        {
            base.Ctor();
            _activeWindow               = activeWindow;
            _activeCharacterWindow      = activeCharacterWindow;
            _listOfCharactersController = listCharactersManager;

            _newCharPanel.Ctor(_activeCharacterWindow, _listOfCharactersController);
            _settingCharPanel.Ctor(_activeCharacterWindow, _listOfCharactersController);
            _listCharPanel.Ctor(_activeWindow, _activeCharacterWindow, _listOfCharactersController);

            //переключение между дочерними окнами
            _activeCharacterWindow.Subscribe(_ =>
            {
                if (_activeCharacterWindow.Value == EnumCharacterWindow.ListCharacters)
                {
                    _listCharPanel.Show();
                }
                else
                {
                    _listCharPanel.Hide();
                }
                if (_activeCharacterWindow.Value == EnumCharacterWindow.NewSelectClass)
                {
                    _newCharPanel.Show();
                }
                else
                {
                    _newCharPanel.Hide();
                }
                if (_activeCharacterWindow.Value == EnumCharacterWindow.NewSettingsCharacter)
                {
                    _settingCharPanel.Show();
                }
                else
                {
                    _settingCharPanel.Hide();
                }
            }).AddTo(_subscriptions);
        }