private void Init(SlashNote _prefab, Queue <SlashNote> _inputQueue, string _objName, int turnNum) { SlashNote temp = Instantiate(_prefab, Vector2.zero, Quaternion.identity); temp.SetNoteProperties(float.Parse(value[0]), float.Parse(value[1]), PlayMusicInfo.ReturnAutoMode()); // 판정선거리, 감소속도 temp.transform.SetParent(gameObject.transform, false); temp.name = _objName + "(" + turnNum.ToString() + ")"; _inputQueue.Enqueue(temp); }
public void GetNote(Vector2 _origin, string _noteName, string _sfxName, string _motion = "") { if (_noteName == "ShortNote") { if (_queue_shortNote.Count > 0) { ShortNote _temp = _queue_shortNote.Dequeue(); _temp.InputSfxName(_sfxName); if (_motion != null) // 다음에 변경될 모션을 가지고 있으면 { _temp.InputAnimation(_motion); // 변경될 모션의 이름을 알려준다 } _temp.transform.position = _origin; _temp.gameObject.SetActive(true); _temp.gameObject.transform.SetAsFirstSibling(); _activeShortNote.Add(_temp); // 활성화 노트 리스트에 넣어줌 } } else if (_noteName.Substring(0, 6) == "LongNo") { if (_dic_longNote[_noteName].Count > 0) { LongNote _temp = _dic_longNote[_noteName].Dequeue(); _temp.InputSfxName(_sfxName); if (_motion != null) // 다음에 변경될 모션을 가지고 있으면 { _temp.InputAnimation(_motion); // 변경될 모션의 이름을 알려준다 } _temp.transform.position = _origin; _temp.gameObject.SetActive(true); _temp.gameObject.transform.SetAsFirstSibling(); _activeLongNote.Add(_temp); } } else if (_noteName == "MultiShortNote") { if (_queue_multiShortNote.Count > 0) { ShortNote _temp = _queue_multiShortNote.Dequeue(); _temp.InputSfxName(_sfxName); if (_motion != null) // 다음에 변경될 모션을 가지고 있으면 { _temp.InputAnimation(_motion); // 변경될 모션의 이름을 알려준다 } _temp.transform.position = _origin; _temp.gameObject.SetActive(true); _temp.gameObject.transform.SetAsFirstSibling(); _activeMultiShortNote.Add(_temp); // 활성화 노트 리스트에 넣어줌 } } else if (_noteName.Substring(0, 5) == "Slash") { if (_dic_slashNote[_noteName].Count != 0) { SlashNote _temp = _dic_slashNote[_noteName].Dequeue(); _temp.InputSfxName(_sfxName); if (_motion != null) // 다음에 변경될 모션을 가지고 있으면 { _temp.InputAnimation(_motion); // 변경될 모션의 이름을 알려준다 } _temp.transform.position = _origin; _temp.gameObject.SetActive(true); _temp.gameObject.transform.SetAsFirstSibling(); _activeSlashNote.Add(_temp); } } else if (_noteName.Substring(0, 5) == "Floor") { if (_noteName == "FloorNote_L") { _floorNotes[0].ActiveNote(_sfxName, _motion); } else { _floorNotes[1].ActiveNote(_sfxName, _motion); } } else { if (_noteName == "Skull_L") { _skullNotes[0].ActiveNote(_sfxName); } else { _skullNotes[1].ActiveNote(_sfxName); } } }
public void InsertNote(SlashNote _obj) { _obj.gameObject.SetActive(false); _dic_slashNote[_obj.GetNoteName()].Enqueue(_obj); _activeSlashNote.Remove(_obj); }