Exemplo n.º 1
0
    public static GameObject ReadNote2(XmlNodeList list, XmlNode node)
    {
        GameObject go = null;
        NoteData   nd = null;

        Debug.Log(node.OuterXml);
        switch (node.SelectSingleNode("m_type").InnerText)
        {
        case "SUB":
        case "3":
            go = GameObject.Instantiate(Resources.Load <GameObject> ("NoteHoldSub"));
            int id = int.Parse(node.SelectSingleNode("m_id").InnerText);
            SubsToRefer [id].Sub = go.GetComponent <NoteData> ();

            GameObject render = GameObject.Instantiate(Resources.Load <GameObject> ("NoteHold"));
            render.GetComponent <HoldScaling> ().Begin = SubsToRefer [id].transform;
            render.GetComponent <HoldScaling> ().End   = SubsToRefer [id].Sub.transform;

            SubsToRefer.Remove(id);
            break;

        default:
            return(null);
        }
        nd             = go.GetComponent <NoteData> ();
        nd.Position    = float.Parse(node.SelectSingleNode("m_position").InnerText);
        nd.Width       = float.Parse(node.SelectSingleNode("m_width").InnerText);
        nd.Time        = ParamCalculator.BarToTime(float.Parse(node.SelectSingleNode("m_time").InnerText));
        nd.InnerID     = ++HotkeySystem.AtomicCounter;
        nd.NotifyWidth = true;
        return(go);
    }
Exemplo n.º 2
0
    void UpdateHorizons()
    {
        if (Mathf.Abs(GridDir) > 1)
        {
            foreach (var line in GridLines)
            {
                line.Time = int.MinValue;
                line.Transform.position = new Vector3(-100, -100, -1);
            }
            return;
        }
        double STEP    = (ParamCalculator.BarToTime(1000f) - ParamCalculator.BarToTime(0f)) * BeatPerRow / 4000f;
        double MAXTIME = (int)((TimeControlSystem.CurrentTimeMillis + 1000) / STEP) * STEP;
        double MINTIME = (int)((TimeControlSystem.CurrentTimeMillis - 700) / STEP) * STEP;
        IEnumerator <TimeTransformPair> horis;

        int c = 0;

        for (double i = MINTIME; i < MAXTIME; i += STEP)
        {
            c++;
        }
        for (int i = GridLines.Count; i < c; i++)
        {
            Transform n = Instantiate(Resources.Load <GameObject> ("UI/GridLineHorizon"), transform).transform;
            GridLines.Add(new TimeTransformPair(0, n));
        }

        horis = GridLines.GetEnumerator();
        for (double i = MINTIME; i < MAXTIME; i += STEP)
        {
            if (!horis.MoveNext())
            {
                continue;
            }
            horis.Current.Time = (int)i;
            horis.Current.Transform.position = new Vector3(0, ParamCalculator.TimeToPositionY((int)i), -1);
            horis.Current.Transform.rotation = Quaternion.Euler(0, 0, 0);
            horis.Current.Transform.GetComponent <LineRenderer> ().startColor = DirColors [GridDir + 1];
            horis.Current.Transform.GetComponent <LineRenderer> ().endColor   = DirColors [GridDir + 1];
            if (GridDir != 0)
            {
                horis.Current.Transform.rotation = Quaternion.Euler(0, 0, 90);
                Vector3 v   = horis.Current.Transform.position;
                Vector3 pos = horis.Current.Transform.position;
                pos.x  = -v.y - 2f + 4.25f;
                pos.x *= GridDir;
                pos.y  = 0;
                horis.Current.Transform.position = pos;
            }
        }
        while (horis.MoveNext())
        {
            horis.Current.Time = int.MinValue;
            horis.Current.Transform.position = new Vector3(-100, -100, -1);
        }
    }
Exemplo n.º 3
0
    public static GameObject ReadNote1(XmlNodeList list, XmlNode node)
    {
        GameObject go = null;
        NoteData   nd = null;

        Debug.Log(node.OuterXml);
        switch (node.SelectSingleNode("m_type").InnerText)
        {
        case "NORMAL":
        case "0":
            go = GameObject.Instantiate(Resources.Load <GameObject> ("NoteNormal"));
            break;

        case "CHAIN":
        case "1":
            go = GameObject.Instantiate(Resources.Load <GameObject> ("NoteChain"));
            break;

        case "HOLD":
        case "2":
            go = GameObject.Instantiate(Resources.Load <GameObject> ("NoteHoldHold"));
            int sub = int.Parse(node.SelectSingleNode("m_subId").InnerText);
            SubsToRefer.Add(sub, go.GetComponent <NoteData> ());
            break;

        case "SUB":
        case "3":
            return(null);
        }
        nd             = go.GetComponent <NoteData> ();
        nd.Position    = float.Parse(node.SelectSingleNode("m_position").InnerText);
        nd.Width       = float.Parse(node.SelectSingleNode("m_width").InnerText);
        nd.Time        = ParamCalculator.BarToTime(float.Parse(node.SelectSingleNode("m_time").InnerText));
        nd.InnerID     = ++HotkeySystem.AtomicCounter;
        nd.NotifyWidth = true;
        return(go);
    }