migration from new repo

This commit is contained in:
mrtoine 2025-09-06 23:56:47 +02:00
commit 423134a840
26930 changed files with 3458568 additions and 0 deletions

Binary file not shown.

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: e82eea4c6be94d0bb12fda846a7eaf10
timeCreated: 1754301470

View file

@ -0,0 +1,43 @@
using UnityEngine;
namespace Decor.Runtime
{
public class InfoAdventurer : MonoBehaviour
{
#region Publics
//
#endregion
#region Unity API
//
#endregion
#region Main Methods
//
#endregion
#region Utils
/* Fonctions privées utiles */
#endregion
#region Privates and Protected
// Variables privées
#endregion
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: c255cd054d9a4063be4d44bce3a41fdb
timeCreated: 1754301480

View file

@ -0,0 +1,78 @@
using System.Collections.Generic;
using Adventurer.Runtime;
using Core.Runtime;
using EventSystem.Runtime;
using Player.Runtime;
using UnityEngine;
namespace Decor.Runtime
{
public class AdventurerApearanceSpawner : BaseMonobehaviour
{
#region Publics
//
#endregion
#region Unity API
void Start()
{
AdventurerSignals.OnAdventurerSpawnRequested += OnSpawnAdventurerModel;
List<AdventurerClass> allAdventurers = GetFact<List<AdventurerClass>>("my_adventurers");
foreach (AdventurerClass adventurer in allAdventurers)
{
OnSpawnAdventurerModel(adventurer);
_countAdventurers++;
}
StartCoroutine(WaitAndDeactivatePortraitGenerator());
}
void OnDestroy()
{
AdventurerSignals.OnAdventurerSpawnRequested -= OnSpawnAdventurerModel;
}
#endregion
#region Main Methods
void OnSpawnAdventurerModel(AdventurerClass adventurerClass)
{
GameObject model = Instantiate(_adventurerPrefab, transform);
model.GetComponent<AdventurerModelBinder>().SetupFromAdventurer(adventurerClass);
_portraitGenerator.GeneratePortrait(adventurerClass, _adventurerPrefab);
}
#endregion
#region Utils
System.Collections.IEnumerator WaitAndDeactivatePortraitGenerator()
{
yield return new WaitUntil(() => _countAdventurers == GetFact<PlayerClass>(GameManager.Instance.Profile).AdventurersCount);
yield return new WaitForSeconds(1f);
_portraitGenerator.GameObject.SetActive(false);
}
#endregion
#region Privates and Protected
[SerializeField] GameObject _adventurerPrefab;
[SerializeField] PortraitGenerator _portraitGenerator;
int _countAdventurers = 0;
#endregion
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d4245e562f224986b9ea19f4b0917793
timeCreated: 1754087745

View file

@ -0,0 +1,60 @@
using Adventurer.Runtime;
using Core.Runtime;
using UnityEngine;
namespace Decor.Runtime
{
public class AdventurerModelBinder : BaseMonobehaviour
{
#region Publics
//
#endregion
#region Unity API
//
#endregion
#region Main Methods
public void SetupFromAdventurer(AdventurerClass adventurerClass)
{
foreach (Transform part in partsRoot)
{
part.gameObject.SetActive(true);
}
foreach (string partName in adventurerClass.ModelParts.Values)
{
Transform target = partsRoot.Find(partName);
if (target != null)
{
target.gameObject.SetActive(true);
}
}
}
#endregion
#region Utils
/* Fonctions privées utiles */
#endregion
#region Privates and Protected
[SerializeField] private Transform partsRoot;
#endregion
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 13ac9df85abf4e1686d9d9a345cc5758
timeCreated: 1754088153

View file

@ -0,0 +1,19 @@
{
"name": "Decor.Runtime",
"rootNamespace": "",
"references": [
"GUID:2ca720bbf8aa349608caa5ce4acaa603",
"GUID:d01b71ecbce444a299cc1623f29e9d35",
"GUID:4a640bb60ad60478bba0cc41f9b80929",
"GUID:f5d0434d9e8c34eb1a16f4c57b172b85"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 796a630e69a1c47f2af3fab5e2bbe0de
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 17b019320dd2465ebce9f1a32399841e
timeCreated: 1754129237

View file

@ -0,0 +1,93 @@
using System.Collections;
using System.Collections.Generic;
using _.Features.Decor.Runtime;
using Adventurer.Runtime;
using Core.Runtime;
using Player.Runtime;
using UnityEngine;
using UnityEngine.AI;
namespace Decor.Runtime
{
public class PortraitGenerator : BaseMonobehaviour
{
#region Publics
//
#endregion
#region Unity API
//
#endregion
#region Main Methods
Queue<(AdventurerClass, GameObject)> _queue = new();
bool _isProcessing = false;
public void GeneratePortrait(AdventurerClass adventurerClass, GameObject prefab)
{
if (!gameObject.activeInHierarchy)
{
return;
}
_queue.Enqueue((adventurerClass, prefab));
if (!_isProcessing)
{
StartCoroutine(ProcessQueue());
}
}
IEnumerator ProcessQueue()
{
_isProcessing = true;
while (_queue.Count > 0)
{
var (adventurerClass, prefab) = _queue.Dequeue();
_currentAdventurerModel = Instantiate(prefab, transform);
_currentAdventurerModel.GetComponent<AdventurerModelBinder>().SetupFromAdventurer(adventurerClass);
_currentAdventurerModel.GetComponent<NavMeshAgent>().enabled = false;
_currentAdventurerModel.GetComponent<Deplacements>().enabled = false;
var photo = GetComponentInChildren<TakePhoto>();
if (photo != null)
{
yield return StartCoroutine(photo.CaptureRoutine(adventurerClass));
}
Destroy(_currentAdventurerModel);
yield return new WaitForEndOfFrame();
_currentAdventurerModel = null;
yield return new WaitForSeconds(0.1f); // courte pause pour laisser respirer Unity
}
_isProcessing = false;
gameObject.SetActive(false);
}
#endregion
#region Utils
#endregion
#region Privates and Protected
GameObject _currentAdventurerModel;
#endregion
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 541e352eed3541beb25f9ba5966b080c
timeCreated: 1754125969

View file

@ -0,0 +1,72 @@
using System.Collections;
using Adventurer.Runtime;
using Core.Runtime;
using EventSystem.Runtime;
using UnityEngine;
using UnityEngine.UI;
namespace _.Features.Decor.Runtime
{
public class TakePhoto : BaseMonobehaviour
{
#region Publics
public Image m_targetImage;
#endregion
#region Unity API
//
#endregion
#region Main Methods
// Coroutine to capture the portrait asynchronously
public IEnumerator CaptureRoutine(AdventurerClass adventurer)
{
yield return new WaitForEndOfFrame(); // attendre le rendu de la frame
_camera.Render();
RenderTexture renderTexture = _camera.targetTexture;
RenderTexture currentRT = RenderTexture.active;
RenderTexture.active = renderTexture;
Texture2D image = new Texture2D(renderTexture.width, renderTexture.height, TextureFormat.RGB24, false);
image.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0);
image.Apply();
RenderTexture.active = currentRT;
Sprite portraitSprite = Sprite.Create(image, new Rect(0, 0, image.width, image.height), new Vector2(0.5f, 0.5f));
AdventurerSignals.RaisePortraitCaptured(adventurer, portraitSprite);
if (m_targetImage != null)
{
m_targetImage.sprite = portraitSprite;
}
yield return new WaitForSeconds(0.1f); // attendre un court instant avant de lever l'événement final
AdventurerSignals.RaisePhotoCaptured(adventurer);
}
#endregion
#region Utils
//
#endregion
#region Privates and Protected
[SerializeField] Camera _camera;
#endregion
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 8eea51d84fd74e8eb6707e41ae1e383e
timeCreated: 1754124846