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); }
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)); } } } }