Exemplo n.º 1
0
 private void TakeAllContent(Player player)
 {
     hookStatus = containerStatus.EMPTY;
     player.EquipAnItem(content);
     content.BeEquipped();
     content = null;
 }
Exemplo n.º 2
0
    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;
        }
    }
Exemplo n.º 3
0
 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;
     }
 }
Exemplo n.º 4
0
    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;
        }
    }