public void Setup(WorldObjectAction _action, WorldObject _worldObject)
    {
        if (_action != null)
        {
            action      = _action;
            worldObject = _worldObject;

            worldObject.player.OnResourcesChanged += Player_OnResourcesChanged;

            if (actionImage != null)
            {
                actionImage.sprite = action.actionSprite;
            }
            if (unavailableMask != null)
            {
                unavailableMask.SetActive(!action.IsAvailable(worldObject.player));
            }
        }
    }
Beispiel #2
0
    public bool ActionAvailable(WorldObjectAction action)
    {
        int count = action.prerequisiteActions.Count;

        if (count == 0)
        {
            return(true);
        }

        int number = 0;

        foreach (WorldObjectAction pre in action.prerequisiteActions)
        {
            if (completedActions.Contains(pre))
            {
                number++;
            }
        }
        return(number == count);
    }