Пример #1
0
    public static bool IsBlockPoweredUp(Vector3i _blockPos, int _clrIdx)
    {
        WorldBase world = GameManager.Instance.World;

        if (world.IsRemote())
        {
            //Use HasActivePower power instead since directly powering blocks doesnt work on servers.
            return(BlockHealingPod.HasActivePower(world, _clrIdx, _blockPos));
        }
        TileEntityPowered tileEntityPowered = (TileEntityPowered)GameManager.Instance.World.GetTileEntity(_clrIdx, _blockPos);

        if (tileEntityPowered != null)
        {
            if (tileEntityPowered.IsPowered)
            {
                DebugMsg("Block Power Is On");
                return(true);
            }
        }
        if (BlockHealingPod.IsSpRemotePowerAllowed(_blockPos))
        {
            DebugMsg("No direct power found, checking for remote power");
            return(BlockHealingPod.HasActivePower(world, _clrIdx, _blockPos));
        }
        DebugMsg("Block Power Is Off");
        return(false);
    }
Пример #2
0
 void Update()
 {
     curIsPowered = BlockHealingPod.IsBlockPoweredUp(blockPos, cIdx);
     if (crossLitMat != null && curIsPowered != isPowered)
     {
         isPowered = curIsPowered;
         if (isPowered)
         {
             {
                 crossLitMat.EnableKeyword("_EMISSION");
                 crossLitMat.SetColor("_EmissionColor", new Color(1, 1, 1));
             }
         }
         else
         {
             {
                 crossLitMat.EnableKeyword("_EMISSION");
                 crossLitMat.SetColor("_EmissionColor", new Color(0, 0, 0));
             }
         }
     }
 }