private void CheckWaterState(bool hasWater) { if (hasWater) { if (isUnderWater == false) { if (OnWaterReachedBuilding != null) { OnWaterReachedBuilding(this); } EventLogManager.AddNewUnderwaterLog(this); } isUnderWater = true; enabled = false; } else { enabled = !TilesStandingOnAreUnderWater(); if (enabled) { isUnderWater = false; if (OnWaterIsGone != null) { OnWaterIsGone(); } } } }