Skip to content

Commit 0ccda8d

Browse files
Added a CreateCopy function on base references
1 parent 108653c commit 0ccda8d

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

Assets/SO Architecture/References/BaseReference.cs

+11-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using UnityEngine;
22

33
[System.Serializable]
4-
public abstract class BaseReference<TBase, TVariable> : BaseReference where TVariable : BaseVariable<TBase>
4+
public class BaseReference<TBase, TVariable> : BaseReference where TVariable : BaseVariable<TBase>
55
{
66
public BaseReference() { }
77
public BaseReference(TBase baseValue)
@@ -35,6 +35,16 @@ public bool IsValueDefined
3535
return _useConstant || _variable != null;
3636
}
3737
}
38+
39+
public BaseReference CreateCopy()
40+
{
41+
BaseReference<TBase, TVariable> copy = (BaseReference<TBase, TVariable>)System.Activator.CreateInstance(GetType());
42+
copy._useConstant = _useConstant;
43+
copy._constantValue = _constantValue;
44+
copy._variable = _variable;
45+
46+
return copy;
47+
}
3848
public void AddListener(IGameEventListener listener)
3949
{
4050
if (_variable != null)

0 commit comments

Comments
 (0)