RailDirection findInverseDirInNeighboringBlock(RailBlock block, RailDirectionEnum direction) { for (int i = 0; i < block.directions.Length; i++) { int temp = (int)block.directions[i].direction + 2; if (temp >= 4) { temp = temp - 4; } if (direction == (RailDirectionEnum)temp) { return(block.directions [i]); } } return(null); }
void findInverseDirInNeighboringBlock(RailBlock block) { for (int i = 0; i < block.directions.Length; i++) { int temp = (int)block.directions[i].direction + 2; if (temp >= 4) { temp = temp - 4; } if (direction == (RailDirectionEnum)temp) { block.directions [i].neighborBlock = parent; return; } } neighborBlock = null; return; }
void findNewDirection() { int randomDir = 0; if (nextBlock.directions.Length == 1 || avaibleDir.Count == 1) { randomDir = 0; } else { randomDir = Random.Range(0, avaibleDir.Count); } nextBlock = avaibleDir [randomDir].NeighborBlock; currentDirections = avaibleDir [randomDir].direction; target = avaibleDir [randomDir].NeighborBlock.transform; sawBlock.rotation = Quaternion.Euler(0, 0, 90 * avaibleDir[randomDir].VecDirection.y); canMove = true; }
public void SetDef(RailBlock block) { defDirection = direction; parent = block; }
public void GetStartData(RailBlock block, RailDirectionEnum firstDir) { nextBlock = block; target = block.transform; currentDirections = firstDir; }