private static void AddDoor(WcfGrid grid, IOpinionatedItem doorItem, int doorwayY) { //grid.SuperPositions[0, 5, 0].Uncollapse(); //grid.SuperPositions[grid.Width-1, 5, 0].Uncollapse(); grid.SuperPositions[0, doorwayY, 0].CollapseToItem(doorItem.Id); grid.handlePropagation(grid.SuperPositions[0, doorwayY, 0]); grid.SuperPositions[grid.Width - 1, doorwayY, 0].CollapseToItem(doorItem.Id); grid.handlePropagation(grid.SuperPositions[grid.Width - 1, doorwayY, 0]); }
public void RemoveAcceptableInDirection(IOpinionatedItem item, int x, int y, int z, bool mutual) { if (mutual) { RemoveMutualAcceptionInDirection(item, x, y, z); } else { RemoveExclusiveAcceptionInDirection(item, x, y, z); } }
public void SetAcceptableInDirection(IOpinionatedItem item, int x, int y, int z, bool mutual = true) { if (mutual) { AddMutualAcceptionInDirection(item, x, y, z); } else { AddExclusiveAcceptionInDirection(item, x, y, z); } }
private static void AddBorder(WcfGrid grid, IOpinionatedItem borderElement, int doorwayY) { for (var x = 0; x < grid.Width; x++) { for (var y = 0; y < grid.Height; y++) { if (x > 0 && x < grid.Width - 1 && y > 0 && y < grid.Height - 1) { continue; } if (y == doorwayY) { continue; } grid.SuperPositions[x, y, 0].CollapseToItem(borderElement.Id); var result = grid.handlePropagation(grid.SuperPositions[x, y, 0]); } } }
public bool AcceptsInDirection(IOpinionatedItem item, int x, int y, int z) { return(acceptableItemsArray[x + offsetX, y + offsetY, z + offsetZ].Any(i => i.Id == item.Id)); }
public void AddRequirement(IOpinionatedItem item, RequirementComparison comparison, int amount) { requirements.Add(new Tuple <int, Guid, RequirementComparison>(amount, item.Id, comparison)); }
public WcfCollapsableSlot(IOpinionatedItem _item, int _weight, WcfSuperPosition _superPosition) { weight = _weight; item = _item; superPosition = _superPosition; }
public void RemoveExclusiveAcceptionInDirection(IOpinionatedItem item, int x, int y, int z) { acceptableItemsArray[x + offsetX, y + offsetY, z + offsetZ] = acceptableItemsArray[x + offsetX, y + offsetY, z + offsetZ].Where(_x => _x.Id != item.Id).ToList(); }
public void RemoveMutualAcceptionInDirection(IOpinionatedItem item, int x, int y, int z) { acceptableItemsArray[x + offsetX, y + offsetY, z + offsetZ] = acceptableItemsArray[x + offsetX, y + offsetY, z + offsetZ].Where(_x => _x.Id != item.Id).ToList(); item.acceptableItemsArray[(x * -1) + offsetX, (y * -1) + offsetY, (z * -1) + offsetZ] = item.acceptableItemsArray[(x * -1) + offsetX, (y * -1) + offsetY, (z * -1) + offsetZ].Where(_x => _x.Id == item.Id).ToList(); }
public void AddExclusiveAcceptionInDirection(IOpinionatedItem item, int x, int y, int z) { acceptableItemsArray[x + offsetX, y + offsetY, z + offsetZ].Add(item); }
public void AddMutualAcceptionInDirection(IOpinionatedItem item, int x, int y, int z) { acceptableItemsArray[x + offsetX, y + offsetY, z + offsetZ].Add(item); item.acceptableItemsArray[(x * -1) + offsetX, (y * -1) + offsetY, (z * -1) + offsetZ].Add(this); }