void OnTriggerExit2D(Collider2D collision) { if (collision.gameObject.tag == "Projectile") { ProjectileStraightMove projectileMove = collision.gameObject.GetComponent <ProjectileStraightMove>(); int layerIndex = globalGameData.GetCurrentLayerIndex(); if (layerIndex == projectileMove.layerData.layerIndex + 1) { projectileList.Remove(projectileMove); } } }
public override void InitiateMove(GameObject projectile) { projectileScript = projectile.GetComponent <ProjectileStraightMove>(); rgbd = projectile.GetComponent <Rigidbody2D>(); ProjectileDefaultDataSO defaultData = projectileScript.defaultData; if (initForceFactor == 0) { initForceFactor = defaultData.initForceFactor; } rgbd.AddForce(projectileScript.direction * initForceFactor); }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject.tag == "Projectile") { ProjectileStraightMove projectileMove = collision.gameObject.GetComponent <ProjectileStraightMove>(); LayerDataSO projectileLayer = projectileMove.layerData; if (projectileLayer.layerIndex == layer.layerIndex && !dying) { globalGameData.LockInputs(); GetComponent <Animator>().SetBool("Dead", true); if (shield != null) { shield.SetActive(false); shieldCircle.SetActive(false); } dying = true; } } }