public void Init(string name, float time, bool isOn, OhShapeEditor editor) { WallObjectId = name; Time = time; SetPosition(); CheckWallId(name); _wallIdText.text = name; // addToggleGroup(); addEventToWall(editor); _toggle.isOn = isOn; }
public void LoadSongObjects() { OhShapeEditor editor = FindObjectOfType <OhShapeEditor>(); //Delete previus objects. DeleteSongObjects(); //objectTemplateParent = ObjectTemplate.transform.parent; var song = CurrentSong; //Get Levels list. if (song.Levels == null) { return; } var levelsList = new string[song.Levels.Count]; var lvlCount = 0; foreach (var lvl in song.Levels) { levelsList[lvlCount++] = lvl.Level.ToString(); } var currentLevel = 0; if (song.Levels[currentLevel].Sequence == null) { return; } //Get sequence list from currentLevel. var sequenceList = new GameObject[song.Levels[currentLevel].Sequence.Count]; //Loop sequence of objects in selected level foreach (DeserializedSong.SongLevels.LevelSequence seq in song.Levels[currentLevel].Sequence) { string wallId = seq.Obj; //Error if objName is null. if (wallId == null) { Log.AddLine("No name in song object"); continue; } CreateWallObject(wallId.ToUpper(), seq.Second, false, editor); } }
public WallObject CreateWallObject(string objName, float time, bool isOn, OhShapeEditor editor) { time = Mathf.Round(time * 100); time = time * 0.01f; //Create SongObject basic. GameObject go = Instantiate(WallPrefab); go.name = string.Format("{0:0000.00}", time); go.SetActive(true); go.transform.SetParent(wallsParent); WallObject wall = go.GetComponent <WallObject>(); wall.Init(objName, time, isOn, editor); editor.addWallObjectToListOfObjects(wall); return(wall); }
private void addEventToWall(OhShapeEditor editor) { EventTrigger trigger = _toggle.GetComponentInParent <EventTrigger>(); EventTrigger.Entry pointerClick = new EventTrigger.Entry(); pointerClick.eventID = EventTriggerType.PointerClick; pointerClick.callback.AddListener((eventData) => { // _toggle.isOn = true; editor.OnWallObjectClicked(this); }); EventTrigger.Entry drag = new EventTrigger.Entry(); drag.eventID = EventTriggerType.Drag; drag.callback.AddListener((eventData) => { editor.OnWallObjectDrag(this); }); trigger.triggers.Add(pointerClick); trigger.triggers.Add(drag); }
private void Awake() { _waveRectTransform = GetComponent <RectTransform>(); _ohShapeEditor = FindObjectOfType <OhShapeEditor>(); }