public void SetBloodBossAmount(float bloodAmount, XKNpcHealthCtrl bossHealth = null) { if (bossHealth != null && bloodAmount == -1f) { BossHealthScript = bossHealth; //存储Boss血量脚本. } if (!IsCanSubXueTiaoAmount) { return; } if (!gameObject.activeSelf) { return; } bloodAmount = bloodAmount > 1f ? 1f : bloodAmount; bloodAmount = bloodAmount < 0f ? 0f : bloodAmount; BossXueTiaoSprite.fillAmount = bloodAmount; if (bloodAmount <= 0f) { //JiFenJieMianCtrl.GetInstance().ShowFinishTaskInfo(); IsWuDiPlayer = true; Invoke("DelayActiveJiFenJieMian", 4f); XkGameCtrl.BossRemoveAllNpcAmmo(); AudioBeiJingCtrl.StopGameBeiJingAudio(); HiddenBossXueTiao(); if (BossHealthScript != null && bossHealth == null) { BossHealthScript.OnDamageNpc(99999999, PlayerEnum.Null); } } }
void OnTriggerExit(Collider other) { XKNpcMoveCtrl npcMoveCom = other.gameObject.GetComponent <XKNpcMoveCtrl>(); if (npcMoveCom != null && npcMoveCom.IsCaiPiaoZhanChe) { //Debug.Log("Unity: OnTriggerExit******************name === " + npcMoveCom.name); if (npcMoveCom.GetIsBossNpc() == true) { //Boss走出镜头范围. if (XkGameCtrl.GetInstance() != null && XkGameCtrl.GetInstance().m_AiPathGroup != null && XkGameCtrl.GetInstance().m_AiPathGroup.m_CameraMoveType != AiPathGroupCtrl.MoveState.YuLe) { XkGameCtrl.GetInstance().m_AiPathGroup.SetCameraMoveType(AiPathGroupCtrl.MoveState.Default); } npcMoveCom.TriggerRemovePointNpc(0); //boss删除后切换背景音效. AudioBeiJingCtrl.StopGameBeiJingAudio(); //镜头继续移动. XkGameCtrl.GetInstance().SetGameCameraIsMoveing(true, NpcJiFenEnum.Boss); } else { //彩票战车npc走出镜头范围. npcMoveCom.TriggerRemovePointNpc(0); //镜头继续移动. XkGameCtrl.GetInstance().SetGameCameraIsMoveing(true, NpcJiFenEnum.CheLiang); } } }
public void PlayGuanKaBeiJingAudio(int indexBeiJingAd = 0) { indexBeiJingAd = indexBeiJingAd % AudioListCtrl.GetInstance().ASGuanKaBJ.Length; int audioIndex = indexBeiJingAd; // int audioIndex = Application.loadedLevel - 1; // if (XkGameCtrl.GetInstance().IsCartoonShootTest) { // audioIndex = 1; //test // } if (AudioListCtrl.GetInstance().ASGuanKaBJ[audioIndex] != null) { AudioSource audioVal = AudioListCtrl.GetInstance().ASGuanKaBJ[audioIndex].gameObject.AddComponent <AudioSource>(); audioVal.clip = AudioListCtrl.GetInstance().ASGuanKaBJ[audioIndex].clip; AudioBeiJingCtrl beiJingAudio = AudioListCtrl.GetInstance().ASGuanKaBJ[audioIndex].GetComponent <AudioBeiJingCtrl>(); if (beiJingAudio != null) { audioVal.volume = beiJingAudio.m_VolumeStart; //Debug.Log("Unity: volume ================= " + beiJingAudio.m_VolumeStart); } //audioVal.volume = AudioListCtrl.GetInstance().ASGuanKaBJ[audioIndex].volume; AudioListCtrl.GetInstance().RemoveAudioSource(AudioListCtrl.GetInstance().ASGuanKaBJ[audioIndex]); AudioListCtrl.GetInstance().ASGuanKaBJ[audioIndex] = audioVal; } AudioListCtrl.PlayAudioSource(AudioListCtrl.GetInstance().ASGuanKaBJ[audioIndex], 2); }
public static void StopLoopAudio(AudioSource asVal, int key = 0) { if (asVal == null) { return; } TweenVolume tVol = asVal.GetComponent <TweenVolume>(); switch (key) { case 0: asVal.Stop(); break; case 1: if (tVol != null) { tVol.enabled = true; } AudioManager.Instance.MoveAudioManagerObj(); break; case 2: AudioBeiJingCtrl beiJingAudioScript = asVal.GetComponent <AudioBeiJingCtrl>(); beiJingAudioScript.MakeBeiJiAudioDownVolum(); break; } }
void OnTriggerEnter(Collider other) { if (other.GetComponent <XkPlayerCtrl>() == null) { return; } AudioBeiJingCtrl.StopGameBeiJingAudio(); }
/// <summary> /// 创建npc. /// npcType 产生的npc类型. /// pointState 产生点的方位信息. /// </summary> void CreatNpcObj(NpcState npcType, SpawnPointState pointState) { //Debug.Log("Unity: CreatNpcObj -> npcType ====== " + npcType + ", pointState ======= " + pointState); if (pointState == SpawnPointState.Null) { //pointState为null时不用产生战车npc. return; } NpcSpawnData data = GetNpcSpawnData(npcType, pointState); if (data != null) { GameObject obj = data.CreatPointNpc(); if (obj != null) { XKNpcMoveCtrl npcMove = null; switch (npcType) { case NpcState.ZhanChe: { if (XkGameCtrl.GetInstance() != null && XkGameCtrl.GetInstance().m_AiPathGroup != null && XkGameCtrl.GetInstance().m_AiPathGroup.m_CameraMoveType != AiPathGroupCtrl.MoveState.YuLe) { XkGameCtrl.GetInstance().m_AiPathGroup.SetCameraMoveType(AiPathGroupCtrl.MoveState.Default); } m_ZhanCheJPBossData.ZhanCheData.AddNpcToList(obj); break; } case NpcState.JPBoss: { if (XkGameCtrl.GetInstance() != null && XkGameCtrl.GetInstance().m_AiPathGroup != null && XkGameCtrl.GetInstance().m_AiPathGroup.m_CameraMoveType != AiPathGroupCtrl.MoveState.YuLe) { XkGameCtrl.GetInstance().m_AiPathGroup.SetCameraMoveType(AiPathGroupCtrl.MoveState.Boss); } m_ZhanCheJPBossData.JPBossData.AddNpcToList(obj); npcMove = obj.GetComponent <XKNpcMoveCtrl>(); if (npcMove != null) { switch (pointState) { case SpawnPointState.Up: { npcMove.m_TriggerDir = SSTriggerCaiPiaoBossMove.TriggerDir.Qian; break; } case SpawnPointState.Down: { npcMove.m_TriggerDir = SSTriggerCaiPiaoBossMove.TriggerDir.Hou; break; } case SpawnPointState.Left: { npcMove.m_TriggerDir = SSTriggerCaiPiaoBossMove.TriggerDir.Zuo; break; } case SpawnPointState.Right: { npcMove.m_TriggerDir = SSTriggerCaiPiaoBossMove.TriggerDir.You; break; } } } if (XKBossLXCtrl.GetInstance() != null) { //播放boss来袭UI. XKBossLXCtrl.GetInstance().StartPlayBossLaiXi(); AudioBeiJingCtrl.StopGameBeiJingAudio(); } break; } case NpcState.SuperJPBoss: { if (XkGameCtrl.GetInstance() != null && XkGameCtrl.GetInstance().m_AiPathGroup != null && XkGameCtrl.GetInstance().m_AiPathGroup.m_CameraMoveType != AiPathGroupCtrl.MoveState.YuLe) { XkGameCtrl.GetInstance().m_AiPathGroup.SetCameraMoveType(AiPathGroupCtrl.MoveState.Boss); } m_ZhanCheJPBossData.SuperJPBossData.AddNpcToList(obj); npcMove = obj.GetComponent <XKNpcMoveCtrl>(); if (npcMove != null) { switch (pointState) { case SpawnPointState.Up: { npcMove.m_TriggerDir = SSTriggerCaiPiaoBossMove.TriggerDir.Qian; break; } case SpawnPointState.Down: { npcMove.m_TriggerDir = SSTriggerCaiPiaoBossMove.TriggerDir.Hou; break; } case SpawnPointState.Left: { npcMove.m_TriggerDir = SSTriggerCaiPiaoBossMove.TriggerDir.Zuo; break; } case SpawnPointState.Right: { npcMove.m_TriggerDir = SSTriggerCaiPiaoBossMove.TriggerDir.You; break; } } } if (XKBossLXCtrl.GetInstance() != null) { //播放boss来袭UI. XKBossLXCtrl.GetInstance().StartPlayBossLaiXi(); AudioBeiJingCtrl.StopGameBeiJingAudio(); } break; } } } } }
void CheckNpcDeathExplode(PlayerEnum indexPlayer = PlayerEnum.Null) { if (DeathExplode == null) { return; } if (NpcScript != null && NpcScript.IsCaiPiaoZhanChe) { SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState deCaiType = SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.ZhanChe; //彩票boss或战车npc. if (NpcScript.GetIsBossNpc()) { deCaiType = SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.JPBoss; AudioBeiJingCtrl.StopGameBeiJingAudio(); } if (XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage != null) { int value = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameCaiPiaoData.GetPrintCaiPiaoValueByDeCaiState(deCaiType, SSCaiPiaoDataManage.SuiJiDaoJuState.BaoXiang, NpcScript.m_DaiJinQuanState); if (DeathExplodePoint != null) { //Vector3 pos = XkGameCtrl.GetInstance().GetWorldObjToScreenPos(objExplode.transform.position); SSCaiPiaoDataManage.GameCaiPiaoData.DaiJinQuanState daiJinQuanType = NpcScript.m_DaiJinQuanState; SSUIRoot.GetInstance().m_GameUIManage.CreatZhanCheBossCaiPiaoZhuanPan(indexPlayer, value, DeathExplodePoint.position, deCaiType, DeathExplode, daiJinQuanType); //SSCaiPiaoLiZiManage caiPiaoLiZi = objExplode.GetComponent<SSCaiPiaoLiZiManage>(); //if (caiPiaoLiZi != null) //{ // caiPiaoLiZi.ShowNumUI(value, indexPlayer); //} //else //{ // Debug.LogWarning("CheckNpcDeathExplode -> caiPiaoLiZi was null................."); //} if (deCaiType == SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.JPBoss) { //只给boss产生爆炸粒子. GameObject objExplode = (GameObject)Instantiate(DeathExplode, DeathExplodePoint.position, DeathExplodePoint.rotation); objExplode.transform.parent = XkGameCtrl.NpcAmmoArray; XkGameCtrl.CheckObjDestroyThisTimed(objExplode); SSCaiPiaoLiZiManage caiPiaoLiZi = objExplode.GetComponent <SSCaiPiaoLiZiManage>(); if (caiPiaoLiZi != null) { caiPiaoLiZi.ShowNumUI(value, indexPlayer); } else { Debug.LogWarning("CheckNpcDeathExplode -> caiPiaoLiZi was null................."); } } } } //if (deCaiType == SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.ZhanChe) //{ // if (XkGameCtrl.GetInstance().m_CaiPiaoFlyData != null) // { // //初始化飞出的彩票逻辑. // XkGameCtrl.GetInstance().m_CaiPiaoFlyData.InitCaiPiaoFly(transform.position, indexPlayer, SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.ZhanChe); // } // else // { // Debug.LogWarning("CreatLiZi -> m_CaiPiaoFlyData was null............"); // } //} //else if (deCaiType == SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.JPBoss) //{ // if (SSUIRoot.GetInstance().m_GameUIManage != null) // { // SSUIRoot.GetInstance().m_GameUIManage.InitCaiPiaoAnimation(XkGameCtrl.GetInstance().m_CaiPiaoFlyData.m_JPBossCaiPiaoFlyDt.TimeLeiJiaVal, indexPlayer); // } // if (XkGameCtrl.GetInstance().m_CaiPiaoFlyData != null) // { // //初始化烟花粒子的产生. // XkGameCtrl.GetInstance().m_CaiPiaoFlyData.InitPlayCaiPiaoYanHua(); // } // else // { // Debug.LogWarning("CreatLiZi -> m_CaiPiaoFlyData was null............"); // } //} } else { GameObject objExplode = (GameObject)Instantiate(DeathExplode, DeathExplodePoint.position, DeathExplodePoint.rotation); objExplode.transform.parent = XkGameCtrl.NpcAmmoArray; XkGameCtrl.CheckObjDestroyThisTimed(objExplode); } }
void OnTriggerExit(Collider other) { XKNpcMoveCtrl npcMoveCom = other.gameObject.GetComponent <XKNpcMoveCtrl>(); if (npcMoveCom != null && npcMoveCom.IsCaiPiaoZhanChe) { //Debug.Log("Unity: OnTriggerExit******************name === " + npcMoveCom.name); bool isExit = false; switch (m_TriggerState) { case TriggerState.JPBoss: { if (npcMoveCom.IsEnterCameraBox == true && npcMoveCom.GetIsBossNpc() == true) { isExit = true; } if (npcMoveCom.IsCaiPiaoZhanChe == false) { //普通npc走出JPBoss的镜头范围盒子. if (XkPlayerCtrl.GetInstanceFeiJi() != null) { if (XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage != null) { XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.RemovePuTongNpcToBuJiDt(npcMoveCom.gameObject); } } } break; } case TriggerState.ZhanCheBoss: { if (npcMoveCom.IsEnterCameraBox == true && npcMoveCom.GetIsBossNpc() == false) { isExit = true; } break; } } if (isExit == false) { return; } if (npcMoveCom.GetIsBossNpc() == true) { //Boss走出镜头范围. if (XkGameCtrl.GetInstance() != null && XkGameCtrl.GetInstance().m_AiPathGroup != null && XkGameCtrl.GetInstance().m_AiPathGroup.m_CameraMoveType != AiPathGroupCtrl.MoveState.YuLe) { XkGameCtrl.GetInstance().m_AiPathGroup.SetCameraMoveType(AiPathGroupCtrl.MoveState.Default); } npcMoveCom.TriggerRemovePointNpc(0); //boss删除后切换背景音效. AudioBeiJingCtrl.StopGameBeiJingAudio(); //镜头继续移动. XkGameCtrl.GetInstance().SetGameCameraIsMoveing(true, NpcJiFenEnum.Boss); } else { //彩票战车npc走出镜头范围. npcMoveCom.TriggerRemovePointNpc(0); //镜头继续移动. XkGameCtrl.GetInstance().SetGameCameraIsMoveing(true, NpcJiFenEnum.CheLiang); //SSDebug.LogWarning("SSTriggerCamerBox::OnTriggerExit -> time ==================== " + Time.time); } } }