コード例 #1
0
ファイル: EnemyBehaviour.cs プロジェクト: Kalavarda/Unity
    void Start()
    {
        _thisEnemy = SpawnerBehaviour.AllSpawned[gameObject];
        _dpsMeter  = HUDBehaviour.Instance.DpsMeter;

        if (_thisEnemy is IFighter fighter)
        {
            fighter.DagameReceived += damage => _dpsMeter.CurrentFight.AddDamage(damage);
        }

        if (_thisEnemy is ISkilled skilled)
        {
            foreach (var skill in skilled.Skills)
            {
                skill.OnSuccessUsed += Skill_OnSuccessUsed;
            }
        }
    }
コード例 #2
0
        /// <summary>
        /// Timer to update SpellLockWatcher and HealingGrid updates
        /// </summary>
        private void PulsetimerTick(object sender, EventArgs e)
        {
            try {
                if (Me.IsValid && StyxWoW.IsInGame)
                {
                    this.paint(); // SpellLockWatcher
                    label10.Text = DpsMeter._dpsMeterInitialized ? "Initialized" : "Shutdown";

                    if (DpsMeter._dpsMeterInitialized)
                    {
                        label13.Text = DpsMeter.GetDps(Me).ToString(CultureInfo.InvariantCulture);
                        label15.Text = DpsMeter.GetCombatTimeLeft(Me).Seconds != 0 ? DpsMeter.GetCombatTimeLeft(Me).Seconds.ToString(CultureInfo.InvariantCulture) : "0";
                    }

                    // HealingGrid
                    if (Me.CastingSpell != null)
                    {
                        if (Me.CurrentTarget != null)
                        {
                            this.label4.Text = "Casting: " + Me.CastingSpell.Name + " on " + Me.CurrentTarget;
                        }
                        else
                        {
                            this.label4.Text = "Casting: " + Me.CastingSpell.Name;
                        }
                    }
                    else
                    {
                        this.label4.Text = "Casting: " + "Waiting...";
                    }

                    label5.Text = "HealableUnits: " + HealableUnit.ListofHealableUnits.Count;

                    if (this.autoselectcurrenttarget.Checked)
                    {
                        this.TargetChange();
                    }
                }
            } catch { }
        }
コード例 #3
0
ファイル: HUDBehaviour.cs プロジェクト: Kalavarda/Unity
    private void ShowDps(DpsMeter dpsMeter)
    {
        var textDuration = DpsPanel.GetComponentsInChildren <Text>().First(t => t.name == "Dps_Duration");
        var textTotal    = DpsPanel.GetComponentsInChildren <Text>().First(t => t.name == "Dps_Total");
        var textDetails  = DpsPanel.GetComponentsInChildren <Text>().First(t => t.name == "Dps_Details");

        if (dpsMeter.CurrentFight == null)
        {
            textDuration.text = "-";
            textTotal.text    = "-";
            textDetails.text  = "-";
            return;
        }

        textDuration.text = "Duration: " + Math.Round(dpsMeter.CurrentFight.Duration.TotalSeconds) + " sec";
        textTotal.text    = "Total DPS: " + Math.Round(dpsMeter.CurrentFight.GetDpsOf(Player.Instance), 1);

        var detailedDps = dpsMeter.CurrentFight.GetDetailedDpsOf(Player.Instance);

        textDetails.text = string.Join(Environment.NewLine, detailedDps
                                       .OrderByDescending(p => p.Value)
                                       .Select(p => p.Key.Name + " : " + Math.Round(p.Value, 1)));
    }
コード例 #4
0
 private void button12_Click(object sender, EventArgs e)
 {
     DpsMeter.Update();
 }
コード例 #5
0
 private void button11_Click(object sender, EventArgs e)
 {
     DpsMeter.Shutdown();
 }
コード例 #6
0
 private void button10_Click(object sender, EventArgs e)
 {
     DpsMeter.Initialize();
 }