-
-
Notifications
You must be signed in to change notification settings - Fork 8
/
SimpleSerializedContainer.cs
32 lines (29 loc) · 1.3 KB
/
SimpleSerializedContainer.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// Copyright (c) 2020-2023 Vladimir Popov zor1994@gmail.com https://github.com/ZorPastaman/Simple-Blackboard
using System;
using System.Collections.Generic;
using JetBrains.Annotations;
using UnityEngine;
using Zor.SimpleBlackboard.Core;
namespace Zor.SimpleBlackboard.Serialization
{
/// <summary>
/// <para>Serialized container of properties for <see cref="Zor.SimpleBlackboard.Core.Blackboard"/>.</para>
/// <para>Inherit this if you want to get a custom functionality.</para>
/// <para>If you need a common functionality, inherit <see cref="StructGeneratedValueSerializedTable{T}"/>,
/// <see cref="StructSerializedValueSerializedTable{T}"/>, <see cref="ClassGeneratedValueSerializedTable{T}"/>
/// or <see cref="ClassSerializedValueSerializedTable{T}"/>.</para>
/// </summary>
public abstract class SimpleSerializedContainer : ScriptableObject
{
/// <summary>
/// Applies its properties to <paramref name="blackboard"/>.
/// </summary>
/// <param name="blackboard">Applies its properties to this.</param>
public abstract void Apply([NotNull] Blackboard blackboard);
/// <summary>
/// Gets keys and their types and adds them to <paramref name="keys"/>.
/// </summary>
/// <param name="keys">Keys are added to this.</param>
public abstract void GetKeys([NotNull] List<(string, Type)> keys);
}
}