Пример #1
0
    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);
        }
    }
Пример #2
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;
 }