Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
        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);
            }
        }