void Start() { for (int i = 0; i < textures.Length; i++) { SpriteStruct spriteStruct = new SpriteStruct(); spriteStruct.sprite = Resources.LoadAll <Sprite>(textures[i].name); spriteStruct.countWidthSprite = Mathf.FloorToInt(textures[i].width / textureSize); spriteStruct.countHeightSprite = Mathf.FloorToInt(textures[i].height / textureSize); sprites.Add(spriteStruct); } }
public static bool isCollidingTopRight(SpriteStruct sprite) { Vector2_Double collisionTopRight = new Vector2_Double((sprite.position_wp.X + sprite.size.X) / World.BLOCK_SIZE, (sprite.position_wp.Y - 1) / World.BLOCK_SIZE); return(World.blocks[(int)collisionTopRight.X + (int)collisionTopRight.Y * (int)World.WORLD_SIZE.X].solid); }
public static bool isCollidingMiddleRightSide(SpriteStruct sprite) { Vector2_Double sideCollisionMiddleRight = new Vector2_Double((sprite.position_wp.X + sprite.size.X + 1) / World.BLOCK_SIZE, (sprite.position_wp.Y + (sprite.size.Y / 2)) / World.BLOCK_SIZE); return(World.blocks[(int)sideCollisionMiddleRight.X + (int)sideCollisionMiddleRight.Y * (int)World.WORLD_SIZE.X].solid); }
public static bool isCollidingBottomRightPlus(SpriteStruct sprite) // TODO { Vector2_Double gravityCollisionBottomRight = new Vector2_Double((sprite.position_wp.X + sprite.size.X) / World.BLOCK_SIZE, (sprite.position_wp.Y + sprite.size.Y + 5) / World.BLOCK_SIZE); return(World.blocks[(int)gravityCollisionBottomRight.X + (int)gravityCollisionBottomRight.Y * (int)World.WORLD_SIZE.X].solid); }
public static bool isCollidingBottomLeftSide(SpriteStruct sprite) { Vector2_Double sideCollisionBottomLeft = new Vector2_Double((sprite.position_wp.X - 1) / World.BLOCK_SIZE, (sprite.position_wp.Y + sprite.size.Y - (sprite.size.Y / 4)) / World.BLOCK_SIZE); return(World.blocks[(int)sideCollisionBottomLeft.X + (int)sideCollisionBottomLeft.Y * (int)World.WORLD_SIZE.X].solid); }