示例#1
0
 void UpdateNum(GarbageVo garbage)
 {
     if (this.garbage == garbage)
     {
         view.Txt_Num.text = garbage.Num.ToString();
     }
 }
示例#2
0
    /// <summary>
    /// 当玩家碰到垃圾时,将垃圾放入玩家背包
    /// </summary>
    /// <param name="other"></param>
    void OnTriggerEnter2D(Collider2D other)
    {
        PlayerController pc = other.GetComponent <PlayerController>();

        if (pc != null)
        {
            //向背包中添加垃圾
            GarbageVo garbage = GarbageModel.Instance.GetGarbageById(int.Parse(transform.name));
            GarbageModel.Instance.AddGarbage(garbage.Clone());
            Destroy(this.gameObject);
        }
    }
示例#3
0
    public void OnXmlLoad()
    {
        TextAsset   xml    = ResourcesManager.Load <TextAsset>("Configs/Garbages");
        XmlDocument xmlDoc = new XmlDocument();

        xmlDoc.LoadXml(xml.text);

        XmlNodeList list = xmlDoc.SelectSingleNode("root").ChildNodes;

        foreach (XmlElement item in list)
        {
            GarbageVo garbage = new GarbageVo(item);
            garbageDict[garbage.Id] = garbage;
        }
    }
示例#4
0
    public void SetData(GarbageVo garbage)
    {
        model            = GarbageModel.Instance;
        view             = GetComponent <GarbageItemView>();
        model.updateNum += UpdateNum;//添加事件触发函数

        view.Btn_Choose.gameObject.SetActive(false);

        UIEventListener.Get(view.Img_Icon).OnClickHandler     += OnChooseGarge;
        UIEventListener.Get(view.Img_Icon).OnBeginDragHandler += OnBeginDrag;
        UIEventListener.Get(view.Img_Icon).OnDragHandler      += OnDrag;
        UIEventListener.Get(view.Img_Icon).OnEndDragHandler   += OnEndDrag;

        this.garbage         = garbage;
        view.Img_Icon.sprite = ResourcesManager.Load <Sprite>("Garbages/" + garbage.Id);
        view.Txt_Num.text    = garbage.Num.ToString();
    }
示例#5
0
    void AddGarbage(GarbageVo garbage)
    {
        //实例化一个垃圾的预制物出来
        GameObject prefabs     = ResourcesManager.Load("Prefabs/GarbageItemView");
        GameObject garbageItem = Instantiate(prefabs) as GameObject;
        //将垃圾放置到第一个空格子处,位置归0
        RectTransform firstEmptyGrid = GetFirstEmptyGrid();

        if (firstEmptyGrid != null)
        {
            garbageItem.transform.SetParent(firstEmptyGrid);
            garbageItem.transform.localPosition = Vector2.zero;
            garbageItem.transform.localScale    = Vector2.one;
            //给当前垃圾进行赋值操作
            GarbageItemControl scripts = garbageItem.GetComponent <GarbageItemControl>();
            scripts.SetData(garbage);
        }
    }
示例#6
0
    public void AddGarbage(GarbageVo garbage)
    {
        for (int i = 0; i < bagList.Count; i++)
        {
            if (bagList[i].Id == garbage.Id && bagList[i].Num < bagList[i].MaxCount)
            {
                bagList[i].Num++;
                //通知垃圾自己去刷新垃圾数量
                updateNum(bagList[i]);
                return;
            }
        }
        //背包中没有这个垃圾
        bagList.Add(garbage);

        //通知界面去刷新
        addGarbage(garbage);
    }
示例#7
0
 public void RemoveGarbage(GarbageVo garbage)
 {
     bagList.Remove(garbage);
 }