// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // Constructor // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ /// <summary> /// コンストラクタ /// </summary> /// <param name="width"> /// [Range(0, 255)] /// [SafetyRange(0, 250)] /// 幅 /// </param> /// <param name="height"> /// [Range(0, 255)] /// [SafetyRange(0, 250)] /// 高さ /// </param> /// <exception cref="ArgumentOutOfRangeException">width、heightが指定範囲外の場合</exception> public HitExtendRange(byte width, byte height) { if (width < MinValue_Width || MaxValue_Width < width) { throw new ArgumentOutOfRangeException( ErrorMessage.OutOfRange(nameof(width), MinValue_Width, MaxValue_Width, width)); } if (height < MinValue_Height || MaxValue_Height < height) { throw new ArgumentOutOfRangeException( ErrorMessage.OutOfRange(nameof(height), MinValue_Height, MaxValue_Height, height)); } if (width < SafetyMinValue_Width || SafetyMaxValue_Width < width) { WodiLibLogger.GetInstance().Warning( WarningMessage.OutOfRange(nameof(width), SafetyMinValue_Width, SafetyMaxValue_Width, width)); } if (height < SafetyMinValue_Height || SafetyMaxValue_Height < height) { WodiLibLogger.GetInstance().Warning( WarningMessage.OutOfRange(nameof(height), SafetyMinValue_Height, SafetyMaxValue_Height, height)); } Width = width; Height = height; }
// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // Private Static Method // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ /// <summary> /// バージョンによる定義チェックを行い、警告メッセージを出力する /// </summary> /// <param name="value">変数アドレス値</param> private static void VersionCheck(int value) { var infoCode = value % 10; if (infoCode == 7 || infoCode == 8) { WodiLibLogger.GetInstance().Warning(VersionWarningMessage.NotUsingVariableAddress(value)); } }
// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // Constructor // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ /// <summary> /// コンストラクタ /// </summary> /// <param name="value"> /// [Range(int.MinValue, int.MaxValue)] /// [SafetyRange(0, 999999999)] /// キャラ動作指定コマンド設定値 /// </param> /// <exception cref="ArgumentOutOfRangeException">valueがキャラ動作指定コマンド設定値として不適切な場合</exception> public CharaMoveCommandValue(int value) { if (value < MinValue || MaxValue < value) { throw new ArgumentOutOfRangeException( ErrorMessage.OutOfRange(nameof(value), MinValue, MaxValue, value)); } if (value < SafetyMinValue || SafetyMaxValue < value) { WodiLibLogger.GetInstance().Warning( WarningMessage.OutOfRange(nameof(value), SafetyMinValue, SafetyMaxValue, value)); } Value = value; }
// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // Constructor // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ /// <summary> /// コンストラクタ /// </summary> /// <remarks> /// ファイル名が "XXX.common" ではない場合、警告ログを出力する。 /// </remarks> /// <param name="value">[NotNull][NotNewLine] ファイルパス</param> /// <exception cref="ArgumentNullException">valueがnullの場合</exception> /// <exception cref="ArgumentNewLineException"> /// valueに改行が含まれる場合、 /// または255byteを超える場合 /// </exception> /// <exception cref="ArgumentException"> /// valueがファイルパスとして不適切な場合 /// </exception> public CommonFilePath(string value) : base(value) { if (value is null) { throw new ArgumentNullException( ErrorMessage.NotNull(nameof(value))); } var fileName = Path.GetFileName(value); if (!FilePathRegex.IsMatch(fileName)) { WodiLibLogger.GetInstance().Warning( WarningMessage.UnsuitableFileName(value, FilePathRegex)); } }
// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // Constructor // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ /// <summary> /// コンストラクタ /// </summary> /// <param name="value"> /// [Range(_MinValue, _MaxValue)] /// [SafetyRange(_SafetyMinValue, _SafetyMaxValue)] /// 変数アドレス値 /// </param> /// <exception cref="ArgumentOutOfRangeException">value変数アドレス値として不適切な場合</exception> protected VariableAddress(int value) { if (value < _MinValue || _MaxValue < value) { throw new ArgumentOutOfRangeException( ErrorMessage.OutOfRange(nameof(value), _MinValue, _MaxValue, value)); } if (value < _SafetyMinValue || _SafetyMaxValue < value) { WodiLibLogger.GetInstance().Warning( WarningMessage.OutOfRange(nameof(value), _SafetyMinValue, _SafetyMaxValue, value)); } Value = value; }
// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // Private Static Method // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ /// <summary> /// バージョンによる定義チェックを行い、警告メッセージを出力する /// </summary> /// <param name="value">変数アドレス値</param> private static void VersionCheck(int value) { var infoCode = value % 10; if (VersionConfig.IsUnderVersion(WoditorVersion.Ver2_01)) { // 「イベントの座標」のうち、10の位が5または6のアドレスは // ウディタVer2.01未満では非対応 if (infoCode == 5 || infoCode == 6) { WodiLibLogger.GetInstance().Warning(VersionWarningMessage.NotUnderInVariableAddress( value, VersionConfig.GetConfigWoditorVersion(), WoditorVersion.Ver2_01)); } } if (infoCode == 7 || infoCode == 8) { WodiLibLogger.GetInstance().Warning(VersionWarningMessage.NotUsingVariableAddress(value)); } }
private CommonEventSpecialNumberArgDesc UpdateSpecialNumberArgDesc_MakeDescForElse( CommonEventArgType type, string argName, int initValue, List <int> numberArgList, List <string> stringArgList) { var stringArgListCount = stringArgList.Count; var numberArgListCount = numberArgList.Count; // 旧バージョンで作られたデータ限定?で文字列と数値の数が一致しないことがある。 // 基本システムVer2のコモンイベント14などで確認。 if (stringArgListCount != numberArgListCount) { WodiLibLogger.GetInstance().Warning( $"[Warning] 文字列引数リストと数値引数リストの長さが一致しません。(文字列数:{stringArgListCount}, 数値数:{numberArgListCount})"); } var loopTimes = stringArgListCount <= numberArgListCount ? stringArgListCount : numberArgListCount; var caseList = new List <CommonEventSpecialArgCase>(); for (var j = 0; j < loopTimes; j++) { var argCase = new CommonEventSpecialArgCase(numberArgList[j], stringArgList[j]); caseList.Add(argCase); } var desc = new CommonEventSpecialNumberArgDesc { ArgName = argName, InitValue = initValue }; desc.ChangeArgType(type, caseList); return(desc); }