public void Initialize() { if (!StatObject) { UseValue = true; StatObject = ScriptableObject.CreateInstance <BaseStat>(); StatObject.Initialize(Value); } else if (UseValue) { StatObject.SetValue(Value); } else { StatObject.Initialize(); Value = StatObject.GetValue(); } }