A game about forced loneliness, made by TACStudios
1using System;
2
3namespace Unity.VisualScripting
4{
5 // Variable declarations are cloned for every graph instantiation, it's worth speeding it up.
6
7 public sealed class VariableDeclarationsCloner : Cloner<VariableDeclarations>
8 {
9 public static readonly VariableDeclarationsCloner instance = new VariableDeclarationsCloner();
10
11 public override bool Handles(Type type)
12 {
13 return type == typeof(VariableDeclarations);
14 }
15
16 public override VariableDeclarations ConstructClone(Type type, VariableDeclarations original)
17 {
18 return new VariableDeclarations();
19 }
20
21 public override void FillClone(Type type, ref VariableDeclarations clone, VariableDeclarations original, CloningContext context)
22 {
23 foreach (var variable in original)
24 {
25 clone[variable.name] = variable.value.CloneViaFakeSerialization();
26 }
27 }
28 }
29}