public void LoadConfigs() { foreach (string path in ResourcesManager.CsvDict.Keys) { ReadCsv config = ResourcesManager.CsvDict[path]; for (int i = 3; i < config.GetRow(); i++) { if (path.Contains("Scene.csv")) { ConfigScene data = new ConfigScene(config, i); this.CfgScene.Add(data._id, data); } else if (path.Contains("Story.csv")) { ConfigStory data = new ConfigStory(config, i); this.CfgStory.Add(data._id, data); } else if (path.Contains("Event.csv")) { ConfigEvent data = new ConfigEvent(config, i); this.CfgEvent.Add(data._id, data); } else if (path.Contains("Item.csv")) { ConfigItem data = new ConfigItem(config, i); this.CfgItem.Add(data._id, data); } else if (path.Contains("Drop.csv")) { ConfigDrop data = new ConfigDrop(config, i); this.CfgDrop.Add(data._id, data); } else if (path.Contains("Monster.csv")) { ConfigMonster data = new ConfigMonster(config, i); this.CfgMonster.Add(data._id, data); } else if (path.Contains("Equipment.csv")) { ConfigEquipment data = new ConfigEquipment(config, i); this.CfgEquipment.Add(data._id, data); } } } }
public void UpdateDropUI(int dropId) { MyLog.Log("Drop shown, id=" + dropId); mTextTips.text = ""; ConfigDrop drop = ConfigManager.Instance.ReqDrop(dropId); if (drop != null) { List <string> content_get = new List <string>(); List <string> content_loss = new List <string>(); //gold if (drop._gold > 0) { int addGold = Random.Range(1, drop._gold); Process.Instance.Player.UpdateGold(Process.Instance.Player.Gold + addGold); content_get.Add(addGold + "文钱"); } else if (drop._gold < 0) { int lossGoldCount = Random.Range(1, Mathf.Abs(drop._gold)); lossGoldCount = Mathf.Min(Process.Instance.Player.Gold, lossGoldCount); Process.Instance.Player.UpdateGold(Process.Instance.Player.Gold - lossGoldCount); if (lossGoldCount > 0) { content_loss.Add(lossGoldCount + "文钱"); } } //items //MyLog.Log("Drop item count:" + drop._itemList.Count); for (int i = 0; i < drop._itemList.Count; i++) { ConfigItem item = ConfigManager.Instance.ReqItem(drop._itemList[i]._itemId); if (item != null) { //MyLog.Log("get item id:" + drop._itemList[i]._itemId + ", count:" + drop._itemList[i]._countMax); if (drop._itemList[i]._countMax > 0) { int getCount = drop._sceneId == 0 ? Random.Range(1, drop._itemList[i]._countMax) : Random.Range(0, drop._itemList[i]._countMax); Process.Instance.Player.AddItem(drop._itemList[i]._itemId, getCount); content_get.Add(item._name + "x" + getCount); } else if (drop._itemList[i]._countMax < 0) { int lossOrigCount = drop._sceneId == 0 ? Random.Range(1, Mathf.Abs(drop._itemList[i]._countMax)) : Random.Range(0, Mathf.Abs(drop._itemList[i]._countMax)); int lossCount = Mathf.Min(lossOrigCount, Process.Instance.Player.ReqItem(drop._itemList[i]._itemId).Count); Process.Instance.Player.AddItem(drop._itemList[i]._itemId, -lossCount); if (lossCount > 0) { content_loss.Add(item._name + "x" + lossCount); } } } else { MyLog.LogError("item[" + drop._itemList[i]._itemId + "] not exist."); } } MyLog.Log("content_get count:" + content_get.Count); if (content_get.Count > 0) { mTextTips.text = "获得:"; for (int i = 0; i < content_get.Count; i++) { if (i != content_get.Count - 1) { mTextTips.text += content_get[i] + ", "; } else { mTextTips.text += content_get[i] + ".\n"; } } } MyLog.Log("content_loss count:" + content_loss.Count); if (content_loss.Count > 0) { mTextTips.text = "失去:"; for (int i = 0; i < content_loss.Count; i++) { if (i != content_loss.Count - 1) { mTextTips.text += content_loss[i] + ", "; } else { mTextTips.text += content_loss[i] + "."; } } } Process.Instance.Saved(); } else { MyLog.Log("Drop " + dropId + " not exist."); } }