void OnTriggerEnter2D(Collider2D col) { if (col.gameObject.name == "Slash(Clone)") { _PS.Play(); if (_HitCount > 1) { _HitCount -= 1; StartCoroutine(_Shake()); _AS.PlayOneShot(_SFX[Random.Range(0, 1)], SysSaveSC._Vol_Master * SysSaveSC._Vol_SFX * 0.01f); } else { for (int i = 0; i < _Swords.Count; i++) { if (StageManagerSC._LumiaInst.transform.parent = _Swords[i].transform) { StageManagerSC._LumiaInst.GetComponent <Lumia_SC>()._CancelHanging(); } _Swords[i].GetComponent <SwordSC>()._DestroySword(true); } _AS.PlayOneShot(_SFX[2], SysSaveSC._Vol_Master * SysSaveSC._Vol_SFX * 0.01f); if (GetComponent <MapSaverSC>() != null) { GetComponent <MapSaverSC>()._SaveStatus(); } StageManagerSC._CamSC._Shake(0.2f); GetComponent <BoxCollider2D>().enabled = false; if (_Bottom == null) { _WallChild.SetActive(false); } else { _SR.sprite = _Bottom; } for (int i = 0; i < _FragCount; i++) { GameObject FragInst; FragInst = Instantiate(_FrageObj); FragInst.GetComponent <SpriteRenderer>().sprite = _FragSpr[Random.Range(0, _FragSpr.Length)]; FragInst.AddComponent(typeof(PolygonCollider2D)); FragInst.transform.position = transform.position + new Vector3(Random.Range(-0.5f, 0.5f), Random.Range(-2f, 2f), 0); float _Dir = transform.position.x - col.transform.position.x; float _Force = _Dir > 0 ? 300 : _Dir < 0 ? -300 : 0; FragInst.GetComponent <Rigidbody2D>().AddForce(new Vector2(_Force, 0f)); } } } }
void _Break() { if (GetComponent <MapSaverSC>() != null) { GetComponent <MapSaverSC>()._SaveStatus(); } _AS.PlayOneShot(_SFX[1], SysSaveSC._Vol_Master * SysSaveSC._Vol_SFX * 0.01f); BoxCollider2D _BC2D = transform.parent.GetComponent <BoxCollider2D>(); float _Width = _BC2D.size.x / 2; _BC2D.enabled = false; for (int i = 0; i < transform.childCount; i++) { transform.GetChild(i).gameObject.SetActive(false); } for (int i = 0; i < _FragCount; i++) { GameObject FragInst; FragInst = Instantiate(_FrageObj); FragInst.GetComponent <SpriteRenderer>().sprite = _FragSpr[Random.Range(0, _FragSpr.Length)]; FragInst.AddComponent(typeof(PolygonCollider2D)); FragInst.transform.position = transform.position + new Vector3(Random.Range(-_Width, _Width), Random.Range(-0.5f, 0.5f), 0); } }