void shootBullet() { GameObject bullet = Instantiate(bulletPrefab, transform.position + bulletStartPosition, Quaternion.identity); // set color // set physical layer bullet.GetComponent <Renderer>().material.color = ColorLayerInfo.GetColorByLayerName(color); bullet.layer = LayerMask.NameToLayer(color); Rigidbody2D rb; rb = bullet.GetComponent <Rigidbody2D>() as Rigidbody2D; rb.velocity = bulletInitialVelocity; bullet.GetComponent <Bullet>().lifeTime = bulletLifeTime; }
void OnTriggerExit2D(Collider2D collision) { if (collision.gameObject.CompareTag("Player")) { string playerColor = ColorLayerInfo.GetPlayerColor(LayerMask.LayerToName(collision.gameObject.layer)); if (!layer.Equals("Default") && !playerColor.Equals(layer)) { return; } if (toggleables.Length > 0) { foreach (GameObject toggleable in toggleables) { toggleable.GetComponent <IToggleable>().Toggle(false, "Exit", playerColor); } } toggled = false; updateLayerAndColor("Default"); } }
void updateLayerAndColor(string layerName) { gameObject.layer = LayerMask.NameToLayer(layerName); gameObject.GetComponent <Renderer>().material.color = ColorLayerInfo.GetColorByLayerName(layerName); }