59 lines
1.6 KiB
C#
59 lines
1.6 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using Unity.Barracuda;
|
|
/// <summary>
|
|
/// This scriptable will hold tupples of Courseindices and models
|
|
/// </summary>
|
|
[CreateAssetMenu(menuName = "Create new Scriptable/ModelList")]
|
|
public class ModelList : ScriptableObject
|
|
{
|
|
/// <summary>
|
|
/// Small class to link a model to a courseIndex irrespective of its position in a list
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ModelTuple
|
|
{
|
|
/// <summary>
|
|
/// ModelIndex to which the model corresponds
|
|
/// </summary>
|
|
public ModelIndex index;
|
|
/// <summary>
|
|
/// The model itself
|
|
/// </summary>
|
|
public NNModel model;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Index of the currently active model
|
|
/// </summary>
|
|
public int currentModelIndex = 0;
|
|
|
|
/// <summary>
|
|
/// A list of all the models
|
|
/// </summary>
|
|
public List<ModelTuple> models = new List<ModelTuple>();
|
|
|
|
/// <summary>
|
|
/// Get a model by modelindex
|
|
/// </summary>
|
|
/// <param name="modelIndex">ModelIndex of the model</param>
|
|
/// <returns>Model associated with this index, null if no model was found</returns>
|
|
public ModelTuple GetCurrentModel()
|
|
{
|
|
//if(currentModelIndex < models.Find)
|
|
return models.Find(x => x.model == models[currentModelIndex].model);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Function to find a model-index in the list based on its index
|
|
/// </summary>
|
|
/// <param name="title"></param>
|
|
public void SetCurrentModel(ModelIndex index)
|
|
{
|
|
currentModelIndex = models.FindIndex((m) => m.index == index);
|
|
}
|
|
}
|