private void Resource_OnResourceDepleted(BaseResourceContainer baseResourceContainer)
 {
     if (OnResourceDepleted != null)
     {
         OnResourceDepleted(baseResourceContainer);
     }
 }
 private void Resource_OnMaxCountReached(BaseResourceContainer baseResourceContainer)
 {
     if (OnResourceMaxCountReached != null)
     {
         OnResourceMaxCountReached(baseResourceContainer);
     }
 }
    private void InitResources()
    {
        _availableResources = new List <BaseResourceContainer>();
        foreach (var resourceData in _initialResources)
        {
            if (_availableResources.Any(c => c.ResourceType == resourceData.type))
            {
                continue;
            }

            var resContainer = new BaseResourceContainer(resourceData.type, resourceData.value, resourceData.capacity);
            resContainer.OnMaxCountReached  += Resource_OnMaxCountReached;
            resContainer.OnResourceDepleted += Resource_OnResourceDepleted;
            _availableResources.Add(resContainer);
        }
    }
 void Start()
 {
     _resourceContainer = Base.Instance.AvaliableResources.AvailableResources.Find(r => r.ResourceType == _resourceType);
     _resourceContainer.OnValueUpdated += TargetContainer_OnValueUpdated;
     DrawResourceCount(_resourceContainer.Count);
 }