public void UpdateUserVar(UserVariable userVar, bool fromReplay = false) { if (userVar.Name == "spd") { UpdateSpeed(userVar); } else if (userVar.Name == "ptype") { UpdateType(userVar); } else if (userVar.Name == "modelAnimation") { UpdateAnimState(userVar); } else if (userVar.Name == "op") { ApplyAvatarOptions(userVar.GetStringValue()); } else if (userVar.Name == "parseId") { string postfix = fromReplay ? ">" : ""; ParseId = userVar.GetStringValue() + postfix; } else if (userVar.Name == "displayName") { DisplayName = userVar.GetStringValue(); } else if (userVar.Name == "team") { teamID = userVar.GetIntValue(); } else if (userVar.Name == "gt" || userVar.Name == "gp") { UpdateGaze(userVar.Name, (float)userVar.GetDoubleValue()); } else if (userVar.Name == "sit") { UpdateSit(userVar.GetBoolValue()); } else if (userVar.Name == "scl") { UpdateScale((float)userVar.GetDoubleValue()); } else { Debug.LogError("Unsupported userVar: " + userVar.Name); } }
void RecordUserVariable(BinaryWriter writer, UserVariable userVar) { writer.Write(userVar.Name); writer.Write((int)userVar.Type); switch (userVar.Type) { case VariableType.INT: writer.Write(userVar.GetIntValue()); break; case VariableType.DOUBLE: writer.Write(userVar.GetDoubleValue()); break; case VariableType.STRING: writer.Write(userVar.GetStringValue()); break; case VariableType.OBJECT: ByteArray ba = userVar.GetSFSObjectValue().ToBinary(); writer.Write(ba.Length); writer.Write(ba.Bytes); break; } }
public static object GetValueFromSFSUserValue(UserVariable sfsValue, Type type) { if (sfsValue.IsNull()) { return(null); } if (type == typeof(bool)) { return(Convert.ChangeType(sfsValue.GetBoolValue(), type)); } if (type == typeof(double)) { return(Convert.ChangeType(sfsValue.GetDoubleValue(), type)); } if (type == typeof(int)) { return(Convert.ChangeType(sfsValue.GetIntValue(), type)); } if (type == typeof(string)) { return(Convert.ChangeType(sfsValue.GetStringValue(), type)); } if (type == typeof(SFSObject)) { return(Convert.ChangeType(sfsValue.GetSFSObjectValue(), type)); } return(Convert.ChangeType(sfsValue.GetSFSObjectValue(), type)); }
public static void UpdateTransformVars(UserVariable userVar, ref float rotAngle, ref Vector3 pos) { if (userVar.Name == "rot") { rotAngle = (float)userVar.GetDoubleValue(); } else if (userVar.Name == "x") { pos.x = (float)userVar.GetDoubleValue(); } else if (userVar.Name == "y") { pos.y = (float)userVar.GetDoubleValue(); } else if (userVar.Name == "z") { pos.z = (float)userVar.GetDoubleValue(); } }
public void UpdateSpeed(UserVariable userVar) { UpdateSpeed((float)userVar.GetDoubleValue()); }