/// METHOD: Draw - Called repeatedly by FishORama engine to draw token on screen /// DO NOT ALTER, and ensure this Draw method is in each token (fish) class /// Comments explain the code - read and try and understand each lines purpose public void Draw(IGetAsset pAssetManager, SpriteBatch pSpriteBatch) { Asset currentAsset = pAssetManager.GetAssetByID(textureID); // Get this token's asset from the AssetManager SpriteEffects horizontalDirection; // Stores whether the texture should be flipped horizontally if (xDirection < 0) { // If the token's horizontal direction is negative, draw it reversed horizontalDirection = SpriteEffects.FlipHorizontally; } else { // If the token's horizontal direction is positive, draw it regularly horizontalDirection = SpriteEffects.None; } // Draw an image centered at the token's position, using the associated texture / position pSpriteBatch.Draw(currentAsset.Texture, // Texture new Vector2(xPosition, yPosition * -1), // Position null, // Source rectangle (null) Color.White, // Background colour 0f, // Rotation (radians) new Vector2(currentAsset.Size.X / 2, currentAsset.Size.Y / 2), // Origin (places token position at centre of sprite) new Vector2(1, 1), // scale (resizes sprite) horizontalDirection, // Sprite effect (used to reverse image - see above) 1); // Layer depth }
/// <summary> /// Draw Method /// </summary> /// <param name="pAssetManager">Reference to the AssetManager which stores the assets required for drawing</param> /// <param name="pSpriteBatch">Reference to an open SpriteBatch, to add this token's texture to</param> public void Draw(IGetAsset pAssetManager, SpriteBatch pSpriteBatch) { Asset currentAsset = pAssetManager.GetAssetByID(textureID); // Get this token's asset from the AssetManager // Draw an image centered at the token's position, using the associated texture pSpriteBatch.Draw(currentAsset.Texture, position, null, Color.White, 0f, new Vector2(currentAsset.Size.X / 2, currentAsset.Size.Y / 2), new Vector2(1, 1), SpriteEffects.None, 1); }
/// METHOD: LoadContent - called once at start of program /// Create all token objects and 'insert' them into the FishORama engine public void LoadContent(IGetAsset pAssetManager) { // *** ADD YOUR NEW TOKEN CREATION CODE HERE *** // Code to create fish tokens and assign to thier variables goes here // Remember to insert each token into the kernel }