public void SetCharacterItem(BaseItem item) { CharacterChildren characterChilds = mmCharacter.GetComponent <CharacterChildren>(); Mesh itemPrefabMesh = null; if (item.itemType != ItemType.Skin && item.itemType != ItemType.Gun) { if (item.prefab != null) { itemPrefabMesh = item.prefab.GetComponent <MeshFilter>().sharedMesh; } } switch (item.itemType) { case ItemType.Gun: Transform gunsChild = characterChilds.gun.transform; foreach (Transform gunObj in gunsChild) { if (gunObj.childCount > 0) { Destroy(gunObj.GetChild(0).gameObject); } } Transform gunChild = null; switch (((GunItem)item).gunType) { case GunType.Pistol: gunChild = gunsChild.Find("Pistol"); break; case GunType.Rifle: gunChild = gunsChild.Find("Rifle"); break; case GunType.Sniper: gunChild = gunsChild.Find("Sniper"); break; case GunType.RPG: gunChild = gunsChild.Find("RPG"); break; default: break; } Instantiate(item.prefab, gunChild); break; case ItemType.Skin: characterChilds.skin.GetComponent <SkinnedMeshRenderer>().sharedMesh = item.prefab.GetComponent <SkinnedMeshRenderer>().sharedMesh; break; case ItemType.Bag: characterChilds.bag.GetComponent <MeshFilter>().sharedMesh = itemPrefabMesh; break; case ItemType.Beard: characterChilds.beard.GetComponent <MeshFilter>().sharedMesh = itemPrefabMesh; break; case ItemType.Hair: characterChilds.hair.GetComponent <MeshFilter>().sharedMesh = itemPrefabMesh; break; case ItemType.Hat: characterChilds.hat.GetComponent <MeshFilter>().sharedMesh = itemPrefabMesh; break; case ItemType.Mask: characterChilds.mask.GetComponent <MeshFilter>().sharedMesh = itemPrefabMesh; break; case ItemType.Pouch: characterChilds.pouch.GetComponent <MeshFilter>().sharedMesh = itemPrefabMesh; break; case ItemType.Scarf: characterChilds.scarf.GetComponent <MeshFilter>().sharedMesh = itemPrefabMesh; break; default: break; } }
private void CreateCharacterItems(GameObject characterObject, PlayerData settings) { SetCharacterItem(characterObject, gameItems.characterSkins[settings.skin_index]); SetCharacterItem(characterObject, gameItems.characterGuns[settings.gun_index]); SetCharacterItem(characterObject, gameItems.characterBags[settings.bag_index]); SetCharacterItem(characterObject, gameItems.characterBeards[settings.beard_index]); SetCharacterItem(characterObject, gameItems.characterHairs[settings.hair_index]); SetCharacterItem(characterObject, gameItems.characterHats[settings.hat_index]); SetCharacterItem(characterObject, gameItems.characterMasks[settings.mask_index]); SetCharacterItem(characterObject, gameItems.characterPouches[settings.pouch_index]); SetCharacterItem(characterObject, gameItems.characterScarfs[settings.scarf_index]); void SetCharacterItem(GameObject character, BaseItem item) { CharacterChildren characterChilds = character.GetComponent <CharacterChildren>(); Mesh itemPrefabMesh = null; if (item.itemType != ItemType.Skin && item.itemType != ItemType.Gun) { if (item.prefab != null) { itemPrefabMesh = item.prefab.GetComponent <MeshFilter>().sharedMesh; } } switch (item.itemType) { case ItemType.Gun: Transform gunsChild = characterChilds.gun.transform; foreach (Transform gunObj in gunsChild) { if (gunObj.childCount > 0) { Destroy(gunObj.GetChild(0).gameObject); } } Transform gunChild = null; switch (((GunItem)item).gunType) { case GunType.Pistol: gunChild = gunsChild.Find("Pistol"); break; case GunType.Rifle: gunChild = gunsChild.Find("Rifle"); break; case GunType.Sniper: gunChild = gunsChild.Find("Sniper"); break; case GunType.RPG: gunChild = gunsChild.Find("RPG"); break; default: break; } Instantiate(item.prefab, gunChild); break; case ItemType.Skin: characterChilds.skin.GetComponent <SkinnedMeshRenderer>().sharedMesh = item.prefab.GetComponent <SkinnedMeshRenderer>().sharedMesh; break; case ItemType.Bag: characterChilds.bag.GetComponent <MeshFilter>().sharedMesh = itemPrefabMesh; break; case ItemType.Beard: characterChilds.beard.GetComponent <MeshFilter>().sharedMesh = itemPrefabMesh; break; case ItemType.Hair: characterChilds.hair.GetComponent <MeshFilter>().sharedMesh = itemPrefabMesh; break; case ItemType.Hat: characterChilds.hat.GetComponent <MeshFilter>().sharedMesh = itemPrefabMesh; break; case ItemType.Mask: characterChilds.mask.GetComponent <MeshFilter>().sharedMesh = itemPrefabMesh; break; case ItemType.Pouch: characterChilds.pouch.GetComponent <MeshFilter>().sharedMesh = itemPrefabMesh; break; case ItemType.Scarf: characterChilds.scarf.GetComponent <MeshFilter>().sharedMesh = itemPrefabMesh; break; default: break; } } }