Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. foreach (var nonTranTile in nonTransparentTiles)
  2. {
  3. int normalizedObsticlePosX = nonTranTile.pos.x - posX;
  4. int normalizedObsticlePosY = nonTranTile.pos.y - posY;
  5. int absNormalizedObsticlePosX = Mathf.Abs(normalizedObsticlePosX);
  6. int absNormalizedObsticlePosY = Mathf.Abs(normalizedObsticlePosY);
  7.  
  8. //Debug.Log("x: " + normalizedObsticlePosX + " y: " + normalizedObsticlePosY);
  9.  
  10. if (absNormalizedObsticlePosX > absNormalizedObsticlePosY)
  11. {
  12. for (int i = 1; i <= (radius - absNormalizedObsticlePosX - absNormalizedObsticlePosY); i++)
  13. {
  14. int normalizedShadowPosY = Mathf.RoundToInt(i * ((float)normalizedObsticlePosY / absNormalizedObsticlePosX)) + normalizedObsticlePosY;
  15. int normalizedShadowPosX = (int)(i * ((float)normalizedObsticlePosX / absNormalizedObsticlePosX ) + normalizedObsticlePosX);
  16. //Debug.Log(normalizedShadowPosX+ " " + (normalizedShadowPosY));
  17. visibleTilesBool[normalizedShadowPosX + radius, normalizedShadowPosY + radius] = false;
  18.  
  19.  
  20. normalizedShadowPosY = Mathf.RoundToInt((i * (float)normalizedObsticlePosY / absNormalizedObsticlePosX) + 1) - 1 + normalizedObsticlePosY;
  21. //Debug.Log(normalizedShadowPosX + " " + (normalizedShadowPosY));
  22. visibleTilesBool[normalizedShadowPosX + radius, normalizedShadowPosY + radius] = false;
  23. }
  24. }
  25. else
  26. {
  27. for (int i = 1; i <= (radius - absNormalizedObsticlePosX - absNormalizedObsticlePosY); i++)
  28. {
  29. int normalizedShadowPosX = Mathf.RoundToInt(i * ((float)normalizedObsticlePosX / absNormalizedObsticlePosY)) + normalizedObsticlePosX;
  30. int normalizedShadowPosY = (int)(i * ((float)normalizedObsticlePosY / absNormalizedObsticlePosY) + normalizedObsticlePosY);
  31. //Debug.Log(normalizedShadowPosX + " " + normalizedShadowPosY);
  32. visibleTilesBool[normalizedShadowPosX +radius, normalizedShadowPosY + radius] = false;
  33.  
  34. normalizedShadowPosX = Mathf.RoundToInt((i * (float)normalizedObsticlePosX / absNormalizedObsticlePosY) + 1) - 1 + normalizedObsticlePosX;
  35. //Debug.Log(normalizedShadowPosX + " " + normalizedShadowPosY);
  36. visibleTilesBool[normalizedShadowPosX + radius, normalizedShadowPosY + radius] = false;
  37. }
  38. }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement