public SolverState GetWithModification(VoxelVisualComponent component, VoxelVisualOption option) { Dictionary <VoxelVisualComponent, VoxelVisualOption> newState = new Dictionary <VoxelVisualComponent, VoxelVisualOption>(state); newState.Add(component, option); return(new SolverState(newState)); }
private void UpdateVoxel(VoxelCell targetCell) { foreach (VoxelVisualComponent component in targetCell.Visuals.Components) { VoxelDesignation designation = component.GetCurrentDesignation(); VoxelVisualOption option = optionsSource.GetOptions(designation).First(); component.Contents = option; UpdateDebugObject(component); } }
internal bool IsValid(VoxelVisualOption myChoice, VoxelVisualOption theirChoice) { return(comparisonFunction(myChoice, theirChoice)); }
public bool GetIsPotentiallyValid(VoxelVisualComponent component, VoxelVisualOption option) { //TODO: figure out validity checking for components throw new NotImplementedException(); }
private static bool ConnectsBack(VoxelVisualOption source, VoxelVisualOption neighbor) { return(source.Connections.Back == neighbor.Connections.Forward); }
private static bool ConnectsRight(VoxelVisualOption source, VoxelVisualOption neighbor) { return(source.Connections.Right == neighbor.Connections.Left); }
private static bool ConnectsDown(VoxelVisualOption source, VoxelVisualOption neighbor) { return(source.Connections.Down == neighbor.Connections.Up); }