public GMQTransport(GMQueue queue, string name_, SlotIdx idx_, UInt64 id_) { this.gmq = queue; this.name = name_; this.idx = idx_; this.id = id_; }
void WeaponSlotSetting(CWeaponHook weaponHook, SlotIdx slotIdx) { if (weaponHook == null) { return; } CWeapon weapon = weaponHook.Weapon; if (weapon == null) { return; } weaponHook.transform.parent = m_Slots[(int)slotIdx]; weaponHook.gameObject.transform.localPosition = weapon.Prefab.transform.localPosition; weaponHook.gameObject.transform.localRotation = weapon.Prefab.transform.localRotation; weaponHook.gameObject.transform.localScale = weapon.Prefab.transform.localScale; }
public CWeapon EquipWeapon(CWeapon weapon, SlotIdx slotIdx = SlotIdx.Right, bool isSub = false) { CWeapon outWeapon = null; #region CheckNull if (weapon == null) { Debug.LogError("Don't Equip null Weapon"); return(outWeapon); } GameObject weaponObj = Instantiate(weapon.Prefab); if (weaponObj == null) { Debug.LogError(weapon + ".prefab is null"); return(outWeapon); } weaponObj.name = weapon.Prefab.name; CWeaponHook weaponHook = weaponObj.GetComponent <CWeaponHook>(); if (weaponHook == null) { Debug.LogError(weapon + "is not Contained WeaponHook"); return(outWeapon); } #endregion if (!isSub) { if (m_MainHook != null) { outWeapon = m_MainHook.Weapon; Destroy(m_MainHook.gameObject); m_mainEquip = null; m_MainHook = null; } m_MainHook = weaponHook; m_MainHook.Init(m_unit, weapon); m_mainEquip = weapon; m_inventoryInfo.curWeaponIdx = m_mainEquip.ItemIdx; } else { if (m_subHook != null) { outWeapon = m_subHook.Weapon; Destroy(m_subHook.gameObject); m_subHook = null; m_subEquip = null; } m_subHook = weaponHook; m_subHook.Init(m_unit, weapon); m_subEquip = weapon; m_inventoryInfo.subWeaponIdx = m_subEquip.ItemIdx; } WeaponSlotSetting(weaponHook, slotIdx); if (m_actionCtrl.Anim != null) { m_actionCtrl.Anim.SetInteger("WeaponIdx", (int)m_mainEquip.WeaponType); } //TODO: 방패 혹은 오브젝트를 두개를 껴야하는 경우의 관련 처리 return(outWeapon); }