Example #1
0
        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]));
        }
Example #2
0
        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)));
        }
Example #3
0
        private IEnumerator SayHello()
        {
            yield return(new WaitForSeconds(1));

            MessageBus.SendMessage(NetServerMessage.Get(API.Messages.READY_FOR_CHARACTER, QosType.Reliable));
        }