// Update is called once per frame void Update() { if (isAttracting) { float step = attractSpeed * Time.deltaTime; transform.position = Vector3.MoveTowards(transform.position, attractTarget.transform.position, step); float distance = Vector3.Distance(transform.position, attractTarget.transform.position); if (distance < attractMinDistance) { ScrapCollector p = attractTarget.GetComponent <ScrapCollector>(); if (p != null) { isAttracting = false; GameManager.Instance.AddScrap(scrapCount); //ScrapCollector.ScrapCount += scrapCount; //p.mesh.SetText($"Scrap: {p.scrapCount}"); Destroy(gameObject); } } } if (isExplodingFromEnemy) { float step = (attractSpeed * 2) * Time.deltaTime; transform.position = Vector3.MoveTowards(transform.position, movingToLocation, step); float distance = Vector3.Distance(transform.position, movingToLocation); if (distance < 0.005f) { isExplodingFromEnemy = false; } } }
private void OnTriggerEnter2D(Collider2D collision) { ScrapCollector p = collision.gameObject.GetComponent <ScrapCollector>(); if (p != null) { Die(); } }