/// <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(); }
private void Awake() { prop = new aSong_PlayerData.Prop(mName); mInteractionObject = GetComponentInChildren <InteractionObject>(); mInteractionTriggers = GetComponentsInChildren <InteractionTrigger>(); r = GetComponent <Rigidbody>(); }
private void AddPropToItem(aSong_PlayerData.Prop prop) { if (propItemsPool.Count <= 0) { CreatePropItem(prop); } else { GetPropItemFromPool(prop); } }
public void Refresh(aSong_PlayerData.Prop prop) { this.data = prop; Init(); if (prop == null) { Reset(); } else { UpdateItem(); } }
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; }
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); }
/// <summary> /// 按钮:使用 /// </summary> /// <param name="_prop"></param> void UsingProp(aSong_PlayerData.Prop _prop) { Debug.Log("按钮:使用"); }