Commit 1f37fd79 authored by saad's avatar saad

save final thing

parent b78861cb
......@@ -43,7 +43,7 @@ Material:
- _BaseMap:
m_Texture: {fileID: 2800000, guid: ecb4d2dab80d4b040a346045d0080ee8, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 5.32}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
......@@ -51,7 +51,7 @@ Material:
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1.69, y: 1.69}
m_Offset: {x: 8.4, y: 16.7}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
......@@ -67,7 +67,7 @@ Material:
- _MainTex:
m_Texture: {fileID: 2800000, guid: ecb4d2dab80d4b040a346045d0080ee8, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 5.32}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
......
fileFormatVersion: 2
guid: f4227764308e84f89a765fbf315e2945
guid: bcb536de0fc95435c8aa05ec7057d856
DefaultImporter:
externalObjects: {}
userData:
......
fileFormatVersion: 2
guid: 41e59f562b69648719f2424c438758f3
guid: 9e9f7f46a1ba34c338eb95b193ae1327
DefaultImporter:
externalObjects: {}
userData:
......
fileFormatVersion: 2
guid: 92a80e6f6cd90464b8f87b98fc72999a
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -729,6 +729,9 @@ Transform:
m_Children:
- {fileID: 7442475736401940154}
- {fileID: 8712601707282464880}
- {fileID: 4217664214195764861}
- {fileID: 1533899860506426445}
- {fileID: 926525146599412894}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &768269368300865515
......@@ -11322,3 +11325,189 @@ Transform:
- {fileID: 6488169449977514579}
m_Father: {fileID: 8740344141404030124}
m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
--- !u!1001 &4785718658109270039
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 513190705983833972}
m_Modifications:
- target: {fileID: 8616157522968420568, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_Name
value: Spawner
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalPosition.x
value: 15.2
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalPosition.y
value: -1.00068
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalPosition.z
value: 11.8
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalRotation.w
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalRotation.y
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 90
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
--- !u!4 &4217664214195764861 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
m_PrefabInstance: {fileID: 4785718658109270039}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &7902673071789419047
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 513190705983833972}
m_Modifications:
- target: {fileID: 8616157522968420568, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_Name
value: Spawner (1)
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalPosition.x
value: 9.5
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalPosition.y
value: -1.00068
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalPosition.z
value: -12.4
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
--- !u!4 &1533899860506426445 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
m_PrefabInstance: {fileID: 7902673071789419047}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &8374939610312753908
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 513190705983833972}
m_Modifications:
- target: {fileID: 8616157522968420568, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_Name
value: Spawner (2)
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalPosition.x
value: 9.5
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalPosition.y
value: -1.00068
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalPosition.z
value: 34
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
--- !u!4 &926525146599412894 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 8710646134827914858, guid: 49b89efd120fea1488561cbec9b1aed4, type: 3}
m_PrefabInstance: {fileID: 8374939610312753908}
m_PrefabAsset: {fileID: 0}
using UnityEngine;
using DG.Tweening;
public class MaterialOffsetController : MonoBehaviour
{
[SerializeField] private Renderer targetRenderer;
[SerializeField] private string textureProperty = "_BaseMap";
private Material _material;
private Vector2 _currentOffset;
private void Awake()
{
if (targetRenderer == null)
targetRenderer = GetComponent<Renderer>();
if (targetRenderer == null) return;
_material = targetRenderer.material;
_currentOffset = _material.GetTextureOffset(textureProperty);
}
private void Update()
{
// Test keys
if (Input.GetKeyDown(KeyCode.R))
{
AddOffset(new Vector2(0, 1f), 1f);
}
if (Input.GetKeyDown(KeyCode.T))
{
AddOffset(new Vector2(0, -1f), 1f);
}
}
// Add or subtract offset (ACCUMULATIVE)
public void AddOffset(Vector2 offsetDelta, float duration)
{
_currentOffset += offsetDelta;
_material.DOKill();
DOTween.To(
() => _material.GetTextureOffset(textureProperty),
x => _material.SetTextureOffset(textureProperty, x),
_currentOffset,
duration
).SetEase(Ease.Linear);
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 1a572fb2aaef583489d7d2f2753e7df6
\ No newline at end of file
......@@ -118,7 +118,7 @@ Transform:
m_GameObject: {fileID: 1402421348962867540}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 1.1591821, y: 1.999761, z: -0.53205925}
m_LocalPosition: {x: 1.1591821, y: 1, z: -0.53205925}
m_LocalScale: {x: 1, y: 1.0000004, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
......@@ -598,6 +598,7 @@ GameObject:
- component: {fileID: 5616490799219598204}
- component: {fileID: 5143494014749849738}
- component: {fileID: 6266125106755470900}
- component: {fileID: 6165108198011398834}
m_Layer: 0
m_Name: PaletArrow.010
m_TagString: Untagged
......@@ -677,6 +678,20 @@ MeshRenderer:
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!114 &6165108198011398834
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3645059612988767284}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1a572fb2aaef583489d7d2f2753e7df6, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::MaterialOffsetController
targetRenderer: {fileID: 6266125106755470900}
textureProperty: _BaseMap
--- !u!1 &3717201892354123741
GameObject:
m_ObjectHideFlags: 0
......@@ -1276,6 +1291,8 @@ MonoBehaviour:
productRenderer: {fileID: 51274912334713960}
startPoint: {fileID: 7080183652883409070}
endPoint: {fileID: 2475787125879602811}
materialOffsetController: {fileID: 6165108198011398834}
door: {fileID: 7081022774827141293}
--- !u!1 &8267369567458702151
GameObject:
m_ObjectHideFlags: 0
......
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &8616157522968420568
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8710646134827914858}
- component: {fileID: 6093435661150912601}
m_Layer: 0
m_Name: Spawner
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8710646134827914858
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8616157522968420568}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 2.779072, y: 4.5900006, z: 33.375885}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &6093435661150912601
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8616157522968420568}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 773444aa396dbe80ea8adc38fb78218f, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::ScienceStreet.Shared.FloatingScienceSpawner
spawnCount: 12
areaSize: {x: 50, y: 18, z: 10}
areaCenterOffset: {x: 0, y: 0, z: 0}
minScale: 1.2
maxScale: 2
jitterAmount: 0.8
gizmoColor: {r: 0, g: 1, b: 1, a: 0.3}
showGizmoAlways: 1
prefabs:
- {fileID: 2133177836924687968, guid: b07c6f601396c371abf1e61b52480d5e, type: 3}
- {fileID: 3271137096398141718, guid: 99f8ba5ef1ac0e59ab715db1598ced7c, type: 3}
- {fileID: 7874520763742037455, guid: f9d3c22239a8369faaadf615572ec9a1, type: 3}
- {fileID: 5762919650071864259, guid: 4b2fea39f1c8420e48f5d8dd788b86e8, type: 3}
- {fileID: 4360980505574456908, guid: 5afa4968763d862a0963c0a4148c4bb7, type: 3}
- {fileID: 1392607843811860057, guid: b1a3f42ea776dbf3dba3ee6d3dff6494, type: 3}
fileFormatVersion: 2
guid: 49b89efd120fea1488561cbec9b1aed4
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -161,7 +161,7 @@ MonoBehaviour:
questionScreenPrefab: {fileID: 7860356177688906163, guid: a7bc5322cb612b441b312eaecb1fe426, type: 3}
questionScreenPosition: {x: 0, y: 5, z: 12}
handsPrefab: {fileID: 0}
canvasPrefab: {fileID: 3894880173111223596, guid: d6a1a07bf3a4ce542a308dd2fe59e188, type: 3}
canvasPrefab: {fileID: 0}
sfxCorrect: {fileID: 0}
sfxWrong: {fileID: 0}
sfxClick: {fileID: 0}
......
using System.Collections.Generic;
using System.Collections.Generic;
using UnityEngine;
using com.al_arcade.shared;
......@@ -7,7 +7,7 @@ namespace ScienceStreet.Shared
public class FloatingScienceSpawner : MonoBehaviour
{
[Header("Spawn Settings")]
[SerializeField] private int spawnCount = 27; // Higher count recommended for grid (e.g. 3x3x3)
[SerializeField] private int spawnCount = 27;
[SerializeField] private Vector3 areaSize = new Vector3(10, 5, 10);
[SerializeField] private Vector3 areaCenterOffset = Vector3.zero;
......@@ -20,7 +20,7 @@ namespace ScienceStreet.Shared
[SerializeField] private Color gizmoColor = new Color(0, 1, 1, 0.3f);
[SerializeField] private bool showGizmoAlways = true;
[SerializeField] List<GameObject> prefabs = new();
[SerializeField] private List<GameObject> prefabs = new();
private void Start()
{
......@@ -29,11 +29,7 @@ namespace ScienceStreet.Shared
public void SpawnItemsUniform()
{
if (spawnCount <= 0) return;
// Determine grid dimensions (nx, ny, nz) based on spawnCount and areaSize aspect ratio
// We want nx * ny * nz approx= spawnCount
// and nx/ny approx= areaSize.x/areaSize.y, etc.
if (spawnCount <= 0 || prefabs.Count == 0) return;
float volume = areaSize.x * areaSize.y * areaSize.z;
float density = Mathf.Pow(spawnCount / volume, 1f / 3f);
......@@ -42,25 +38,25 @@ namespace ScienceStreet.Shared
int ny = Mathf.Max(1, Mathf.RoundToInt(areaSize.y * density));
int nz = Mathf.Max(1, Mathf.RoundToInt(areaSize.z * density));
// Adjust nx, ny, nz to be closer to spawnCount if possible
// but for simplicity, we'll just use the calculated grid and may spawn slightly more/less than requested.
// Or we can just iterate until we hit spawnCount.
Vector3 cellSize = new Vector3(areaSize.x / nx, areaSize.y / ny, areaSize.z / nz);
Vector3 startPos = transform.position + areaCenterOffset - areaSize * 0.5f;
var opacity = 80;
// LOCAL SPACE start (important fix)
Vector3 localStart = areaCenterOffset - areaSize * 0.5f;
Color[] colors = {
new Color32(254, 215, 0, (byte)opacity),
new Color32(82, 81, 247, (byte)opacity),
new Color32(0, 137, 107, (byte)opacity),
new Color32(255, 146, 1, (byte)opacity),
new Color32(0, 219, 238, (byte)opacity),
new Color32(164, 255, 90, (byte)opacity),
int opacity = 80;
Color[] colors =
{
new Color32(254, 215, 0, (byte)opacity),
new Color32(82, 81, 247, (byte)opacity),
new Color32(0, 137, 107, (byte)opacity),
new Color32(255, 146, 1, (byte)opacity),
new Color32(0, 219, 238, (byte)opacity),
new Color32(164, 255, 90, (byte)opacity),
};
int spawned = 0;
for (int x = 0; x < nx; x++)
{
for (int y = 0; y < ny; y++)
......@@ -69,48 +65,44 @@ new Color32(164, 255, 90, (byte)opacity),
{
if (spawned >= spawnCount) break;
// Center of the cell
Vector3 cellCenter = startPos + new Vector3(
// LOCAL cell center
Vector3 localCellCenter = localStart + new Vector3(
(x + 0.5f) * cellSize.x,
(y + 0.5f) * cellSize.y,
(z + 0.5f) * cellSize.z
);
// Jitter within the cell
// LOCAL jitter
Vector3 jitter = new Vector3(
Random.Range(-cellSize.x * 0.5f, cellSize.x * 0.5f) * jitterAmount,
Random.Range(-cellSize.y * 0.5f, cellSize.y * 0.5f) * jitterAmount,
Random.Range(-cellSize.z * 0.5f, cellSize.z * 0.5f) * jitterAmount
);
Vector3 spawnPos = cellCenter + jitter;
Vector3 localPos = localCellCenter + jitter;
// Convert LOCAL → WORLD (this makes rotation work)
Vector3 worldPos = transform.TransformPoint(localPos);
GameObject prefab = prefabs[Random.Range(0, prefabs.Count)];
GameObject instance = Instantiate(prefab, worldPos, Random.rotation, transform);
var prefab = prefabs[Random.Range(0, prefabs.Count)];
GameObject instance = Instantiate(prefab);
instance.name = $"Floating_{prefab.name}_{spawned}";
instance.transform.SetParent(transform);
instance.transform.position = spawnPos;
// Randomize scale
float randomScale = Random.Range(minScale, maxScale);
instance.transform.localScale = Vector3.one * randomScale;
// Apply random color with balanced saturation
Color baseCol = colors[Random.Range(0, colors.Length)];
var renderer = instance.GetComponent<Renderer>();
renderer.material.color = baseCol;
// if (renderer != null)
// {
// renderer.material = new Material(Shader.Find("Universal Render Pipeline/Lit"));
// renderer.material.SetFloat("_Smoothness", 0);
// }
Renderer renderer = instance.GetComponent<Renderer>();
if (renderer != null)
{
renderer.material.color = colors[Random.Range(0, colors.Length)];
}
// Add FloatingScience component
instance.AddComponent<FloatingScience>();
// Remove collider
Destroy(instance.GetComponent<Collider>());
Collider col = instance.GetComponent<Collider>();
if (col != null)
Destroy(col);
spawned++;
}
......@@ -135,11 +127,16 @@ new Color32(164, 255, 90, (byte)opacity),
private void DrawAreaGizmo()
{
Gizmos.color = gizmoColor;
Vector3 center = transform.position + areaCenterOffset;
Gizmos.DrawCube(center, areaSize);
Matrix4x4 oldMatrix = Gizmos.matrix;
Gizmos.matrix = transform.localToWorldMatrix;
Gizmos.DrawCube(areaCenterOffset, areaSize);
Gizmos.color = new Color(gizmoColor.r, gizmoColor.g, gizmoColor.b, 1f);
Gizmos.DrawWireCube(center, areaSize);
Gizmos.DrawWireCube(areaCenterOffset, areaSize);
Gizmos.matrix = oldMatrix;
}
}
}
\ No newline at end of file
using System.Collections;
using System.Collections;
using UnityEngine;
using DG.Tweening;
......@@ -13,15 +13,16 @@ namespace com.al_arcade.tf
[SerializeField] private Renderer productRenderer;
[SerializeField] private Transform startPoint;
[SerializeField] private Transform endPoint;
[SerializeField] private MaterialOffsetController materialOffsetController;
[SerializeField] private Transform door;
private Material productMaterial;
private float currentDistance;
private float stepDistance;
private void Awake()
{
if (productRenderer != null)
productMaterial = productRenderer.material;
if (materialOffsetController == null && product != null)
materialOffsetController = product.GetComponent<MaterialOffsetController>();
}
public void Build(int stepsToWin, float stepSize, Vector3 cameraPos)
......@@ -41,7 +42,13 @@ namespace com.al_arcade.tf
{
if (product == null || startPoint == null || endPoint == null)
yield break;
if (materialOffsetController != null)
{
materialOffsetController.AddOffset(
new Vector2(0f, 1f),
0.2f
);
}
currentDistance = Mathf.Clamp(
currentDistance + stepDistance,
0,
......@@ -61,14 +68,7 @@ namespace com.al_arcade.tf
product.DOPunchScale(Vector3.one * 0.12f, 0.3f);
if (productMaterial != null)
{
DOTween.Kill(productMaterial, "prodColor");
productMaterial
.DOColor(SSColorPalette.Success, 0.12f)
.OnComplete(() =>
productMaterial.DOColor(SSColorPalette.Accent, 0.3f));
}
}
public IEnumerator MoveBackward(float distance)
......@@ -90,18 +90,21 @@ namespace com.al_arcade.tf
var seq = DOTween.Sequence().SetId("prodMove");
seq.Append(product.DOShakePosition(0.3f, 0.08f, 15));
seq.Append(product
.DOLocalMove(targetPos, 0.5f)
.SetEase(Ease.OutQuad));
if (productMaterial != null)
seq.AppendCallback(() =>
{
if (materialOffsetController != null)
{
DOTween.Kill(productMaterial, "prodColor");
productMaterial
.DOColor(SSColorPalette.Danger, 0.12f)
.OnComplete(() =>
productMaterial.DOColor(SSColorPalette.Accent, 0.3f));
materialOffsetController.AddOffset(
new Vector2(0f, -1f),
0.2f
);
}
});
seq.Append(product
.DOLocalMove(targetPos, 0.5f)
.SetEase(Ease.OutBack));
yield return seq.WaitForCompletion();
}
......@@ -111,7 +114,7 @@ namespace com.al_arcade.tf
if (product == null)
yield break;
DOTween.Kill(product);
door.DOMoveY(2, 1).SetEase(Ease.OutBack);
yield return new WaitForSeconds(1f);
......@@ -129,6 +132,7 @@ namespace com.al_arcade.tf
DOTween.Kill(product);
product.localPosition = startPoint.localPosition;
product.localRotation = Quaternion.identity;
door.DOMoveY(1, 1).SetEase(Ease.OutBack);
}
}
}
......
......@@ -10,7 +10,7 @@
"url": "https://packages.unity.com"
},
"com.unity.burst": {
"version": "1.8.25",
"version": "1.8.28",
"depth": 2,
"source": "registry",
"dependencies": {
......
......@@ -535,6 +535,9 @@ PlayerSettings:
- m_BuildTarget: AndroidPlayer
m_APIs: 150000000b000000
m_Automatic: 0
- m_BuildTarget: WebGLSupport
m_APIs: 0b000000
m_Automatic: 0
m_BuildTargetVRSettings: []
m_DefaultShaderChunkSizeInMB: 16
m_DefaultShaderChunkCount: 0
......@@ -839,7 +842,7 @@ PlayerSettings:
QNX: DOTWEEN;UNITY_POST_PROCESSING_STACK_V2
Standalone: DOTWEEN;UNITY_POST_PROCESSING_STACK_V2
VisionOS: DOTWEEN;UNITY_POST_PROCESSING_STACK_V2
WebGL: DOTWEEN;UNITY_POST_PROCESSING_STACK_V2
WebGL: DOTWEEN;UNITY_POST_PROCESSING_STACK_V2;UNITEXT
Windows Store Apps: DOTWEEN
XboxOne: DOTWEEN;UNITY_POST_PROCESSING_STACK_V2
iPhone: DOTWEEN
......
......@@ -24,7 +24,7 @@ MonoBehaviour:
m_MinSize: {x: 300, y: 112}
m_MaxSize: {x: 24288, y: 16192}
vertical: 0
controlID: 79879
controlID: 94779
draggingID: 0
--- !u!114 &2
MonoBehaviour:
......@@ -47,9 +47,9 @@ MonoBehaviour:
m_TextWithWhitespace: "Game\u200B"
m_Pos:
serializedVersion: 2
x: 748
x: 766.4
y: 524.8
width: 378
width: 359.59998
height: 245.19998
m_SerializedDataModeController:
m_DataMode: 0
......@@ -106,10 +106,10 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 21
width: 378
width: 359.59998
height: 224.19998
m_Scale: {x: 0.24609375, y: 0.24609375}
m_Translation: {x: 189, y: 112.09999}
m_Scale: {x: 0.23411457, y: 0.23411457}
m_Translation: {x: 179.79999, y: 112.09999}
m_MarginLeft: 0
m_MarginRight: 0
m_MarginTop: 0
......@@ -117,12 +117,12 @@ MonoBehaviour:
m_LastShownAreaInsideMargins:
serializedVersion: 2
x: -768
y: -455.51743
y: -478.82535
width: 1536
height: 911.03485
height: 957.6507
m_MinimalGUI: 1
m_defaultScale: 0.24609375
m_LastWindowPixelSize: {x: 472.5, y: 306.49997}
m_defaultScale: 0.23411457
m_LastWindowPixelSize: {x: 449.49997, y: 306.49997}
m_ClearInEditMode: 1
m_NoCameraWarning: 1
m_LowResolutionForAspectRatios: 01000000000000000000
......@@ -153,7 +153,7 @@ MonoBehaviour:
m_MinSize: {x: 200, y: 112}
m_MaxSize: {x: 16192, y: 16192}
vertical: 1
controlID: 79880
controlID: 94780
draggingID: 0
--- !u!114 &4
MonoBehaviour:
......@@ -179,7 +179,7 @@ MonoBehaviour:
m_MinSize: {x: 200, y: 56}
m_MaxSize: {x: 16192, y: 8096}
vertical: 0
controlID: 79820
controlID: 94714
draggingID: 0
--- !u!114 &5
MonoBehaviour:
......@@ -198,7 +198,7 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 252
width: 257.6
height: 445.6
m_MinSize: {x: 201, y: 226}
m_MaxSize: {x: 4001, y: 4026}
......@@ -230,7 +230,7 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 79.200005
width: 251
width: 256.6
height: 419.6
m_SerializedDataModeController:
m_DataMode: 0
......@@ -249,10 +249,33 @@ MonoBehaviour:
m_TreeViewState:
scrollPos: {x: 0, y: 0}
m_SelectedIDs:
- m_Data: -443410
- m_Data: -686000
m_LastClickedID:
m_Data: -443410
m_Data: -686000
m_ExpandedIDs:
- m_Data: -622364
- m_Data: -622358
- m_Data: -620914
- m_Data: -620910
- m_Data: -620906
- m_Data: -614932
- m_Data: -614926
- m_Data: -613472
- m_Data: -585064
- m_Data: -584364
- m_Data: -584178
- m_Data: -582076
- m_Data: -581750
- m_Data: -581028
- m_Data: -580544
- m_Data: -575200
- m_Data: -574874
- m_Data: -574102
- m_Data: -522816
- m_Data: -504584
- m_Data: -498198
- m_Data: -479834
- m_Data: -477574
- m_Data: -443352
- m_Data: -443318
- m_Data: -430256
......@@ -350,9 +373,9 @@ MonoBehaviour:
m_Children: []
m_Position:
serializedVersion: 2
x: 252
x: 257.6
y: 0
width: 876
width: 870.4
height: 445.6
m_MinSize: {x: 202, y: 226}
m_MaxSize: {x: 4002, y: 4026}
......@@ -382,9 +405,9 @@ MonoBehaviour:
m_TextWithWhitespace: "Scene\u200B"
m_Pos:
serializedVersion: 2
x: 252
x: 257.6
y: 79.200005
width: 874
width: 868.4
height: 419.6
m_SerializedDataModeController:
m_DataMode: 0
......@@ -956,9 +979,9 @@ MonoBehaviour:
m_AudioPlay: 0
m_DebugDrawModesUseInteractiveLightBakingData: 0
m_Position:
m_Target: {x: 13.7166605, y: -3.8997939, z: 20.606695}
m_Target: {x: 5.836893, y: -6.2345414, z: 19.863539}
speed: 2
m_Value: {x: 13.7166605, y: -3.8997939, z: 20.606695}
m_Value: {x: 5.836893, y: -6.2345414, z: 19.863539}
m_RenderMode: 0
m_CameraMode:
drawMode: 0
......@@ -1004,9 +1027,9 @@ MonoBehaviour:
m_GridAxis: 1
m_gridOpacity: 0.5
m_Rotation:
m_Target: {x: 0.13287947, y: 0.5835266, z: -0.09758451, w: 0.79532117}
m_Target: {x: 0.29777098, y: 0.30917498, z: -0.10270634, w: 0.89746666}
speed: 2
m_Value: {x: 0.13309874, y: 0.58155257, z: -0.09725468, w: 0.79663223}
m_Value: {x: -0.29777098, y: -0.30917498, z: 0.10270634, w: -0.89746666}
m_Size:
m_Target: 10
speed: 2
......@@ -1068,7 +1091,7 @@ MonoBehaviour:
m_MinSize: {x: 200, y: 56}
m_MaxSize: {x: 16192, y: 8096}
vertical: 0
controlID: 79881
controlID: 94781
draggingID: 0
--- !u!114 &10
MonoBehaviour:
......@@ -1087,7 +1110,7 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 748
width: 766.4
height: 271.19998
m_MinSize: {x: 231, y: 276}
m_MaxSize: {x: 10001, y: 10026}
......@@ -1122,7 +1145,7 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 524.8
width: 747
width: 765.4
height: 245.19998
m_SerializedDataModeController:
m_DataMode: 0
......@@ -1148,7 +1171,7 @@ MonoBehaviour:
m_SkipHidden: 0
m_SearchArea: 1
m_Folders:
- Assets/EKstudio/LowPoly Factory Machine Pack Demo/Material
- Assets/Prefabs/TF
m_Globs: []
m_ProductIds:
m_AnyWithAssetOrigin: 0
......@@ -1158,26 +1181,28 @@ MonoBehaviour:
m_ViewMode: 1
m_StartGridSize: 58
m_LastFolders:
- Assets/EKstudio/LowPoly Factory Machine Pack Demo/Material
- Assets/Prefabs/TF
m_LastFoldersGridSize: 58
m_LastProjectPath: D:\saad work\Unity project\SSbookminigames\My project
m_LockTracker:
m_IsLocked: 0
m_LastLocalAssetsSearchArea: 1
m_FolderTreeState:
scrollPos: {x: 0, y: 191}
scrollPos: {x: 0, y: 513.0365}
m_SelectedIDs:
- m_Data: 61610
- m_Data: 61728
m_LastClickedID:
m_Data: 61610
m_Data: 61728
m_ExpandedIDs:
- m_Data: 0
- m_Data: 50402
- m_Data: 50406
- m_Data: 58122
- m_Data: 58128
- m_Data: 58134
- m_Data: 58136
- m_Data: 58140
- m_Data: 58142
- m_Data: 134458
- m_Data: 237924
- m_Data: 237932
m_RenameOverlay:
......@@ -1197,7 +1222,7 @@ MonoBehaviour:
m_OriginalEventType: 11
m_IsRenamingFilename: 1
m_TrimLeadingAndTrailingWhitespace: 0
m_ClientGUIView: {fileID: 0}
m_ClientGUIView: {fileID: 10}
m_SearchString:
m_CreateAssetUtility:
m_EndAction: {fileID: 0}
......@@ -1215,8 +1240,11 @@ MonoBehaviour:
- m_Data: 50402
- m_Data: 50406
- m_Data: 58128
- m_Data: 58134
- m_Data: 58136
- m_Data: 58140
- m_Data: 58142
- m_Data: 134458
- m_Data: 237924
- m_Data: 237932
m_RenameOverlay:
......@@ -1246,8 +1274,8 @@ MonoBehaviour:
m_ResourceFile:
m_ListAreaState:
m_SelectedInstanceIDs:
- m_Data: -443410
m_LastClickedInstanceID: -443410
- m_Data: -686000
m_LastClickedInstanceID: -686000
m_HadKeyboardFocusLastEvent: 0
m_ExpandedInstanceIDs: []
m_RenameOverlay:
......@@ -1374,7 +1402,7 @@ MonoBehaviour:
m_DynamicPanelBehavior: 0
m_LockTracker:
m_IsLocked: 0
m_LastSelectedObjectID: 45832
m_LastSelectedObjectID: -686000
--- !u!114 &14
MonoBehaviour:
m_ObjectHideFlags: 52
......@@ -1398,7 +1426,7 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 524.8
width: 747
width: 765.4
height: 245.19998
m_SerializedDataModeController:
m_DataMode: 0
......@@ -1428,9 +1456,9 @@ MonoBehaviour:
m_Children: []
m_Position:
serializedVersion: 2
x: 748
x: 766.4
y: 0
width: 380
width: 361.59998
height: 271.19998
m_MinSize: {x: 202, y: 226}
m_MaxSize: {x: 4002, y: 4026}
......@@ -1510,7 +1538,7 @@ MonoBehaviour:
m_ControlHash: -371814159
m_PrefName: Preview_InspectorPreview
m_LastInspectedObjectInstanceID: -1
m_LastVerticalScrollValue: 0
m_LastVerticalScrollValue: 123
m_GlobalObjectId:
m_InspectorMode: 0
m_LockTracker:
......
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