예제 #1
0
 public void buffer_Remove(TimeLine_Object tmLine_Object)
 {
     if (waves_buffer.Peek() == tmLine_Object)
     {
         waves_buffer.Pop();
     }
 }
예제 #2
0
    void FixedUpdate()
    {
        time = Time.time;

        if (waves_buffer.Count > 0)
        {
            if (waves_buffer.Peek() != null)
            {
                TimeLine_Object current_object = waves_buffer.Peek();

                bool result = current_object.Act(this);

                if (result)
                {
                    if (waves_buffer.Peek() == current_object)
                    {
                        Add_playedList(waves_buffer.Pop());
                    }

                    lastActionTime = time;
                }
            }
            else
            {
            }
            //Add_playedList(waves_buffer.Pop());
        }
    }
예제 #3
0
 private void Add_playedList(TimeLine_Object obj)
 {
     if (played_waves.Count > 0)
     {
         played_waves.Insert(played_waves.Count, obj);
     }
     else
     {
         played_waves.Insert(0, obj);
     }
 }
예제 #4
0
    void Start()
    {
        lastActionTime = Time.time;
        time           = Time.time;

        waves_buffer = new Stack <TimeLine_Object>();

        TimeLine_Object[] timeLine_list = new TimeLine_Object[TimeLine.Count];
        TimeLine.CopyTo(timeLine_list, 0);

        Load_Waves(timeLine_list);
    }
예제 #5
0
    public override bool Act(TimeLinePlayer player)
    {
        if (ObjectsList.Length == 0)
        {
            Debug.LogError("TimeLineObject Random Object doesn't have any object to choose from!");
            return(true);
        }

        player.buffer_Remove(this);

        int rng = Random.Range(0, ObjectsList.Length);

        TimeLine_Object[] list = new TimeLine_Object[1];
        list[0] = ObjectsList[rng];

        player.buffer_Add(list);

        return(true);
    }
예제 #6
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        TimeLinePlayer myTarget = (TimeLinePlayer)target;

        myTarget.showPlayedWaves = EditorGUILayout.ToggleLeft("- Show played TimeLine Objects:  ", myTarget.showPlayedWaves);

        if (!myTarget.showPlayedWaves)
        {
            return;
        }

        for (int i = 0; i < myTarget.played_waves.Count; i++)
        {
            EditorGUILayout.LabelField(i + ". " + myTarget.played_waves[i].name, EditorStyles.miniLabel);
        }

        if (myTarget.waves_buffer == null)
        {
            return;
        }

        TimeLine_Object[] objectsList = new TimeLine_Object[myTarget.waves_buffer.Count];
        myTarget.waves_buffer.CopyTo(objectsList, 0);

        if (objectsList.Length > 0)
        {
            EditorGUILayout.LabelField(myTarget.played_waves.Count + ". " + "-> " + objectsList[0].name, EditorStyles.miniBoldLabel);

            for (int i = 1; i < objectsList.Length; i++)
            {
                EditorGUILayout.LabelField((myTarget.played_waves.Count + i) + ". " + objectsList[i].name);
            }
        }
    }