public override void ExecuteCommand() { PrepareConfig(); string path = filename; var stream = PackageControl.Zip(".", path) as MemoryStream; //string text = Convert.ToBase64String(File.ReadAllBytes(path)); string text = Convert.ToBase64String(stream.ToArray()); int count = (int)(text.Length / maxLength) + 1; string[] parts = new string[count]; for (int i = 0; i < count; i++) { int index = i * maxLength; parts[i] = text.Substring(index, Math.Min(maxLength, text.Length - index)); Command c = new Package(Agent) { partsCount = count, data = parts[i], fileName = filename, order = i }; new Sender(Agent, sourceIp, sourcePort, CommandHandler.CommandToString(c)).Send(); Thread.Sleep(1); } // Tady se muze poslat check, jestli soubor dorazil v poradku (command ExistsFile, result true/false) }
static public void Serialize(ConfigData data, string path) { PackageControl.CreatePath(path); XmlSerializer serializer = new XmlSerializer(typeof(ConfigData)); using (TextWriter writer = new StreamWriter(path)) { serializer.Serialize(writer, data); } }
public void MakeRandomlyPositionedDrone() { ContentRef <Prefab> droneRef = ContentProvider.RequestContent <Prefab>(@"Data\drone.Prefab.res"); Prefab dronePrefab = droneRef.Res; float startX = (random.Next(0, 51) <= 50) ? WORLD_WIDTH : -WORLD_WIDTH; float endX = -startX; Vector3 startingPosition = new Vector3(startX, random.Next(-2000, -1000), 0); Vector3 targetPosition = new Vector3(endX, random.Next(-2000, -1000), 0); GameObject drone = dronePrefab.Instantiate(startingPosition); DroneControl droneControl = drone.GetComponent <DroneControl>(); droneControl.TargetPosition = targetPosition; var body = drone.GetComponent <RigidBody>(); //if (startX < 0) // body.LinearVelocity = new Vector2(200, 0); //else // body.LinearVelocity = new Vector2(-200 , 0); droneControl.SetFixedAngle(true); // Add package { ContentRef <Prefab> packageRef = ContentProvider.RequestContent <Prefab>(@"Data\package.Prefab.res"); Prefab packagePrefab = packageRef.Res; GameObject package = packagePrefab.Instantiate(); PackageControl packageControl = package.GetComponent <PackageControl>(); packageControl.AttachToDrone(droneControl); droneControl.AttachPackage(packageControl); Scene.Current.AddObject(package); } Scene.Current.AddObject(drone); }