Пример #1
0
    public void Remove()
    {
        var model = TodoUtils.GetScriptableObject <TodoModel>();

        model.RemoveTodo(Id);

        DestroyImmediate(this);
    }
Пример #2
0
    public void Select()
    {
        var model = TodoUtils.GetScriptableObject <TodoModel>();
        var item  = model.Todos.FirstOrDefault(x => x.Prefab == (Object)gameObject);

        if (item != null)
        {
            Selection.activeGameObject = (GameObject)item.Prefab;
        }
    }
Пример #3
0
    private static void SelectPrefab(Todo todo)
    {
        var model = TodoUtils.GetScriptableObject <TodoModel>();
        var item  = model.Todos.FirstOrDefault(x => x.Prefab == (Object)todo.Prefab);

        if (item != null)
        {
            // Load prefab
            Selection.activeGameObject = (GameObject)item.Prefab;
        }
    }
Пример #4
0
    private void UpdateChanges(Object source, Object sceneAsset = null)
    {
        var model = TodoUtils.GetScriptableObject <TodoModel>();

        if (Id == 0)
        {
            Id = model.AddTodo(Message, source, sceneAsset);
        }
        else if (string.IsNullOrEmpty(Message))
        {
            // Remove todo
            model.RemoveTodo(Id);
        }
        else
        {
            // Update todo
            model.UpdateTodo(Id, Message);
        }

        TodoUtils.SaveScene();
    }
Пример #5
0
 private void LoadModel()
 {
     t = TodoUtils.GetScriptableObject <TodoModel>();
     if (t != null)
     {
         GetTarget = new SerializedObject(t);
         ThisList  = GetTarget.FindProperty("Todos"); // Find the List in our script and create a refrence of it
         if (!listenerRegistered)
         {
             t.OnChange += () =>
             {
                 GetTarget = new SerializedObject(t);
                 ThisList  = GetTarget.FindProperty("Todos");
                 LoadView();
             };
             listenerRegistered = true;
         }
     }
     else
     {
         listenerRegistered = false;
     }
 }