public void SetHUD(HUD hud, InventoryManager _inventoryManager) { isCurrentPlayer = true; _hud = hud; Connect(nameof(Agent.WeaponChangeSignal), _hud, nameof(HUD.UpdateWeapon)); Connect(nameof(Agent.HealthChangedSignal), _hud, nameof(HUD.UpdateHealth)); Connect(nameof(Agent.DefeatedAgentChangedSignal), _hud, nameof(HUD.UpdateDefeatedAgent)); setHealth(MaxHealth); setEnergy(MaxEnergy); for (int index = 0; index <= (int)Weapon.WeaponOrder.Left; index++) { Weapon.WeaponOrder weaponOrder = (Weapon.WeaponOrder)index; Weapon weapon = GetWeapons(weaponOrder)[GetCurrentWeaponIndex(weaponOrder)]; if (weapon != null) { ConnectWeapon(weapon, weaponOrder); EmitSignal(nameof(WeaponChangeSignal), CurrentInventory.GetItems()[CurrentInventory.GetEquipItemIndex(weaponOrder, GetCurrentWeaponIndex(weaponOrder))], weaponOrder); // Emit signal to update info weapon.EmitSignal(nameof(Weapon.AmmoChangeSignal), weapon.GetAmmo(), weapon.GetMaxAmmo(), weaponOrder); } else { EmitSignal(nameof(WeaponChangeSignal), null, weaponOrder); } } // Set up the player indicator screen ScreenIndicator screenIndicator = (ScreenIndicator)((PackedScene)GD.Load("res://ui/ScreenIndicator.tscn")).Instance(); AddChild(screenIndicator); screenIndicator.Initialize(this); // Setup Inventory UI _inventoryUI = (InventoryUI)_hud.GetNode("controlGame/InventoryUI"); _inventoryUI.Initialize(_inventoryManager, CurrentInventory); if (!_teamMapAI.IsConnected(nameof(TeamMapAI.TeamUnitUsageAmountChangeSignal), _hud, nameof(HUD.UpdateTeamUnitUsageAmount))) { _teamMapAI.Connect(nameof(TeamMapAI.TeamUnitUsageAmountChangeSignal), _hud, nameof(HUD.UpdateTeamUnitUsageAmount)); // Notify the HUD to change _teamMapAI.ChargeAmount(0); } }
/// <summary> /// Parameterized constructor /// </summary> /// <param name="presind">Presentation indicator</param> /// <param name="screenind">Screen indicator</param> public callback_num_pres_ind(PresentationIndicator presind, ScreenIndicator screenind) : base(TlvTag) { this.PresentationIndicator = presind; this.ScreenIndicator = screenind; }