private void Awake() { bossEnemy_AI = GetComponent <Boss_AI>(); cameraShake = FindObjectOfType <CameraShake>(); soundManager = FindObjectOfType <SoundManager>(); playerCount = FindObjectOfType <PlayerCount>(); InitialiseClassInstance(); StartCoroutine(nameof(FadeInHealthbarUICoroutine)); }
void Awake() { bossEnemy = this.gameObject.GetComponentInParent <BossEnemy>(); boss_AI = this.gameObject.GetComponentInParent <Boss_AI>(); shootPositions = this.gameObject.transform.GetChild(2).gameObject.GetComponent <ShootPositions>(); spriteGameObject = this.gameObject.transform.GetChild(3).gameObject; spriteRenderer = spriteGameObject.GetComponent <SpriteRenderer>(); topPosition = this.gameObject.transform.GetChild(0); bottomPosition = this.gameObject.transform.GetChild(1); if (changedHand == null) { changedHand = new UnityEvent(); changedHand.AddListener(HandFunctionality); } }
void PlaySpecialAnimation() { GameLibrary.isBossChuChang = true; CharacterManager.instance.PlayerStop(); if (bossSpawnMonster != null) { bossSpawnMonster.OnCreatMonster += (GameObject mBossObj, CharacterData cd) => { mCurBoss = mBossObj.GetComponent <CharacterState>(); if (mCurBoss.mBossShowCamera != null) { AudioController.Instance.PlayEffectSound("BOSS/Boss_" + cd.attrNode.modelNode.modelPath, CharacterManager.playerCS); mBossAI = mCurBoss.GetComponent <Boss_AI>(); if (mBossAI != null) { mBossAI.enabled = false; } GameLibrary.Instance().SetCsInvisible(CharacterManager.playerCS, true, skinned); SetUICameraDepthAndCullingMask(); mCurBossAni = mCurBoss.pm.ani; mCurBoss.pm.Enter(); mCurBoss.OnEnterOver += (mCs) => { if (mBossAI != null) { mBossAI.enabled = true; } GameLibrary.isBossChuChang = false; mCs.mBossShowCamera.gameObject.SetActive(false); GameLibrary.Instance().SetCsInvisible(CharacterManager.playerCS, false, skinned); }; mCurBoss.mBossShowCamera.gameObject.SetActive(true); } else { GameLibrary.isBossChuChang = false; } }; bossSpawnMonster.StartSpawn(); } }
void Spawn_boss() { dist = 10; //adjust spawn number if (spawns_boss > 0) { //obj = GameObject.CreatePrimitive(PrimitiveType.Plane); sprite = Instantiate(GameObject.FindGameObjectWithTag("Boss")); sprite.tag = "_boss"; vec.x = Random.Range(2.3f, 15f); vec.y = gameObject.transform.position.y; rand_num = (int)Mathf.Floor(UnityEngine.Random.Range(0f, 2f)); if (rand_num == 0 && gameObject.transform.position.z > .5) { dist *= -1; } vec.z = gameObject.transform.position.z + dist; sprite.transform.position = vec; vec.x = 10; vec.y = -90f; vec.z = 0; sprite.transform.rotation = Quaternion.Euler(vec); Rigidbody rb = sprite.AddComponent <Rigidbody>(); BoxCollider BC = sprite.AddComponent <BoxCollider>(); vec = BC.size; vec.x = 1.21f; vec.y = 3f; vec.z = 1.5f; BC.size = vec; //BC.isTrigger = true; //sprite.AddComponent<BoxCollider2D>(); sprite.transform.parent = null; Boss_AI B_AI = sprite.AddComponent <Boss_AI>(); rb.mass = 5; rb.freezeRotation = true; //obj.transform.Rotate(vec, Time.deltaTime*10f); spawns_boss--; } }
void PlayEntranceAnimation() { GameLibrary.isBossChuChang = true; CharacterManager.instance.PlayerStop(); if (bossSpawnMonster != null) { bossSpawnMonster.OnCreatMonster += (GameObject mBossObj, CharacterData cd) => { GameLibrary.Instance().SetCsInvisible(CharacterManager.playerCS, true, skinned); SetUICameraDepthAndCullingMask(); GameObject mEntranceCamera = new GameObject("mEntranceCamera"); mEntranceCamera.transform.parent = mBossObj.transform.parent; Camera mCamera = mEntranceCamera.AddComponent <Camera>(); mCamera.depth = Camera.main.depth + 1; mCamera.cullingMask = Camera.main.cullingMask; mCurBoss = mBossObj.GetComponent <CharacterState>(); mBossAI = mCurBoss.GetComponent <Boss_AI>(); if (mBossAI != null) { mBossAI.enabled = false; } AddBossName(); float mExtendSize = GetMeshSize(mCurBoss); mCurBoss.transform.forward = CharacterManager.playerCS.transform.position - mCurBoss.transform.position; mEntranceCamera.transform.forward = mCurBoss.transform.position - CharacterManager.playerCS.transform.position; mEntranceCamera.transform.position = CharacterManager.playerCS.transform.position + mEntranceCamera.transform.forward * 0.1f; mEntranceCamera.transform.localPosition = new Vector3(mEntranceCamera.transform.localPosition.x, mCurBoss.transform.localPosition.y + mExtendSize + 0.05f, mEntranceCamera.transform.localPosition.z); float mExtendDis = Vector3.Distance(CharacterManager.playerCS.transform.position, mCurBoss.transform.position) - mExtendSize - mBossLength - mCamera.nearClipPlane - 0.1f; //if (cd.attrNode.icon_name.Equals("gw_082") || cd.attrNode.icon_name.Equals("gw_113")) mExtendDis -= mExtendSize * 2.0f; TweenPosition td = mEntranceCamera.AddComponent <TweenPosition>(); SetTweenPositon(td, mEntranceCamera.transform.localPosition, mEntranceCamera.transform.localPosition + mEntranceCamera.transform.forward * mExtendDis, UITweener.Style.Once, UITweener.Method.Linear, 0.5f); td.SetOnFinished(() => { SwitchSlowAnimation(mEntranceCamera, mCurBoss); }); }; bossSpawnMonster.StartSpawn(); } }