public bool Equip_InsertEquipItem(EAObjID _id, uint slot, EA_CItemUnit pitem) { EA_CCharBPlayer pActor = EACObjManager.instance.GetActor(_id); if (pActor == null) { return(false); } if (pActor.GetObjInfo().m_eObjType == eObjectType.CT_MYPLAYER) { EA_Equipment pEquipment = m_myPlItemManager.GetEquip(); if (pEquipment != null) { pEquipment.InsertEquipItem(slot, pitem); } } else { EA_Equipment pEquipment = m_PCItemManager.Get_PCEquipItem(_id); if (pEquipment == null) { pEquipment = new EA_Equipment(); m_PCItemManager.InsertPCEquip(_id, pEquipment); } // [4/10/2014 puos] Equipped with items pEquipment.InsertEquipItem(slot, pitem); } return(true); }
/*! 장비 해제하기*/ bool RemoveItem(EAObjID _id, uint slot) { if (m_PCEquipMap.ContainsKey(_id) == true) { return(false); } EA_Equipment pEquipment = m_PCEquipMap[_id]; pEquipment.RemoveEquipItembySlot(slot); return(true); }
/*! 장비 저장하기*/ public bool EquipItem(EAObjID _id, uint slot, EA_CItemUnit pItem) { if (m_PCEquipMap.ContainsKey(_id) == true) { return(false); } EA_Equipment pEquipment = m_PCEquipMap[_id]; pEquipment.InsertEquipItem(slot, pItem); return(true); }
public void PCItemSystemClear() { foreach (KeyValuePair <EAObjID, EA_Equipment> pEquipData in m_PCEquipMap) { EA_Equipment pEquipment = m_PCEquipMap[pEquipData.Key]; if (pEquipment != null) { pEquipment.RemoveAllItem(); } } m_PCEquipMap.Clear(); }
/*! Player_id로 해당 pc 장비 삭제.*/ public bool RemovePCEquip(EAObjID _id) { if (m_PCEquipMap.ContainsKey(_id) == true) { EA_Equipment pEquipment = m_PCEquipMap[_id]; if (pEquipment != null) { pEquipment.RemoveAllItem(); pEquipment = null; } m_PCEquipMap.Remove(_id); return(true); } return(false); }
/*! Mount item in equipment slot */ public bool EquipmentItem(EAObjID _id, uint equip_slot) { EA_CCharBPlayer pUser = EACObjManager.instance.GetActor(_id); EA_Equipment pEquipment = null; if (pUser.GetObjInfo().m_eObjType == eObjectType.CT_MYPLAYER) { pEquipment = m_myPlItemManager.GetEquip(); } else { pEquipment = m_PCItemManager.Get_PCEquipItem(_id); } pEquipment.EquipItem(pUser, equip_slot); return(true); }
public EA_Equipment Equip_FindEqipment(EAObjID _id) { EA_CCharBPlayer pActor = EACObjManager.instance.GetActor(_id); EA_Equipment pEquipment = null; if (pActor != null) { if (pActor.GetObjInfo().m_eObjType == eObjectType.CT_MYPLAYER) { pEquipment = m_myPlItemManager.GetEquip(); } else { pEquipment = m_PCItemManager.Get_PCEquipItem(_id); } } return(pEquipment); }
/// <summary> /// /// </summary> protected void FindWeapon() { EA_CCharBPlayer pActor = GetCharBase(); EA_Equipment pEquipment = null; //2017 1126 Consider even without weapons m_pCurWeapon = null; if (pActor != null) { pEquipment = EA_ItemManager.instance.Equip_FindEqipment(pActor.GetObjID()); } if (pEquipment != null) { EA_CItemUnit pItemUnit = pEquipment.GetCurrentItem(); if (pItemUnit != null) { EA_CItem pItem = EACObjManager.instance.GetItemObject(pItemUnit.GetObjId()); if (pItem != null) { Debug.Assert(pItem.GetLinkItem() != null, "EAActor FindWeapon pItem.GetLinkItem() is null"); if (pItem.GetLinkItem() != null) { m_pCurWeapon = (EAWeapon)pItem.GetLinkItem() as EAWeapon; } } } } // [5/28/2018 puos] bug fixed if (m_pCurWeapon == null) { if (pActor != null) { pEquipment = EA_ItemManager.instance.Equip_FindEqipment(pActor.GetObjID()); } if (pEquipment != null) { EA_CItemUnit pItemUnit = pEquipment.GetCurrentItem(); if (pItemUnit != null) { EA_CItem pItem = EACObjManager.instance.GetItemObject(pItemUnit.GetObjId()); if (pItem != null) { Debug.Assert(pItem.GetLinkItem() != null, "EAActor FindWeapon2 pItem.GetLinkItem() is null"); if (pItem.GetLinkItem() != null) { m_pCurWeapon = (EAWeapon)pItem.GetLinkItem() as EAWeapon; } } } } } }
/*! Player_id로 해당 actor 장비 아이템 생성.*/ public bool InsertPCEquip(EAObjID _id, EA_Equipment pPLEquip) { m_PCEquipMap.Add(_id, pPLEquip); return(true); }