public static void spawnDummy() { MessageWriter writer; if (dummy == null) { var playerId = (byte)GameData.Instance.GetAvailableId(); writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.SpawnDummy, Hazel.SendOption.Reliable, -1); writer.Write(playerId); writer.Write(PlayerControl.LocalPlayer.transform.position.x); writer.Write(PlayerControl.LocalPlayer.transform.position.y); writer.Write(PlayerControl.LocalPlayer.transform.position.z); AmongUsClient.Instance.FinishRpcImmediately(writer); RPCProcedure.spawnDummy(playerId, PlayerControl.LocalPlayer.transform.position); } writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.MoveDummy, Hazel.SendOption.Reliable, -1); writer.Write(PlayerControl.LocalPlayer.transform.position.x); writer.Write(PlayerControl.LocalPlayer.transform.position.y); writer.Write(PlayerControl.LocalPlayer.transform.position.z); writer.Write(true); AmongUsClient.Instance.FinishRpcImmediately(writer); // 暫定遅延実行 何故か透明化が解除されないため DestroyableSingleton <HudManager> .Instance.StartCoroutine(Effects.Lerp(0.25f, new Action <float>(p => { if (p == 1) { RPCProcedure.moveDummy(PlayerControl.LocalPlayer.transform.position); } }))); if (target != null) { writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.PuppeteerMorph, Hazel.SendOption.Reliable, -1); writer.Write(target.PlayerId); AmongUsClient.Instance.FinishRpcImmediately(writer); RPCProcedure.puppeteerMorph(target.PlayerId); } canSpawn = false; isActive = true; }