コード例 #1
0
    /// <summary>
    /// 背包list中的装备配件功能
    /// </summary>
    /// <param name="_prop"></param>
    void PutOnParts(aSong_PlayerData.Prop _prop)
    {
        aSongUI_BackpackWeapon curentBackpackWeapon = GetCurrent_aSongUI_BackpackWeapon();

        if (!curentBackpackWeapon)
        {
            return;
        }
        //当前没拿武器
        if (!curentBackpackWeapon.CanPartsOn())
        {
            curentBackpackWeapon.Reset();
            return;
        }
        //先从数据中背包List删除
        //再将道具引用放到aSongUI_BackpackWeapon对应的槽中
        //aSongUI_Contact.m_instance

        PropBaseModel _model = aSongUI_Controller.Instance.playerData.GetBagProp(_prop.propID);

        Debug.Log("装配件_model = " + _model.prop.name);
        aSongUI_Controller.Instance.RemovePropFromBag(_model);
        _model = curentBackpackWeapon.PutOnParts(_model);
        if (_model)
        {
            Debug.Log("卸下来的道具 = " + _model.prop.name);
            aSongUI_Controller.Instance.AddPropToBag(_model);
        }
        HideBtnItem();
    }
コード例 #2
0
 private void Awake()
 {
     prop = new aSong_PlayerData.Prop(mName);
     mInteractionObject   = GetComponentInChildren <InteractionObject>();
     mInteractionTriggers = GetComponentsInChildren <InteractionTrigger>();
     r = GetComponent <Rigidbody>();
 }
コード例 #3
0
 private void AddPropToItem(aSong_PlayerData.Prop prop)
 {
     if (propItemsPool.Count <= 0)
     {
         CreatePropItem(prop);
     }
     else
     {
         GetPropItemFromPool(prop);
     }
 }
コード例 #4
0
 public void Refresh(aSong_PlayerData.Prop prop)
 {
     this.data = prop;
     Init();
     if (prop == null)
     {
         Reset();
     }
     else
     {
         UpdateItem();
     }
 }
コード例 #5
0
    private void GetPropItemFromPool(aSong_PlayerData.Prop prop)
    {
        if (propItemsPool.Count <= 0)
        {
            return;
        }
        aSongUI_PropListItem item = propItemsPool[0];

        propItemsPool.Remove(item);
        propItems.Add(item);
        item.gameObject.SetActive(true);
        item.Refresh(prop);
        item.transform.localPosition = Vector3.up * -item.GetComponent <RectTransform>().rect.height *(propItems.Count - 1);
        return;
    }
コード例 #6
0
    private void CreatePropItem(aSong_PlayerData.Prop prop)
    {
        GameObject go = GameObject.Instantiate(propItem) as GameObject;

        go.transform.SetParent(propItem.transform.parent);
        go.transform.localScale = Vector3.one;
        go.SetActive(true);

        aSongUI_PropListItem item = go.AddComponent <aSongUI_PropListItem>();

        item.Refresh(prop);
        propItems.Add(item);
        item.transform.localPosition = Vector3.up * -item.GetComponent <RectTransform>().rect.height *(propItems.Count - 1);
        Debug.Log("CreatePropItem");
        //add click btn
        go.AddComponent <Button>().onClick.AddListener(aSongUI_Controller.Instance.OnClickSkillItem);
    }
コード例 #7
0
 /// <summary>
 /// 按钮:使用
 /// </summary>
 /// <param name="_prop"></param>
 void UsingProp(aSong_PlayerData.Prop _prop)
 {
     Debug.Log("按钮:使用");
 }