private void OnTriggerEnter(Collider other) { if (other.CompareTag("Player")) { CharacterController cc = other.GetComponent <CharacterController>(); switch (skillIndex) { case 0: if (cc.BotPlayer) { AIHandler handler = cc.GetComponent <AIHandler>(); handler.ClearGunDecisionFlags(); handler.AK47Taken = true; gm.CharCameraController.ArmedCharacters.Add(other.transform); } else { gm.CharCameraController.GunPicked = true; gm.gpUI.ChangeGunFistSprite(false); } cc.AK47Picked = true; cc.PickAK47(); break; case 1: if (cc.BotPlayer) { AIHandler handler = other.GetComponent <AIHandler>(); handler.ClearGunDecisionFlags(); handler.RocketTaken = true; gm.CharCameraController.ArmedCharacters.Add(other.transform); } else { gm.CharCameraController.GunPicked = true; gm.gpUI.ChangeGunFistSprite(false); } cc.RocketPicked = true; cc.PickRocketLauncher(); cc.faceExpHandler.ChangeFaceExpression(FaceExpressionHandler.FaceExpressions.ANGRY); cc.ReturnToSmile = false; break; case 2: cc.SpeedSkillPicked = true; cc.SetDoubleSpeed(); break; case 3: cc.GrowSkillPicked = true; cc.Grow(); break; case 4: cc.IncreaseHealth(25); break; case 5: cc.ActivateBombSkill(); if (!cc.BotPlayer) { gm.CharCameraController.ShakeCameraTrigger = true; } break; } if (skillIndex != 5) { Instantiate(PickableSkillEffect, transform.position + Vector3.up * 1f, PickableSkillEffect.transform.rotation); } else { Instantiate(BombSkillEffect, transform.position, BombSkillEffect.transform.rotation); } cc.PlaySkillSoundFX(skillIndex); gm.InformAIsSkillPicked(); gm.CharCameraController.SkillPositions.Remove(transform.position); Destroy(gameObject); } else if (other.CompareTag("Obstacle")) { other.transform.position += Vector3.right * 6; } }