8 public override bool IsFloating
18 public override bool IsGround
27 public override void OnChangePlaceState(PlaceState state)
29 if (state == PlaceState.installed)
31 this.ForeachDeck(delegate(
Point p)
34 p.cell.floorDir = ((this.owner.dir % 2 == 0) ? 0 : 1);
40 public override void OnRemovedFromZone()
42 if (this.owner.placeState == PlaceState.installed)
45 this.ForeachDeck(delegate(
Point p)
47 p.SetFloor(mat.id, 43);
53 public void ForeachDeck(Action<Point> action)
55 int num = 1 + ((this.owner.dir % 2 == 1 && this.owner.id !=
"boat3") ? 1 : 0);
56 int num2 = 1 + ((this.owner.dir % 2 == 0 && this.owner.id !=
"boat3") ? 1 : 0);
57 int x = this.owner.pos.x - this.owner.W + num;
58 int z = this.owner.pos.z + num2;
59 int mx = this.owner.pos.x - num;
60 int mz = this.owner.pos.z + this.owner.H - num2;
61 this.owner.pos.ForeachMultiSize(this.owner.W,
this.owner.H, delegate(
Point p,
bool main)
63 if (p.x > x && p.z >= z && p.x <= mx && p.z < mz)
74 this.owner.ForeachPoint(delegate(
Point p,
bool main)
76 if (p.cell.IsFloorWater)
81 return EClass.sources.materials.rows[mat];