/// <inheritdoc/> protected override void LoadContent() { lifeManager = new PlayerLifeManager(game); this.seismicChargeCountManager = new SeismicChargeCountManager(game); this.collisionDetector.SetSeismicList(this.seismicChargeCountManager.DeployedBombs); base.LoadContent(); }
void OnTriggerEnter(Collider target) { //if (target.tag != "Player") return; // 状態変更 if (target.tag == "Player") { Destroy(target.gameObject); PlayerLifeManager Plm = PlayerLife.GetComponent <PlayerLifeManager>(); GameManager gameManager = GameObject.Find("GameManager").GetComponent <GameManager>(); gameManager.LEVEL = 0; int life = Plm.DamageReturnInt(); if (life <= 0) { GameManager.bGameover = true; return; } Vector3 pos = new Vector3(StartPoint.transform.position.x, 5.085f, StartPoint.transform.position.z); GameObject Player = Instantiate(Level1Player, pos, Quaternion.identity); SoundManager.PlaySe("Respawn"); Player.transform.parent = null; player.bDead = true; } }
void Start() { playerLight = GetComponent <PlayerLightManager>(); playerHealth = GetComponent <PlayerLifeManager>(); InvokeRepeating("ConsumeEnergy", 2f, 1f); InvokeRepeating("ConsumeHealth", 2f, 1f); }
public PlayerLifeManager GetPlayerLifeManager() { if (this.playerLifeManager == null) { this.playerLifeManager = GetComponentInChildren <PlayerLifeManager>(); } return(this.playerLifeManager); }
// Start is called before the first frame update public void Start() { InputManager.Instance.RegisteredPlayer = this; m_body = GetComponent <Rigidbody>(); m_playerLife = GetComponent <PlayerLifeManager>(); m_playerLife.OnDamaged += DamageReaction; }
//public Camera refMainCamera; //public GameObject refPlayer; //public Canvas refCanvas; // Use this for initialization void Start() { displayTime = 0.0f; ///refStatus = GameObject.Find ("Stauts").GetComponent<status> (); refLifeManager = GameObject.Find("Player").GetComponent <PlayerLifeManager> (); //refMainCamera = (Camera)GameObject.Find ("Main Camera").GetComponent<Camera>(); //refPlayer = GameObject.Find ("Player"); //refCanvas = GameObject.Find ("Canvas").GetComponent<Canvas> (); }
public void Init() { _instance = this; Restart(); playerLifeUI.Init(maxLife); playerLifeUI.UpdateValue(maxLife); }
private void Update() { PlayerLifeManager player = Player.instance.GetComponent <PlayerLifeManager>(); if (player.health == player.maxHealth) { button.gameObject.SetActive(false); } }
// Start is called before the first frame update void Start() { playAgainPanel = GameObject.Find("PlayAgainPanel"); playerUIPanel = GameObject.Find("PlayerUIPanel"); gameConditionText = playAgainPanel.GetComponentsInChildren <Text>() .ToList() .Find(text => text != null && text.gameObject.name.Equals("GameConditionText")); playerLifeManager = FindObjectOfType <PlayerLifeManager>(); asteroidSpawner = FindObjectOfType <AsteroidSpawner>(); gameObjectCounter = FindObjectOfType <GameObjectCounter>(); playerLifeManager.playerUIPanel = playerUIPanel; playAgainPanel.SetActive(false); playerUIPanel.SetActive(false); }
// Use this for initialization void Start() { refHpString = GameObject.Find("HpString"); refText = GetComponent("Text") as Text; offset.x = 62; offset.y = 1; GameObject tmp = GameObject.Find("PlayerStatus"); if (tmp) { refPlayerStatus = tmp.GetComponent <status>(); } refPlayer = GameObject.Find("Player"); refLifeManager = GameObject.Find("Player").GetComponent <PlayerLifeManager> (); }
void OnTriggerEnter(Collider other) { if (IsServer) { if (other.gameObject.tag.Equals("Player")) { playerLifeManager = other.gameObject.GetComponent <PlayerLifeManager>(); playerLifeManager.HealPlayer(healAmount); if (spawner != null) { spawner.CollectableTaken(); } Destroy(gameObject, 0); } } }
protected override void OnCollisionEnter2D(Collision2D collision) { if (IsSpike(collision) && collision.gameObject.CompareTag("Player")) { Vector3 bumpDirection = (collision.transform.position - transform.position).normalized; move.Bump(-bumpDirection); } else if (collision.gameObject.CompareTag("Player")) { PlayerLifeManager player = collision.gameObject.GetComponent <PlayerLifeManager>(); Vector3 bumpDirection = (player.transform.position - transform.position).normalized; player.TakeDamage(damage); player.GetComponent <Movement>().Bump(bumpDirection); HintUI.instance.SetText("Ouch!"); AudioManager.instance.Play("Bite"); } }
public void CutRope(Vector3 cuttingPos, string cutter) { if (hook.currentProjectile != null) { if (hook.currentProjectile.GetComponent <Projectile>().hooked&& hook.playerMovement.playerNumber != cutter) { projectile.GetComponent <Projectile>().cut = true; lifeManager = hook.player.GetComponent <PlayerLifeManager>(); lifeManager.CancelCleanLastAttacker(); lifeManager.lastAttacker = cutter; lifeManager.CleanLastAttacker(); //Rope to projectile GameObject cutRope = new GameObject(); cutRope.AddComponent <LineRenderer>(); cutRope.GetComponent <LineRenderer>().sortingLayerName = "Rope"; cutRope.AddComponent <RopeScript>(); RopeScript script = cutRope.GetComponent <RopeScript>(); script.color = hook.line.startColor; script.startPosition = projectile.GetComponent <Projectile>().pivot; script.endPosition = cuttingPos; script.firstConnectedBody = projectile; Instantiate(Resources.Load <ParticleSystem>("Prefabs/CutHook/Cut"), cuttingPos, transform.rotation); StartCoroutine(CancelVibration(Vibrations.PlayVibration("RopeCut", hook.playerMovement.playerInputDevice))); AudioManager.instance.PlaySound("ropeCut", hook.playerMovement.playerNumber + "Arrow"); //Rope to player hook.ropeCut = true; GameObject cutRope2 = new GameObject(); cutRope2.AddComponent <LineRenderer>(); cutRope2.GetComponent <LineRenderer>().sortingLayerName = "Rope"; cutRope2.AddComponent <RopeScript>(); RopeScript script2 = cutRope2.GetComponent <RopeScript>(); script2.connectedToPlayer = true; script2.color = hook.line.startColor; script2.startPosition = hook.player.transform.position; script2.endPosition = cuttingPos; script2.firstConnectedBody = hook.player; script2.hookScript = hook; hook.DisableRope(true); } } }
// Start is called before the first frame update void Awake() { _gameManager = GameObject.Find("Game Manager"); _agent = GetComponent <NavMeshAgent>(); if (_agent) { _moveToPath = new NavMeshPath(); _agent.speed = movementSpeed; } _plManager = _gameManager.GetComponent <PlayerLifeManager>(); _maxHealth = health; _gold = _gameManager.GetComponent <GoldManager>(); _roundManager = _gameManager.GetComponent <RoundManager>(); _curRound = _roundManager._currentRound; healthbar = healthbarPooler.GetPooledObject().GetComponent <Slider>(); healthbar.transform.SetParent(GameObject.Find("Canvas").GetComponent <Transform>(), false); lookingForTower = false; }
// Start is called before the first frame update void Start() { rotationAngle = gameObject.transform.rotation.eulerAngles.z; rb = GetComponent <Rigidbody>(); playerLifeManager = FindObjectOfType <PlayerLifeManager>(); }
void Start() { Application.targetFrameRate = 60; //S'il y a une erreur ici s'assurer que le prefab "Balancing" est bien dans la scène balanceData = GameObject.Find("Balancing").GetComponent <Balancing>(); groundedControlForce = balanceData.groundedControlForce; hookMovementForce = balanceData.hookMovementForce; airControlForce = balanceData.airControlForce; dashTime = balanceData.dashTime; dashForce = balanceData.dashForce; dashCDTime = balanceData.attackCDTime; dragEndOfDash = balanceData.dragEndOfDash; inDashStatusTime = balanceData.inDashStatusTime; rigid = this.GetComponent <Rigidbody2D>(); speedEffectScript = speedEffect.GetComponent <SpeedEffect>(); dashReadyEffect = transform.GetChild(2).gameObject; dashEffectColor = dashReadyEffect.GetComponent <ParticleSystem>().main; dashEffectColorLifeTime = dashReadyEffect.GetComponent <ParticleSystem>().colorOverLifetime; lifeManager = GetComponent <PlayerLifeManager>(); dashRecovery = Resources.Load <GameObject>("Prefabs/Dash/DashRecovery"); gravity = rigid.gravityScale; playerSprite = GetComponent <SpriteRenderer>().sprite; switch (playerNumber) { case "_P1": gameObject.layer = 8; break; case "_P2": gameObject.layer = 9; break; case "_P3": gameObject.layer = 10; break; case "_P4": gameObject.layer = 11; break; default: break; } lastFramePosition = transform.position; //Switch gérant la couleur du dash effect switch (playerSprite.name) { case "0": dashEffectColor.startColor = new Color(1, 1, 0); colorDashEffect[1].color = new Color(.9215686f, 0.7294118f, 0.345098f); break; case "1": dashEffectColor.startColor = new Color(0.9960784f, 0.5686275f, 0.7568628f); colorDashEffect[1].color = new Color(0.9960784f, 0.5686275f, 0.7568628f); break; case "2": dashEffectColor.startColor = new Color(0, 1, 1); colorDashEffect[1].color = new Color(0.2313726f, 0.572549f, 0.9882353f); break; case "3": dashEffectColor.startColor = new Color(.3f, 1, 0); colorDashEffect[1].color = new Color(0.4627451f, 0.7372549f, 0.2862745f); break; case "4": dashEffectColor.startColor = new Color(1, 0, 0); colorDashEffect[1].color = new Color(0.9098039f, 0.1176471f, 0.3176471f); break; default: print("Default case switch start PlayerMovement.cs"); break; } alphaDashEffect[0].alpha = 1; alphaDashEffect[0].time = 0; alphaDashEffect[1].alpha = 1; alphaDashEffect[1].time = 1; colorDashEffect[0].color = new Color(1, 1, 1); colorDashEffect[0].time = 0; colorDashEffect[1].time = 1; Gradient grad = new Gradient(); grad.SetKeys(colorDashEffect, alphaDashEffect); dashEffectColorLifeTime.color = grad; }
void OnCollisionEnter2D(Collision2D collision) { if (!lifeManager.inRecovery) { //Si c'est une fleche qui est touché on applique un knockback if (collision.gameObject.CompareTag("Arrow")) { //GameObject.Find("SlowMo").GetComponent<SlowMotion>().DoSlowmotion(); switch (collision.gameObject.GetComponent <Hook>().currentBlade) { case CurrentBlade.none: print("Nikoumouk le code, t'es trop lent"); break; case CurrentBlade.blade1: StartCoroutine(ArrowHit(collision, 1)); break; case CurrentBlade.blade2: StartCoroutine(ArrowHit(collision, 2)); break; case CurrentBlade.blade3: StartCoroutine(ArrowHit(collision, 3)); break; default: print("Impossible. IM-PO-SSI-BLE !"); break; } HitFX(collision.GetContact(0).point, collision.gameObject); } //Si le joueur est touché des dégâts lui sont appliqués //Mais avant on vérifie si la collision n'a pas eu de problème en envoyant un raycast entre les deux joueurs pour voir s'il n'y a pas la flèche du défenseur qui était censé bloquer else if (collision.gameObject.CompareTag("Player")) { RaycastHit2D collisionFail = Physics2D.Linecast(transform.position, collision.gameObject.transform.position, layerMaskOthersArrow); if (collisionFail.collider != null) { if (collisionFail.collider.gameObject.CompareTag("Arrow")) { //GameObject.Find("SlowMo").GetComponent<SlowMotion>().DoSlowmotion(); switch (collisionFail.collider.gameObject.GetComponent <Hook>().currentBlade) { case CurrentBlade.none: print("Nikoumouk le code, t'es trop lent"); break; case CurrentBlade.blade1: StartCoroutine(ArrowHit(collisionFail.collider, 1)); break; case CurrentBlade.blade2: StartCoroutine(ArrowHit(collisionFail.collider, 2)); break; case CurrentBlade.blade3: StartCoroutine(ArrowHit(collisionFail.collider, 3)); break; default: print("Impossible. IM-PO-SSI-BLE !"); break; } HitFX(collisionFail.point, collisionFail.collider.gameObject); } } else { foeScript = collision.gameObject.GetComponent <PlayerLifeManager>(); //Appelle la méthode du fx avant celle des dégâts pour qu'elle ne soit pas bloqué par le recovery //GameObject.Find("SlowMo").GetComponent<SlowMotion>().DoSlowmotion(); StartCoroutine(FreezeAttacker(collision.gameObject.transform.position)); foeScript.HitFX(collision.GetContact(0).point, playerMovement.speed); switch (currentBlade) { case CurrentBlade.none: print("Nikoumouk le code, t'es trop lent"); break; case CurrentBlade.blade1: foeScript.TakeDamage(blade1damage, gameObject, true, Vector3.zero, 1); break; case CurrentBlade.blade2: foeScript.TakeDamage(blade2damage, gameObject, true, Vector3.zero, 2); break; case CurrentBlade.blade3: foeScript.TakeDamage(blade3damage, gameObject, true, Vector3.zero, 3); break; default: print("Impossible. IM-PO-SSI-BLE !"); break; } //Différentes vibrations selon si le joueur touché est mort ou pas if (!foeScript.isDead) { StartCoroutine(CancelVibration(Vibrations.PlayVibration("CollisionArrowPlayer", playerMovement.playerInputDevice))); } else { StartCoroutine(CancelVibration(Vibrations.PlayVibration("KillingPlayer", playerMovement.playerInputDevice))); } } } } }
private void Start() { StartCoroutine(ExpirationTimer()); playerLifeManager = FindObjectOfType <PlayerLifeManager>(); }
private void Awake() { _transform = transform; _shootingManager = GetComponent <ShootingManager>(); _lifeManager = GetComponent <PlayerLifeManager>(); }
private void OnDestroy() { _instance = null; }
public override void MakeObjects() { Size windowSize = WinformRender.Instance.NowForm.Size; Size gameSize = new Size(224, 304); Vec2D playerStartPoint = new Vec2D(gameSize.Width / 2, gameSize.Height - 32); // 백그라운드 오브젝트 생성 BackGround backGround = new BackGround(); backGround.Name = "BackGround"; Vec2D point = new Vec2D(224 / 2, 320 / 2); backGround.transform.position = point; AddObject(backGround); backGround = new BackGround(); point = new Vec2D(224 / 2, 320 / 2 - 320 + 8); backGround.transform.position = point; AddObject(backGround); backGround = new BackGround(); point = new Vec2D(224 / 2, 320 / 2 - 640 + 16); backGround.transform.position = point; AddObject(backGround); Size BackgroundSize = backGround.GetComponent <SpriteComponent>().Image.Size; // 플레이어 생성 Player player = new Player(); point = playerStartPoint; player.transform.position = point; InputComponent input = player.GetComponent <InputComponent>(); if (input != null) { input.MaxWidth = gameSize.Width; } TargetScrolling targetScrolling = player.GetComponent <TargetScrolling>(); if (targetScrolling != null) { targetScrolling.Destination = playerStartPoint; } AddObject(player); // 게임 중앙에 모이기 위한 위치 설정 CompanyHeadquarter company = new CompanyHeadquarter(); point = new Vec2D(224 / 2, 16 * 5); company.transform.position = point; AddObject(company); GameObject unitPosition; Vec2D localPoint; int totalLine = 6; int[] enemyCountAtLine = new int[] { 4, 4, 8, 8, 10, 10 }; // 여러개의 빈 오브젝트를 생성해서 위의 company의 자식으로 설정 // 부모만 움직이면 자식도 움직이기 설정 for (int t = 0; t < totalLine; t++) { for (int i = 0; i < enemyCountAtLine[t]; i++) { unitPosition = new GameObject(); company.transform.SetChild(unitPosition); localPoint = new Vec2D(16 * i - (enemyCountAtLine[t] / 2 - 1) * 16 - 8, 16 * t - 40); unitPosition.transform.localPosition = localPoint; AddObject(unitPosition); } } EnemySpawner enemySpawner = new EnemySpawner(); AddObject(enemySpawner); PlayerLifeManager playerLifeManager = new PlayerLifeManager(); LifeManager lifeManager = playerLifeManager.GetComponent <LifeManager>(); if (lifeManager != null) { lifeManager.playerhealth = player.GetComponent <HealthSystem>(); lifeManager.player = player; } AddObject(playerLifeManager); Text score = new Text(); score.transform.position = new Vec2D(gameSize.Width / 10 * 4, 0); TextComponet textComponet = score.GetComponent <TextComponet>(); AddObject(score); Text gameOver = new Text(); gameOver.transform.position = new Vec2D(gameSize.Width / 10 * 3, gameSize.Height / 2); TextComponet textComponet2 = gameOver.GetComponent <TextComponet>(); textComponet2.Text = "GameOver"; gameOver.Enabled = false; AddObject(gameOver); StageLevel stageLevel = new StageLevel(); Vec2D vec2D = new Vec2D(); vec2D.X = gameSize.Width; vec2D.Y = gameSize.Height - 8; stageLevel.transform.position = vec2D; stageLevel.Enabled = false; AddObject(stageLevel); UIManagerObject uIManagerObject = new UIManagerObject(); UIManager uIManager = uIManagerObject.GetComponent <UIManager>(); if (textComponet != null && uIManager != null) { uIManager.scoreText = textComponet; uIManager.gameOverObject = gameOver; uIManager.stageLevelObejct = stageLevel; } AddObject(uIManagerObject); WayPointManager wayPointManager = new WayPointManager(); WayPoints wayPoints = wayPointManager.GetComponent <WayPoints>(); wayPoints.GameSize = new Vec2D(gameSize.Width, gameSize.Height); AddObject(wayPointManager); GameManagerObject gameManagerObject = new GameManagerObject(); AddObject(gameManagerObject); }
private void Start() { player = Player.instance.GetComponent <PlayerLifeManager>(); player.onHealthChangedCallback += UpdateUI; }
// Use this for initialization void Start() { /* * hookInCD = false; * hooked = false;*/ //S'il y a une erreur ici s'assurer que le prefab "Balancing" est bien dans la scène balanceData = GameObject.Find("Balancing").GetComponent <Balancing>(); timeHooked = balanceData.TimeHooked; retractationStep = balanceData.retractationStep; timeBtwShots = balanceData.timeBtwShots; knockBackTime = balanceData.knockBackTime; knockBackBlade1 = balanceData.knockBackBlade1; knockBackBlade2 = balanceData.knockBackBlade2; knockBackBlade3 = balanceData.knockBackBlade3; blade1damage = balanceData.blade1Damage; blade2damage = balanceData.blade2Damage; blade3damage = balanceData.blade3Damage; hookRecuperationSpeed = balanceData.hookRecuperationSpeed; criticalSpeed = balanceData.criticalSpeed; timeBeforeDestroy = balanceData.timeRopeCut; attackTime = balanceData.attackTime; freezeFrameDuration = balanceData.freezeFrameDuration; knockBackAttacker = balanceData.knockBackAttacker; timeRemaining = timeHooked; //Récupère tout les éléments du gameObject bladeColliders = GetComponents <PolygonCollider2D>(); blade1Collider = bladeColliders[2]; blade2Collider = bladeColliders[1]; blade3Collider = bladeColliders[0]; bladeRenderer = transform.GetChild(1).GetComponent <SpriteRenderer>(); playerMovement = player.GetComponent <PlayerMovement>(); playerNumber = playerMovement.playerNumber; playerMovement.hookScript = this; spriteRenderer = GetComponent <SpriteRenderer>(); lifeManager = player.GetComponent <PlayerLifeManager>(); lifeManager.spriteArrow = spriteRenderer; lifeManager.hookScript = this; hookUnvailableAnimator = hookUnvailable.GetComponent <Animator>(); hookUnvailable.gameObject.SetActive(false); //Détruit le line renderer s'il existait déjà pour éviter le duplicata // if (this.transform.parent.transform.childCount == 5) // Destroy(this.transform.parent.transform.GetChild(4).gameObject); //Crée le line renderer et le configure line = new GameObject("Line").AddComponent <LineRenderer>(); //instantie un line renderer line.positionCount = 2; //le nombre de point pour la ligne line.startWidth = balanceData.lineWidth; // la largeur de la ligne line.endWidth = balanceData.lineWidth; line.gameObject.SetActive(false); // désactive la ligne line.startColor = colorRope; line.endColor = colorRope; line.GetComponent <Renderer>().material.shader = Shader.Find("Particles/Alpha Blended"); line.GetComponent <Renderer>().material.color = Color.black;// couleur du matérial line.transform.parent = gameObject.transform.parent; rope = Resources.Load <Texture>("ArrowSprites/Rope"); line.material.SetTexture("_MainTex", rope); //Ajoute un collider à la corde ainsi que le script qui permet de la couper line.gameObject.AddComponent <BoxCollider2D>(); line.gameObject.AddComponent <LineCutter>(); line.gameObject.GetComponent <LineCutter>().hook = this; lineCollider = line.GetComponent <BoxCollider2D>(); lineCollider.isTrigger = true; line.gameObject.tag = "Rope"; line.sortingLayerName = "Rope"; //Charge les sprites en fonction du personnage sélectionné switch (player.GetComponent <SpriteRenderer>().sprite.name) { case "0": arrowSprite = Resources.Load <Sprite>("ArrowSprites/Arrow0"); hookheadSprite = Resources.Load <Sprite>("ArrowSprites/Hook0"); colorRope = new Color(.9215686f, 0.7294118f, 0.345098f); hitLittle = Resources.Load <ParticleSystem>("Particles/HitLittle/HitLittleOrange"); hitHard = Resources.Load <ParticleSystem>("Particles/HitHard/HitHardOrange"); break; case "1": arrowSprite = Resources.Load <Sprite>("ArrowSprites/Arrow1"); hookheadSprite = Resources.Load <Sprite>("ArrowSprites/Hook1"); colorRope = new Color(0.9960784f, 0.5686275f, 0.7568628f); hitLittle = Resources.Load <ParticleSystem>("Particles/HitLittle/HitLittlePink"); hitHard = Resources.Load <ParticleSystem>("Particles/HitHard/HitHardPink"); break; case "2": arrowSprite = Resources.Load <Sprite>("ArrowSprites/Arrow2"); hookheadSprite = Resources.Load <Sprite>("ArrowSprites/Hook2"); colorRope = new Color(0.2313726f, 0.572549f, 0.9882353f); hitLittle = Resources.Load <ParticleSystem>("Particles/HitLittle/HitLittleBlue"); hitHard = Resources.Load <ParticleSystem>("Particles/HitHard/HitHardBlue"); break; case "3": arrowSprite = Resources.Load <Sprite>("ArrowSprites/Arrow3"); hookheadSprite = Resources.Load <Sprite>("ArrowSprites/Hook3"); colorRope = new Color(0.4627451f, 0.7372549f, 0.2862745f); hitLittle = Resources.Load <ParticleSystem>("Particles/HitLittle/HitLittleGreen"); hitHard = Resources.Load <ParticleSystem>("Particles/HitHard/HitHardGreen"); break; case "4": arrowSprite = Resources.Load <Sprite>("ArrowSprites/Arrow4"); hookheadSprite = Resources.Load <Sprite>("ArrowSprites/Hook4"); colorRope = new Color(0.9098039f, 0.1176471f, 0.3176471f); hitLittle = Resources.Load <ParticleSystem>("Particles/HitLittle/HitLittleYellow"); hitHard = Resources.Load <ParticleSystem>("Particles/HitHard/HitHardYellow"); break; default: print("Default case switch start Hook.cs"); break; } blade1Sprite = Resources.Load <Sprite>("ArrowSprites/Blade1"); blade2Sprite = Resources.Load <Sprite>("ArrowSprites/Blade2"); blade3Sprite = Resources.Load <Sprite>("ArrowSprites/Blade3"); //Initialise le joueur avec la flèche et sans lame spriteRenderer.sprite = arrowSprite; Sheathe(); //Fixe les différents layer en fonction du numéro du joueur switch (playerNumber) { case "_P1": line.gameObject.layer = 17; gameObject.layer = 17; layerMaskLineCast = (1 << 18) | (1 << 19) | (1 << 20) | (1 << 22) | (1 << 23) | (1 << 24) | (1 << 26); layerMaskOthersArrow = (1 << 18) | (1 << 19) | (1 << 20); break; case "_P2": line.gameObject.layer = 18; gameObject.layer = 18; layerMaskLineCast = (1 << 17) | (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23) | (1 << 24) | (1 << 26); layerMaskOthersArrow = (1 << 17) | (1 << 19) | (1 << 20); break; case "_P3": line.gameObject.layer = 19; gameObject.layer = 19; layerMaskLineCast = (1 << 17) | (1 << 18) | (1 << 20) | (1 << 21) | (1 << 22) | (1 << 24) | (1 << 26); layerMaskOthersArrow = (1 << 17) | (1 << 18) | (1 << 20); break; case "_P4": line.gameObject.layer = 20; gameObject.layer = 20; layerMaskLineCast = (1 << 17) | (1 << 18) | (1 << 19) | (1 << 21) | (1 << 22) | (1 << 23) | (1 << 26); layerMaskOthersArrow = (1 << 17) | (1 << 18) | (1 << 19); break; default: print("Default case switch start Hook.cs"); break; } }