Пример #1
0
        private void OnInventorySlotChange(ClothSlots slot, ObjectInstance @object)
        {
            switch (slot)
            {
            case ClothSlots.Head: InitialiseObjectImage(slot, _head, @object); break;

            case ClothSlots.Neck: InitialiseObjectImage(slot, _neck, @object); break;

            case ClothSlots.Backpack: InitialiseObjectImage(slot, _backpack, @object); break;

            case ClothSlots.Torso: InitialiseObjectImage(slot, _torso, @object); break;

            case ClothSlots.RightHand: InitialiseObjectImage(slot, _rightHand, @object); break;

            case ClothSlots.LeftHand: InitialiseObjectImage(slot, _leftHand, @object); break;

            case ClothSlots.Legs: InitialiseObjectImage(slot, _legs, @object); break;

            case ClothSlots.Feet: InitialiseObjectImage(slot, _feet, @object); break;

            case ClothSlots.Finger: InitialiseObjectImage(slot, _finger, @object); break;

            case ClothSlots.Hip: InitialiseObjectImage(slot, _hip, @object); break;
            }
        }
Пример #2
0
        public void OnInventorySlotChange(ClothSlots slot, ObjectInstance obj)
        {
            switch (slot)
            {
            case ClothSlots.Head: InitialiseObjectImage(slot, m_HeadImageComponent, m_HeadDefaultTexture, obj); break;

            case ClothSlots.Neck: InitialiseObjectImage(slot, m_NeckImageComponent, m_NeckDefaultTexture, obj); break;

            case ClothSlots.Backpack: InitialiseObjectImage(slot, m_BackpackImageComponent, m_BackpackDefaultTexture, obj); break;

            case ClothSlots.Torso: InitialiseObjectImage(slot, m_TorsoImageComponent, m_TorsoDefaultTexture, obj); break;

            case ClothSlots.RightHand: InitialiseObjectImage(slot, m_RightHandImageComponent, m_RightHandDefaultTexture, obj); break;

            case ClothSlots.LeftHand: InitialiseObjectImage(slot, m_LeftHandImageComponent, m_LeftHandDefaultTexture, obj); break;

            case ClothSlots.Legs: InitialiseObjectImage(slot, m_LegsImageComponent, m_LegsDefaultTexture, obj); break;

            case ClothSlots.Feet: InitialiseObjectImage(slot, m_FeetImageComponent, m_FeetDefaultTexture, obj); break;

            case ClothSlots.Finger: InitialiseObjectImage(slot, m_FingerImageComponent, m_FingerDefaultTexture, obj); break;

            case ClothSlots.Hip: InitialiseObjectImage(slot, m_HipImageComponent, m_HipDefaultTexture, obj); break;
            }
        }
Пример #3
0
        //** AddClothSlot **
        //Insert a new slot
        public void AddClothSlot(int idCloth, int idSlot)
        {
            ClothSlots toAdd = new ClothSlots();

            toAdd.ClothID   = idCloth;
            toAdd.ClothSlot = idSlot;

            clothSlotsList.Add(toAdd);
        }
Пример #4
0
        public ObjectInstance GetObject(ClothSlots slot)
        {
            if (slot < ClothSlots.First || slot > ClothSlots.Last)
            {
                throw new System.IndexOutOfRangeException("BodyContainerView.getObject: Index out of range: " + slot);
            }

            return(Objects[slot - ClothSlots.First]);
        }
Пример #5
0
        public void SetObject(ClothSlots slot, ObjectInstance obj)
        {
            if (slot < ClothSlots.First || slot > ClothSlots.Last)
            {
                throw new System.IndexOutOfRangeException("BodyContainerView.getObject: Index out of range: " + slot);
            }

            Objects[slot - ClothSlots.First] = obj;
            onSlotChange.Invoke(slot, obj);
        }
Пример #6
0
        private void InitialiseObjectImage(ClothSlots slot, RawImage imageComponent, Texture2D defaultTexture, ObjectInstance obj)
        {
            if (slot > ClothSlots.Hip)
            {
                return;
            }

            if (!!obj)
            {
                imageComponent.texture = m_SlotsRenderTexture;
                float w = 32f / m_SlotsRenderTexture.width;
                imageComponent.uvRect = new Rect(w * ((int)slot - 1), 0, w, 1);
            }
            else
            {
                imageComponent.texture = defaultTexture;
                imageComponent.uvRect  = new Rect(0, 0, 1, 1);
            }
        }
Пример #7
0
        internal bool IsEquipped(uint objectID)
        {
            var appearanceStorage = OpenTibiaUnity.AppearanceStorage;
            var appearanceType    = appearanceStorage.GetObjectType(objectID);

            if (!!appearanceType && appearanceType.IsCloth)
            {
                ClothSlots clothSlot = (ClothSlots)appearanceType.Cloth;
                if (clothSlot == ClothSlots.BothHands)
                {
                    clothSlot = ClothSlots.LeftHand;
                }
                var @object = Objects[clothSlot - ClothSlots.First];
                if (!!@object)
                {
                    return(true);
                }
            }

            return(false);
        }
Пример #8
0
        private void InitialiseObjectImage(ClothSlots slot, UI.Legacy.ItemPanel itemView, ObjectInstance @object)
        {
            if (slot > ClothSlots.Hip)
            {
                return;
            }

            itemView.objectInstance = @object;
            if (!!@object)
            {
                itemView.objectAmount = (int)@object.Data;
                itemView.showAmount   = itemView.objectAmount > 1;

                itemView.image.texture = _renderTexture;
                float w = (float)Constants.FieldSize / _renderTexture.width;
                itemView.image.uvRect = new Rect(w * ((int)slot - 1), 0, w, 1);
            }
            else
            {
                float singleWidth = 1f / (ClothSlots.Hip - ClothSlots.Head + 1);
                itemView.image.texture = _defaultsTexture;
                itemView.image.uvRect  = new Rect(singleWidth * (slot - ClothSlots.Head), 0, singleWidth, 1);
            }
        }
Пример #9
0
 private void OnItemPointerExit(ClothSlots _)
 {
     _slotUnderMouse = -1;
 }
Пример #10
0
 private void OnItemPointerEnter(ClothSlots slot)
 {
     _slotUnderMouse = (int)slot;
 }