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);
        }
示例#3
0
 private void onEquipmentEjected(EquipmentModelDefinition equipmentDefinition)
 {
     inventoryModel.RemoveEquipmentByName(equipmentDefinition.Name);
 }