Example #1
0
        protected override void HandleMessage(EntityActorMessageContext messageContext, DefaultEntityActorStateContainer state, EntityActorInitializationSuccessMessage message)
        {
            //We should send ourselves the level initialization message because it takes care of stats
            CharacterDataInstance     entity = InitialCharacterDataMappable.RetrieveEntity(state.EntityGuid);
            IEntityDataFieldContainer entityDataFieldContainer = state.EntityData;

            entityDataFieldContainer.SetFieldValue((int)PlayerObjectField.PLAYER_TOTAL_EXPERIENCE, entity.Experience);

            //Set the level from the initial experience data.
            messageContext.Entity.Tell(new SetEntityActorLevelMessage(LevelStrategy.ComputeLevelFromExperience(entity.Experience)));
        }
Example #2
0
        private void InitializeCharacterLevel([NotNull] NetworkEntityGuid guid, [NotNull] IUICharacterSlot button)
        {
            if (guid == null)
            {
                throw new ArgumentNullException(nameof(guid));
            }
            if (button == null)
            {
                throw new ArgumentNullException(nameof(button));
            }

            CharacterDataInstance dataInstance = InitialCharacterDataMappable.RetrieveEntity(guid);

            button.LevelText.Text = $"Level {LevelStrategy.ComputeLevelFromExperience(dataInstance.Experience).ToString()}";
        }