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)); } } }
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); }