void Start() { shooter = GetComponentInParent<Gun>().GetComponentInParent<PlayerController>().gameObject; cameraShaker = FindObjectOfType<Camera>().GetComponent<CameraShaker>(); DisconnectFromParent(); // make projectile orphan SetProjectileTag(); }
public static void Initialize() { if (instance == null) { GameObject shaker = new GameObject("CameraShake"); shaker.transform.parent = Camera.main.transform; instance = shaker.AddComponent<CameraShaker>(); } }
public virtual void Awake() { if (cameraShaker == null) { cameraShaker = gameObject.GetComponent<CameraShaker>(); } if (attackSound == null) { attackSound = gameObject.GetComponent<SoundEffectHandler>(); } }
private IEnumerator ExeMeleeAttackCoroutine() { _originalSize = transform.localScale; _originalSpeed = _agent.speed; _originalMaterial = _renderer.material; _agent.speed = attackSpeed; _agent.SetDestination(GameSceneController.PlayerTransform.position); _renderer.material = attackMaterial; yield return(new WaitForSeconds(attackDuration)); _agent.speed = _originalSpeed; float startTime = Time.time; float timePast; do { yield return(null); timePast = Time.time - startTime; transform.localScale = Vector3.Lerp(_originalSize, attackSize, timePast / expandTime); transform.Rotate(0f, attackRotationSpeed * Time.deltaTime, 0f); } while (timePast < expandTime); Physics.OverlapSphereNonAlloc(transform.position, attackRange, _victims, 1 << LayerManager.PlayerLayer); if (_victims[0] != null) { _victims[0].GetComponent <PlayerController>().GetDamaged(identifierName, damage); } startTime = Time.time; do { yield return(null); timePast = Time.time - startTime; transform.localScale = Vector3.Lerp(attackShake, _originalSize, timePast / shrinkTime); transform.Rotate(0f, attackRotationSpeed * Time.deltaTime, 0f); } while (timePast < shrinkTime); _renderer.material = _originalMaterial; CameraShaker.ShakeAt(transform.position, attackShake); yield return(new WaitForSeconds(attackInterval)); _attackCoroutine = null; _isAttacking = false; }
/// <summary> /// 设置收到打击动画 /// </summary> public override void SetTakeHit(int amount) { if (Fsm.State != States.Normal) { return; } base.SetTakeHit(amount); //TODO: 被打动画 // if (!animator.GetCurrentAnimatorStateInfo(0).IsName("TakeHit")) animator.Play("TakeHit"); QMhelper.SetCurrentHp(Health.health); if (CameraShaker.Instance != null) { CameraShaker.InitShake(0.075f, 2f); } }
void AirJump() { StopCoyoteTimeout(); SoundManager.JumpSound(); CameraShaker.TinyShake(); EndShortHopWindow(); InterruptMeteor(); rb2d.velocity = new Vector2( x: rb2d.velocity.x, y: jumpSpeed ); ImpactDust(); airJumps--; anim.SetTrigger(Buttons.JUMP); InterruptAttack(); ChangeAirspeed(); }
void Die() { AlerterText.AlertList(deathText); // if the animation gets interrupted or something, use this as a failsafe Invoke("FinishDyingAnimation", 3f); this.dead = true; SoundManager.PlayerDieSound(); currentEnergy = 0; CameraShaker.Shake(0.2f, 0.1f); LockInSpace(); Freeze(); anim.SetTrigger("Die"); anim.SetBool("TouchingWall", false); InterruptEverything(); EndCombatStanceCooldown(); ResetAttackTriggers(); }
void Start() { player = GameObject.FindGameObjectWithTag("Player"); weapon = GameObject.FindGameObjectWithTag("Weapon"); //audioManager = GameObject.FindGameObjectWithTag("AudioManager"); cam = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <CameraShaker>(); Invoke("DestroyProjectile", lifeTime); if (effectDestroy != null) { Instantiate(effectDestroy, transform.position, Quaternion.identity); } int enemyProjectileLayer = LayerMask.NameToLayer("EnemyProjectile"); Physics2D.IgnoreLayerCollision(gameObject.layer, enemyProjectileLayer); }
// Update is called once per frame void Update() { if (Mutation == 1 && dnaChain3.winner2 != true) { cam2.backgroundColor = color1; if (shakeOnlyOnce == false) { CameraShaker.GetInstance("Main Camerap2").ShakeOnce(5f, 5f, .1f, 1); FindObjectOfType <AudioManager>().Play("Wrong"); shakeOnlyOnce = true; } } if (Mutation == 2 && dnaChain3.winner2 != true) { cam2.backgroundColor = color2; if (shakeOnlyOnce == true) { CameraShaker.GetInstance("Main Camerap2").ShakeOnce(5f, 5f, .1f, 1); FindObjectOfType <AudioManager>().Play("Wrong"); shakeOnlyOnce = false; } } if (Mutation == 3 && dnaChain3.winner2 != true) { cam2.backgroundColor = color3; gameOverText.SetActive(true); cameraParent2.transform.position = Vector3.Lerp(cameraParent2.transform.position, player.transform.position, 2f * Time.deltaTime); if (cam2.transform.position.y <= 1f) { cam2.backgroundColor = color4; gameOverText.SetActive(false); Mutation = 0; } if (shakeOnlyOnce == true) { CameraShaker.GetInstance("Main Camerap2").ShakeOnce(5f, 5f, .1f, 1); shakeOnlyOnce = false; } } }
void Die() { this.dead = true; SoundManager.PlayerDieSound(); this.envDmgSusceptible = false; currentEnergy = 0; CameraShaker.Shake(0.2f, 0.1f); deathParticles.Emit(50); LockInSpace(); Freeze(); anim.SetTrigger("Die"); anim.SetBool("touchingWall", false); DisableShooting(); InterruptEverything(); ResetAttackTriggers(); ResetAirJumps(); }
void Start() { ps = transform.parent.Find("ParticleSystem").GetComponent <ParticleSystem>(); CameraScript[] cameraRigs = GameObject.FindObjectsOfType <CameraScript>(); foreach (CameraScript rig in cameraRigs) { if (rig.playerToFollow == 1) { cameraShakerPlayer1 = rig.transform.GetChild(0).GetComponent <CameraShaker>(); } else if (rig.playerToFollow == 2) { cameraShakerPlayer2 = rig.transform.GetChild(0).GetComponent <CameraShaker>(); } } }
void Start() { // 처음에 미사일을 발사할 수 있도록 제어변수를 true로 설정 FireState = true; // 메모리 풀을 초기화합니다. MPool = new MemoryPool(); // PlayerMissile을 MissileMaxPool만큼 생성합니다. MPool.Create(Click, MissileMaxPool); // 배열도 초기화 합니다.(이때 모든 값은 null이 됩니다.) MissileArray = new GameObject[MissileMaxPool]; FireShoot = false; FireCount = 0; FireLimit = 50; Camera = GameObject.FindWithTag("MainCamera").GetComponent <CameraShaker>(); }
private static int StopSkillScreenEffect(IntPtr L) { // 如果处于CG中,当前相机会enable false,此时忽略这些效果 Camera cam = Main.Main3DCamera; if (cam == null || !cam.enabled) { return(0); } int count = LuaDLL.lua_gettop(L); const int nRet = 0; if (LuaScriptMgr.CheckTypes(L, 1, typeof(double))) { int effect_type = (int)LuaScriptMgr.GetNumber(L, 1); if (effect_type == 1) // 打断相机振动 { string key = (string)LuaScriptMgr.GetString(L, 2); CameraShaker cs = cam.gameObject.GetComponent <CameraShaker>(); if (cs != null && key != string.Empty) { cs.RemoveShakeNodeByKey(key); } else { HobaDebuger.LogWarning("error in StopSkillScreenEffect value check !"); } } else if (effect_type == 2) // 打断相机距离变换 { CCamCtrlMan.Instance.StopCameraStretching(); } else if (effect_type == 3) // 打断RadialBlur { var obj_go = LuaScriptMgr.GetUnityObject <GameObject>(L, 2); var blur = obj_go.GetComponentInChildren <RadialBlurBoot>(); if (blur != null) { blur.StopEffect(); } } } return(CheckReturnNum(L, count, nRet)); }
void Start() { cameraShaker = GameObject.FindWithTag("Main").GetComponent <CameraShaker>(); soundEffectManager = GameObject.FindWithTag("Main").GetComponent <SoundEffectManager>(); minWidth = (int)(Screen.width * 0.25f); maxWidth = (int)(Screen.width * 0.75f); minHeight = (int)(Screen.height * 0.25f); maxHeight = (int)(Screen.height * 0.75f); bloodIndex = new List <int>(); bloodRect = new List <Rect>(); bloodRotation = new List <int>(); bloodShowTime = new List <float>(); bloodShowedTime = new List <float>(); bloodShowTimeDelay = new List <float>(); }
CameraShaker cameraShake; //for accessing the cameraShake boolean on the main camera script *temp void Start() { cameraObj = GameObject.Find("Main Camera"); //find the main camera object *temp cameraShake = cameraObj.GetComponent <CameraShaker>(); //get access to the CameraShaker class *temp //default at start is main menu currentstate = MenuStates.mainM; mainMenu.SetActive(true); optionsMenu.SetActive(false); scenarioScreen.SetActive(false); spaceScreen.SetActive(false); endScreen.SetActive(false); missionScreen.SetActive(false); buildScreen.SetActive(false); alertsMenu.SetActive(false); inventoryMenu.SetActive(false); simulationMenu.SetActive(false); previousstate = currentstate; }
void FireProjectile(IProjectile projectile) { Vector2 firePosition = Camera.main.ScreenToWorldPoint(new Vector2(Input.mousePosition.x, Input.mousePosition.y)); Vector2 direction = firePosition - (Vector2)transform.position; direction.Normalize(); GameObject firedShot = Instantiate(projectile.GetObjectToInstantiate(), bulletSpawnPoint); firedShot.GetComponent <Rigidbody2D>().velocity = direction * projectile.GetProjectileSpeed(); CameraShaker cameraShaker = GetComponent <CameraShaker>(); firedShot.GetComponent <IProjectile>().ShakeCamera(cameraShaker); Destroy(firedShot, projectile.GetMaxTimelimit()); }
public void Die(TakeDamager damager, TakeDamageable damageable) { //Vector2 throwVector = new Vector2(0, 2.0f); //Vector2 damagerToThis = damager.transform.position - transform.position; //throwVector.x = Mathf.Sign(damagerToThis.x) * -4.0f; //SetMoveVector(throwVector); m_Animator.SetTrigger(m_HashDeathPara); dieAudio.PlayRandomSound(); m_Dead = true; //Debug.Log(moveVector); //m_Collider.enabled = false; gameObject.layer = 20; CameraShaker.Shake(0.15f, 0.3f); }
//Awake is always called before any Start functions private void Awake() { //Check if instance already exists if (instance == null) { //if not, set instance to this instance = this; } //If instance already exists and it's not this: else if (instance != this) { //Then destroy this. This enforces our singleton pattern, meaning there can only ever be one instance of a GameManager. Destroy(gameObject); } cameraTransform = Camera.main.transform; originalPosition = cameraTransform.localPosition; }
//called at the start of the supercruiseMid animation public void StartSupercruise() { preDashSpeed = Mathf.Abs(rb2d.velocity.x); OpenSupercruiseWings(); SoundManager.DashSound(); this.supercruise = true; anim.ResetTrigger("InterruptSupercruise"); anim.ResetTrigger("EndSupercruise"); BackwardDust(); wings.Open(); wings.EnableJets(); wings.SupercruiseMid(); Freeze(); CameraShaker.Shake(0.1f, 0.1f); //keep them level rb2d.constraints = RigidbodyConstraints2D.FreezeRotation | RigidbodyConstraints2D.FreezePositionY; }
void OnTriggerEnter2D(Collider2D other) { if (ignorePlayer && other.tag.ToLower().Contains("player")) { return; } if (other.CompareTag(Tags.EnemyHitbox)) { return; } if (impactShake) { CameraShaker.TinyShake(); } OnImpact(other); }
void Start() { shaker = cam.GetComponent <CameraShaker>(); Debug.Assert(shaker != null); deathEffect = cam.GetComponent <DeathEffectShader>(); Debug.Assert(deathEffect != null); for (int i = 0; i < weaponsList.Length; i++) { gunScript gun = weaponsList[i].GetComponent <gunScript>(); gunScriptList.Add(gun); } audioController = GetComponentInChildren <playerAudio>(); Debug.Assert(audioController != null); }
void Start() { maze = GameObject.FindWithTag("Main").GetComponent <MazeGenerator>(); lookAtPoint = GameObject.FindWithTag("LookAtPoint"); player = GameObject.FindWithTag("Player"); playerMentality = player.GetComponent <Mentality>(); playerCharacterMotor = player.GetComponent <CharacterMotor>(); playerMouseLook = player.GetComponent <MouseLook2>(); cameraShaker = GameObject.FindWithTag("Main").GetComponent <CameraShaker>(); soundEffectManager = GameObject.FindWithTag("Main").GetComponent <SoundEffectManager>(); soundEffectManager.adjustSound(); mainAudioSource = GameObject.FindWithTag("Main").GetComponent <AudioSource>(); bloodSplatter = GameObject.FindWithTag("Main").GetComponent <BloodSplatter>(); scoreboard = GameObject.FindWithTag("Main").GetComponent <Scoreboard>(); countDown = GameObject.FindWithTag("Main").GetComponent <CountDown>(); fadeOutAndFadeIn = Camera.main.GetComponent <FadeOutAndFadeIn>(); virtualPlayer = new GameObject(); virtualPlayer.name = "virtual player"; childrenRenderers = GetComponentsInChildren <Renderer>(); sphereCollider = GetComponent <SphereCollider>(); npcState = GetComponent <NPCState>(); npcState.state = NPCState.MAKING_DECISION; isInsane = false; isMoving = false; isCameraMoving = false; fakeBossPositionDelta = new Vector2(0, 0); if (GameMode.mode == GameMode.ESCAPING) { player.GetComponent <Compass>().enabled = false; } }
public override void ExtendedAttackLand(Entity e) { if (e == null) { return; } // the succ Rigidbody2D r = e.GetComponent <Rigidbody2D>(); if (pullInEntity && e.staggerable && r != null) { r.MovePosition(this.transform.position); } //run self knockback if (selfKnockBack) { SelfKnockBack(); } //give the player some energy if (gainsEnergy) { player.GainEnergy(this.energyGained); } //deplete energy if necessary if (costsEnergy) { player.LoseEnergy(this.energyCost); } if (attackLandEvent) { player.OnAttackLand(this); } //run hitstop if it's a player attack if (hitstopLength > 0.0f && this.gameObject.CompareTag(Tags.PlayerHitbox)) { Hitstop.Run(this.hitstopLength); CameraShaker.TinyShake(); } }
/// <summary> /// 死亡 /// </summary> public override void Die() { allowMove = false; Health.dead = true; allowAttack = false; if (CameraShaker.Instance != null) { CameraShaker.InitShake(0.25f, 1f); } Fsm.ChangeState(States.Dead, StateTransition.Overwrite); velocity = Vector2.zero; Instantiate(ResourceLoader.DeadUi); Fsm.ChangeState(States.Normal, StateTransition.Overwrite); HidePlayer(); }
public void Die(Damager damager, Damageable damageable) { Vector2 throwVector = new Vector2(0, 5.0f); Vector2 damagerToThis = damager.transform.position - transform.position; throwVector.x = Mathf.Sign(damagerToThis.x) * 4.0f; SetMoveVector(throwVector); animator.SetTrigger(hashDeathParameter); if (dieAudio != null) { dieAudio.PlayRandomSound(); } dead = true; collider.enabled = false; CameraShaker.Shake(0.15f, 0.3f); }
public void Trigger(TurtleDamage turtleDamage, bool extreme = false) { this.turtleDamage = turtleDamage; turtleDamage.IsInvincible = true; isInvicibilityActive = true; invincibilityTimer = 0f; isExtreme = extreme; isEffectActive = true; effectTimer = 0f; fadeDirection = 1; if (extreme) { CameraShaker.Shake(CameraShakeMagnitude * ExtremeMultiplier, CameraShakeRoughness * ExtremeMultiplier, EffectHalfDuration * ExtremeMultiplier / 2f, EffectHalfDuration * ExtremeMultiplier / 2f, EffectHalfDuration * ExtremeMultiplier); } else { CameraShaker.Shake(CameraShakeMagnitude, CameraShakeRoughness, EffectHalfDuration / 2f, EffectHalfDuration / 2f, EffectHalfDuration); } }
protected virtual void OnEntityEnter(Health health) { if (healthsDamaged.Contains(health)) { return; } // camera shake if (CameraShaker.Instance != null) { CameraShaker.InitShake(0.2f, 1f); } var damaged = health.TakeDamage(Damage); if (damaged) { healthsDamaged.Add(health); } }
// メインカメラ(デフォルト)をゲットして振動する public static void ShakeOnce(float duration = 1.0f, float speed = 10.0f, Vector3?amount = null, Camera camera = null, bool deltaMovement = true, AnimationCurve curve = null) { // 初期化のセット CameraShaker instance = ((camera != null) ? camera : Camera.main).gameObject.AddComponent <CameraShaker>(); instance._duration = duration; instance._speed = speed; if (amount != null) { instance._amount = (Vector3)amount; } if (curve != null) { instance._curve = curve; } instance._deltaMovement = deltaMovement; instance._destroyAfterPlay = true; instance.Shake(); }
void OnCollisionEnter2D(Collision2D other) { source.pitch = Random.Range(lowPitchRange, highPitchRange); float hitVol = other.relativeVelocity.magnitude * velToVol; if (other.collider.tag == "Wall") { rb.velocity = CalculateBallVelocity(ballSpeedIncrementOnBounce); // float forward = Mathf.Atan2(rb.velocity.y, rb.velocity.x) * Mathf.Rad2Deg; // transform.rotation = Quaternion.Euler(0f, 0f, forward); source.PlayOneShot(hitWall, hitVol); float shakeDuration = 0.2f * (Mathf.Max(Mathf.Abs(rb.velocity.x), Mathf.Abs(rb.velocity.y)) / ballMaxSpeed); float shakeAmount = 0.1f * (Mathf.Max(Mathf.Abs(rb.velocity.x), Mathf.Abs(rb.velocity.y)) / ballMaxSpeed);; CameraShaker.Shake(shakeDuration, shakeAmount); } else if (other.collider.tag == "Player") { other.collider.GetComponent <LivingEntity>().TakeDamage(999); CameraShaker.Shake(0.3f, 0.3f); } }
/// <summary> /// 检查场景内敌人, 敌人全部被消灭后开门 /// </summary> private void CheckForEnemiesToOpen() { if (opened || AreEnemiesAlive()) { return; } Pickable = true; opened = true; if (CameraShaker.Instance != null) { CameraShaker.InitShake(0.2f, 1f); } if (!animator.GetCurrentAnimatorStateInfo(0).IsName("Open")) { animator.Play("Open"); } AudioManager.Instance.PlayAmbientSoundEffect("DoorOpen"); }
// Start is called before the first frame update void Start() { //Initialize the components myRigidbody = GetComponent <Rigidbody2D>(); myBoxCollider = GetComponent <BoxCollider2D>(); knight = FindObjectOfType <Knight>(); cameraShaker = FindObjectOfType <CameraShaker>(); isKnightFacingRight = knight.isFacingRight; //Determine when direction the projectile should be facing when it first appears if (isKnightFacingRight) { // reverse the current scaling if the x axis transform.localScale = new Vector2(-1f, 1f); } else { // reverse the current scaling if the x axis transform.localScale = new Vector2(1f, 1f); } }
private void OnTriggerEnter2D(Collider2D other) { if (other.tag == "Player") { if (SAYController.instance.isInvincible == false) { CameraShaker.ShakeStrong(.20f, .35f); SAYPlayerHealthController.instance.DamagePlayer(); Destroy(gameObject); } } if (other.tag != "Player") { Destroy(gameObject); } foreach (Transform t in firePoints) { Instantiate(bulletGoesRight, t.position, t.rotation); } }
public void Shake() { if (zAmplitude == 0 && xRotAmplitude == 0 && yRotAmplitude == 0) { CameraShaker.Shake(xAmplitude, xFrequency, xDephasing, xDamping, yAmplitude, yFrequency, yDephasing, yDamping, zRotAmplitude, zRotFrequency, zRotDephasing, zRotDamping, shakeTime, timeToFade); } else { CameraShaker.Shake(xAmplitude, xFrequency, xDephasing, xDamping, yAmplitude, yFrequency, yDephasing, yDamping, zAmplitude, zFrequency, zDephasing, zDamping, xRotAmplitude, xRotFrequency, xRotDephasing, xRotDamping, yRotAmplitude, yRotFrequency, yRotDephasing, yRotDamping, zRotAmplitude, zRotFrequency, zRotDephasing, zRotDamping, shakeTime, timeToFade); } }
void Awake() { shaker = this; }
// Use this for initialization void Start() { _shaker = FindObjectOfType<CameraShaker>(); }
private void Initialize() { Inst = this; //Initializing CsDebug CsDebug debug = GetComponent<CsDebug>(); debug.Initialize(); //Initializing DBManager DBManager = new DBManager(); DBManager.Initialize(); //Initializing Event Manager EventManager = new EventManager(); EventManager.Initialize(); ItemManager = new ItemManager(); ItemManager.Initialize(); //Initializing NPC Manager NPCManager = new NPCManager(); NPCManager.Initialize(); PlayerControl = new PlayerControl(); PlayerControl.Initialize(); UIManager = new UIManager(); UIManager.Initialize(); MutantCharacter mutant1 = GameObject.Find("MutantCharacter").GetComponent<MutantCharacter>(); mutant1.Initialize(); mutant1.MyStatus.MaxHealth = 200; mutant1.MyStatus.Health = 200; mutant1.MyAI.BlackBoard.PatrolLoc = new Vector3(70, 0, -54); mutant1.MyAI.BlackBoard.PatrolRange = new Vector3(10, 5, 10); mutant1.MyAI.BlackBoard.CombatRange = new Vector3(20, 5, 20); mutant1.MyAI.BlackBoard.HasPatrolInfo = true; //HumanCharacter enemy1 = GameObject.Find("HumanCharacter2").GetComponent<HumanCharacter>(); HumanCharacter enemy2 = GameObject.Find("HumanCharacter4").GetComponent<HumanCharacter>(); //HumanCharacter enemy3 = GameObject.Find("HumanCharacter5").GetComponent<HumanCharacter>(); //HumanCharacter enemy4 = GameObject.Find("HumanCharacter6").GetComponent<HumanCharacter>(); AISquad enemySquad = new AISquad(); //enemySquad.Members.Add(enemy1); enemySquad.Members.Add(enemy2); //enemySquad.Members.Add(enemy3); //enemySquad.Members.Add(enemy4); /* enemy1.Initialize(); enemy1.MyAI.Squad = enemySquad; ItemManager.LoadNPCInventory(enemy1.Inventory); enemy1.MyAI.WeaponSystem.LoadWeaponsFromInventory(); */ enemy2.Initialize(); enemy2.MyAI.Squad = enemySquad; ItemManager.LoadNPCInventory(enemy2.Inventory); enemy2.MyAI.WeaponSystem.LoadWeaponsFromInventory(); /* enemy3.Initialize(); enemy3.MyAI.Squad = enemySquad; ItemManager.LoadNPCInventory(enemy3.Inventory); enemy3.MyAI.WeaponSystem.LoadWeaponsFromInventory(); enemy4.Initialize(); enemy4.MyAI.Squad = enemySquad; ItemManager.LoadNPCInventory(enemy4.Inventory); enemy4.MyAI.WeaponSystem.LoadWeaponsFromInventory(); */ //enemy1.MyStatus.MaxHealth = 160; //enemy1.MyStatus.Health = 160; enemy2.MyStatus.MaxHealth = 100; enemy2.MyStatus.Health = 100; /* enemy3.MyStatus.MaxHealth = 80; enemy3.MyStatus.Health = 80; enemy4.MyStatus.MaxHealth = 100; enemy4.MyStatus.Health = 100; */ enemySquad.IssueSquadCommand(); CameraController = GameObject.Find("CameraController").GetComponent<CameraController>(); CameraController.Initialize(); CameraShaker = CameraController.GetComponent<CameraShaker>(); CameraShaker.Initialize(); FXManager = new FXManager(); FXManager.Initialize(50); AIScheduler = new AIScheduler(); AIScheduler.Initialize(); CursorManager = new CursorManager(); CursorManager.Initialize(); StartCoroutine(DoPerSecond()); StartCoroutine(DoPerHalfSecond()); }
void OnDestroy() { shaker = null; }
void Start() { instance = this; // originalPos = Camera.main.transform.localPosition; }