コード例 #1
0
    public int MoveBallard(int index, int amount)
    {
        if (index < 0 || index >= m_ballards.Count)
        {
            return(index);
        }

        BallardData ballard = m_ballards[index];

        return(MoveBallard(ballard, amount));
    }
コード例 #2
0
    public void RemoveBallard(int index)
    {
        if (index < 0 || index >= m_ballards.Count)
        {
            return;
        }

        BallardData ballard = m_ballards[index];

        RemoveBallard(ballard);
    }
コード例 #3
0
    public int MoveBallard(BallardData ballard, int amount)
    {
        int position = m_ballards.IndexOf(ballard) + amount;

        position = Mathf.Min(m_ballards.Count - 1, position); // don't exceed count
        position = Mathf.Max(0, position);                    // don't exceed 0

        m_ballards.Remove(ballard);
        m_ballards.Insert(position, ballard);
        return(position);
    }
コード例 #4
0
    public bool GetBallard(int index, out BallardData ballard)
    {
        if (index < 0 || index >= m_ballards.Count)
        {
            Debug.LogError("Index out of range, Ballard #"
                           + index.ToString()
                           + " doesn't exist!");
            ballard = null;
            return(false);
        }

        ballard = m_ballards[index];
        return(true);
    }
コード例 #5
0
ファイル: GetChordAudioClip.cs プロジェクト: Touge-svc/GGJ16
        private void AssignChord()
        {
            if (ballardCurrent.Value == -1 ||
                sequenceCurrent.Value == -1 ||
                chordCurrent.Value == -1)
            {
                return;
            }

            BallardData ballard = null;

            if (BallardDatabase.Instance.GetBallard(ballardCurrent.Value, out ballard) == false)
            {
                return;
            }

            SequenceData sequence = null;

            if (ballard.GetSequence(sequenceCurrent.Value, out sequence) == false)
            {
                return;
            }

            ChordData chord = null;

            if (sequence.GetChord(chordCurrent.Value, out chord) == false)
            {
                return;
            }

            if (chord.clip == null)
            {
                Debug.LogError("Chord Clip is null!");
                return;
            }

            clip.Value = chord.clip;
        }
コード例 #6
0
    void OnGUI_Sequence(BallardData parent, SequenceData sequence)
    {
        sequence.debug_isFoldedOut = EditorGUILayout.Foldout(sequence.debug_isFoldedOut, sequence.name);
        if (sequence.debug_isFoldedOut == false)
        {
            return;
        }

        ++EditorGUI.indentLevel;

        EditorGUILayout.BeginHorizontal();
        {
            GUILayout.Space((EditorGUI.indentLevel + 2) * 10.0f);
            GUILayout.Label("Name: ", GUILayout.MaxWidth(64.0f));
            sequence.name = EditorGUILayout.TextField(sequence.name);
            if (GUILayout.Button("Add Chord"
                                 , EditorStyles.miniButtonLeft
                                 , GUILayout.MaxWidth(128.0f)))
            {
                sequence.AddChord(new ChordData());
            }
            if (GUILayout.Button("Remove Chord"
                                 , EditorStyles.miniButtonRight
                                 , GUILayout.MaxWidth(128.0f)))
            {
                int i = sequence.chords.Count - 1;
                sequence.RemoveChord(i);
            }
        }
        EditorGUILayout.EndHorizontal();

        for (int i = 0; i < sequence.chords.Count; ++i)
        {
            OnGUI_Chord(sequence, sequence.chords[i]);
        }

        --EditorGUI.indentLevel;
    }
コード例 #7
0
	void OnGUI_Ballard(BallardData ballard)
	{
		int index = target.m_ballards.IndexOf(ballard);

		EditorGUILayout.BeginHorizontal();
		{
			isBallardFoldedOut[index] = EditorGUILayout.Foldout(isBallardFoldedOut[index], ballard.name);
			if (GUILayout.Button(" + "
				, EditorStyles.miniButtonLeft
				, GUILayout.MaxWidth(32.0f)))
			{
				int position = target.MoveBallard(index, -1);
				SwitchValue(ref isBallardFoldedOut[index], ref isBallardFoldedOut[position]);
			}
			if (GUILayout.Button(" - "
				, EditorStyles.miniButtonRight
				, GUILayout.MaxWidth(32.0f)))
			{
				int position = target.MoveBallard(index, 1);
				SwitchValue(ref isBallardFoldedOut[index], ref isBallardFoldedOut[position]);
			}
			if (GUILayout.Button("Remove"
				, EditorStyles.miniButtonRight
				, GUILayout.MaxWidth(128.0f)))
			{
				target.RemoveBallard(index);
			}
		}
		EditorGUILayout.EndHorizontal();

		if (isBallardFoldedOut[index] == false)
			return;

		++EditorGUI.indentLevel;
		// Ballard Options
		EditorGUILayout.BeginHorizontal();
		{
			GUILayout.Space((EditorGUI.indentLevel + 1) * 10.0f);
			GUILayout.Label("Name: ", GUILayout.MaxWidth(64.0f));
			ballard.name = EditorGUILayout.TextField(ballard.name);
		}
		EditorGUILayout.EndHorizontal();

		EditorGUILayout.BeginHorizontal();
		{
			GUILayout.Space((EditorGUI.indentLevel + 1) * 10.0f);
			GUILayout.Label("Duration: ", GUILayout.MaxWidth(64.0f));
			ballard.duration = EditorGUILayout.FloatField(ballard.duration);
		}
		EditorGUILayout.EndHorizontal();

		// Ballard Sequences
		ballard.debug_isFoldedOut = EditorGUILayout.Foldout(ballard.debug_isFoldedOut, "Sequences");
		if (ballard.debug_isFoldedOut == true)
		{
			++EditorGUI.indentLevel;
			for (int i = 0; i < ballard.sequences.Count; ++i)
			{
				OnGUI_Sequence(ballard, ballard.sequences[i]);
			}
			--EditorGUI.indentLevel;
		}

		--EditorGUI.indentLevel;
		EditorGUILayout.Separator();
		EditorGUILayout.Separator();
		EditorGUILayout.Separator();
	}
コード例 #8
0
	void OnGUI_Sequence(BallardData parent, SequenceData sequence)
	{
		sequence.debug_isFoldedOut = EditorGUILayout.Foldout(sequence.debug_isFoldedOut, sequence.name);
		if (sequence.debug_isFoldedOut == false)
			return;

		++EditorGUI.indentLevel;

		EditorGUILayout.BeginHorizontal();
		{
			GUILayout.Space((EditorGUI.indentLevel + 2) * 10.0f);
			GUILayout.Label("Name: ", GUILayout.MaxWidth(64.0f));
			sequence.name = EditorGUILayout.TextField(sequence.name);
			if (GUILayout.Button("Add Chord"
				, EditorStyles.miniButtonLeft
				, GUILayout.MaxWidth(128.0f)))
			{
				sequence.AddChord(new ChordData());
			}
			if (GUILayout.Button("Remove Chord"
				, EditorStyles.miniButtonRight
				, GUILayout.MaxWidth(128.0f)))
			{
				int i = sequence.chords.Count - 1;
				sequence.RemoveChord(i);
			}
		}
		EditorGUILayout.EndHorizontal();

		for (int i = 0; i < sequence.chords.Count; ++i)
		{
			OnGUI_Chord(sequence, sequence.chords[i]);
		}

		--EditorGUI.indentLevel;
	}
コード例 #9
0
 public void RemoveBallard(BallardData ballard)
 {
     m_ballards.Remove(ballard);
 }
コード例 #10
0
 public void AddBallard(BallardData ballard)
 {
     m_ballards.Add(ballard);
 }
コード例 #11
0
    void OnGUI_Ballard(BallardData ballard)
    {
        int index = target.m_ballards.IndexOf(ballard);

        EditorGUILayout.BeginHorizontal();
        {
            isBallardFoldedOut[index] = EditorGUILayout.Foldout(isBallardFoldedOut[index], ballard.name);
            if (GUILayout.Button(" + "
                                 , EditorStyles.miniButtonLeft
                                 , GUILayout.MaxWidth(32.0f)))
            {
                int position = target.MoveBallard(index, -1);
                SwitchValue(ref isBallardFoldedOut[index], ref isBallardFoldedOut[position]);
            }
            if (GUILayout.Button(" - "
                                 , EditorStyles.miniButtonRight
                                 , GUILayout.MaxWidth(32.0f)))
            {
                int position = target.MoveBallard(index, 1);
                SwitchValue(ref isBallardFoldedOut[index], ref isBallardFoldedOut[position]);
            }
            if (GUILayout.Button("Remove"
                                 , EditorStyles.miniButtonRight
                                 , GUILayout.MaxWidth(128.0f)))
            {
                target.RemoveBallard(index);
            }
        }
        EditorGUILayout.EndHorizontal();

        if (isBallardFoldedOut[index] == false)
        {
            return;
        }

        ++EditorGUI.indentLevel;
        // Ballard Options
        EditorGUILayout.BeginHorizontal();
        {
            GUILayout.Space((EditorGUI.indentLevel + 1) * 10.0f);
            GUILayout.Label("Name: ", GUILayout.MaxWidth(64.0f));
            ballard.name = EditorGUILayout.TextField(ballard.name);
        }
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        {
            GUILayout.Space((EditorGUI.indentLevel + 1) * 10.0f);
            GUILayout.Label("Duration: ", GUILayout.MaxWidth(64.0f));
            ballard.duration = EditorGUILayout.FloatField(ballard.duration);
        }
        EditorGUILayout.EndHorizontal();

        // Ballard Sequences
        ballard.debug_isFoldedOut = EditorGUILayout.Foldout(ballard.debug_isFoldedOut, "Sequences");
        if (ballard.debug_isFoldedOut == true)
        {
            ++EditorGUI.indentLevel;
            for (int i = 0; i < ballard.sequences.Count; ++i)
            {
                OnGUI_Sequence(ballard, ballard.sequences[i]);
            }
            --EditorGUI.indentLevel;
        }

        --EditorGUI.indentLevel;
        EditorGUILayout.Separator();
        EditorGUILayout.Separator();
        EditorGUILayout.Separator();
    }
コード例 #12
0
ファイル: BallardDatabase.cs プロジェクト: ShyKidsClub/GGJ16
	public bool GetBallard(int index, out BallardData ballard)
	{
		if (index < 0 || index >= m_ballards.Count)
		{
			Debug.LogError("Index out of range, Ballard #"
				+ index.ToString()
				+ " doesn't exist!");
			ballard = null;
			return false;
		}

		ballard = m_ballards[index];
		return true;
	}
コード例 #13
0
ファイル: BallardDatabase.cs プロジェクト: ShyKidsClub/GGJ16
	public void RemoveBallard(BallardData ballard)
	{
		m_ballards.Remove(ballard);
	}
コード例 #14
0
ファイル: BallardDatabase.cs プロジェクト: ShyKidsClub/GGJ16
	public int MoveBallard(BallardData ballard, int amount)
	{
		int position = m_ballards.IndexOf(ballard) + amount;
		position = Mathf.Min(m_ballards.Count - 1, position); // don't exceed count
		position = Mathf.Max(0, position); // don't exceed 0

		m_ballards.Remove(ballard);
		m_ballards.Insert(position, ballard);
		return position;
	}
コード例 #15
0
ファイル: BallardDatabase.cs プロジェクト: ShyKidsClub/GGJ16
	public void AddBallard(BallardData ballard)
	{
		m_ballards.Add(ballard);
	}