Ejemplo n.º 1
0
        public virtual SkillObject Create(
            Slot slot,
            World.Objects.Characters.Actions.SkillPersistence skill,
            World.Objects.Characters.Actions.SkillInventoryPersistence inventory)//.Objects.Characters.Actions.Ability ability)
        {
            var obj = Instantiate(this, slot.transform).GetComponent <SkillObject>();

            obj.transform.localPosition = Vector3.zero;
            obj._skill       = skill;
            obj._icon.sprite = skill.Icon;
            obj._inventory   = inventory;
            obj._slot        = slot;

            obj._pulseScaleAmountVector = new Vector3(_pulseScaleAmount, _pulseScaleAmount);
            return(obj);
        }
Ejemplo n.º 2
0
        public override void Open()
        {
            base.Open();

            if (_inventory == _context.Character.CharacterPersistence.Skills)
            {
                return;
            }

            _inventory = _context.Character.CharacterPersistence.Skills;

            Clear();

            _slots = new List <SkillSlot>();

            int index = 0;

            #region Basic Slots

            _basicSlots = new SkillSlot[_inventory.Basics.Count];
            for (int i = 0; i < _inventory.Basics.Count; i++)                         // in _inventory.Items)
            {
                _basicSlots[i] = _basicSlotTemplate.Create(_basicSlotsParent, index); //, vslot);

                _basicSlots[i].OnObjectBeginDragHandler += _context.OnObjectBeginDrag;
                _basicSlots[i].OnObjectBeginDragHandler += OnObjectBeginDrag;

                _basicSlots[i].OnObjectEndDragHandler += OnObjectEndDrag;
                _basicSlots[i].OnObjectEndDragHandler += _context.OnInventoryObjectDragEnd;

                _basicSlots[i].OnInventoryObjectDroppedHandler += OnObjectDropped;

                _basicSlots[i].OnPointerEnterHandler += OnSlotPointerEnter;
                _basicSlots[i].OnPointerExitHandler  += OnSlotPointerExit;


                var obj = _basicObjectTemplate.Create(_basicSlots[i], _inventory.Basics[i], _inventory);
                _basicSlots[i].Store(obj);

                _slots.Add(_basicSlots[i]);

                index++;
            }

            #endregion

            #region Active Slots

            _activeSlots = new SkillSlot[_inventory.Actives.Count];
            for (int i = 0; i < _inventory.Actives.Count; i++)                           // in _inventory.Items)
            {
                _activeSlots[i] = _activeSlotTemplate.Create(_activeSlotsParent, index); //, vslot);

                _activeSlots[i].OnObjectBeginDragHandler += _context.OnObjectBeginDrag;
                _activeSlots[i].OnObjectBeginDragHandler += OnObjectBeginDrag;

                _activeSlots[i].OnObjectEndDragHandler += OnObjectEndDrag;
                _activeSlots[i].OnObjectEndDragHandler += _context.OnInventoryObjectDragEnd;

                _activeSlots[i].OnInventoryObjectDroppedHandler += OnObjectDropped;

                _activeSlots[i].OnPointerEnterHandler += OnSlotPointerEnter;
                _activeSlots[i].OnPointerExitHandler  += OnSlotPointerExit;

                var obj = _activeObjectTemplate.Create(_activeSlots[i], _inventory.Actives[i], _inventory);
                _activeSlots[i].Store(obj);
                _slots.Add(_activeSlots[i]);

                index++;
            }

            #endregion

            #region Passive Slots

            _passiveSlots = new SkillSlot[_inventory.Passives.Count];
            for (int i = 0; i < _inventory.Passives.Count; i++)                             // in _inventory.Items)
            {
                _passiveSlots[i] = _passiveSlotTemplate.Create(_passiveSlotsParent, index); //, vslot);
                _passiveSlots[i].OnPointerEnterHandler += OnSlotPointerEnter;
                _passiveSlots[i].OnPointerExitHandler  += OnSlotPointerExit;

                var obj = _passiveObjectTemplate.Create(_passiveSlots[i], _inventory.Passives[i], _inventory);
                _passiveSlots[i].Store(obj);

                index++;
            }

            #endregion

            //_height = _slots.Length / _width;

            if (_currentSlot == null)
            {
                SelectSlot(0);
            }
        }