public virtual void Equip(EquipSlot _slot, EquipmentInfo _eq) { if (isMorphing || _eq == null) { return; } if (!_eq.HasModel() && !actorInfo.DefaultDictionary.ContainsKey(_eq.Slot)) { return; } if (!_eq.HasModel()) { if (actorInfo.DefaultDictionary.ContainsKey(_eq.Slot)) { if (_eq.ShowType == ShowType.SKIN) { armorList[(int)_eq.Slot] = null; armorDirty = true; } else if (_eq.ShowType == ShowType.HANGINGPOINT) { if (weaponDictionary[_eq.Slot] != null) { Destroy(weaponDictionary[_eq.Slot] as GameObject); weaponDictionary[_eq.Slot] = null; weaponDictionary.Remove(_eq.Slot); } } } return; } if (!_eq.WillChangeRender) { return; } switch (_eq.ShowType) { case ShowType.HANGINGPOINT: EquipWeapon(_eq, _slot, _eq.HasModel() ? _eq.ShortUrl : actorInfo.DefaultDictionary[_eq.Slot].ShortUrl, _eq.ModelName); break; case ShowType.SKIN: EquipArmor(_slot, _eq.HasModel() ? _eq.ShortUrl : actorInfo.DefaultDictionary[_eq.Slot].ShortUrl, _eq.ModelName); break; default: break; } }