Ejemplo n.º 1
0
    public void Initialize(int unitID, int unitTier, Line line, FactionEnum faction, Material factionMaterial)
    {
        UnitID = unitID;

        if (unitTier < 0 || unitTier > unitTiers.Count - 1)
        {
            _unitData = unitTiers[0];
        }
        else
        {
            _unitData = unitTiers[unitTier];
        }

        unitHealth.Initialize(_unitData.HitPoints, false);

        Line    = line;
        Faction = faction;

        transform.position   = Line.GetSpawnPointPosition(Faction);
        _nextCheckpointIndex = 0;
        _destination         = Line.GetCheckpointPosition(_nextCheckpointIndex, Faction);
        transform.LookAt(_destination);

        if (colorSwitcher != null)
        {
            colorSwitcher.SwitchColors(factionMaterial.color);
        }
    }
Ejemplo n.º 2
0
    private void Upgrade(int tier)
    {
        float dmg = 0;

        if (tier > 0)
        {
            dmg = outpostTiers[_outpostTier].Health - GetHealth();
        }
        _outpostTier = tier;
        _outpostData = outpostTiers[_outpostTier];
        healthSlider.Initialize(_outpostData.Health, _outpostData.Health - dmg, true);
        healthText.text = ((int)_outpostData.Health - dmg).ToString();

        EventManager.Instance.ExecuteEvent <IOutpostUpgraded>((x, y) => x.OnOutpostUpgraded(_outpostData, Faction));
    }