Example #1
0
    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);
    }
Example #4
0
    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;
    }
Example #5
0
 public void SetState(NetworkObjectState state)
 {
     nodeState = state;
     if (nodeState == NetworkObjectState.Fixed)
     {
         nodeLight.pointLightOuterRadius = 1.1f;
     }
     else if (nodeState == NetworkObjectState.Broken)
     {
         nodeLight.pointLightOuterRadius = 0.3f;
     }
 }
Example #6
0
    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);
        }
    }
Example #8
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);
     }
 }
Example #9
0
 public abstract void Replicate(NetworkObjectState state);
Example #10
0
 public void ApplyNetworkState(NetworkObjectState state)
 {
 }