public void AddPathBlock(PathBlock pathBlock) { int value = 0; switch (pathBlock.GetType()) { case PathBlockEnum.NORMAL: value = 1; break; case PathBlockEnum.SPAWN: value = 2; break; case PathBlockEnum.GOAL: value = 3; break; default: break; } if (IsConnectedToOtherPathBlock(pathBlock)&&((pathBlock.IsSpawn()&&GetSpawn()==null)||(pathBlock.IsGoal()&&GetGoal()==null&&GetSpawn()!=null)||(pathBlock.IsNormal()&&GetGoal()==null))) { grid[(int)pathBlock.GetPosition().X, (int)pathBlock.GetPosition().Y] = value; path.Add(pathBlock); route.path.Add(pathBlock.GetPosition()); } }