コード例 #1
0
 public DefaultCreatureActorState([NotNull] IEntityDataFieldContainer entityData,
                                  [NotNull] NetworkEntityGuid entityGuid,
                                  [NotNull] CreatureInstanceModel instanceModel,
                                  [NotNull] CreatureTemplateModel templateModel,
                                  [NotNull] InterestCollection interest)
     : base(entityData, entityGuid, interest)
 {
     InstanceModel = instanceModel ?? throw new ArgumentNullException(nameof(instanceModel));
     TemplateModel = templateModel ?? throw new ArgumentNullException(nameof(templateModel));
 }
コード例 #2
0
        protected override void OnCreatureEntityCreationStarting(EntityCreationStartingEventArgs args)
        {
            //We do nothing if something has already initialized the movement.
            if (MovementDataMappable.ContainsKey(args.EntityGuid))
            {
                return;
            }

            CreatureInstanceModel instanceModel = CreatureInstanceModel.RetrieveEntity(args.EntityGuid);

            MovementDataMappable.AddObject(args.EntityGuid, new PositionChangeMovementData(0, instanceModel.InitialPosition, Vector2.zero, instanceModel.YAxisRotation));
        }
コード例 #3
0
        private void CreateActor(WorldActorState state, CreateCreatureEntityActorMessage message)
        {
            //Create the actor and tell it to initialize.
            IActorRef actorRef = state.WorldActorFactory.ActorOf(Resolver.Create <DefaultCreatureEntityActor>(), message.EntityGuid.RawGuidValue.ToString());

            //TODO: Move to factory.
            CreatureInstanceModel instanceModel = CreatureInstanceMappable.RetrieveEntity(message.EntityGuid);
            CreatureTemplateModel templateModel = CreatureTemplateMappable.RetrieveEntity(message.EntityGuid);

            DefaultCreatureEntityActor.InitializeActor(actorRef, new DefaultCreatureActorState(EntityDataMappable.RetrieveEntity(message.EntityGuid), message.EntityGuid, instanceModel, templateModel, InterestMappable.RetrieveEntity(message.EntityGuid)));

            ActorRefMappable.AddObject(message.EntityGuid, actorRef);

            if (Logger.IsInfoEnabled)
            {
                Logger.Info($"Created Creature Actor: {typeof(DefaultCreatureEntityActor)} for Entity: {message.EntityGuid}");
            }
        }
コード例 #4
0
 public async Task UpdateCreatureInstance(int creatureId, CreatureInstanceModel model)
 {
     await(await GetService().ConfigureAwaitFalse()).UpdateCreatureInstance(creatureId, model).ConfigureAwaitFalseVoid();
 }