Beispiel #1
0
        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)
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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);
        }