9 public override int SubMenuModeIndex
13 return (
int)this.mode;
18 public override int TopHeight(
Point p)
20 return (
int)p.cell.height;
25 public override bool FixedPointer
34 public override string OnSetSubMenuButton(
int a, UIButton b)
38 return "terrain" + a.ToEnum<
AM_Terrain.Mode>().ToString();
44 public override void OnClickSubMenu(
int a)
50 public override void OnProcessTiles(
Point point,
int dir)
52 if (this.timer < 0.1f)
56 if (this.lastPoint !=
null)
58 point = this.lastPoint;
62 this.lastPoint =
new Point(point);
65 Cell cell = point.cell;
66 EClass._map.ForeachSphere(point.x, point.z, (
float)
this.brushRadius, delegate(
Point p)
68 int num = p.Distance(point);
72 if (p.cell.IsFloorWater != cell.IsFloorWater)
76 int num2 = (int)(p.cell.height - cell.height);
77 if (!EInput.isShiftDown)
79 num2 = ((num2 >= 0) ? Mathf.Clamp(this.brushRadius - num, 1, num2) : Mathf.Clamp((
this.brushRadius - num) * -1, num2, -1));
82 cell.height -= (byte)num2;
83 if (p.cell._bridge != 0)
86 cell2.bridgeHeight -= (byte)num2;
91 int num3 = this.brushRadius - num;
92 if (EInput.isShiftDown)
100 if ((
int)p.cell.height + num3 < 0)
102 num3 = (int)(-(
int)p.cell.height);
104 else if ((
int)p.cell.height + num3 >
EClass.setting.maxGenHeight)
106 num3 = EClass.setting.maxGenHeight - (int)p.cell.height;
109 cell3.height += (byte)num3;
110 if (p.cell._bridge != 0)
113 cell4.bridgeHeight += (byte)num3;
116 p.RefreshNeighborTiles();
117 if (p.cell.room !=
null)
119 p.cell.room.SetDirty();
125 public AM_Terrain.Mode mode;