Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- foreach (var nonTranTile in nonTransparentTiles)
- {
- int normalizedObsticlePosX = nonTranTile.pos.x - posX;
- int normalizedObsticlePosY = nonTranTile.pos.y - posY;
- int absNormalizedObsticlePosX = Mathf.Abs(normalizedObsticlePosX);
- int absNormalizedObsticlePosY = Mathf.Abs(normalizedObsticlePosY);
- //Debug.Log("x: " + normalizedObsticlePosX + " y: " + normalizedObsticlePosY);
- if (absNormalizedObsticlePosX > absNormalizedObsticlePosY)
- {
- for (int i = 1; i <= (radius - absNormalizedObsticlePosX - absNormalizedObsticlePosY); i++)
- {
- int normalizedShadowPosY = Mathf.RoundToInt(i * ((float)normalizedObsticlePosY / absNormalizedObsticlePosX)) + normalizedObsticlePosY;
- int normalizedShadowPosX = (int)(i * ((float)normalizedObsticlePosX / absNormalizedObsticlePosX ) + normalizedObsticlePosX);
- //Debug.Log(normalizedShadowPosX+ " " + (normalizedShadowPosY));
- visibleTilesBool[normalizedShadowPosX + radius, normalizedShadowPosY + radius] = false;
- normalizedShadowPosY = Mathf.RoundToInt((i * (float)normalizedObsticlePosY / absNormalizedObsticlePosX) + 1) - 1 + normalizedObsticlePosY;
- //Debug.Log(normalizedShadowPosX + " " + (normalizedShadowPosY));
- visibleTilesBool[normalizedShadowPosX + radius, normalizedShadowPosY + radius] = false;
- }
- }
- else
- {
- for (int i = 1; i <= (radius - absNormalizedObsticlePosX - absNormalizedObsticlePosY); i++)
- {
- int normalizedShadowPosX = Mathf.RoundToInt(i * ((float)normalizedObsticlePosX / absNormalizedObsticlePosY)) + normalizedObsticlePosX;
- int normalizedShadowPosY = (int)(i * ((float)normalizedObsticlePosY / absNormalizedObsticlePosY) + normalizedObsticlePosY);
- //Debug.Log(normalizedShadowPosX + " " + normalizedShadowPosY);
- visibleTilesBool[normalizedShadowPosX +radius, normalizedShadowPosY + radius] = false;
- normalizedShadowPosX = Mathf.RoundToInt((i * (float)normalizedObsticlePosX / absNormalizedObsticlePosY) + 1) - 1 + normalizedObsticlePosX;
- //Debug.Log(normalizedShadowPosX + " " + normalizedShadowPosY);
- visibleTilesBool[normalizedShadowPosX + radius, normalizedShadowPosY + radius] = false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement