/// <summary> /// 1/4 単位の情報を取得します。 /// </summary> public int GetQuarter(Map.QuarterTile pos) { if (!this.HaveQuarter) { return(DX.FALSE); } else { return(this.Quarter[(int)pos]); } }
/// <summary> /// 指定した 1/4タイル に代入 /// </summary> public void SetQuarter(Map.QuarterTile pos, int value) { var values = new int[(int)Map.QuarterTile.Count]; if (!this.HaveQuarter) { this.Quarter = new int[(int)Map.QuarterTile.Count]; } //配列は参照型であるため、以前の情報と関連付けさせないようにコピーを作って丸ごと置き換える // 元配列 -> コピー -> 新配列 -> 変更 -> 元配列 Array.Copy(this.Quarter, values, values.Length); values[(int)pos] = value; this.Quarter = values; TileData.Editted?.Invoke(this, null); }