void OnSpriteSliced(SpriteSlicer2DSliceInfo sliceInfo) { foreach (GameObject c in sliceInfo.ChildObjects) { c.AddComponent(this.GetType()); } }
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); }
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; } }
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); } }
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; } } } } } }
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; } }
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)); } }
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)); } }