예제 #1
0
        /// <summary>
        /// Listening multicast to get reports and heartbeat
        /// </summary>
        private void StartListener()
        {
            // Create MulticastUdpClient
            udpClientWrapper = new MulticastUdpClient(
                IPAddress.Parse(PackageHost.GetSettingValue <string>(Constants.GATEWAY_MULTICAST_IP)),
                PackageHost.GetSettingValue <int>(Constants.GATEWAY_MULTICAST_PORT),
                IPAddress.Parse(PackageHost.GetSettingValue <string>(Constants.GATEWAY_IP)));

            // Instanciate equipement manager and controller
            equipementManager    = new EquipementManager(udpClientWrapper);
            equipementController = new EquipementController(equipementManager);

            //this.Test();

            // And get all equipements
            equipementManager.InitEquipements();

            // Listen for udp messages
            udpClientWrapper.UdpMessageReceived += OnUdpMessageReceived;
        }
예제 #2
0
    public override void UseItem(ItemContainer ic, PawnInstance owner, bool isQuantityPreviouslyEqualOne = false)
    {
        ItemContainer[] equipements = GameManager.Instance.GetFirstSelectedKeeper().GetComponent <Behaviour.Keeper>().Equipements;
        bool            isEquiped   = EquipementManager.CheckIfItemTypeIsInEquipement(equipements, ic);

        if (isEquiped)
        {
            int nbSlot = GameManager.Instance.GetFirstSelectedKeeper().GetComponent <Behaviour.Inventory>().Data.NbSlot;
            EquipementManager.UnequipItem(GameManager.Instance.GetFirstSelectedKeeper().GetComponent <Behaviour.Inventory>().Items, nbSlot, equipements, ((Equipment)ic.Item).constraint);

            // Unapply Bonus Stats
            EquipementManager.UnapplyStats(GameManager.Instance.GetFirstSelectedKeeper(), ((Equipment)ic.Item));
        }
        else
        {
            EquipementManager.EquipItem(GameManager.Instance.GetFirstSelectedKeeper().GetComponent <Behaviour.Inventory>().Items, equipements, ic);

            // Apply Bonus stats
            EquipementManager.ApplyStats(GameManager.Instance.GetFirstSelectedKeeper(), ((Equipment)ic.Item));
        }


        owner.GetComponent <Behaviour.Inventory>().UpdateInventories();
    }