public virtual void Unequip(ToonBodyPart part) { if (!bodyParts.ContainsKey(part) || bodyParts[part] == null) { return; } foreach (Transform child in bodyParts[part].transform) { Destroy(child.gameObject); } }
public virtual void Equip(ToonBodyPart part, string equipmentPath, bool autoUnEquip = true) { var newGameObject = Instantiate(Resources.Load(equipmentPath)) as GameObject; if (!Equip( part, newGameObject, autoUnEquip)) { Destroy(newGameObject); } }
public virtual bool Equip(ToonBodyPart part, GameObject equipment, bool autoUnEquip = true) { if (!bodyParts.ContainsKey(part) || bodyParts[part] == null) { return(false); } if (autoUnEquip) { Unequip(part); } var originalPosition = equipment.transform.position; var originalRotation = equipment.transform.rotation; equipment.transform.SetParent(bodyParts[part].transform); equipment.transform.localPosition = originalPosition; equipment.transform.localRotation = originalRotation; return(true); }