public coffeeMachine(Socket Connection, String IP, int ID) { this.connection = Connection; this.IP = IP; this.ID = ID; this.MAC = ""; this.state = DevStates.STATE_SET_ID; SetupDevice(); }
private void ChangeState(DevStates newState, DevStates oldState) { switch (oldState) { case DevStates.AnimatedSpriteTesting: manager.UnregisterSpriteFromUpdates("walking_women"); break; case DevStates.AnimatedMovingSpriteTesting: manager.UnregisterSpriteFromUpdates("walking_women2"); break; case DevStates.CompositeAnimatedSpriteTesting: manager.UnregisterSpriteFromUpdates("a_car_1"); break; case DevStates.CompositeMovingAnimatedSpriteTesting: manager.UnregisterSpriteFromUpdates("a_car_2"); break; } switch (newState) { case DevStates.AnimatedSpriteTesting: manager.RegisterSpriteForUpdates(animatedSprite1); break; case DevStates.AnimatedMovingSpriteTesting: manager.RegisterSpriteForUpdates(animatedSprite2); animatedSprite2.Position = Vector2.Zero; animatedSprite2.Rotation = 0f; break; case DevStates.SimpleMovingSpriteTesting: sprite2.Position = Vector2.Zero; sprite2.Rotation = 0f; break; case DevStates.CompositeMovingSpriteTesting: compositeSprite2.Position = Vector2.Zero; compositeSprite2.Rotation = 0f; break; case DevStates.CompositeAnimatedSpriteTesting: manager.RegisterSpriteForUpdates(compositeAnimatedSprite1); break; case DevStates.CompositeMovingAnimatedSpriteTesting: manager.RegisterSpriteForUpdates(compositeAnimatedSprite2); compositeAnimatedSprite2.Position = Vector2.Zero; compositeAnimatedSprite2.Rotation = 0f; break; } }
private void SetupDevice() { Debug.WriteLine("Local(" + IP + "): " + Convert.ToString(state)); switch (state) { case DevStates.STATE_SET_ID: { try { MemoryStream id_stream = new MemoryStream(); id_stream.Write(BitConverter.GetBytes(ID), 0, 1); TcpPacket tcp = new TcpPacket(IP, 0x02, 0x0B, id_stream.ToArray().Length, id_stream.ToArray(), readDelay); connection.Send(tcp.getBuffer()); } catch (Exception e) { Debug.WriteLine("ID conf failed" + e.GetBaseException()); state = DevStates.STATE_DONE; } } break; case DevStates.STATE_SET_TIME: { try { MemoryStream time_stream = new MemoryStream(); time_stream.Write(BitConverter.GetBytes(DateTime.Now.Hour), 0, 1); time_stream.Write(BitConverter.GetBytes(DateTime.Now.Minute), 0, 1); time_stream.Write(BitConverter.GetBytes(DateTime.Now.Second), 0, 1); time_stream.Write(BitConverter.GetBytes(DateTime.Now.Day), 0, 1); time_stream.Write(BitConverter.GetBytes(DateTime.Now.Month), 0, 1); time_stream.Write(BitConverter.GetBytes(DateTime.Now.Year % 100), 0, 1); TcpPacket tcp = new TcpPacket(IP, 0x02, 0x08, time_stream.ToArray().Length, time_stream.ToArray(), readDelay); connection.Send(tcp.getBuffer()); } catch (Exception e) { Debug.WriteLine("Time conf failed: " + e.GetBaseException()); } } break; case DevStates.STATE_GET_SYS_INFO: { try { int majorVersion = 1; int minorVersion = 16; MemoryStream version_stream = new MemoryStream(); version_stream.Write(BitConverter.GetBytes(majorVersion), 0, 1); version_stream.Write(BitConverter.GetBytes(minorVersion), 0, 1); TcpPacket tcp = new TcpPacket(IP, 0x02, 0x09, version_stream.ToArray().Length, version_stream.ToArray(), readDelay); connection.Send(tcp.getBuffer()); byte[] request = new byte[255]; connection.Receive(request); Debug.WriteLine("--------New Msg-------------"); Debug.WriteLine(BitConverter.ToString(request)); processPacket(request, request.Length); } catch (Exception e) { Debug.WriteLine("Sys conf failed: " + e.GetBaseException()); } } break; case DevStates.STATE_GET_MEM_INFO: { try { TcpPacket tcp = new TcpPacket(IP, 0x02, 0x0A, 0, null, readDelay); connection.Send(tcp.getBuffer()); byte[] request = new byte[255]; connection.Receive(request); Debug.WriteLine("--------New Msg-------------"); Debug.WriteLine(BitConverter.ToString(request)); processPacket(request, request.Length); } catch (Exception e) { Debug.WriteLine("Sys conf failed: " + e.GetBaseException()); } } break; case DevStates.STATE_GET_ADAP_SETT: { try { TcpPacket tcp = new TcpPacket(IP, 0x04, 0x0D, 0, null, readDelay); connection.Send(tcp.getBuffer()); byte[] request = new byte[255]; connection.Receive(request); Debug.WriteLine("--------New Msg-------------"); Debug.WriteLine(BitConverter.ToString(request)); processPacket(request, request.Length); } catch (Exception e) { Debug.WriteLine("Adap get failed: " + e.GetBaseException()); } } break; case DevStates.STATE_SET_FARM_INFO: break; case DevStates.STATE_DONE: { Debug.WriteLine("Setup Device Finished"); readMsg(); } break; } if (state < DevStates.STATE_DONE) { Task.Delay(500).Wait(); state++; SetupDevice(); } else { state = DevStates.STATE_SET_ID; } }
protected override void LoadContent() { //// other stuffs lastState = Keyboard.GetState(); currentState = DevStates.AnimatedSpriteTesting; lastMovingSpriteUpdate = TimeSpan.Zero; _spriteBatch = new SpriteBatch(GraphicsDevice); fontManager = new FontManager(GraphicsDevice); font = fontManager.GetFont("Content\\PlayfairDisplayRegular-ywLOY.ttf", 32); font2 = fontManager.GetFont("Content\\PlayfairDisplayRegular-ywLOY.ttf", 16); //// create and configure our sprite manager manager = new TextureManager(GraphicsDevice); manager.AutoTextureAtlasBalancingIntervalMilliseconds = 5000; //// register all of the textures we'll be using var animationSize = new Point(400, 450); var hullSize = new Point(288, 192); var hullSizeVector = new Vector2(hullSize.X, hullSize.Y); var tireSize = new Point(45, 45); var tireSizeVector = new Vector2(tireSize.X, tireSize.Y); var textures = new List <(string, Point?, string?)>() { ("TextureAtlasTesting\\11-6.jpg", ChooseRandomSize(), null), ("TextureAtlasTesting\\beautiful-sunset-33.jpg", ChooseRandomSize(), null), ("TextureAtlasTesting\\chloe4.jpg", ChooseRandomSize(), null), ("TextureAtlasTesting\\gorgeous-f2-goldendoodle-puppies-5a7de534c591b.jpg", ChooseRandomSize(), null), ("TextureAtlasTesting\\OIP.jpg", ChooseRandomSize(), null), ("TextureAtlasTesting\\R3d398e62bb9b79f54b5c49b4e5f32925.jpg", ChooseRandomSize(), null), ("TextureAtlasTesting\\Rdb919eda1b98929d3a17685a6d3d7ef8.jpg", ChooseRandomSize(), null), ("TextureAtlasTesting\\Refd96265ac3da1f5b5dc5277f1082d15.jpg", ChooseRandomSize(), null), ("AnimationTesting\\woman-silhouette-walk-cycle-vector_1.jpg", animationSize, "woman1"), ("AnimationTesting\\woman-silhouette-walk-cycle-vector_2.jpg", animationSize, "woman2"), ("AnimationTesting\\woman-silhouette-walk-cycle-vector_3.jpg", animationSize, "woman3"), ("AnimationTesting\\woman-silhouette-walk-cycle-vector_4.jpg", animationSize, "woman4"), ("AnimationTesting\\woman-silhouette-walk-cycle-vector_5.jpg", animationSize, "woman5"), ("AnimationTesting\\woman-silhouette-walk-cycle-vector_6.jpg", animationSize, "woman6"), ("SpriteTesting\\spr_sportscar_0.png", hullSize, "static_car"), ("CompositeSpriteTesting\\spr_sportscar_0_hull.png", hullSize, "car_hull"), ("CompositeSpriteTesting\\spr_sportscar_0_tire.png", tireSize, "car_tire"), ("CompositeSpriteTesting\\spr_sportscar_0_tire_2.png", tireSize, "car_tire2"), ("CompositeSpriteTesting\\spr_sportscar_0_tire_3.png", tireSize, "car_tire3"), ("CompositeSpriteTesting\\spr_sportscar_0_tire_4.png", tireSize, "car_tire4") }; var texturesLoadInfos = new List <TextureLoadInfo>(); for (var i = 0; i < textures.Count; i++) { texturesLoadInfos.Add(new TextureLoadInfo(textures[i].Item3 ?? $"image{i}", $"Content\\{textures[i].Item1}", textures[i].Item2)); } manager.LoadTextures(texturesLoadInfos); //// create sprites // Simple Sprites sprite1 = new Sprites.SimpleSprite(manager, "static_car1", "static_car", hullSizeVector); sprite2 = new Sprites.SimpleSprite(manager, "static_car2", "static_car", hullSizeVector); // Composite Sprites var tire1Location = new Vector2(43, 92); var tire2Location = new Vector2(213, 92); compositeSprite1 = new CompositeSprite( manager, "car_1", hullSizeVector, new Sprites.SimpleSprite(manager, "hull", "car_hull", hullSizeVector), new SimpleSprite(manager, "tire1", "car_tire", tire1Location, tireSizeVector), new SimpleSprite(manager, "tire2", "car_tire", tire2Location, tireSizeVector) ); compositeSprite2 = new CompositeSprite( manager, "car_2", hullSizeVector, new Sprites.SimpleSprite(manager, "hull", "car_hull", hullSizeVector), new Sprites.Sprite(manager, "tire1", "car_tire", tire1Location, tireSizeVector), new Sprites.Sprite(manager, "tire2", "car_tire", tire2Location, tireSizeVector) ); // Composite AnimatedSprites var tire_animation = new Animation( "tire", true, new Frame[] { new Frame("t1", "car_tire", 100), new Frame("t1", "car_tire2", 100), new Frame("t1", "car_tire3", 100), new Frame("t1", "car_tire4", 100) } ); compositeAnimatedSprite1 = new CompositeSprite( manager, "a_car_1", hullSizeVector, new Sprites.SimpleSprite(manager, "hull", "car_hull", hullSizeVector), new AnimatedSprite( manager, "tire1", tire1Location, tireSizeVector, animations: new Animation(tire_animation) ), new AnimatedSprite( manager, "tire2", tire2Location, tireSizeVector, animations: new Animation(tire_animation) ) ); compositeAnimatedSprite2 = new CompositeSprite( manager, "a_car_2", hullSizeVector, new Sprites.SimpleSprite(manager, "hull", "car_hull", hullSizeVector), new AnimatedSprite( manager, "tire1", tire1Location, tireSizeVector, animations: new Animation(tire_animation) ), new AnimatedSprite( manager, "tire2", tire2Location, tireSizeVector, animations: new Animation(tire_animation) ) ); // Animated Sprites var frameTime = 75; animatedSprite1 = new AnimatedSprite( manager, "walking_women", Vector2.Zero, new Vector2(animationSize.X, animationSize.Y), animations: new Animation( "walking", true, new Frame[] { new Frame("f1", "woman1", frameTime), new Frame("f2", "woman2", frameTime), new Frame("f3", "woman3", frameTime), new Frame("f4", "woman4", frameTime), new Frame("f5", "woman5", frameTime), new Frame("f6", "woman6", frameTime) } ) ); animatedSprite2 = new AnimatedSprite( manager, "walking_women2", Vector2.Zero, new Vector2(animationSize.X, animationSize.Y), animations: new Animation( "walking", true, new Frame[] { new Frame("f1", "woman1", frameTime), new Frame("f2", "woman2", frameTime), new Frame("f3", "woman3", frameTime), new Frame("f4", "woman4", frameTime), new Frame("f5", "woman5", frameTime), new Frame("f6", "woman6", frameTime) } ) ); ChangeState(currentState, DevStates.SimpleSpriteTesting); }
protected override void Update(GameTime gameTime) { manager.Update(gameTime); var current = Keyboard.GetState(); if (current.IsKeyDown(Keys.Left) && lastState.IsKeyUp(Keys.Left)) { var id = ((int)currentState) - 1; if (id < 0) { id = Enum.GetNames(typeof(DevStates)).Length - 1; } var last = currentState; currentState = (DevStates)id; lastMovingSpriteUpdate = gameTime.TotalGameTime; ChangeState(currentState, last); } else if (current.IsKeyDown(Keys.Right) && lastState.IsKeyUp(Keys.Right)) { var id = ((int)currentState) + 1; if (id >= Enum.GetNames(typeof(DevStates)).Length) { id = 0; } var last = currentState; currentState = (DevStates)id; lastMovingSpriteUpdate = gameTime.TotalGameTime; ChangeState(currentState, last); } else if (current.IsKeyDown(Keys.Up) && lastState.IsKeyUp(Keys.Up)) { manager.AutoTextureAtlasBalancingEnabled = !manager.AutoTextureAtlasBalancingEnabled; } lastState = current; if (currentState == DevStates.AnimatedMovingSpriteTesting && TimeHelpers.ElapsedMilliSeconds(lastMovingSpriteUpdate, gameTime.TotalGameTime) > 1000) { var changes = GetRandomChanges(); animatedSprite2.Position = changes.Item1; animatedSprite2.Rotation = changes.Item2; lastMovingSpriteUpdate = gameTime.TotalGameTime; } if (currentState == DevStates.SimpleMovingSpriteTesting && TimeHelpers.ElapsedMilliSeconds(lastMovingSpriteUpdate, gameTime.TotalGameTime) > 1000) { var changes = GetRandomChanges(); sprite2.Position = changes.Item1; sprite2.Rotation = changes.Item2; lastMovingSpriteUpdate = gameTime.TotalGameTime; } if (currentState == DevStates.CompositeMovingSpriteTesting && TimeHelpers.ElapsedMilliSeconds(lastMovingSpriteUpdate, gameTime.TotalGameTime) > 1000) { var changes = GetRandomChanges(); compositeSprite2.Position = changes.Item1; compositeSprite2.Rotation = changes.Item2; lastMovingSpriteUpdate = gameTime.TotalGameTime; } if (currentState == DevStates.CompositeMovingAnimatedSpriteTesting && TimeHelpers.ElapsedMilliSeconds(lastMovingSpriteUpdate, gameTime.TotalGameTime) > 1000) { var changes = GetRandomChanges(); compositeAnimatedSprite2.Position = changes.Item1; compositeAnimatedSprite2.Rotation = changes.Item2; lastMovingSpriteUpdate = gameTime.TotalGameTime; } base.Update(gameTime); }