Esempio n. 1
0
 public override void OnGetReward( )
 {
     //打开领取奖励UI
     base.OnGetReward( );
     //上交任务物品
     BagManager.GetInstance().sundryBag.Remove(TargetType, TargetNumber);
 }
Esempio n. 2
0
    public void OpenBag(Button button)
    {
        GameObject canvas;

        CommonCanvasManager.GetInstance().OpenCommonCanvas(button.name, out canvas, true);
        RectTransform panelTF = canvas.transform.GetChild(0).rectTransform();

        // 需要打开时在初始化
        BagManager bm = BagManager.GetInstance();

        bm.equipmentBag.Init(GameObject.FindGameObjectWithTag("equipment bag").transform.rectTransform(), canvas);
        bm.potionBag.Init(GameObject.FindGameObjectWithTag("potion bag").transform.rectTransform(), canvas);
        bm.sundryBag.Init(GameObject.FindGameObjectWithTag("sundry bag").transform.rectTransform(), canvas);

        button.onClick.AddListener(delegate
        {
            Sequence seq = DOTween.Sequence();
            if (!canvas.activeSelf)
            {
                canvas.SetActive(true);
                CanvasGroup canvasGroup = panelTF.GetComponent <CanvasGroup>();
                seq.Append(canvasGroup.DOFade(1, 0.2f))
                .Join(panelTF.DOScale(1, 0.2f))
                .AppendCallback(delegate
                {
                    canvasGroup.interactable = true;
                });
            }
        });
    }
Esempio n. 3
0
    /// <summary>
    /// 得到某些奖励
    /// </summary>
    /// <param name="ui"></param>
    public void OnGot( )
    {
        PlayerData.GetInstance().intValues["exp"]  += exp;
        PlayerData.GetInstance().intValues["gold"] += gold;
        BagManager bm = BagManager.GetInstance();

        for (int i = 0; i < items.Length; i++)
        {
            bm.PutIntoBag(items[i], counts[i]);
        }
    }
Esempio n. 4
0
    /// <summary>
    /// 普通状态打开背包,显示物品信息;
    /// 根据物品类型,装备/药可以使用,杂物(包括任务物品)不可使用
    /// </summary>
    public void OpenToDisplayDetail( )
    {
        GameObject useCanvas;

        //该UI正被使用时,直接替换显示内容
        CommonCanvasManager.GetInstance().OpenCommonCanvas("use", out useCanvas);
        Transform panelTF = useCanvas.transform.Find("Panel");

        panelTF.Find("Image/pic").GetComponent <Image>().sprite = GetComponent <Image>().sprite;
        panelTF.Find("name").GetComponent <Text>().text         = itemInfo.name;
        panelTF.Find("description").GetComponent <Text>().text  = itemInfo.info;

        Button useButton = panelTF.Find("use").GetComponent <Button>();

        //使用
        useButton.enabled = true;
        // 把使用功能改成自己的
        useButton.onClick.RemoveAllListeners();
        useButton.onClick.AddListener(delegate
        {
            onUsedMethod();
        });

        //丢弃
        Button abondonButton = panelTF.Find("abondon").GetComponent <Button>();

        abondonButton.onClick.RemoveAllListeners();
        abondonButton.onClick.AddListener(delegate
        {
            BagManager bm = BagManager.GetInstance();
            switch (bagType)
            {
            case ConstantDefine.BagItemType.Equipment:
                bm.equipmentBag.Abondon(type);
                break;

            case ConstantDefine.BagItemType.Potion:
                bm.potionBag.Abondon(type);
                break;

            case ConstantDefine.BagItemType.Sundry:
                bm.sundryBag.Abondon(type);
                break;

            case ConstantDefine.BagItemType.Money:
                break;

            default:
                break;
            }
        });
    }
Esempio n. 5
0
    public override void OnClaim( )
    {
        base.OnClaim();

        //如果背包中已有目标物品....
        m_completedNumber = BagManager.GetInstance().sundryBag.GetCount(TargetType);
        if (CheckCompletion())
        {
            OnCompleted();
        }
        else
        {
            //注册
            QuestManager.GetInstance().RegisterCollectionQuestEventHandler(TargetType, this.OnCollectOne);
        }
    }
Esempio n. 6
0
        private void OnTriggerEnter2D(Collider2D other)
        {
            if (BoltNetwork.IsClient)
            {
                return;
            }

            if (!other.CompareTag("Player"))
            {
                return;
            }
            var playerId = other.gameObject.GetComponent <Player>().playerId;

            BagManager.GetInstance().GetBag(playerId).InsertItem(itemId, amount);
            BoltNetwork.Destroy(gameObject);
        }
 // Update is called once per frame
 void Update()
 {
     //TextInputing:
     //Input.touchCount>0 to replace
     if (Input.GetKey(KeyCode.Space) && index == textList.Count)
     {
         index = 0;
         textList.Clear();
         buttonGroup.interactable = true;
         RecordManager.GetInstance().StoryGoOn();
         BagManager.GetInstance().AddManualItem((ManualItem)textFile.Award);//可能报错
         Destroy(gameObject);
         return;
     }
     if (Input.GetKey(KeyCode.Space) && textFinished)
     {
         nameLabel.text = textList[index];
         index++;
         //设置text
         StartCoroutine(SetTextUI());
     }
 }
Esempio n. 8
0
    public void OnGot( )
    {
        //反射,通过物品名(类名)创建这个物品的实例
        Type type = Type.GetType(itemName);

        if (type == null)
        {
            Debug.LogError("没有该物品");
        }
        BagItem item = Activator.CreateInstance(type, new object[1] {
            itemType
        }) as BagItem;

        //放入背包
        BagManager.GetInstance().PutIntoBag(item);

        collectedEvent.Invoke(itemType);

        collectedTime--;
        if (collectedTime == 0)
        {
            Destroy(gameObject);
        }
    }
Esempio n. 9
0
    private void _RoomSceneInit ( )
    {
        if (m_matchUI != null)
            Destroy(m_matchUI);

        if (m_roomUI != null)
            return;

        m_roomUI = Instantiate(Resources.Load("ui/room ui")) as GameObject;

        m_waitingPanel = m_roomUI.transform.GetChild(3).gameObject;
        m_waitingTipsText = m_waitingPanel.GetComponentInChildren<Text>();
        RectTransform menuTF = m_roomUI.transform.GetChild(4) as RectTransform;
        float width = ((RectTransform)menuTF).sizeDelta.x / 5;
        Button[] buttons = menuTF.GetComponentsInChildren<Button>();
        //箭头
        buttons[0].onClick.AddListener(delegate
        {
            RectTransform buttonTf = buttons[0].rectTransform();
            Sequence seq = DOTween.Sequence();
            if (buttonTf.localRotation.eulerAngles.z > 90)
            {
                seq.Append(menuTF.DOAnchorPos(menuTF.anchoredPosition - new Vector2(width * 4, 0), 0.5f))
                   .Join(buttonTf.DORotate(new Vector3(0, 0, 0), 0.2f));
            }
            else
            {
                seq.Append(menuTF.DOAnchorPos(menuTF.anchoredPosition + new Vector2(width * 4, 0), 0.5f))
                   .Join(buttonTf.DORotate(new Vector3(0, 0, 180), 0.2f));
            }
        });
        //角色、背包、设定
        for (int i = 1; i < 4; i++)
        {
            string name = buttons[i].name;
            GameObject canvas;
            CommonCanvasManager.GetInstance().OpenCommonCanvas(name, out canvas, true);
            RectTransform panelTF = canvas.transform.GetChild(0).rectTransform();
            switch (i)
            {
                //背包面板
                case 2:
                    BagManager bm = BagManager.GetInstance();
                    bm.equipmentBag.Init(GameObject.FindGameObjectWithTag("equipment bag").transform.rectTransform(), canvas);
                    bm.potionBag.Init(GameObject.FindGameObjectWithTag("potion bag").transform.rectTransform(), canvas);
                    bm.sundryBag.Init(GameObject.FindGameObjectWithTag("sundry bag").transform.rectTransform(), canvas);
                    break;
                default:
                    break;
            }
            buttons[i].onClick.AddListener(delegate
            {
                Sequence seq = DOTween.Sequence();
                if (!canvas.activeSelf)
                {
                    canvas.SetActive(true);
                    CanvasGroup canvasGroup = panelTF.GetComponent<CanvasGroup>();
                    seq.Append(canvasGroup.DOFade(1, 0.2f))
                       .Join(panelTF.DOScale(1, 0.2f))
                       .AppendCallback(delegate
                       {
                           canvasGroup.interactable = true;
                       });
                }
            });
            canvas.SetActive(false);
        }
        m_waitingPanel.SetActive(false);
    }
Esempio n. 10
0
 public override void SceneLoadRemoteDone(BoltConnection connection, IProtocolToken token)
 {
     BagManager.GetInstance().GetBag(Convert.ToInt32(connection.ConnectionId)).InsertItem(87, 3);
 }
Esempio n. 11
0
 public override void OnUsed( )
 {
     //消耗品
     BagManager.GetInstance().potionBag.Remove(itemType);
 }