コード例 #1
0
        public void OverflowMul()
        {
            int           a = (int)1e9, b = (int)1e9;
            ModifiableInt i = new ModifiableInt(a);

            i.Modifiers.Add(new MultiplyModifierInt(b));
            Assert.DoesNotThrow(() => i.Evaluate());
        }
コード例 #2
0
        public void Mul(
            [Random(-99999, 99999, 10)] int a,
            [Random(-99, 99, 5)] int b)
        {
            ModifiableInt i = new ModifiableInt(a);

            i.Modifiers.Add(new MultiplyModifierInt(b));
            Assert.AreEqual(a * b, i.Evaluate());
        }
コード例 #3
0
        public void Div(
            [Random(-99999, 99999, 10)] int a,
            [Values(-24, -99, -1, 1, 2, 3, 10, 99)] int b)
        {
            ModifiableInt i = new ModifiableInt(a);

            i.Modifiers.Add(new DivisionModifierInt(b));
            Assert.AreEqual(a / b, i.Evaluate());
        }
コード例 #4
0
        public void Sub(
            [Random(-99999, 99999, 10)] int a,
            [Random(-99999, 99999, 10)] int b)
        {
            ModifiableInt i = new ModifiableInt(a);

            i.Modifiers.Add(new SubtractiveModifierInt(b));
            Assert.AreEqual(a - b, i.Evaluate());
        }
コード例 #5
0
        public void ModifyInt_Simple()
        {
            Sheet sheet = new Sheet();

            //no changes
            int           setValue1 = 10;
            ModifiableInt intValue  = new ModifiableInt(setValue1);

            Assert.AreEqual(intValue.defaultValue, setValue1);
            Assert.AreEqual(intValue.CurrentValue, setValue1);

            //delta change
            int deltaValue1 = 2;

            intValue.ApplyModification(new IntModification(new List <string>(), deltaValue1, "", IntModificationType.Delta), sheet);
            Assert.AreEqual(intValue.CurrentValue, setValue1 + deltaValue1);

            //set value after delta change
            int setValue2 = 20;

            intValue.CurrentValue = setValue2;
            Assert.AreEqual(intValue.defaultValue, setValue2 - deltaValue1);
            Assert.AreEqual(intValue.CurrentValue, setValue2);

            //absolute change
            int absoluteValue = 15;

            intValue.ApplyModification(new IntModification(new List <string>(), absoluteValue, "", IntModificationType.Absolute), sheet);
            Assert.AreEqual(intValue.CurrentValue, absoluteValue);

            //set value after absolute change
            int setValue3 = 30;

            intValue.CurrentValue = setValue3;
            Assert.AreEqual(intValue.defaultValue, setValue3);
            Assert.AreEqual(intValue.CurrentValue, absoluteValue);

            //delta change on top of absolute change
            int deltaValue2 = -1;

            intValue.ApplyModification(new IntModification(new List <string>(), deltaValue2, "", IntModificationType.Delta), sheet);
            Assert.AreEqual(intValue.CurrentValue, absoluteValue + deltaValue2);

            //set value after absolute change
            int setValue4 = 40;

            intValue.CurrentValue = setValue4;
            Assert.AreEqual(intValue.defaultValue, setValue4);
            Assert.AreEqual(intValue.CurrentValue, absoluteValue + deltaValue2);
        }
コード例 #6
0
    public virtual void Awake()
    {
        // Any piece with a range needs a trigger collider for detecting things in range
        entitiesInTile = 0;

        damage      = new ModifiableInt(piece.data.baseDamage);
        attackSpeed = new ModifiableFloat(piece.data.baseAttackSpeed);
        range       = new ModifiableInt(piece.data.baseRange);

        if (piece.tile != null)
        {
            pieceTile = piece.tile;
        }

        if (GetComponent <SpriteRenderer>() != null)
        {
            pieceRenderer = GetComponent <SpriteRenderer>();
            if (piece.data.type == PieceType.GroundConstruction)
            {
                pieceRenderer.sortingOrder = 0;
            }
        }
    }
コード例 #7
0
ファイル: Stats.cs プロジェクト: GDMS2010/Roy2012
 public void SetParent(Stats _parent)
 {
     parent = _parent;
     value  = new ModifiableInt(AttributeModified);
 }
コード例 #8
0
ファイル: TestPlayer.cs プロジェクト: cjh880118/2DTile
 public void SetParent(TestPlayer _parent)
 {
     parent = _parent;
     value  = new ModifiableInt(AttributeModified);
 }
コード例 #9
0
 public void SetParent(PlayerController player)
 {
     parent = player;
     value  = new ModifiableInt(AttributeModified);
 }
コード例 #10
0
 public void SetParent(Player_Stats player_Stats)
 {
     parent = player_Stats;
     value  = new ModifiableInt(AttributeModified);
 }
コード例 #11
0
ファイル: InventoryManager.cs プロジェクト: cjh880118/2DTile
 public void SetParent(InventoryManager _parent)
 {
     parent = _parent;
     value  = new ModifiableInt(AttributeModified);
 }
コード例 #12
0
 public void SetParent(PlayerInventory _parent)
 {
     parent = _parent;
     value  = new ModifiableInt(AttributeModified);
 }
コード例 #13
0
ファイル: StatsObject.cs プロジェクト: zoqxlstm7/RPG-Tutorial
 private void OnModifiedValue(ModifiableInt value)
 {
     OnChangedStats?.Invoke(this);
 }
コード例 #14
0
 public void SetParent(ShipController _parent)
 {
     parent = _parent;
     value  = new ModifiableInt(AttributeModified);
 }
コード例 #15
0
 public Attribute(Player _parent)
 {
     parent = _parent;
     value  = new ModifiableInt(AttributeModified);
 }
コード例 #16
0
ファイル: Attribute.cs プロジェクト: MartinKhol/Coop-RPG
 public void SetParent(PlayerManager _player)
 {
     parent = _player;
     value  = new ModifiableInt(AttributeModified);
 }
コード例 #17
0
 public void SetParent(TempInfo _parent)
 {
     parent = _parent;
     value  = new ModifiableInt(AttributeModified);
 }
コード例 #18
0
        public void Solo([Random(100)] int a)
        {
            ModifiableInt i = new ModifiableInt(a);

            Assert.AreEqual(a, i.Evaluate());
        }