public void ClearRes() { Res.SetAmount(HexResource.RESOURCE_TYPE.WOOD, 0); Res.SetAmount(HexResource.RESOURCE_TYPE.FOOD, 0); Res.SetAmount(HexResource.RESOURCE_TYPE.IRON, 0); plantLevel = 0; farmLevel = 0; mineLevel = 0; }
private void OnHarvestStopReply(byte[] bytes) { HarvestStopReply input = HarvestStopReply.Parser.ParseFrom(bytes); if (input.ActorId != ActorId) { return; // 不是自己,略过 } if (!input.Ret) { return; } HexResource.RESOURCE_TYPE resType = (HexResource.RESOURCE_TYPE)input.ResType; HexCell currentCell = HexUnit.Location; HexResource res = currentCell.Res; int level = res.GetLevel(resType); res.SetAmount(resType, input.ResRemain); int levelNew = res.GetLevel(resType); if (level != levelNew) { res.Refresh(currentCell); } string [] resTypes = { "木材", "粮食", "铁矿" }; string msg = $"获取了 {input.ResHarvest} 的 {resTypes[input.ResType]} 资源"; UIManager.Instance.SystemTips(msg, PanelSystemTips.MessageType.Success); GameRoomManager.Instance.Log("MSG: HarvestStop OK - " + msg + $" - 剩余资源{input.ResRemain}"); // 必要的时候, 刷新地面上的资源数字 PanelRoomMain.Instance.UpdateResInCell(currentCell.Index); }
private static void DOWNLOAD_RESCELL_REPLY(byte[] bytes) { DownloadResCellReply input = DownloadResCellReply.Parser.ParseFrom(bytes); if (!input.Ret) { string msg = "下载资源数据失败! - " + input.ErrMsg; GameRoomManager.Instance.Log($"MSG: DOWNLOAD_RES_REPLY OK - " + msg); return; } List <HexGridChunk> chunkList = new List <HexGridChunk>(); for (int i = 0; i < input.InfoCount; ++i) { HexCell cell = GameRoomManager.Instance.HexmapHelper.GetCell(input.ResInfo[i].CellIndex); HexResource hr = cell.Res; hr.ResType = (HexResource.RESOURCE_TYPE)input.ResInfo[i].ResType; hr.SetAmount(hr.ResType, input.ResInfo[i].ResAmount); cell.UpdateFeatureLevelFromRes(); if (!chunkList.Contains(cell.chunk)) { chunkList.Add(cell.chunk); } } // 刷新模型 foreach (var chunk in chunkList) { chunk.Refresh(); } if (input.PackageIndex == 0 && input.PackageIndex < input.PackageCount - 1) { resCount = input.InfoCount; string msg = "开始下载资源数据..."; GameRoomManager.Instance.Log($"MSG: DOWNLOAD_RES_REPLY - " + msg + $"PackageCount:{input.PackageCount}"); } else if (input.PackageIndex == input.PackageCount - 1) { resCount += input.InfoCount; string msg = "下载资源数据成功!"; GameRoomManager.Instance.Log($"MSG: DOWNLOAD_RES_REPLY OK - " + msg + $"PackageCount:{input.PackageCount} - Res Count:{resCount}"); } }