Beispiel #1
0
 void OnSpriteSliced(SpriteSlicer2DSliceInfo sliceInfo)
 {
     foreach (GameObject c in sliceInfo.ChildObjects)
     {
         c.AddComponent(this.GetType());
     }
 }
Beispiel #2
0
    void OnSpriteSliced(SpriteSlicer2DSliceInfo sliceInfo)
    {
        GameObject next = (GameObject)Instantiate(gameObject);

        player.GetComponent <PlayerController>().Device = null;
        next.GetComponent <SpriteRenderer>().color      = new Color(1, .65f, 0);
        next.GetComponent <Boss1AI>().numKills         += 1;
    }
 void OnSpriteSliced(SpriteSlicer2DSliceInfo sliceInfo)
 {
     foreach (GameObject c in sliceInfo.ChildObjects)
     {
         c.tag = "Untagged";
     }
     Time.timeScale = .1f;
     Destroy(gameObject, 1);
 }
Beispiel #4
0
	public void OnSpriteSliced(SpriteSlicer2DSliceInfo sliceInfo) {
		if (sliceableObjectHolder != null) sliceableObjectHolder.HandleSlice();
		var childObjects = sliceInfo.ChildObjects;
		foreach (GameObject child in childObjects) {
			child.gameObject.layer = LayerMask.NameToLayer("SlicedPiece");
			Rigidbody2D rigid = child.GetComponent<Rigidbody2D>();
			rigid.AddTorque(torque * rigid.mass, ForceMode2D.Impulse);
			rigid.AddForce(new Vector2(forceStrength * rigid.mass, 0), ForceMode2D.Impulse);
		}
	}
 void OnSpriteSliced(SpriteSlicer2DSliceInfo sliceInfo)
 {
     if (sliceInfo.SlicedObject)
     {
         cutSource.Play();
         Vector2 savedLocation = gameObject.transform.position;
         scoreController.AddScore(scoreValue);
         GameObject particle = Instantiate(explosion, savedLocation, Quaternion.identity) as GameObject;
     }
 }
Beispiel #6
0
	public void OnSpriteSliced(SpriteSlicer2DSliceInfo sliceInfo) {
		var childObjects = sliceInfo.ChildObjects;
		foreach (GameObject child in childObjects) {
			child.gameObject.layer = LayerMask.NameToLayer("SlicedPiece");
			Rigidbody2D rigid = child.GetComponent<Rigidbody2D>();
			rigid.gravityScale = 1;
			rigid.constraints = RigidbodyConstraints2D.None;
			rigid.AddTorque(torque * rigid.mass, ForceMode2D.Impulse);
			rigid.AddForce(new Vector2(forceStrength * rigid.mass, 0), ForceMode2D.Impulse);
		}
	}
Beispiel #7
0
    void OnSpriteSliced(SpriteSlicer2DSliceInfo sliceInfo)
    {
        Debug.Log("did thing");
        foreach (GameObject c in sliceInfo.ChildObjects)
        {
            c.GetComponent <Rigidbody2D>().constraints  = RigidbodyConstraints2D.None;
            c.GetComponent <Rigidbody2D>().gravityScale = 1;
            c.GetComponent <Rigidbody2D>().isKinematic  = false;
            c.AddComponent(this.GetType());
            c.GetComponent <SplitAndDie>().isChild     = true;
            c.GetComponent <Renderer>().material.color = GetComponent <Renderer>().material.color;
            c.GetComponent <SplitAndDie>().m_FadeTime  = m_FadeTime;
            c.GetComponent <SplitAndDie>().m_FadeDelay = m_FadeDelay;


            Debug.Log(GetComponent <Renderer>().material.color);

            c.GetComponent <Collider2D>().isTrigger = collider.isTrigger;

            Vector2[] points = c.GetComponent <PolygonCollider2D>().points;
            Vector2[] cuts   = new Vector2[2];
            cuts[0] = GameManager.Instance.cutStart;
            cuts[1] = GameManager.Instance.cutEnd;

            for (int j = 0; j < cuts.Length; j++)
            {
                cuts[j] -= (Vector2)transform.position;

                cuts[j].x /= transform.localScale.x;
                cuts[j].y /= transform.localScale.y;
            }

            for (int i = 0; i < points.Length; i++)
            {
                if (Mathf.Abs((cuts[1] - points[i]).magnitude + (points[i] - cuts[0]).magnitude - (cuts[1] - cuts[0]).magnitude) > .001)
                {
                    if (((points[i].x - cuts[0].x) * (cuts[1].y - cuts[0].y) - (points[i].y - cuts[0].y) * (cuts[1].x - cuts[0].x)) < -0.01)
                    {
                        c.GetComponent <Rigidbody2D>().velocity = (cuts[1] - cuts[0]).normalized * GameManager.Instance.cutSpeed * .5f;
                    }
                    else
                    {
                        c.GetComponent <Rigidbody2D>().velocity = (cuts[0] - cuts[1]).normalized * GameManager.Instance.cutSpeed * .5f;
                    }
                }
            }

            c.GetComponent <Rigidbody2D>().angularVelocity = (.5f - Random.value) * GameManager.Instance.cutSpeed * 2;
        }

        Object.Destroy(gameObject);
    }
    void OnSpriteSliced(SpriteSlicer2DSliceInfo sliceInfo)
    {
        if (!isChild)
        {
            GetComponent <Collider2D>().enabled = false;
            GetComponent <Renderer>().enabled   = false;
            Destroy(gameObject, 3);
            LevelManager.Instance.destroyed = true;
        }
        foreach (GameObject c in sliceInfo.ChildObjects)
        {
            c.AddComponent(this.GetType());
            c.GetComponent <PowerSource>().isChild = true;
            c.GetComponent <PowerSource>().numCuts = numCuts + 1;

            if (numCuts == 0)
            {
                Vector3 direction = new Vector3((sliceInfo.SliceExitWorldPosition.x - sliceInfo.SliceEnterWorldPosition.x),
                                                (sliceInfo.SliceExitWorldPosition.y - sliceInfo.SliceEnterWorldPosition.y), 0f);
                direction.Normalize();

                Vector2[] points = c.GetComponent <PolygonCollider2D>().points;
                Vector2[] cuts   = new Vector2[2];
                cuts[0] = GameManager.Instance.cutStart;
                cuts[1] = GameManager.Instance.cutEnd;

                for (int j = 0; j < cuts.Length; j++)
                {
                    cuts[j]   -= (Vector2)transform.position;
                    cuts[j].x /= transform.localScale.x;
                    cuts[j].y /= transform.localScale.y;
                }

                for (int i = 0; i < points.Length; i++)
                {
                    if (((points[i].x - cuts[0].x) * (cuts[1].y - cuts[0].y) - (points[i].y - cuts[0].y) * (cuts[1].x - cuts[0].x)) < -0.01)
                    {
                        if (Mathf.Abs((cuts[1] - points[i]).magnitude + (points[i] - cuts[0]).magnitude - (cuts[1] - cuts[0]).magnitude) > .001)
                        {
                            c.GetComponent <Rigidbody2D>().velocity = direction * GameManager.Instance.cutSpeed;
                        }
                    }
                }
            }
        }
    }
Beispiel #9
0
    void OnSpriteSliced(SpriteSlicer2DSliceInfo sliceInfo)
    {
        Debug.Log("sliced");
        direction = new Vector3((sliceInfo.SliceExitWorldPosition.x - sliceInfo.SliceEnterWorldPosition.x),
                                (sliceInfo.SliceExitWorldPosition.y - sliceInfo.SliceEnterWorldPosition.y), 0f);
        direction.Normalize();

        foreach (GameObject c in sliceInfo.ChildObjects)
        {
            c.AddComponent(this.GetType());
            c.GetComponent <Split>().parent    = gameObject;
            c.GetComponent <Split>().child     = null;
            c.GetComponent <Split>().direction = direction;
            c.GetComponent <Split>().isRight   = false;

            Vector2[] points = c.GetComponent <PolygonCollider2D>().points;
            Vector2[] cuts   = new Vector2[2];
            cuts[0] = GameManager.Instance.cutStart;
            cuts[1] = GameManager.Instance.cutEnd;

            for (int j = 0; j < cuts.Length; j++)
            {
                cuts[j] -= (Vector2)transform.position;

                cuts[j].x /= transform.localScale.x;
                cuts[j].y /= transform.localScale.y;
            }

            for (int i = 0; i < points.Length; i++)
            {
                if (((points[i].x - cuts[0].x) * (cuts[1].y - cuts[0].y) - (points[i].y - cuts[0].y) * (cuts[1].x - cuts[0].x)) < 0)
                {
                    if (Mathf.Abs((cuts[1] - points[i]).magnitude + (points[i] - cuts[0]).magnitude - (cuts[1] - cuts[0]).magnitude) > .001)
                    {
                        c.GetComponent <Split>().isRight = true;
                    }
                }
            }

            c.GetComponent <Collider2D>().isTrigger = collider.isTrigger;
        }
    }
Beispiel #10
0
    void OnSpriteSliced(SpriteSlicer2DSliceInfo sliceInfo)
    {
        if (manager.currentPack == 0)
        {
            FloatingText.Show("-$10!", "PointStarText", new FromWorldPointTextPositioner(Camera.main, new Vector3(0, 0, 500f), 1.75f, 50));
            manager.deck.bankAmount -= 10;
            manager.SetBankText(manager.deck.bankAmount);
        }
        else if (manager.currentPack == 1)
        {
            FloatingText.Show("-$8!", "PointStarText", new FromWorldPointTextPositioner(Camera.main, new Vector3(0, 0, 500f), 1.75f, 50));
            manager.deck.bankAmount -= 8;
            manager.SetBankText(manager.deck.bankAmount);
        }
        else
        {
            FloatingText.Show("-$11!", "PointStarText", new FromWorldPointTextPositioner(Camera.main, new Vector3(0, 0, 500f), 1.75f, 50));
            manager.deck.bankAmount -= 11;
            manager.SetBankText(manager.deck.bankAmount);
        }
        //print("Sliced");
        //rigidbody2D.AddForce(new Vector2( (Random.Range(-200f,200f)) , (Random.Range(1000f,10000f))));
        packs.haloOn = false;
        packButtons = GameObject.FindGameObjectsWithTag("Packselection");
        manager.disableCut();
        manager.packholder.GetComponent<BoxCollider>().enabled = false;
        foreach (GameObject packButton in packButtons)
        {
            packButton.GetComponent<PackSelection>().disableButton();
        }
        pieces = sliceInfo.ChildObjects;
        //canvas.getPackPieces(pieces);
        manager.getPackPieces(pieces);
        float lowrange, highrange;
        int loop = 1;
        foreach (GameObject piece in pieces)
        {
            float mass = piece.GetComponent<Rigidbody2D>().mass;
            int randomx = Random.Range(0, 2);
            float forcex;
            lowrange = (1000 * mass);
            highrange = (10000 * mass);

            if (randomx == 0)
            {
                forcex = (Random.Range(-highrange, -lowrange));
            }
            else
            {
                forcex = (Random.Range(lowrange, highrange));
            }
            int randomy = Random.Range(0, 2);
            float forcey;
            if (randomy == 0)
            {
                forcey = (Random.Range(-highrange, -lowrange));
            }
            else
            {
                forcey = (Random.Range(lowrange, highrange));
            }
            piece.GetComponent<Rigidbody2D>().AddForce(new Vector2(forcex, forcey));

            loop++;
           // StartCoroutine(vanish(tr));
        }
    }
Beispiel #11
0
    void OnSpriteSliced(SpriteSlicer2DSliceInfo sliceInfo)
    {
        if (manager.currentPack == 0)
        {
            FloatingText.Show("-$10!", "PointStarText", new FromWorldPointTextPositioner(Camera.main, new Vector3(0, 0, 500f), 1.75f, 50));
            manager.deck.bankAmount -= 10;
            manager.SetBankText(manager.deck.bankAmount);
        }
        else if (manager.currentPack == 1)
        {
            FloatingText.Show("-$8!", "PointStarText", new FromWorldPointTextPositioner(Camera.main, new Vector3(0, 0, 500f), 1.75f, 50));
            manager.deck.bankAmount -= 8;
            manager.SetBankText(manager.deck.bankAmount);
        }
        else
        {
            FloatingText.Show("-$11!", "PointStarText", new FromWorldPointTextPositioner(Camera.main, new Vector3(0, 0, 500f), 1.75f, 50));
            manager.deck.bankAmount -= 11;
            manager.SetBankText(manager.deck.bankAmount);
        }
        //print("Sliced");
        //rigidbody2D.AddForce(new Vector2( (Random.Range(-200f,200f)) , (Random.Range(1000f,10000f))));
        packs.haloOn = false;
        packButtons  = GameObject.FindGameObjectsWithTag("Packselection");
        manager.disableCut();
        manager.packholder.GetComponent <BoxCollider>().enabled = false;
        foreach (GameObject packButton in packButtons)
        {
            packButton.GetComponent <PackSelection>().disableButton();
        }
        pieces = sliceInfo.ChildObjects;
        //canvas.getPackPieces(pieces);
        manager.getPackPieces(pieces);
        float lowrange, highrange;
        int   loop = 1;

        foreach (GameObject piece in pieces)
        {
            float mass    = piece.GetComponent <Rigidbody2D>().mass;
            int   randomx = Random.Range(0, 2);
            float forcex;
            lowrange  = (1000 * mass);
            highrange = (10000 * mass);

            if (randomx == 0)
            {
                forcex = (Random.Range(-highrange, -lowrange));
            }
            else
            {
                forcex = (Random.Range(lowrange, highrange));
            }
            int   randomy = Random.Range(0, 2);
            float forcey;
            if (randomy == 0)
            {
                forcey = (Random.Range(-highrange, -lowrange));
            }
            else
            {
                forcey = (Random.Range(lowrange, highrange));
            }
            piece.GetComponent <Rigidbody2D>().AddForce(new Vector2(forcex, forcey));

            loop++;
            // StartCoroutine(vanish(tr));
        }
    }