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; }); }
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); }
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); }
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(); }); }
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); }