using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using Games.Item;
using System.Collections.Generic;
using GCGame.Table;

public class MarketPlayerBuyItemCnt : UIControllerBase<MarketPlayerBuyItemCnt>
{
	// Use this for initialization
	void OnEnable ()
    {
        SetInstance(this);

        GUIData.delMoneyChanged += UpdateOwnMoney;
        InitBuyItem();
    }

    void OnDisable()
    {
        SetInstance(null);
        GUIData.delMoneyChanged -= UpdateOwnMoney;
    }
	
	// Update is called once per frame
	void Update ()
    {
	
	}

    #region 

    public Image _ItemIcon;
    public Image _ItemQuality;
    public UINumBoardInput _ItemCnt;
    public UICurrencyItem _TotlePrice;
    public UICurrencyItem _OwnMoney;

    public void InitBuyItem()
    {
        var commonItem = TableManager.GetCommonItemByID(MarketItemListPage.Instance().SelectedItem.DataId, 0);
        LoadAssetBundle.Instance.SetImageSprite(_ItemIcon, commonItem.Icon);
        LoadAssetBundle.Instance.SetImageSprite(_ItemQuality, GCGame.Utils.GetItemQualityFrame(commonItem));
        if (commonItem.QualityEffect > 0)
        {
            CommonItemContainerItem.ShowQualityEffect(true, commonItem.QualityEffect, _ItemIcon.transform);
        }
        else
        {
            CommonItemContainerItem.ShowQualityEffect(false, commonItem.QualityEffect, _ItemIcon.transform);
        }

        _ItemCnt.Init(1, 1, MarketItemListPage.Instance().SelectedItem.SellCnt);
        UpdateBuyNum();
        _OwnMoney.ShowOwnCurrency(MONEYTYPE.MONEYTYPE_COIN);
    }

    public void UpdateBuyNum()
    {
        _TotlePrice.ShowCurrency(MONEYTYPE.MONEYTYPE_COIN, MarketItemListPage.Instance().SelectedItem.Price * _ItemCnt.Value);
    }

    public void OnBtnOK()
    {
        MarketItemListPage.Instance().OnBtnBuy(_ItemCnt.Value);
        if (MarketItemListPage.Instance())
        {
            MarketItemListPage.Instance().HideBuyNumPanel();
        }
    }

    public void OnBtnCancel()
    {
        MarketItemListPage.Instance().HideBuyNumPanel();
    }

    public void UpdateOwnMoney()
    {
        _OwnMoney.ShowOwnCurrency(MONEYTYPE.MONEYTYPE_COIN);
    }

    #endregion

}