/// <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; }
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(); }