private void Initialize(BehaviorUpdateContext context) { // not sure why the required experience for rank 1 is 1 instead of 0 if (_gameObject.ExperienceValue == 0) { _gameObject.ExperienceValue = 1; } _experienceLevels = FindRelevantExperienceLevels(context); if (_experienceLevels != null && _experienceLevels.Count > 0) { _nextLevel = _experienceLevels.First(); _gameObject.ExperienceRequiredForNextLevel = _nextLevel.RequiredExperience; ObjectGainsExperience = true; } _bannerCarrierUpdate = _gameObject.FindBehavior <BannerCarrierUpdate>(); _initial = false; }