public Achievement(Interfaces.IDataEntry data, CheckValue cval = CheckValue.ValueEqual, object val2Check = null) { if (val2Check != null && !(val2Check is string ^ val2Check is int)) { throw new Exception("Invalid Data type"); } if (data is Switch) { switch (cval) { case CheckValue.ValueEqual: _checkValue = CheckValue.ValueON; break; case CheckValue.ValueGreater: case CheckValue.ValueGreaterEqual: case CheckValue.ValueLess: case CheckValue.ValueLessEqual: throw new Exception("Invalid Check Type - Numeral Booleans cannot be used on Switches"); default: _checkValue = cval; break; } } if (data is Variable) { switch (cval) { case CheckValue.ValueOFF: case CheckValue.ValueON: throw new Exception("Invalid Check Type - Switch Checks cannot be used on Variables"); case CheckValue.ValueGreater: case CheckValue.ValueGreaterEqual: case CheckValue.ValueLess: case CheckValue.ValueLessEqual: if (val2Check is string) { throw new Exception("Invalid Check Value - Cannot test Numeral Booleans on String Variables"); } break; default: _checkValue = cval; break; } } _value = val2Check; _unlocked = false; _data = data; data.OnValueChange += ValueCheck; }
public Achievement(Interfaces.IDataEntry data, CheckValue cval = CheckValue.ValueEqual, object val2Check = null) { if (val2Check != null && !(val2Check is string ^ val2Check is int)) throw new Exception("Invalid Data type"); if (data is Switch) { switch (cval) { case CheckValue.ValueEqual: _checkValue = CheckValue.ValueON; break; case CheckValue.ValueGreater: case CheckValue.ValueLess: throw new Exception("Invalid Check Type - Numeral Booleans cannot be used on Switches"); default : _checkValue = cval; break; } } if (data is Variable) { switch (cval) { case CheckValue.ValueOFF: case CheckValue.ValueON: throw new Exception("Invalid Check Type - Switch Checks cannot be used on Variables"); case CheckValue.ValueGreater: case CheckValue.ValueLess: if (val2Check is string) throw new Exception("Invalid Check Value - Cannot test Numeral Booleans on String Variables"); break; default: _checkValue = cval; break; } } _value = val2Check; _unlocked = false; _data = data; data.OnValueChange += ValueCheck; }
public void RegisterData(Interfaces.IDataEntry data) { _data = data; data.OnValueChange += ValueCheck; }