#pragma warning disable RefCounter001,RefCounter002 // possible reference counter error public GameEntityPlayBackDiffComparator Init(IEntityMapCompareHandler handler, IInterpolationInfo interpolationInfo, EntityMap localEntityMap) { base.Init(handler); _interpolationInfo = interpolationInfo; _localEntityMap = localEntityMap; return(this); }
public virtual void Init(IEntityMapCompareHandler handler) { _handler = handler; _componentComparator.Init(_handler); _isIncludeDelegate = IsIncludeDelegate; }
public static void Diff( EntityMap left, EntityMap right, IEntityMapCompareHandler handler, string staticsticId = "", IGameEntityComparator gameEntityComparator = null, bool skipMissHandle = false) { if (gameEntityComparator == null) { gameEntityComparator = new GameEntityComparator(handler); } EntityMapComparaeStatisticOne oneStat = UnsortedEntityMapComparator.Diff(left, right, handler, gameEntityComparator, skipMissHandle); RecordStatistics(staticsticId, oneStat); }
public static EntityMapComparaeStatisticOne Diff(EntityMap left, EntityMap right, IEntityMapCompareHandler handler, IGameEntityComparator gameEntityComparator, bool skipMissHandle = false) { int entityCount = 0; int componentCount = 0; DateTime startTime = DateTime.Now; foreach (var rightEntry in right) { entityCount++; if (handler.IsBreak()) { break; } var entityKey = rightEntry.Key; var rightEntity = rightEntry.Value; IGameEntity leftEntity; left.TryGetValue(entityKey, out leftEntity); if (leftEntity == null) { if (!skipMissHandle) { handler.OnLeftEntityMissing(rightEntity); } continue; } componentCount += gameEntityComparator.Diff(leftEntity, rightEntity, skipMissHandle); } if (!handler.IsBreak() && !skipMissHandle) { foreach (var leftEntry in left) { var entityKey = leftEntry.Key; var leftEntity = leftEntry.Value; IGameEntity rightEntity; if (!right.TryGetValue(entityKey, out rightEntity)) { entityCount++; handler.OnRightEntityMissing(leftEntity); } } } return(new EntityMapComparaeStatisticOne { EntityCount = entityCount, ComponentCount = componentCount, CreateTime = DateTime.Now, Interval = (int)(startTime - startTime).TotalMilliseconds }); }
public GameEntityComparatorHandler(IEntityMapCompareHandler handler) { _handler = handler; _comparator = new GameEntityComparator(handler); }
public GameEntityComparator(IEntityMapCompareHandler handler) { base.Init(handler); }
public GameEntitySelfLatestComparator Init(IEntityMapCompareHandler handler, int serverTime) { base.Init(handler); _serverTime = serverTime; return(this); }
public void Init(IEntityMapCompareHandler handler) { _handler = handler; _leftEntity = null; _rightEntity = null; }