Ejemplo n.º 1
0
    /// <summary>
    /// 获得/消费金钱(给商店系统和拾取时金币调用)
    /// </summary>
    public void ChangeMoney(MoneyDetails md)
    {
        float total = md.moneyAmount;

        if (md.moneySource == MoneyDetails.Source.PickUp)
        {
            total = md.moneyAmount * MoneyRate;
        }
        GameDataMgr.Instance.ChangePlayerAttri(PlayerInfoType.金钱, total);
    }
Ejemplo n.º 2
0
    public void SellItem()
    {
        GameDataMgr.Instance.SellShop(info);
        int price = GameDataMgr.Instance.GetItemInfo(info.id).cost;
        //GameDataMgr.Instance.ChangePlayerAttri(PlayerInfoType.金钱, price);
        MoneyDetails md = new MoneyDetails();

        md.moneyAmount = price;
        md.moneySource = MoneyDetails.Source.ItemCell;
        PlayerStatus.Instance.ChangeMoney(md);
        Debug.Log("贩卖成功");
    }
Ejemplo n.º 3
0
    public void BuyItem()
    {
        //将物品添加给玩家,买完之后要在shopList里面消减
        GameDataMgr.Instance.BuyShop(info);
        //购买成功减少货币
        //GameDataMgr.Instance.ChangePlayerAttri(PlayerInfoType.金钱, -info.price);
        MoneyDetails md = new MoneyDetails();

        md.moneySource = MoneyDetails.Source.ItemCell;
        md.moneyAmount = -info.price;
        PlayerStatus.Instance.ChangeMoney(md);
        //上句自带保存和分发事件
        Debug.Log("购买成功");
    }
 public void OpenLevel(string targetID)
 {
     if (!LevelManager.Instance.hasOpenDungeon)
     {
         if (200 <= GameDataMgr.Instance.playerInfo.Money)
         {
             LevelManager.Instance.hasOpenDungeon = true;
             //扣钱
             MoneyDetails md = new MoneyDetails();
             md.moneyAmount = -200;
             PlayerStatus.Instance.ChangeMoney(md);
             //开门
             GameObject gate      = GameObject.Find("Gate");
             GameObject whiteGate = GameObject.Find("WhiteGate");
             gate.GetComponent <Animator>().SetTrigger("Open");
             whiteGate.GetComponent <Animator>().SetTrigger("Open");
             MusicMgr.Instance.PlaySound("ColLevelTriggerAudio", false);
             LevelManager.Instance.SetDungeonID(targetID, targetID);
         }
         else
         {
             DialogBase db = ResMgr.Instance.Load <DialogBase>("DonotHaveEnoughMoneyToOpen");
             if (db != null)
             {
                 DialogMgr.Instance.EnqueueDialog(db);
             }
         }
     }
     else
     {
         DialogBase db = ResMgr.Instance.Load <DialogBase>("HasOpenDungeon");
         if (db != null)
         {
             DialogMgr.Instance.EnqueueDialog(db);
         }
     }
     PlayerStatus.Instance.IsForzen = false;
 }