コード例 #1
0
    public static FriendBoxValues GetInstance()
    {
        if (Instance == null)
        {
            Instance = new FriendBoxValues();
        }

        return Instance;
    }
コード例 #2
0
    public static FriendBoxValues GetInstance()
    {
        if (Instance == null)
        {
            Instance = new FriendBoxValues();
        }

        return(Instance);
    }
コード例 #3
0
    public void CheckAction(Vector2 position)
    {
        if (position.HasActivated(closeButton.transform.position, closeButton.bounds.size, false, true))
        {
            warningGuiText.enabled = false;
            warningGuiText.text    = string.Empty;

            giftItemSelected.enabled   = false;
            crewPersonSelected.enabled = false;

            OnInvisible();
        }

        FriendItem clickedFriendItem = FriendItem.NONE;
        bool       thereIsNoItem     = false;

        // Selected ITEM.
        if (position.HasActivated(redCrossRenderer.transform.position, redCrossRenderer.bounds.size, false, (shipStockItem.redCrossAmount > 0)))
        {
            clickedFriendItem = FriendItem.Red_Cross;

            if (shipStockItem.redCrossAmount > 0)
            {
                giftItemSelected.transform.position = redCrossRenderer.transform.position;
                giftItemSelected.enabled            = true;
            }
            else
            {
                thereIsNoItem = true;
            }
        }
        else if (position.HasActivated(watermelonRenderer.transform.position, watermelonRenderer.bounds.size, false, (shipStockItem.waterMellonAmount > 0)))
        {
            clickedFriendItem = FriendItem.Watermelon;

            if (shipStockItem.waterMellonAmount > 0)
            {
                giftItemSelected.transform.position = watermelonRenderer.transform.position;
                giftItemSelected.enabled            = true;
            }
            else
            {
                thereIsNoItem = true;
            }
        }
        else if (position.HasActivated(chickenRenderer.transform.position, chickenRenderer.bounds.size, false, (shipStockItem.chickenAmount > 0)))
        {
            clickedFriendItem = FriendItem.Chicken;

            if (shipStockItem.chickenAmount > 0)
            {
                giftItemSelected.transform.position = chickenRenderer.transform.position;
                giftItemSelected.enabled            = true;
            }
            else
            {
                thereIsNoItem = true;
            }
        }
        else if (position.HasActivated(hamburgerRenderer.transform.position, hamburgerRenderer.bounds.size, false, (shipStockItem.hamburguerAmount > 0)))
        {
            clickedFriendItem = FriendItem.Hamburguer;

            if (shipStockItem.hamburguerAmount > 0)
            {
                giftItemSelected.transform.position = hamburgerRenderer.transform.position;
                giftItemSelected.enabled            = true;
            }
            else
            {
                thereIsNoItem = true;
            }
        }
        else if (position.HasActivated(pizzaWholeRenderer.transform.position, pizzaWholeRenderer.bounds.size, false, (shipStockItem.wholePizzaAmount > 0)))
        {
            clickedFriendItem = FriendItem.Whole_Pizza;

            if (shipStockItem.wholePizzaAmount > 0)
            {
                giftItemSelected.transform.position = pizzaWholeRenderer.transform.position;
                giftItemSelected.enabled            = true;

                warningGuiText.text    = WarningWholePizza;
                warningGuiText.enabled = true;
            }
            else
            {
                thereIsNoItem = true;
            }
        }
        else if (position.HasActivated(pizzaSliceRenderer.transform.position, pizzaSliceRenderer.bounds.size, false, (shipStockItem.slicePizzaAmount > 0)))
        {
            clickedFriendItem = FriendItem.Slice_Pizza;

            if (shipStockItem.slicePizzaAmount > 0)
            {
                giftItemSelected.transform.position = pizzaSliceRenderer.transform.position;
                giftItemSelected.enabled            = true;
            }
            else
            {
                thereIsNoItem = true;
            }
        }
        else if (position.HasActivated(cookieRenderer.transform.position, cookieRenderer.bounds.size, false, (shipStockItem.cookieAmount > 0)))
        {
            clickedFriendItem = FriendItem.Cookie;

            if (shipStockItem.cookieAmount > 0)
            {
                giftItemSelected.transform.position = cookieRenderer.transform.position;
                giftItemSelected.enabled            = true;
            }
            else
            {
                thereIsNoItem = true;
            }
        }
        else if (position.HasActivated(cokeRenderer.transform.position, cokeRenderer.bounds.size, false, (shipStockItem.cokeAmount > 0)))
        {
            clickedFriendItem = FriendItem.Coke;

            if (shipStockItem.cokeAmount > 0)
            {
                giftItemSelected.transform.position = cokeRenderer.transform.position;
                giftItemSelected.enabled            = true;
            }
            else
            {
                thereIsNoItem = true;
            }
        }

        // If there is no item available.
        if (thereIsNoItem)
        {
            warningGuiText.text    = string.Format(WarningThereIsNoItem, clickedFriendItem.ToString().ToLower().Replace("_", " "));
            warningGuiText.enabled = true;

            return;
        }
        else if (clickedFriendItem != FriendItem.NONE)
        {
            currentFriendItem = clickedFriendItem;
        }

        // Selected CREW.
        bool enableDefaultWarning = false;
        bool increased            = false;

        if (position.HasActivated(captainRenderer.transform.position, captainRenderer.bounds.size, false, (giftItemSelected.enabled == true), SoundEffectClip.ShipRecoverHealth))
        {
            if (giftItemSelected.enabled == true)
            {
                warningGuiText.enabled = false;

                if (currentFriendItem != FriendItem.Whole_Pizza)
                {
                    FriendBoxValues.GetInstance().GetValue(currentFriendItem, ref CrewStatus.Instance.captainStamina);
                }

                increased = true;

                crewPersonSelected.transform.position = captainRenderer.transform.position;
                crewPersonSelected.enabled            = true;

                giftItemSelected.enabled = false;
            }
            else
            {
                enableDefaultWarning = true;
            }
        }
        else if (position.HasActivated(mechanicRenderer.transform.position, mechanicRenderer.bounds.size, false, (giftItemSelected.enabled == true), SoundEffectClip.ShipRecoverHealth))
        {
            if (giftItemSelected.enabled == true)
            {
                warningGuiText.enabled = false;

                if (currentFriendItem != FriendItem.Whole_Pizza)
                {
                    FriendBoxValues.GetInstance().GetValue(currentFriendItem, ref CrewStatus.Instance.mechanicStamina);
                }

                increased = true;

                crewPersonSelected.transform.position = mechanicRenderer.transform.position;
                crewPersonSelected.enabled            = true;

                giftItemSelected.enabled = false;
            }
            else
            {
                enableDefaultWarning = true;
            }
        }
        else if (position.HasActivated(soldierRenderer.transform.position, soldierRenderer.bounds.size, false, (giftItemSelected.enabled == true), SoundEffectClip.ShipRecoverHealth))
        {
            if (giftItemSelected.enabled == true)
            {
                warningGuiText.enabled = false;

                if (currentFriendItem != FriendItem.Whole_Pizza)
                {
                    FriendBoxValues.GetInstance().GetValue(currentFriendItem, ref CrewStatus.Instance.soldierStamina);
                }

                increased = true;

                crewPersonSelected.transform.position = soldierRenderer.transform.position;
                crewPersonSelected.enabled            = true;

                giftItemSelected.enabled = false;
            }
            else
            {
                enableDefaultWarning = true;
            }
        }

        if (increased)
        {
            if (currentFriendItem == FriendItem.Whole_Pizza)
            {
                var staminas = FriendBoxValues.GetInstance().GetWholePizza(currentFriendItem, new float[]
                {
                    CrewStatus.Instance.captainStamina,
                    CrewStatus.Instance.mechanicStamina,
                    CrewStatus.Instance.soldierStamina
                });

                CrewStatus.Instance.captainStamina  = staminas[0];
                CrewStatus.Instance.mechanicStamina = staminas[1];
                CrewStatus.Instance.soldierStamina  = staminas[2];
            }

            RemoveItem(currentFriendItem);
        }

        if (enableDefaultWarning)
        {
            warningGuiText.text    = WarningChooseAnItem;
            warningGuiText.enabled = true;
        }
    }