示例#1
0
    public void Interact(out bool usedUp)
    {
        if (isFixed)
        {
            InGameUI.ShowWinScreen();
            usedUp = false;
            return;
        }

        foreach (var damage in damages)
        {
            if (damage.TryGetRepaired())
            {
                break;
            }
        }

        var anyNotFixed = false;

        foreach (var damage in damages)
        {
            if (!damage.Fixed)
            {
                anyNotFixed = true;
            }
        }

        if (!anyNotFixed)
        {
            sr.sprite = fixedSprite;
            isFixed   = true;
            foreach (var childSR in gameObject.GetComponentsInChildren <SpriteRenderer>())
            {
                if (childSR != sr)
                {
                    childSR.enabled = false;
                }
            }
        }

        usedUp = false;
    }