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