Exemple #1
0
    // Start is called before the first frame update
    void Start()
    {
        _rich = new RichTextBuilder();

        _out.AddItem(_rich.B().C("61fa68").T("t5word").C("5df3f5").T("@").C("61fa68").T("tmac").C("6771fe").T(" ~/proj/craft").Print());
        _out.AddItem(_rich.B().C("e5b0ff").T("胖子").E().T("进行了").C("6771fe").T("魔法").E().T("攻击").Print());

        _battle = new BattleField();
        _battle.ForceAlly(1);
        _battle.ForceAlly(2, 3);
        _battle.ForceAlly(3, 2);

        _unit = new Unit("Player");
        _unit.UpdateBattleProperties();
        var hp     = _unit.GetProperty <MaxValueProperty>(PropertyType.Health);
        var cri    = _unit.GetProperty <ValueProperty>(PropertyType.CriticalRate);
        var cridmg = _unit.GetProperty <ValueProperty>(PropertyType.CriticalDamage);

        hp.Base     = 100;
        hp.Current  = 65;
        cri.Base    = 0.50f;
        cridmg.Base = 2.00f;
        _act        = _unit.AddSkill(new AttackAct("attack", 0, TargetType.One, new AttackFactors(magicFactorA: 0)));

        _unit2 = CreateTestUnit("史莱姆皇帝");
        _unit3 = CreateTestUnit("白金之星");

        _battle.AddUnit(_unit, 1, 1);

        _battle.AddUnit(_unit2, 2, 1);
        _battle.AddUnit(CreateTestUnit("金属史莱姆"), 2, 1);
        _battle.AddUnit(CreateTestUnit("岩石史莱姆"), 2, 1);
        _battle.AddUnit(CreateTestUnit("火焰史莱姆"), 2, 1);

        _battle.AddUnit(CreateTestUnit("野狼首领"), 2, 2);
        _battle.AddUnit(CreateTestUnit("野狼"), 2, 2);
        _battle.AddUnit(CreateTestUnit("野狼"), 2, 2);

        _battle.AddUnit(_unit3, 3, 2);

        ShowUnit(_unit);
        ShowUnit(_unit2);
        ShowUnit(_unit3);

        var playerForce  = _battle.AllTarget.GetForce(1);
        var enemiesForce = _battle.AllTarget.GetForce(2);

        _player.SetForce(playerForce, OnUnitClick);
        _enemies.SetForce(enemiesForce, OnUnitClick);
    }