Exemple #1
0
        void IChannelToClientZone.Spawn(int entityId, Type protoType, int ownerId, EntityFlags flags,
                                        ISpawnPayload payload)
        {
            var entity = _entityFactory.Create(protoType);

            entity.Id        = entityId;
            entity.ProtoType = protoType;
            entity.Zone      = this;
            entity.OwnerId   = ownerId;
            entity.Flags     = flags;

            if (payload != null)
            {
                payload.Notify(entity);
            }

            _entityMap.Add(entityId, entity);

            entity.OnSpawn();
            EntitySpawned?.Invoke(entity);
        }