Пример #1
0
    private void OnTriggerStay2D(Collider2D other)
    {
        Sampah sampah = other.GetComponent <Sampah>();

        if (sampah != null)
        {
            sampah.sampahTimer = 3f;
        }
    }
Пример #2
0
 private void OnDestroy()
 {
     if (sampah != null)
     {
         Sampah sampahScript = sampah?.GetComponent <Sampah>();
         if (sampahScript != null)
         {
             sampahScript.drag = false;
         }
     }
 }
Пример #3
0
    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;
            }
        }
    }
Пример #4
0
    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);
            }
        }
    }
Пример #5
0
    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);
    }
Пример #6
0
    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;
        }
    }