private void PickUpNear(Message msg) { Debug.Log("PICK UP!"); MessageBus.SendMessage(NetServerMessage.Get(Network.API.Messages.TRY_PICK_UP_NEAR, UnityEngine.Networking.QosType.Reliable, Channel.ChannelIds[SubscribeType.Network])); }
private void PickUpWeapon(Message msg) { bool hasEmpty = false; var data = (Looting.LootItemData)msg.Data; var PrevIndex = -1; if (_inventoryData.CurSelectedWeaponIndex == -1) { curWeaopnSlotIndex = 0; } else { curWeaopnSlotIndex = _inventoryData.CurSelectedWeaponIndex; PrevIndex = curWeaopnSlotIndex; for (int i = 0; i < _inventoryData.WeaponItemHolders.Length; ++i) { if (_inventoryData.WeaponItemHolders[i].WeaponObject != null) { continue; } hasEmpty = true; curWeaopnSlotIndex = i; } if (!hasEmpty) { //ToDo: drop current weapon MessageBus.SendMessage(NetServerMessage.Get(Network.API.Messages.DROP_LOOT_ITEM, UnityEngine.Networking.QosType.Reliable, -1, Looting.InstanceLootItemData.GetData(transform.position, Looting.API.LootType.WEAPONS, 1, new int[1] { (int)_inventoryData.WeaponItemHolders[PrevIndex].WeaponObject. GetComponent <Weapons.Data.WeaponData>().WeaponConfig.weaponName }, -1))); Destroy(_inventoryData.WeaponItemHolders[PrevIndex].WeaponObject); Destroy(_inventoryData.WeaponItemHolders[PrevIndex].AimTargetObject); } else { _inventoryData.WeaponItemHolders[PrevIndex].WeaponObject.SetActive(false); } } MessageBus.SendMessage(NetBroadcastMessage.Get(Network.API.Messages.CREATE_WEAPON, UnityEngine.Networking.QosType.Reliable, Channel.ChannelIds[SubscribeType.Network], WeaponInstantiateData.GetWeaponInstantiateData((WeaponType)data.Params[0], null, Channel.ChannelIds[SubscribeType.Channel], -1, true))); }
private IEnumerator SayHello() { yield return(new WaitForSeconds(1)); MessageBus.SendMessage(NetServerMessage.Get(API.Messages.READY_FOR_CHARACTER, QosType.Reliable)); }