Esempio n. 1
0
        public bool UpdateProperties(AppearanceInstance outfit, AppearanceInstance mountOutfit, List <ProtocolOutfit> outfits, List <ProtocolMount> mounts)
        {
            _outfits = outfits;
            _mounts  = mounts;

            int outfitIndex = _outfits.FindIndex((x) => x._id == outfit.Id);

            if (outfitIndex == -1)
            {
                outfitIndex = 0;
            }

            ChangeOutfitIndex(outfitIndex);

            if (OpenTibiaUnity.GameManager.GetFeature(GameFeature.GamePlayerMounts))
            {
                int mountIndex = mountOutfit != null?_mounts.FindIndex((x) => x._id == mountOutfit.Id) : 0;

                if (mountIndex == -1 && _mounts.Count > 0)
                {
                    mountIndex = 0;
                }

                ChangeMountIndex(mountIndex);
            }

            _currentOutfit    = outfit;
            _currentMount     = mountOutfit;
            _currentDirection = Direction.South;
            return(true);
        }
Esempio n. 2
0
 private void OnRequestOutfitDialog(AppearanceInstance outfit, AppearanceInstance mountOutfit, List <ProtocolOutfit> outfits, List <ProtocolMount> mounts)
 {
     if (OutfitWindow.UpdateProperties(outfit, mountOutfit, outfits, mounts))
     {
         OutfitWindow.Show();
     }
 }
Esempio n. 3
0
        private void ChangeOutfitIndex(int newIndex)
        {
            if (_currentOutfitIndex == newIndex)
            {
                return;
            }

            _updatingOutfit     = true;
            _currentOutfitIndex = newIndex;
            var newProtocolOutfit = _outfits[_currentOutfitIndex];

            int head = 0, body = 0, legs = 0, feet = 0, addons = newProtocolOutfit.AddOns;

            if (_currentOutfit is OutfitInstance outfitInstance)
            {
                head = outfitInstance.Head;
                body = outfitInstance.Torso;
                legs = outfitInstance.Legs;
                feet = outfitInstance.Detail;
            }

            _checkboxAddon1.checkbox.Checked = (addons & 1) != 0;
            _checkboxAddon2.checkbox.Checked = (addons & 2) != 0;
            _checkboxAddon1.SetEnabled(_checkboxAddon1.checkbox.Checked);
            _checkboxAddon2.SetEnabled(_checkboxAddon2.checkbox.Checked);

            _currentOutfit = OpenTibiaUnity.AppearanceStorage.CreateOutfitInstance(newProtocolOutfit._id, head, body, legs, feet, addons);
            if (OpenTibiaUnity.GameManager.GetFeature(GameFeature.GameNewOutfitProtocol))
            {
                UpdateInformation(true, false);
            }

            _updatingOutfit = false;
        }
Esempio n. 4
0
        public bool Merge(AppearanceInstance other)
        {
            var textualEffect = other as TextualEffectInstance;

            if (!!textualEffect && textualEffect.m_Phase <= 0 && this.m_Phase <= 0 && textualEffect.m_Color != m_Color)
            {
                m_Value = textualEffect.m_Value;
                return(true);
            }

            return(false);
        }
Esempio n. 5
0
        private void OnOkButtonClick()
        {
            if (!!OpenTibiaUnity.ProtocolGame)
            {
                if (_currentOutfit is OutfitInstance outfitInstance)
                {
                    OpenTibiaUnity.ProtocolGame.SendSetOutfit(outfitInstance, _currentMount as OutfitInstance);
                }
            }

            _currentOutfit      = null;
            _currentMount       = null;
            _outfits            = null;
            _mounts             = null;
            _currentOutfitIndex = -1;
            _currentMountIndex  = -1;
        }
Esempio n. 6
0
        private void OnOkButtonClick()
        {
            if (!!OpenTibiaUnity.ProtocolGame)
            {
                if (m_CurrentOutfit is OutfitInstance outfitInstance)
                {
                    OpenTibiaUnity.ProtocolGame.SendSetOutfit(outfitInstance, m_CurrentMount as OutfitInstance);
                }
            }

            m_CurrentOutfit      = null;
            m_CurrentMount       = null;
            m_Outfits            = null;
            m_Mounts             = null;
            m_CurrentOutfitIndex = -1;
            m_CurrentMountIndex  = -1;
            CloseWindow();
        }
Esempio n. 7
0
        private void ChangeMountIndex(int newIndex)
        {
            if (_currentMountIndex == newIndex)
            {
                return;
            }

            if (_mounts.Count == 0)
            {
                _currentMountIndex = -1;
            }
            else
            {
                _currentMountIndex = newIndex;
                var newProtocolMount = _mounts[_currentMountIndex];

                _currentMount = OpenTibiaUnity.AppearanceStorage.CreateOutfitInstance(newProtocolMount._id, 0, 0, 0, 0, 0);
            }

            UpdateInformation(false, true);
        }