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);
 }
Example #3
0
 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);
 }