//TODO 사용방법 //? 다른 C# 스크립트로 가서 string 변수로 음악 닉네임을 적은 다음 //!? StartCorutin(SoundManager.instance.메서드이름(변수); 하면 된다. /// <summary> /// SoundManager.cs File 에 포함된 함수로써 /// 효과음을 실행하기 위해 만들어진 메서드 이다. /// _name은 play_seName 변수와 비교하여 실행 하도록 한다. /// </summary> /// <param name="_name"></param> /// <returns></returns> public IEnumerator Play_SE(string _name) { //Todo: Mp3 파일 검색 for (int i = 0; i < se_file.Length; i++) { //Todo: 닉네임이 등록된 MP3 파일의 닉네임과 동일 할 때 if (_name.ToLower().Trim().Equals(se_file[i].name.ToLower().Trim())) { //!? Debug ConsoleProDebug.Watch("SE Equals", _name.ToLower().Trim().Equals(se_file[i].name.ToLower().Trim()) + ""); //Todo: 재생중이지 않은 오디오 소스 찾기 for (int j = 0; j < audioSource_SE.Length; j++) { //Todo: 사용중이지 않는 오디오 소스를 발견할 경우 if (!audioSource_SE[j].isPlaying) { play_seName[j] = se_file[i].name; //! 재생중인 효과음 이름을 등록 audioSource_SE[j].clip = se_file[i].clip; //! 클립 등록 audioSource_SE[j].Play(); //! 오디오 재생 //? Debug ConsoleProDebug.Watch("SE Play", se_file[i].name); yield break; //! 함수 자체 종료 } } //Todo: 만약 재생중이지 않은 오디오 소스가 없을 경우 //? Debug ConsoleProDebug.Watch("SE Not Play", se_file[i].name); yield break; //! 중지 } } }
public void StartMission() { SimpleMissionManager.Instance.CurrentMission = this; SimpleMissionManager.Instance.missionList.AddIfNotExists(missionName, this); startPoint.MissionStart(); OnMissionStart?.Invoke(); switch (missionType) { case MissionType.TRAVEL: Mission_Travel_Start(); break; case MissionType.DESTROY: Mission_Destroy_Start(); break; case MissionType.COLLECT: Mission_Collect_Start(); break; default: throw new ArgumentOutOfRangeException(); } ConsoleProDebug.LogToFilter($"Mission {missionName} Started : Type => {missionType}", "Missions"); }
/// <summary> /// SoundManager.cs File 에 포함된 함수로써 /// 배경음악을 실행하기 위해 만들어진 메서드 이다. /// _name은 play_seName 변수와 비교하여 실행 하도록 한다. /// </summary> /// <param name="_name"></param> /// <returns></returns> public IEnumerator Play_BGM(string _name) { //Todo Mp3 파일 검색 for (int i = 0; i < bgm_file.Length; i++) { //Todo 닉네임이 동일할 경우 if (_name.Trim().ToLower().Equals(bgm_file[i].name.Trim().ToLower())) { //Todo 마지막으로 이 배경음악 전용 오디오 컴퍼넌트가 실행되고 있는 상태일 경우 if (!audioSource_BGM.isPlaying) { play_bgmName = bgm_file[i].name; //! 배경음악 이름 등록 audioSource_BGM.clip = bgm_file[i].clip; //! BGM 클립 교체 audioSource_BGM.Play(); //? Debug ConsoleProDebug.Watch("BGM Play", bgm_file[i].name); yield break; //! 함수 자체 종료 } } } //Todo: 만약 재생중이지 않은 오디오 소스가 없을 경우 Debug.Log("배경음악 등록 되있지 않습니다."); yield break; //! 함수 자체 종료 }
private void OnTriggerEnter(Collider other) { if (!other.gameObject.CompareTag(tagToCheck)) { return; } OnDoorApproached?.Invoke(); ConsoleProDebug.LogToFilter($"Mission {thisMission.name} Door Approached : Type => {thisMission.missionType}", "Missions"); }
/// <summary> /// 실행중인 효과음을 모두 정지시킨다. /// void 형식이라 StartCorutine 안써도 됨. /// </summary> public void StopAllSE() { for (int i = 0; i < audioSource_SE.Length; i++) { audioSource_SE[i].Stop(); //! 효과음 정지 } ConsoleProDebug.Watch("SE", "All Stop"); Invoke("ClearDebug", 5); // ? "디버그청소" 함수를 5초 이후 실행 }
private void OnTriggerEnter(Collider other) { if (!other.gameObject.CompareTag(tagToCheck)) { return; } OnDestinationReached?.Invoke(); _thisMission.Mission_Travel_DestinationReached(); ConsoleProDebug.LogToFilter($"Mission {_thisMission.name} Destination Reached : Type => {_thisMission.missionType}", "Missions"); }
public void Clear() { if (LogShow) { #if CONSOLE_PRO ConsoleProDebug.LogToFilter($"<color={LogColor}>Reference : {LogTag} Cleared to <b>null</b> <--- <b>{((_reference.IsNull()) ? "null" : _reference.name)}</b></color>", "References"); #else Debug.Log($"<color={LogColor}>Reference : {LogTag} Cleared to <b>null</b> <--- <b>{((_reference.IsNull()) ? "null" : _reference.name)}</b></color>"); #endif } _reference = null; }
public void Set(GameObject other) { if (LogShow) { #if CONSOLE_PRO ConsoleProDebug.LogToFilter($"<color={LogColor}>Reference : {LogTag} Set to <b>{((other == null) ? "null" : other.name)}</b> <--- <b>{((_reference == null) ? "null" : _reference.name)}</b></color>", "References"); #else Debug.Log($"<color={LogColor}>Reference : {LogTag} Set to <b>{((other == null) ? "null" : other.name)}</b> <--- <b>{((_reference == null) ? "null" : _reference.name)}</b></color>"); #endif } _reference = other; }
private GameObject SpawnItem(SpawnItem item) { var spawnedItem = LeanPool.Spawn(item.prefabToSpawn, transform.position, transform.rotation, (item.spawnOnRoot)?null:transform); if (logToFilter) { ConsoleProDebug.LogToFilter($"{item.nameIdentifier} spawned by {name} at {spawnedItem.transform.position}", "Create"); } item.itemCount--; _count++; if (useEvents) { OnSpawnedItem?.Invoke(item); } return(spawnedItem); }
public GameObject Get(string errorIfNull = "<b>Reference is Null</b>", bool ignoreError = false) { if (_reference.IsNull() && !ignoreError) { if (!useExceptions) { #if CONSOLE_PRO ConsoleProDebug.LogToFilter($"<b>Reference Null Error : {LogTag}</b>", "References"); #else Debug.LogError($"<b>Reference Null Error : {LogTag}</b>"); #endif } else { throw new NullReferenceException(LogTag + " : " + errorIfNull); } } return(_reference); }
public void StateChange(PlayerState state) { ps = state; ConsoleProDebug.Watch("Player State", ps.ToString()); }
private void OnDestroy() { _thisMission.Mission_Collect_KeyCollected(); ConsoleProDebug.LogToFilter($"Mission {_thisMission.name} Key Collected : Type => {_thisMission.missionType}", "Missions"); }
private void FindPrefab() { EditorGUILayout.BeginVertical(); m_UIName = EditorGUILayout.TextField("ActiveUI", m_UIName); m_UICtrName = EditorGUILayout.TextField("UICtr", m_UICtrName); m_EffectName = EditorGUILayout.TextField("Effect", m_EffectName); if (GUILayout.Button("Find") == true) { string rtn = ""; foreach (var _data in m_Data.m_SceneData) { if (false == string.IsNullOrEmpty(m_UIName)) { foreach (var AUI in _data.m_ActiveUIList) { if (true == m_UIName.Equals(AUI.m_Name)) { rtn = string.Format("{0}, {1} {2}", rtn, "[SceneData]", _data.m_KeyName); break; } } } else if (false == string.IsNullOrEmpty(m_UICtrName)) { foreach (var UICtr in _data.m_UICtrData) { if (true == m_UICtrName.Equals(UICtr.m_UICtrName)) { rtn = string.Format("{0}, {1} {2}", rtn, "[SceneData]", _data.m_KeyName); break; } } } else if (false == string.IsNullOrEmpty(m_EffectName)) { foreach (var UIEffect in _data.m_UIEffectData) { if (true == m_EffectName.Equals(UIEffect.m_EffectName)) { rtn = string.Format("{0}, {1} {2}", rtn, "[SceneData]", _data.m_KeyName); break; } } } } foreach (var _data in m_Data.m_SceneGroupData) { if (false == string.IsNullOrEmpty(m_EffectName)) { foreach (var UIEffect in _data.m_UIEffectData) { if (true == m_EffectName.Equals(UIEffect.m_EffectName)) { rtn = string.Format("{0}, {1} {2}", rtn, "[SceneGroupData]", _data.m_ESceneGroupID.ToString()); break; } } } } ConsoleProDebug.LogToFilterFormat("세종", "{0}", rtn); } if (GUILayout.Button("Delete") == true) { List <DCSceneData> sceneDataList = DCSceneMgr.Instance.m_SceneData; for (int i = 0; i < sceneDataList.Count; i++) { DCSceneData sceneData = sceneDataList[i]; List <DCAttachUIData> attachUIList = sceneData.m_ActiveUIList; for (int j = attachUIList.Count - 1; j > -1; j--) { DCAttachUIData data = attachUIList[j]; if (true == m_UIName.Equals(data.m_Name)) { attachUIList.RemoveAt(j); ConsoleProDebug.LogToFilterFormat("두혁", "[SceneData] attachUI {0}에 있는 {1}를 지웠습니다.", sceneData.m_KeyName, data.m_Name); break; } } List <DCUICtrData> uICtrList = sceneData.m_UICtrData; for (int j = uICtrList.Count - 1; j > -1; j--) { DCUICtrData data = uICtrList[j]; if (true == m_UICtrName.Equals(data.m_UICtrName)) { uICtrList.RemoveAt(j); ConsoleProDebug.LogToFilterFormat("두혁", "[SceneData] UICtr {0}에 있는 {1}를 지웠습니다.", sceneData.m_KeyName, data.m_UICtrName); break; } } List <DCUIEffecData> effectData = sceneData.m_UIEffectData; for (int j = effectData.Count - 1; j > -1; j--) { DCUIEffecData data = effectData[j]; if (true == m_EffectName.Equals(data.m_EffectName)) { effectData.RemoveAt(j); ConsoleProDebug.LogToFilterFormat("두혁", "[SceneData] Effect {0}에 있는 {1}를 지웠습니다.", sceneData.m_KeyName, data.m_EffectName); break; } } } List <DCSceneGroupData> sceneGroupData = DCSceneMgr.Instance.m_SceneGroupData; for (int i = 0; i < sceneGroupData.Count; i++) { DCSceneGroupData sceneData = sceneGroupData[i]; List <DCUIEffecData> effectData = sceneData.m_UIEffectData; for (int j = effectData.Count - 1; j > -1; j--) { DCUIEffecData data = effectData[j]; if (true == m_EffectName.Equals(data.m_EffectName)) { effectData.RemoveAt(j); ConsoleProDebug.LogToFilterFormat("두혁", "[SceneGroupData] Effect {0}에 있는 {1}를 지웠습니다.", sceneData.m_ESceneGroupID.ToString(), data.m_EffectName); break; } } } } if (false == string.IsNullOrEmpty(m_UIName) || false == string.IsNullOrEmpty(m_UICtrName) || false == string.IsNullOrEmpty(m_EffectName)) { if (GUILayout.Button("Add") == true && false == string.IsNullOrEmpty(m_EffectName)) { DCUIEffecData _newEfx = new DCUIEffecData(); _newEfx.m_EffectName = m_EffectName; foreach (var _data in m_Data.m_SceneData) { if (false == string.IsNullOrEmpty(m_UIName)) { foreach (var AUI in _data.m_ActiveUIList) { if (true == m_UIName.Equals(AUI.m_Name)) { if (false == HasSameEfx(_data.m_UIEffectData)) { _data.m_UIEffectData.Add(_newEfx); ConsoleProDebug.LogToFilterFormat("세종", "Add efx in {0}", m_UIName); } break; } } } else if (false == string.IsNullOrEmpty(m_UICtrName)) { foreach (var UICtr in _data.m_UICtrData) { if (true == m_UICtrName.Equals(UICtr.m_UICtrName)) { if (false == HasSameEfx(_data.m_UIEffectData)) { _data.m_UIEffectData.Add(_newEfx); ConsoleProDebug.LogToFilterFormat("세종", "Add efx in {0}", m_UICtrName); } break; } } } else if (false == string.IsNullOrEmpty(m_EffectName)) { if (false == HasSameEfx(_data.m_UIEffectData)) { _data.m_UIEffectData.Add(_newEfx); ConsoleProDebug.LogToFilterFormat("세종", "Add efx in {0}", m_EffectName); } } } _newEfx = null; } } EditorGUILayout.EndHorizontal(); }
//Todo 디버그 청소 private void ClearDebug() { ConsoleProDebug.Clear(); //! Debug 창의 내용을 모두 지운다. }
/// <summary> /// 배경음악 정지 /// void 형식이라 StartCorutine 안써도 됨 /// </summary> public void StopBGM() { audioSource_BGM.Stop(); //! 배경음악을 정지시킨다. ConsoleProDebug.Watch("BGM", "All Stop"); Invoke("ClearDebug", 5); // ? "디버그청소" 함수를 5초 이후 실행 }