private bool TryHandleHostRaiseSign(HMessage current, HMessage previous) { bool isHostRaiseSign = false; if (current.CanRead <string>(22) && current.ReadString(22) == "sign") { OutgoingHeaders.RaiseSign = previous.Header; _outLocked[previous.Header] = RaiseOnHostRaiseSign; isHostRaiseSign = true; } return(isHostRaiseSign); }
private bool TryHandleHostNavigateRoom(HMessage current, HMessage previous) { if (previous.Length >= 12 && current.CanRead <string>(0) && current.ReadString() == "Navigation") { current.ReadString(); if (current.ReadString() != "go.official") { return(false); } if (previous.ReadInteger(0).ToString() == current.ReadString()) { OutgoingHeaders.NavigateRoom = previous.Header; _outLocked[previous.Header] = RaiseOnHostNavigateRoom; return(true); } } return(false); }
private bool TryHandleAvatarMenuClick(HMessage current, HMessage previous) { if (!previous.CanRead <string>(22)) { return(false); } switch (previous.ReadString(22)) { case "sit": case "stand": { OutgoingHeaders.UpdateStance = current.Header; _outLocked[current.Header] = RaiseOnHostUpdateStance; return(true); } case "dance_stop": case "dance_start": { OutgoingHeaders.Dance = current.Header; _outLocked[current.Header] = RaiseOnHostDance; return(true); } case "wave": case "idle": case "laugh": case "blow_kiss": { OutgoingHeaders.Gesture = current.Header; _outLocked[current.Header] = RaiseOnHostGesture; return(true); } } return(false); }
private bool TryHandleHostNavigateRoom(HMessage current, HMessage previous) { if (previous.Length >= 12 && current.CanRead<string>(0) && current.ReadString() == "Navigation") { current.ReadString(); if (current.ReadString() != "go.official") return false; if (previous.ReadInteger(0).ToString() == current.ReadString()) { OutgoingHeaders.NavigateRoom = previous.Header; _outLocked[previous.Header] = RaiseOnHostNavigateRoom; return true; } } return false; }
private bool TryHandleAvatarMenuClick(HMessage current, HMessage previous) { if (!previous.CanRead<string>(22)) return false; switch (previous.ReadString(22)) { case "sit": case "stand": { OutgoingHeaders.UpdateStance = current.Header; _outLocked[current.Header] = RaiseOnHostUpdateStance; return true; } case "dance_stop": case "dance_start": { OutgoingHeaders.Dance = current.Header; _outLocked[current.Header] = RaiseOnHostDance; return true; } case "wave": case "idle": case "laugh": case "blow_kiss": { OutgoingHeaders.Gesture = current.Header; _outLocked[current.Header] = RaiseOnHostGesture; return true; } } return false; }
private bool TryHandleHostRaiseSign(HMessage current, HMessage previous) { bool isHostRaiseSign = false; if (current.CanRead<string>(22) && current.ReadString(22) == "sign") { OutgoingHeaders.RaiseSign = previous.Header; _outLocked[previous.Header] = RaiseOnHostRaiseSign; isHostRaiseSign = true; } return isHostRaiseSign; }