internal void UpdateFromNet(CamDroneMessage msg) { try { Vector3 newpos = player.CurTech.tech.WorldCenterOfMass + msg.position; var pastpos = transform.position; transform.position = newpos; var dif = pastpos - newpos - Vector3.up * 2f; transform.rotation = Quaternion.Euler(0, msg.rotation.eulerAngles.y, 0) * Quaternion.FromToRotation(Vector3.down, dif.normalized); T_Barrel.rotation = msg.rotation; } catch { } }
public static void OnUpdateDrone(CamDroneMessage msg, NetworkMessage sender) { try { if (Lookup.TryGetValue(msg.player, out NetCamera cam)) { cam.UpdateFromNet(msg); } } catch { Lookup.Remove(msg.player); } }
internal static void OnServerUpdateDrone(CamDroneMessage msg, NetworkMessage sender) { NetHandler.BroadcastMessageToAllExcept(MsgCamDrone, msg, true, sender.conn.connectionId); OnUpdateDrone(msg, sender); }