Ejemplo n.º 1
0
    public void CreateNote(int isHold)
    {
        GameObject Ob       = Instantiate(NoteOrigin[isHold], NoteFile[isHold]);
        Hold       NoteData = new Hold();

        NoteData.line = LineSlect;
        NoteData.Time = (MusicPlayer.StageTime - Stage.offset) / (RealTime);
        if (isHold == 1)
        {
            NoteData.EndTime = NoteData.Time + 0.25f;
        }


        Ob.transform.localPosition = new Vector2(Line1Mid + LineAndLine * LineSlect, Ob.transform.localPosition.y);



        EditNoitBeh DataID = Ob.GetComponent <EditNoitBeh>();

        DataID.NoteIDonLine = NoteChker[LineSlect].Count;
        if (isHold == 1)
        {
            DataID.NoteData          = NoteData;
            DataID.NoteIDinStageData = Stage.H.Count;
            Stage.H.Add(NoteData);
            HoldInd = true;
        }
        else
        {
            DataID.NoteData          = NoteData;
            DataID.NoteIDinStageData = Stage.N.Count;
            Stage.N.Add(NoteData);
            HoldInd = false;
        }
        EditingNoteIDonLine  = DataID.NoteIDonLine;
        EditingData          = NoteData;
        EditingNoteIDinStage = DataID.NoteIDinStageData;
        DataChange           = true;
        Slected = true;


        NoteBehavior Data = Ob.GetComponent <NoteBehavior>();

        Data.arrivetime = NoteData.Time * RealTime + Stage.offset;
        if (isHold == 1)
        {
            Data.isHold             = true;
            Ob.transform.localScale = new Vector3(1, (Speed * (NoteData.EndTime - NoteData.Time)) / 100, 1);
            Data.EndTime            = NoteData.EndTime * RealTime + Stage.offset;
        }

        NoteChker[LineSlect].Add(Data);
    }
Ejemplo n.º 2
0
    public void EditNote()
    {
        if (Slected)
        {
            EditNoitBeh Data = Editing.GetComponent <EditNoitBeh>();
            string      ARTime = NTEdit.text, endtimeST = HTEdit.text;
            if (NTEdit.text == "")
            {
                ARTime = NTDisplay.text;
            }
            if (HTEdit.text == "")
            {
                endtimeST = HTDisplay.text;
            }

            float arrivetime = float.Parse(ARTime, System.Globalization.NumberStyles.AllowDecimalPoint);


            if (EditingisHold)
            {
                if (endtimeST == "0" || endtimeST == "")
                {
                    endtimeST   = 0.25F.ToString();
                    HTEdit.text = "0.25";
                }
                float endtime = float.Parse(endtimeST, System.Globalization.NumberStyles.AllowDecimalPoint);
                Stage.H[NoteIDinStage].Time    = arrivetime;
                Stage.H[NoteIDinStage].EndTime = arrivetime + endtime;
                Data.EndTime = (arrivetime + endtime) * (RealTime) + Stage.offset;
            }
            else
            {
                Stage.N[NoteIDinStage].Time = arrivetime;
            }

            Data.arrivetime = arrivetime * (RealTime) + Stage.offset;
            DataChange      = true;
        }
    }
    public void NoteCreate()
    {
        GameObject Ob;

        int[]   NoteLine = { 0, 0 };
        float[] NoteTime = { 0, 0 };
        for (int i = 0; i < 2; i++)
        {
            if (count[i] < maxchk[i])
            {
                if (i == 0)
                {
                    NoteLine[i] = Stage.N[count[i]].line;
                    NoteTime[i] = Stage.N[count[i]].Time;
                }
                else
                {
                    NoteLine[i] = Stage.H[count[i]].line;
                    NoteTime[i] = Stage.H[count[i]].Time;
                }
            }
        }
        //Debug.Log("NextGenerate: Note: Line " + NoteLine[0] + " Time " + NoteTime[0] + " Hold: Line " + NoteLine[1] + " Time " + NoteTime[1]);
        for (int k = 0; k <= 1; k++)
        {
            float NoteReady = (NoteTime[k] * (RealTime) + Stage.offset) - ((NoteTop - NoteBottom) / MoveSpeed);
            if (NoteReady <= StageTime)
            {
                if (count[k] < maxchk[k])
                {
                    Ob = Instantiate(NoteOrigin[k], NoteFile[k]);
                    Ob.transform.localPosition = new Vector2(Line1Mid + LineAndLine * NoteLine[k], Ob.transform.localPosition.y);

                    if (Editor)
                    {
                        EditNoitBeh DataID = Ob.GetComponent <EditNoitBeh>();
                        DataID.NoteIDonLine = NoteChker[NoteLine[k]].Count;
                        if (k == 1)
                        {
                            DataID.NoteData = Stage.H[count[k]];
                        }
                        else
                        {
                            DataID.NoteData = Stage.N[count[k]];
                        }
                        DataID.NoteIDinStageData = count[k];
                    }

                    NoteBehavior Data = Ob.GetComponent <NoteBehavior>();
                    Data.arrivetime = NoteTime[k] * (RealTime) + Stage.offset;

                    if (k == 1)
                    {
                        Data.isHold             = true;
                        Data.EndTime            = (Stage.H[count[k]].EndTime) * (RealTime) + Stage.offset;
                        Ob.transform.localScale = new Vector3(Ob.transform.localScale.x, (Speed * ((Stage.H[count[k]].EndTime - NoteTime[k])) * (RealTime)) / HoldSize, 1);
                    }
                    NoteChker[NoteLine[k]].Add(Data);

                    count[k] += 1;
                }
            }
        }
    }