public override void Replicate(NetworkObjectState state) { NetworkSnakeState snakeState = new NetworkSnakeState(); state.GetState(snakeState); snake.ReplicateState(snakeState); }
public void Deserialize(NetDataReader reader) { PlayerId = reader.GetByte(); Metadata = reader.Get <PlayerMetadata>(); PlayerState = reader.Get <PlayerState>(); NetworkObjectState = reader.Get <NetworkObjectState>(); }
public override void Replicate(NetworkObjectState state) { NetworkFoodState foodState = new NetworkFoodState(); state.GetState(foodState); food.ReplicateState(foodState); }
public void ReceiveReplicatedGameObjects(ServerWorldState state) { receivedGameObjects.Clear(); // Update objects for (int i = 0; i < state.ObjectStatesLength; i++) { NetworkObjectState objectState = state.GetObjectStates(i); INetworkGameObject go = ReceiveReplicatedGameObject(objectState); receivedGameObjects.Add(go); } // Destroy objects we didn't receive in this update foreach (INetworkGameObject go in previouslyReceivedGameObjects) { if (!receivedGameObjects.Contains(go)) { linkingContext.RemoveGameObject(go); go.Destroy(); } } // Swap the previous and current sets HashSet <INetworkGameObject> temp = previouslyReceivedGameObjects; previouslyReceivedGameObjects = receivedGameObjects; receivedGameObjects = temp; }
public void SetState(NetworkObjectState state) { nodeState = state; if (nodeState == NetworkObjectState.Fixed) { nodeLight.pointLightOuterRadius = 1.1f; } else if (nodeState == NetworkObjectState.Broken) { nodeLight.pointLightOuterRadius = 0.3f; } }
private INetworkGameObject ReceiveReplicatedGameObject(NetworkObjectState state) { int networkId = state.NetworkId; byte classId = (byte)state.StateType; INetworkGameObject go = linkingContext.GetGameObject(networkId); if (go == null) { go = objectCreationRegistry.CreateGameObject(classId); linkingContext.AddGameObject(go, networkId); } go.Replicate(state); return(go); }
public override void Replicate(NetworkObjectState state) { NetworkScoreBoardState networkScoreboardState = new NetworkScoreBoardState(); state.GetState <NetworkScoreBoardState>(networkScoreboardState); ScoreboardEntry scoreBoardEntry = new ScoreboardEntry(); for (int i = 0; i < networkScoreboardState.EntriesLength; i++) { networkScoreboardState.GetEntries(scoreBoardEntry, i); scoreBoardState.SetEntry(i, scoreBoardEntry.PlayerName, scoreBoardEntry.Score); } for (int i = networkScoreboardState.EntriesLength; i < scoreBoardState.maxScoreboardPlayers; i++) { scoreBoardState.SetEntry(i, "-", 0); } }
internal void SetFixedPercentage(float percent) { //Debug.Log("Fixing: " + percent); if (percent == 0.0f) { linkColor = Color.gray; lineRenderer.startColor = linkColor; lineRenderer.endColor = linkColor; lineRenderer.SetPositions(new[] { connectionPoint1, connectionPoint2 }); } else if (percent >= 1.0f) { networkObjectState = NetworkObjectState.Fixed; parent.SetState(NetworkObjectState.Fixed); destination.SetState(NetworkObjectState.Fixed); } else { lineRenderer.startColor = gradient.Evaluate(percent); lineRenderer.endColor = gradient.Evaluate(percent); } }
public abstract void Replicate(NetworkObjectState state);
public void ApplyNetworkState(NetworkObjectState state) { }