private void TakeAllContent(Player player) { hookStatus = containerStatus.EMPTY; player.EquipAnItem(content); content.BeEquipped(); content = null; }
private void HangUpGear(Player player) { if (hookStatus == containerStatus.EMPTY) { //if the hook is empty, you just hang up what you have HangUpWithoutCombining(player); } else { Equippable halter = null; Equippable lead = null; Equippable combinedEquippable = null; switch (player.currentlyEquippedItem.id) { case equippableItemID.HALTER: halter = player.currentlyEquippedItem; lead = content; break; case equippableItemID.LEAD: lead = player.currentlyEquippedItem; halter = content; break; } //Find combined equippable in halter children Equippable[] equippablesInHalter = halter.GetComponentsInChildren <Equippable> (); for (int i = 0; i < equippablesInHalter.Length; ++i) { if (equippablesInHalter [i].id == equippableItemID.HALTER_WITH_LEAD) { combinedEquippable = equippablesInHalter [i]; } } //if something's already on the hook, and you hold a halter or a lead, you can combine the two player.UnequipEquippedItem(); combinedEquippable.transform.SetParent(transform); halter.transform.SetParent(combinedEquippable.transform); lead.transform.SetParent(combinedEquippable.transform); combinedEquippable.transform.localPosition = Vector3.zero; halter.transform.localPosition = Vector3.zero; lead.transform.localPosition = Vector3.zero; combinedEquippable.transform.eulerAngles = Vector3.zero; halter.transform.eulerAngles = Vector3.zero; lead.transform.eulerAngles = Vector3.zero; hookStatus = containerStatus.FULL; content = combinedEquippable; } }
private void Start() { //search in children, 'equip' halter or lead if any are there content = GetComponentInChildren <Equippable>(); if (content != null) { content.EnableAllColliders(false); hookStatus = containerStatus.FULL; } else { hookStatus = containerStatus.EMPTY; } }
private void HangUpWithoutCombining(Player player) { hookStatus = containerStatus.FULL; content = player.currentlyEquippedItem; player.UnequipEquippedItem(); content.transform.SetParent(transform); if (overrideContentPos == null) { content.transform.localPosition = Vector3.zero; } else { content.transform.position = overrideContentPos.position; content.transform.rotation = overrideContentPos.rotation; } }