public EquipmentArmor createEquipmentArmorObject(ArmorEnum _ArmorEnum) { EquipmentArmor equipmentArmorObject = new EquipmentArmor(); equipmentArmorObject.Scale = 1; equipmentArmorObject.Velocity = new Vector3(0, 0, 0); equipmentArmorObject.StackMax = 1; equipmentArmorObject.Size = new Microsoft.Xna.Framework.Vector3(32, 32, 0); equipmentArmorObject.ArmorEnum = _ArmorEnum; equipmentArmorObject.ItemEnum = ItemEnum.Armor; switch (_ArmorEnum) { case ArmorEnum.Chest: { equipmentArmorObject.NormalArmor = 1; equipmentArmorObject.ItemIconGraphicPath = "Object/Item/Small/Cloth1"; equipmentArmorObject.Body.MainBody.TexturePath = "Character/Cloth1"; break; } case ArmorEnum.GoldenArmor: equipmentArmorObject.NormalArmor = 10; equipmentArmorObject.ItemIconGraphicPath = "Object/Item/Small/Cloth1"; equipmentArmorObject.Body.MainBody.TexturePath = "Character/GoldenArmor"; break; } return(equipmentArmorObject); }
public void Equip(Equipment newEquipment) { int equipmentSlot = (int)newEquipment.EquipmentTypeToSlot(); Equipment oldEquipment = currentEquipment[equipmentSlot]; if (oldEquipment != null && currentMeshes[equipmentSlot] != null) { Destroy(currentMeshes[equipmentSlot].gameObject); } currentEquipment[equipmentSlot] = newEquipment; if (newEquipment.mesh != null) { if (equipmentSlot < defaultOutfitsInstances.Length && defaultOutfitsInstances[equipmentSlot] != null) { Destroy(defaultOutfitsInstances[equipmentSlot].gameObject); } SkinnedMeshRenderer newMesh = Instantiate(newEquipment.mesh); newMesh.transform.parent = targetMesh.transform; newMesh.bones = targetMesh.bones; newMesh.rootBone = targetMesh.rootBone; if ((int)newEquipment.equipmentType <= 2) { foreach (EquipmentMeshRegions equipmentBlendShapes in newEquipment.equipmentMeshRegions) { targetMesh.SetBlendShapeWeight((int)equipmentBlendShapes, 100); } EquipmentArmor newEquipmentArmor = (EquipmentArmor)newEquipment; int matLength = newMesh.materials.Length; Material[] newMaterials = new Material[matLength]; for (int i = 0; i < matLength; i++) { newMaterials[i] = materials[(int)newEquipmentArmor.armorType]; } newMesh.materials = newMaterials; } currentMeshes[equipmentSlot] = newMesh; } inventory.Remove(newEquipment); inventory.Add(oldEquipment); if (onEquipmentChangedCallBack != null) { onEquipmentChangedCallBack.Invoke(newEquipment, oldEquipment); } }
public void setItem(string itemID) { itemToDisplay = FindObjectOfType <EquipmentDictionary>().armorDictionary[itemID]; updatePanel(); }