예제 #1
0
 /// <summary>
 /// 1/4 単位の情報を取得します。
 /// </summary>
 public int GetQuarter(Map.QuarterTile pos)
 {
     if (!this.HaveQuarter)
     {
         return(DX.FALSE);
     }
     else
     {
         return(this.Quarter[(int)pos]);
     }
 }
예제 #2
0
                /// <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);
                }