├── .github └── FUNDING.yml ├── CHANGELOG.md ├── CHANGELOG.md.meta ├── Documentation~ ├── Manuel.pdf └── Manuel.pdf.meta ├── Editor.meta ├── Editor ├── .DS_Store ├── DeepSeekSettingsEditor.cs └── DeepSeekSettingsEditor.cs.meta ├── LICENSE ├── LICENSE.meta ├── README.md ├── README.md.meta ├── Runtime.meta ├── Runtime ├── .DS_Store ├── API.meta ├── API │ ├── DeepSeekApi.cs │ ├── DeepSeekApi.cs.meta │ ├── DeepSeekModel.cs │ ├── DeepSeekModel.cs.meta │ ├── DeepSeekStreamingApi.cs │ ├── DeepSeekStreamingApi.cs.meta │ ├── IDeepSeekApi.cs │ └── IDeepSeekApi.cs.meta ├── Common.meta ├── Common │ ├── DeepSeekSettings.cs │ └── DeepSeekSettings.cs.meta ├── Data.meta ├── Data │ ├── .DS_Store │ ├── ChatCompletionRequest.cs │ ├── ChatCompletionRequest.cs.meta │ ├── ChatCompletionResponse.cs │ ├── ChatCompletionResponse.cs.meta │ ├── ChatMessage.cs │ └── ChatMessage.cs.meta ├── DeepSeek.Runtime.asmdef ├── DeepSeek.Runtime.asmdef.meta ├── UI.meta ├── UI │ ├── .DS_Store │ ├── DeepSeekChatController.cs │ └── DeepSeekChatController.cs.meta ├── Utilities.meta └── Utilities │ ├── UnityWebRequestAwaiter.cs │ └── UnityWebRequestAwaiter.cs.meta ├── Samples~ ├── .DS_Store └── DeepSeek-Chat │ ├── .DS_Store │ ├── DeepSeekAPISettings.asset │ ├── DeepSeekAPISettings.asset.meta │ ├── Prefabs.meta │ ├── Prefabs │ ├── .DS_Store │ ├── DeepSeekChat.prefab │ ├── DeepSeekChat.prefab.meta │ ├── DeepSeek_Canvas.prefab │ ├── DeepSeek_Canvas.prefab.meta │ ├── Received Message.prefab │ ├── Received Message.prefab.meta │ ├── Sent Message.prefab │ └── Sent Message.prefab.meta │ ├── Scenes.meta │ ├── Scenes │ ├── .DS_Store │ ├── DeepSeek-Chat.unity │ └── DeepSeek-Chat.unity.meta │ ├── Scripts.meta │ ├── Scripts │ ├── .DS_Store │ ├── DeepSeekChat.cs │ └── DeepSeekChat.cs.meta │ ├── UI.meta │ └── UI │ ├── .DS_Store │ ├── white-arrow-icon.png │ └── white-arrow-icon.png.meta ├── package.json └── package.json.meta /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [yagizeraslan] 2 | ko_fi: yagizeraslan 3 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 📋 Changelog 2 | 3 | All notable changes to **DeepSeek API for Unity** will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). 6 | 7 | --- 8 | 9 | ## [1.0.0] - 2025-04-26 10 | 11 | ### 🎉 Added 12 | - First public release of unofficial DeepSeek API for Unity 13 | - Support for Unity 2020.3, 2021, 2022, 2023, and 6.0+ 14 | - UPM (Unity Package Manager) Git installation support 15 | - Support for multiple DeepSeek models (DeepSeek-V3, DeepSeek-R1) 16 | - Native DeepSeek streaming (stream: true) API support 17 | - Setup Wizard for automatic UniTask installation for better streaming feature 18 | - Runtime-safe API Key storage with ScriptableObject 19 | - Modular, reusable UI Chat components 20 | - Sample Scene, prefabs, and demo UI included 21 | 22 | ### 🛠 Fixed 23 | - Meta file missing errors in UPM package structure 24 | - Temporary compile errors after first install (with better Setup Wizard flow) 25 | 26 | --- 27 | -------------------------------------------------------------------------------- /CHANGELOG.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7232abfc554204c6aabf4bcd181d6496 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Documentation~/Manuel.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yagizeraslan/DeepSeek-Unity/94224fb16b9f322fc6f127fbbe4c2c51e7a97d61/Documentation~/Manuel.pdf -------------------------------------------------------------------------------- /Documentation~/Manuel.pdf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b4dc4f6d77b47247b4bb57083f9b5cc 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5ad06ff3b181844bca4741de01a519f3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yagizeraslan/DeepSeek-Unity/94224fb16b9f322fc6f127fbbe4c2c51e7a97d61/Editor/.DS_Store -------------------------------------------------------------------------------- /Editor/DeepSeekSettingsEditor.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_EDITOR 2 | using UnityEditor; 3 | using UnityEngine; 4 | 5 | namespace YagizEraslan.DeepSeek.Unity 6 | { 7 | public class DeepSeekSettingsEditor : EditorWindow 8 | { 9 | private string apiKey; 10 | 11 | [MenuItem("DeepSeek/Settings")] 12 | public static void ShowWindow() 13 | { 14 | GetWindow("DeepSeek Settings"); 15 | } 16 | 17 | private void OnGUI() 18 | { 19 | apiKey = EditorPrefs.GetString("DeepSeekAPIKey", ""); 20 | 21 | GUILayout.Label("Editor-only Dev API Key", EditorStyles.boldLabel); 22 | apiKey = EditorGUILayout.TextField("API Key", apiKey); 23 | 24 | if (GUILayout.Button("Save")) 25 | { 26 | EditorPrefs.SetString("DeepSeekAPIKey", apiKey); 27 | Debug.Log("API key saved for editor testing."); 28 | } 29 | } 30 | } 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /Editor/DeepSeekSettingsEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 214e7f83af78c414790ba130b206000d -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 Yağız 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /LICENSE.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f69d4ccb4db9c42aeb45ee998f3c6616 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | Unity 2020.3+ 5 | 6 | UPM Compatible 7 | 8 | License: MIT 9 | 10 | 11 | Sponsor 12 | 13 | 14 | Last Commit 15 | 16 | 17 | Code Size 18 | 19 |
20 | 21 | 22 | Maintenance 23 | 24 | GitHub stars 25 | 26 | 27 | GitHub forks 28 | 29 | 30 | GitHub issues 31 | 32 | Windows 33 | WebGL 34 | Android 35 |

36 | 37 | # 🐳 DeepSeek API for Unity 38 | 39 | > 💬 A clean, modular Unity integration for DeepSeek's powerful LLMs — chat, reasoning, and task automation made easy. 40 | > 41 | 42 | ⚠️ **Note**: This is an unofficial integration not affiliated with or endorsed by DeepSeek. 43 | 44 | --- 45 | 46 | ## ✨ Features 47 | 48 | - ✅ Clean, reusable SDK for DeepSeek API 49 | - 🔄 Supports true SSE-based streaming and non-streaming chat completions 50 | - 🧠 Compatible with multiple models (DeepSeek Chat, Reasoner) 51 | - 🎨 Modular & customizable UI chat component 52 | - 🔐 Secure API key storage (runtime-safe) 53 | - ⚙️ Built with Unity Package Manager (UPM) 54 | - 🧪 Includes sample scene & prefabs 55 | 56 | --- 57 | 58 | ### 🧩 Supported Platforms & Unity Versions 59 | 60 | | Platform | Unity 2020.3 | Unity 2021 | Unity 2022 | Unity 6 | Notes | 61 | | --- | --- | --- | --- | --- | --- | 62 | | **Windows** | ✅ | ✅ | ✅ | ✅ | Fully supported (tested with IL2CPP & Mono) | 63 | | **Android** | ✅ | ✅ | ✅ | ✅ | Requires internet permission in manifest | 64 | | **WebGL** | ⚠️ *Partial* | ⚠️ *Partial* | ✅ | ✅ | Streaming unsupported; add CORS headers on server | 65 | | **Linux** | ❓ | ❓ | ❓ | ❓ | Likely works, but not yet tested | 66 | | **macOS** | ❓ | ❓ | ❓ | ❓ | Not tested, expected to work | 67 | | **iOS** | ❓ | ❓ | ❓ | ❓ | Not tested, expected to work (HTTPS required) | 68 | | **Consoles** | ❌ | ❌ | ❌ | ❌ | Not supported (Unity license + network limitations) | 69 | 70 | > ❓ = Not tested yet — expected to work but needs verification 71 | > 72 | > 73 | > ⚠️ = Partial support (some limitations) 74 | > 75 | 76 | --- 77 | 78 | ## 🧰 Requirements 79 | 80 | - Unity 2020.3 LTS or newer 81 | - TextMeshPro (via Package Manager) 82 | - DeepSeek API Key from [platform.deepseek.com](https://platform.deepseek.com/) 83 | 84 | --- 85 | 86 | ## 📦 Installation 87 | 88 | ### Option 1: Via Git URL (Unity Package Manager) 89 | 90 | 1. Open your Unity project 91 | 2. Go to **Window > Package Manager** 92 | 3. Click `+` → **Add package from Git URL** 93 | 4. Paste: 94 | 95 | ```csharp 96 | https://github.com/yagizeraslan/DeepSeek-Unity.git 97 | 98 | ``` 99 | 100 | 5. ✅ Done 101 | 102 | --- 103 | 104 | ## 🚀 Getting Started 105 | 106 | ### 🔧 Setup 107 | 108 | 1. After installation, download Sample scene from Package Manager 109 | 2. Paste your **API key** into the DeepSeekSettings.asset. 110 | 3. Hit Play — and chat with DeepSeek AI in seconds 💬 111 | 112 | --- 113 | 114 | ## 🧪 Sample Scene 115 | 116 | To test everything: 117 | 118 | 1. In **Package Manager**, under **DeepSeek API for Unity**, click **Samples** 119 | 2. Click **Import** on `DeepSeek Chat Example` 120 | 3. Open: 121 | 122 | ```csharp 123 | Assets/Samples/DeepSeek API for Unity/1.0.1/DeepSeek Chat Example/Scenes/DeepSeek-Chat.unity 124 | 125 | ``` 126 | 127 | 4. Press Play — you're live. 128 | 129 | - You can change model type and streaming mode during play — the SDK picks up changes automatically for each new message. 130 | - You can also press **Enter** instead of clicking Send button — handy for fast testing. 131 | 132 | --- 133 | 134 | ## 🔐 API Key Handling 135 | 136 | - During dev: Store key via `EditorPrefs` using the DeepSeek Editor Window 137 | - In production builds: Use the `DeepSeekSettings` ScriptableObject (recommended) 138 | 139 | **DO NOT** hardcode your key in scripts or prefabs — Unity will reject the package. 140 | 141 | --- 142 | 143 | ## 🧱 Architecture Overview 144 | 145 | | Layer | Folder | Role | 146 | | --- | --- | --- | 147 | | API Logic | `Runtime/API/` | HTTP & model logic | 148 | | Data Models | `Runtime/Data/` | DTOs for requests/responses | 149 | | UI Component | `Runtime/UI/` | MonoBehaviour & Controller | 150 | | Config Logic | `Runtime/Common/` | Secure key storage | 151 | | Editor Tools | `Editor/` | Editor-only settings UI | 152 | | Example Scene | `Samples~/` | Demo prefab, scene, assets | 153 | 154 | --- 155 | 156 | ## 🧩 Example Integration 157 | 158 | ### 🕐 Non-Streaming (Full Response) 159 | 160 | ```csharp 161 | [SerializeField] private DeepSeekSettings config; 162 | 163 | private async void Start() 164 | { 165 | var api = new DeepSeekApi(config); 166 | var request = new ChatCompletionRequest 167 | { 168 | model = DeepSeekModel.DeepSeek_V3.ToModelString(), 169 | messages = new ChatMessage[] 170 | { 171 | new ChatMessage { role = "system", content = "You're a helpful assistant." }, 172 | new ChatMessage { role = "user", content = "Tell me something cool." } 173 | } 174 | }; 175 | 176 | var response = await api.CreateChatCompletion(request); 177 | Debug.Log("[FULL RESPONSE] " + response.choices[0].message.content); 178 | } 179 | 180 | ``` 181 | 182 | ### 🔄 Streaming (Real-Time Updates) 183 | ```csharp 184 | [SerializeField] private DeepSeekSettings config; 185 | 186 | private void Start() 187 | { 188 | RunStreamingExample(); 189 | } 190 | 191 | private void RunStreamingExample() 192 | { 193 | var request = new ChatCompletionRequest 194 | { 195 | model = DeepSeekModel.DeepSeek_V3.ToModelString(), 196 | messages = new ChatMessage[] 197 | { 198 | new ChatMessage { role = "user", content = "Stream a fun fact about the ocean." } 199 | }, 200 | stream = true 201 | }; 202 | 203 | var streamingApi = new DeepSeekStreamingApi(); 204 | streamingApi.CreateChatCompletionStream( 205 | request, 206 | config.apiKey, 207 | partial => 208 | { 209 | Debug.Log("[STREAMING] " + partial); // Called for each streamed segment 210 | } 211 | ); 212 | } 213 | 214 | ``` 215 | 216 | --- 217 | 218 | ## 🛠 Advanced Usage 219 | 220 | ### 🔄 Streaming Support 221 | 222 | DeepSeek-Unity supports **real-time streaming** using DeepSeek's official `stream: true` Server-Sent Events (SSE) endpoint. 223 | 224 | ✅ Uses Unity's `DownloadHandlerScript` for chunked response handling 225 | ✅ UI updates per-token (no simulated typewriter effect) 226 | ✅ No coroutines, no external libraries — works natively in Unity 227 | 228 | To enable: 229 | - Check `Use Streaming` in the chat prefab or component 230 | - Partial responses will automatically stream into the UI 231 | 232 | 📌 You can toggle streaming on/off at runtime. 233 | 234 | ### 💬 Multiple Models 235 | 236 | ```csharp 237 | DeepSeekModel.DeepSeek_V3 238 | DeepSeekModel.DeepSeek_R1 239 | 240 | ``` 241 | 242 | --- 243 | 244 | ## 🐞 Troubleshooting 245 | 246 | **Can't add component?** 247 | 248 | → Make sure you dragged `DeepSeekSettings.asset` into the DeepSeekChat.cs's Config field. 249 | 250 | **Streaming not working?** 251 | 252 | → Make sure you're on a platform that supports `DownloadHandlerScript` (Standalone or Editor). 253 | → WebGL and iOS may have platform limitations for live SSE streams. 254 | 255 | **Seeing JSON parse warnings in streaming mode?** 256 | 257 | → These are normal during SSE — they occur when the parser receives partial chunks. They're automatically skipped and won't affect the final output. 258 | 259 | --- 260 | 261 | ## 💖 Support This Project 262 | 263 | If you find **DeepSeek-Unity** useful, please consider supporting its development! 264 | 265 | - [Become a sponsor on GitHub Sponsors](https://github.com/sponsors/yagizeraslan) 266 | - [Buy me a coffee on Ko-fi](https://ko-fi.com/yagizeraslan) 267 | 268 | Your support helps me continue maintaining and improving this project. Thank you! 🚀 269 | 270 | --- 271 | 272 | ## 📄 License 273 | 274 | Unofficial integration. DeepSeek™ is a trademark of Hangzhou DeepSeek Artificial Intelligence Co., Ltd. 275 | 276 | This project is licensed under the MIT License. 277 | 278 | --- 279 | 280 | ## 🤝 Contact & Support 281 | 282 | **Author**: [Yağız ERASLAN](https://www.linkedin.com/in/yagizeraslan/) 283 | 284 | 📬 yagizeraslan@gmail.com 285 | 286 | 💬 GitHub Issues welcome! 287 | -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b8d09d98cc3c4c4c898db19b5963baa 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e62885ab8ee1d40dd8f6bea2d08bf94e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yagizeraslan/DeepSeek-Unity/94224fb16b9f322fc6f127fbbe4c2c51e7a97d61/Runtime/.DS_Store -------------------------------------------------------------------------------- /Runtime/API.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f0615d86937b1423ab8f58425b2a8812 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/API/DeepSeekApi.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using UnityEngine; 3 | 4 | namespace YagizEraslan.DeepSeek.Unity 5 | { 6 | public class DeepSeekApi : IDeepSeekApi 7 | { 8 | private readonly DeepSeekSettings settings; 9 | 10 | public string ApiKey => settings.apiKey; // ✅ Public Getter 11 | 12 | public DeepSeekApi(DeepSeekSettings config) 13 | { 14 | this.settings = config; 15 | } 16 | 17 | 18 | public async Task CreateChatCompletion(ChatCompletionRequest request) 19 | { 20 | using var www = new UnityEngine.Networking.UnityWebRequest("https://api.deepseek.com/chat/completions", "POST"); 21 | string body = JsonUtility.ToJson(request); 22 | 23 | byte[] jsonToSend = new System.Text.UTF8Encoding().GetBytes(body); 24 | www.uploadHandler = new UnityEngine.Networking.UploadHandlerRaw(jsonToSend); 25 | www.downloadHandler = new UnityEngine.Networking.DownloadHandlerBuffer(); 26 | www.SetRequestHeader("Content-Type", "application/json"); 27 | www.SetRequestHeader("Authorization", $"Bearer {settings.apiKey}"); 28 | await www.SendWebRequest(); 29 | 30 | if (www.result != UnityEngine.Networking.UnityWebRequest.Result.Success) 31 | { 32 | Debug.LogError($"Request Failed: {www.error}"); 33 | return null; 34 | } 35 | 36 | var json = www.downloadHandler.text; 37 | return JsonUtility.FromJson(json); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Runtime/API/DeepSeekApi.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e21d424a3dfd6458bbc045fcd35df7b9 -------------------------------------------------------------------------------- /Runtime/API/DeepSeekModel.cs: -------------------------------------------------------------------------------- 1 | namespace YagizEraslan.DeepSeek.Unity 2 | { 3 | public enum DeepSeekModel 4 | { 5 | DeepSeek_V3, 6 | DeepSeek_R1 7 | } 8 | 9 | public static class DeepSeekModelExtensions 10 | { 11 | public static string ToModelString(this DeepSeekModel model) 12 | { 13 | return model switch 14 | { 15 | DeepSeekModel.DeepSeek_V3 => "deepseek-chat", 16 | DeepSeekModel.DeepSeek_R1 => "deepseek-reasoner", 17 | _ => "deepseek-chat" 18 | }; 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Runtime/API/DeepSeekModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bfc605e44e2be4fcaa27678e0671c3dd -------------------------------------------------------------------------------- /Runtime/API/DeepSeekStreamingApi.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Text; 3 | using UnityEngine; 4 | using UnityEngine.Networking; 5 | 6 | namespace YagizEraslan.DeepSeek.Unity 7 | { 8 | public class DeepSeekStreamingApi 9 | { 10 | public void CreateChatCompletionStream(ChatCompletionRequest request, string apiKey, Action onStreamUpdate) 11 | { 12 | request.stream = true; 13 | string json = JsonUtility.ToJson(request); 14 | byte[] bodyRaw = Encoding.UTF8.GetBytes(json); 15 | 16 | UnityWebRequest requestStream = new UnityWebRequest("https://api.deepseek.com/chat/completions", "POST"); 17 | requestStream.uploadHandler = new UploadHandlerRaw(bodyRaw); 18 | requestStream.downloadHandler = new StreamingDownloadHandler(onStreamUpdate); 19 | requestStream.SetRequestHeader("Content-Type", "application/json"); 20 | requestStream.SetRequestHeader("Authorization", $"Bearer {apiKey}"); 21 | 22 | requestStream.SendWebRequest().completed += _ => 23 | { 24 | if (requestStream.result != UnityWebRequest.Result.Success) 25 | { 26 | Debug.LogError("DeepSeek stream request failed: " + requestStream.error); 27 | } 28 | }; 29 | } 30 | 31 | private class StreamingDownloadHandler : DownloadHandlerScript 32 | { 33 | private StringBuilder buffer = new(); 34 | private readonly Action onStreamUpdate; 35 | 36 | public StreamingDownloadHandler(Action onStreamUpdate, int bufferSize = 1024) 37 | : base(new byte[bufferSize]) 38 | { 39 | this.onStreamUpdate = onStreamUpdate; 40 | } 41 | 42 | protected override bool ReceiveData(byte[] data, int dataLength) 43 | { 44 | if (data == null || dataLength == 0) return false; 45 | 46 | string chunk = Encoding.UTF8.GetString(data, 0, dataLength); 47 | buffer.Append(chunk); 48 | 49 | string[] lines = buffer.ToString().Split('\n'); 50 | buffer.Clear(); 51 | 52 | foreach (string line in lines) 53 | { 54 | if (line.StartsWith("data: ")) 55 | { 56 | string payload = line.Substring(6).Trim(); 57 | if (payload == "[DONE]") return true; 58 | 59 | try 60 | { 61 | var parsed = JsonUtility.FromJson(payload); 62 | string content = parsed?.choices?[0]?.delta?.content; 63 | if (!string.IsNullOrEmpty(content)) 64 | { 65 | onStreamUpdate?.Invoke(content); 66 | } 67 | } 68 | catch (Exception e) 69 | { 70 | Debug.LogWarning("Failed to parse stream chunk: " + e.Message); 71 | } 72 | } 73 | } 74 | 75 | return true; 76 | } 77 | } 78 | 79 | [Serializable] 80 | private class StreamingDelta 81 | { 82 | public Choice[] choices; 83 | 84 | [Serializable] 85 | public class Choice 86 | { 87 | public Delta delta; 88 | } 89 | 90 | [Serializable] 91 | public class Delta 92 | { 93 | public string content; 94 | } 95 | } 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /Runtime/API/DeepSeekStreamingApi.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b02d1af23bfdf4c73bde14d77f033486 -------------------------------------------------------------------------------- /Runtime/API/IDeepSeekApi.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace YagizEraslan.DeepSeek.Unity 4 | { 5 | public interface IDeepSeekApi 6 | { 7 | Task CreateChatCompletion(ChatCompletionRequest request); 8 | } 9 | } -------------------------------------------------------------------------------- /Runtime/API/IDeepSeekApi.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c1611733ee4f4156a47f99ca7c895a4 -------------------------------------------------------------------------------- /Runtime/Common.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b17013195cef14d1eadc48df53d788bd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Common/DeepSeekSettings.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace YagizEraslan.DeepSeek.Unity 4 | { 5 | [CreateAssetMenu(fileName = "DeepSeekSettings", menuName = "DeepSeek/Settings", order = 1)] 6 | public class DeepSeekSettings : ScriptableObject 7 | { 8 | [Tooltip("Your DeepSeek API Key (used at runtime)")] 9 | public string apiKey; 10 | } 11 | } -------------------------------------------------------------------------------- /Runtime/Common/DeepSeekSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f00994aab478241ffa327efc0c89192b -------------------------------------------------------------------------------- /Runtime/Data.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1749fe20d4eee454ababfd55b9b5a91b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Data/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yagizeraslan/DeepSeek-Unity/94224fb16b9f322fc6f127fbbe4c2c51e7a97d61/Runtime/Data/.DS_Store -------------------------------------------------------------------------------- /Runtime/Data/ChatCompletionRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace YagizEraslan.DeepSeek.Unity 4 | { 5 | [System.Serializable] 6 | public class ChatCompletionRequest 7 | { 8 | public string model; 9 | public ChatMessage[] messages; 10 | public float temperature = 0.7f; 11 | public bool stream; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Runtime/Data/ChatCompletionRequest.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1cd42217f10244496a18a319d5555196 -------------------------------------------------------------------------------- /Runtime/Data/ChatCompletionResponse.cs: -------------------------------------------------------------------------------- 1 | namespace YagizEraslan.DeepSeek.Unity 2 | { 3 | [System.Serializable] 4 | public class ChatCompletionResponse 5 | { 6 | public Choice[] choices; 7 | } 8 | 9 | [System.Serializable] 10 | public class Choice 11 | { 12 | public ChatMessage message; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Runtime/Data/ChatCompletionResponse.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff248e03112024df8bc1fa974cbd2f5f -------------------------------------------------------------------------------- /Runtime/Data/ChatMessage.cs: -------------------------------------------------------------------------------- 1 | namespace YagizEraslan.DeepSeek.Unity 2 | { 3 | [System.Serializable] 4 | public class ChatMessage 5 | { 6 | public string role; 7 | public string content; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Runtime/Data/ChatMessage.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a0e3c0f5fd3274106bf61ef92eeec3b0 -------------------------------------------------------------------------------- /Runtime/DeepSeek.Runtime.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DeepSeek.Runtime", 3 | "rootNamespace": "YagizEraslan.DeepSeek.Unity", 4 | "references": [ 5 | "UniTask" 6 | ], 7 | "includePlatforms": [], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": false, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": true, 13 | "defineConstraints": [], 14 | "versionDefines": [], 15 | "noEngineReferences": false 16 | } -------------------------------------------------------------------------------- /Runtime/DeepSeek.Runtime.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e67a0c68fc29749bb9dcd92885e13e77 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f3c8b668231a54a5795722ccc0156e64 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/UI/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yagizeraslan/DeepSeek-Unity/94224fb16b9f322fc6f127fbbe4c2c51e7a97d61/Runtime/UI/.DS_Store -------------------------------------------------------------------------------- /Runtime/UI/DeepSeekChatController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace YagizEraslan.DeepSeek.Unity 6 | { 7 | public class DeepSeekChatController 8 | { 9 | private readonly DeepSeekStreamingApi streamingApi; 10 | private readonly DeepSeekApi deepSeekApi; 11 | private readonly List history = new(); 12 | private readonly Action onMessageUpdate; 13 | private readonly Action onStreamingUpdate; 14 | private readonly string selectedModelName; 15 | private readonly bool useStreaming; 16 | 17 | private string currentStreamContent = ""; 18 | 19 | public DeepSeekChatController(IDeepSeekApi api, string modelName, Action messageCallback, Action streamingCallback, bool useStreaming) 20 | { 21 | var concreteApi = api as DeepSeekApi; 22 | if (concreteApi == null) 23 | { 24 | Debug.LogError("DeepSeekChatController requires DeepSeekApi instance, not just IDeepSeekApi interface!"); 25 | } 26 | this.deepSeekApi = concreteApi; 27 | this.deepSeekApi = concreteApi; 28 | this.streamingApi = new DeepSeekStreamingApi(); 29 | this.selectedModelName = modelName; 30 | this.onMessageUpdate = messageCallback; 31 | this.onStreamingUpdate = streamingCallback; 32 | this.useStreaming = useStreaming; 33 | } 34 | 35 | public void SendUserMessage(string userMessage) 36 | { 37 | if (string.IsNullOrWhiteSpace(userMessage)) 38 | { 39 | Debug.LogWarning("User message is empty."); 40 | return; 41 | } 42 | 43 | var userChat = new ChatMessage 44 | { 45 | role = "user", 46 | content = userMessage 47 | }; 48 | history.Add(userChat); 49 | onMessageUpdate?.Invoke(userChat, true); 50 | 51 | var request = new ChatCompletionRequest 52 | { 53 | model = selectedModelName, 54 | messages = history.ToArray(), 55 | stream = useStreaming 56 | }; 57 | 58 | if (useStreaming) 59 | { 60 | currentStreamContent = ""; 61 | 62 | // Create placeholder AI message in UI BEFORE starting the stream 63 | var aiMessage = new ChatMessage 64 | { 65 | role = "assistant", 66 | content = "" // start with empty 67 | }; 68 | onMessageUpdate?.Invoke(aiMessage, false); // 👈 this instantiates the UI prefab and assigns activeStreamingText 69 | 70 | streamingApi.CreateChatCompletionStream( 71 | request, 72 | deepSeekApi.ApiKey, 73 | partialToken => 74 | { 75 | currentStreamContent += partialToken; 76 | onStreamingUpdate?.Invoke(currentStreamContent); 77 | }); 78 | }else 79 | { 80 | HandleFullResponse(request); 81 | } 82 | } 83 | 84 | private async void HandleFullResponse(ChatCompletionRequest request) 85 | { 86 | try 87 | { 88 | var awaitedResponse = await deepSeekApi.CreateChatCompletion(request); 89 | 90 | if (awaitedResponse != null && awaitedResponse.choices != null && awaitedResponse.choices.Length > 0) 91 | { 92 | var aiMessage = awaitedResponse.choices[0].message; 93 | history.Add(aiMessage); 94 | onMessageUpdate?.Invoke(aiMessage, false); 95 | } 96 | else 97 | { 98 | Debug.LogWarning("No response choices received from DeepSeek API."); 99 | } 100 | } 101 | catch (Exception ex) 102 | { 103 | Debug.LogError($"Error while sending message to DeepSeek API: {ex.Message}"); 104 | } 105 | } 106 | } 107 | } -------------------------------------------------------------------------------- /Runtime/UI/DeepSeekChatController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b4c3bfe8620c4d90881a259a60d9bc7 -------------------------------------------------------------------------------- /Runtime/Utilities.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e12cf5bdddf864595b85765dcbc26620 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Utilities/UnityWebRequestAwaiter.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using System.Threading.Tasks; 3 | using UnityEngine.Networking; 4 | 5 | namespace YagizEraslan.DeepSeek.Unity 6 | { 7 | public static class UnityWebRequestAwaiter 8 | { 9 | public static TaskAwaiter GetAwaiter(this UnityWebRequestAsyncOperation request) 10 | { 11 | var tcs = new TaskCompletionSource(); 12 | request.completed += _ => tcs.SetResult(request.webRequest); 13 | return tcs.Task.GetAwaiter(); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Runtime/Utilities/UnityWebRequestAwaiter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 294829fa9811f4bdd82c0f42eabd2bc9 -------------------------------------------------------------------------------- /Samples~/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yagizeraslan/DeepSeek-Unity/94224fb16b9f322fc6f127fbbe4c2c51e7a97d61/Samples~/.DS_Store -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yagizeraslan/DeepSeek-Unity/94224fb16b9f322fc6f127fbbe4c2c51e7a97d61/Samples~/DeepSeek-Chat/.DS_Store -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/DeepSeekAPISettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: f00994aab478241ffa327efc0c89192b, type: 3} 13 | m_Name: DeepSeekAPISettings 14 | m_EditorClassIdentifier: 15 | apiKey: YOUR-API-KEY 16 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/DeepSeekAPISettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 25ac81aa72de644faae9ab115b8f6b18 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e4deeb75dca642efa46490bc7f9359c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Prefabs/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yagizeraslan/DeepSeek-Unity/94224fb16b9f322fc6f127fbbe4c2c51e7a97d61/Samples~/DeepSeek-Chat/Prefabs/.DS_Store -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Prefabs/DeepSeekChat.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &5797995389438447675 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 8203701537410577367} 12 | - component: {fileID: 2903786547492096576} 13 | m_Layer: 0 14 | m_Name: DeepSeekChat 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &8203701537410577367 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 5797995389438447675} 27 | serializedVersion: 2 28 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 29 | m_LocalPosition: {x: 0, y: 0, z: 0} 30 | m_LocalScale: {x: 1, y: 1, z: 1} 31 | m_ConstrainProportionsScale: 0 32 | m_Children: [] 33 | m_Father: {fileID: 0} 34 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 35 | --- !u!114 &2903786547492096576 36 | MonoBehaviour: 37 | m_ObjectHideFlags: 0 38 | m_CorrespondingSourceObject: {fileID: 0} 39 | m_PrefabInstance: {fileID: 0} 40 | m_PrefabAsset: {fileID: 0} 41 | m_GameObject: {fileID: 5797995389438447675} 42 | m_Enabled: 1 43 | m_EditorHideFlags: 0 44 | m_Script: {fileID: 11500000, guid: 00c92c21d9b7f4f229df33abf66ff030, type: 3} 45 | m_Name: 46 | m_EditorClassIdentifier: 47 | config: {fileID: 11400000, guid: 25ac81aa72de644faae9ab115b8f6b18, type: 2} 48 | modelType: 0 49 | useStreaming: 1 50 | inputField: {fileID: 0} 51 | sendButton: {fileID: 0} 52 | sentMessagePrefab: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 53 | receivedMessagePrefab: {fileID: 961534450149497043, guid: adc0146c2853ed1418133faaf4379eb1, type: 3} 54 | messageContainer: {fileID: 0} 55 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Prefabs/DeepSeekChat.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 47c2d5e1cab574141b6c401cf8a6afed 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Prefabs/DeepSeek_Canvas.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &76117611399985126 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 5825262888990147639} 12 | - component: {fileID: 1665943714362360185} 13 | m_Layer: 5 14 | m_Name: Text Area 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!224 &5825262888990147639 21 | RectTransform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 76117611399985126} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0, y: 0, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_ConstrainProportionsScale: 0 31 | m_Children: 32 | - {fileID: 1437837077428614394} 33 | - {fileID: 341393334441187929} 34 | m_Father: {fileID: 1595344432700980910} 35 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 36 | m_AnchorMin: {x: 0, y: 0} 37 | m_AnchorMax: {x: 1, y: 1} 38 | m_AnchoredPosition: {x: 0, y: -0.5} 39 | m_SizeDelta: {x: -20, y: -13} 40 | m_Pivot: {x: 0.5, y: 0.5} 41 | --- !u!114 &1665943714362360185 42 | MonoBehaviour: 43 | m_ObjectHideFlags: 0 44 | m_CorrespondingSourceObject: {fileID: 0} 45 | m_PrefabInstance: {fileID: 0} 46 | m_PrefabAsset: {fileID: 0} 47 | m_GameObject: {fileID: 76117611399985126} 48 | m_Enabled: 1 49 | m_EditorHideFlags: 0 50 | m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} 51 | m_Name: 52 | m_EditorClassIdentifier: 53 | m_Padding: {x: -8, y: -5, z: -8, w: -5} 54 | m_Softness: {x: 0, y: 0} 55 | --- !u!1 &2009418479879276390 56 | GameObject: 57 | m_ObjectHideFlags: 0 58 | m_CorrespondingSourceObject: {fileID: 0} 59 | m_PrefabInstance: {fileID: 0} 60 | m_PrefabAsset: {fileID: 0} 61 | serializedVersion: 6 62 | m_Component: 63 | - component: {fileID: 5706210037766666124} 64 | m_Layer: 5 65 | m_Name: Top_Area 66 | m_TagString: Untagged 67 | m_Icon: {fileID: 0} 68 | m_NavMeshLayer: 0 69 | m_StaticEditorFlags: 0 70 | m_IsActive: 1 71 | --- !u!224 &5706210037766666124 72 | RectTransform: 73 | m_ObjectHideFlags: 0 74 | m_CorrespondingSourceObject: {fileID: 0} 75 | m_PrefabInstance: {fileID: 0} 76 | m_PrefabAsset: {fileID: 0} 77 | m_GameObject: {fileID: 2009418479879276390} 78 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 79 | m_LocalPosition: {x: 0, y: 0, z: 0} 80 | m_LocalScale: {x: 1, y: 1, z: 1} 81 | m_ConstrainProportionsScale: 0 82 | m_Children: 83 | - {fileID: 739944008488512450} 84 | m_Father: {fileID: 5260928468754106139} 85 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 86 | m_AnchorMin: {x: 0.5, y: 0.5} 87 | m_AnchorMax: {x: 0.5, y: 0.5} 88 | m_AnchoredPosition: {x: 0, y: 537.5} 89 | m_SizeDelta: {x: 460, y: 105} 90 | m_Pivot: {x: 0.5, y: 0.5} 91 | --- !u!1 &2089716209228072889 92 | GameObject: 93 | m_ObjectHideFlags: 0 94 | m_CorrespondingSourceObject: {fileID: 0} 95 | m_PrefabInstance: {fileID: 0} 96 | m_PrefabAsset: {fileID: 0} 97 | serializedVersion: 6 98 | m_Component: 99 | - component: {fileID: 4556370858001427440} 100 | - component: {fileID: 346512843363243831} 101 | - component: {fileID: 4521751515466384200} 102 | m_Layer: 5 103 | m_Name: Chat_Area 104 | m_TagString: Untagged 105 | m_Icon: {fileID: 0} 106 | m_NavMeshLayer: 0 107 | m_StaticEditorFlags: 0 108 | m_IsActive: 1 109 | --- !u!224 &4556370858001427440 110 | RectTransform: 111 | m_ObjectHideFlags: 0 112 | m_CorrespondingSourceObject: {fileID: 0} 113 | m_PrefabInstance: {fileID: 0} 114 | m_PrefabAsset: {fileID: 0} 115 | m_GameObject: {fileID: 2089716209228072889} 116 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 117 | m_LocalPosition: {x: 0, y: 0, z: 0} 118 | m_LocalScale: {x: 1, y: 1, z: 1} 119 | m_ConstrainProportionsScale: 0 120 | m_Children: 121 | - {fileID: 7258736987990971913} 122 | - {fileID: 7394132493397375632} 123 | m_Father: {fileID: 5260928468754106139} 124 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 125 | m_AnchorMin: {x: 0, y: 0} 126 | m_AnchorMax: {x: 1, y: 1} 127 | m_AnchoredPosition: {x: 0, y: -35.000122} 128 | m_SizeDelta: {x: -100, y: -130} 129 | m_Pivot: {x: 0.5, y: 0.5} 130 | --- !u!222 &346512843363243831 131 | CanvasRenderer: 132 | m_ObjectHideFlags: 0 133 | m_CorrespondingSourceObject: {fileID: 0} 134 | m_PrefabInstance: {fileID: 0} 135 | m_PrefabAsset: {fileID: 0} 136 | m_GameObject: {fileID: 2089716209228072889} 137 | m_CullTransparentMesh: 1 138 | --- !u!114 &4521751515466384200 139 | MonoBehaviour: 140 | m_ObjectHideFlags: 0 141 | m_CorrespondingSourceObject: {fileID: 0} 142 | m_PrefabInstance: {fileID: 0} 143 | m_PrefabAsset: {fileID: 0} 144 | m_GameObject: {fileID: 2089716209228072889} 145 | m_Enabled: 0 146 | m_EditorHideFlags: 0 147 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 148 | m_Name: 149 | m_EditorClassIdentifier: 150 | m_Material: {fileID: 0} 151 | m_Color: {r: 1, g: 1, b: 1, a: 1} 152 | m_RaycastTarget: 1 153 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 154 | m_Maskable: 1 155 | m_OnCullStateChanged: 156 | m_PersistentCalls: 157 | m_Calls: [] 158 | m_Sprite: {fileID: 0} 159 | m_Type: 0 160 | m_PreserveAspect: 0 161 | m_FillCenter: 1 162 | m_FillMethod: 4 163 | m_FillAmount: 1 164 | m_FillClockwise: 1 165 | m_FillOrigin: 0 166 | m_UseSpriteMesh: 0 167 | m_PixelsPerUnitMultiplier: 1 168 | --- !u!1 &2255968944817206913 169 | GameObject: 170 | m_ObjectHideFlags: 0 171 | m_CorrespondingSourceObject: {fileID: 0} 172 | m_PrefabInstance: {fileID: 0} 173 | m_PrefabAsset: {fileID: 0} 174 | serializedVersion: 6 175 | m_Component: 176 | - component: {fileID: 1595344432700980910} 177 | - component: {fileID: 8381315960159574528} 178 | - component: {fileID: 2548601473289192898} 179 | - component: {fileID: 433553220197719809} 180 | m_Layer: 5 181 | m_Name: InputField (TMP) 182 | m_TagString: Untagged 183 | m_Icon: {fileID: 0} 184 | m_NavMeshLayer: 0 185 | m_StaticEditorFlags: 0 186 | m_IsActive: 1 187 | --- !u!224 &1595344432700980910 188 | RectTransform: 189 | m_ObjectHideFlags: 0 190 | m_CorrespondingSourceObject: {fileID: 0} 191 | m_PrefabInstance: {fileID: 0} 192 | m_PrefabAsset: {fileID: 0} 193 | m_GameObject: {fileID: 2255968944817206913} 194 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 195 | m_LocalPosition: {x: 0, y: 0, z: 0} 196 | m_LocalScale: {x: 1, y: 1, z: 1} 197 | m_ConstrainProportionsScale: 0 198 | m_Children: 199 | - {fileID: 5825262888990147639} 200 | m_Father: {fileID: 7394132493397375632} 201 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 202 | m_AnchorMin: {x: 0, y: 1} 203 | m_AnchorMax: {x: 1, y: 1} 204 | m_AnchoredPosition: {x: 0, y: -10} 205 | m_SizeDelta: {x: -20, y: 60} 206 | m_Pivot: {x: 0.5, y: 1} 207 | --- !u!222 &8381315960159574528 208 | CanvasRenderer: 209 | m_ObjectHideFlags: 0 210 | m_CorrespondingSourceObject: {fileID: 0} 211 | m_PrefabInstance: {fileID: 0} 212 | m_PrefabAsset: {fileID: 0} 213 | m_GameObject: {fileID: 2255968944817206913} 214 | m_CullTransparentMesh: 1 215 | --- !u!114 &2548601473289192898 216 | MonoBehaviour: 217 | m_ObjectHideFlags: 0 218 | m_CorrespondingSourceObject: {fileID: 0} 219 | m_PrefabInstance: {fileID: 0} 220 | m_PrefabAsset: {fileID: 0} 221 | m_GameObject: {fileID: 2255968944817206913} 222 | m_Enabled: 0 223 | m_EditorHideFlags: 0 224 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 225 | m_Name: 226 | m_EditorClassIdentifier: 227 | m_Material: {fileID: 0} 228 | m_Color: {r: 0.38679248, g: 0.38679248, b: 0.38679248, a: 0.36078432} 229 | m_RaycastTarget: 1 230 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 231 | m_Maskable: 1 232 | m_OnCullStateChanged: 233 | m_PersistentCalls: 234 | m_Calls: [] 235 | m_Sprite: {fileID: 21300000, guid: a881bce04d2414a42b6686a0db23877a, type: 3} 236 | m_Type: 1 237 | m_PreserveAspect: 0 238 | m_FillCenter: 1 239 | m_FillMethod: 4 240 | m_FillAmount: 1 241 | m_FillClockwise: 1 242 | m_FillOrigin: 0 243 | m_UseSpriteMesh: 0 244 | m_PixelsPerUnitMultiplier: 4 245 | --- !u!114 &433553220197719809 246 | MonoBehaviour: 247 | m_ObjectHideFlags: 0 248 | m_CorrespondingSourceObject: {fileID: 0} 249 | m_PrefabInstance: {fileID: 0} 250 | m_PrefabAsset: {fileID: 0} 251 | m_GameObject: {fileID: 2255968944817206913} 252 | m_Enabled: 1 253 | m_EditorHideFlags: 0 254 | m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3} 255 | m_Name: 256 | m_EditorClassIdentifier: 257 | m_Navigation: 258 | m_Mode: 3 259 | m_WrapAround: 0 260 | m_SelectOnUp: {fileID: 0} 261 | m_SelectOnDown: {fileID: 0} 262 | m_SelectOnLeft: {fileID: 0} 263 | m_SelectOnRight: {fileID: 0} 264 | m_Transition: 1 265 | m_Colors: 266 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 267 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 268 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 269 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 270 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 271 | m_ColorMultiplier: 1 272 | m_FadeDuration: 0.1 273 | m_SpriteState: 274 | m_HighlightedSprite: {fileID: 0} 275 | m_PressedSprite: {fileID: 0} 276 | m_SelectedSprite: {fileID: 0} 277 | m_DisabledSprite: {fileID: 0} 278 | m_AnimationTriggers: 279 | m_NormalTrigger: Normal 280 | m_HighlightedTrigger: Highlighted 281 | m_PressedTrigger: Pressed 282 | m_SelectedTrigger: Selected 283 | m_DisabledTrigger: Disabled 284 | m_Interactable: 1 285 | m_TargetGraphic: {fileID: 2548601473289192898} 286 | m_TextViewport: {fileID: 5825262888990147639} 287 | m_TextComponent: {fileID: 4090607922780522536} 288 | m_Placeholder: {fileID: 4775454449960623443} 289 | m_VerticalScrollbar: {fileID: 0} 290 | m_VerticalScrollbarEventHandler: {fileID: 0} 291 | m_LayoutGroup: {fileID: 0} 292 | m_ScrollSensitivity: 1 293 | m_ContentType: 0 294 | m_InputType: 0 295 | m_AsteriskChar: 42 296 | m_KeyboardType: 0 297 | m_LineType: 0 298 | m_HideMobileInput: 0 299 | m_HideSoftKeyboard: 0 300 | m_CharacterValidation: 0 301 | m_RegexValue: 302 | m_GlobalPointSize: 14 303 | m_CharacterLimit: 0 304 | m_OnEndEdit: 305 | m_PersistentCalls: 306 | m_Calls: [] 307 | m_OnSubmit: 308 | m_PersistentCalls: 309 | m_Calls: [] 310 | m_OnSelect: 311 | m_PersistentCalls: 312 | m_Calls: [] 313 | m_OnDeselect: 314 | m_PersistentCalls: 315 | m_Calls: [] 316 | m_OnTextSelection: 317 | m_PersistentCalls: 318 | m_Calls: [] 319 | m_OnEndTextSelection: 320 | m_PersistentCalls: 321 | m_Calls: [] 322 | m_OnValueChanged: 323 | m_PersistentCalls: 324 | m_Calls: [] 325 | m_OnTouchScreenKeyboardStatusChanged: 326 | m_PersistentCalls: 327 | m_Calls: [] 328 | m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 329 | m_CustomCaretColor: 0 330 | m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} 331 | m_Text: 332 | m_CaretBlinkRate: 0.85 333 | m_CaretWidth: 1 334 | m_ReadOnly: 0 335 | m_RichText: 1 336 | m_GlobalFontAsset: {fileID: 0} 337 | m_OnFocusSelectAll: 1 338 | m_ResetOnDeActivation: 1 339 | m_KeepTextSelectionVisible: 0 340 | m_RestoreOriginalTextOnEscape: 1 341 | m_isRichTextEditingAllowed: 0 342 | m_LineLimit: 0 343 | isAlert: 0 344 | m_InputValidator: {fileID: 0} 345 | m_ShouldActivateOnSelect: 1 346 | --- !u!1 &2705704243028727958 347 | GameObject: 348 | m_ObjectHideFlags: 0 349 | m_CorrespondingSourceObject: {fileID: 0} 350 | m_PrefabInstance: {fileID: 0} 351 | m_PrefabAsset: {fileID: 0} 352 | serializedVersion: 6 353 | m_Component: 354 | - component: {fileID: 1437837077428614394} 355 | - component: {fileID: 8427488352244758561} 356 | - component: {fileID: 4775454449960623443} 357 | - component: {fileID: 429319090396316831} 358 | m_Layer: 5 359 | m_Name: Placeholder 360 | m_TagString: Untagged 361 | m_Icon: {fileID: 0} 362 | m_NavMeshLayer: 0 363 | m_StaticEditorFlags: 0 364 | m_IsActive: 1 365 | --- !u!224 &1437837077428614394 366 | RectTransform: 367 | m_ObjectHideFlags: 0 368 | m_CorrespondingSourceObject: {fileID: 0} 369 | m_PrefabInstance: {fileID: 0} 370 | m_PrefabAsset: {fileID: 0} 371 | m_GameObject: {fileID: 2705704243028727958} 372 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 373 | m_LocalPosition: {x: 0, y: 0, z: 0} 374 | m_LocalScale: {x: 1, y: 1, z: 1} 375 | m_ConstrainProportionsScale: 0 376 | m_Children: [] 377 | m_Father: {fileID: 5825262888990147639} 378 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 379 | m_AnchorMin: {x: 0, y: 0} 380 | m_AnchorMax: {x: 1, y: 1} 381 | m_AnchoredPosition: {x: 0, y: 0} 382 | m_SizeDelta: {x: 0, y: 0} 383 | m_Pivot: {x: 0.5, y: 0.5} 384 | --- !u!222 &8427488352244758561 385 | CanvasRenderer: 386 | m_ObjectHideFlags: 0 387 | m_CorrespondingSourceObject: {fileID: 0} 388 | m_PrefabInstance: {fileID: 0} 389 | m_PrefabAsset: {fileID: 0} 390 | m_GameObject: {fileID: 2705704243028727958} 391 | m_CullTransparentMesh: 1 392 | --- !u!114 &4775454449960623443 393 | MonoBehaviour: 394 | m_ObjectHideFlags: 0 395 | m_CorrespondingSourceObject: {fileID: 0} 396 | m_PrefabInstance: {fileID: 0} 397 | m_PrefabAsset: {fileID: 0} 398 | m_GameObject: {fileID: 2705704243028727958} 399 | m_Enabled: 1 400 | m_EditorHideFlags: 0 401 | m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} 402 | m_Name: 403 | m_EditorClassIdentifier: 404 | m_Material: {fileID: 0} 405 | m_Color: {r: 1, g: 1, b: 1, a: 1} 406 | m_RaycastTarget: 1 407 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 408 | m_Maskable: 1 409 | m_OnCullStateChanged: 410 | m_PersistentCalls: 411 | m_Calls: [] 412 | m_text: Type here... then press 'Enter' to send message 413 | m_isRightToLeft: 0 414 | m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} 415 | m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} 416 | m_fontSharedMaterials: [] 417 | m_fontMaterial: {fileID: 0} 418 | m_fontMaterials: [] 419 | m_fontColor32: 420 | serializedVersion: 2 421 | rgba: 2158536872 422 | m_fontColor: {r: 0.65882355, g: 0.65882355, b: 0.65882355, a: 0.5} 423 | m_enableVertexGradient: 0 424 | m_colorMode: 3 425 | m_fontColorGradient: 426 | topLeft: {r: 1, g: 1, b: 1, a: 1} 427 | topRight: {r: 1, g: 1, b: 1, a: 1} 428 | bottomLeft: {r: 1, g: 1, b: 1, a: 1} 429 | bottomRight: {r: 1, g: 1, b: 1, a: 1} 430 | m_fontColorGradientPreset: {fileID: 0} 431 | m_spriteAsset: {fileID: 0} 432 | m_tintAllSprites: 0 433 | m_StyleSheet: {fileID: 0} 434 | m_TextStyleHashCode: -1183493901 435 | m_overrideHtmlColors: 0 436 | m_faceColor: 437 | serializedVersion: 2 438 | rgba: 4294967295 439 | m_fontSize: 20 440 | m_fontSizeBase: 20 441 | m_fontWeight: 400 442 | m_enableAutoSizing: 0 443 | m_fontSizeMin: 0 444 | m_fontSizeMax: 0 445 | m_fontStyle: 0 446 | m_HorizontalAlignment: 1 447 | m_VerticalAlignment: 256 448 | m_textAlignment: 65535 449 | m_characterSpacing: 0 450 | m_wordSpacing: 0 451 | m_lineSpacing: 20 452 | m_lineSpacingMax: 0 453 | m_paragraphSpacing: 0 454 | m_charWidthMaxAdj: 0 455 | m_TextWrappingMode: 0 456 | m_wordWrappingRatios: 0.4 457 | m_overflowMode: 0 458 | m_linkedTextComponent: {fileID: 0} 459 | parentLinkedComponent: {fileID: 0} 460 | m_enableKerning: 0 461 | m_ActiveFontFeatures: 462 | m_enableExtraPadding: 1 463 | checkPaddingRequired: 0 464 | m_isRichText: 1 465 | m_EmojiFallbackSupport: 1 466 | m_parseCtrlCharacters: 1 467 | m_isOrthographic: 1 468 | m_isCullingEnabled: 0 469 | m_horizontalMapping: 0 470 | m_verticalMapping: 0 471 | m_uvLineOffset: 0 472 | m_geometrySortingOrder: 0 473 | m_IsTextObjectScaleStatic: 0 474 | m_VertexBufferAutoSizeReduction: 0 475 | m_useMaxVisibleDescender: 1 476 | m_pageToDisplay: 1 477 | m_margin: {x: 0, y: 0, z: 0, w: 0} 478 | m_isUsingLegacyAnimationComponent: 0 479 | m_isVolumetricText: 0 480 | m_hasFontAssetChanged: 0 481 | m_baseMaterial: {fileID: 0} 482 | m_maskOffset: {x: 0, y: 0, z: 0, w: 0} 483 | --- !u!114 &429319090396316831 484 | MonoBehaviour: 485 | m_ObjectHideFlags: 0 486 | m_CorrespondingSourceObject: {fileID: 0} 487 | m_PrefabInstance: {fileID: 0} 488 | m_PrefabAsset: {fileID: 0} 489 | m_GameObject: {fileID: 2705704243028727958} 490 | m_Enabled: 1 491 | m_EditorHideFlags: 0 492 | m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} 493 | m_Name: 494 | m_EditorClassIdentifier: 495 | m_IgnoreLayout: 1 496 | m_MinWidth: -1 497 | m_MinHeight: -1 498 | m_PreferredWidth: -1 499 | m_PreferredHeight: -1 500 | m_FlexibleWidth: -1 501 | m_FlexibleHeight: -1 502 | m_LayoutPriority: 1 503 | --- !u!1 &3594659542157442018 504 | GameObject: 505 | m_ObjectHideFlags: 0 506 | m_CorrespondingSourceObject: {fileID: 0} 507 | m_PrefabInstance: {fileID: 0} 508 | m_PrefabAsset: {fileID: 0} 509 | serializedVersion: 6 510 | m_Component: 511 | - component: {fileID: 531949392069866486} 512 | - component: {fileID: 9175028273879123897} 513 | - component: {fileID: 412778570017646638} 514 | - component: {fileID: 8844484464608263651} 515 | m_Layer: 5 516 | m_Name: Viewport 517 | m_TagString: Untagged 518 | m_Icon: {fileID: 0} 519 | m_NavMeshLayer: 0 520 | m_StaticEditorFlags: 0 521 | m_IsActive: 1 522 | --- !u!224 &531949392069866486 523 | RectTransform: 524 | m_ObjectHideFlags: 0 525 | m_CorrespondingSourceObject: {fileID: 0} 526 | m_PrefabInstance: {fileID: 0} 527 | m_PrefabAsset: {fileID: 0} 528 | m_GameObject: {fileID: 3594659542157442018} 529 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 530 | m_LocalPosition: {x: 0, y: 0, z: 0} 531 | m_LocalScale: {x: 1, y: 1, z: 1} 532 | m_ConstrainProportionsScale: 0 533 | m_Children: 534 | - {fileID: 1502393754060502261} 535 | m_Father: {fileID: 1303024019115553793} 536 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 537 | m_AnchorMin: {x: 0, y: 0} 538 | m_AnchorMax: {x: 1, y: 1} 539 | m_AnchoredPosition: {x: 0, y: 0} 540 | m_SizeDelta: {x: 0, y: -17} 541 | m_Pivot: {x: 0, y: 1} 542 | --- !u!222 &9175028273879123897 543 | CanvasRenderer: 544 | m_ObjectHideFlags: 0 545 | m_CorrespondingSourceObject: {fileID: 0} 546 | m_PrefabInstance: {fileID: 0} 547 | m_PrefabAsset: {fileID: 0} 548 | m_GameObject: {fileID: 3594659542157442018} 549 | m_CullTransparentMesh: 0 550 | --- !u!114 &412778570017646638 551 | MonoBehaviour: 552 | m_ObjectHideFlags: 0 553 | m_CorrespondingSourceObject: {fileID: 0} 554 | m_PrefabInstance: {fileID: 0} 555 | m_PrefabAsset: {fileID: 0} 556 | m_GameObject: {fileID: 3594659542157442018} 557 | m_Enabled: 1 558 | m_EditorHideFlags: 0 559 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 560 | m_Name: 561 | m_EditorClassIdentifier: 562 | m_Material: {fileID: 0} 563 | m_Color: {r: 1, g: 1, b: 1, a: 1} 564 | m_RaycastTarget: 1 565 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 566 | m_Maskable: 1 567 | m_OnCullStateChanged: 568 | m_PersistentCalls: 569 | m_Calls: [] 570 | m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} 571 | m_Type: 1 572 | m_PreserveAspect: 0 573 | m_FillCenter: 1 574 | m_FillMethod: 4 575 | m_FillAmount: 1 576 | m_FillClockwise: 1 577 | m_FillOrigin: 0 578 | m_UseSpriteMesh: 0 579 | m_PixelsPerUnitMultiplier: 1 580 | --- !u!114 &8844484464608263651 581 | MonoBehaviour: 582 | m_ObjectHideFlags: 0 583 | m_CorrespondingSourceObject: {fileID: 0} 584 | m_PrefabInstance: {fileID: 0} 585 | m_PrefabAsset: {fileID: 0} 586 | m_GameObject: {fileID: 3594659542157442018} 587 | m_Enabled: 1 588 | m_EditorHideFlags: 0 589 | m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} 590 | m_Name: 591 | m_EditorClassIdentifier: 592 | m_ShowMaskGraphic: 0 593 | --- !u!1 &3835419959478526174 594 | GameObject: 595 | m_ObjectHideFlags: 0 596 | m_CorrespondingSourceObject: {fileID: 0} 597 | m_PrefabInstance: {fileID: 0} 598 | m_PrefabAsset: {fileID: 0} 599 | serializedVersion: 6 600 | m_Component: 601 | - component: {fileID: 7258736987990971913} 602 | - component: {fileID: 7160710080032145541} 603 | - component: {fileID: 8534192320150412008} 604 | m_Layer: 5 605 | m_Name: Message_Area 606 | m_TagString: Untagged 607 | m_Icon: {fileID: 0} 608 | m_NavMeshLayer: 0 609 | m_StaticEditorFlags: 0 610 | m_IsActive: 1 611 | --- !u!224 &7258736987990971913 612 | RectTransform: 613 | m_ObjectHideFlags: 0 614 | m_CorrespondingSourceObject: {fileID: 0} 615 | m_PrefabInstance: {fileID: 0} 616 | m_PrefabAsset: {fileID: 0} 617 | m_GameObject: {fileID: 3835419959478526174} 618 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 619 | m_LocalPosition: {x: 0, y: 0, z: 0} 620 | m_LocalScale: {x: 1, y: 1, z: 1} 621 | m_ConstrainProportionsScale: 0 622 | m_Children: 623 | - {fileID: 1303024019115553793} 624 | m_Father: {fileID: 4556370858001427440} 625 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 626 | m_AnchorMin: {x: 0, y: 0} 627 | m_AnchorMax: {x: 1, y: 1} 628 | m_AnchoredPosition: {x: 0, y: 65} 629 | m_SizeDelta: {x: 0, y: -130} 630 | m_Pivot: {x: 0.5, y: 0.5} 631 | --- !u!222 &7160710080032145541 632 | CanvasRenderer: 633 | m_ObjectHideFlags: 0 634 | m_CorrespondingSourceObject: {fileID: 0} 635 | m_PrefabInstance: {fileID: 0} 636 | m_PrefabAsset: {fileID: 0} 637 | m_GameObject: {fileID: 3835419959478526174} 638 | m_CullTransparentMesh: 1 639 | --- !u!114 &8534192320150412008 640 | MonoBehaviour: 641 | m_ObjectHideFlags: 0 642 | m_CorrespondingSourceObject: {fileID: 0} 643 | m_PrefabInstance: {fileID: 0} 644 | m_PrefabAsset: {fileID: 0} 645 | m_GameObject: {fileID: 3835419959478526174} 646 | m_Enabled: 1 647 | m_EditorHideFlags: 0 648 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 649 | m_Name: 650 | m_EditorClassIdentifier: 651 | m_Material: {fileID: 0} 652 | m_Color: {r: 0.16078432, g: 0.16470589, b: 0.1764706, a: 1} 653 | m_RaycastTarget: 1 654 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 655 | m_Maskable: 1 656 | m_OnCullStateChanged: 657 | m_PersistentCalls: 658 | m_Calls: [] 659 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 660 | m_Type: 1 661 | m_PreserveAspect: 0 662 | m_FillCenter: 1 663 | m_FillMethod: 4 664 | m_FillAmount: 1 665 | m_FillClockwise: 1 666 | m_FillOrigin: 0 667 | m_UseSpriteMesh: 0 668 | m_PixelsPerUnitMultiplier: 1 669 | --- !u!1 &4779014908560798109 670 | GameObject: 671 | m_ObjectHideFlags: 0 672 | m_CorrespondingSourceObject: {fileID: 0} 673 | m_PrefabInstance: {fileID: 0} 674 | m_PrefabAsset: {fileID: 0} 675 | serializedVersion: 6 676 | m_Component: 677 | - component: {fileID: 3356755070720512755} 678 | - component: {fileID: 7282183532900914546} 679 | - component: {fileID: 3018041735365586226} 680 | m_Layer: 5 681 | m_Name: Arrow_Image 682 | m_TagString: Untagged 683 | m_Icon: {fileID: 0} 684 | m_NavMeshLayer: 0 685 | m_StaticEditorFlags: 0 686 | m_IsActive: 1 687 | --- !u!224 &3356755070720512755 688 | RectTransform: 689 | m_ObjectHideFlags: 0 690 | m_CorrespondingSourceObject: {fileID: 0} 691 | m_PrefabInstance: {fileID: 0} 692 | m_PrefabAsset: {fileID: 0} 693 | m_GameObject: {fileID: 4779014908560798109} 694 | m_LocalRotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068} 695 | m_LocalPosition: {x: 0, y: 0, z: 0} 696 | m_LocalScale: {x: 1, y: 1, z: 1} 697 | m_ConstrainProportionsScale: 0 698 | m_Children: [] 699 | m_Father: {fileID: 1761427816882710634} 700 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: -90} 701 | m_AnchorMin: {x: 0, y: 0} 702 | m_AnchorMax: {x: 1, y: 1} 703 | m_AnchoredPosition: {x: 0, y: 0} 704 | m_SizeDelta: {x: -10, y: -10} 705 | m_Pivot: {x: 0.5, y: 0.5} 706 | --- !u!222 &7282183532900914546 707 | CanvasRenderer: 708 | m_ObjectHideFlags: 0 709 | m_CorrespondingSourceObject: {fileID: 0} 710 | m_PrefabInstance: {fileID: 0} 711 | m_PrefabAsset: {fileID: 0} 712 | m_GameObject: {fileID: 4779014908560798109} 713 | m_CullTransparentMesh: 1 714 | --- !u!114 &3018041735365586226 715 | MonoBehaviour: 716 | m_ObjectHideFlags: 0 717 | m_CorrespondingSourceObject: {fileID: 0} 718 | m_PrefabInstance: {fileID: 0} 719 | m_PrefabAsset: {fileID: 0} 720 | m_GameObject: {fileID: 4779014908560798109} 721 | m_Enabled: 1 722 | m_EditorHideFlags: 0 723 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 724 | m_Name: 725 | m_EditorClassIdentifier: 726 | m_Material: {fileID: 0} 727 | m_Color: {r: 1, g: 1, b: 1, a: 1} 728 | m_RaycastTarget: 1 729 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 730 | m_Maskable: 1 731 | m_OnCullStateChanged: 732 | m_PersistentCalls: 733 | m_Calls: [] 734 | m_Sprite: {fileID: 21300000, guid: 9978d451053207b46b7cc4ad232486ac, type: 3} 735 | m_Type: 0 736 | m_PreserveAspect: 1 737 | m_FillCenter: 1 738 | m_FillMethod: 4 739 | m_FillAmount: 1 740 | m_FillClockwise: 1 741 | m_FillOrigin: 0 742 | m_UseSpriteMesh: 0 743 | m_PixelsPerUnitMultiplier: 1 744 | --- !u!1 &5395570926326545313 745 | GameObject: 746 | m_ObjectHideFlags: 0 747 | m_CorrespondingSourceObject: {fileID: 0} 748 | m_PrefabInstance: {fileID: 0} 749 | m_PrefabAsset: {fileID: 0} 750 | serializedVersion: 6 751 | m_Component: 752 | - component: {fileID: 341393334441187929} 753 | - component: {fileID: 142295774873594285} 754 | - component: {fileID: 4090607922780522536} 755 | m_Layer: 5 756 | m_Name: Text 757 | m_TagString: Untagged 758 | m_Icon: {fileID: 0} 759 | m_NavMeshLayer: 0 760 | m_StaticEditorFlags: 0 761 | m_IsActive: 1 762 | --- !u!224 &341393334441187929 763 | RectTransform: 764 | m_ObjectHideFlags: 0 765 | m_CorrespondingSourceObject: {fileID: 0} 766 | m_PrefabInstance: {fileID: 0} 767 | m_PrefabAsset: {fileID: 0} 768 | m_GameObject: {fileID: 5395570926326545313} 769 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 770 | m_LocalPosition: {x: 0, y: 0, z: 0} 771 | m_LocalScale: {x: 1, y: 1, z: 1} 772 | m_ConstrainProportionsScale: 0 773 | m_Children: [] 774 | m_Father: {fileID: 5825262888990147639} 775 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 776 | m_AnchorMin: {x: 0, y: 0} 777 | m_AnchorMax: {x: 1, y: 1} 778 | m_AnchoredPosition: {x: 0, y: 0} 779 | m_SizeDelta: {x: 0, y: 0} 780 | m_Pivot: {x: 0.5, y: 0.5} 781 | --- !u!222 &142295774873594285 782 | CanvasRenderer: 783 | m_ObjectHideFlags: 0 784 | m_CorrespondingSourceObject: {fileID: 0} 785 | m_PrefabInstance: {fileID: 0} 786 | m_PrefabAsset: {fileID: 0} 787 | m_GameObject: {fileID: 5395570926326545313} 788 | m_CullTransparentMesh: 1 789 | --- !u!114 &4090607922780522536 790 | MonoBehaviour: 791 | m_ObjectHideFlags: 0 792 | m_CorrespondingSourceObject: {fileID: 0} 793 | m_PrefabInstance: {fileID: 0} 794 | m_PrefabAsset: {fileID: 0} 795 | m_GameObject: {fileID: 5395570926326545313} 796 | m_Enabled: 1 797 | m_EditorHideFlags: 0 798 | m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} 799 | m_Name: 800 | m_EditorClassIdentifier: 801 | m_Material: {fileID: 0} 802 | m_Color: {r: 1, g: 1, b: 1, a: 1} 803 | m_RaycastTarget: 1 804 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 805 | m_Maskable: 1 806 | m_OnCullStateChanged: 807 | m_PersistentCalls: 808 | m_Calls: [] 809 | m_text: "\u200B" 810 | m_isRightToLeft: 0 811 | m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} 812 | m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} 813 | m_fontSharedMaterials: [] 814 | m_fontMaterial: {fileID: 0} 815 | m_fontMaterials: [] 816 | m_fontColor32: 817 | serializedVersion: 2 818 | rgba: 4294967295 819 | m_fontColor: {r: 1, g: 1, b: 1, a: 1} 820 | m_enableVertexGradient: 0 821 | m_colorMode: 3 822 | m_fontColorGradient: 823 | topLeft: {r: 1, g: 1, b: 1, a: 1} 824 | topRight: {r: 1, g: 1, b: 1, a: 1} 825 | bottomLeft: {r: 1, g: 1, b: 1, a: 1} 826 | bottomRight: {r: 1, g: 1, b: 1, a: 1} 827 | m_fontColorGradientPreset: {fileID: 0} 828 | m_spriteAsset: {fileID: 0} 829 | m_tintAllSprites: 0 830 | m_StyleSheet: {fileID: 0} 831 | m_TextStyleHashCode: -1183493901 832 | m_overrideHtmlColors: 0 833 | m_faceColor: 834 | serializedVersion: 2 835 | rgba: 4294967295 836 | m_fontSize: 20 837 | m_fontSizeBase: 20 838 | m_fontWeight: 400 839 | m_enableAutoSizing: 0 840 | m_fontSizeMin: 0 841 | m_fontSizeMax: 0 842 | m_fontStyle: 0 843 | m_HorizontalAlignment: 1 844 | m_VerticalAlignment: 256 845 | m_textAlignment: 65535 846 | m_characterSpacing: 0 847 | m_wordSpacing: 0 848 | m_lineSpacing: 0 849 | m_lineSpacingMax: 0 850 | m_paragraphSpacing: 0 851 | m_charWidthMaxAdj: 0 852 | m_TextWrappingMode: 3 853 | m_wordWrappingRatios: 0.4 854 | m_overflowMode: 0 855 | m_linkedTextComponent: {fileID: 0} 856 | parentLinkedComponent: {fileID: 0} 857 | m_enableKerning: 0 858 | m_ActiveFontFeatures: 859 | m_enableExtraPadding: 1 860 | checkPaddingRequired: 0 861 | m_isRichText: 1 862 | m_EmojiFallbackSupport: 1 863 | m_parseCtrlCharacters: 1 864 | m_isOrthographic: 1 865 | m_isCullingEnabled: 0 866 | m_horizontalMapping: 0 867 | m_verticalMapping: 0 868 | m_uvLineOffset: 0 869 | m_geometrySortingOrder: 0 870 | m_IsTextObjectScaleStatic: 0 871 | m_VertexBufferAutoSizeReduction: 0 872 | m_useMaxVisibleDescender: 1 873 | m_pageToDisplay: 1 874 | m_margin: {x: 0, y: 0, z: 0, w: 0} 875 | m_isUsingLegacyAnimationComponent: 0 876 | m_isVolumetricText: 0 877 | m_hasFontAssetChanged: 0 878 | m_baseMaterial: {fileID: 0} 879 | m_maskOffset: {x: 0, y: 0, z: 0, w: 0} 880 | --- !u!1 &6144424975919617714 881 | GameObject: 882 | m_ObjectHideFlags: 0 883 | m_CorrespondingSourceObject: {fileID: 0} 884 | m_PrefabInstance: {fileID: 0} 885 | m_PrefabAsset: {fileID: 0} 886 | serializedVersion: 6 887 | m_Component: 888 | - component: {fileID: 1761427816882710634} 889 | - component: {fileID: 2629460155416454575} 890 | - component: {fileID: 7244437229115836357} 891 | - component: {fileID: 4531813284403150597} 892 | m_Layer: 5 893 | m_Name: Send_Button 894 | m_TagString: Untagged 895 | m_Icon: {fileID: 0} 896 | m_NavMeshLayer: 0 897 | m_StaticEditorFlags: 0 898 | m_IsActive: 1 899 | --- !u!224 &1761427816882710634 900 | RectTransform: 901 | m_ObjectHideFlags: 0 902 | m_CorrespondingSourceObject: {fileID: 0} 903 | m_PrefabInstance: {fileID: 0} 904 | m_PrefabAsset: {fileID: 0} 905 | m_GameObject: {fileID: 6144424975919617714} 906 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 907 | m_LocalPosition: {x: 0, y: 0, z: 0} 908 | m_LocalScale: {x: 1, y: 1, z: 1} 909 | m_ConstrainProportionsScale: 0 910 | m_Children: 911 | - {fileID: 3356755070720512755} 912 | m_Father: {fileID: 7394132493397375632} 913 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 914 | m_AnchorMin: {x: 1, y: 0} 915 | m_AnchorMax: {x: 1, y: 0} 916 | m_AnchoredPosition: {x: -10, y: 10} 917 | m_SizeDelta: {x: 30, y: 30} 918 | m_Pivot: {x: 1, y: 0} 919 | --- !u!222 &2629460155416454575 920 | CanvasRenderer: 921 | m_ObjectHideFlags: 0 922 | m_CorrespondingSourceObject: {fileID: 0} 923 | m_PrefabInstance: {fileID: 0} 924 | m_PrefabAsset: {fileID: 0} 925 | m_GameObject: {fileID: 6144424975919617714} 926 | m_CullTransparentMesh: 1 927 | --- !u!114 &7244437229115836357 928 | MonoBehaviour: 929 | m_ObjectHideFlags: 0 930 | m_CorrespondingSourceObject: {fileID: 0} 931 | m_PrefabInstance: {fileID: 0} 932 | m_PrefabAsset: {fileID: 0} 933 | m_GameObject: {fileID: 6144424975919617714} 934 | m_Enabled: 1 935 | m_EditorHideFlags: 0 936 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 937 | m_Name: 938 | m_EditorClassIdentifier: 939 | m_Material: {fileID: 0} 940 | m_Color: {r: 0.3019608, g: 0.41960788, b: 0.9960785, a: 1} 941 | m_RaycastTarget: 1 942 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 943 | m_Maskable: 1 944 | m_OnCullStateChanged: 945 | m_PersistentCalls: 946 | m_Calls: [] 947 | m_Sprite: {fileID: 21300000, guid: a881bce04d2414a42b6686a0db23877a, type: 3} 948 | m_Type: 1 949 | m_PreserveAspect: 0 950 | m_FillCenter: 1 951 | m_FillMethod: 4 952 | m_FillAmount: 1 953 | m_FillClockwise: 1 954 | m_FillOrigin: 0 955 | m_UseSpriteMesh: 0 956 | m_PixelsPerUnitMultiplier: 1 957 | --- !u!114 &4531813284403150597 958 | MonoBehaviour: 959 | m_ObjectHideFlags: 0 960 | m_CorrespondingSourceObject: {fileID: 0} 961 | m_PrefabInstance: {fileID: 0} 962 | m_PrefabAsset: {fileID: 0} 963 | m_GameObject: {fileID: 6144424975919617714} 964 | m_Enabled: 1 965 | m_EditorHideFlags: 0 966 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} 967 | m_Name: 968 | m_EditorClassIdentifier: 969 | m_Navigation: 970 | m_Mode: 3 971 | m_WrapAround: 0 972 | m_SelectOnUp: {fileID: 0} 973 | m_SelectOnDown: {fileID: 0} 974 | m_SelectOnLeft: {fileID: 0} 975 | m_SelectOnRight: {fileID: 0} 976 | m_Transition: 1 977 | m_Colors: 978 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 979 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 980 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 981 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 982 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 983 | m_ColorMultiplier: 1 984 | m_FadeDuration: 0.1 985 | m_SpriteState: 986 | m_HighlightedSprite: {fileID: 0} 987 | m_PressedSprite: {fileID: 0} 988 | m_SelectedSprite: {fileID: 0} 989 | m_DisabledSprite: {fileID: 0} 990 | m_AnimationTriggers: 991 | m_NormalTrigger: Normal 992 | m_HighlightedTrigger: Highlighted 993 | m_PressedTrigger: Pressed 994 | m_SelectedTrigger: Selected 995 | m_DisabledTrigger: Disabled 996 | m_Interactable: 1 997 | m_TargetGraphic: {fileID: 7244437229115836357} 998 | m_OnClick: 999 | m_PersistentCalls: 1000 | m_Calls: [] 1001 | --- !u!1 &6966950125372908995 1002 | GameObject: 1003 | m_ObjectHideFlags: 0 1004 | m_CorrespondingSourceObject: {fileID: 0} 1005 | m_PrefabInstance: {fileID: 0} 1006 | m_PrefabAsset: {fileID: 0} 1007 | serializedVersion: 6 1008 | m_Component: 1009 | - component: {fileID: 2114268430080019709} 1010 | m_Layer: 5 1011 | m_Name: Sliding Area 1012 | m_TagString: Untagged 1013 | m_Icon: {fileID: 0} 1014 | m_NavMeshLayer: 0 1015 | m_StaticEditorFlags: 0 1016 | m_IsActive: 1 1017 | --- !u!224 &2114268430080019709 1018 | RectTransform: 1019 | m_ObjectHideFlags: 0 1020 | m_CorrespondingSourceObject: {fileID: 0} 1021 | m_PrefabInstance: {fileID: 0} 1022 | m_PrefabAsset: {fileID: 0} 1023 | m_GameObject: {fileID: 6966950125372908995} 1024 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1025 | m_LocalPosition: {x: 0, y: 0, z: 0} 1026 | m_LocalScale: {x: 1, y: 1, z: 1} 1027 | m_ConstrainProportionsScale: 0 1028 | m_Children: 1029 | - {fileID: 1413194315363746772} 1030 | m_Father: {fileID: 4703238208267177718} 1031 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1032 | m_AnchorMin: {x: 0, y: 0} 1033 | m_AnchorMax: {x: 1, y: 1} 1034 | m_AnchoredPosition: {x: 0, y: 0} 1035 | m_SizeDelta: {x: -20, y: -20} 1036 | m_Pivot: {x: 0.5, y: 0.5} 1037 | --- !u!1 &7724437618563577565 1038 | GameObject: 1039 | m_ObjectHideFlags: 0 1040 | m_CorrespondingSourceObject: {fileID: 0} 1041 | m_PrefabInstance: {fileID: 0} 1042 | m_PrefabAsset: {fileID: 0} 1043 | serializedVersion: 6 1044 | m_Component: 1045 | - component: {fileID: 1303024019115553793} 1046 | - component: {fileID: 8024212998949940125} 1047 | - component: {fileID: 7241035782882520092} 1048 | - component: {fileID: 4479529847878328242} 1049 | m_Layer: 5 1050 | m_Name: Scroll View 1051 | m_TagString: Untagged 1052 | m_Icon: {fileID: 0} 1053 | m_NavMeshLayer: 0 1054 | m_StaticEditorFlags: 0 1055 | m_IsActive: 1 1056 | --- !u!224 &1303024019115553793 1057 | RectTransform: 1058 | m_ObjectHideFlags: 0 1059 | m_CorrespondingSourceObject: {fileID: 0} 1060 | m_PrefabInstance: {fileID: 0} 1061 | m_PrefabAsset: {fileID: 0} 1062 | m_GameObject: {fileID: 7724437618563577565} 1063 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1064 | m_LocalPosition: {x: 0, y: 0, z: 0} 1065 | m_LocalScale: {x: 1, y: 1, z: 1} 1066 | m_ConstrainProportionsScale: 0 1067 | m_Children: 1068 | - {fileID: 531949392069866486} 1069 | - {fileID: 4703238208267177718} 1070 | m_Father: {fileID: 7258736987990971913} 1071 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1072 | m_AnchorMin: {x: 0, y: 0} 1073 | m_AnchorMax: {x: 1, y: 1} 1074 | m_AnchoredPosition: {x: 0, y: 0} 1075 | m_SizeDelta: {x: 0, y: 0} 1076 | m_Pivot: {x: 0.5, y: 0.5} 1077 | --- !u!222 &8024212998949940125 1078 | CanvasRenderer: 1079 | m_ObjectHideFlags: 0 1080 | m_CorrespondingSourceObject: {fileID: 0} 1081 | m_PrefabInstance: {fileID: 0} 1082 | m_PrefabAsset: {fileID: 0} 1083 | m_GameObject: {fileID: 7724437618563577565} 1084 | m_CullTransparentMesh: 0 1085 | --- !u!114 &7241035782882520092 1086 | MonoBehaviour: 1087 | m_ObjectHideFlags: 0 1088 | m_CorrespondingSourceObject: {fileID: 0} 1089 | m_PrefabInstance: {fileID: 0} 1090 | m_PrefabAsset: {fileID: 0} 1091 | m_GameObject: {fileID: 7724437618563577565} 1092 | m_Enabled: 0 1093 | m_EditorHideFlags: 0 1094 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 1095 | m_Name: 1096 | m_EditorClassIdentifier: 1097 | m_Material: {fileID: 0} 1098 | m_Color: {r: 1, g: 1, b: 1, a: 0.392} 1099 | m_RaycastTarget: 1 1100 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1101 | m_Maskable: 1 1102 | m_OnCullStateChanged: 1103 | m_PersistentCalls: 1104 | m_Calls: [] 1105 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} 1106 | m_Type: 1 1107 | m_PreserveAspect: 0 1108 | m_FillCenter: 1 1109 | m_FillMethod: 4 1110 | m_FillAmount: 1 1111 | m_FillClockwise: 1 1112 | m_FillOrigin: 0 1113 | m_UseSpriteMesh: 0 1114 | m_PixelsPerUnitMultiplier: 1 1115 | --- !u!114 &4479529847878328242 1116 | MonoBehaviour: 1117 | m_ObjectHideFlags: 0 1118 | m_CorrespondingSourceObject: {fileID: 0} 1119 | m_PrefabInstance: {fileID: 0} 1120 | m_PrefabAsset: {fileID: 0} 1121 | m_GameObject: {fileID: 7724437618563577565} 1122 | m_Enabled: 1 1123 | m_EditorHideFlags: 0 1124 | m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} 1125 | m_Name: 1126 | m_EditorClassIdentifier: 1127 | m_Content: {fileID: 1502393754060502261} 1128 | m_Horizontal: 0 1129 | m_Vertical: 1 1130 | m_MovementType: 1 1131 | m_Elasticity: 0.1 1132 | m_Inertia: 1 1133 | m_DecelerationRate: 0.135 1134 | m_ScrollSensitivity: 1 1135 | m_Viewport: {fileID: 531949392069866486} 1136 | m_HorizontalScrollbar: {fileID: 0} 1137 | m_VerticalScrollbar: {fileID: 8454059284046321374} 1138 | m_HorizontalScrollbarVisibility: 2 1139 | m_VerticalScrollbarVisibility: 1 1140 | m_HorizontalScrollbarSpacing: -3 1141 | m_VerticalScrollbarSpacing: -3 1142 | m_OnValueChanged: 1143 | m_PersistentCalls: 1144 | m_Calls: [] 1145 | --- !u!1 &7893108784699272086 1146 | GameObject: 1147 | m_ObjectHideFlags: 0 1148 | m_CorrespondingSourceObject: {fileID: 0} 1149 | m_PrefabInstance: {fileID: 0} 1150 | m_PrefabAsset: {fileID: 0} 1151 | serializedVersion: 6 1152 | m_Component: 1153 | - component: {fileID: 7394132493397375632} 1154 | - component: {fileID: 1229629385549878150} 1155 | - component: {fileID: 4964586453915936805} 1156 | m_Layer: 5 1157 | m_Name: Input_Area 1158 | m_TagString: Untagged 1159 | m_Icon: {fileID: 0} 1160 | m_NavMeshLayer: 0 1161 | m_StaticEditorFlags: 0 1162 | m_IsActive: 1 1163 | --- !u!224 &7394132493397375632 1164 | RectTransform: 1165 | m_ObjectHideFlags: 0 1166 | m_CorrespondingSourceObject: {fileID: 0} 1167 | m_PrefabInstance: {fileID: 0} 1168 | m_PrefabAsset: {fileID: 0} 1169 | m_GameObject: {fileID: 7893108784699272086} 1170 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1171 | m_LocalPosition: {x: 0, y: 0, z: 0} 1172 | m_LocalScale: {x: 1, y: 1, z: 1} 1173 | m_ConstrainProportionsScale: 1 1174 | m_Children: 1175 | - {fileID: 1595344432700980910} 1176 | - {fileID: 1761427816882710634} 1177 | m_Father: {fileID: 4556370858001427440} 1178 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1179 | m_AnchorMin: {x: 0, y: 0} 1180 | m_AnchorMax: {x: 1, y: 0} 1181 | m_AnchoredPosition: {x: 0, y: 0} 1182 | m_SizeDelta: {x: -1000, y: 100} 1183 | m_Pivot: {x: 0.5, y: 0} 1184 | --- !u!222 &1229629385549878150 1185 | CanvasRenderer: 1186 | m_ObjectHideFlags: 0 1187 | m_CorrespondingSourceObject: {fileID: 0} 1188 | m_PrefabInstance: {fileID: 0} 1189 | m_PrefabAsset: {fileID: 0} 1190 | m_GameObject: {fileID: 7893108784699272086} 1191 | m_CullTransparentMesh: 1 1192 | --- !u!114 &4964586453915936805 1193 | MonoBehaviour: 1194 | m_ObjectHideFlags: 0 1195 | m_CorrespondingSourceObject: {fileID: 0} 1196 | m_PrefabInstance: {fileID: 0} 1197 | m_PrefabAsset: {fileID: 0} 1198 | m_GameObject: {fileID: 7893108784699272086} 1199 | m_Enabled: 1 1200 | m_EditorHideFlags: 0 1201 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 1202 | m_Name: 1203 | m_EditorClassIdentifier: 1204 | m_Material: {fileID: 0} 1205 | m_Color: {r: 0.2509804, g: 0.2509804, b: 0.27058825, a: 1} 1206 | m_RaycastTarget: 1 1207 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1208 | m_Maskable: 1 1209 | m_OnCullStateChanged: 1210 | m_PersistentCalls: 1211 | m_Calls: [] 1212 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 1213 | m_Type: 1 1214 | m_PreserveAspect: 0 1215 | m_FillCenter: 1 1216 | m_FillMethod: 4 1217 | m_FillAmount: 1 1218 | m_FillClockwise: 1 1219 | m_FillOrigin: 0 1220 | m_UseSpriteMesh: 0 1221 | m_PixelsPerUnitMultiplier: 1 1222 | --- !u!1 &8227042221119171060 1223 | GameObject: 1224 | m_ObjectHideFlags: 0 1225 | m_CorrespondingSourceObject: {fileID: 0} 1226 | m_PrefabInstance: {fileID: 0} 1227 | m_PrefabAsset: {fileID: 0} 1228 | serializedVersion: 6 1229 | m_Component: 1230 | - component: {fileID: 1413194315363746772} 1231 | - component: {fileID: 2160917531523741705} 1232 | - component: {fileID: 5326995328593409485} 1233 | m_Layer: 5 1234 | m_Name: Handle 1235 | m_TagString: Untagged 1236 | m_Icon: {fileID: 0} 1237 | m_NavMeshLayer: 0 1238 | m_StaticEditorFlags: 0 1239 | m_IsActive: 1 1240 | --- !u!224 &1413194315363746772 1241 | RectTransform: 1242 | m_ObjectHideFlags: 0 1243 | m_CorrespondingSourceObject: {fileID: 0} 1244 | m_PrefabInstance: {fileID: 0} 1245 | m_PrefabAsset: {fileID: 0} 1246 | m_GameObject: {fileID: 8227042221119171060} 1247 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1248 | m_LocalPosition: {x: 0, y: 0, z: 0} 1249 | m_LocalScale: {x: 1, y: 1, z: 1} 1250 | m_ConstrainProportionsScale: 0 1251 | m_Children: [] 1252 | m_Father: {fileID: 2114268430080019709} 1253 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1254 | m_AnchorMin: {x: 0, y: 0} 1255 | m_AnchorMax: {x: 0, y: 0} 1256 | m_AnchoredPosition: {x: 0, y: 0} 1257 | m_SizeDelta: {x: 20, y: 20} 1258 | m_Pivot: {x: 0.5, y: 0.5} 1259 | --- !u!222 &2160917531523741705 1260 | CanvasRenderer: 1261 | m_ObjectHideFlags: 0 1262 | m_CorrespondingSourceObject: {fileID: 0} 1263 | m_PrefabInstance: {fileID: 0} 1264 | m_PrefabAsset: {fileID: 0} 1265 | m_GameObject: {fileID: 8227042221119171060} 1266 | m_CullTransparentMesh: 0 1267 | --- !u!114 &5326995328593409485 1268 | MonoBehaviour: 1269 | m_ObjectHideFlags: 0 1270 | m_CorrespondingSourceObject: {fileID: 0} 1271 | m_PrefabInstance: {fileID: 0} 1272 | m_PrefabAsset: {fileID: 0} 1273 | m_GameObject: {fileID: 8227042221119171060} 1274 | m_Enabled: 0 1275 | m_EditorHideFlags: 0 1276 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 1277 | m_Name: 1278 | m_EditorClassIdentifier: 1279 | m_Material: {fileID: 0} 1280 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1281 | m_RaycastTarget: 1 1282 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1283 | m_Maskable: 1 1284 | m_OnCullStateChanged: 1285 | m_PersistentCalls: 1286 | m_Calls: [] 1287 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 1288 | m_Type: 1 1289 | m_PreserveAspect: 0 1290 | m_FillCenter: 1 1291 | m_FillMethod: 4 1292 | m_FillAmount: 1 1293 | m_FillClockwise: 1 1294 | m_FillOrigin: 0 1295 | m_UseSpriteMesh: 0 1296 | m_PixelsPerUnitMultiplier: 1 1297 | --- !u!1 &8276309310931766731 1298 | GameObject: 1299 | m_ObjectHideFlags: 0 1300 | m_CorrespondingSourceObject: {fileID: 0} 1301 | m_PrefabInstance: {fileID: 0} 1302 | m_PrefabAsset: {fileID: 0} 1303 | serializedVersion: 6 1304 | m_Component: 1305 | - component: {fileID: 739944008488512450} 1306 | - component: {fileID: 7749023850792873549} 1307 | - component: {fileID: 8257419513082947110} 1308 | m_Layer: 5 1309 | m_Name: DeepSeekTitle_Text (TMP) 1310 | m_TagString: Untagged 1311 | m_Icon: {fileID: 0} 1312 | m_NavMeshLayer: 0 1313 | m_StaticEditorFlags: 0 1314 | m_IsActive: 1 1315 | --- !u!224 &739944008488512450 1316 | RectTransform: 1317 | m_ObjectHideFlags: 0 1318 | m_CorrespondingSourceObject: {fileID: 0} 1319 | m_PrefabInstance: {fileID: 0} 1320 | m_PrefabAsset: {fileID: 0} 1321 | m_GameObject: {fileID: 8276309310931766731} 1322 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1323 | m_LocalPosition: {x: 0, y: 0, z: 0} 1324 | m_LocalScale: {x: 1, y: 1, z: 1} 1325 | m_ConstrainProportionsScale: 0 1326 | m_Children: [] 1327 | m_Father: {fileID: 5706210037766666124} 1328 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1329 | m_AnchorMin: {x: 0.5, y: 1} 1330 | m_AnchorMax: {x: 0.5, y: 1} 1331 | m_AnchoredPosition: {x: -0.000022888184, y: -80} 1332 | m_SizeDelta: {x: 600, y: 50} 1333 | m_Pivot: {x: 0.5, y: 1} 1334 | --- !u!222 &7749023850792873549 1335 | CanvasRenderer: 1336 | m_ObjectHideFlags: 0 1337 | m_CorrespondingSourceObject: {fileID: 0} 1338 | m_PrefabInstance: {fileID: 0} 1339 | m_PrefabAsset: {fileID: 0} 1340 | m_GameObject: {fileID: 8276309310931766731} 1341 | m_CullTransparentMesh: 1 1342 | --- !u!114 &8257419513082947110 1343 | MonoBehaviour: 1344 | m_ObjectHideFlags: 0 1345 | m_CorrespondingSourceObject: {fileID: 0} 1346 | m_PrefabInstance: {fileID: 0} 1347 | m_PrefabAsset: {fileID: 0} 1348 | m_GameObject: {fileID: 8276309310931766731} 1349 | m_Enabled: 1 1350 | m_EditorHideFlags: 0 1351 | m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} 1352 | m_Name: 1353 | m_EditorClassIdentifier: 1354 | m_Material: {fileID: 0} 1355 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1356 | m_RaycastTarget: 1 1357 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1358 | m_Maskable: 1 1359 | m_OnCullStateChanged: 1360 | m_PersistentCalls: 1361 | m_Calls: [] 1362 | m_text: DeepSeek Unity Integration 1363 | m_isRightToLeft: 0 1364 | m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} 1365 | m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} 1366 | m_fontSharedMaterials: [] 1367 | m_fontMaterial: {fileID: 0} 1368 | m_fontMaterials: [] 1369 | m_fontColor32: 1370 | serializedVersion: 2 1371 | rgba: 4294967295 1372 | m_fontColor: {r: 1, g: 1, b: 1, a: 1} 1373 | m_enableVertexGradient: 0 1374 | m_colorMode: 3 1375 | m_fontColorGradient: 1376 | topLeft: {r: 1, g: 1, b: 1, a: 1} 1377 | topRight: {r: 1, g: 1, b: 1, a: 1} 1378 | bottomLeft: {r: 1, g: 1, b: 1, a: 1} 1379 | bottomRight: {r: 1, g: 1, b: 1, a: 1} 1380 | m_fontColorGradientPreset: {fileID: 0} 1381 | m_spriteAsset: {fileID: 0} 1382 | m_tintAllSprites: 0 1383 | m_StyleSheet: {fileID: 0} 1384 | m_TextStyleHashCode: -1183493901 1385 | m_overrideHtmlColors: 0 1386 | m_faceColor: 1387 | serializedVersion: 2 1388 | rgba: 4294967295 1389 | m_fontSize: 36 1390 | m_fontSizeBase: 36 1391 | m_fontWeight: 400 1392 | m_enableAutoSizing: 0 1393 | m_fontSizeMin: 18 1394 | m_fontSizeMax: 72 1395 | m_fontStyle: 1 1396 | m_HorizontalAlignment: 2 1397 | m_VerticalAlignment: 512 1398 | m_textAlignment: 65535 1399 | m_characterSpacing: -5 1400 | m_wordSpacing: 0 1401 | m_lineSpacing: 0 1402 | m_lineSpacingMax: 0 1403 | m_paragraphSpacing: 0 1404 | m_charWidthMaxAdj: 0 1405 | m_TextWrappingMode: 1 1406 | m_wordWrappingRatios: 0.4 1407 | m_overflowMode: 0 1408 | m_linkedTextComponent: {fileID: 0} 1409 | parentLinkedComponent: {fileID: 0} 1410 | m_enableKerning: 0 1411 | m_ActiveFontFeatures: 6e72656b 1412 | m_enableExtraPadding: 0 1413 | checkPaddingRequired: 0 1414 | m_isRichText: 1 1415 | m_EmojiFallbackSupport: 1 1416 | m_parseCtrlCharacters: 1 1417 | m_isOrthographic: 1 1418 | m_isCullingEnabled: 0 1419 | m_horizontalMapping: 0 1420 | m_verticalMapping: 0 1421 | m_uvLineOffset: 0 1422 | m_geometrySortingOrder: 0 1423 | m_IsTextObjectScaleStatic: 0 1424 | m_VertexBufferAutoSizeReduction: 0 1425 | m_useMaxVisibleDescender: 1 1426 | m_pageToDisplay: 1 1427 | m_margin: {x: 0, y: 0, z: 0, w: 0} 1428 | m_isUsingLegacyAnimationComponent: 0 1429 | m_isVolumetricText: 0 1430 | m_hasFontAssetChanged: 0 1431 | m_baseMaterial: {fileID: 0} 1432 | m_maskOffset: {x: 0, y: 0, z: 0, w: 0} 1433 | --- !u!1 &8559510163325474406 1434 | GameObject: 1435 | m_ObjectHideFlags: 0 1436 | m_CorrespondingSourceObject: {fileID: 0} 1437 | m_PrefabInstance: {fileID: 0} 1438 | m_PrefabAsset: {fileID: 0} 1439 | serializedVersion: 6 1440 | m_Component: 1441 | - component: {fileID: 5260928468754106139} 1442 | - component: {fileID: 2722823417990804673} 1443 | - component: {fileID: 3044264728003825703} 1444 | - component: {fileID: 8973274560791398406} 1445 | m_Layer: 5 1446 | m_Name: DeepSeek_Canvas 1447 | m_TagString: Untagged 1448 | m_Icon: {fileID: 0} 1449 | m_NavMeshLayer: 0 1450 | m_StaticEditorFlags: 0 1451 | m_IsActive: 1 1452 | --- !u!224 &5260928468754106139 1453 | RectTransform: 1454 | m_ObjectHideFlags: 0 1455 | m_CorrespondingSourceObject: {fileID: 0} 1456 | m_PrefabInstance: {fileID: 0} 1457 | m_PrefabAsset: {fileID: 0} 1458 | m_GameObject: {fileID: 8559510163325474406} 1459 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1460 | m_LocalPosition: {x: 0, y: 0, z: 0} 1461 | m_LocalScale: {x: 0, y: 0, z: 0} 1462 | m_ConstrainProportionsScale: 0 1463 | m_Children: 1464 | - {fileID: 8246497348133474965} 1465 | - {fileID: 5706210037766666124} 1466 | - {fileID: 4556370858001427440} 1467 | m_Father: {fileID: 0} 1468 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1469 | m_AnchorMin: {x: 0, y: 0} 1470 | m_AnchorMax: {x: 0, y: 0} 1471 | m_AnchoredPosition: {x: 0, y: 0} 1472 | m_SizeDelta: {x: 0, y: 0} 1473 | m_Pivot: {x: 0, y: 0} 1474 | --- !u!223 &2722823417990804673 1475 | Canvas: 1476 | m_ObjectHideFlags: 0 1477 | m_CorrespondingSourceObject: {fileID: 0} 1478 | m_PrefabInstance: {fileID: 0} 1479 | m_PrefabAsset: {fileID: 0} 1480 | m_GameObject: {fileID: 8559510163325474406} 1481 | m_Enabled: 1 1482 | serializedVersion: 3 1483 | m_RenderMode: 0 1484 | m_Camera: {fileID: 0} 1485 | m_PlaneDistance: 100 1486 | m_PixelPerfect: 0 1487 | m_ReceivesEvents: 1 1488 | m_OverrideSorting: 0 1489 | m_OverridePixelPerfect: 0 1490 | m_SortingBucketNormalizedSize: 0 1491 | m_VertexColorAlwaysGammaSpace: 0 1492 | m_AdditionalShaderChannelsFlag: 25 1493 | m_UpdateRectTransformForStandalone: 0 1494 | m_SortingLayerID: 0 1495 | m_SortingOrder: 0 1496 | m_TargetDisplay: 0 1497 | --- !u!114 &3044264728003825703 1498 | MonoBehaviour: 1499 | m_ObjectHideFlags: 0 1500 | m_CorrespondingSourceObject: {fileID: 0} 1501 | m_PrefabInstance: {fileID: 0} 1502 | m_PrefabAsset: {fileID: 0} 1503 | m_GameObject: {fileID: 8559510163325474406} 1504 | m_Enabled: 1 1505 | m_EditorHideFlags: 0 1506 | m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} 1507 | m_Name: 1508 | m_EditorClassIdentifier: 1509 | m_UiScaleMode: 1 1510 | m_ReferencePixelsPerUnit: 100 1511 | m_ScaleFactor: 1 1512 | m_ReferenceResolution: {x: 1920, y: 1080} 1513 | m_ScreenMatchMode: 0 1514 | m_MatchWidthOrHeight: 1 1515 | m_PhysicalUnit: 3 1516 | m_FallbackScreenDPI: 96 1517 | m_DefaultSpriteDPI: 96 1518 | m_DynamicPixelsPerUnit: 1 1519 | m_PresetInfoIsWorld: 0 1520 | --- !u!114 &8973274560791398406 1521 | MonoBehaviour: 1522 | m_ObjectHideFlags: 0 1523 | m_CorrespondingSourceObject: {fileID: 0} 1524 | m_PrefabInstance: {fileID: 0} 1525 | m_PrefabAsset: {fileID: 0} 1526 | m_GameObject: {fileID: 8559510163325474406} 1527 | m_Enabled: 1 1528 | m_EditorHideFlags: 0 1529 | m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} 1530 | m_Name: 1531 | m_EditorClassIdentifier: 1532 | m_IgnoreReversedGraphics: 1 1533 | m_BlockingObjects: 0 1534 | m_BlockingMask: 1535 | serializedVersion: 2 1536 | m_Bits: 4294967295 1537 | --- !u!1 &8709072006943836980 1538 | GameObject: 1539 | m_ObjectHideFlags: 0 1540 | m_CorrespondingSourceObject: {fileID: 0} 1541 | m_PrefabInstance: {fileID: 0} 1542 | m_PrefabAsset: {fileID: 0} 1543 | serializedVersion: 6 1544 | m_Component: 1545 | - component: {fileID: 1502393754060502261} 1546 | - component: {fileID: 6448830049083035379} 1547 | m_Layer: 5 1548 | m_Name: Content 1549 | m_TagString: Untagged 1550 | m_Icon: {fileID: 0} 1551 | m_NavMeshLayer: 0 1552 | m_StaticEditorFlags: 0 1553 | m_IsActive: 1 1554 | --- !u!224 &1502393754060502261 1555 | RectTransform: 1556 | m_ObjectHideFlags: 0 1557 | m_CorrespondingSourceObject: {fileID: 0} 1558 | m_PrefabInstance: {fileID: 0} 1559 | m_PrefabAsset: {fileID: 0} 1560 | m_GameObject: {fileID: 8709072006943836980} 1561 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1562 | m_LocalPosition: {x: 0, y: 0, z: 0} 1563 | m_LocalScale: {x: 1, y: 1, z: 1} 1564 | m_ConstrainProportionsScale: 0 1565 | m_Children: [] 1566 | m_Father: {fileID: 531949392069866486} 1567 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1568 | m_AnchorMin: {x: 0, y: 1} 1569 | m_AnchorMax: {x: 1, y: 1} 1570 | m_AnchoredPosition: {x: 0, y: 0.00004506111} 1571 | m_SizeDelta: {x: 0, y: 0} 1572 | m_Pivot: {x: 0.5, y: 1} 1573 | --- !u!114 &6448830049083035379 1574 | MonoBehaviour: 1575 | m_ObjectHideFlags: 0 1576 | m_CorrespondingSourceObject: {fileID: 0} 1577 | m_PrefabInstance: {fileID: 0} 1578 | m_PrefabAsset: {fileID: 0} 1579 | m_GameObject: {fileID: 8709072006943836980} 1580 | m_Enabled: 1 1581 | m_EditorHideFlags: 0 1582 | m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} 1583 | m_Name: 1584 | m_EditorClassIdentifier: 1585 | m_Padding: 1586 | m_Left: 0 1587 | m_Right: 0 1588 | m_Top: 0 1589 | m_Bottom: 0 1590 | m_ChildAlignment: 0 1591 | m_Spacing: 20 1592 | m_ChildForceExpandWidth: 1 1593 | m_ChildForceExpandHeight: 1 1594 | m_ChildControlWidth: 1 1595 | m_ChildControlHeight: 1 1596 | m_ChildScaleWidth: 0 1597 | m_ChildScaleHeight: 0 1598 | m_ReverseArrangement: 0 1599 | --- !u!1 &9001879295350683634 1600 | GameObject: 1601 | m_ObjectHideFlags: 0 1602 | m_CorrespondingSourceObject: {fileID: 0} 1603 | m_PrefabInstance: {fileID: 0} 1604 | m_PrefabAsset: {fileID: 0} 1605 | serializedVersion: 6 1606 | m_Component: 1607 | - component: {fileID: 4703238208267177718} 1608 | - component: {fileID: 6735783466998701722} 1609 | - component: {fileID: 5320955092233128772} 1610 | - component: {fileID: 8454059284046321374} 1611 | m_Layer: 5 1612 | m_Name: Scrollbar Vertical 1613 | m_TagString: Untagged 1614 | m_Icon: {fileID: 0} 1615 | m_NavMeshLayer: 0 1616 | m_StaticEditorFlags: 0 1617 | m_IsActive: 1 1618 | --- !u!224 &4703238208267177718 1619 | RectTransform: 1620 | m_ObjectHideFlags: 0 1621 | m_CorrespondingSourceObject: {fileID: 0} 1622 | m_PrefabInstance: {fileID: 0} 1623 | m_PrefabAsset: {fileID: 0} 1624 | m_GameObject: {fileID: 9001879295350683634} 1625 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1626 | m_LocalPosition: {x: 0, y: 0, z: 0} 1627 | m_LocalScale: {x: 1, y: 1, z: 1} 1628 | m_ConstrainProportionsScale: 0 1629 | m_Children: 1630 | - {fileID: 2114268430080019709} 1631 | m_Father: {fileID: 1303024019115553793} 1632 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1633 | m_AnchorMin: {x: 1, y: 0} 1634 | m_AnchorMax: {x: 1, y: 1} 1635 | m_AnchoredPosition: {x: 0, y: 0} 1636 | m_SizeDelta: {x: 20, y: -17} 1637 | m_Pivot: {x: 1, y: 1} 1638 | --- !u!222 &6735783466998701722 1639 | CanvasRenderer: 1640 | m_ObjectHideFlags: 0 1641 | m_CorrespondingSourceObject: {fileID: 0} 1642 | m_PrefabInstance: {fileID: 0} 1643 | m_PrefabAsset: {fileID: 0} 1644 | m_GameObject: {fileID: 9001879295350683634} 1645 | m_CullTransparentMesh: 0 1646 | --- !u!114 &5320955092233128772 1647 | MonoBehaviour: 1648 | m_ObjectHideFlags: 0 1649 | m_CorrespondingSourceObject: {fileID: 0} 1650 | m_PrefabInstance: {fileID: 0} 1651 | m_PrefabAsset: {fileID: 0} 1652 | m_GameObject: {fileID: 9001879295350683634} 1653 | m_Enabled: 0 1654 | m_EditorHideFlags: 0 1655 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 1656 | m_Name: 1657 | m_EditorClassIdentifier: 1658 | m_Material: {fileID: 0} 1659 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1660 | m_RaycastTarget: 1 1661 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1662 | m_Maskable: 1 1663 | m_OnCullStateChanged: 1664 | m_PersistentCalls: 1665 | m_Calls: [] 1666 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} 1667 | m_Type: 1 1668 | m_PreserveAspect: 0 1669 | m_FillCenter: 1 1670 | m_FillMethod: 4 1671 | m_FillAmount: 1 1672 | m_FillClockwise: 1 1673 | m_FillOrigin: 0 1674 | m_UseSpriteMesh: 0 1675 | m_PixelsPerUnitMultiplier: 1 1676 | --- !u!114 &8454059284046321374 1677 | MonoBehaviour: 1678 | m_ObjectHideFlags: 0 1679 | m_CorrespondingSourceObject: {fileID: 0} 1680 | m_PrefabInstance: {fileID: 0} 1681 | m_PrefabAsset: {fileID: 0} 1682 | m_GameObject: {fileID: 9001879295350683634} 1683 | m_Enabled: 1 1684 | m_EditorHideFlags: 0 1685 | m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} 1686 | m_Name: 1687 | m_EditorClassIdentifier: 1688 | m_Navigation: 1689 | m_Mode: 3 1690 | m_WrapAround: 0 1691 | m_SelectOnUp: {fileID: 0} 1692 | m_SelectOnDown: {fileID: 0} 1693 | m_SelectOnLeft: {fileID: 0} 1694 | m_SelectOnRight: {fileID: 0} 1695 | m_Transition: 1 1696 | m_Colors: 1697 | m_NormalColor: {r: 0.28235295, g: 0.3019608, b: 0.3921569, a: 1} 1698 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 1699 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 1700 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 1701 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 1702 | m_ColorMultiplier: 1 1703 | m_FadeDuration: 0.1 1704 | m_SpriteState: 1705 | m_HighlightedSprite: {fileID: 0} 1706 | m_PressedSprite: {fileID: 0} 1707 | m_SelectedSprite: {fileID: 0} 1708 | m_DisabledSprite: {fileID: 0} 1709 | m_AnimationTriggers: 1710 | m_NormalTrigger: Normal 1711 | m_HighlightedTrigger: Highlighted 1712 | m_PressedTrigger: Pressed 1713 | m_SelectedTrigger: Selected 1714 | m_DisabledTrigger: Disabled 1715 | m_Interactable: 1 1716 | m_TargetGraphic: {fileID: 5326995328593409485} 1717 | m_HandleRect: {fileID: 1413194315363746772} 1718 | m_Direction: 2 1719 | m_Value: 0 1720 | m_Size: 0 1721 | m_NumberOfSteps: 0 1722 | m_OnValueChanged: 1723 | m_PersistentCalls: 1724 | m_Calls: [] 1725 | --- !u!1 &9069705821670874256 1726 | GameObject: 1727 | m_ObjectHideFlags: 0 1728 | m_CorrespondingSourceObject: {fileID: 0} 1729 | m_PrefabInstance: {fileID: 0} 1730 | m_PrefabAsset: {fileID: 0} 1731 | serializedVersion: 6 1732 | m_Component: 1733 | - component: {fileID: 8246497348133474965} 1734 | - component: {fileID: 8748867168888136567} 1735 | - component: {fileID: 6134469077128893908} 1736 | m_Layer: 5 1737 | m_Name: Background_Image 1738 | m_TagString: Untagged 1739 | m_Icon: {fileID: 0} 1740 | m_NavMeshLayer: 0 1741 | m_StaticEditorFlags: 0 1742 | m_IsActive: 1 1743 | --- !u!224 &8246497348133474965 1744 | RectTransform: 1745 | m_ObjectHideFlags: 0 1746 | m_CorrespondingSourceObject: {fileID: 0} 1747 | m_PrefabInstance: {fileID: 0} 1748 | m_PrefabAsset: {fileID: 0} 1749 | m_GameObject: {fileID: 9069705821670874256} 1750 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1751 | m_LocalPosition: {x: 0, y: 0, z: 0} 1752 | m_LocalScale: {x: 1, y: 1, z: 1} 1753 | m_ConstrainProportionsScale: 0 1754 | m_Children: [] 1755 | m_Father: {fileID: 5260928468754106139} 1756 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1757 | m_AnchorMin: {x: 0, y: 0} 1758 | m_AnchorMax: {x: 1, y: 1} 1759 | m_AnchoredPosition: {x: 0, y: 0} 1760 | m_SizeDelta: {x: 0, y: 0} 1761 | m_Pivot: {x: 0.5, y: 0.5} 1762 | --- !u!222 &8748867168888136567 1763 | CanvasRenderer: 1764 | m_ObjectHideFlags: 0 1765 | m_CorrespondingSourceObject: {fileID: 0} 1766 | m_PrefabInstance: {fileID: 0} 1767 | m_PrefabAsset: {fileID: 0} 1768 | m_GameObject: {fileID: 9069705821670874256} 1769 | m_CullTransparentMesh: 1 1770 | --- !u!114 &6134469077128893908 1771 | MonoBehaviour: 1772 | m_ObjectHideFlags: 0 1773 | m_CorrespondingSourceObject: {fileID: 0} 1774 | m_PrefabInstance: {fileID: 0} 1775 | m_PrefabAsset: {fileID: 0} 1776 | m_GameObject: {fileID: 9069705821670874256} 1777 | m_Enabled: 1 1778 | m_EditorHideFlags: 0 1779 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 1780 | m_Name: 1781 | m_EditorClassIdentifier: 1782 | m_Material: {fileID: 0} 1783 | m_Color: {r: 0.111249544, g: 0.123638295, b: 0.18867922, a: 1} 1784 | m_RaycastTarget: 1 1785 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1786 | m_Maskable: 1 1787 | m_OnCullStateChanged: 1788 | m_PersistentCalls: 1789 | m_Calls: [] 1790 | m_Sprite: {fileID: 0} 1791 | m_Type: 0 1792 | m_PreserveAspect: 0 1793 | m_FillCenter: 1 1794 | m_FillMethod: 4 1795 | m_FillAmount: 1 1796 | m_FillClockwise: 1 1797 | m_FillOrigin: 0 1798 | m_UseSpriteMesh: 0 1799 | m_PixelsPerUnitMultiplier: 1 1800 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Prefabs/DeepSeek_Canvas.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43fc2f8907aabeb49bae0de9e65d442c 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Prefabs/Received Message.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1001 &8460455656148362884 4 | PrefabInstance: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Modification: 8 | serializedVersion: 3 9 | m_TransformParent: {fileID: 0} 10 | m_Modifications: 11 | - target: {fileID: 8660877164071420326, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 12 | propertyPath: m_AnchorMax.y 13 | value: 0 14 | objectReference: {fileID: 0} 15 | - target: {fileID: 8660877164071420326, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 16 | propertyPath: m_AnchorMin.y 17 | value: 0 18 | objectReference: {fileID: 0} 19 | - target: {fileID: 8660877164071420326, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 20 | propertyPath: m_SizeDelta.x 21 | value: 0 22 | objectReference: {fileID: 0} 23 | - target: {fileID: 8660877164071420326, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 24 | propertyPath: m_SizeDelta.y 25 | value: 0 26 | objectReference: {fileID: 0} 27 | - target: {fileID: 8660877164071420326, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 28 | propertyPath: m_AnchoredPosition.x 29 | value: 0 30 | objectReference: {fileID: 0} 31 | - target: {fileID: 8660877164071420326, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 32 | propertyPath: m_AnchoredPosition.y 33 | value: 0 34 | objectReference: {fileID: 0} 35 | - target: {fileID: 8660877164071420327, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 36 | propertyPath: m_Color.b 37 | value: 1 38 | objectReference: {fileID: 0} 39 | - target: {fileID: 8660877164071420327, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 40 | propertyPath: m_Color.g 41 | value: 0.9803922 42 | objectReference: {fileID: 0} 43 | - target: {fileID: 8660877164071420327, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 44 | propertyPath: m_Color.r 45 | value: 0.9725491 46 | objectReference: {fileID: 0} 47 | - target: {fileID: 8660877164928630346, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 48 | propertyPath: m_ChildAlignment 49 | value: 2 50 | objectReference: {fileID: 0} 51 | - target: {fileID: 8660877164928630346, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 52 | propertyPath: m_Padding.m_Left 53 | value: 100 54 | objectReference: {fileID: 0} 55 | - target: {fileID: 8660877164928630346, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 56 | propertyPath: m_Padding.m_Right 57 | value: 0 58 | objectReference: {fileID: 0} 59 | - target: {fileID: 8660877164928630358, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 60 | propertyPath: m_Name 61 | value: Received Message 62 | objectReference: {fileID: 0} 63 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 64 | propertyPath: m_Pivot.x 65 | value: 0.5 66 | objectReference: {fileID: 0} 67 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 68 | propertyPath: m_Pivot.y 69 | value: 1 70 | objectReference: {fileID: 0} 71 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 72 | propertyPath: m_RootOrder 73 | value: 0 74 | objectReference: {fileID: 0} 75 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 76 | propertyPath: m_AnchorMax.x 77 | value: 1 78 | objectReference: {fileID: 0} 79 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 80 | propertyPath: m_AnchorMax.y 81 | value: 1 82 | objectReference: {fileID: 0} 83 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 84 | propertyPath: m_AnchorMin.x 85 | value: 0 86 | objectReference: {fileID: 0} 87 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 88 | propertyPath: m_AnchorMin.y 89 | value: 1 90 | objectReference: {fileID: 0} 91 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 92 | propertyPath: m_SizeDelta.x 93 | value: 0 94 | objectReference: {fileID: 0} 95 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 96 | propertyPath: m_SizeDelta.y 97 | value: 0 98 | objectReference: {fileID: 0} 99 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 100 | propertyPath: m_LocalPosition.x 101 | value: 0 102 | objectReference: {fileID: 0} 103 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 104 | propertyPath: m_LocalPosition.y 105 | value: 0 106 | objectReference: {fileID: 0} 107 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 108 | propertyPath: m_LocalPosition.z 109 | value: 0 110 | objectReference: {fileID: 0} 111 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 112 | propertyPath: m_LocalRotation.w 113 | value: 1 114 | objectReference: {fileID: 0} 115 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 116 | propertyPath: m_LocalRotation.x 117 | value: -0 118 | objectReference: {fileID: 0} 119 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 120 | propertyPath: m_LocalRotation.y 121 | value: -0 122 | objectReference: {fileID: 0} 123 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 124 | propertyPath: m_LocalRotation.z 125 | value: -0 126 | objectReference: {fileID: 0} 127 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 128 | propertyPath: m_AnchoredPosition.x 129 | value: 0 130 | objectReference: {fileID: 0} 131 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 132 | propertyPath: m_AnchoredPosition.y 133 | value: 0 134 | objectReference: {fileID: 0} 135 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 136 | propertyPath: m_LocalEulerAnglesHint.x 137 | value: 0 138 | objectReference: {fileID: 0} 139 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 140 | propertyPath: m_LocalEulerAnglesHint.y 141 | value: 0 142 | objectReference: {fileID: 0} 143 | - target: {fileID: 8660877164928630359, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 144 | propertyPath: m_LocalEulerAnglesHint.z 145 | value: 0 146 | objectReference: {fileID: 0} 147 | - target: {fileID: 8660877165096916448, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 148 | propertyPath: m_AnchorMax.y 149 | value: 0 150 | objectReference: {fileID: 0} 151 | - target: {fileID: 8660877165096916448, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 152 | propertyPath: m_AnchorMin.y 153 | value: 0 154 | objectReference: {fileID: 0} 155 | - target: {fileID: 8660877165096916448, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 156 | propertyPath: m_SizeDelta.x 157 | value: 0 158 | objectReference: {fileID: 0} 159 | - target: {fileID: 8660877165096916448, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 160 | propertyPath: m_SizeDelta.y 161 | value: 0 162 | objectReference: {fileID: 0} 163 | - target: {fileID: 8660877165096916448, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 164 | propertyPath: m_AnchoredPosition.x 165 | value: 0 166 | objectReference: {fileID: 0} 167 | - target: {fileID: 8660877165096916454, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 168 | propertyPath: m_Color.b 169 | value: 0.1764706 170 | objectReference: {fileID: 0} 171 | - target: {fileID: 8660877165096916454, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 172 | propertyPath: m_Color.g 173 | value: 0.16470589 174 | objectReference: {fileID: 0} 175 | - target: {fileID: 8660877165096916454, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 176 | propertyPath: m_Color.r 177 | value: 0.16078432 178 | objectReference: {fileID: 0} 179 | m_RemovedComponents: [] 180 | m_RemovedGameObjects: [] 181 | m_AddedGameObjects: [] 182 | m_AddedComponents: [] 183 | m_SourcePrefab: {fileID: 100100000, guid: 53cd26a6eefa5a74086203cd118a04d3, type: 3} 184 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Prefabs/Received Message.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: adc0146c2853ed1418133faaf4379eb1 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Prefabs/Sent Message.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &8660877164071420321 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 8660877164071420326} 12 | - component: {fileID: 8660877164071420324} 13 | - component: {fileID: 6645642271603628588} 14 | m_Layer: 5 15 | m_Name: Text 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!224 &8660877164071420326 22 | RectTransform: 23 | m_ObjectHideFlags: 0 24 | m_CorrespondingSourceObject: {fileID: 0} 25 | m_PrefabInstance: {fileID: 0} 26 | m_PrefabAsset: {fileID: 0} 27 | m_GameObject: {fileID: 8660877164071420321} 28 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 29 | m_LocalPosition: {x: 0, y: 0, z: 0} 30 | m_LocalScale: {x: 1, y: 1, z: 1} 31 | m_ConstrainProportionsScale: 0 32 | m_Children: [] 33 | m_Father: {fileID: 8660877165096916448} 34 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 35 | m_AnchorMin: {x: 0, y: 0} 36 | m_AnchorMax: {x: 0, y: 0} 37 | m_AnchoredPosition: {x: 0, y: 0} 38 | m_SizeDelta: {x: 0, y: 0} 39 | m_Pivot: {x: 0, y: 1} 40 | --- !u!222 &8660877164071420324 41 | CanvasRenderer: 42 | m_ObjectHideFlags: 0 43 | m_CorrespondingSourceObject: {fileID: 0} 44 | m_PrefabInstance: {fileID: 0} 45 | m_PrefabAsset: {fileID: 0} 46 | m_GameObject: {fileID: 8660877164071420321} 47 | m_CullTransparentMesh: 0 48 | --- !u!114 &6645642271603628588 49 | MonoBehaviour: 50 | m_ObjectHideFlags: 0 51 | m_CorrespondingSourceObject: {fileID: 0} 52 | m_PrefabInstance: {fileID: 0} 53 | m_PrefabAsset: {fileID: 0} 54 | m_GameObject: {fileID: 8660877164071420321} 55 | m_Enabled: 1 56 | m_EditorHideFlags: 0 57 | m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} 58 | m_Name: 59 | m_EditorClassIdentifier: 60 | m_Material: {fileID: 0} 61 | m_Color: {r: 1, g: 1, b: 1, a: 1} 62 | m_RaycastTarget: 1 63 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 64 | m_Maskable: 1 65 | m_OnCullStateChanged: 66 | m_PersistentCalls: 67 | m_Calls: [] 68 | m_text: Test 69 | m_isRightToLeft: 0 70 | m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} 71 | m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} 72 | m_fontSharedMaterials: [] 73 | m_fontMaterial: {fileID: 0} 74 | m_fontMaterials: [] 75 | m_fontColor32: 76 | serializedVersion: 2 77 | rgba: 4294967295 78 | m_fontColor: {r: 1, g: 1, b: 1, a: 1} 79 | m_enableVertexGradient: 0 80 | m_colorMode: 3 81 | m_fontColorGradient: 82 | topLeft: {r: 1, g: 1, b: 1, a: 1} 83 | topRight: {r: 1, g: 1, b: 1, a: 1} 84 | bottomLeft: {r: 1, g: 1, b: 1, a: 1} 85 | bottomRight: {r: 1, g: 1, b: 1, a: 1} 86 | m_fontColorGradientPreset: {fileID: 0} 87 | m_spriteAsset: {fileID: 0} 88 | m_tintAllSprites: 0 89 | m_StyleSheet: {fileID: 0} 90 | m_TextStyleHashCode: -1183493901 91 | m_overrideHtmlColors: 0 92 | m_faceColor: 93 | serializedVersion: 2 94 | rgba: 4294967295 95 | m_fontSize: 20 96 | m_fontSizeBase: 20 97 | m_fontWeight: 400 98 | m_enableAutoSizing: 0 99 | m_fontSizeMin: 18 100 | m_fontSizeMax: 72 101 | m_fontStyle: 0 102 | m_HorizontalAlignment: 1 103 | m_VerticalAlignment: 256 104 | m_textAlignment: 65535 105 | m_characterSpacing: 0 106 | m_wordSpacing: 0 107 | m_lineSpacing: 0 108 | m_lineSpacingMax: 0 109 | m_paragraphSpacing: 0 110 | m_charWidthMaxAdj: 0 111 | m_TextWrappingMode: 1 112 | m_wordWrappingRatios: 0.4 113 | m_overflowMode: 0 114 | m_linkedTextComponent: {fileID: 0} 115 | parentLinkedComponent: {fileID: 0} 116 | m_enableKerning: 0 117 | m_ActiveFontFeatures: 6e72656b 118 | m_enableExtraPadding: 0 119 | checkPaddingRequired: 0 120 | m_isRichText: 1 121 | m_EmojiFallbackSupport: 1 122 | m_parseCtrlCharacters: 1 123 | m_isOrthographic: 1 124 | m_isCullingEnabled: 0 125 | m_horizontalMapping: 0 126 | m_verticalMapping: 0 127 | m_uvLineOffset: 0 128 | m_geometrySortingOrder: 0 129 | m_IsTextObjectScaleStatic: 0 130 | m_VertexBufferAutoSizeReduction: 0 131 | m_useMaxVisibleDescender: 1 132 | m_pageToDisplay: 1 133 | m_margin: {x: 0, y: 0, z: 0, w: 0} 134 | m_isUsingLegacyAnimationComponent: 0 135 | m_isVolumetricText: 0 136 | m_hasFontAssetChanged: 0 137 | m_baseMaterial: {fileID: 0} 138 | m_maskOffset: {x: 0, y: 0, z: 0, w: 0} 139 | --- !u!1 &8660877164928630358 140 | GameObject: 141 | m_ObjectHideFlags: 0 142 | m_CorrespondingSourceObject: {fileID: 0} 143 | m_PrefabInstance: {fileID: 0} 144 | m_PrefabAsset: {fileID: 0} 145 | serializedVersion: 6 146 | m_Component: 147 | - component: {fileID: 8660877164928630359} 148 | - component: {fileID: 8660877164928630357} 149 | - component: {fileID: 8660877164928630347} 150 | - component: {fileID: 8660877164928630346} 151 | m_Layer: 5 152 | m_Name: Sent Message 153 | m_TagString: Untagged 154 | m_Icon: {fileID: 0} 155 | m_NavMeshLayer: 0 156 | m_StaticEditorFlags: 0 157 | m_IsActive: 1 158 | --- !u!224 &8660877164928630359 159 | RectTransform: 160 | m_ObjectHideFlags: 0 161 | m_CorrespondingSourceObject: {fileID: 0} 162 | m_PrefabInstance: {fileID: 0} 163 | m_PrefabAsset: {fileID: 0} 164 | m_GameObject: {fileID: 8660877164928630358} 165 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 166 | m_LocalPosition: {x: 0, y: 0, z: 0} 167 | m_LocalScale: {x: 1, y: 1, z: 1} 168 | m_ConstrainProportionsScale: 0 169 | m_Children: 170 | - {fileID: 8660877165096916448} 171 | m_Father: {fileID: 0} 172 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 173 | m_AnchorMin: {x: 0, y: 1} 174 | m_AnchorMax: {x: 1, y: 1} 175 | m_AnchoredPosition: {x: 0, y: 0} 176 | m_SizeDelta: {x: 0, y: 0} 177 | m_Pivot: {x: 0.5, y: 1} 178 | --- !u!222 &8660877164928630357 179 | CanvasRenderer: 180 | m_ObjectHideFlags: 0 181 | m_CorrespondingSourceObject: {fileID: 0} 182 | m_PrefabInstance: {fileID: 0} 183 | m_PrefabAsset: {fileID: 0} 184 | m_GameObject: {fileID: 8660877164928630358} 185 | m_CullTransparentMesh: 0 186 | --- !u!114 &8660877164928630347 187 | MonoBehaviour: 188 | m_ObjectHideFlags: 0 189 | m_CorrespondingSourceObject: {fileID: 0} 190 | m_PrefabInstance: {fileID: 0} 191 | m_PrefabAsset: {fileID: 0} 192 | m_GameObject: {fileID: 8660877164928630358} 193 | m_Enabled: 1 194 | m_EditorHideFlags: 0 195 | m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} 196 | m_Name: 197 | m_EditorClassIdentifier: 198 | m_HorizontalFit: 0 199 | m_VerticalFit: 2 200 | --- !u!114 &8660877164928630346 201 | MonoBehaviour: 202 | m_ObjectHideFlags: 0 203 | m_CorrespondingSourceObject: {fileID: 0} 204 | m_PrefabInstance: {fileID: 0} 205 | m_PrefabAsset: {fileID: 0} 206 | m_GameObject: {fileID: 8660877164928630358} 207 | m_Enabled: 1 208 | m_EditorHideFlags: 0 209 | m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} 210 | m_Name: 211 | m_EditorClassIdentifier: 212 | m_Padding: 213 | m_Left: 0 214 | m_Right: 100 215 | m_Top: 0 216 | m_Bottom: 10 217 | m_ChildAlignment: 0 218 | m_Spacing: 0 219 | m_ChildForceExpandWidth: 1 220 | m_ChildForceExpandHeight: 1 221 | m_ChildControlWidth: 1 222 | m_ChildControlHeight: 1 223 | m_ChildScaleWidth: 0 224 | m_ChildScaleHeight: 0 225 | m_ReverseArrangement: 0 226 | --- !u!1 &8660877165096916451 227 | GameObject: 228 | m_ObjectHideFlags: 0 229 | m_CorrespondingSourceObject: {fileID: 0} 230 | m_PrefabInstance: {fileID: 0} 231 | m_PrefabAsset: {fileID: 0} 232 | serializedVersion: 6 233 | m_Component: 234 | - component: {fileID: 8660877165096916448} 235 | - component: {fileID: 8660877165096916449} 236 | - component: {fileID: 8660877165096916455} 237 | - component: {fileID: 8660877165096916454} 238 | m_Layer: 5 239 | m_Name: User Message 240 | m_TagString: Untagged 241 | m_Icon: {fileID: 0} 242 | m_NavMeshLayer: 0 243 | m_StaticEditorFlags: 0 244 | m_IsActive: 1 245 | --- !u!224 &8660877165096916448 246 | RectTransform: 247 | m_ObjectHideFlags: 0 248 | m_CorrespondingSourceObject: {fileID: 0} 249 | m_PrefabInstance: {fileID: 0} 250 | m_PrefabAsset: {fileID: 0} 251 | m_GameObject: {fileID: 8660877165096916451} 252 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 253 | m_LocalPosition: {x: 0, y: 0, z: 0} 254 | m_LocalScale: {x: 1, y: 1, z: 1} 255 | m_ConstrainProportionsScale: 0 256 | m_Children: 257 | - {fileID: 8660877164071420326} 258 | m_Father: {fileID: 8660877164928630359} 259 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 260 | m_AnchorMin: {x: 0, y: 0} 261 | m_AnchorMax: {x: 0, y: 0} 262 | m_AnchoredPosition: {x: 0, y: 0} 263 | m_SizeDelta: {x: 0, y: 0} 264 | m_Pivot: {x: 0, y: 1} 265 | --- !u!114 &8660877165096916449 266 | MonoBehaviour: 267 | m_ObjectHideFlags: 0 268 | m_CorrespondingSourceObject: {fileID: 0} 269 | m_PrefabInstance: {fileID: 0} 270 | m_PrefabAsset: {fileID: 0} 271 | m_GameObject: {fileID: 8660877165096916451} 272 | m_Enabled: 1 273 | m_EditorHideFlags: 0 274 | m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} 275 | m_Name: 276 | m_EditorClassIdentifier: 277 | m_Padding: 278 | m_Left: 8 279 | m_Right: 8 280 | m_Top: 8 281 | m_Bottom: 8 282 | m_ChildAlignment: 0 283 | m_Spacing: 0 284 | m_ChildForceExpandWidth: 1 285 | m_ChildForceExpandHeight: 1 286 | m_ChildControlWidth: 1 287 | m_ChildControlHeight: 1 288 | m_ChildScaleWidth: 0 289 | m_ChildScaleHeight: 0 290 | m_ReverseArrangement: 0 291 | --- !u!222 &8660877165096916455 292 | CanvasRenderer: 293 | m_ObjectHideFlags: 0 294 | m_CorrespondingSourceObject: {fileID: 0} 295 | m_PrefabInstance: {fileID: 0} 296 | m_PrefabAsset: {fileID: 0} 297 | m_GameObject: {fileID: 8660877165096916451} 298 | m_CullTransparentMesh: 0 299 | --- !u!114 &8660877165096916454 300 | MonoBehaviour: 301 | m_ObjectHideFlags: 0 302 | m_CorrespondingSourceObject: {fileID: 0} 303 | m_PrefabInstance: {fileID: 0} 304 | m_PrefabAsset: {fileID: 0} 305 | m_GameObject: {fileID: 8660877165096916451} 306 | m_Enabled: 1 307 | m_EditorHideFlags: 0 308 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 309 | m_Name: 310 | m_EditorClassIdentifier: 311 | m_Material: {fileID: 0} 312 | m_Color: {r: 0.25490198, g: 0.25490198, b: 0.34509805, a: 1} 313 | m_RaycastTarget: 1 314 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 315 | m_Maskable: 1 316 | m_OnCullStateChanged: 317 | m_PersistentCalls: 318 | m_Calls: [] 319 | m_Sprite: {fileID: 0} 320 | m_Type: 1 321 | m_PreserveAspect: 0 322 | m_FillCenter: 1 323 | m_FillMethod: 4 324 | m_FillAmount: 1 325 | m_FillClockwise: 1 326 | m_FillOrigin: 0 327 | m_UseSpriteMesh: 0 328 | m_PixelsPerUnitMultiplier: 1 329 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Prefabs/Sent Message.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 53cd26a6eefa5a74086203cd118a04d3 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 754268062bd944bb5b5b1dfde595e98a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Scenes/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yagizeraslan/DeepSeek-Unity/94224fb16b9f322fc6f127fbbe4c2c51e7a97d61/Samples~/DeepSeek-Chat/Scenes/.DS_Store -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Scenes/DeepSeek-Chat.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | OcclusionCullingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_OcclusionBakeSettings: 8 | smallestOccluder: 5 9 | smallestHole: 0.25 10 | backfaceThreshold: 100 11 | m_SceneGUID: 00000000000000000000000000000000 12 | m_OcclusionCullingData: {fileID: 0} 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 10 17 | m_Fog: 0 18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: 0.01 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} 24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} 25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 3 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 0} 30 | m_HaloStrength: 0.5 31 | m_FlareStrength: 1 32 | m_FlareFadeSpeed: 3 33 | m_HaloTexture: {fileID: 0} 34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 35 | m_DefaultReflectionMode: 0 36 | m_DefaultReflectionResolution: 128 37 | m_ReflectionBounces: 1 38 | m_ReflectionIntensity: 1 39 | m_CustomReflection: {fileID: 0} 40 | m_Sun: {fileID: 0} 41 | m_UseRadianceAmbientProbe: 0 42 | --- !u!157 &3 43 | LightmapSettings: 44 | m_ObjectHideFlags: 0 45 | serializedVersion: 13 46 | m_BakeOnSceneLoad: 0 47 | m_GISettings: 48 | serializedVersion: 2 49 | m_BounceScale: 1 50 | m_IndirectOutputScale: 1 51 | m_AlbedoBoost: 1 52 | m_EnvironmentLightingMode: 0 53 | m_EnableBakedLightmaps: 0 54 | m_EnableRealtimeLightmaps: 0 55 | m_LightmapEditorSettings: 56 | serializedVersion: 12 57 | m_Resolution: 2 58 | m_BakeResolution: 40 59 | m_AtlasSize: 1024 60 | m_AO: 0 61 | m_AOMaxDistance: 1 62 | m_CompAOExponent: 1 63 | m_CompAOExponentDirect: 0 64 | m_ExtractAmbientOcclusion: 0 65 | m_Padding: 2 66 | m_LightmapParameters: {fileID: 0} 67 | m_LightmapsBakeMode: 1 68 | m_TextureCompression: 1 69 | m_ReflectionCompression: 2 70 | m_MixedBakeMode: 2 71 | m_BakeBackend: 1 72 | m_PVRSampling: 1 73 | m_PVRDirectSampleCount: 32 74 | m_PVRSampleCount: 512 75 | m_PVRBounces: 2 76 | m_PVREnvironmentSampleCount: 256 77 | m_PVREnvironmentReferencePointCount: 2048 78 | m_PVRFilteringMode: 1 79 | m_PVRDenoiserTypeDirect: 1 80 | m_PVRDenoiserTypeIndirect: 1 81 | m_PVRDenoiserTypeAO: 1 82 | m_PVRFilterTypeDirect: 0 83 | m_PVRFilterTypeIndirect: 0 84 | m_PVRFilterTypeAO: 0 85 | m_PVREnvironmentMIS: 1 86 | m_PVRCulling: 1 87 | m_PVRFilteringGaussRadiusDirect: 1 88 | m_PVRFilteringGaussRadiusIndirect: 1 89 | m_PVRFilteringGaussRadiusAO: 1 90 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 91 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 92 | m_PVRFilteringAtrousPositionSigmaAO: 1 93 | m_ExportTrainingData: 0 94 | m_TrainingDataDestination: TrainingData 95 | m_LightProbeSampleCountMultiplier: 4 96 | m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0} 97 | m_LightingSettings: {fileID: 0} 98 | --- !u!196 &4 99 | NavMeshSettings: 100 | serializedVersion: 2 101 | m_ObjectHideFlags: 0 102 | m_BuildSettings: 103 | serializedVersion: 3 104 | agentTypeID: 0 105 | agentRadius: 0.5 106 | agentHeight: 2 107 | agentSlope: 45 108 | agentClimb: 0.4 109 | ledgeDropHeight: 0 110 | maxJumpAcrossDistance: 0 111 | minRegionArea: 2 112 | manualCellSize: 0 113 | cellSize: 0.16666667 114 | manualTileSize: 0 115 | tileSize: 256 116 | buildHeightMesh: 0 117 | maxJobWorkers: 0 118 | preserveTilesOutsideBounds: 0 119 | debug: 120 | m_Flags: 0 121 | m_NavMeshData: {fileID: 0} 122 | --- !u!1 &174224912 123 | GameObject: 124 | m_ObjectHideFlags: 0 125 | m_CorrespondingSourceObject: {fileID: 0} 126 | m_PrefabInstance: {fileID: 0} 127 | m_PrefabAsset: {fileID: 0} 128 | serializedVersion: 6 129 | m_Component: 130 | - component: {fileID: 174224915} 131 | - component: {fileID: 174224914} 132 | - component: {fileID: 174224913} 133 | m_Layer: 0 134 | m_Name: EventSystem 135 | m_TagString: Untagged 136 | m_Icon: {fileID: 0} 137 | m_NavMeshLayer: 0 138 | m_StaticEditorFlags: 0 139 | m_IsActive: 1 140 | --- !u!114 &174224913 141 | MonoBehaviour: 142 | m_ObjectHideFlags: 0 143 | m_CorrespondingSourceObject: {fileID: 0} 144 | m_PrefabInstance: {fileID: 0} 145 | m_PrefabAsset: {fileID: 0} 146 | m_GameObject: {fileID: 174224912} 147 | m_Enabled: 1 148 | m_EditorHideFlags: 0 149 | m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3} 150 | m_Name: 151 | m_EditorClassIdentifier: 152 | m_SendPointerHoverToParent: 1 153 | m_MoveRepeatDelay: 0.5 154 | m_MoveRepeatRate: 0.1 155 | m_XRTrackingOrigin: {fileID: 0} 156 | m_ActionsAsset: {fileID: -944628639613478452, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} 157 | m_PointAction: {fileID: -1654692200621890270, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} 158 | m_MoveAction: {fileID: -8784545083839296357, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} 159 | m_SubmitAction: {fileID: 392368643174621059, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} 160 | m_CancelAction: {fileID: 7727032971491509709, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} 161 | m_LeftClickAction: {fileID: 3001919216989983466, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} 162 | m_MiddleClickAction: {fileID: -2185481485913320682, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} 163 | m_RightClickAction: {fileID: -4090225696740746782, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} 164 | m_ScrollWheelAction: {fileID: 6240969308177333660, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} 165 | m_TrackedDevicePositionAction: {fileID: 6564999863303420839, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} 166 | m_TrackedDeviceOrientationAction: {fileID: 7970375526676320489, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} 167 | m_DeselectOnBackgroundClick: 1 168 | m_PointerBehavior: 0 169 | m_CursorLockBehavior: 0 170 | m_ScrollDeltaPerTick: 6 171 | --- !u!114 &174224914 172 | MonoBehaviour: 173 | m_ObjectHideFlags: 0 174 | m_CorrespondingSourceObject: {fileID: 0} 175 | m_PrefabInstance: {fileID: 0} 176 | m_PrefabAsset: {fileID: 0} 177 | m_GameObject: {fileID: 174224912} 178 | m_Enabled: 1 179 | m_EditorHideFlags: 0 180 | m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} 181 | m_Name: 182 | m_EditorClassIdentifier: 183 | m_FirstSelected: {fileID: 0} 184 | m_sendNavigationEvents: 1 185 | m_DragThreshold: 10 186 | --- !u!4 &174224915 187 | Transform: 188 | m_ObjectHideFlags: 0 189 | m_CorrespondingSourceObject: {fileID: 0} 190 | m_PrefabInstance: {fileID: 0} 191 | m_PrefabAsset: {fileID: 0} 192 | m_GameObject: {fileID: 174224912} 193 | serializedVersion: 2 194 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 195 | m_LocalPosition: {x: 0, y: 0, z: 0} 196 | m_LocalScale: {x: 1, y: 1, z: 1} 197 | m_ConstrainProportionsScale: 0 198 | m_Children: [] 199 | m_Father: {fileID: 0} 200 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 201 | --- !u!1 &519420028 202 | GameObject: 203 | m_ObjectHideFlags: 0 204 | m_CorrespondingSourceObject: {fileID: 0} 205 | m_PrefabInstance: {fileID: 0} 206 | m_PrefabAsset: {fileID: 0} 207 | serializedVersion: 6 208 | m_Component: 209 | - component: {fileID: 519420032} 210 | - component: {fileID: 519420031} 211 | - component: {fileID: 519420029} 212 | - component: {fileID: 519420030} 213 | m_Layer: 0 214 | m_Name: Main Camera 215 | m_TagString: MainCamera 216 | m_Icon: {fileID: 0} 217 | m_NavMeshLayer: 0 218 | m_StaticEditorFlags: 0 219 | m_IsActive: 1 220 | --- !u!81 &519420029 221 | AudioListener: 222 | m_ObjectHideFlags: 0 223 | m_CorrespondingSourceObject: {fileID: 0} 224 | m_PrefabInstance: {fileID: 0} 225 | m_PrefabAsset: {fileID: 0} 226 | m_GameObject: {fileID: 519420028} 227 | m_Enabled: 1 228 | --- !u!114 &519420030 229 | MonoBehaviour: 230 | m_ObjectHideFlags: 0 231 | m_CorrespondingSourceObject: {fileID: 0} 232 | m_PrefabInstance: {fileID: 0} 233 | m_PrefabAsset: {fileID: 0} 234 | m_GameObject: {fileID: 519420028} 235 | m_Enabled: 1 236 | m_EditorHideFlags: 0 237 | m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} 238 | m_Name: 239 | m_EditorClassIdentifier: 240 | m_RenderShadows: 1 241 | m_RequiresDepthTextureOption: 2 242 | m_RequiresOpaqueTextureOption: 2 243 | m_CameraType: 0 244 | m_Cameras: [] 245 | m_RendererIndex: -1 246 | m_VolumeLayerMask: 247 | serializedVersion: 2 248 | m_Bits: 1 249 | m_VolumeTrigger: {fileID: 0} 250 | m_VolumeFrameworkUpdateModeOption: 2 251 | m_RenderPostProcessing: 0 252 | m_Antialiasing: 0 253 | m_AntialiasingQuality: 2 254 | m_StopNaN: 0 255 | m_Dithering: 0 256 | m_ClearDepth: 1 257 | m_AllowXRRendering: 1 258 | m_AllowHDROutput: 1 259 | m_UseScreenCoordOverride: 0 260 | m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} 261 | m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} 262 | m_RequiresDepthTexture: 0 263 | m_RequiresColorTexture: 0 264 | m_Version: 2 265 | m_TaaSettings: 266 | m_Quality: 3 267 | m_FrameInfluence: 0.1 268 | m_JitterScale: 1 269 | m_MipBias: 0 270 | m_VarianceClampScale: 0.9 271 | m_ContrastAdaptiveSharpening: 0 272 | --- !u!20 &519420031 273 | Camera: 274 | m_ObjectHideFlags: 0 275 | m_CorrespondingSourceObject: {fileID: 0} 276 | m_PrefabInstance: {fileID: 0} 277 | m_PrefabAsset: {fileID: 0} 278 | m_GameObject: {fileID: 519420028} 279 | m_Enabled: 1 280 | serializedVersion: 2 281 | m_ClearFlags: 2 282 | m_BackGroundColor: {r: 0.16078432, g: 0.16470589, b: 0.1764706, a: 0} 283 | m_projectionMatrixMode: 1 284 | m_GateFitMode: 2 285 | m_FOVAxisMode: 0 286 | m_Iso: 200 287 | m_ShutterSpeed: 0.005 288 | m_Aperture: 16 289 | m_FocusDistance: 10 290 | m_FocalLength: 50 291 | m_BladeCount: 5 292 | m_Curvature: {x: 2, y: 11} 293 | m_BarrelClipping: 0.25 294 | m_Anamorphism: 0 295 | m_SensorSize: {x: 36, y: 24} 296 | m_LensShift: {x: 0, y: 0} 297 | m_NormalizedViewPortRect: 298 | serializedVersion: 2 299 | x: 0 300 | y: 0 301 | width: 1 302 | height: 1 303 | near clip plane: 0.3 304 | far clip plane: 1000 305 | field of view: 34 306 | orthographic: 1 307 | orthographic size: 5 308 | m_Depth: -1 309 | m_CullingMask: 310 | serializedVersion: 2 311 | m_Bits: 4294967295 312 | m_RenderingPath: -1 313 | m_TargetTexture: {fileID: 0} 314 | m_TargetDisplay: 0 315 | m_TargetEye: 0 316 | m_HDR: 1 317 | m_AllowMSAA: 0 318 | m_AllowDynamicResolution: 0 319 | m_ForceIntoRT: 0 320 | m_OcclusionCulling: 0 321 | m_StereoConvergence: 10 322 | m_StereoSeparation: 0.022 323 | --- !u!4 &519420032 324 | Transform: 325 | m_ObjectHideFlags: 0 326 | m_CorrespondingSourceObject: {fileID: 0} 327 | m_PrefabInstance: {fileID: 0} 328 | m_PrefabAsset: {fileID: 0} 329 | m_GameObject: {fileID: 519420028} 330 | serializedVersion: 2 331 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 332 | m_LocalPosition: {x: 0, y: 0, z: -10} 333 | m_LocalScale: {x: 1, y: 1, z: 1} 334 | m_ConstrainProportionsScale: 0 335 | m_Children: [] 336 | m_Father: {fileID: 0} 337 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 338 | --- !u!1001 &1910751563 339 | PrefabInstance: 340 | m_ObjectHideFlags: 0 341 | serializedVersion: 2 342 | m_Modification: 343 | serializedVersion: 3 344 | m_TransformParent: {fileID: 0} 345 | m_Modifications: 346 | - target: {fileID: 2903786547492096576, guid: 47c2d5e1cab574141b6c401cf8a6afed, type: 3} 347 | propertyPath: inputField 348 | value: 349 | objectReference: {fileID: 346703544857527204} 350 | - target: {fileID: 2903786547492096576, guid: 47c2d5e1cab574141b6c401cf8a6afed, type: 3} 351 | propertyPath: sendButton 352 | value: 353 | objectReference: {fileID: 346703544857527203} 354 | - target: {fileID: 2903786547492096576, guid: 47c2d5e1cab574141b6c401cf8a6afed, type: 3} 355 | propertyPath: messageContainer 356 | value: 357 | objectReference: {fileID: 346703544857527202} 358 | - target: {fileID: 5797995389438447675, guid: 47c2d5e1cab574141b6c401cf8a6afed, type: 3} 359 | propertyPath: m_Name 360 | value: DeepSeekChat 361 | objectReference: {fileID: 0} 362 | - target: {fileID: 8203701537410577367, guid: 47c2d5e1cab574141b6c401cf8a6afed, type: 3} 363 | propertyPath: m_LocalPosition.x 364 | value: 0 365 | objectReference: {fileID: 0} 366 | - target: {fileID: 8203701537410577367, guid: 47c2d5e1cab574141b6c401cf8a6afed, type: 3} 367 | propertyPath: m_LocalPosition.y 368 | value: 0 369 | objectReference: {fileID: 0} 370 | - target: {fileID: 8203701537410577367, guid: 47c2d5e1cab574141b6c401cf8a6afed, type: 3} 371 | propertyPath: m_LocalPosition.z 372 | value: 0 373 | objectReference: {fileID: 0} 374 | - target: {fileID: 8203701537410577367, guid: 47c2d5e1cab574141b6c401cf8a6afed, type: 3} 375 | propertyPath: m_LocalRotation.w 376 | value: 1 377 | objectReference: {fileID: 0} 378 | - target: {fileID: 8203701537410577367, guid: 47c2d5e1cab574141b6c401cf8a6afed, type: 3} 379 | propertyPath: m_LocalRotation.x 380 | value: 0 381 | objectReference: {fileID: 0} 382 | - target: {fileID: 8203701537410577367, guid: 47c2d5e1cab574141b6c401cf8a6afed, type: 3} 383 | propertyPath: m_LocalRotation.y 384 | value: 0 385 | objectReference: {fileID: 0} 386 | - target: {fileID: 8203701537410577367, guid: 47c2d5e1cab574141b6c401cf8a6afed, type: 3} 387 | propertyPath: m_LocalRotation.z 388 | value: 0 389 | objectReference: {fileID: 0} 390 | - target: {fileID: 8203701537410577367, guid: 47c2d5e1cab574141b6c401cf8a6afed, type: 3} 391 | propertyPath: m_LocalEulerAnglesHint.x 392 | value: 0 393 | objectReference: {fileID: 0} 394 | - target: {fileID: 8203701537410577367, guid: 47c2d5e1cab574141b6c401cf8a6afed, type: 3} 395 | propertyPath: m_LocalEulerAnglesHint.y 396 | value: 0 397 | objectReference: {fileID: 0} 398 | - target: {fileID: 8203701537410577367, guid: 47c2d5e1cab574141b6c401cf8a6afed, type: 3} 399 | propertyPath: m_LocalEulerAnglesHint.z 400 | value: 0 401 | objectReference: {fileID: 0} 402 | m_RemovedComponents: [] 403 | m_RemovedGameObjects: [] 404 | m_AddedGameObjects: [] 405 | m_AddedComponents: [] 406 | m_SourcePrefab: {fileID: 100100000, guid: 47c2d5e1cab574141b6c401cf8a6afed, type: 3} 407 | --- !u!1001 &346703544857527201 408 | PrefabInstance: 409 | m_ObjectHideFlags: 0 410 | serializedVersion: 2 411 | m_Modification: 412 | serializedVersion: 3 413 | m_TransformParent: {fileID: 0} 414 | m_Modifications: 415 | - target: {fileID: 1413194315363746772, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 416 | propertyPath: m_AnchorMax.x 417 | value: 0 418 | objectReference: {fileID: 0} 419 | - target: {fileID: 1413194315363746772, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 420 | propertyPath: m_AnchorMax.y 421 | value: 0 422 | objectReference: {fileID: 0} 423 | - target: {fileID: 1413194315363746772, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 424 | propertyPath: m_AnchorMin.y 425 | value: 0 426 | objectReference: {fileID: 0} 427 | - target: {fileID: 1502393754060502261, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 428 | propertyPath: m_AnchoredPosition.y 429 | value: -0.000014305115 430 | objectReference: {fileID: 0} 431 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 432 | propertyPath: m_Pivot.x 433 | value: 0 434 | objectReference: {fileID: 0} 435 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 436 | propertyPath: m_Pivot.y 437 | value: 0 438 | objectReference: {fileID: 0} 439 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 440 | propertyPath: m_AnchorMax.x 441 | value: 0 442 | objectReference: {fileID: 0} 443 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 444 | propertyPath: m_AnchorMax.y 445 | value: 0 446 | objectReference: {fileID: 0} 447 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 448 | propertyPath: m_AnchorMin.x 449 | value: 0 450 | objectReference: {fileID: 0} 451 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 452 | propertyPath: m_AnchorMin.y 453 | value: 0 454 | objectReference: {fileID: 0} 455 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 456 | propertyPath: m_SizeDelta.x 457 | value: 0 458 | objectReference: {fileID: 0} 459 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 460 | propertyPath: m_SizeDelta.y 461 | value: 0 462 | objectReference: {fileID: 0} 463 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 464 | propertyPath: m_LocalPosition.x 465 | value: 0 466 | objectReference: {fileID: 0} 467 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 468 | propertyPath: m_LocalPosition.y 469 | value: 0 470 | objectReference: {fileID: 0} 471 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 472 | propertyPath: m_LocalPosition.z 473 | value: 0 474 | objectReference: {fileID: 0} 475 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 476 | propertyPath: m_LocalRotation.w 477 | value: 1 478 | objectReference: {fileID: 0} 479 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 480 | propertyPath: m_LocalRotation.x 481 | value: 0 482 | objectReference: {fileID: 0} 483 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 484 | propertyPath: m_LocalRotation.y 485 | value: 0 486 | objectReference: {fileID: 0} 487 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 488 | propertyPath: m_LocalRotation.z 489 | value: 0 490 | objectReference: {fileID: 0} 491 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 492 | propertyPath: m_AnchoredPosition.x 493 | value: 0 494 | objectReference: {fileID: 0} 495 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 496 | propertyPath: m_AnchoredPosition.y 497 | value: 0 498 | objectReference: {fileID: 0} 499 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 500 | propertyPath: m_LocalEulerAnglesHint.x 501 | value: 0 502 | objectReference: {fileID: 0} 503 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 504 | propertyPath: m_LocalEulerAnglesHint.y 505 | value: 0 506 | objectReference: {fileID: 0} 507 | - target: {fileID: 5260928468754106139, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 508 | propertyPath: m_LocalEulerAnglesHint.z 509 | value: 0 510 | objectReference: {fileID: 0} 511 | - target: {fileID: 8454059284046321374, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 512 | propertyPath: m_Size 513 | value: 1 514 | objectReference: {fileID: 0} 515 | - target: {fileID: 8454059284046321374, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 516 | propertyPath: m_Value 517 | value: 1 518 | objectReference: {fileID: 0} 519 | - target: {fileID: 8559510163325474406, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 520 | propertyPath: m_Name 521 | value: DeepSeek_Canvas 522 | objectReference: {fileID: 0} 523 | m_RemovedComponents: [] 524 | m_RemovedGameObjects: [] 525 | m_AddedGameObjects: [] 526 | m_AddedComponents: [] 527 | m_SourcePrefab: {fileID: 100100000, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 528 | --- !u!224 &346703544857527202 stripped 529 | RectTransform: 530 | m_CorrespondingSourceObject: {fileID: 1502393754060502261, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 531 | m_PrefabInstance: {fileID: 346703544857527201} 532 | m_PrefabAsset: {fileID: 0} 533 | --- !u!114 &346703544857527203 stripped 534 | MonoBehaviour: 535 | m_CorrespondingSourceObject: {fileID: 4531813284403150597, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 536 | m_PrefabInstance: {fileID: 346703544857527201} 537 | m_PrefabAsset: {fileID: 0} 538 | m_GameObject: {fileID: 0} 539 | m_Enabled: 1 540 | m_EditorHideFlags: 0 541 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} 542 | m_Name: 543 | m_EditorClassIdentifier: 544 | --- !u!114 &346703544857527204 stripped 545 | MonoBehaviour: 546 | m_CorrespondingSourceObject: {fileID: 433553220197719809, guid: 43fc2f8907aabeb49bae0de9e65d442c, type: 3} 547 | m_PrefabInstance: {fileID: 346703544857527201} 548 | m_PrefabAsset: {fileID: 0} 549 | m_GameObject: {fileID: 0} 550 | m_Enabled: 1 551 | m_EditorHideFlags: 0 552 | m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3} 553 | m_Name: 554 | m_EditorClassIdentifier: 555 | --- !u!1660057539 &9223372036854775807 556 | SceneRoots: 557 | m_ObjectHideFlags: 0 558 | m_Roots: 559 | - {fileID: 519420032} 560 | - {fileID: 174224915} 561 | - {fileID: 346703544857527201} 562 | - {fileID: 1910751563} 563 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Scenes/DeepSeek-Chat.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c03fa24ac66fb6f48bde4fc52e7b3a23 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9fab5b5150f4247aeb07b4dc59489d99 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Scripts/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yagizeraslan/DeepSeek-Unity/94224fb16b9f322fc6f127fbbe4c2c51e7a97d61/Samples~/DeepSeek-Chat/Scripts/.DS_Store -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Scripts/DeepSeekChat.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using TMPro; 3 | using UnityEngine.UI; 4 | 5 | namespace YagizEraslan.DeepSeek.Unity 6 | { 7 | public class DeepSeekChat : MonoBehaviour 8 | { 9 | [Header("DeepSeek Configuration")] 10 | [SerializeField] private DeepSeekSettings config; 11 | [SerializeField] private DeepSeekModel modelType = DeepSeekModel.DeepSeek_V3; 12 | [SerializeField] private bool useStreaming = false; 13 | 14 | [Header("UI Elements")] 15 | [SerializeField] private TMP_InputField inputField; 16 | [SerializeField] private Button sendButton; 17 | [SerializeField] private RectTransform sentMessagePrefab; 18 | [SerializeField] private RectTransform receivedMessagePrefab; 19 | [SerializeField] private Transform messageContainer; 20 | 21 | private DeepSeekChatController controller; 22 | private TMP_Text activeStreamingText; 23 | 24 | private void Start() 25 | { 26 | sendButton.onClick.AddListener(SendMessage); 27 | 28 | // Allow Enter key to send message 29 | inputField.onSubmit.AddListener(text => 30 | { 31 | if (!string.IsNullOrWhiteSpace(text)) 32 | { 33 | SendMessage(); 34 | } 35 | }); 36 | } 37 | 38 | private string GetSelectedModelName() 39 | { 40 | return modelType.ToModelString(); 41 | } 42 | 43 | private void SendMessage() 44 | { 45 | if (string.IsNullOrWhiteSpace(inputField.text)) return; 46 | 47 | // Create controller with latest settings 48 | controller = new DeepSeekChatController( 49 | new DeepSeekApi(config), 50 | GetSelectedModelName(), 51 | AddFullMessageToUI, 52 | AppendStreamingCharacter, 53 | useStreaming 54 | ); 55 | 56 | controller.SendUserMessage(inputField.text); 57 | inputField.text = ""; // Clear input 58 | inputField.ActivateInputField(); // Focus input again 59 | } 60 | 61 | private void AddFullMessageToUI(ChatMessage message, bool isUser) 62 | { 63 | var prefab = isUser ? sentMessagePrefab : receivedMessagePrefab; 64 | var instance = Instantiate(prefab, messageContainer); 65 | var textComponent = instance.GetComponentInChildren(); 66 | 67 | if (textComponent != null) 68 | { 69 | if (!isUser && useStreaming) 70 | { 71 | textComponent.text = ""; 72 | activeStreamingText = textComponent; 73 | } 74 | else 75 | { 76 | textComponent.text = message.content; 77 | activeStreamingText = null; 78 | } 79 | } 80 | 81 | LayoutRebuilder.ForceRebuildLayoutImmediate((RectTransform)messageContainer); 82 | } 83 | 84 | private void AppendStreamingCharacter(string partialContent) 85 | { 86 | if (activeStreamingText != null) 87 | { 88 | activeStreamingText.text = partialContent; 89 | } 90 | else 91 | { 92 | Debug.LogWarning("[UI] activeStreamingText is null — cannot update streaming content."); 93 | } 94 | } 95 | } 96 | } 97 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/Scripts/DeepSeekChat.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 00c92c21d9b7f4f229df33abf66ff030 -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 84ad24a3f7d1b4ec0bd1eb165d3715c6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/UI/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yagizeraslan/DeepSeek-Unity/94224fb16b9f322fc6f127fbbe4c2c51e7a97d61/Samples~/DeepSeek-Chat/UI/.DS_Store -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/UI/white-arrow-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yagizeraslan/DeepSeek-Unity/94224fb16b9f322fc6f127fbbe4c2c51e7a97d61/Samples~/DeepSeek-Chat/UI/white-arrow-icon.png -------------------------------------------------------------------------------- /Samples~/DeepSeek-Chat/UI/white-arrow-icon.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9978d451053207b46b7cc4ad232486ac 3 | TextureImporter: 4 | internalIDToNameTable: 5 | - first: 6 | 213: 1375092281784447911 7 | second: white-arrow_0 8 | externalObjects: {} 9 | serializedVersion: 13 10 | mipmaps: 11 | mipMapMode: 0 12 | enableMipMap: 0 13 | sRGBTexture: 1 14 | linearTexture: 0 15 | fadeOut: 0 16 | borderMipMap: 0 17 | mipMapsPreserveCoverage: 0 18 | alphaTestReferenceValue: 0.5 19 | mipMapFadeDistanceStart: 1 20 | mipMapFadeDistanceEnd: 3 21 | bumpmap: 22 | convertToNormalMap: 0 23 | externalNormalMap: 0 24 | heightScale: 0.25 25 | normalMapFilter: 0 26 | flipGreenChannel: 0 27 | isReadable: 0 28 | streamingMipmaps: 0 29 | streamingMipmapsPriority: 0 30 | vTOnly: 0 31 | ignoreMipmapLimit: 0 32 | grayScaleToAlpha: 0 33 | generateCubemap: 6 34 | cubemapConvolution: 0 35 | seamlessCubemap: 0 36 | textureFormat: 1 37 | maxTextureSize: 2048 38 | textureSettings: 39 | serializedVersion: 2 40 | filterMode: 1 41 | aniso: 1 42 | mipBias: 0 43 | wrapU: 1 44 | wrapV: 1 45 | wrapW: 1 46 | nPOTScale: 0 47 | lightmap: 0 48 | compressionQuality: 50 49 | spriteMode: 1 50 | spriteExtrude: 1 51 | spriteMeshType: 1 52 | alignment: 0 53 | spritePivot: {x: 0.5, y: 0.5} 54 | spritePixelsToUnits: 100 55 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 56 | spriteGenerateFallbackPhysicsShape: 1 57 | alphaUsage: 1 58 | alphaIsTransparency: 1 59 | spriteTessellationDetail: -1 60 | textureType: 8 61 | textureShape: 1 62 | singleChannelComponent: 0 63 | flipbookRows: 1 64 | flipbookColumns: 1 65 | maxTextureSizeSet: 0 66 | compressionQualitySet: 0 67 | textureFormatSet: 0 68 | ignorePngGamma: 0 69 | applyGammaDecoding: 0 70 | swizzle: 50462976 71 | cookieLightType: 0 72 | platformSettings: 73 | - serializedVersion: 4 74 | buildTarget: DefaultTexturePlatform 75 | maxTextureSize: 2048 76 | resizeAlgorithm: 0 77 | textureFormat: -1 78 | textureCompression: 1 79 | compressionQuality: 50 80 | crunchedCompression: 0 81 | allowsAlphaSplitting: 0 82 | overridden: 0 83 | ignorePlatformSupport: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 4 87 | buildTarget: Standalone 88 | maxTextureSize: 2048 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 0 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | ignorePlatformSupport: 0 97 | androidETC2FallbackOverride: 0 98 | forceMaximumCompressionQuality_BC6H_BC7: 0 99 | - serializedVersion: 4 100 | buildTarget: Android 101 | maxTextureSize: 2048 102 | resizeAlgorithm: 0 103 | textureFormat: -1 104 | textureCompression: 1 105 | compressionQuality: 50 106 | crunchedCompression: 0 107 | allowsAlphaSplitting: 0 108 | overridden: 0 109 | ignorePlatformSupport: 0 110 | androidETC2FallbackOverride: 0 111 | forceMaximumCompressionQuality_BC6H_BC7: 0 112 | - serializedVersion: 4 113 | buildTarget: WebGL 114 | maxTextureSize: 2048 115 | resizeAlgorithm: 0 116 | textureFormat: -1 117 | textureCompression: 1 118 | compressionQuality: 50 119 | crunchedCompression: 0 120 | allowsAlphaSplitting: 0 121 | overridden: 0 122 | ignorePlatformSupport: 0 123 | androidETC2FallbackOverride: 0 124 | forceMaximumCompressionQuality_BC6H_BC7: 0 125 | spriteSheet: 126 | serializedVersion: 2 127 | sprites: 128 | - serializedVersion: 2 129 | name: white-arrow_0 130 | rect: 131 | serializedVersion: 2 132 | x: 0 133 | y: 35 134 | width: 512 135 | height: 442 136 | alignment: 0 137 | pivot: {x: 0, y: 0} 138 | border: {x: 0, y: 0, z: 0, w: 0} 139 | customData: 140 | outline: [] 141 | physicsShape: [] 142 | tessellationDetail: -1 143 | bones: [] 144 | spriteID: 7a3b42d052f451310800000000000000 145 | internalID: 1375092281784447911 146 | vertices: [] 147 | indices: 148 | edges: [] 149 | weights: [] 150 | outline: [] 151 | customData: 152 | physicsShape: [] 153 | bones: [] 154 | spriteID: 5e97eb03825dee720800000000000000 155 | internalID: 0 156 | vertices: [] 157 | indices: 158 | edges: [] 159 | weights: [] 160 | secondaryTextures: [] 161 | spriteCustomMetadata: 162 | entries: [] 163 | nameFileIdTable: 164 | white-arrow_0: 1375092281784447911 165 | mipmapLimitGroupName: 166 | pSDRemoveMatte: 0 167 | userData: 168 | assetBundleName: 169 | assetBundleVariant: 170 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.yagizeraslan.deepseek", 3 | "version": "1.0.1", 4 | "displayName": "DeepSeek API for Unity", 5 | "description": "A lightweight, streaming-supported integration of the DeepSeek AI API for Unity projects.", 6 | "unity": "2020.3", 7 | "type": "library", 8 | "documentationUrl": "https://github.com/yagizeraslan/DeepSeek-Unity/blob/main/README.md", 9 | "changelogUrl": "https://github.com/yagizeraslan/DeepSeek-Unity/blob/main/CHANGELOG.md", 10 | "licensesUrl": "https://github.com/yagizeraslan/DeepSeek-Unity/blob/main/LICENSE", 11 | "dependencies": { 12 | "com.unity.textmeshpro": "3.0.6" 13 | }, 14 | "keywords": [ 15 | "deepseek", 16 | "ai", 17 | "api", 18 | "chat", 19 | "language model", 20 | "llm", 21 | "ai assistant", 22 | "streaming", 23 | "unitask", 24 | "unity async" 25 | ], 26 | "author": { 27 | "name": "Yagiz ERASLAN", 28 | "email": "yagizeraslan@gmail.com", 29 | "url": "https://www.linkedin.com/in/yagizeraslan/" 30 | }, 31 | "samples": [ 32 | { 33 | "displayName": "DeepSeek Chat Example", 34 | "description": "Complete example of a DeepSeek chat interface.", 35 | "path": "Samples~/DeepSeek-Chat" 36 | } 37 | ] 38 | } -------------------------------------------------------------------------------- /package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10467768817524a3bb42ac2a3d80d3c4 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | --------------------------------------------------------------------------------