Merge branch 'dev_ARKit'

dev_vm
Nathan VERDIER 10 months ago
commit 950cfe3546

@ -1,7 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="107px" height="107px" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" xmlns:xlink="http://www.w3.org/1999/xlink">
<g><path style="opacity:1" fill="#fffdfc" d="M -0.5,-0.5 C 35.1667,-0.5 70.8333,-0.5 106.5,-0.5C 106.5,35.1667 106.5,70.8333 106.5,106.5C 70.8333,106.5 35.1667,106.5 -0.5,106.5C -0.5,70.8333 -0.5,35.1667 -0.5,-0.5 Z"/></g>
<g><path style="opacity:1" fill="#ff0a02" d="M 72.5,81.5 C 72.44,80.9569 72.1067,80.6236 71.5,80.5C 69.1074,81.9295 66.7741,83.2628 64.5,84.5C 62.7422,85.9985 60.9088,86.3319 59,85.5C 57.9563,86.6226 57.2896,87.9559 57,89.5C 55.5421,88.2532 54.0421,88.2532 52.5,89.5C 47.2625,88.1915 42.0958,86.5248 37,84.5C 36.6667,84.8333 36.3333,85.1667 36,85.5C 33.6166,82.7272 30.7833,80.5605 27.5,79C 26.8333,77.6667 26.1667,76.3333 25.5,75C 22.9664,74.4837 20.7998,73.317 19,71.5C 18.5803,65.9729 17.4137,60.6396 15.5,55.5C 16.5,54.1667 17.5,52.8333 18.5,51.5C 16.3145,47.9728 16.3145,44.3061 18.5,40.5C 23.5438,33.6008 28.8772,26.9341 34.5,20.5C 36.0924,20.4173 37.7591,20.7506 39.5,21.5C 43.4346,20.2463 47.4346,19.2463 51.5,18.5C 53.0879,17.9904 54.2545,16.9904 55,15.5C 62.8685,18.8827 70.3685,22.8827 77.5,27.5C 79.8375,25.9893 80.5042,26.3227 79.5,28.5C 80.1667,29.8333 81.1667,30.8333 82.5,31.5C 83.4656,33.396 83.7989,35.396 83.5,37.5C 86.6829,37.929 89.0162,39.5957 90.5,42.5C 89.1903,47.6537 89.1903,52.8204 90.5,58C 90.2838,60.5068 89.2838,61.3401 87.5,60.5C 86.2612,62.0072 86.5946,63.1739 88.5,64C 87.1068,65.1711 86.2735,66.6711 86,68.5C 85.6667,67.5 85.3333,66.5 85,65.5C 82.1612,70.4675 79.1612,75.8008 76,81.5C 75.0138,80.8288 73.8471,80.8288 72.5,81.5 Z"/></g>
<g><path style="opacity:1" fill="#ffaba5" d="M 72.5,81.5 C 70.2459,82.4151 68.2459,83.7484 66.5,85.5C 65.8165,85.1373 65.1499,84.8039 64.5,84.5C 66.7741,83.2628 69.1074,81.9295 71.5,80.5C 72.1067,80.6236 72.44,80.9569 72.5,81.5 Z"/></g>
</svg>
<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 107 107" width="107" height="107">
<title>title-background-svg</title>
<style>
.s0 { fill: #ff0a02 }
</style>
<g id="Layer">
<path id="Layer" fill-rule="evenodd" class="s0" d="m72.5 81.5q-0.1-0.8-1-1-3.6 2.1-7 4-2.6 2.2-5.5 1-1.6 1.7-2 4-2.2-1.9-4.5 0-7.9-2-15.5-5-0.5 0.5-1 1-3.6-4.2-8.5-6.5-1-2-2-4-3.8-0.8-6.5-3.5-0.6-8.3-3.5-16 1.5-2 3-4-3.3-5.3 0-11 7.6-10.3 16-20 2.4-0.1 5 1 5.9-1.9 12-3 2.4-0.8 3.5-3 11.8 5.1 22.5 12 3.5-2.3 2 1 1 2 3 3 1.4 2.8 1 6 4.8 0.6 7 5-2 7.7 0 15.5-0.3 3.8-3 2.5-1.9 2.3 1 3.5-2.1 1.8-2.5 4.5-0.5-1.5-1-3-4.3 7.5-9 16-1.5-1-3.5 0z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 656 B

@ -31,7 +31,6 @@
649B59AE2BF64EAB002BAE38 /* AppImages.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649B59AD2BF64EAB002BAE38 /* AppImages.swift */; };
649B59B22BF65392002BAE38 /* TextStyles.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649B59B12BF65392002BAE38 /* TextStyles.swift */; };
649B59B42BF653E1002BAE38 /* ViewTitleTextStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649B59B32BF653E1002BAE38 /* ViewTitleTextStyle.swift */; };
64D0772E2C29A5DC006355A4 /* DSQ.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EC62C5322C1C188F0048CD0B /* DSQ.xcframework */; };
64D2D74E2C25D380009BD010 /* Animals.Symbols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D2D74D2C25D380009BD010 /* Animals.Symbols.swift */; };
64D992722C06281B002ACBC6 /* SystemIcons.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D992712C06281B002ACBC6 /* SystemIcons.swift */; };
64FC4D692C09C78000D08B8B /* SelectPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64FC4D682C09C78000D08B8B /* SelectPlayerView.swift */; };
@ -47,9 +46,6 @@
EC2DD0412C1C203000FC55C0 /* ShowAllPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2DD0402C1C203000FC55C0 /* ShowAllPlayer.swift */; };
EC3EE4B12C0CD46000710153 /* ButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC3EE4B02C0CD46000710153 /* ButtonView.swift */; };
EC3EE4B32C0CD47000710153 /* MainButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC3EE4B22C0CD47000710153 /* MainButton.swift */; };
EC4D7EFB2C29C1470076CD8A /* Fight.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = EC4D7EF92C29C1470076CD8A /* Fight.mp3 */; };
EC4D7EFD2C29C14F0076CD8A /* SelectFighterSound.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = EC4D7EFC2C29C14F0076CD8A /* SelectFighterSound.mp3 */; };
EC4D7EFF2C29C1550076CD8A /* Start.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = EC4D7EFE2C29C1550076CD8A /* Start.mp3 */; };
EC62C4FB2C038BD20048CD0B /* PlayersView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC62C4FA2C038BD20048CD0B /* PlayersView.swift */; };
EC62C4FD2C0391D30048CD0B /* PlayerRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC62C4FC2C0391D30048CD0B /* PlayerRow.swift */; };
EC62C4FF2C0457AD0048CD0B /* TitleScreenMusic.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = EC62C4FE2C0457AD0048CD0B /* TitleScreenMusic.mp3 */; };
@ -70,11 +66,22 @@
ECB636512C046379007CD5E2 /* MusicPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECB636502C046379007CD5E2 /* MusicPlayer.swift */; };
ECB636532C0463A9007CD5E2 /* SoundPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECB636522C0463A9007CD5E2 /* SoundPlayer.swift */; };
ECB636552C047992007CD5E2 /* Image.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ECB636542C047992007CD5E2 /* Image.xcassets */; };
ECCBA6B82C29BE1900D6D9FB /* ARKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ECCBA6B72C29BE1900D6D9FB /* ARKit.framework */; };
ECCBA6BA2C29BE2800D6D9FB /* RealityKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ECCBA6B92C29BE2800D6D9FB /* RealityKit.framework */; };
ECCBA6BD2C29BFF600D6D9FB /* ARBoard.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECCBA6BC2C29BFF600D6D9FB /* ARBoard.swift */; };
ECCBA6C12C29C0A300D6D9FB /* ARObjects in Resources */ = {isa = PBXBuildFile; fileRef = ECCBA6C02C29C0A300D6D9FB /* ARObjects */; };
ECCBA6C32C29C25000D6D9FB /* ARKitUIViewBoard.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECCBA6C22C29C25000D6D9FB /* ARKitUIViewBoard.swift */; };
ECCBA6C52C29C2F500D6D9FB /* ARKitViewRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECCBA6C42C29C2F500D6D9FB /* ARKitViewRepresentable.swift */; };
ECE777142C2068F400D354B0 /* EditPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECE777132C2068F400D354B0 /* EditPlayerView.swift */; };
ECF3FD312C2722C600F5E62B /* CDHistoriqueExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF3FD302C2722C600F5E62B /* CDHistoriqueExtension.swift */; };
ECF3FD332C27238F00F5E62B /* Historique.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF3FD322C27238F00F5E62B /* Historique.swift */; };
ECF3FD3A2C29A20D00F5E62B /* HistoricListVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF3FD392C29A20D00F5E62B /* HistoricListVM.swift */; };
ECF3FD3D2C29B64100F5E62B /* ChronoVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF3FD3C2C29B64100F5E62B /* ChronoVM.swift */; };
ECF9AD2C2C29CF5C00238A06 /* DSQ.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = ECCBA6B32C29BCCD00D6D9FB /* DSQ.xcframework */; };
ECF9AD2D2C29CF5C00238A06 /* DSQ.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = ECCBA6B32C29BCCD00D6D9FB /* DSQ.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
ECF9AD352C29D46A00238A06 /* Start.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = ECF9AD322C29D46A00238A06 /* Start.mp3 */; };
ECF9AD362C29D46A00238A06 /* Fight.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = ECF9AD332C29D46A00238A06 /* Fight.mp3 */; };
ECF9AD372C29D46A00238A06 /* SelectFighterSound.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = ECF9AD342C29D46A00238A06 /* SelectFighterSound.mp3 */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -101,6 +108,20 @@
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
ECF9AD2E2C29CF5C00238A06 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
ECF9AD2D2C29CF5C00238A06 /* DSQ.xcframework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
6437FF122C25846F009D0EAF /* PlayingGameVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayingGameVM.swift; sourceTree = "<group>"; };
645834582BF5F92300E18321 /* DouShouQi_App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DouShouQi_App.app; sourceTree = BUILT_PRODUCTS_DIR; };
@ -145,9 +166,6 @@
EC2DD0402C1C203000FC55C0 /* ShowAllPlayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShowAllPlayer.swift; sourceTree = "<group>"; };
EC3EE4B02C0CD46000710153 /* ButtonView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ButtonView.swift; sourceTree = "<group>"; };
EC3EE4B22C0CD47000710153 /* MainButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainButton.swift; sourceTree = "<group>"; };
EC4D7EF92C29C1470076CD8A /* Fight.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = Fight.mp3; path = ../../../../../../Downloads/Fight.mp3; sourceTree = "<group>"; };
EC4D7EFC2C29C14F0076CD8A /* SelectFighterSound.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = SelectFighterSound.mp3; path = ../../../../../../Downloads/SelectFighterSound.mp3; sourceTree = "<group>"; };
EC4D7EFE2C29C1550076CD8A /* Start.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = Start.mp3; path = ../../../../../../Downloads/Start.mp3; sourceTree = "<group>"; };
EC62C4FA2C038BD20048CD0B /* PlayersView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayersView.swift; sourceTree = "<group>"; };
EC62C4FC2C0391D30048CD0B /* PlayerRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerRow.swift; sourceTree = "<group>"; };
EC62C4FE2C0457AD0048CD0B /* TitleScreenMusic.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = TitleScreenMusic.mp3; sourceTree = "<group>"; };
@ -160,7 +178,6 @@
EC62C5242C0F68830048CD0B /* PlayerVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerVM.swift; sourceTree = "<group>"; };
EC62C5282C1974000048CD0B /* PlayersVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayersVM.swift; sourceTree = "<group>"; };
EC62C52C2C197ED10048CD0B /* Player.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Player.swift; sourceTree = "<group>"; };
EC62C5322C1C188F0048CD0B /* DSQ.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = DSQ.xcframework; path = ../../SwiftUI_ARKit_2024/XCFramework/DSQ.xcframework; sourceTree = "<group>"; };
EC62C5372C1C64EE0048CD0B /* CoreManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreManager.swift; sourceTree = "<group>"; };
EC62C53C2C1C69200048CD0B /* DouShouQi_App.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = DouShouQi_App.xcdatamodel; sourceTree = "<group>"; };
EC62C53E2C1C6D1A0048CD0B /* CDPlayerExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CDPlayerExtension.swift; sourceTree = "<group>"; };
@ -169,12 +186,22 @@
ECB636502C046379007CD5E2 /* MusicPlayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MusicPlayer.swift; sourceTree = "<group>"; };
ECB636522C0463A9007CD5E2 /* SoundPlayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SoundPlayer.swift; sourceTree = "<group>"; };
ECB636542C047992007CD5E2 /* Image.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Image.xcassets; sourceTree = "<group>"; };
ECCBA6B32C29BCCD00D6D9FB /* DSQ.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = DSQ.xcframework; path = "../../../Downloads/swiftui_arkit_2024 2/XCFramework/DSQ.xcframework"; sourceTree = "<group>"; };
ECCBA6B72C29BE1900D6D9FB /* ARKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ARKit.framework; path = System/Library/Frameworks/ARKit.framework; sourceTree = SDKROOT; };
ECCBA6B92C29BE2800D6D9FB /* RealityKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RealityKit.framework; path = System/Library/Frameworks/RealityKit.framework; sourceTree = SDKROOT; };
ECCBA6BC2C29BFF600D6D9FB /* ARBoard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ARBoard.swift; sourceTree = "<group>"; };
ECCBA6C02C29C0A300D6D9FB /* ARObjects */ = {isa = PBXFileReference; lastKnownFileType = folder; path = ARObjects; sourceTree = "<group>"; };
ECCBA6C22C29C25000D6D9FB /* ARKitUIViewBoard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ARKitUIViewBoard.swift; sourceTree = "<group>"; };
ECCBA6C42C29C2F500D6D9FB /* ARKitViewRepresentable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ARKitViewRepresentable.swift; sourceTree = "<group>"; };
ECE777132C2068F400D354B0 /* EditPlayerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditPlayerView.swift; sourceTree = "<group>"; };
ECF3FD1D2C2582B300F5E62B /* ArKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ArKit.xcodeproj; path = ../../Swift/ArKit/ArKit.xcodeproj; sourceTree = "<group>"; };
ECF3FD302C2722C600F5E62B /* CDHistoriqueExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CDHistoriqueExtension.swift; sourceTree = "<group>"; };
ECF3FD322C27238F00F5E62B /* Historique.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Historique.swift; sourceTree = "<group>"; };
ECF3FD392C29A20D00F5E62B /* HistoricListVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoricListVM.swift; sourceTree = "<group>"; };
ECF3FD3C2C29B64100F5E62B /* ChronoVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChronoVM.swift; sourceTree = "<group>"; };
ECF9AD322C29D46A00238A06 /* Start.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = Start.mp3; sourceTree = "<group>"; };
ECF9AD332C29D46A00238A06 /* Fight.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = Fight.mp3; sourceTree = "<group>"; };
ECF9AD342C29D46A00238A06 /* SelectFighterSound.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = SelectFighterSound.mp3; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -182,7 +209,9 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
64D0772E2C29A5DC006355A4 /* DSQ.xcframework in Frameworks */,
ECCBA6BA2C29BE2800D6D9FB /* RealityKit.framework in Frameworks */,
ECCBA6B82C29BE1900D6D9FB /* ARKit.framework in Frameworks */,
ECF9AD2C2C29CF5C00238A06 /* DSQ.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -231,6 +260,7 @@
6458345A2BF5F92300E18321 /* DouShouQi_App */ = {
isa = PBXGroup;
children = (
ECCBA6BB2C29BE3C00D6D9FB /* ARViews */,
646F04BF2C0F5BD1003C8600 /* AppModelAndExtension */,
646FA83C2C072284001466BA /* ViewModel */,
ECB6364F2C04635D007CD5E2 /* SoundPlayerClass */,
@ -374,6 +404,7 @@
649B59A52BF64B1B002BAE38 /* Assets */ = {
isa = PBXGroup;
children = (
ECCBA6C02C29C0A300D6D9FB /* ARObjects */,
EC62C5042C045BE00048CD0B /* Musics */,
EC62C5032C045BD30048CD0B /* Sounds */,
649B59B02BF65360002BAE38 /* TextStyles */,
@ -416,7 +447,9 @@
64C87E222C09D52600CCD451 /* Frameworks */ = {
isa = PBXGroup;
children = (
EC62C5322C1C188F0048CD0B /* DSQ.xcframework */,
ECCBA6B92C29BE2800D6D9FB /* RealityKit.framework */,
ECCBA6B72C29BE1900D6D9FB /* ARKit.framework */,
ECCBA6B32C29BCCD00D6D9FB /* DSQ.xcframework */,
);
name = Frameworks;
sourceTree = "<group>";
@ -441,9 +474,9 @@
EC62C5032C045BD30048CD0B /* Sounds */ = {
isa = PBXGroup;
children = (
EC4D7EFE2C29C1550076CD8A /* Start.mp3 */,
EC4D7EFC2C29C14F0076CD8A /* SelectFighterSound.mp3 */,
EC4D7EF92C29C1470076CD8A /* Fight.mp3 */,
ECF9AD332C29D46A00238A06 /* Fight.mp3 */,
ECF9AD342C29D46A00238A06 /* SelectFighterSound.mp3 */,
ECF9AD322C29D46A00238A06 /* Start.mp3 */,
EC62C50C2C046D9E0048CD0B /* SplashScreenSound.mp3 */,
EC62C5052C045C1A0048CD0B /* TitleScreenButtonSound.mp3 */,
);
@ -499,6 +532,16 @@
path = SoundPlayerClass;
sourceTree = "<group>";
};
ECCBA6BB2C29BE3C00D6D9FB /* ARViews */ = {
isa = PBXGroup;
children = (
ECCBA6BC2C29BFF600D6D9FB /* ARBoard.swift */,
ECCBA6C22C29C25000D6D9FB /* ARKitUIViewBoard.swift */,
ECCBA6C42C29C2F500D6D9FB /* ARKitViewRepresentable.swift */,
);
path = ARViews;
sourceTree = "<group>";
};
ECE7770E2C1C6FB200D354B0 /* CoreData */ = {
isa = PBXGroup;
children = (
@ -534,6 +577,7 @@
645834542BF5F92300E18321 /* Sources */,
645834552BF5F92300E18321 /* Frameworks */,
645834562BF5F92300E18321 /* Resources */,
ECF9AD2E2C29CF5C00238A06 /* Embed Frameworks */,
);
buildRules = (
);
@ -642,18 +686,19 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
EC4D7EFF2C29C1550076CD8A /* Start.mp3 in Resources */,
EC0540CA2C08BD8D0032E9EF /* GameMusic.mp3 in Resources */,
649B59A72BF64BA9002BAE38 /* Colors.xcassets in Resources */,
6493C1C02C046BF900B5121D /* samurai.ttf in Resources */,
ECCBA6C12C29C0A300D6D9FB /* ARObjects in Resources */,
EC62C5062C045C1A0048CD0B /* TitleScreenButtonSound.mp3 in Resources */,
ECF9AD352C29D46A00238A06 /* Start.mp3 in Resources */,
ECF9AD372C29D46A00238A06 /* SelectFighterSound.mp3 in Resources */,
EC62C5172C0620C00048CD0B /* rap.mp3 in Resources */,
EC62C50D2C046D9E0048CD0B /* SplashScreenSound.mp3 in Resources */,
ECF9AD362C29D46A00238A06 /* Fight.mp3 in Resources */,
645834632BF5F92500E18321 /* Preview Assets.xcassets in Resources */,
645834602BF5F92500E18321 /* Assets.xcassets in Resources */,
EC4D7EFB2C29C1470076CD8A /* Fight.mp3 in Resources */,
ECB636552C047992007CD5E2 /* Image.xcassets in Resources */,
EC4D7EFD2C29C14F0076CD8A /* SelectFighterSound.mp3 in Resources */,
EC62C4FF2C0457AD0048CD0B /* TitleScreenMusic.mp3 in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -684,6 +729,7 @@
649B59A92BF64C6A002BAE38 /* Colors.swift in Sources */,
646FA8432C0730D6001466BA /* HistoricVM.swift in Sources */,
EC3EE4B12C0CD46000710153 /* ButtonView.swift in Sources */,
ECCBA6C52C29C2F500D6D9FB /* ARKitViewRepresentable.swift in Sources */,
649B59B42BF653E1002BAE38 /* ViewTitleTextStyle.swift in Sources */,
649B59AE2BF64EAB002BAE38 /* AppImages.swift in Sources */,
ECB636532C0463A9007CD5E2 /* SoundPlayer.swift in Sources */,
@ -694,6 +740,7 @@
EC05BFCB2C05F470000F7B19 /* GameScene.swift in Sources */,
64D2D74E2C25D380009BD010 /* Animals.Symbols.swift in Sources */,
6458345C2BF5F92300E18321 /* DouShouQi_AppApp.swift in Sources */,
ECCBA6BD2C29BFF600D6D9FB /* ARBoard.swift in Sources */,
ECB636512C046379007CD5E2 /* MusicPlayer.swift in Sources */,
ECB6364E2C04628E007CD5E2 /* SpriteMeeple.swift in Sources */,
649B59A42BF64574002BAE38 /* TitlePageFrame.swift in Sources */,
@ -733,6 +780,7 @@
EC62C5292C1974000048CD0B /* PlayersVM.swift in Sources */,
6437FF132C25846F009D0EAF /* PlayingGameVM.swift in Sources */,
ECF3FD3A2C29A20D00F5E62B /* HistoricListVM.swift in Sources */,
ECCBA6C32C29C25000D6D9FB /* ARKitUIViewBoard.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -888,12 +936,16 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"DouShouQi_App/Preview Content\"";
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 67U885533Q;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "DouShouQi-App-Info.plist";
INFOPLIST_KEY_NSCameraUsageDescription = "";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
@ -904,8 +956,10 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = "fr.uca.iut.DouShouQi-App";
PRODUCT_BUNDLE_IDENTIFIER = fr.uca.iut.DouShouQI;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = tpiOS_2024_06_21_off;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
@ -917,12 +971,16 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"DouShouQi_App/Preview Content\"";
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 67U885533Q;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "DouShouQi-App-Info.plist";
INFOPLIST_KEY_NSCameraUsageDescription = "";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
@ -933,8 +991,10 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = "fr.uca.iut.DouShouQi-App";
PRODUCT_BUNDLE_IDENTIFIER = fr.uca.iut.DouShouQI;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = tpiOS_2024_06_21_off;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
@ -1023,7 +1083,7 @@
6458347B2BF5F92600E18321 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
defaultConfigurationName = Debug;
};
6458347C2BF5F92600E18321 /* Build configuration list for PBXNativeTarget "DouShouQi_App" */ = {
isa = XCConfigurationList;
@ -1032,7 +1092,7 @@
6458347E2BF5F92600E18321 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
defaultConfigurationName = Debug;
};
6458347F2BF5F92600E18321 /* Build configuration list for PBXNativeTarget "DouShouQi_AppTests" */ = {
isa = XCConfigurationList;
@ -1041,7 +1101,7 @@
645834812BF5F92600E18321 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
defaultConfigurationName = Debug;
};
645834822BF5F92600E18321 /* Build configuration list for PBXNativeTarget "DouShouQi_AppUITests" */ = {
isa = XCConfigurationList;
@ -1050,7 +1110,7 @@
645834842BF5F92600E18321 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */

@ -0,0 +1,22 @@
//
// ARBoard.swift
// DouShouQi_App
//
// Created by Nathan Verdier on 24/06/2024.
//
import RealityKit
class ARBoard: Entity {
required init(image: String) {
super.init()
if let boardEntity = try? Entity.load(named: image) {
self.addChild(boardEntity)
}
}
@MainActor required init() {
fatalError("init() has not been implemented")
}
}

@ -0,0 +1,21 @@
//
// ARKitUIViewBoard.swift
// DouShouQi_App
//
// Created by etudiant on 24/06/2024.
//
import SwiftUI
import DouShouQiModel
struct ARKitUIViewBoard: UIViewRepresentable {
var aRKitViewRepresentable: ARKitViewRepresentable
func makeUIView(context: Context) -> ARKitViewRepresentable {
return aRKitViewRepresentable
}
func updateUIView(_ uiView: ARKitViewRepresentable, context: Context) {}
}

@ -0,0 +1,44 @@
//
// ARKitViewRepresentable.swift
// DouShouQi_App
//
// Created by etudiant on 24/06/2024.
//
import SwiftUI
import ARKit
import RealityKit
import DouShouQiModel
class ARKitViewRepresentable: ARView {
required init(frame frameRect: CGRect) {
super.init(frame: frameRect)
}
@MainActor required init?(coder decoder: NSCoder) {
fatalError("init(coder:) not implemented")
}
convenience init(imageBoard: String = "board", cell_size: Float = 0.1145) {
self.init(frame: UIScreen.main.bounds)
do {
let game = try Game(withRules: ClassicRules(), andPlayer1: HumanPlayer(withName: "Player 1", andId: .player1)!, andPlayer2: HumanPlayer(withName: "Player 2", andId: .player2)!)
initBoard(withBoard: game.board, andImage: imageBoard)
} catch {
print("error")
}
}
func applyConfiguration() {
let conf = ARWorldTrackingConfiguration()
self.session.run(conf)
}
func initBoard(withBoard board: Board, andImage image: String) {
let anchor = AnchorEntity(.plane(.horizontal, classification: .any, minimumBounds: SIMD2<Float>(1, 1)))
let arBoard = ARBoard(image: image)
anchor.addChild(arBoard)
self.scene.addAnchor(anchor)
}
}

@ -13,6 +13,7 @@ public struct Colors {
static let Button = Color("ButtonColor")
static let MeepleP1 = UIColor(named: "MeepleP1")
static let TextButton = Color("ButtonTextColor")
static let PopupBackground = Color("PopUpBackground")
static let MeepleP2 = UIColor(named: "MeepleP2")
static let WinnerBackground = Color("WinnerBackground")
}

@ -23,9 +23,9 @@
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "1.000",
"green" : "1.000",
"red" : "1.000"
"blue" : "0.000",
"green" : "0.000",
"red" : "0.000"
}
},
"idiom" : "universal"

@ -0,0 +1,38 @@
{
"colors" : [
{
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "1.000",
"green" : "1.000",
"red" : "1.000"
}
},
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0.600",
"green" : "0.600",
"red" : "0.600"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

@ -1,7 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="107px" height="107px" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" xmlns:xlink="http://www.w3.org/1999/xlink">
<g><path style="opacity:1" fill="#fffdfc" d="M -0.5,-0.5 C 35.1667,-0.5 70.8333,-0.5 106.5,-0.5C 106.5,35.1667 106.5,70.8333 106.5,106.5C 70.8333,106.5 35.1667,106.5 -0.5,106.5C -0.5,70.8333 -0.5,35.1667 -0.5,-0.5 Z"/></g>
<g><path style="opacity:1" fill="#ff0a02" d="M 72.5,81.5 C 72.44,80.9569 72.1067,80.6236 71.5,80.5C 69.1074,81.9295 66.7741,83.2628 64.5,84.5C 62.7422,85.9985 60.9088,86.3319 59,85.5C 57.9563,86.6226 57.2896,87.9559 57,89.5C 55.5421,88.2532 54.0421,88.2532 52.5,89.5C 47.2625,88.1915 42.0958,86.5248 37,84.5C 36.6667,84.8333 36.3333,85.1667 36,85.5C 33.6166,82.7272 30.7833,80.5605 27.5,79C 26.8333,77.6667 26.1667,76.3333 25.5,75C 22.9664,74.4837 20.7998,73.317 19,71.5C 18.5803,65.9729 17.4137,60.6396 15.5,55.5C 16.5,54.1667 17.5,52.8333 18.5,51.5C 16.3145,47.9728 16.3145,44.3061 18.5,40.5C 23.5438,33.6008 28.8772,26.9341 34.5,20.5C 36.0924,20.4173 37.7591,20.7506 39.5,21.5C 43.4346,20.2463 47.4346,19.2463 51.5,18.5C 53.0879,17.9904 54.2545,16.9904 55,15.5C 62.8685,18.8827 70.3685,22.8827 77.5,27.5C 79.8375,25.9893 80.5042,26.3227 79.5,28.5C 80.1667,29.8333 81.1667,30.8333 82.5,31.5C 83.4656,33.396 83.7989,35.396 83.5,37.5C 86.6829,37.929 89.0162,39.5957 90.5,42.5C 89.1903,47.6537 89.1903,52.8204 90.5,58C 90.2838,60.5068 89.2838,61.3401 87.5,60.5C 86.2612,62.0072 86.5946,63.1739 88.5,64C 87.1068,65.1711 86.2735,66.6711 86,68.5C 85.6667,67.5 85.3333,66.5 85,65.5C 82.1612,70.4675 79.1612,75.8008 76,81.5C 75.0138,80.8288 73.8471,80.8288 72.5,81.5 Z"/></g>
<g><path style="opacity:1" fill="#ffaba5" d="M 72.5,81.5 C 70.2459,82.4151 68.2459,83.7484 66.5,85.5C 65.8165,85.1373 65.1499,84.8039 64.5,84.5C 66.7741,83.2628 69.1074,81.9295 71.5,80.5C 72.1067,80.6236 72.44,80.9569 72.5,81.5 Z"/></g>
</svg>
<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 107 107" width="107" height="107">
<title>title-background-svg</title>
<style>
.s0 { fill: #ff0a02 }
</style>
<g id="Layer">
<path id="Layer" fill-rule="evenodd" class="s0" d="m72.5 81.5q-0.1-0.8-1-1-3.6 2.1-7 4-2.6 2.2-5.5 1-1.6 1.7-2 4-2.2-1.9-4.5 0-7.9-2-15.5-5-0.5 0.5-1 1-3.6-4.2-8.5-6.5-1-2-2-4-3.8-0.8-6.5-3.5-0.6-8.3-3.5-16 1.5-2 3-4-3.3-5.3 0-11 7.6-10.3 16-20 2.4-0.1 5 1 5.9-1.9 12-3 2.4-0.8 3.5-3 11.8 5.1 22.5 12 3.5-2.3 2 1 1 2 3 3 1.4 2.8 1 6 4.8 0.6 7 5-2 7.7 0 15.5-0.3 3.8-3 2.5-1.9 2.3 1 3.5-2.1 1.8-2.5 4.5-0.5-1.5-1-3-4.3 7.5-9 16-1.5-1-3.5 0z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 656 B

@ -75,16 +75,16 @@ struct AddPlayerView: View {
isPresented = false
}) {
Text("Cancel")
.foregroundColor(.white)
.foregroundColor(Colors.TextButton)
.padding()
.background(Color.red)
.background(Colors.Button)
.cornerRadius(10)
}
}
}
.padding()
.frame(maxWidth: 300)
.background(Color.white)
.background(Colors.PopupBackground)
.cornerRadius(20)
.shadow(radius: 10)
.alert(isPresented: $showAlert) {

@ -43,7 +43,6 @@ struct PlayerRow: View {
}
}
.padding()
.background(Color.white)
.cornerRadius(10)
.shadow(radius: 1)
}

@ -23,6 +23,7 @@ struct PlayerStatView: View {
.padding(.top, 10)
} else {
Image(systemName: "person.circle.fill")
.resizable()
.frame(width: 100, height: 100)
.clipShape(Circle())
@ -32,7 +33,7 @@ struct PlayerStatView: View {
Text(player.player.name)
.font(.largeTitle)
.foregroundColor(.black)
.foregroundColor(Colors.TitleText)
.padding(.top, 10)
VStack(alignment: .leading, spacing: 10) {

@ -8,7 +8,7 @@
import SwiftUI
@main
@main
struct DouShouQi_AppApp: App {
// Create an instance of SettingsVM
@StateObject private var settingsVM = SettingsVM()

@ -19,6 +19,8 @@ struct MainMenuView: View {
@State var showBestScores = false
@State var showPlayers = false
@State var showSettings = false
@State var showARKit = false
@StateObject var historicList = HistoricListVM()
let images: [String] = [AppImages.SemiLion, AppImages.SemiDog, AppImages.SemiRat, AppImages.SemiWolf, AppImages.SemiLeopard, AppImages.SemiElephant, AppImages.SemiCat] // Add your image names here
@ -49,6 +51,7 @@ struct MainMenuView: View {
MainMenuButton(text: "Best Scores", sound: "TitleScreenButtonSound",onClick: { showBestScores = true }, topRightCorner: 10, bottomRightCorner: 10)
MainMenuButton(text: "Players", sound: "TitleScreenButtonSound",onClick: { showPlayers = true }, topRightCorner: 10, bottomRightCorner: 10)
MainMenuButton(text: "Settings", sound: "TitleScreenButtonSound",onClick: { showSettings = true }, topRightCorner: 10, bottomRightCorner: 10)
MainMenuButton(text: "AR Kit Version", sound: "TitleScreenButtonSound", onClick: { showARKit = true }, topRightCorner: 10, bottomRightCorner: 10)
}
.navigationDestination(isPresented: $showSelectPlayer) {
SelectPlayerView(isDisplayed: $showSelectPlayer)
@ -65,6 +68,9 @@ struct MainMenuView: View {
.navigationDestination(isPresented: $showSettings) {
SettingsView()
}
.navigationDestination(isPresented: $showARKit) {
ARKitUIViewBoard(aRKitViewRepresentable: ARKitViewRepresentable())
}
if let currentImage = currentImage {
Image(currentImage)
@ -95,10 +101,9 @@ struct MainMenuView: View {
.frame(alignment: .trailing)
}
.padding()
.background(Color.white)
.overlay(
Rectangle()
.stroke(Color.black, lineWidth: 1)
.stroke(Colors.TitleText, lineWidth: 1)
)
Spacer()

Loading…
Cancel
Save