Exemplo n.º 1
0
        public void DeleteItem(Magnet magnet)
        {
            var provider = _providers.First(p => p.CanHandle(magnet));

            History.DeleteItem(magnet);
            provider.DeleteFile(magnet);
        }
Exemplo n.º 2
0
        public void StartFile(Magnet magnet)
        {
            if (!Drive.IsReady)
            {
                MessageBox.Show("Не удалось подключить виртуальный диск. Попробуйте перезагрузить компьютер.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            try
            {
                var provider = FsProviders.First(p => p.CanHandle(magnet));

                _startItem = provider.StartItem(magnet);

                if (_statusForm == null)
                {
                    _statusForm = new FrmStatus(_ao);
                }

                if (!_startItem.ReadyToStart)
                {
                    _statusForm.UpdateAndShow(_startItem);
                }
            }
            catch (Exception x)
            {
                MessageBox.Show("Не удается начать загрузку: " + x.Message);
            }
        }
Exemplo n.º 3
0
        private void CopyDataDataReceived(object sender, DataReceivedEventArgs e)
        {
            var data = e.Data.ToString();

            if (data == "SHOW")
            {
                if (!OpenStartPage())
                {
                    _icon.ShowBalloonTip(5000, "Я здесь!", "Клиент LiveDC уже запущен", ToolTipIcon.None);
                }
                return;
            }

            if (data.StartsWith("magnet:"))
            {
                var magnet = Magnet.Parse(data);
                StartFile(magnet);
                return;
            }

            if (data.EndsWith(".torrent"))
            {
                StartFile(data);
            }
        }
Exemplo n.º 4
0
        public void ValueTypes()
        {
            var args = new string[] {
                "--string-value", $"{v1}",
                "--char-value", $"{v2}",
                "--integer-value", $"{v3}",
                "--long-value", $"{v4}",
                "--boolean-value", "true",
                "--float-value", $"{v5}",
                "--double-value", $"{v6}",
                "--decimal-value", $"{v7}"
            };

            var obj = new TypeObject();

            Magnet.Attract(obj, args);

            Assert.Equal(v1, obj.StringValue);
            Assert.Equal(v2, obj.CharValue);
            Assert.Equal(v3, obj.IntegerValue);
            Assert.Equal(v4, obj.LongValue);
            Assert.True(obj.BooleanValue);
            Assert.Equal(v5, obj.FloatValue);
            Assert.Equal(v6, obj.DoubleValue);
            Assert.Equal(v7, obj.DecimalValue);
        }
Exemplo n.º 5
0
    void FixedUpdate()
    {
        Collider[] hits = Physics.OverlapSphere(this.transform.position, effectRange, layersToHit, QueryTriggerInteraction.Ignore);
        if (hits.Length > 0)
        {
            List <Rigidbody> RBs = new List <Rigidbody> ();
            foreach (Collider c in hits)
            {
                if (c.attachedRigidbody != null && !RBs.Contains(c.attachedRigidbody))
                {
                    Magnet m = c.attachedRigidbody.GetComponent <Magnet> ();
                    if (m != null)
                    {
                        RBs.Add(c.attachedRigidbody);
                        Vector3 closestPoint = c.ClosestPointOnBounds(myRB.worldCenterOfMass);
                        Vector3 forceVector  = (myRB.worldCenterOfMass - closestPoint).normalized * effectStrength / Mathf.Max((myRB.worldCenterOfMass - closestPoint).magnitude, minDistance) * (this.magnetType == MagnetType.Repel ? -1 : 1);

                        c.attachedRigidbody.AddForceAtPosition(forceVector, closestPoint, ForceMode.Force);
                    }
                }
                else
                {
                }
            }
        }
    }
Exemplo n.º 6
0
    public override void OnInspectorGUI()
    {
        Magnet currentScript = (Magnet)target;

        currentScript.enabled = EditorGUILayout.Toggle("Enabled", currentScript.enabled);
        currentScript.attract = EditorGUILayout.Toggle("Attract/Repel", currentScript.attract);

        currentScript.magnetForce = EditorGUILayout.FloatField("Force", currentScript.magnetForce);
        currentScript.innerRadius = EditorGUILayout.FloatField("Inner Radius", currentScript.innerRadius);
        currentScript.outerRadius = EditorGUILayout.FloatField("Outer Radius", currentScript.outerRadius);

        currentScript.onlyAffectInteractableItems = EditorGUILayout.Toggle("Only Interactable Items", currentScript.onlyAffectInteractableItems);

        if (currentScript.onlyAffectInteractableItems)
        {
            EditorGUILayout.HelpBox("Will only affect objects with the InteractableItem.cs script attached", MessageType.Warning);
        }

        currentScript.realismMode = EditorGUILayout.Toggle("Realism Mode", currentScript.realismMode);

        if (currentScript.realismMode)
        {
            EditorGUILayout.HelpBox("Force accounts for object distance as well, increasing realism of effect\n\nAttempts to obey Newton's second law. Thanks to Marc Leatham for his assistance with this.", MessageType.Info);
        }
    }
Exemplo n.º 7
0
    /// <summary>
    /// Обработка соприкосновения с игроком.
    /// </summary>
    /// <param name="col">
    /// // Коллайдер на который сработал тригер.
    /// </param>
    private void OnTriggerEnter2D(Collider2D col)
    {
        // Проверка на принадлежность коллайдера игроку.
        PlayerController pl = col.GetComponent <PlayerController>();

        // Инициализация магнита.
        Magnet magnete = col.GetComponent <Magnet>();

        if (pl != null)
        {
            // Прибавляем деньги если это игрок.
            player_money.coin += cost;

            // Воспроизводим звук монетки.
            GameObject.FindGameObjectWithTag("Sounds").GetComponent <SoundScript>().GetCoinSound();

            // Меняем надпись кол-ва собранных монет.
            GameObject.FindGameObjectsWithTag("Player")[0].GetComponent <player_money>().TextMoney.text = player_money.coin.ToString();

            // Уничтожаем объект.
            Destroy(gameObject);
        }
        else if (magnete != null)
        {
            // Если это магнит то добавляем объект в поле магниту.
            magnete.AddToField(gameObject);
        }
    }
Exemplo n.º 8
0
    /*
     * Since we only have monopole magnets the formula
     * F = (permeability * magnet1 force * magnet2 force) / 4 * pi * r^2
     * can be used
     * code from https://steemit.com/programming/@kubiak/magnet-simulation-in-unity
     */
    Vector3 CalculateGilbertForce(Magnet magnet1, Magnet magnet2)
    {
        Vector3 m1 = magnet1.transform.position;
        // apply force based on closest magnet point to player
        Vector3 m2 = Physics2D.ClosestPoint(m1, magnet2.playerRb.GetComponent <Collider2D>());
        // apply force based on cog of rigidbody
        // Vector3 m2 = magnet2.transform.position;
        Vector3 r     = m2 - m1;
        float   dist  = r.magnitude;
        float   part0 = permeability * magnet1.magnetForce * magnet2.magnetForce;
        float   part1 = 4 * Mathf.PI * dist;

        if (part1 == 0)
        {
            return(Vector3.zero);
        }

        float f = (part0 / part1);

        if (magnet1.pole == magnet2.pole)
        {
            f        = -f;
            samePole = true;
        }
        else
        {
            samePole = false;
        }

        return(f * r.normalized);
    }
Exemplo n.º 9
0
 void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
 }
Exemplo n.º 10
0
 /// <summary>
 /// Start is called on the frame when a script is enabled just before
 /// any of the Update methods is called the first time.
 /// </summary>
 void Start()
 {
     gm           = FindObjectOfType <GameManager>();
     levelManager = FindObjectOfType <LevelManager>();
     ui           = FindObjectOfType <UIManager>();
     magnet       = FindObjectOfType <Magnet>();
 }
Exemplo n.º 11
0
        protected void Awake()
        {
            _magnet = GetComponent <Magnet>();

            var minPositionCollider = MinPosition.GetComponent <Collider>();
            var maxPositionCollider = MaxPosition.GetComponent <Collider>();

            var slider = GetComponent <VRTK_Slider>();

            slider.minimumLimit = minPositionCollider ? minPositionCollider : MinPosition.AddComponent <BoxCollider>();
            slider.maximumLimit = maxPositionCollider ? maxPositionCollider : MaxPosition.AddComponent <BoxCollider>();

            var interactableObject = GetComponent <VRTK_InteractableObject>();

            interactableObject.isGrabbable = true;

            interactableObject.InteractableObjectGrabbed += (sender, e) =>
            {
                _grabbingObject = e.interactingObject;
                StartMoving();
                StartCoroutine(TriggerHapticPulse());
            };

            interactableObject.InteractableObjectUngrabbed += (sender, e) => StopMoving();
        }
Exemplo n.º 12
0
    // Use this for initialization
    void Start()
    {
        spawnNum++;
        this.gameObject.name = "Pickup " + spawnNum;

        thisMag = this.gameObject.GetComponent <Magnet> ();
    }
Exemplo n.º 13
0
    void OnTriggerExit(Collider other)
    {
        Magnet otherMagnet = null;

        otherMagnet = other.GetComponent <Magnet>();
        closeMagnets.Remove(otherMagnet);
    }
Exemplo n.º 14
0
        static public void UseMagnet()
        {
            WoWPoint Magnets = new WoWPoint(-416.3247, 1627.922, 18.6334);
            WoWItem  Magnet;

            if ((Me.Location.Distance(Magnets) < 100) && HasQuest(27992) && !IsQuestCompleted(27992))
            {
                ObjectManager.Update();
                Magnet = ObjectManager.GetObjectsOfType <WoWItem>()
                         .Where(u => (u.Entry == 62829)).First();
                if (Magnet.Cooldown == 0)
                {
                    if (inCombat)
                    {
                        return;
                    }
                    WoWMovement.MoveStop();
                    if (Me.Mounted)
                    {
                        Mount.Dismount();
                    }
                    Magnet.Use();
                }
            }
        }
Exemplo n.º 15
0
    void Start()
    {
        rb2d             = GetComponent <Rigidbody2D>();
        coll             = GetComponent <Collider2D>();
        Anim             = GetComponent <Animator>();
        audioSource      = GetComponent <AudioSource>();
        shieldController = GetComponentInChildren <PlayerShield>();
        magnetController = GetComponentInChildren <Magnet>();

        AnimationLoseBee       = transform.Find("LoseAnimation_Bee").GetComponent <PlayableDirector>();
        AnimationLoseExplosion = transform.Find("LoseAnimation_Explosion").GetComponent <PlayableDirector>();
        AnimationWin           = transform.Find("WinAnimation").GetComponent <PlayableDirector>();

        Transform jetpack = transform.Find("Jetpack");

        burstAnim1 = jetpack.Find("JetpackBurst1").GetComponent <Animator>();
        burstAnim2 = jetpack.Find("JetpackBurst2").GetComponent <Animator>();

        smokes = jetpack.GetComponentsInChildren <ParticleSystem>();

        // if(DataManager.Shield)
        shieldController.Show();

        // if(DataManager.MagnetCount > 0)
        magnetController.Show();
    }
Exemplo n.º 16
0
    private void OnCollisionEnter(Collision collision)
    {
        Debug.Log("Hit something");

        if ((collision.gameObject.tag == "Player1" || collision.gameObject.tag == "Player2") && (collision.gameObject.transform.position.y - gameObject.transform.position.y < -0.9f))
        {
            collision.gameObject.GetComponent <PlayerMagnet>().Die();
        }

        if (collision.gameObject.tag == "Player1")
        {
            playerOneTouching = true;
        }

        else if (collision.gameObject.tag == "Player2")
        {
            playerTwoTouching = true;
        }

        if (collision.gameObject.tag == "Player1" || collision.gameObject.tag == "Player2")
        {
            Magnet magnet = collision.gameObject.GetComponentInChildren <Magnet>();
            if (magnet.MagnetForce > 0f)
            {
                rb.isKinematic = false;
            }
            else
            {
                objectsMoving.Add(collision.gameObject.name);

                rb.isKinematic = true;
            }
        }
    }
Exemplo n.º 17
0
 // Update is called once per frame
 void Update()
 {
     if (playerOneTouching)
     {
         Magnet magnet = playerOne.GetComponentInChildren <Magnet>();
         if (playerOne.GetComponent <Rigidbody>().velocity.magnitude <= 0.01f)
         {
             rb.isKinematic = false;
         }
         else if (magnet.MagnetForce > 0f)
         {
             rb.isKinematic = false;
         }
         else
         {
             rb.isKinematic = true;
         }
     }
     if (playerTwoTouching)
     {
         Magnet magnet = playerTwo.GetComponentInChildren <Magnet>();
         if (playerTwo.GetComponent <Rigidbody>().velocity.magnitude <= 0.01f)
         {
             rb.isKinematic = false;
         }
         else if (magnet.MagnetForce > 0f)
         {
             rb.isKinematic = false;
         }
         else
         {
             rb.isKinematic = true;
         }
     }
 }
Exemplo n.º 18
0
        public void UpdateMagnet_OnlyCategoryChanges()
        {
            var classify = new Mock <IClassify1>();

            var cat    = TestCommon.RandomInt();
            var rule   = TestCommon.RandomInt();
            var name   = TestCommon.RandomString(10);
            var magnet = new Magnet
            {
                Id       = 0,
                Name     = name,
                Rule     = rule,
                Category = cat
            };

            var magnets = new Magnets(classify.Object);

            // new category
            var cat1 = TestCommon.RandomInt();

            while (cat == cat1)
            {
                cat1 = TestCommon.RandomInt();
            }

            classify.Setup(c => c.UpdateMagnet(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>())).Returns(true);
            Assert.True(magnets.UpdateMagnet(magnet, name, rule, cat1));

            // it was never updated...
            classify.Verify(m => m.UpdateMagnet(magnet.Id, name, rule, cat1), Times.Once);
        }
Exemplo n.º 19
0
 private void Start()
 {
     MagnetScript         = GlowObject.GetComponent <Magnet>();
     ListOfSpawnedObjects = SpawnContainer.GetComponent <SpawnedObjects>().BottlesOnScene;
     HealthValue.text     = " " + Health;
     HitSound             = GetComponent <AudioSource>();
 }
Exemplo n.º 20
0
 public void AddItem(Magnet magnet)
 {
     DeleteItem(magnet);
     _historyList.Add(new LiveHistoryItem {
         CreateDate = DateTime.Now, Magnet = magnet
     });
     OnHistoryChanged();
 }
Exemplo n.º 21
0
 // Use this for initialization
 void Start()
 {
     magnetObject             = GameObject.FindGameObjectWithTag("Magnet");
     magnet                   = magnetObject.GetComponentInChildren <Magnet>();
     magnet.magnetFiredEvent += Magnet_MagnetFiredEvent;
     rb = this.GetComponent <Rigidbody2D>();
     lr = this.gameObject.GetComponentInChildren <LineRenderer>();
 }
Exemplo n.º 22
0
        public SimpleStartItem(Magnet magnet, LiveDcDrive drive)
        {
            Magnet = magnet;
            _drive = drive;

            Closed = true;
            OpenFile();
        }
Exemplo n.º 23
0
 // Start is called before the first frame update
 void Start()
 {
     rigidbody  = GetComponent <Rigidbody2D>();
     ship       = GetComponent <SpriteRenderer>();
     laserCanon = GetComponent <LaserCanon>();
     magnet     = GetComponent <Magnet>();
     Active     = false;
 }
Exemplo n.º 24
0
    void Start()
    {
        magnet       = GetComponent <Magnet>();
        lineRenderer = GetComponent <LineRenderer>();

        Assert.IsNotNull(magnet, "Could not find Magnet component");
        Assert.IsNotNull(lineRenderer, "Could not find LineRenderer component");
    }
Exemplo n.º 25
0
        public void ctor_default_values()
        {
            var magnet = new Magnet();

            Assert.That(magnet.Id == -1);
            Assert.That(magnet.Name == "");
            Assert.That(magnet.Category == -1);
            Assert.That(magnet.Rule == -1);
        }
Exemplo n.º 26
0
    void Awake()
    {
        if (Instance == null)
        {
            Instance = this;
        }

        boxCollider = GetComponent <BoxCollider>();
    }
Exemplo n.º 27
0
        public DcStartItem(Magnet magnet, DcProvider provider)
        {
            Progress  = float.PositiveInfinity;
            Magnet    = magnet;
            _provider = provider;
            var existingItem = _provider.Engine.Share.SearchByTth(magnet.TTH);

            if (existingItem != null)
            {
                Closed = true;
                ShellHelper.Start(existingItem.Value.SystemPath);
                return;
            }

            if (_provider.HubManager.InitializationCompleted && !_provider.Engine.Active)
            {
                MessageBox.Show("Не удалось установить соединение ни с одним из хабов. Проверьте сетевое подключение.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Closed = true;
                return;
            }

            var item = _provider.Engine.DownloadManager.GetDownloadItem(magnet.TTH);

            if (_currentDownload != null && _currentDownload != item)
            {
                _provider.Engine.PauseDownload(_currentDownload);
            }

            if (item != null)
            {
                if (item.Priority == DownloadPriority.Pause)
                {
                    item.Priority = DownloadPriority.Normal;
                }

                _currentDownload = item;
                Closed           = true;
                ShellHelper.Start(Path.Combine(_provider.LiveClient.Drive.DriveRoot, _currentDownload.Magnet.FileName));
                return;
            }

            var cacheRoot = _provider.LiveClient.ReserveCacheSpace(magnet.Size);

            if (cacheRoot == null)
            {
                MessageBox.Show("Недостаточно свободного места на диске.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Closed = true;
                return;
            }

            _provider.LiveClient.History.AddItem(magnet);

            _currentDownload = _provider.Engine.DownloadFile(magnet, Path.Combine(cacheRoot, magnet.FileName));
            _currentDownload.LogSegmentEvents = true;

            new ThreadStart(FormThread).BeginInvoke(null, null);
        }
Exemplo n.º 28
0
        public Stream GetStream(Magnet magnet)
        {
            if (!CanHandle(magnet))
            {
                return(null);
            }

            return(_engine.GetStream(magnet));
        }
Exemplo n.º 29
0
    // Use this for initialization
    void Start()
    {
        coins = 0;

        gui = GameObject.Find("GUI").GetComponent<GuiManager>();
        rb = GetComponent<Rigidbody>();
        magnetScrip = Magnet.GetComponent<Magnet>();
        levelController = TheLevel.GetComponent<LevelController>();
    }
Exemplo n.º 30
0
    public override void Use()
    {
        base.Use();
        Vector3 manpos = GameObject.FindGameObjectWithTag(playerName[_number]).transform.position;
        manpos.x += 0.4f * GameObject.FindGameObjectWithTag(playerName[_number]).GetComponent<Rigidbody2D>().velocity.x;
        manpos.y += 0.4f * GameObject.FindGameObjectWithTag(playerName[_number]).GetComponent<Rigidbody2D>().velocity.y;

        magInstance = GameObject.Instantiate(Main.instance.magnet, manpos, Quaternion.identity) as Magnet;
    }
Exemplo n.º 31
0
 public ContentItem(DownloadItem item)
 {
     _magnet        = item.Magnet;
     _systemPaths   = item.SaveTargets.ToArray();
     _virtualPath   = "Downloads\\" + _magnet.FileName;
     _createDate    = DateTime.Now;
     _uploadedBytes = 0;
     _fileLastWrite = DateTime.MinValue;
     _lastAccess    = new DateTime();
 }
Exemplo n.º 32
0
    public override void Use()
    {
        base.Use();
        Vector3 manpos = GameObject.FindGameObjectWithTag(playerName[_number]).transform.position;

        manpos.x += 0.4f * GameObject.FindGameObjectWithTag(playerName[_number]).GetComponent <Rigidbody2D>().velocity.x;
        manpos.y += 0.4f * GameObject.FindGameObjectWithTag(playerName[_number]).GetComponent <Rigidbody2D>().velocity.y;

        magInstance = GameObject.Instantiate(Main.instance.magnet, manpos, Quaternion.identity) as Magnet;
    }
Exemplo n.º 33
0
    void Update()
    {
        if (attachedMagnet == null) {
            Vector3 thisPos = transform.position;
            foreach (Magnet magnet in closeMagnets) {
                Vector3 thatPos = magnet.transform.position;

                Vector3 thisPos1 = transform.TransformPoint(transform.localPosition + (transform.localRotation * new Vector3(0f, 0f, 0.2f)));
                Vector3 thisPos2 = transform.TransformPoint(transform.localPosition + (transform.localRotation * new Vector3(0f, 0f, -0.2f)));

                Vector3 thatPos1 = magnet.transform.TransformPoint(magnet.transform.localPosition + (magnet.transform.localRotation * new Vector3(0f, 0f, 0.2f)));
                Vector3 thatPos2 = magnet.transform.TransformPoint(magnet.transform.localPosition + (magnet.transform.localRotation * new Vector3(0f, 0f, -0.2f)));

                float dist1 = Vector3.Distance(thisPos1, thatPos2);
                float dist2 = Vector3.Distance(thisPos2, thatPos1);
                bool pos1Close = dist1 < 0.3f;
                bool pos2Close = dist2 < 0.3f;

                Debug.DrawLine(thisPos1, thatPos1, Color.green * (1f/dist1));
                Debug.DrawLine(thisPos2, thatPos2, Color.red * (1f/dist2));

                if (pos1Close && pos2Close) {
                    Debug.Log("Attaching magnet " + FullIdentifier + " to magnet " + magnet.FullIdentifier);
                    attachedMagnet = magnet;
                    attachmentJoint = collider.attachedRigidbody.gameObject.AddComponent<FixedJoint>();
                    attachmentJoint.anchor = transform.localPosition;
                    attachmentJoint.connectedBody = magnet.collider.attachedRigidbody;
                    attachmentJoint.breakForce = 10f;
                    attachmentJoint.breakTorque = 10f;

                    renderer.material = glowMaterial;
                    break;
                }
            }
        } else if (attachmentJoint == null) {
            Debug.Log("Magnet " + FullIdentifier + " no longer attached to magnet " + attachedMagnet.FullIdentifier);
            attachedMagnet = null;
            renderer.material = normalMaterial;
        }
    }
Exemplo n.º 34
0
 private void OnAddMagnetExecuteAsync()
 {
     _openFileService.Filter = "FEMM solution|*.ans";
     _openFileService.Title = "Open FEMM solution file";
     if (_openFileService.DetermineFile())
     {
         // User selected a file
         var magnet = new Magnet();
         string errorMessage = string.Empty;
         if (AnsParser.ParseFile(_openFileService.FileName, out magnet, out errorMessage))
         Magnets.Add(magnet);
     }
 }