Exemplo n.º 1
0
 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);
             }
         }
     }
 }
Exemplo n.º 2
0
    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.");
        }
    }