// NOTE: Make the variable scopes explicit -Dean // Methods public Tyre(Quadrent quadrent_, World world_, Vector2 position_, float rotation_) : base(world_, TextureHandler.vehicleTyre, position_, rotation_, BodyType.Dynamic, 1, 1) { // Tyre constructor // ================ m_vehicleQuadrent = quadrent_; // TODO: Revert to original version -Dean if (m_vehicleQuadrent == Quadrent.TOP_LEFT || m_vehicleQuadrent == Quadrent.TOP_RIGHT) { m_isPowered = false; m_canSteer = true; } else { m_isPowered = true; m_canSteer = false; } }
// TODO: Add relevant sprites with getters/setters for UI // Methods public ControlScheme(Quadrent quadrent_) { // ControlScheme constructor // ================ m_quadrent = quadrent_; m_steeringValue = 0; m_braking = false; m_steeringMaxDistance = 150; // Set touch zone switch (m_quadrent) { case Quadrent.TOP_LEFT: m_touchZone = new TouchZone(new Vector2(0, 0), new Vector2(Settings.m_screenWidth / 2, Settings.m_screenHeight / 2)); break; case Quadrent.TOP_RIGHT: m_touchZone = new TouchZone(new Vector2(Settings.m_screenWidth / 2, 0), new Vector2(Settings.m_screenWidth, Settings.m_screenHeight / 2)); break; case Quadrent.BOTTOM_LEFT: m_touchZone = new TouchZone(new Vector2(0, Settings.m_screenHeight / 2), new Vector2(Settings.m_screenWidth / 2, Settings.m_screenHeight)); break; case Quadrent.BOTTOM_RIGHT: m_touchZone = new TouchZone(new Vector2(Settings.m_screenWidth / 2, Settings.m_screenHeight / 2), new Vector2(Settings.m_screenWidth, Settings.m_screenHeight)); break; } }
public Tile LoadTiles(string toLoad, Texture2D treeTexture, Texture2D bearTexture, List <Texture2D> pickups, Random rng, Quadrent quadrent) { Tile tile = new Tile(toLoad, treeTexture, bearTexture, pickups, rng, quadrent); return(tile); }
// Methods public Player(World world_, Texture2D cowTexture_, Texture2D texture_, Texture2D ButtonTexture, Vector2 ButtonPosition, float ButtonRotation, EntityStruct entityStruct_, float speed_, Quadrent quadrent_, int id_ = 999) { // Player constructor // ================ m_vehicle = new Vehicle(world_, texture_, entityStruct_); m_cow = new Sprite(cowTexture_, entityStruct_.GetPosition(), entityStruct_.GetRotationDegrees(), new Vector2(0.1f, 0.1f)); m_ReadyButton = new Button(ButtonTexture, ButtonPosition); m_ReadyButton.m_sprite.SetRotationDegrees(ButtonRotation); m_controlScheme = new ControlScheme(quadrent_); m_playerID = id_; m_currentCheckpoint = Checkpoint.First(Vector2.Zero); m_currentLap = 1; m_finished = false; m_ReadyUp = false; }
static Vector2 findNextPixel(Vector2 currentPixel, Texture2D circleTexture) { Quadrent quadrent = GetQuadrent(currentPixel, circleTexture); switch (quadrent) { case Quadrent.TopLeft: if (checkTop(currentPixel, circleTexture) != Color.clear) { return(new Vector2(currentPixel.x, currentPixel.y + 1)); } if (checkTopRight(currentPixel, circleTexture) != Color.clear) { return(new Vector2(currentPixel.x + 1, currentPixel.y + 1)); } if (checkRight(currentPixel, circleTexture) != Color.clear) { return(new Vector2(currentPixel.x + 1, currentPixel.y)); } break; case Quadrent.TopRight: if (checkBottom(currentPixel, circleTexture) != Color.clear) { return(new Vector2(currentPixel.x, currentPixel.y - 1)); } if (checkBottomRight(currentPixel, circleTexture) != Color.clear) { return(new Vector2(currentPixel.x + 1, currentPixel.y - 1)); } if (checkRight(currentPixel, circleTexture) != Color.clear) { return(new Vector2(currentPixel.x + 1, currentPixel.y)); } break; case Quadrent.BottomLeft: if (checkTop(currentPixel, circleTexture) != Color.clear) { return(new Vector2(currentPixel.x, currentPixel.y + 1)); } if (checkTopLeft(currentPixel, circleTexture) != Color.clear) { return(new Vector2(currentPixel.x - 1, currentPixel.y + 1)); } if (checkLeft(currentPixel, circleTexture) != Color.clear) { return(new Vector2(currentPixel.x - 1, currentPixel.y)); } break; case Quadrent.BottomRight: if (checkBottom(currentPixel, circleTexture) != Color.clear) { return(new Vector2(currentPixel.x, currentPixel.y - 1)); } if (checkBottomLeft(currentPixel, circleTexture) != Color.clear) { return(new Vector2(currentPixel.x - 1, currentPixel.y - 1)); } if (checkLeft(currentPixel, circleTexture) != Color.clear) { return(new Vector2(currentPixel.x - 1, currentPixel.y)); } break; } return(new Vector2(-1, -1)); }
//methods ----------------------------------------------------------------------- //method to load in tile information to be called in constructor public void LoadTile(string toLoad, Texture2D treeTexture, Texture2D bearTexture, Random rng, Quadrent quadrent) { switch (quadrent) { case (Quadrent.UL): XOffset = 0; YOffset = 0; break; case (Quadrent.UR): XOffset = 896; YOffset = 0; break; case (Quadrent.BL): XOffset = 0; YOffset = 896; break; case (Quadrent.BR): XOffset = 896; YOffset = 896; break; } // Create the data structures StreamReader load; load = new StreamReader(toLoad); try { string line = null; while ((line = load.ReadLine()) != null) { //if line lists object Type switch state to load that object if (line == "Trees:") { loadState = LoadState.tree; } else if (line == "PickUps:") { loadState = LoadState.pickUp; } else if (line == "Bears:") { loadState = LoadState.bear; } //if line has load information adds an object to list else { //split the line into information string[] split = line.Split(','); switch (loadState) { case LoadState.tree: trees.Add(new Tree ( Int32.Parse(split[0]) + XOffset, Int32.Parse(split[1]) + YOffset, Int32.Parse(split[2]), Int32.Parse(split[3]), treeTexture, Int32.Parse(split[4]), Int32.Parse(split[5]) ) ); break; case LoadState.bear: bears.Add(new Bear ( Int32.Parse(split[0]) + XOffset, Int32.Parse(split[1]) + YOffset, 70, Int32.Parse(split[3]), bearTexture, Int32.Parse(split[4]), Int32.Parse(split[5]), 50, Int32.Parse(split[7]), Int32.Parse(split[8]), rng ) ); break; case LoadState.pickUp: collectibles.Add(new PickUp ( Int32.Parse(split[1]) + XOffset, Int32.Parse(split[2]) + YOffset, Int32.Parse(split[3]), Int32.Parse(split[4]), pickupTextures[Int32.Parse(split[0])], Int32.Parse(split[0]) ) ); break; } } } } catch (Exception e) { Console.WriteLine("Error loading: " + e.Message + "\n"); } finally { load.Close(); } }
//constructor ------------------------------------------------------------------- public Tile(string toLoad, Texture2D treeTexture, Texture2D bearTexture, List <Texture2D> pickups, Random rng, Quadrent quadrent) { trees = new List <Tree>(); bears = new List <Bear>(); collectibles = new List <PickUp>(); pickupTextures = pickups; LoadTile(toLoad, treeTexture, bearTexture, rng, quadrent); }