public static void DrawRange(IBuilding building) { var rect = building.BuildingRect; var lands = GameScene.Instance.Ground.GetBlocks(building.MapRect); foreach (var block in lands) { if (rect.IsInclude(block.MapPosition)) { Gizmos.color = Color.red; } else { Gizmos.color = Color.green; } var range = GroundBlock.MapPositionToRect(block.MapPosition); Gizmos.DrawLine(new Vector3(range.x, 0, range.y), new Vector3(range.xMax, 0, range.yMax)); } Gizmos.color = Color.blue; var centerRange = GroundBlock.MapPositionToRect(building.CenterPosition); Gizmos.DrawLine(new Vector3(centerRange.xMin, 0, centerRange.yMax), new Vector3(centerRange.xMax, 0, centerRange.yMin)); Gizmos.color = Color.yellow; var worldCenterPos = building.WorldCenterPosition; Gizmos.DrawLine(worldCenterPos + Vector3.left, worldCenterPos + Vector3.right); Gizmos.DrawLine(worldCenterPos + Vector3.forward, worldCenterPos + Vector3.back); }
private void OnDrawGizmos() { Gizmos.color = Color.yellow; foreach (var block in this.Field) { var range = GroundBlock.MapPositionToRect(block.Value.MapPosition); //Gizmos.DrawLine(new Vector3(range.xMin, 0, range.yMax), new Vector3(range.xMax, 0, range.yMin)); Gizmos.DrawLine(new Vector3(range.xMin, 0, range.yMin), new Vector3(range.xMin, 0, range.yMax)); Gizmos.DrawLine(new Vector3(range.xMin, 0, range.yMax), new Vector3(range.xMax, 0, range.yMax)); Gizmos.DrawLine(new Vector3(range.xMax, 0, range.yMax), new Vector3(range.xMax, 0, range.yMin)); Gizmos.DrawLine(new Vector3(range.xMax, 0, range.yMin), new Vector3(range.xMin, 0, range.yMin)); } }
private void OnDrawGizmosSelected() { if (this.registGroundBlock == null || this.registGroundBlock.Length <= 0) { return; } Gizmos.color = Color.red; foreach (var area in this.registGroundBlock) { for (int y = 0; y < area.w; y++) { for (int x = 0; x < area.z; x++) { var rect = GroundBlock.MapPositionToRect(new Vector2Int((int)area.x + x, (int)area.y + y)); Gizmos.DrawLine(new Vector3(rect.xMin, 0f, rect.yMin), new Vector3(rect.xMax, 0f, rect.yMax)); Gizmos.DrawLine(new Vector3(rect.xMin, 0f, rect.yMax), new Vector3(rect.xMax, 0f, rect.yMin)); } } } }