Commit 5f34f841 authored by Mahmoud Mostafa's avatar Mahmoud Mostafa

Added the feedback, enemies and removed the pause from the runner

parent 62a53115
This diff is collapsed.
fileFormatVersion: 2
guid: d9891b839842aaa47b82de83a501bb13
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -18,7 +18,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!4 &8159818238836307498
Transform:
m_ObjectHideFlags: 0
......@@ -490,7 +490,7 @@ GameObject:
- component: {fileID: 7309656241884795972}
- component: {fileID: 4427433801934824718}
m_Layer: 0
m_Name: Panel
m_Name: Panel 1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
......@@ -586,7 +586,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!4 &2086452007185196314
Transform:
m_ObjectHideFlags: 0
......@@ -1256,7 +1256,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!4 &2188226815103898673
Transform:
m_ObjectHideFlags: 0
......@@ -1362,7 +1362,7 @@ GameObject:
- component: {fileID: 7349749724705030241}
- component: {fileID: 6514002172880948282}
m_Layer: 0
m_Name: Panel
m_Name: Panel 4
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
......@@ -1493,7 +1493,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!4 &6327679672916394243
Transform:
m_ObjectHideFlags: 0
......@@ -1678,11 +1678,17 @@ MonoBehaviour:
forwardOffset: 5
_questionText: {fileID: 3292321362202908030}
_sourceText: {fileID: 6004065417163962866}
AnswerPanels:
AnswerTexts:
- {fileID: 3655114964514564590}
- {fileID: 7797954248204838933}
- {fileID: 3213798201639086454}
- {fileID: 8641588693722270660}
PanelRenderers:
- {fileID: 4427433801934824718}
- {fileID: 7886255794680787776}
- {fileID: 1319201922086850458}
- {fileID: 6514002172880948282}
_baseColor: {r: 0, g: 1, b: 0.99607843, a: 0.6}
--- !u!1 &6016451656855434228
GameObject:
m_ObjectHideFlags: 0
......@@ -1885,7 +1891,7 @@ GameObject:
- component: {fileID: 4202180332432654217}
- component: {fileID: 1319201922086850458}
m_Layer: 0
m_Name: Panel
m_Name: Panel 3
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
......@@ -2108,7 +2114,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!4 &3498838900731819418
Transform:
m_ObjectHideFlags: 0
......@@ -2220,7 +2226,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!4 &4352678685556519927
Transform:
m_ObjectHideFlags: 0
......@@ -2332,7 +2338,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!4 &3106290132336646861
Transform:
m_ObjectHideFlags: 0
......@@ -2624,7 +2630,7 @@ GameObject:
- component: {fileID: 5636481141349987335}
- component: {fileID: 7886255794680787776}
m_Layer: 0
m_Name: Panel
m_Name: Panel 2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
......@@ -2755,7 +2761,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!4 &4635802763974277353
Transform:
m_ObjectHideFlags: 0
......
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: body_diff 1
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _METALLICSPECGLOSSMAP
- _SPECGLOSSMAP
m_InvalidKeywords:
- _METALLICGLOSSMAP
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 2800000, guid: aab68ecf469354f6490c3b424a83398c, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: aab68ecf469354f6490c3b424a83398c, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 2800000, guid: aab68ecf469354f6490c3b424a83398c, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 2800000, guid: aab68ecf469354f6490c3b424a83398c, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0.444
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0.488
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.444
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _XRMotionVectorsPass: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.97735846, g: 0.27107865, b: 0.27107865, a: 1}
- _Color: {r: 0.9773584, g: 0.27107862, b: 0.27107862, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &235208687233036427
MonoBehaviour:
m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
version: 10
fileFormatVersion: 2
guid: 38684b09cbd43d64eaf6001670864032
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
......@@ -577,6 +577,7 @@ MonoBehaviour:
ambientColor: {r: 0.3137255, g: 0.33333334, b: 0.43137255, a: 1}
playerPrefab: {fileID: 2052400494605065496, guid: e708d5c6f81d6194a98915060d1ea703, type: 3}
playerSpawnPosition: {x: 0, y: 0, z: 0}
competitorPrefab: {fileID: 1751382728646269656, guid: d9891b839842aaa47b82de83a501bb13, type: 3}
gatePrefab: {fileID: 3359827651679123104, guid: 42117f56d26465849a8d9625da3bb1ca, type: 3}
questionDisplayPrefab: {fileID: 5658176873693731764, guid: 68bdbb203201e184ab4984036d94d106, type: 3}
questionDisplayOffset: {x: 0, y: 8, z: 10}
......@@ -930,6 +931,67 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 1964cabfcd36cd34e93258702a1d4c9b, type: 3}
--- !u!1001 &6656915196975163273
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1751382728646269656, guid: d9891b839842aaa47b82de83a501bb13, type: 3}
propertyPath: m_Name
value: MCQ_Competitor
objectReference: {fileID: 0}
- target: {fileID: 1751382728646269656, guid: d9891b839842aaa47b82de83a501bb13, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3634759875785727473, guid: d9891b839842aaa47b82de83a501bb13, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3634759875785727473, guid: d9891b839842aaa47b82de83a501bb13, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3634759875785727473, guid: d9891b839842aaa47b82de83a501bb13, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3634759875785727473, guid: d9891b839842aaa47b82de83a501bb13, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3634759875785727473, guid: d9891b839842aaa47b82de83a501bb13, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3634759875785727473, guid: d9891b839842aaa47b82de83a501bb13, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3634759875785727473, guid: d9891b839842aaa47b82de83a501bb13, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3634759875785727473, guid: d9891b839842aaa47b82de83a501bb13, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3634759875785727473, guid: d9891b839842aaa47b82de83a501bb13, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3634759875785727473, guid: d9891b839842aaa47b82de83a501bb13, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: d9891b839842aaa47b82de83a501bb13, type: 3}
--- !u!1001 &8716465729602274553
PrefabInstance:
m_ObjectHideFlags: 0
......@@ -1003,4 +1065,5 @@ SceneRoots:
- {fileID: 6461165113385171017}
- {fileID: 1015746448}
- {fileID: 8716465729602274553}
- {fileID: 6656915196975163273}
- {fileID: 610439457}
using com.al_arcade.mcq;
using DG.Tweening;
using UnityEngine;
public class McqCompetitor : MonoBehaviour
{
private McqGameManager _manager;
private float _initialSpeed;
private float _currentSpeed;
private bool _isRunning;
private Vector3 _startPosition;
private float timer = 1;
private void Awake()
{
_startPosition = transform.position;
}
public void SetupManager(McqGameManager manager)
{
if (manager == null) print("Null manager");
_manager = manager;
manager.onAnswerGiven.AddListener(ChangeZLevel);
}
private void ChangeZLevel(bool correct)
{
Stop();
transform.DOKill();
transform.DOMoveZ(transform.position.z + (correct ? -10f : 10f) + _initialSpeed * timer, timer)
.SetEase(Ease.OutQuad).OnComplete(() =>
{
RunForward(_initialSpeed);
});
}
public void RunForward(float speed)
{
_initialSpeed = speed;
_currentSpeed = speed;
_isRunning = true;
}
public void Stop()
{
_currentSpeed = 0;
_isRunning = false;
}
public void ResetToStart()
{
Stop();
DOTween.Kill(transform);
transform.position = _startPosition;
transform.rotation = Quaternion.identity;
transform.localScale = Vector3.one;
}
private void Update()
{
if (!_isRunning) return;
transform.position += Vector3.forward * (_currentSpeed * Time.deltaTime);
}
}
fileFormatVersion: 2
guid: 6ad28f82027dbcd4d9fd3b368f084d04
\ No newline at end of file
......@@ -31,6 +31,7 @@ namespace com.al_arcade.mcq
[Header("References")]
public McqPlayerRunner player;
public McqCompetitor competitor;
public McqQuestionDisplay questionDisplay;
public McqUIManager uiManager;
public Transform gateParent;
......@@ -94,7 +95,8 @@ namespace com.al_arcade.mcq
private IEnumerator StartGameRoutine()
{
player.SetupManager(this);
player?.SetupManager(this);
competitor?.SetupManager(this);
_state = McqGameState.Loading;
if (uiManager != null) uiManager.ShowLoading("جاري تحميل الأسئلة...");
......@@ -187,6 +189,7 @@ namespace com.al_arcade.mcq
gate.onPlayerEnter += OnGateHit;
if (player != null) player.RunForward(playerRunSpeed);
if (competitor != null) competitor.RunForward(playerRunSpeed);
float timeout = gateSpawnDistance / playerRunSpeed + 5f;
float timer = 0;
......@@ -196,7 +199,10 @@ namespace com.al_arcade.mcq
yield return null;
}
/*
if (player != null) player.Stop();
if (competitor != null) competitor.Stop();
*/
foreach (var gate in _activeGates)
gate.onPlayerEnter -= OnGateHit;
......@@ -219,7 +225,7 @@ namespace com.al_arcade.mcq
yield return new WaitForSeconds(0.5f);
_state = McqGameState.BetweenQuestions;
if (player != null) yield return player.MoveToNextLane(0.4f);
//if (player != null) yield return player.MoveToNextLane(0.4f);
if (questionDisplay != null) questionDisplay.Hide();
}
......@@ -348,8 +354,16 @@ namespace com.al_arcade.mcq
foreach (var g in _activeGates)
{
if (g == null) continue;
if (g.GateIndex == _correctGateIndex) g.PlayCorrectAnimation();
else g.PlayFadeOut();
if (g.GateIndex == _correctGateIndex)
{
g.PlayCorrectAnimation();
if (questionDisplay != null) questionDisplay.PlayCorrectAnimation(g.GateIndex);
}
else
{
g.PlayFadeOut();
if (questionDisplay != null) questionDisplay.PlayFadeOut(g.GateIndex);
}
}
}
......@@ -360,8 +374,16 @@ namespace com.al_arcade.mcq
foreach (var g in _activeGates)
{
if (g == null) continue;
if (g.GateIndex == _correctGateIndex) g.PlayRevealCorrect();
else if (g.WasEntered) g.PlayWrongAnimation();
if (g.GateIndex == _correctGateIndex)
{
g.PlayRevealCorrect();
if (questionDisplay != null) questionDisplay.PlayRevealCorrect(g.GateIndex);
}
else if (g.WasEntered)
{
g.PlayWrongAnimation();
if (questionDisplay != null) questionDisplay.PlayWrongAnimation(g.GateIndex);
}
}
if (Camera.main != null)
......
......@@ -36,6 +36,7 @@ namespace com.al_arcade.mcq
"Tag it 'Player'. If null, a procedural player is created.")]
[SerializeField] private GameObject playerPrefab;
[SerializeField] private Vector3 playerSpawnPosition = Vector3.zero;
[SerializeField] private GameObject competitorPrefab;
[Header("Answer Gate")]
......@@ -97,6 +98,7 @@ namespace com.al_arcade.mcq
private McqPlayerRunner _player;
private McqQuestionDisplay _questionDisplay;
private McqUIManager _uiManager;
private McqCompetitor _competitor;
private void Start()
{
......@@ -167,6 +169,12 @@ namespace com.al_arcade.mcq
rb.isKinematic = true;
rb.useGravity = false;
}
if (competitorPrefab != null)
{
var competitorObj = Instantiate(competitorPrefab, playerSpawnPosition, Quaternion.identity);
_competitor = competitorObj.GetComponent<McqCompetitor>();
}
yield return null;
......@@ -220,6 +228,7 @@ namespace com.al_arcade.mcq
var gmObj = new GameObject("McqGameManager");
_gm = gmObj.AddComponent<McqGameManager>();
_gm.player = _player;
_gm.competitor = _competitor;
_gm.questionDisplay = _questionDisplay;
_gm.uiManager = _uiManager;
_gm.gateParent = new GameObject("Gates").transform;
......@@ -304,6 +313,7 @@ namespace com.al_arcade.mcq
{
if (_gm != null) _gm.ResetGame();
if (_player != null) _player.ResetToStart();
if (_competitor != null) _competitor.ResetToStart();
SetupCamera();
if (_gm != null) _gm.StartGame();
}
......
......@@ -5,6 +5,7 @@ using UnityEngine;
namespace com.al_arcade.mcq
{
using shared;
using System.Collections;
using static Unity.VisualScripting.Member;
public class McqQuestionDisplay : MonoBehaviour
......@@ -18,7 +19,9 @@ namespace com.al_arcade.mcq
[SerializeField] private ArabicTextMeshPro _sourceText;
[Header("Answer Panels")]
[SerializeField] private ArabicTextMeshPro[] AnswerPanels;
[SerializeField] private ArabicTextMeshPro[] AnswerTexts;
[SerializeField] private MeshRenderer[] PanelRenderers;
[SerializeField] private Color _baseColor;
private GameObject _panel;
private Transform _playerTransform;
private bool _visible;
......@@ -102,21 +105,71 @@ namespace com.al_arcade.mcq
{
for (int i = 0; i < 4; i++)
{
AnswerPanels[i].arabicText = answers[i];
AnswerTexts[i].arabicText = answers[i];
}
}
private IEnumerator ReturnToBaseColor(int index)
{
yield return new WaitForSeconds(2.8f);
print("Return for " + index);
PanelRenderers[index].material.DOColor(_baseColor, 0.3f);
}
public void PlayCorrectAnimation(int index)
{
if (PanelRenderers != null) PanelRenderers[index].material.DOColor(SSColorPalette.GateCorrect, 0.3f);
transform.DOPunchScale(Vector3.one * 0.2f, 0.5f, 8, 0.5f);
if (AnswerTexts != null) AnswerTexts[index].transform.DOPunchScale(Vector3.one * 0.3f, 0.4f, 6, 0.3f);
StartCoroutine(ReturnToBaseColor(index));
print("Correct for " + index);
}
public void PlayWrongAnimation(int index)
{
if (PanelRenderers != null) PanelRenderers[index].material.DOColor(SSColorPalette.GateWrong, 0.3f);
transform.DOShakePosition(0.5f, 0.4f, 20, 90f, false, true);
transform.DOShakeRotation(0.5f, 10f, 20, 90f, true);
StartCoroutine(ReturnToBaseColor(index));
print("Wrong for " + index);
}
public void PlayRevealCorrect(int index)
{
if (PanelRenderers != null)
{
var seq = DOTween.Sequence();
seq.Append(PanelRenderers[index].material.DOColor(SSColorPalette.GateCorrect, 0.2f));
seq.Append(PanelRenderers[index].material.DOColor(SSColorPalette.Accent, 0.3f));
seq.Append(PanelRenderers[index].material.DOColor(SSColorPalette.GateCorrect, 0.3f));
seq.SetLoops(3, LoopType.Restart);
}
transform.DOPunchScale(Vector3.one * 0.15f, 0.8f, 4, 0.2f);
StartCoroutine(ReturnToBaseColor(index));
print("Reveal for " + index);
}
public void PlayFadeOut(int index)
{
/*
if (_panelMaterial != null) _panelMaterial.DOFade(0.3f, 0.5f);
*/
if (PanelRenderers != null) PanelRenderers[index].material.DOFade(0.3f, 0.5f);
transform.DOScale(Vector3.one * 0.8f, 0.5f).SetEase(Ease.InBack);
StartCoroutine(ReturnToBaseColor(index));
print("Fade for " + index);
}
public void Show(McqQuestion question)
{
if (_questionText != null) _questionText.arabicText = question.question_text ?? "";
if (_sourceText != null)
_sourceText.arabicText = !string.IsNullOrEmpty(question.source) ? $"📖 {question.source}" : "";
if (AnswerPanels.Length == 4)
if (AnswerTexts.Length == 4)
{
AnswerPanels[0].arabicText = question.answer1;
AnswerPanels[1].arabicText = question.answer2;
AnswerPanels[2].arabicText = question.answer3;
AnswerPanels[3].arabicText = question.answer4;
AnswerTexts[0].arabicText = question.answer1;
AnswerTexts[1].arabicText = question.answer2;
AnswerTexts[2].arabicText = question.answer3;
AnswerTexts[3].arabicText = question.answer4;
}
_visible = true;
DOTween.Kill(transform, "displayScale");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment