Before they could update as fast as they want. Now i'm limiting update
to once a second. After this i'm going to work on sending a packet from
server tile network to client tile network. Then have the client update
its volume. This will reduce packet size but will increase CPU time on
the client.
What was going on and i didn't see this till now is the tanks were
updating every single time the network's tank changed. Too fix this i've
changed the tanks to no update until after the network recalculates the
tanks volume. This way the tanks will only update if there volume has
changed which was the original design.
Both this time and the last time i tried this it caused more issues than
it was worth. I'll deal with it later in its own special class as the
main tiles will not need more than one tank.
Created a prefab that both pipe and tank extend so they share the same
network code. This should decrease issues with errors that arise between
the two. As well i reworked a few things in the network fluid tile class
to prevent issues.
Both tank and sink now use FluidHelper methods to handle FluidContainer
items. As well this should solve the sink not being able to accept
fluids. Unsure at this moment if it solved issues with tank draining.
More testing will be conducted. However, error correction will show up
in CoreMachine due to it containing the helper methods.
I think it simple came down to i need to clean up the network before
doing anything to the network. As well i think the fluid container
network was not clearing the save stack data when it was empty.