public static CompensatioSnapshotGameEntity Allocate(EntityKey entityKey) { var rc = ObjectAllocatorHolder <CompensatioSnapshotGameEntity> .Allocate(); rc.EntityKey = entityKey; return(rc); }
public static DeleteEntityPatch Allocate(EntityKey key) { var rc = ObjectAllocatorHolder <DeleteEntityPatch> .Allocate(); rc.Key = key; return(rc); }
public static EntitasGameEntity <TEntity> Allocate(TEntity entity, IComponentTypeLookup lookup) { var rc = ObjectAllocatorHolder <EntitasGameEntity <TEntity> > .Allocate(); rc.Init(entity, lookup); return(rc); }
public static VNetworkMessageItem Allocate(int messageType, object messageBody, int channel) { VNetworkMessageItem rc = ObjectAllocatorHolder <VNetworkMessageItem> .Allocate(); rc.Init(messageType, messageBody, channel); return(rc); }
public static EntityMapCacheGroup Allocate(EntityMap entityId2Entity) { EntityMapCacheGroup cacheGroup = ObjectAllocatorHolder <EntityMapCacheGroup> .Allocate(); cacheGroup.Initialize(entityId2Entity); return(cacheGroup); }
public MemoryStream SerializeSinaglePackage(UpdateLatestPacakge msg) { MemoryStream stream = ObjectAllocatorHolder <MemoryStream> .Allocate(); stream.Seek(0, SeekOrigin.Begin); var binaryWriter = MyBinaryWriter.Allocate(stream); long bodyLength; var old = MessagePool.GetPackageBySeq(msg.Head.BaseUserCmdSeq); if (old != null) { msg.Head.Serialize(binaryWriter); bodyLength = SerializeComponents(binaryWriter, old.UpdateComponents, msg.UpdateComponents); } else { msg.Head.BaseUserCmdSeq = -1; msg.Head.Serialize(binaryWriter); bodyLength = SerializeComponents(binaryWriter, _emptyUpdateComponents, msg.UpdateComponents); } AssertUtility.Assert(bodyLength < 65535); msg.Head.ReWriteBodyLength(binaryWriter, (short)bodyLength); binaryWriter.ReleaseReference(); return(stream); }
public static AssetLoadRequestNode Alloc(AbstractAssetLoadRequest request) { var node = ObjectAllocatorHolder <AssetLoadRequestNode> .Allocate(); node.Value = request; return(node); }
public virtual object Deserialize(Stream inStream) { T message = ObjectAllocatorHolder <T> .Allocate(); MergeFrom(message, inStream); return(message); }
public static ComponentWrapper Allocate(int componentId) { var rc = ObjectAllocatorHolder <ComponentWrapper> .Allocate(); rc._component = _gameCompoentInfo.Allocate(componentId); return(rc); }
public static AssetLoadRequestBatch <T> Alloc() { var batch = ObjectAllocatorHolder <AssetLoadRequestBatch <T> > .Allocate(); batch._isDisposed = false; return(batch); }
public static ComponentWrapper Allocate(IGameComponent component) { var rc = ObjectAllocatorHolder <ComponentWrapper> .Allocate(); rc._component = component; return(rc); }
public static MyBinaryWriter Allocate(Stream stream) { var writer = ObjectAllocatorHolder <MyBinaryWriter> .Allocate(); writer.OutStream = stream; return(writer); }
public static ModifyEntityPatch Allocate(IGameEntity entity) { var rc = ObjectAllocatorHolder <ModifyEntityPatch> .Allocate(); rc.Key = entity.EntityKey; return(rc); }
public static EntityMapCache Allocate(EntityMap entityId2Entity) { EntityMapCache cache = ObjectAllocatorHolder <EntityMapCache> .Allocate(); cache.SetEntityMap(entityId2Entity); return(cache); }
public static ListBasedGameEntity Allocate(EntityKey entityKey) { var rc = ObjectAllocatorHolder <ListBasedGameEntity> .Allocate(); rc.EntityKey = entityKey; return(rc); }
public static PredictionEntityMap Allocate(bool ownEntity = true) { PredictionEntityMap rc = ObjectAllocatorHolder <PredictionEntityMap> .Allocate(); rc._ownEntity = ownEntity; rc._arrayDirty = true; return(rc); }
public static RemoveAssetStatus Allocate(AssetStatus status, ICommonResourceActions actions) { var ret = ObjectAllocatorHolder <RemoveAssetStatus> .Allocate(); ret.Actions = actions; ret.Status = status; return(ret); }
public static SyncLatestEntityMap Allocate(bool ownEntity = true) { SyncLatestEntityMap rc = ObjectAllocatorHolder <SyncLatestEntityMap> .Allocate(); rc._ownEntity = ownEntity; rc._arrayDirty = true; return(rc); }
internal static LinkedListNode <T> Allocate(MyLinkedList <T> list, T value) { var rc = ObjectAllocatorHolder <LinkedListNode <T> > .Allocate(); rc.list = list; rc.Value = value; return(rc); }
public static CacheEntityMap Allocate(bool ownEntity = true) { CacheEntityMap rc = ObjectAllocatorHolder <CacheEntityMap> .Allocate(); rc._ownEntity = ownEntity; rc._arrayDirty = true; return(rc); }
public static PlayBackEntityMap Allocate(bool ownEntity = true) { PlayBackEntityMap rc = ObjectAllocatorHolder <PlayBackEntityMap> .Allocate(); rc.ownEntity = ownEntity; rc.arrayDirty = true; return(rc); }
public static T AllocEvent <T>() where T : RoomEvent { var evt = ObjectAllocatorHolder <T> .Allocate(); evt._allocator = ObjectAllocatorHolder <T> .GetAllocator(); return(evt); }
public void SendSnapshot(int interval, SnapshotFactory snapshotFactory, Dictionary <INetworkChannel, PlayerEntity> channelToPlayer) { var sessionObjects = _contexts.session.serverSessionObjects; Bin2DConfig bin2DConfig = sessionObjects.Bin2DConfig; IBin2DManager bin = sessionObjects.Bin2dManager; int snapshotSeq = sessionObjects.GetNextSnapshotSeq(); int vehicleSimulationTime = sessionObjects.SimulationTimer.CurrentTime; int serverTime = _contexts.session.currentTimeObject.CurrentTime; _sendSnapshotTasks.Clear(); var freeMoveEntitys = _globalFreeMoveEntities.GetEntities(); var weaponEntities = _globalWeaponEntities.GetEntities(); foreach (var entry in channelToPlayer) { INetworkChannel channel = entry.Key; PlayerEntity player = entry.Value; if (player.hasStage && player.stage.CanSendSnapshot() && channel.IsConnected && !player.network.NetworkChannel.Serializer.MessageTypeInfo.SkipSendSnapShot(serverTime)) { var p = ObjectAllocatorHolder <CreateSnapshotParams> .Allocate().Build(snapshotFactory, player, bin2DConfig, bin, serverTime, snapshotSeq, vehicleSimulationTime, channel); var entitys = p.PreEnitys; AddTeamPlayers(player, entitys, _contexts); AddGlobalFreeMove(player, entitys, freeMoveEntitys); AddWeapon(player, entitys, weaponEntities); _sendSnapshotTasks.Add(p); } else { player.network.NetworkChannel.Serializer.MessageTypeInfo.IncSendSnapShot(); _logger.DebugFormat("channel:{2} skip SendSnapshot :{0} {1}!", channel.IsConnected, !player.network.NetworkChannel.Serializer.MessageTypeInfo.SkipSendSnapShot(serverTime), channel.IdInfo()); } } if (SharedConfig.MutilThread) { #if ENABLE_NEW_SENDSNAPSHOT_THREAD ConsumerExecute(); #else MutilExecute(); #endif } else { MainExecute(); } _logger.DebugFormat("SendSnapshot Threads Done;"); }
public static DeleteComponentPatch Allocate(IGameComponent comp) { var rc = ObjectAllocatorHolder <DeleteComponentPatch> .Allocate(); rc.CreateGameComponent(comp.GetComponentId()); // ReSharper disable once PossibleNullReferenceException (rc.Component as INetworkObject).CopyFrom(comp); return(rc); }
public static DefaultBulletSegment Allocate(int serverTime, RaySegment raySegment, IBulletEntity bulletEntity) { var ret = ObjectAllocatorHolder <DefaultBulletSegment> .Allocate(); ret.ServerTime = serverTime; ret.RaySegment = raySegment; ret.BulletEntity = bulletEntity; return(ret); }
public void Serialize(Stream outStream, object message) { var stream = ObjectAllocatorHolder <CodedOutputStream> .Allocate(); stream.Initizlize(outStream, _outputBuffer); (message as IMessage).WriteTo(stream); stream.Flush(); ObjectAllocatorHolder <CodedOutputStream> .Free(stream); }
public static QueueItem Allocate(INetworkChannel channel, int messageType, object messageBody) { var rc = ObjectAllocatorHolder <QueueItem> .Allocate(); rc.Channel = channel; rc.MessageBody = messageBody; rc.MessageType = messageType; return(rc); }
public static void CreateMuzzleSparkEffct(Vector3 postion, float pitch, float yaw, int effectId, Transform muzzleTrans) { ClientEffectEmitter clientEffectObj = LocalObjectGenerator.EffectLocal.GetClientEffectEmitter(EEffectObjectClassify.Muzzle); var immobileEffectBehavior = ObjectAllocatorHolder <YawEffectBehavior> .Allocate(); immobileEffectBehavior.Initialize(pitch, yaw, postion, muzzleTrans); clientEffectObj.Initialize(effectId, immobileEffectBehavior); }
public ISnapshot GeneratePerPlayerSnapshot(int seq, EntityKey self, Vector3 position, Bin2DConfig config, IBin2DManager bin, List <IGameEntity> preEntitys) { var factory = ObjectAllocatorHolder <PartialSnapshotFactory> .Allocate(); var ret = factory.GeneratePartialSnapshot(seq, self, position, config, bin, preEntitys); factory.ReleaseReference(); return(ret); }
public static AssetLoadRequest <T> Alloc() { var req = ObjectAllocatorHolder <AssetLoadRequest <T> > .Allocate(); if (req.Allocator == null) { req.Allocator = ObjectAllocatorHolder <AssetLoadRequest <T> > .GetAllocator(); } return(req); }