public static void ChangePenguinOutfit([NamedToggleValue(typeof(EquipmentNameGenerator), 0u)] int definitionId) { CPDataEntityCollection cPDataEntityCollection = Service.Get <CPDataEntityCollection>(); if (cPDataEntityCollection.TryGetComponent(cPDataEntityCollection.LocalPlayerHandle, out AvatarDetailsData component)) { Dictionary <int, TemplateDefinition> dictionary = Service.Get <GameData>().Get <Dictionary <int, TemplateDefinition> >(); TemplateDefinition templateDefinition = dictionary[definitionId]; AvatarDefinition definitionByName = Service.Get <AvatarService>().GetDefinitionByName("penguinAvatar"); EquipmentModelDefinition equipmentDefinition = definitionByName.GetEquipmentDefinition(templateDefinition.AssetName); DCustomEquipment dCustomEquipment = default(DCustomEquipment); dCustomEquipment.DefinitionId = templateDefinition.Id; dCustomEquipment.Name = equipmentDefinition.Name; dCustomEquipment.Id = 1L + (long)definitionId; dCustomEquipment.Parts = new DCustomEquipmentPart[equipmentDefinition.Parts.Length]; for (int i = 0; i < equipmentDefinition.Parts.Length; i++) { dCustomEquipment.Parts[i].SlotIndex = equipmentDefinition.Parts[i].SlotIndex; DCustomEquipmentDecal[] decals = new DCustomEquipmentDecal[0]; dCustomEquipment.Parts[i].Decals = decals; } component.Outfit = new DCustomEquipment[1] { dCustomEquipment }; } }
private void applyEquipmentToMannequin(TemplateDefinition templateDefinition) { EquipmentModelDefinition equipmentDefinition = Model.Definition.GetEquipmentDefinition(templateDefinition.AssetName); currentTemplateDefition = templateDefinition; currentEquipment = default(DCustomEquipment); currentEquipment.DefinitionId = templateDefinition.Id; currentEquipment.Name = templateDefinition.AssetName; totalRenders = equipmentDefinition.Parts.Length; itemZoomOffset = templateDefinition.ZoomOffset; Model.ApplyEquipment(currentEquipment); }
private void onEquipmentEjected(EquipmentModelDefinition equipmentDefinition) { inventoryModel.RemoveEquipmentByName(equipmentDefinition.Name); }