feat: add load encode image
parent
97e14cf6c5
commit
833b72d3ef
|
@ -57,3 +57,5 @@ MonoBehaviour:
|
||||||
PlayPassByAnim: {fileID: 11400000, guid: c10db4b46d64e594f9e687589c31d078, type: 2}
|
PlayPassByAnim: {fileID: 11400000, guid: c10db4b46d64e594f9e687589c31d078, type: 2}
|
||||||
PlayVideo: {fileID: 11400000, guid: dbea2d8aaa429f8469057e02ddae849d, type: 2}
|
PlayVideo: {fileID: 11400000, guid: dbea2d8aaa429f8469057e02ddae849d, type: 2}
|
||||||
ReadyCountDown: {fileID: 11400000, guid: f5790229e89bafe4c8515b2ad0a54844, type: 2}
|
ReadyCountDown: {fileID: 11400000, guid: f5790229e89bafe4c8515b2ad0a54844, type: 2}
|
||||||
|
GenerateImageSuccess: {fileID: 11400000, guid: ba199fb9cb53d9e49855afb676046607, type: 2}
|
||||||
|
EncodeImage: {fileID: 11400000, guid: 3c7d6abb16d2a994f9bcbd19c810c634, type: 2}
|
||||||
|
|
|
@ -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:
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3c7d6abb16d2a994f9bcbd19c810c634
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -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:
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ba199fb9cb53d9e49855afb676046607
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -1063,6 +1063,7 @@ GameObject:
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 1391297537}
|
- component: {fileID: 1391297537}
|
||||||
- component: {fileID: 1391297539}
|
- component: {fileID: 1391297539}
|
||||||
|
- component: {fileID: 1391297541}
|
||||||
- component: {fileID: 1391297540}
|
- component: {fileID: 1391297540}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: user_Image
|
m_Name: user_Image
|
||||||
|
@ -1088,7 +1089,7 @@ RectTransform:
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
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}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &1391297539
|
--- !u!222 &1391297539
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
|
@ -1107,7 +1108,20 @@ MonoBehaviour:
|
||||||
m_GameObject: {fileID: 1391297536}
|
m_GameObject: {fileID: 1391297536}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
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_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
|
@ -1118,13 +1132,16 @@ MonoBehaviour:
|
||||||
m_OnCullStateChanged:
|
m_OnCullStateChanged:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_Texture: {fileID: 2800000, guid: 19a2caa5566581a41b9e5347fe82591d, type: 3}
|
m_Sprite: {fileID: 21300000, guid: be9c33f3a6bc25e4f9ec0dcb6dd26e5e, type: 3}
|
||||||
m_UVRect:
|
m_Type: 0
|
||||||
serializedVersion: 2
|
m_PreserveAspect: 1
|
||||||
x: 0
|
m_FillCenter: 1
|
||||||
y: 0
|
m_FillMethod: 4
|
||||||
width: 1
|
m_FillAmount: 1
|
||||||
height: 1
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
--- !u!1 &1447100631
|
--- !u!1 &1447100631
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -1302,10 +1319,12 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: a8d568796bbc484f9d6dc1edae2a5e1c, type: 3}
|
m_Script: {fileID: 11500000, guid: a8d568796bbc484f9d6dc1edae2a5e1c, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
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}
|
_playPassByAnimEvent: {fileID: 11400000, guid: c10db4b46d64e594f9e687589c31d078, type: 2}
|
||||||
_playVideoEvent: {fileID: 11400000, guid: dbea2d8aaa429f8469057e02ddae849d, type: 2}
|
_playVideoEvent: {fileID: 11400000, guid: dbea2d8aaa429f8469057e02ddae849d, type: 2}
|
||||||
_readyCountDownEvent: {fileID: 11400000, guid: f5790229e89bafe4c8515b2ad0a54844, type: 2}
|
_readyCountDownEvent: {fileID: 11400000, guid: f5790229e89bafe4c8515b2ad0a54844, type: 2}
|
||||||
|
_encodeImageEvent: {fileID: 11400000, guid: 3c7d6abb16d2a994f9bcbd19c810c634, type: 2}
|
||||||
_idleBg: {fileID: 378183296}
|
_idleBg: {fileID: 378183296}
|
||||||
_userImager: {fileID: 1391297540}
|
_userImager: {fileID: 1391297540}
|
||||||
_process: {fileID: 1701610193}
|
_process: {fileID: 1701610193}
|
||||||
|
|
|
@ -4,18 +4,21 @@ using DG.Tweening;
|
||||||
using GadGame.Event.Type;
|
using GadGame.Event.Type;
|
||||||
using TMPro;
|
using TMPro;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.Serialization;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
|
|
||||||
namespace GadGame.Scripts.Coffee
|
namespace GadGame.Scripts.Coffee
|
||||||
{
|
{
|
||||||
public class CoffeeController : MonoBehaviour
|
public class CoffeeController : MonoBehaviour
|
||||||
{
|
{
|
||||||
[SerializeField] private VoidEvent _engageReady;
|
[SerializeField] private VoidEvent _engageReadyEvent;
|
||||||
|
[SerializeField] private VoidEvent _generateImageSuccessEvent;
|
||||||
[SerializeField] private BoolEvent _playPassByAnimEvent;
|
[SerializeField] private BoolEvent _playPassByAnimEvent;
|
||||||
[SerializeField] private BoolEvent _playVideoEvent;
|
[SerializeField] private BoolEvent _playVideoEvent;
|
||||||
[SerializeField] private FloatEvent _readyCountDownEvent;
|
[SerializeField] private FloatEvent _readyCountDownEvent;
|
||||||
|
[SerializeField] private StringEvent _encodeImageEvent;
|
||||||
[SerializeField] private CanvasGroup _idleBg;
|
[SerializeField] private CanvasGroup _idleBg;
|
||||||
[SerializeField] private RawImage _userImager;
|
[SerializeField] private LoadImageEncoded _userImager;
|
||||||
[SerializeField] private Image _process;
|
[SerializeField] private Image _process;
|
||||||
[SerializeField] private TextMeshProUGUI _hintText;
|
[SerializeField] private TextMeshProUGUI _hintText;
|
||||||
[SerializeField] private Image _loading;
|
[SerializeField] private Image _loading;
|
||||||
|
@ -33,18 +36,22 @@ namespace GadGame.Scripts.Coffee
|
||||||
|
|
||||||
private void OnEnable()
|
private void OnEnable()
|
||||||
{
|
{
|
||||||
_engageReady.Register(OnEngageReady);
|
_engageReadyEvent.Register(OnEngageReady);
|
||||||
|
_generateImageSuccessEvent.Register(OnGenerateImageSuccess);
|
||||||
_playPassByAnimEvent.Register(Play);
|
_playPassByAnimEvent.Register(Play);
|
||||||
_playVideoEvent.Register(SetPlayVideo);
|
_playVideoEvent.Register(SetPlayVideo);
|
||||||
_readyCountDownEvent.Register(SetReadyCountDown);
|
_readyCountDownEvent.Register(SetReadyCountDown);
|
||||||
|
_encodeImageEvent.Register(OnGetEncodeImage);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDisable()
|
private void OnDisable()
|
||||||
{
|
{
|
||||||
_engageReady.Unregister(OnEngageReady);
|
_engageReadyEvent.Unregister(OnEngageReady);
|
||||||
|
_generateImageSuccessEvent.Unregister(OnGenerateImageSuccess);
|
||||||
_playPassByAnimEvent.Unregister(Play);
|
_playPassByAnimEvent.Unregister(Play);
|
||||||
_playVideoEvent.Unregister(SetPlayVideo);
|
_playVideoEvent.Unregister(SetPlayVideo);
|
||||||
_readyCountDownEvent.Unregister(SetReadyCountDown);
|
_readyCountDownEvent.Unregister(SetReadyCountDown);
|
||||||
|
_encodeImageEvent.Unregister(OnGetEncodeImage);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Update()
|
private void Update()
|
||||||
|
@ -69,12 +76,17 @@ namespace GadGame.Scripts.Coffee
|
||||||
_hintText.text = _texts[0];
|
_hintText.text = _texts[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnReceivedImage()
|
private void OnGenerateImageSuccess()
|
||||||
{
|
{
|
||||||
_loading.DOFade(0, 0.5f);
|
_loading.DOFade(0, 0.5f);
|
||||||
_hintText.text = "Mô tả";
|
_hintText.text = "Mô tả";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnGetEncodeImage(string encode)
|
||||||
|
{
|
||||||
|
_userImager.LoadImage(encode);
|
||||||
|
}
|
||||||
|
|
||||||
private void OnEngageReady()
|
private void OnEngageReady()
|
||||||
{
|
{
|
||||||
_loading.gameObject.SetActive(false);
|
_loading.gameObject.SetActive(false);
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d3536b757ef94ba2b121dd35df94833d
|
||||||
|
timeCreated: 1718850975
|
|
@ -17,6 +17,8 @@ namespace GadGame
|
||||||
public BoolEvent PlayPassByAnim;
|
public BoolEvent PlayPassByAnim;
|
||||||
public BoolEvent PlayVideo;
|
public BoolEvent PlayVideo;
|
||||||
public FloatEvent ReadyCountDown;
|
public FloatEvent ReadyCountDown;
|
||||||
|
public VoidEvent GenerateImageSuccess;
|
||||||
|
public StringEvent EncodeImage;
|
||||||
|
|
||||||
protected override async void Awake()
|
protected override async void Awake()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue