public CellAlchemyState SimulateGas(CellAlchemyState cellState, GasPhaseState gas) { CellAlchemyState simulateState = new CellAlchemyState(); simulateState.CopyInformation(cellState); ApplyGasInternal(simulateState, gas); return(simulateState); }
public void CopyInformation(CellAlchemyState copy) { gasState = copy.gasState; liquidState = copy.liquidState; solidState = copy.solidState; blessingState = copy.blessingState; fireState = copy.fireState; shockState = copy.shockState; changedValues.Clear(); foreach (AlchemyChangeType change in copy.changedValues) { changedValues.Add(change); } }
void ApplyGasInternal(CellAlchemyState cellState, GasPhaseState gas) { cellState.gasState = gas; cellState.changedValues.Add(AlchemyChangeType.Gas); ShockCheck(cellState); }
public void ApplyGas(CellAlchemyState cellState, GasPhaseState gas) { ApplyGasInternal(cellState, gas); ApplyVFX(cellState); }