Пример #1
0
    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;
    }
Пример #2
0
    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);
        }
    }
Пример #3
0
    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);
    }
Пример #4
0
    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);
    }
Пример #5
0
 private void Awake()
 {
     _waveRectTransform = GetComponent <RectTransform>();
     _ohShapeEditor     = FindObjectOfType <OhShapeEditor>();
 }