瀏覽代碼

[NetworkStateManagement] - Get Android Building and use Content pipeline.

Dominique Louis 3 周之前
父節點
當前提交
bd91d1883c
共有 22 個文件被更改,包括 618 次插入49 次删除
  1. 69 0
      NetworkStateManagement/Core/Content/Content.mgcb
  2. 二進制
      NetworkStateManagement/Core/Content/background.xnb
  3. 二進制
      NetworkStateManagement/Core/Content/blank.xnb
  4. 二進制
      NetworkStateManagement/Core/Content/cat.xnb
  5. 二進制
      NetworkStateManagement/Core/Content/chat_able.xnb
  6. 二進制
      NetworkStateManagement/Core/Content/chat_mute.xnb
  7. 二進制
      NetworkStateManagement/Core/Content/chat_ready.xnb
  8. 二進制
      NetworkStateManagement/Core/Content/chat_talking.xnb
  9. 1 1
      NetworkStateManagement/Core/Content/gamefont.spritefont
  10. 二進制
      NetworkStateManagement/Core/Content/gamefont.xnb
  11. 二進制
      NetworkStateManagement/Core/Content/gradient.xnb
  12. 1 1
      NetworkStateManagement/Core/Content/menufont.spritefont
  13. 二進制
      NetworkStateManagement/Core/Content/menufont.xnb
  14. 4 12
      NetworkStateManagement/Platforms/Android/AndroidManifest.xml
  15. 23 6
      NetworkStateManagement/Platforms/Android/MainActivity.cs
  16. 6 7
      NetworkStateManagement/Platforms/Android/NetworkStateManagement.Android.csproj
  17. 二進制
      NetworkStateManagement/Platforms/Android/Resources/drawable/icon.png
  18. 491 0
      NetworkStateManagement/Platforms/Android/Resources/drawable/icon.svg
  19. 4 0
      NetworkStateManagement/Platforms/Android/Resources/values/strings.xml
  20. 6 7
      NetworkStateManagement/Platforms/Desktop/NetworkStateManagement.DesktopGL.csproj
  21. 7 8
      NetworkStateManagement/Platforms/Windows/NetworkStateManagement.Windows.csproj
  22. 6 7
      NetworkStateManagement/Platforms/iOS/NetworkStateManagement.iOS.csproj

+ 69 - 0
NetworkStateManagement/Core/Content/Content.mgcb

@@ -0,0 +1,69 @@
+#----------------------------- Global Properties ----------------------------#
+
+/outputDir:bin/$(Platform)
+/intermediateDir:obj/$(Platform)
+/platform:DesktopGL
+/config:$(Configuration)
+/profile:HiDef
+/compress:False
+
+#-------------------------------- References --------------------------------#
+
+
+
+#---------------------------------- Content ---------------------------------#
+
+#begin blank.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/build:blank.png
+
+#begin background.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/build:background.png
+
+#begin chat_able.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/build:chat_able.png
+
+#begin chat_mute.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/build:chat_mute.png
+
+#begin chat_ready.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/build:chat_ready.png
+
+#begin chat_talking.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/build:chat_talking.png
+
+#begin cat.tga
+/importer:TextureImporter
+/processor:TextureProcessor
+/build:cat.tga
+
+#begin gradient.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/build:gradient.png
+
+#begin gamefont.spritefont
+/importer:FontDescriptionImporter
+/processor:FontDescriptionProcessor
+/build:gamefont.spritefont
+
+#begin menufont.spritefont
+/importer:FontDescriptionImporter
+/processor:FontDescriptionProcessor
+/build:menufont.spritefont
+
+#begin Game.ico
+/importer:TextureImporter
+/processor:TextureProcessor
+/build:Game.ico

二進制
NetworkStateManagement/Core/Content/background.xnb


二進制
NetworkStateManagement/Core/Content/blank.xnb


二進制
NetworkStateManagement/Core/Content/cat.xnb


二進制
NetworkStateManagement/Core/Content/chat_able.xnb


二進制
NetworkStateManagement/Core/Content/chat_mute.xnb


二進制
NetworkStateManagement/Core/Content/chat_ready.xnb


二進制
NetworkStateManagement/Core/Content/chat_talking.xnb


+ 1 - 1
NetworkStateManagement/Core/Content/gamefont.spritefont

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <XnaContent xmlns:Graphics="Microsoft.Xna.Framework.Content.Pipeline.Graphics">
 	<Asset Type="Graphics:FontDescription">
-		<FontName>Segoe UI</FontName>
+		<FontName>Tahoma</FontName>
 		<Size>28</Size>
 		<Spacing>2</Spacing>
 		<Style>Bold</Style>

二進制
NetworkStateManagement/Core/Content/gamefont.xnb


二進制
NetworkStateManagement/Core/Content/gradient.xnb


+ 1 - 1
NetworkStateManagement/Core/Content/menufont.spritefont

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <XnaContent xmlns:Graphics="Microsoft.Xna.Framework.Content.Pipeline.Graphics">
 	<Asset Type="Graphics:FontDescription">
-		<FontName>Segoe UI Mono</FontName>
+		<FontName>Tahoma</FontName>
 		<Size>20</Size>
 		<Spacing>2</Spacing>
 		<Style>Regular</Style>

二進制
NetworkStateManagement/Core/Content/menufont.xnb


+ 4 - 12
NetworkStateManagement/Platforms/Android/AndroidManifest.xml

@@ -1,14 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.NetworkStateManagement">
-  <application android:label="NetworkStateManagement">
-    <activity android:name="android.app.NativeActivity"
-              android:label="NetworkStateManagement"
-              android:configChanges="orientation|keyboardHidden">
-      <intent-filter>
-        <action android:name="android.intent.action.MAIN" />
-        <category android:name="android.intent.category.LAUNCHER" />
-      </intent-filter>
-    </activity>
-  </application>
-  <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33" />
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="NetworkStateManagement" android:versionCode="1" android:versionName="1.0">
+	<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="34" />
+	<uses-feature android:glEsVersion="0x00020000" android:required="true" />
+	<application android:label="@string/app_name" android:icon="@drawable/icon"></application>
 </manifest>

+ 23 - 6
NetworkStateManagement/Platforms/Android/MainActivity.cs

@@ -1,19 +1,36 @@
 using Android.App;
 using Android.Content.PM;
 using Android.OS;
+using Android.Views;
+
 using Microsoft.Xna.Framework;
 
 namespace NetworkStateManagement
 {
-    [Activity(Label = "NetworkStateManagement", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.Keyboard | ConfigChanges.KeyboardHidden | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize)]
+    [Activity(
+        Label = "@string/app_name",
+        MainLauncher = true,
+        Icon = "@drawable/icon",
+        AlwaysRetainTaskState = true,
+        LaunchMode = LaunchMode.SingleInstance,
+        ScreenOrientation = ScreenOrientation.SensorLandscape,
+        ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.Keyboard | ConfigChanges.KeyboardHidden
+    )]
     public class MainActivity : AndroidGameActivity
     {
-        protected override void OnCreate(Bundle savedInstanceState)
+        private NetworkStateManagementGame _game;
+        private View _view;
+
+        protected override void OnCreate(Bundle bundle)
         {
-            base.OnCreate(savedInstanceState);
-            var game = new NetworkStateManagementGame();
-            SetContentView((game.Services.GetService(typeof(View)) as View));
-            game.Run();
+            base.OnCreate(bundle);
+
+            _game = new NetworkStateManagementGame();
+
+            _view = _game.Services.GetService(typeof(View)) as View;
+            SetContentView(_view);
+
+            _game.Run();
         }
     }
 }

+ 6 - 7
NetworkStateManagement/Platforms/Android/NetworkStateManagement.Android.csproj

@@ -14,16 +14,15 @@
     <Trademark></Trademark>
     <AssemblyVersion>1.0.0.0</AssemblyVersion>
     <FileVersion>1.0.0.0</FileVersion>
+    <MonoGamePlatform>Android</MonoGamePlatform>
   </PropertyGroup>
-  <ItemGroup>
-    <PackageReference Include="MonoGame.Framework.Android" Version="3.8.*"/>
-  </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\Core\NetworkStateManagement.Core.csproj" />
+    <PackageReference Include="MonoGame.Framework.Android" Version="3.8.*"/>
+    <PackageReference Include="MonoGame.Content.Builder.Task" Version="3.8.*" />
   </ItemGroup>
+
   <ItemGroup>
-    <Content Include="..\..\Core\Content\**\*.xnb" Link="Content\%(RecursiveDir)%(Filename)%(Extension)">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
+    <MonoGameContentReference Include="..\..\Core\Content\Content.mgcb" />
   </ItemGroup>
-</Project>
+</Project>

二進制
NetworkStateManagement/Platforms/Android/Resources/drawable/icon.png


File diff suppressed because it is too large
+ 491 - 0
NetworkStateManagement/Platforms/Android/Resources/drawable/icon.svg


+ 4 - 0
NetworkStateManagement/Platforms/Android/Resources/values/strings.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+  <string name="app_name">Network State Management</string>
+</resources>

+ 6 - 7
NetworkStateManagement/Platforms/Desktop/NetworkStateManagement.DesktopGL.csproj

@@ -14,16 +14,15 @@
     <Trademark></Trademark>
     <AssemblyVersion>1.0.0.0</AssemblyVersion>
     <FileVersion>1.0.0.0</FileVersion>
+    <MonoGamePlatform>DesktopGL</MonoGamePlatform>
   </PropertyGroup>
-  <ItemGroup>
-    <PackageReference Include="MonoGame.Framework.DesktopGL" Version="3.8.*" />
-  </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\Core\NetworkStateManagement.Core.csproj" />
+    <PackageReference Include="MonoGame.Framework.DesktopGL" Version="3.8.*" />
+    <PackageReference Include="MonoGame.Content.Builder.Task" Version="3.8.*" />
   </ItemGroup>
+
   <ItemGroup>
-    <Content Include="..\..\Core\Content\**\*.xnb" Link="Content\%(RecursiveDir)%(Filename)%(Extension)">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
+    <MonoGameContentReference Include="..\..\Core\Content\Content.mgcb" />
   </ItemGroup>
-</Project>
+</Project>

+ 7 - 8
NetworkStateManagement/Platforms/Windows/NetworkStateManagement.Windows.csproj

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <OutputType>Exe</OutputType>
+    <OutputType>WinExe</OutputType>
     <TargetFramework>net8.0-windows</TargetFramework>
     <RootNamespace>NetworkStateManagement</RootNamespace>
     <AssemblyName>NetworkStateManagement</AssemblyName>
@@ -15,16 +15,15 @@
     <Trademark></Trademark>
     <AssemblyVersion>1.0.0.0</AssemblyVersion>
     <FileVersion>1.0.0.0</FileVersion>
+    <MonoGamePlatform>Windows</MonoGamePlatform>
   </PropertyGroup>
-  <ItemGroup>
-    <PackageReference Include="MonoGame.Framework.WindowsDX" Version="3.8.*" />
-  </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\Core\NetworkStateManagement.Core.csproj" />
+    <PackageReference Include="MonoGame.Framework.WindowsDX" Version="3.8.*" />
+    <PackageReference Include="MonoGame.Content.Builder.Task" Version="3.8.*" />
   </ItemGroup>
+
   <ItemGroup>
-    <Content Include="..\..\Core\Content\**\*.xnb" Link="Content\%(RecursiveDir)%(Filename)%(Extension)">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
+    <MonoGameContentReference Include="..\..\Core\Content\Content.mgcb" />
   </ItemGroup>
-</Project>
+</Project>

+ 6 - 7
NetworkStateManagement/Platforms/iOS/NetworkStateManagement.iOS.csproj

@@ -14,16 +14,15 @@
     <Trademark></Trademark>
     <AssemblyVersion>1.0.0.0</AssemblyVersion>
     <FileVersion>1.0.0.0</FileVersion>
+    <MonoGamePlatform>iOS</MonoGamePlatform>
   </PropertyGroup>
-  <ItemGroup>
-    <PackageReference Include="MonoGame.Framework.iOS" Version="3.8.*" />
-  </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\Core\NetworkStateManagement.Core.csproj" />
+    <PackageReference Include="MonoGame.Framework.iOS" Version="3.8.*" />
+    <PackageReference Include="MonoGame.Content.Builder.Task" Version="3.8.*" />
   </ItemGroup>
+
   <ItemGroup>
-    <Content Include="..\..\Core\Content\**\*.xnb" Link="Content\%(RecursiveDir)%(Filename)%(Extension)">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
+    <MonoGameContentReference Include="..\..\Core\Content\Content.mgcb" />
   </ItemGroup>
-</Project>
+</Project>

Some files were not shown because too many files changed in this diff