internal override void Update(int x, int y) { src.val = (state ? src.max : 0); float transval = src.val / 4; BoundedFloat.MoveVals(ref src, ref poweroutL, transval); BoundedFloat.MoveVals(ref src, ref poweroutR, transval); BoundedFloat.MoveVals(ref src, ref poweroutU, transval); BoundedFloat.MoveVals(ref src, ref poweroutD, transval); PowerTransmitterData l = Terrain.TileAt(x - 1, y).tileattribs as PowerTransmitterData, r = Terrain.TileAt(x + 1, y).tileattribs as PowerTransmitterData, u = Terrain.TileAt(x, y + 1).tileattribs as PowerTransmitterData, d = Terrain.TileAt(x, y - 1).tileattribs as PowerTransmitterData; if (l != null) { BoundedFloat.MoveVals(ref poweroutL, ref l.powerinR, poweroutL.val); } if (r != null) { BoundedFloat.MoveVals(ref poweroutR, ref r.powerinL, poweroutR.val); } if (u != null) { BoundedFloat.MoveVals(ref poweroutU, ref u.powerinD, poweroutU.val); } if (d != null) { BoundedFloat.MoveVals(ref poweroutD, ref d.powerinU, poweroutD.val); } Terrain.TileAt(x, y).enumId = state ? TileID.SwitchOn : TileID.SwitchOff; }
protected void UpdateR(int x, int y) { PowerTransmitterData tr = Terrain.TileAt(x + 1, y).tileattribs as PowerTransmitterData; if (tr != null) { BoundedFloat.MoveVals(ref poweroutR, ref tr.powerinL, poweroutR.val); } PowerDrainData dr = Terrain.TileAt(x + 1, y).tileattribs as PowerDrainData; if (dr != null) { BoundedFloat.MoveVals(ref poweroutR, ref dr.powerinL, poweroutR.val); } }
protected void UpdateL(int x, int y) { PowerTransmitterData tl = Terrain.TileAt(x - 1, y).tileattribs as PowerTransmitterData; if (tl != null) { BoundedFloat.MoveVals(ref poweroutL, ref tl.powerinR, poweroutL.val); } PowerDrainData dl = Terrain.TileAt(x - 1, y).tileattribs as PowerDrainData; if (dl != null) { BoundedFloat.MoveVals(ref poweroutL, ref dl.powerinR, poweroutL.val); } }
protected void UpdateD(int x, int y) { PowerTransmitterData td = Terrain.TileAt(x, y - 1).tileattribs as PowerTransmitterData; if (td != null) { BoundedFloat.MoveVals(ref poweroutD, ref td.powerinU, poweroutD.val); } PowerDrainData dd = Terrain.TileAt(x, y - 1).tileattribs as PowerDrainData; if (dd != null) { BoundedFloat.MoveVals(ref poweroutD, ref dd.powerinU, poweroutD.val); } }
protected void UpdateU(int x, int y) { PowerTransmitterData tu = Terrain.TileAt(x, y + 1).tileattribs as PowerTransmitterData; if (tu != null) { BoundedFloat.MoveVals(ref poweroutU, ref tu.powerinD, poweroutU.val); } PowerDrainData du = Terrain.TileAt(x, y + 1).tileattribs as PowerDrainData; if (du != null) { BoundedFloat.MoveVals(ref poweroutU, ref du.powerinD, poweroutU.val); } }