public CellAlchemyState SimulateSolid(CellAlchemyState cellState, SolidPhaseState solid) { CellAlchemyState simulateState = new CellAlchemyState(); simulateState.CopyInformation(cellState); ApplySolidInternal(simulateState, solid); return(simulateState); }
void ApplySolidInternal(CellAlchemyState cellState, SolidPhaseState solid) { cellState.solidState = solid; cellState.changedValues.Add(AlchemyChangeType.Solid); if ((int)cellState.fireState > (int)FireState.Dry) { ApplyHeatInternal(cellState, 2); } ShockCheck(cellState); }
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); } }
public void ApplySolid(CellAlchemyState cellState, SolidPhaseState solid) { ApplySolidInternal(cellState, solid); ApplyVFX(cellState); }