예제 #1
0
 public void SetOkClicked(OkDelegate okClicked)
 {
     this.okClicked = okClicked;
     if (okButton != null)
     {
         okButton.onClick.AddListener(() => {
             okClicked(inputField.text);
         });
     }
 }
예제 #2
0
    public void click_button_cancel()
    {
        GameObject obj = GameObject.Find("messagebox");

        if (obj != null)
        {
            obj.SetActive(false);
        }

        m_btnPress = BTNPress.BTN_CANCEL;
        if (m_funCancel != null)
        {
            m_funCancel();
            m_funCancel = null;
        }
        m_funOk = null;
    }
예제 #3
0
    /// <summary>
    /// 使用道具
    /// </summary>
    /// <param name="title">抬头</param>
    /// <param name="itemId">物品Id</param>
    /// <param name="okDel">确认回调</param>
    /// <param name="cancelDel">取消回调</param>
    /// <param name="belowDel">超过最小设置数量</param>
    /// <param name="overDel">超过背包中道具存量</param>
    /// <param name="okStr">确认按钮文字</param>
    /// <param name="cancelStr">取消按钮文字</param>
    /// <param name="leftUseTimes">剩余使用次数</param>
    /// <param name="setNum">是否可以设置使用数量,默认不可设置道具使用数量</param>
    /// <param name="useDianjuan">是否可使用元宝兑换,默认可以使用元宝兑换道具</param>
    public void ShowUseItemWindow(string title, uint itemId, OkDelegate okDel, Action cancelDel, Action belowDel = null, Action overDel = null, string okStr = "使用", string cancelStr = "取消", int leftUseTimes = -1, bool setNum = false, bool canUseDianjuan = false)
    {
        UseItemWidnowParam param = new UseItemWidnowParam {
            title          = title, itemId = itemId, ok = okDel
            , cancel       = cancelDel, belowMinCount = belowDel
            , overMaxCount = overDel, oktxt = okStr
            , canletxt     = cancelStr, LeftUseTimes = leftUseTimes
            , canSetNum    = setNum, canUseDianjuan = canUseDianjuan
        };

        DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.CommonUseItemPanel, panelShowAction: (pb) =>
        {
            if (null != pb && pb is CommonUseItemPanel)
            {
                CommonUseItemPanel panel = pb as CommonUseItemPanel;
                panel.Init(param);
            }
        });
    }
예제 #4
0
    public void Init(UseItemWidnowParam param)
    {
        this.title          = param.title;
        this.itemId         = param.itemId;
        this.ok             = param.ok;
        this.cancel         = param.cancel;
        this.belowMinCount  = param.belowMinCount;
        this.overMaxCount   = param.overMaxCount;
        this.oktxt          = param.oktxt;
        this.canletxt       = param.canletxt;
        this.leftUseTimes   = param.LeftUseTimes;
        this.canSetNum      = param.canSetNum;
        this.canUseDianjuan = param.canUseDianjuan;

        //初始为默认状态
        num         = 1;
        useDianJuan = false;
        SetZidongbuzuFalse();
        this.baseItem = new BaseItem(this.itemId);
        if (baseItem == null)
        {
            return;
        }

        itemCount     = DataManager.Manager <ItemManager>().GetItemNumByBaseId(this.itemId); //道具存量
        dianjuanCount = MainPlayerHelper.GetMoneyNumByType(ClientMoneyType.YuanBao);         //元宝存量
        PointConsumeDataBase pcDb = GameTableManager.Instance.GetTableItem <PointConsumeDataBase>(this.itemId);

        if (pcDb != null)
        {
            itemPerCostDianjuan = pcDb.buyPrice; //每个道具要几个元宝来换
        }
        else
        {
            Engine.Utility.Log.Info("元宝代消耗表格无数据");
        }

        //初始化item
        InitItem();

        m_label_TitleLabel.text  = this.title;
        m_label_Name.text        = baseItem.Name;
        m_label_Description.text = baseItem.Des;
        m_btn_Btn_Use.GetComponentInChildren <UILabel>().text   = this.oktxt;
        m_btn_Btn_Canel.GetComponentInChildren <UILabel>().text = this.canletxt;
        m_label_UnitNum.text = num.ToString();

        //每日使用次数限制
        if (this.leftUseTimes == -1)   //-1 无使用次数限制
        {
            m_trans_Times.gameObject.SetActive(false);
            this.availableNum = itemCount;
        }
        else
        {
            m_trans_Times.gameObject.SetActive(true);
            this.availableNum = Mathf.Min(this.leftUseTimes, itemCount);
            if (this.leftUseTimes == 0)
            {
                m_label_TimesNum.color = Color.red;
            }

            if (this.leftUseTimes > 0)
            {
                m_label_TimesNum.color = Color.green;
            }

            m_label_TimesNum.text = string.Format("{0}/{1}", this.leftUseTimes, baseItem.DailyUseNum);
        }

        //设置-+功能
        if (this.canSetNum)
        {
            m_btn_Btn_Less.gameObject.SetActive(true);
            m_btn_Btn_Add.gameObject.SetActive(true);
        }
        else
        {
            m_btn_Btn_Less.gameObject.SetActive(false);
            m_btn_Btn_Add.gameObject.SetActive(false);
        }

        //使用元宝功能
        if (this.canUseDianjuan)
        {
            m_trans_buzu.gameObject.SetActive(true);
        }
        else
        {
            m_trans_buzu.gameObject.SetActive(false);
            m_trans_UseCost.gameObject.SetActive(false);
        }
    }
예제 #5
0
 static public void set_callback(OkDelegate funOk = null, CancelDelegate funCancel = null)
 {
     m_funOk     = funOk;
     m_funCancel = funCancel;
 }
예제 #6
0
	public void Send_Item_Compose(int _petSlot, int _slot1, int _slot2, int _slot3, OkDelegate _dlt)
	{
		Debug.Log("AsPetManager:: Send_Item_Compose: _petSlot = " + _petSlot + ", _slot1 = " + _slot1 + ", _slot2 = " + _slot2 + ", _slot3 = " + _slot3);

		body_CS_PET_ITEM_COMPOSE compose = new body_CS_PET_ITEM_COMPOSE(_petSlot, _slot1, _slot2, _slot3);
		AsCommonSender.Send(compose.ClassToPacketBytes());

		m_Dlt_Send_Item_Compose = _dlt;

		m_PacketSend = true;
	}
예제 #7
0
	public void Send_Upgrade(PetListElement _base, PetListElement _matter, OkDelegate _dlt)
	{
		Debug.Log("AsPetManager:: Send_Upgrade: _base.PetSlot = " + _base.PetSlot + ", _matter.PetSlot = " + _matter.PetSlot);

		body_CS_PET_UPGRADE upgrade = new body_CS_PET_UPGRADE(_base.PetSlot, _matter.PetSlot);
		AsCommonSender.Send(upgrade.ClassToPacketBytes());

		m_Dlt_Send_Upgrade = _dlt;
	}