public void HandleTooltip(Vector2 position, MouseCursor cursor, bool isDragging) { cursor.Reset(); Tile t = WorldController.Instance.GetTileAtWorldCoord(position); int validPostionCount = 0; int invalidPositionCount = 0; List <GameObject> dragPreviewGameObjects = WorldController.Instance.MouseController.DragPreviewGameObjects; // Placing furniture object. if (BuildMode == BuildMode.FURNITURE) { cursor.DisplayCursorInfo(TextAnchor.LowerRight, LocalizationTable.GetLocalization(PrototypeManager.Furniture.Get(BuildModeType).GetName()), MouseCursor.TextColor, false); // Dragging and placing multiple furniture. if (t != null && isDragging == true && dragPreviewGameObjects.Count > 1) { for (int i = 0; i < dragPreviewGameObjects.Count; i++) { Tile t1 = WorldController.Instance.GetTileAtWorldCoord(dragPreviewGameObjects[i].transform.position); if (World.Current.FurnitureManager.IsPlacementValid(BuildModeType, t1) && (t1.PendingBuildJobs == null || t1.PendingBuildJobs.Count == 0)) { validPostionCount++; } else { invalidPositionCount++; } } string currentBuildRequirements = string.Empty; Build buildOrder = PrototypeManager.Furniture.Get(BuildModeType).GetOrderAction <Build>(); if (buildOrder != null) { StringBuilder sb = new StringBuilder(); foreach (KeyValuePair <string, int> item in buildOrder.Inventory) { sb.Append(string.Format("{0}x {1}", item.Value * validPostionCount, PrototypeManager.Inventory.Get(item.Key).LocalizedName)); if (buildOrder.Inventory.Count > 1) { sb.AppendLine(); } } currentBuildRequirements = sb.ToString(); } else { UnityDebugger.Debugger.LogError("BuildOrder is null"); } cursor.DisplayCursorInfo(TextAnchor.UpperLeft, validPostionCount.ToString(), Color.green, false); cursor.DisplayCursorInfo(TextAnchor.UpperRight, invalidPositionCount.ToString(), Color.red, false); cursor.DisplayCursorInfo(TextAnchor.LowerLeft, currentBuildRequirements, MouseCursor.TextColor, false); } } else if (BuildMode == BuildMode.FLOOR) { // Placing tiles and dragging. if (t != null && isDragging == true && dragPreviewGameObjects.Count >= 1) { cursor.DisplayCursorInfo(TextAnchor.UpperLeft, dragPreviewGameObjects.Count.ToString(), MouseCursor.TextColor, false); cursor.DisplayCursorInfo(TextAnchor.LowerLeft, LocalizationTable.GetLocalization(GetFloorTile()), MouseCursor.TextColor, false); } } }
public void HandleTooltip(Vector2 position, MouseCursor cursor, bool isDragging) { cursor.Reset(); cursor.DisplayCursorInfo(TextAnchor.MiddleRight, AmountToCreate + "x " + InventoryToBuild, MouseCursor.TextColor, false); }