- Home /
Question by
3Dnonsense · Sep 15, 2012 at 06:47 PM ·
networknullreferenceexceptioninterpolationtimestamp
Can't seem to pull timestamp from networkmessageinfo in OnSerializeNetworkView
So, I am trying to read the metworkmessageinfo timestamp into a class variable, and I am getting:
NullReferenceException: Object reference not set to an instance of an object netMove.OnSerializeNetworkView (UnityEngine.BitStream infoStream, NetworkMessageInfo infoSender)
relevant code:
class objectState {
var timeStamp: double; //EDIT: changed from float to double for T-shoot, same error
var savedPos: Vector3;
var savedRot: Quaternion;
}
function OnSerializeNetworkView ( infoStream: BitStream, infoSender: NetworkMessageInfo ) {
if ( infoStream.isWriting ) {
//input code is here, stripped for relevance
} else {
//other lerp code here, stripped for relevance
var currentState: objectState;
currentState.timeStamp = infoSender.timestamp; //nullref here
}
}
Comment
Best Answer
Answer by 3Dnonsense · Sep 15, 2012 at 07:54 PM
Bah, answering my own question. I was converting a C# sample and the sample didn't have a constructor in the class. This worked:
class objectState {
var timeStamp: double;
var savedPos: Vector3;
var savedRot: Quaternion;
function objectState () { //added constructor function
this.timeStamp = 0.0D;
this.savedPos = Vector3.zero;
this.savedRot = Quaternion.identity;
}
}
function OnSerializeNetworkView ( infoStream: BitStream, infoSender: NetworkMessageInfo ) {
if ( infoStream.isWriting ) {
//input code is here, stripped for relevance
} else {
//other lerp code here, stripped for relevance
var currentState: objectState = new objectState(); //added parens
currentState.timeStamp = infoSender.timestamp;
}
}
Your answer
Follow this Question
Related Questions
NetworkInterpolatedTransform to Photon Unity Networking 0 Answers
Unity Networking. Player flickers. 0 Answers
Initial position of an object with interpolation 1 Answer
Networking-multplayer issue 1 Answer
NullReferenceException with UNET void 0 Answers