public static unsafe ushort GetChar(this NativeString64 str, int pos) { var b = &str.buffer.byte0000; str.CopyTo(b, out var _, (ushort)pos); return(b[pos]); }
public void SendActionToServer(NativeString64 pAction) { var writer = Driver.BeginSend(Connection); writer.WriteString(pAction); Driver.EndSend(writer); }
public unsafe bool WriteString(NativeString64 str) { int length = (int)*((ushort *)&str) + 2; byte *data = ((byte *)&str); return(WriteBytes(data, length)); }
public unsafe void WritePackedStringDelta(NativeString64 str, NativeString64 baseline, NetworkCompressionModel model) { ushort length = *((ushort *)&str); byte * data = ((byte *)&str) + 2; ushort baseLength = *((ushort *)&baseline); byte * baseData = ((byte *)&baseline) + 2; WritePackedUIntDelta(length, baseLength, model); if (length <= baseLength) { for (int i = 0; i < length; ++i) { WritePackedUIntDelta(data[i], baseData[i], model); } } else { for (int i = 0; i < baseLength; ++i) { WritePackedUIntDelta(data[i], baseData[i], model); } for (int i = baseLength; i < length; ++i) { WritePackedUInt(data[i], model); } } }
public void Deserialize(ref DataStreamReader reader) { Name = reader.ReadString(); Size.x = reader.ReadInt(); Size.y = reader.ReadInt(); //reader.ReadInt(); }
public void Execute(int index) { DataStreamReader stream; Assert.IsTrue(connections[index].IsCreated); NetworkEvent.Type cmd; while ((cmd = driver.PopEventForConnection(connections[index], out stream)) != NetworkEvent.Type.Empty) { if (cmd == NetworkEvent.Type.Data) { NativeString64 message = stream.ReadString(); if (message.ToString() != "Message Confirmed") { Debug.Log("Received Message: " + message); var writer = driver.BeginSend(connections[index]); writer.WriteString("Message Confirmed"); driver.EndSend(writer); } } else if (cmd == NetworkEvent.Type.Disconnect) { Debug.Log("Client disconnected from server"); connections[index] = default(NetworkConnection); } } }
public void NativeStringCopyFrom(String s, CopyError expectedError) { NativeString64 ns = new NativeString64(); var error = ns.CopyFrom(s); Assert.AreEqual(expectedError, error); }
public void NativeString64EqualsWorks(String a, String b) { NativeString64 aa = new NativeString64(a); NativeString64 bb = new NativeString64(b); Assert.AreEqual(aa.Equals(bb), a.Equals(b)); }
public AnimationEventData(Entity entity, string stringParameter, float floatParameter, int intParameter) { Entity = entity; StringParameter = new NativeString64(stringParameter); FloatParameter = floatParameter; IntParameter = intParameter; }
public unsafe void WriteString(NativeString64 str) { int length = (int)*((ushort *)&str) + 2; byte *data = ((byte *)&str); WriteBytes(data, length); }
public MapInfo generateRandomMap( mapTheme theme, mapType mType, int width, int height, [Optional] NativeString64 seed, [Optional] float squareSize) { seed = (seed.LengthInBytes == 0) ? Time.realtimeSinceStartup.ToString() : seed; squareSize = (squareSize == 0) ? DEFAULT_SQUARE_SIZE : squareSize; Entity map = mapGenWorld.EntityManager.CreateEntity(); mapGenWorld.EntityManager.AddComponentData(map, new MapGenRequirement { width = width, height = height, mType = mType, randomFillPercent = 45, seed = seed, squareSize = squareSize }); var mapInfo = new MapInfo { entity = map, theme = theme, seed = seed, genStage = generationStage.tileGen }; mapGenWorld.EntityManager.AddComponentData(map, new TileMapGeneration.T_InitialGen { }); mapGenWorld.EntityManager.AddComponentData(map, new MapInfo { entity = map, theme = theme, seed = seed, genStage = generationStage.tileGen }); return(mapInfo); }
public void RoadNetworkTraversal_LaneSectionTraversalSmokeTest() { var roadNetwork = LoadTestFile("CircleCourse"); var firstRoad = roadNetwork.AllRoads.First(); var firstRoadId = new NativeString64(firstRoad.roadId); var numLaneSections = 3; var numLoops = 10; var traversalState = new TraversalState(roadNetwork, firstRoad.roadId, 0, -1, TraversalDirection.Forward); for (var step = 0; step < numLaneSections - 1; ++step) { Assert.IsTrue(RoadNetworkTraversal.TryAdvanceOneLaneSection(roadNetwork, ref traversalState, false), $"Failed to advance to step #{step} - {numLaneSections} total"); Assert.AreEqual(-1, traversalState.LaneId); } // Without allowing looping, we shouldn't be allowed to go to the next lane section Assert.IsFalse(RoadNetworkTraversal.TryAdvanceOneLaneSection(roadNetwork, ref traversalState, false)); Assert.IsTrue(RoadNetworkTraversal.TryAdvanceOneLaneSection(roadNetwork, ref traversalState, true)); Assert.AreEqual(firstRoadId, traversalState.RoadId); for (var step = 0; step < numLaneSections * numLoops; ++step) { Assert.IsTrue(RoadNetworkTraversal.TryAdvanceOneLaneSection(roadNetwork, ref traversalState, true), $"Failed to advance to step #{step} - {numLaneSections} total"); Assert.AreEqual(-1, traversalState.LaneId); } Assert.AreEqual(firstRoadId, traversalState.RoadId); }
public void NativeString64ToNativeString4096Works(String a) { var b = new NativeString64(a); var c = new NativeString4096(ref b); String d = c.ToString(); Assert.AreEqual(a, d); }
internal void GenerateNewWayPointPath() { var roadIds = new RoadSet(RoadNetwork); if (!roadIds.Contains(m_RoadId)) { m_RoadId = roadIds.GetNotTraversed(Math.Abs(m_Rand.NextInt())); if (m_RoadId.Equals(default))
public void NativeString64CompareToWorks(String a, String b) { NativeString64 aa = new NativeString64(a); NativeString64 bb = new NativeString64(b); var c0 = aa.CompareTo(bb); var c1 = a.CompareTo(b); Assert.AreEqual(c0, c1); }
public static NativeString64 ReadNativeString64(this Buffer buffer) { NativeString64 str = new NativeString64(); str.LengthInBytes = buffer.ReadBlittable <ushort>(); str.buffer = buffer.ReadBlittable <Bytes62>(); return(str); }
public void AddCostRecord(NativeString64 queryDebugName, float poseCost, float trajectoryCost) { costRecords.Add(new DebugCostRecord() { queryDebugName = queryDebugName, poseCost = poseCost, trajectoryCost = trajectoryCost }); }
public void NativeString64ParseFloatNan() { NativeString64 aa = new NativeString64("NaN"); int offset = 0; float output = 0; var result = aa.Parse(ref offset, ref output); Assert.AreEqual(ParseError.None, result); Assert.IsTrue(Single.IsNaN(output)); }
public static void Set(this UnityEngine.UI.Text me, ref NativeString64 text) { var originalText = new NativeString64(me.text); if (originalText.CompareTo(text) == 0) { return; } me.text = text.ToString(); }
public static void Set(this TMPro.TextMeshProUGUI me, ref NativeString64 text) { var originalText = new NativeString64(me.text); if (originalText.CompareTo(text) == 0) { return; } me.text = text.ToString(); }
public static void EchoText(NetworkConnection connection, NativeString64 text) { var writer = driver.BeginSend(NetworkPipeline.Null, connection); writer.WriteUInt((uint)ServerPackets.echoText); writer.WriteString("Echo: " + text); driver.EndSend(writer); }
public void Deserialize(ref DataStreamReader reader) { skillId = reader.ReadShort(); skill2Id = reader.ReadShort(); skill3Id = reader.ReadShort(); skill4Id = reader.ReadShort(); characterId = (uint)reader.ReadInt(); skinId = (uint)reader.ReadInt(); userId = reader.ReadString(); }
public void SendRemoteCommandRpc(NativeString64 command) { var entity = World.EntityManager.CreateEntity(); var remoteCommand = new RemoteCommandComponent { Command = command }; World.EntityManager.AddComponentData(entity, remoteCommand); }
public void Execute(Entity entity, int jobIndex, DynamicBuffer <Node> nodes, DynamicBuffer <State> states, ref Agent agent) { //执行进度要处于正确的id上 var currentNode = nodes[agent.ExecutingNodeId]; if (!currentNode.Name.Equals(new NativeString64(nameof(DropItemAction)))) { return; } //从effect里找目标. var targetEntity = Entity.Null; var targetItemName = new NativeString64(); for (var i = 0; i < states.Length; i++) { if ((currentNode.EffectsBitmask & (ulong)1 << i) > 0) { var effect = states[i]; Assert.IsTrue(effect.Target != null); targetEntity = effect.Target; targetItemName = effect.ValueString; break; } } //从自身找到物品引用,并移除 var itemRef = new ContainedItemRef(); var id = 0; var bufferContainedItems = AllContainedItemRefs[entity]; for (var i = 0; i < bufferContainedItems.Length; i++) { var containedItemRef = bufferContainedItems[i]; if (!containedItemRef.ItemName.Equals(targetItemName)) { continue; } itemRef = containedItemRef; id = i; break; } bufferContainedItems.RemoveAt(id); //目标获得物品 var buffer = AllContainedItemRefs[targetEntity]; buffer.Add(itemRef); //通知执行完毕 Utils.NextAgentState <ReadyToAct, ReadyToNavigate>( entity, jobIndex, ref ECBuffer, agent, true); }
/// <summary> /// 追加对起点的链接 /// </summary> /// <param name="parent"></param> /// <param name="actionName"></param> public void LinkStartNode(Node parent, NativeString64 actionName) { //start node的iteration设置为此Node+1 var iteration = parent.Iteration; if (_startNode.Iteration <= iteration) { _startNode.Iteration = iteration + 1; } _nodeToParent.Add(_startNode, new Edge(parent, _startNode, actionName)); }
public void Deserialize(uint tick, ref GameModeSnapshotData baseline, ref DataStreamReader reader, NetworkCompressionModel compressionModel) { this.tick = tick; changeMask0 = reader.ReadPackedUIntDelta(baseline.changeMask0, compressionModel); if ((changeMask0 & (1 << 0)) != 0) { GameModeDatagameTimerSeconds = reader.ReadPackedIntDelta(baseline.GameModeDatagameTimerSeconds, compressionModel); } else { GameModeDatagameTimerSeconds = baseline.GameModeDatagameTimerSeconds; } if ((changeMask0 & (1 << 1)) != 0) { GameModeDatagameTimerMessage = reader.ReadPackedStringDelta(baseline.GameModeDatagameTimerMessage, compressionModel); } else { GameModeDatagameTimerMessage = baseline.GameModeDatagameTimerMessage; } if ((changeMask0 & (1 << 2)) != 0) { GameModeDatateamName0 = reader.ReadPackedStringDelta(baseline.GameModeDatateamName0, compressionModel); } else { GameModeDatateamName0 = baseline.GameModeDatateamName0; } if ((changeMask0 & (1 << 3)) != 0) { GameModeDatateamName1 = reader.ReadPackedStringDelta(baseline.GameModeDatateamName1, compressionModel); } else { GameModeDatateamName1 = baseline.GameModeDatateamName1; } if ((changeMask0 & (1 << 4)) != 0) { GameModeDatateamScore0 = reader.ReadPackedIntDelta(baseline.GameModeDatateamScore0, compressionModel); } else { GameModeDatateamScore0 = baseline.GameModeDatateamScore0; } if ((changeMask0 & (1 << 5)) != 0) { GameModeDatateamScore1 = reader.ReadPackedIntDelta(baseline.GameModeDatateamScore1, compressionModel); } else { GameModeDatateamScore1 = baseline.GameModeDatateamScore1; } }
internal static QueryTraitExpression Create(ref Binary binary, NativeString64 debugName = default(NativeString64)) { var constraints = new NativeList <Constraint>(Allocator.Temp); return(new QueryTraitExpression() { binary = MemoryRef <Binary> .Create(ref binary), constraints = constraints, debugName = debugName }); }
public void ReadFromStream(Buffer buffer) { trajectory = buffer.ReadBlittable <DebugIdentifier>(); candidates = buffer.ReadBlittable <DebugIdentifier>(); samplingTime = buffer.ReadBlittable <DebugIdentifier>(); closestMatch = buffer.ReadBlittable <DebugIdentifier>(); deviationTable = buffer.ReadBlittable <DebugIdentifier>(); trajectoryWeight = buffer.ReadSingle(); maxDeviation = buffer.ReadSingle(); deviated = buffer.ReadBoolean(); debugName = buffer.ReadNativeString64(); }
internal void SetNewLocation(NativeString64 roadId, int laneSectionIdx, int laneId, TraversalDirection direction) { RoadId = roadId; LaneSectionIdx = laneSectionIdx; LaneId = laneId; Direction = direction; if (!AllRoadIds.HasBeenTraversed(roadId)) { AllRoadIds.Traverse(roadId); } }
public void NativeString64FormatNegativeZero() { float input = -0.0f; var expectedOutput = input.ToString(); NativeString64 aa = new NativeString64(); var result = aa.Format(input); Assert.AreEqual(FormatError.None, result); var actualOutput = aa.ToString(); Assert.AreEqual(expectedOutput, actualOutput); }