private void OnTriggerStay2D(Collider2D other) { Sampah sampah = other.GetComponent <Sampah>(); if (sampah != null) { sampah.sampahTimer = 3f; } }
private void OnDestroy() { if (sampah != null) { Sampah sampahScript = sampah?.GetComponent <Sampah>(); if (sampahScript != null) { sampahScript.drag = false; } } }
private void Start() { List <Collider2D> kena = Physics2D.OverlapCircleAll(transform.position, radius, LayerMask.GetMask(new string[] { "Sampah" })).ToList(); if (kena.Count > 0) { kena.Sort((x1, x2) => Mathf.Abs((x1.transform.position - transform.position).magnitude).CompareTo(Mathf.Abs((x2.transform.position - transform.position).magnitude))); sampah = kena[0].gameObject; Sampah sampahScript = sampah?.GetComponent <Sampah>(); if (sampahScript != null) { sampahScript.drag = true; } } }
private void OnTriggerStay2D(Collider2D collision) { Sampah sampah = collision.GetComponent <Sampah>(); Bounds bounds = GetComponent <Collider2D>().bounds; if (sampah != null) { if (!sampah.drag && bounds.Contains(collision.transform.position)) { if (sampah.tipeSampah == tipe) { Game.main.score++; } else { Game.main.wrong++; } Destroy(collision.gameObject); } } }
public GameObject SpawnSampah(Sprite gambar, int tipeSampah = 0) { GameObject newSampah = new GameObject("sampah"); newSampah.layer = LayerMask.NameToLayer("Sampah"); newSampah.transform.parent = sungai.transform; newSampah.transform.localPosition = new Vector3(-10f, UnityEngine.Random.Range(-spawnY, spawnY), 0f); SpriteRenderer srender = newSampah.AddComponent <SpriteRenderer>(); srender.sprite = gambar; srender.sortingLayerName = "Item"; newSampah.AddComponent <PolygonCollider2D>(); Rigidbody2D rb = newSampah.AddComponent <Rigidbody2D>(); rb.gravityScale = 0f; Sampah objSampah = newSampah.AddComponent <Sampah>(); objSampah.tipeSampah = tipeSampah; return(newSampah); }
public void GenerateTrash(char x) { if (x == 'a') { trash = new GameObject("trasha"); trash.AddComponent <Sampah>(); trash.AddComponent <SpriteRenderer>(); trash.AddComponent <BoxCollider2D>(); trash.AddComponent <Rigidbody2D>(); //transform position trash.GetComponent <Transform>().position = new Vector3(Random.Range(-465, -37), Random.Range(-89, 1520), -5); trash.GetComponent <Transform>().localScale = new Vector3(100, 100, 1); //attribut sampah s = trash.GetComponent <Sampah>(); s.addCash(100); s.addVal(1); s.diver = diver; s.speed = Random.Range(6, 9); s.spawn = this; s.manager = manager; //attribute sprite renderer sr = trash.GetComponent <SpriteRenderer>(); temp = Random.Range(1, 4); if (temp == 1) { sr.sprite = ss; } else if (temp == 2) { sr.sprite = ss1; } else if (temp == 3) { sr.sprite = ss2; } else { sr.sprite = ss2; } //attribut boxcollider b = trash.GetComponent <BoxCollider2D>(); b.size = new Vector2(0.67f, 0.63f); b.isTrigger = true; //attribute rigidbody r = trash.GetComponent <Rigidbody2D>(); r.gravityScale = 0; } else if (x == 'b') { trash = new GameObject("trashb"); trash.AddComponent <Sampah>(); trash.AddComponent <SpriteRenderer>(); trash.AddComponent <BoxCollider2D>(); trash.AddComponent <Rigidbody2D>(); //transform position trash.GetComponent <Transform>().position = new Vector3(Random.Range(-465, -37), Random.Range(-89, 700), -5); trash.GetComponent <Transform>().localScale = new Vector3(100, 100, 1); //attribut sampah s = trash.GetComponent <Sampah>(); s.addCash(250); s.addVal(5); s.diver = diver; s.speed = Random.Range(3, 6); s.spawn = this; s.manager = manager; //attribute sprite renderer sr = trash.GetComponent <SpriteRenderer>(); temp = Random.Range(1, 4); if (temp == 1) { sr.sprite = ss3; } else if (temp == 2) { sr.sprite = ss4; } else if (temp == 3) { sr.sprite = ss5; } else { sr.sprite = ss5; } //attribut boxcollider b = trash.GetComponent <BoxCollider2D>(); b.size = new Vector2(1, 1); b.isTrigger = true; //attribute rigidbody r = trash.GetComponent <Rigidbody2D>(); r.gravityScale = 0; } else if (x == 'c') { trash = new GameObject("trashc"); trash.AddComponent <Sampah>(); trash.AddComponent <SpriteRenderer>(); trash.AddComponent <BoxCollider2D>(); trash.AddComponent <Rigidbody2D>(); //transform position trash.GetComponent <Transform>().position = new Vector3(Random.Range(-465, -37), Random.Range(-89, 76), -5); trash.GetComponent <Transform>().localScale = new Vector3(100, 100, 1); //attribut sampah s = trash.GetComponent <Sampah>(); s.addCash(500); s.addVal(20); s.diver = diver; s.speed = Random.Range(1, 3); s.spawn = this; s.manager = manager; //attribute sprite renderer sr = trash.GetComponent <SpriteRenderer>(); temp = Random.Range(1, 4); if (temp == 1) { sr.sprite = ss6; } else if (temp == 2) { sr.sprite = ss7; } else if (temp == 3) { sr.sprite = ss8; } else { sr.sprite = ss8; } //attribut boxcollider b = trash.GetComponent <BoxCollider2D>(); b.size = new Vector2(1, 1); b.isTrigger = true; //attribute rigidbody r = trash.GetComponent <Rigidbody2D>(); r.gravityScale = 0; } }