Не понятно в контексте чего задача, вообще проще всего реализовать на клеточных автоматах.
Создается массив из объектов некоторого класса, в котором какие то объекты могут "генерировать" энергию, другие "потреблять", третие "передавать", еще можно четвертые "регулировать подачу". Вся "сложность" будет в только в том, чтобы от "потребителя" найти путь к генераторам и отметиться на них мол "я у тебя откушаю столько то", следующий "потребитель" когда будет искать себе "генератор" будет смотреть есть ли у генератора доступная энергия, если у всех "забито под завязку" потребитель остается без энергии. Это по идее нужно делать каждый раз при изменении объема "генерируемой энергии", если все это сделать как положено с eventами и рефлексией будет очень даже быстрый алгоритм.
Могу даже "каркас" скинуть с готовым клеточным автоматом и отрисовкой.