feat: add load encode image

pull/2/head
tiendat3699 2024-06-20 10:25:06 +07:00
parent 97e14cf6c5
commit 833b72d3ef
10 changed files with 130 additions and 15 deletions

View File

@ -57,3 +57,5 @@ MonoBehaviour:
PlayPassByAnim: {fileID: 11400000, guid: c10db4b46d64e594f9e687589c31d078, type: 2}
PlayVideo: {fileID: 11400000, guid: dbea2d8aaa429f8469057e02ddae849d, type: 2}
ReadyCountDown: {fileID: 11400000, guid: f5790229e89bafe4c8515b2ad0a54844, type: 2}
GenerateImageSuccess: {fileID: 11400000, guid: ba199fb9cb53d9e49855afb676046607, type: 2}
EncodeImage: {fileID: 11400000, guid: 3c7d6abb16d2a994f9bcbd19c810c634, type: 2}

View File

@ -0,0 +1,14 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 835f0e9a0e0b4ceeac7446d5f7384fb3, type: 3}
m_Name: EncodeImage
m_EditorClassIdentifier:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3c7d6abb16d2a994f9bcbd19c810c634
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,14 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2c1390943a3e4db69adfdfa5c2bfb8ed, type: 3}
m_Name: GenerateImageSuccess
m_EditorClassIdentifier:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ba199fb9cb53d9e49855afb676046607
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1063,6 +1063,7 @@ GameObject:
m_Component:
- component: {fileID: 1391297537}
- component: {fileID: 1391297539}
- component: {fileID: 1391297541}
- component: {fileID: 1391297540}
m_Layer: 5
m_Name: user_Image
@ -1088,7 +1089,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_SizeDelta: {x: 200, y: 200}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1391297539
CanvasRenderer:
@ -1107,7 +1108,20 @@ MonoBehaviour:
m_GameObject: {fileID: 1391297536}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Script: {fileID: 11500000, guid: d3536b757ef94ba2b121dd35df94833d, type: 3}
m_Name:
m_EditorClassIdentifier:
_preserveAspect: 1
--- !u!114 &1391297541
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1391297536}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
@ -1118,13 +1132,16 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 2800000, guid: 19a2caa5566581a41b9e5347fe82591d, type: 3}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
m_Sprite: {fileID: 21300000, guid: be9c33f3a6bc25e4f9ec0dcb6dd26e5e, type: 3}
m_Type: 0
m_PreserveAspect: 1
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &1447100631
GameObject:
m_ObjectHideFlags: 0
@ -1302,10 +1319,12 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a8d568796bbc484f9d6dc1edae2a5e1c, type: 3}
m_Name:
m_EditorClassIdentifier:
_engageReady: {fileID: 11400000, guid: fe5195f172adfa043a0fe2ea639504a4, type: 2}
_engageReadyEvent: {fileID: 11400000, guid: fe5195f172adfa043a0fe2ea639504a4, type: 2}
_generateImageSuccessEvent: {fileID: 11400000, guid: ba199fb9cb53d9e49855afb676046607, type: 2}
_playPassByAnimEvent: {fileID: 11400000, guid: c10db4b46d64e594f9e687589c31d078, type: 2}
_playVideoEvent: {fileID: 11400000, guid: dbea2d8aaa429f8469057e02ddae849d, type: 2}
_readyCountDownEvent: {fileID: 11400000, guid: f5790229e89bafe4c8515b2ad0a54844, type: 2}
_encodeImageEvent: {fileID: 11400000, guid: 3c7d6abb16d2a994f9bcbd19c810c634, type: 2}
_idleBg: {fileID: 378183296}
_userImager: {fileID: 1391297540}
_process: {fileID: 1701610193}

View File

@ -4,18 +4,21 @@ using DG.Tweening;
using GadGame.Event.Type;
using TMPro;
using UnityEngine;
using UnityEngine.Serialization;
using UnityEngine.UI;
namespace GadGame.Scripts.Coffee
{
public class CoffeeController : MonoBehaviour
{
[SerializeField] private VoidEvent _engageReady;
[SerializeField] private VoidEvent _engageReadyEvent;
[SerializeField] private VoidEvent _generateImageSuccessEvent;
[SerializeField] private BoolEvent _playPassByAnimEvent;
[SerializeField] private BoolEvent _playVideoEvent;
[SerializeField] private FloatEvent _readyCountDownEvent;
[SerializeField] private StringEvent _encodeImageEvent;
[SerializeField] private CanvasGroup _idleBg;
[SerializeField] private RawImage _userImager;
[SerializeField] private LoadImageEncoded _userImager;
[SerializeField] private Image _process;
[SerializeField] private TextMeshProUGUI _hintText;
[SerializeField] private Image _loading;
@ -33,18 +36,22 @@ namespace GadGame.Scripts.Coffee
private void OnEnable()
{
_engageReady.Register(OnEngageReady);
_engageReadyEvent.Register(OnEngageReady);
_generateImageSuccessEvent.Register(OnGenerateImageSuccess);
_playPassByAnimEvent.Register(Play);
_playVideoEvent.Register(SetPlayVideo);
_readyCountDownEvent.Register(SetReadyCountDown);
_encodeImageEvent.Register(OnGetEncodeImage);
}
private void OnDisable()
{
_engageReady.Unregister(OnEngageReady);
_engageReadyEvent.Unregister(OnEngageReady);
_generateImageSuccessEvent.Unregister(OnGenerateImageSuccess);
_playPassByAnimEvent.Unregister(Play);
_playVideoEvent.Unregister(SetPlayVideo);
_readyCountDownEvent.Unregister(SetReadyCountDown);
_encodeImageEvent.Unregister(OnGetEncodeImage);
}
private void Update()
@ -69,12 +76,17 @@ namespace GadGame.Scripts.Coffee
_hintText.text = _texts[0];
}
private void OnReceivedImage()
private void OnGenerateImageSuccess()
{
_loading.DOFade(0, 0.5f);
_hintText.text = "Mô tả";
}
private void OnGetEncodeImage(string encode)
{
_userImager.LoadImage(encode);
}
private void OnEngageReady()
{
_loading.gameObject.SetActive(false);

View File

@ -0,0 +1,33 @@
using System;
using UnityEngine;
using UnityEngine.UI;
namespace GadGame.Scripts
{
[RequireComponent(typeof(Image))]
public class LoadImageEncoded : MonoBehaviour
{
[SerializeField] private bool _preserveAspect;
private Image _image;
private Texture2D _texture;
private void Awake()
{
_image = GetComponent<Image>();
_image.preserveAspect = _preserveAspect;
_texture = new Texture2D(1, 1);
}
public void LoadImage(string encodeString)
{
//Decode the Base64 string to a byte array
byte[] imageBytes = Convert.FromBase64String(encodeString);
_texture.LoadImage(imageBytes); // Automatically resizes the texture dimensions
var sprite = Sprite.Create(_texture, new Rect(0, 0, _texture.width, _texture.height), new Vector2(0.5f, 0.5f), 100);
_image.sprite = sprite;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d3536b757ef94ba2b121dd35df94833d
timeCreated: 1718850975

View File

@ -17,6 +17,8 @@ namespace GadGame
public BoolEvent PlayPassByAnim;
public BoolEvent PlayVideo;
public FloatEvent ReadyCountDown;
public VoidEvent GenerateImageSuccess;
public StringEvent EncodeImage;
protected override async void Awake()
{