123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- namespace KairoEngine.Core.GameActions
- {
- [System.Serializable]
- public class GameActionObjectSerializer
- {
- #region SerializeGameObject
- [SerializeField] private List<string> serializedGameObjectKeys = new List<string>();
- [SerializeField] private List<GameObject> serializedGameObjects = new List<GameObject>();
- public void SerializeGameObject(string name, GameObject obj)
- {
- serializedGameObjectKeys.Add(name);
- serializedGameObjects.Add(obj);
- }
- public GameObject DeserializeGameObject(string name)
- {
- for (int i = 0; i < serializedGameObjectKeys.Count; i++)
- {
- if(serializedGameObjectKeys[i] == name) return serializedGameObjects[i];
- }
- return null;
- }
- public void ClearGameObjects()
- {
- serializedGameObjectKeys = new List<string>();
- serializedGameObjects = new List<GameObject>();
- }
- #endregion
- #region SerializeScriptableObject
- [SerializeField] private List<string> serializedScriptableObjectKeys = new List<string>();
- [SerializeField] private List<ScriptableObject> serializedScriptableObjects = new List<ScriptableObject>();
- public void SerializeScriptableObject(string name, ScriptableObject obj)
- {
- serializedScriptableObjectKeys.Add(name);
- serializedScriptableObjects.Add(obj);
- }
- public ScriptableObject DeserializeScriptableObject(string name)
- {
- for (int i = 0; i < serializedScriptableObjectKeys.Count; i++)
- {
- if(serializedScriptableObjectKeys[i] == name) return serializedScriptableObjects[i];
- }
- return null;
- }
- public void ClearScriptableObjects()
- {
- serializedScriptableObjectKeys = new List<string>();
- serializedScriptableObjects = new List<ScriptableObject>();
- }
- #endregion
-
- #region SerializeComponent
- [SerializeField] private List<string> serializedComponentKeys = new List<string>();
- [SerializeField] private List<Component> serializedComponents = new List<Component>();
- public void SerializeComponent(string name, Component comp)
- {
- serializedComponentKeys.Add(name);
- serializedComponents.Add(comp);
- }
- public Component DeserializeComponent(string name)
- {
- for (int i = 0; i < serializedComponentKeys.Count; i++)
- {
- if(serializedComponentKeys[i] == name) return serializedComponents[i];
- }
- return null;
- }
- public void ClearComponents()
- {
- serializedComponentKeys = new List<string>();
- serializedComponents = new List<Component>();
- }
- #endregion
- #region SerializeBehaviour
- [SerializeField] private List<string> serializedBehaviourKeys = new List<string>();
- [SerializeField] private List<Behaviour> serializedBehaviours = new List<Behaviour>();
- public void SerializeBehaviour(string name, Behaviour behaviour)
- {
- serializedBehaviourKeys.Add(name);
- serializedBehaviours.Add(behaviour);
- }
- public Behaviour DeserializeBehaviour(string name)
- {
- for (int i = 0; i < serializedBehaviourKeys.Count; i++)
- {
- if(serializedBehaviourKeys[i] == name) return serializedBehaviours[i];
- }
- return null;
- }
- public void ClearBehaviours()
- {
- serializedBehaviourKeys = new List<string>();
- serializedBehaviours = new List<Behaviour>();
- }
- #endregion
- #region SerializeMaterial
- [SerializeField] private List<string> serializedMaterialKeys = new List<string>();
- [SerializeField] private List<Material> serializedMaterials = new List<Material>();
- public void SerializeMaterial(string name, Material material)
- {
- serializedMaterialKeys.Add(name);
- serializedMaterials.Add(material);
- }
- public Material DeserializeMaterial(string name)
- {
- for (int i = 0; i < serializedMaterialKeys.Count; i++)
- {
- if(serializedMaterialKeys[i] == name) return serializedMaterials[i];
- }
- return null;
- }
- public void ClearMaterials()
- {
- serializedMaterialKeys = new List<string>();
- serializedMaterials = new List<Material>();
- }
- #endregion
- }
- }
|