Merge branch 'main' of https://homelab.tailf7f81b.ts.net/tschesky/AppleHillsProduction
This commit is contained in:
@@ -15,7 +15,7 @@ MonoBehaviour:
|
||||
m_DefaultGroup: 6f3207429a65b3e4b83935ac19791077
|
||||
m_currentHash:
|
||||
serializedVersion: 2
|
||||
Hash: 00000000000000000000000000000000
|
||||
Hash: b784c72547c16021d9ba62425af8f54d
|
||||
m_OptimizeCatalogSize: 0
|
||||
m_BuildRemoteCatalog: 0
|
||||
m_CatalogRequestsTimeout: 0
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
using Minigames.Airplane.Interactive;
|
||||
using UnityEditor;
|
||||
|
||||
namespace Editor.CustomEditorsAndDrawers
|
||||
{
|
||||
[CustomEditor(typeof(AirplaneBouncySurface))]
|
||||
public class AirplaneBouncySurfaceEditor : UnityEditor.Editor
|
||||
{
|
||||
private SerializedProperty _bounceMultiplierProp;
|
||||
private SerializedProperty _bounceDirectionProp;
|
||||
private SerializedProperty _useReflectionProp;
|
||||
private SerializedProperty _minBounceVelocityProp;
|
||||
private SerializedProperty _maxBounceVelocityProp;
|
||||
private SerializedProperty _bounceAnimatorProp;
|
||||
private SerializedProperty _bounceTriggerProp;
|
||||
private SerializedProperty _bounceSoundProp;
|
||||
private SerializedProperty _showDebugLogsProp;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
_bounceMultiplierProp = serializedObject.FindProperty("bounceMultiplier");
|
||||
_bounceDirectionProp = serializedObject.FindProperty("bounceDirection");
|
||||
_useReflectionProp = serializedObject.FindProperty("useReflection");
|
||||
_minBounceVelocityProp = serializedObject.FindProperty("minBounceVelocity");
|
||||
_maxBounceVelocityProp = serializedObject.FindProperty("maxBounceVelocity");
|
||||
_bounceAnimatorProp = serializedObject.FindProperty("bounceAnimator");
|
||||
_bounceTriggerProp = serializedObject.FindProperty("bounceTrigger");
|
||||
_bounceSoundProp = serializedObject.FindProperty("bounceSound");
|
||||
_showDebugLogsProp = serializedObject.FindProperty("showDebugLogs");
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
serializedObject.Update();
|
||||
|
||||
EditorGUILayout.LabelField("Bounce Configuration", EditorStyles.boldLabel);
|
||||
EditorGUI.indentLevel++;
|
||||
|
||||
EditorGUILayout.PropertyField(_bounceMultiplierProp);
|
||||
EditorGUILayout.PropertyField(_useReflectionProp);
|
||||
|
||||
// Grey out bounceDirection when useReflection is true
|
||||
bool isReflectionEnabled = _useReflectionProp.boolValue;
|
||||
|
||||
EditorGUI.BeginDisabledGroup(isReflectionEnabled);
|
||||
EditorGUILayout.PropertyField(_bounceDirectionProp);
|
||||
EditorGUI.EndDisabledGroup();
|
||||
|
||||
if (isReflectionEnabled)
|
||||
{
|
||||
EditorGUILayout.HelpBox("Bounce direction is used as surface normal for reflection when 'Use Reflection' is enabled.", MessageType.Info);
|
||||
}
|
||||
else
|
||||
{
|
||||
EditorGUILayout.HelpBox("Plane will be launched directly in the specified direction (no reflection).", MessageType.Info);
|
||||
}
|
||||
|
||||
EditorGUI.indentLevel--;
|
||||
|
||||
EditorGUILayout.Space();
|
||||
EditorGUILayout.LabelField("Optional Modifiers", EditorStyles.boldLabel);
|
||||
EditorGUI.indentLevel++;
|
||||
EditorGUILayout.PropertyField(_minBounceVelocityProp);
|
||||
EditorGUILayout.PropertyField(_maxBounceVelocityProp);
|
||||
EditorGUI.indentLevel--;
|
||||
|
||||
EditorGUILayout.Space();
|
||||
EditorGUILayout.LabelField("Visual Feedback (Optional)", EditorStyles.boldLabel);
|
||||
EditorGUI.indentLevel++;
|
||||
EditorGUILayout.PropertyField(_bounceAnimatorProp);
|
||||
EditorGUILayout.PropertyField(_bounceTriggerProp);
|
||||
EditorGUILayout.PropertyField(_bounceSoundProp);
|
||||
EditorGUI.indentLevel--;
|
||||
|
||||
EditorGUILayout.Space();
|
||||
EditorGUILayout.LabelField("Debug", EditorStyles.boldLabel);
|
||||
EditorGUI.indentLevel++;
|
||||
EditorGUILayout.PropertyField(_showDebugLogsProp);
|
||||
EditorGUI.indentLevel--;
|
||||
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 813d27f62bb94a3cbbf5b504a0209257
|
||||
timeCreated: 1765188846
|
||||
@@ -0,0 +1,24 @@
|
||||
using Minigames.Airplane.Core;
|
||||
using Minigames.Airplane.Data;
|
||||
using UnityEditor;
|
||||
|
||||
namespace Editor.CustomEditorsAndDrawers
|
||||
{
|
||||
[CustomEditor(typeof(AirplaneSpawnManager))]
|
||||
public class AirplaneSpawnManagerEditor : UnityEditor.Editor
|
||||
{
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
// Draw default inspector - all fields now have proper property drawers
|
||||
DrawDefaultInspector();
|
||||
|
||||
// Add helpful info box
|
||||
EditorGUILayout.Space();
|
||||
EditorGUILayout.HelpBox(
|
||||
"Each prefab now has its own spawn position configuration. " +
|
||||
"Expand entries in Positive/Negative Object Prefabs to configure individual spawn behavior.",
|
||||
MessageType.Info);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e5bd22e99d254c229cca7cee79b40baf
|
||||
timeCreated: 1765189346
|
||||
@@ -0,0 +1,97 @@
|
||||
using Minigames.Airplane.Data;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Editor.CustomEditorsAndDrawers
|
||||
{
|
||||
[CustomPropertyDrawer(typeof(PrefabSpawnEntry))]
|
||||
public class PrefabSpawnEntryDrawer : PropertyDrawer
|
||||
{
|
||||
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
|
||||
{
|
||||
EditorGUI.BeginProperty(position, label, property);
|
||||
|
||||
// Draw foldout
|
||||
property.isExpanded = EditorGUI.Foldout(new Rect(position.x, position.y, position.width, EditorGUIUtility.singleLineHeight),
|
||||
property.isExpanded, label, true);
|
||||
|
||||
if (property.isExpanded)
|
||||
{
|
||||
EditorGUI.indentLevel++;
|
||||
float yPos = position.y + EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing;
|
||||
|
||||
// Draw prefab
|
||||
SerializedProperty prefabProp = property.FindPropertyRelative("prefab");
|
||||
EditorGUI.PropertyField(new Rect(position.x, yPos, position.width, EditorGUIUtility.singleLineHeight), prefabProp);
|
||||
yPos += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing;
|
||||
|
||||
// Draw spawn position mode
|
||||
SerializedProperty spawnModeProp = property.FindPropertyRelative("spawnPositionMode");
|
||||
EditorGUI.PropertyField(new Rect(position.x, yPos, position.width, EditorGUIUtility.singleLineHeight), spawnModeProp);
|
||||
yPos += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing;
|
||||
|
||||
// Draw conditional fields based on mode
|
||||
SpawnPositionMode mode = (SpawnPositionMode)spawnModeProp.enumValueIndex;
|
||||
|
||||
switch (mode)
|
||||
{
|
||||
case SpawnPositionMode.SpecifiedY:
|
||||
SerializedProperty specifiedYProp = property.FindPropertyRelative("specifiedY");
|
||||
EditorGUI.PropertyField(new Rect(position.x, yPos, position.width, EditorGUIUtility.singleLineHeight), specifiedYProp);
|
||||
break;
|
||||
|
||||
case SpawnPositionMode.RandomRange:
|
||||
SerializedProperty randomYMinProp = property.FindPropertyRelative("randomYMin");
|
||||
SerializedProperty randomYMaxProp = property.FindPropertyRelative("randomYMax");
|
||||
EditorGUI.PropertyField(new Rect(position.x, yPos, position.width, EditorGUIUtility.singleLineHeight), randomYMinProp);
|
||||
yPos += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing;
|
||||
EditorGUI.PropertyField(new Rect(position.x, yPos, position.width, EditorGUIUtility.singleLineHeight), randomYMaxProp);
|
||||
break;
|
||||
|
||||
case SpawnPositionMode.SnapToGround:
|
||||
// No additional fields needed
|
||||
EditorGUI.LabelField(new Rect(position.x, yPos, position.width, EditorGUIUtility.singleLineHeight),
|
||||
"Uses raycast to snap to ground", EditorStyles.miniLabel);
|
||||
break;
|
||||
}
|
||||
|
||||
EditorGUI.indentLevel--;
|
||||
}
|
||||
|
||||
EditorGUI.EndProperty();
|
||||
}
|
||||
|
||||
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
|
||||
{
|
||||
if (!property.isExpanded)
|
||||
return EditorGUIUtility.singleLineHeight;
|
||||
|
||||
float height = EditorGUIUtility.singleLineHeight; // Foldout
|
||||
height += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; // prefab
|
||||
height += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; // spawnPositionMode
|
||||
|
||||
// Add height for mode-specific fields
|
||||
SerializedProperty spawnModeProp = property.FindPropertyRelative("spawnPositionMode");
|
||||
SpawnPositionMode mode = (SpawnPositionMode)spawnModeProp.enumValueIndex;
|
||||
|
||||
switch (mode)
|
||||
{
|
||||
case SpawnPositionMode.SpecifiedY:
|
||||
height += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; // specifiedY
|
||||
break;
|
||||
|
||||
case SpawnPositionMode.RandomRange:
|
||||
height += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; // randomYMin
|
||||
height += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; // randomYMax
|
||||
break;
|
||||
|
||||
case SpawnPositionMode.SnapToGround:
|
||||
height += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; // Info label
|
||||
break;
|
||||
}
|
||||
|
||||
return height;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c3e7b9fb5ac24beca6cc32e3025dc12f
|
||||
timeCreated: 1765189641
|
||||
104
Assets/Editor/CustomEditorsAndDrawers/TargetPrefabEntryDrawer.cs
Normal file
104
Assets/Editor/CustomEditorsAndDrawers/TargetPrefabEntryDrawer.cs
Normal file
@@ -0,0 +1,104 @@
|
||||
using Minigames.Airplane.Core;
|
||||
using Minigames.Airplane.Data;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Editor.CustomEditorsAndDrawers
|
||||
{
|
||||
[CustomPropertyDrawer(typeof(AirplaneSpawnManager.TargetPrefabEntry))]
|
||||
public class TargetPrefabEntryDrawer : PropertyDrawer
|
||||
{
|
||||
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
|
||||
{
|
||||
EditorGUI.BeginProperty(position, label, property);
|
||||
|
||||
// Draw foldout
|
||||
property.isExpanded = EditorGUI.Foldout(new Rect(position.x, position.y, position.width, EditorGUIUtility.singleLineHeight),
|
||||
property.isExpanded, label, true);
|
||||
|
||||
if (property.isExpanded)
|
||||
{
|
||||
EditorGUI.indentLevel++;
|
||||
float yPos = position.y + EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing;
|
||||
|
||||
// Draw targetKey
|
||||
SerializedProperty targetKeyProp = property.FindPropertyRelative("targetKey");
|
||||
EditorGUI.PropertyField(new Rect(position.x, yPos, position.width, EditorGUIUtility.singleLineHeight), targetKeyProp);
|
||||
yPos += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing;
|
||||
|
||||
// Draw prefab
|
||||
SerializedProperty prefabProp = property.FindPropertyRelative("prefab");
|
||||
EditorGUI.PropertyField(new Rect(position.x, yPos, position.width, EditorGUIUtility.singleLineHeight), prefabProp);
|
||||
yPos += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing;
|
||||
|
||||
// Draw spawn position mode
|
||||
SerializedProperty spawnModeProp = property.FindPropertyRelative("spawnPositionMode");
|
||||
EditorGUI.PropertyField(new Rect(position.x, yPos, position.width, EditorGUIUtility.singleLineHeight), spawnModeProp);
|
||||
yPos += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing;
|
||||
|
||||
// Draw conditional fields based on mode
|
||||
SpawnPositionMode mode = (SpawnPositionMode)spawnModeProp.enumValueIndex;
|
||||
|
||||
switch (mode)
|
||||
{
|
||||
case SpawnPositionMode.SpecifiedY:
|
||||
SerializedProperty specifiedYProp = property.FindPropertyRelative("specifiedY");
|
||||
EditorGUI.PropertyField(new Rect(position.x, yPos, position.width, EditorGUIUtility.singleLineHeight), specifiedYProp);
|
||||
break;
|
||||
|
||||
case SpawnPositionMode.RandomRange:
|
||||
SerializedProperty randomYMinProp = property.FindPropertyRelative("randomYMin");
|
||||
SerializedProperty randomYMaxProp = property.FindPropertyRelative("randomYMax");
|
||||
EditorGUI.PropertyField(new Rect(position.x, yPos, position.width, EditorGUIUtility.singleLineHeight), randomYMinProp);
|
||||
yPos += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing;
|
||||
EditorGUI.PropertyField(new Rect(position.x, yPos, position.width, EditorGUIUtility.singleLineHeight), randomYMaxProp);
|
||||
break;
|
||||
|
||||
case SpawnPositionMode.SnapToGround:
|
||||
// No additional fields needed
|
||||
EditorGUI.LabelField(new Rect(position.x, yPos, position.width, EditorGUIUtility.singleLineHeight),
|
||||
"Uses raycast to snap to ground", EditorStyles.miniLabel);
|
||||
break;
|
||||
}
|
||||
|
||||
EditorGUI.indentLevel--;
|
||||
}
|
||||
|
||||
EditorGUI.EndProperty();
|
||||
}
|
||||
|
||||
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
|
||||
{
|
||||
if (!property.isExpanded)
|
||||
return EditorGUIUtility.singleLineHeight;
|
||||
|
||||
float height = EditorGUIUtility.singleLineHeight; // Foldout
|
||||
height += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; // targetKey
|
||||
height += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; // prefab
|
||||
height += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; // spawnPositionMode
|
||||
|
||||
// Add height for mode-specific fields
|
||||
SerializedProperty spawnModeProp = property.FindPropertyRelative("spawnPositionMode");
|
||||
SpawnPositionMode mode = (SpawnPositionMode)spawnModeProp.enumValueIndex;
|
||||
|
||||
switch (mode)
|
||||
{
|
||||
case SpawnPositionMode.SpecifiedY:
|
||||
height += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; // specifiedY
|
||||
break;
|
||||
|
||||
case SpawnPositionMode.RandomRange:
|
||||
height += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; // randomYMin
|
||||
height += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; // randomYMax
|
||||
break;
|
||||
|
||||
case SpawnPositionMode.SnapToGround:
|
||||
height += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; // Info label
|
||||
break;
|
||||
}
|
||||
|
||||
return height;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 63205158adf24f9f9e4c6fa21da543ff
|
||||
timeCreated: 1765189334
|
||||
BIN
Assets/External/Placeholders/black_hole.png
vendored
Normal file
BIN
Assets/External/Placeholders/black_hole.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
195
Assets/External/Placeholders/black_hole.png.meta
vendored
Normal file
195
Assets/External/Placeholders/black_hole.png.meta
vendored
Normal file
@@ -0,0 +1,195 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9700006b6eb975447bdbdde8846ca0d8
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: -1360189325138225679
|
||||
second: black_hole_0
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 2
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: iOS
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: WindowsStoreApps
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: black_hole_0
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 268
|
||||
height: 270
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 1f59bdfe303af1de0800000000000000
|
||||
internalID: -1360189325138225679
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
black_hole_0: -1360189325138225679
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/External/Placeholders/wind_gust.png
vendored
Normal file
BIN
Assets/External/Placeholders/wind_gust.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 88 KiB |
212
Assets/External/Placeholders/wind_gust.png.meta
vendored
Normal file
212
Assets/External/Placeholders/wind_gust.png.meta
vendored
Normal file
@@ -0,0 +1,212 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 31e9eb6743854b9448c6cd8bcd5318cc
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: -5926349415410185450
|
||||
second: wind_gust_0
|
||||
- first:
|
||||
213: -5364680880841707246
|
||||
second: wind_gust_1
|
||||
- first:
|
||||
213: -6563357398787191430
|
||||
second: wind_gust_2
|
||||
- first:
|
||||
213: 100818993482465096
|
||||
second: wind_gust_3
|
||||
- first:
|
||||
213: -8608337457062555236
|
||||
second: wind_gust_4
|
||||
- first:
|
||||
213: 8440422462446946557
|
||||
second: wind_gust_5
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 2
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: iOS
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: WindowsStoreApps
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: wind_gust_0
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 2112
|
||||
height: 963
|
||||
alignment: 0
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 61bc1a71b9061cda0800000000000000
|
||||
internalID: -5926349415410185450
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 8045afef6a5075d44ba4e07e934d9112
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries:
|
||||
- key: SpriteEditor.SliceSettings
|
||||
value: '{"sliceOnImport":false,"gridCellCount":{"x":1.0,"y":1.0},"gridSpriteSize":{"x":2112.0,"y":963.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.5,"y":0.5},"pivotPixels":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"pivotUnitMode":0,"slicingType":2,"keepEmptyRects":false,"isAlternate":false}'
|
||||
nameFileIdTable:
|
||||
wind_gust_0: -5926349415410185450
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Prefabs/Minigames/Airplane/Airplanes.meta
Normal file
8
Assets/Prefabs/Minigames/Airplane/Airplanes.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bba5d31db9143784094b7b0e05ca2467
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,189 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &497267990420767357
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4572188480515029494}
|
||||
- component: {fileID: 6979039544463298865}
|
||||
- component: {fileID: 1989378388080844566}
|
||||
m_Layer: 0
|
||||
m_Name: AirplaneWindZone
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4572188480515029494
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 497267990420767357}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 5074016134362590334}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!61 &6979039544463298865
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 497267990420767357}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ForceSendLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ForceReceiveLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ContactCaptureLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_CallbackLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_IsTrigger: 1
|
||||
m_UsedByEffector: 0
|
||||
m_CompositeOperation: 0
|
||||
m_CompositeOrder: 0
|
||||
m_Offset: {x: -1.2203689, y: -0.032116175}
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0, y: 0}
|
||||
oldSize: {x: 0, y: 0}
|
||||
newSize: {x: 0, y: 0}
|
||||
adaptiveTilingThreshold: 0
|
||||
drawMode: 0
|
||||
adaptiveTiling: 0
|
||||
m_AutoTiling: 0
|
||||
m_Size: {x: 9.349909, y: 13.653318}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!114 &1989378388080844566
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 497267990420767357}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: dc3242fd3fe042919496d71933a760a5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: AppleHillsScripts::Minigames.Airplane.Interactive.AirplaneWindZone
|
||||
windForce: {x: 0, y: 100}
|
||||
isWorldSpace: 1
|
||||
windParticles: {fileID: 0}
|
||||
showDebugLogs: 0
|
||||
--- !u!1 &2715744416533832886
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5074016134362590334}
|
||||
- component: {fileID: 6829367419931429958}
|
||||
m_Layer: 0
|
||||
m_Name: Visual
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5074016134362590334
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2715744416533832886}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
|
||||
m_LocalPosition: {x: -2.43, y: -0.26, z: 0}
|
||||
m_LocalScale: {x: 0.63, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4572188480515029494}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
|
||||
--- !u!212 &6829367419931429958
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2715744416533832886}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 0
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -5926349415410185450, guid: 31e9eb6743854b9448c6cd8bcd5318cc, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0.3529412}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
m_Size: {x: 21.12, y: 9.631875}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_SpriteSortPoint: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dc32284941c693c4f9e422f4197ca61e
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,176 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1186710456879913970
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2673913562921804095}
|
||||
- component: {fileID: 4536075709913768692}
|
||||
- component: {fileID: 5467951227568735409}
|
||||
- component: {fileID: 7869284532818573382}
|
||||
m_Layer: 0
|
||||
m_Name: BlackHole
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2673913562921804095
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1186710456879913970}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1.26, y: 1.26, z: 1.26}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &4536075709913768692
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1186710456879913970}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 0
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -1360189325138225679, guid: 9700006b6eb975447bdbdde8846ca0d8, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
m_Size: {x: 2.68, y: 2.7}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!58 &5467951227568735409
|
||||
CircleCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1186710456879913970}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ForceSendLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ForceReceiveLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ContactCaptureLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_CallbackLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_IsTrigger: 1
|
||||
m_UsedByEffector: 0
|
||||
m_CompositeOperation: 0
|
||||
m_CompositeOrder: 0
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Radius: 6
|
||||
--- !u!114 &7869284532818573382
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1186710456879913970}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f6c5008f2782416095c5b3f5092843a9, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: AppleHillsScripts::Minigames.Airplane.Interactive.AirplaneGravityWell
|
||||
pullStrength: 200
|
||||
useInverseSquare: 0
|
||||
minPullDistance: 0.5
|
||||
maxPullForce: 200
|
||||
pullFalloff:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: -1
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: -1
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
gravityParticles: {fileID: 0}
|
||||
centerSprite: {fileID: 4536075709913768692}
|
||||
rotationSpeed: 45
|
||||
showDebugLogs: 0
|
||||
drawDebugLines: 1
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 006b956651124704dbae5bd4faab3152
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,162 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1917678391913987792
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5173240655313723415}
|
||||
- component: {fileID: 8126210844742366787}
|
||||
- component: {fileID: 7874709284498167353}
|
||||
- component: {fileID: 806255670199755721}
|
||||
m_Layer: 0
|
||||
m_Name: BouncySurface
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5173240655313723415
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1917678391913987792}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -0.017162, y: 0, z: 0}
|
||||
m_LocalScale: {x: 3.5489998, y: 1.91, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!61 &8126210844742366787
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1917678391913987792}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ForceSendLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ForceReceiveLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ContactCaptureLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_CallbackLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_IsTrigger: 1
|
||||
m_UsedByEffector: 0
|
||||
m_CompositeOperation: 0
|
||||
m_CompositeOrder: 0
|
||||
m_Offset: {x: 0.022459388, y: 0}
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
oldSize: {x: 2.68, y: 1.07}
|
||||
newSize: {x: 2.68, y: 1.07}
|
||||
adaptiveTilingThreshold: 0.5
|
||||
drawMode: 0
|
||||
adaptiveTiling: 0
|
||||
m_AutoTiling: 0
|
||||
m_Size: {x: 2.6620138, y: 1}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!114 &7874709284498167353
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1917678391913987792}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 6f1ff69bae8e49188f439a8e5cdb7dfc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: AppleHillsScripts::Minigames.Airplane.Interactive.AirplaneBouncySurface
|
||||
bounceMultiplier: 1.5
|
||||
bounceDirection: {x: 0, y: 1}
|
||||
useReflection: 1
|
||||
minBounceVelocity: 20
|
||||
maxBounceVelocity: 100
|
||||
bounceAnimator: {fileID: 0}
|
||||
bounceTrigger: Bounce
|
||||
bounceSound: {fileID: 0}
|
||||
showDebugLogs: 0
|
||||
--- !u!212 &806255670199755721
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1917678391913987792}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 0
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3}
|
||||
m_Color: {r: 0.2471698, g: 0.50572634, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
m_Size: {x: 2.68, y: 1.07}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_SpriteSortPoint: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 989121c9099e41e469824ddeaf0e34a5
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,318 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &4333234134865822482
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6804591233897830740}
|
||||
- component: {fileID: 7158212345905452440}
|
||||
m_Layer: 0
|
||||
m_Name: Stand
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6804591233897830740
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4333234134865822482}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
|
||||
m_LocalPosition: {x: 4e-14, y: -7.69, z: 0}
|
||||
m_LocalScale: {x: 2.8339999, y: 0.48, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 3353256266312504489}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
|
||||
--- !u!212 &7158212345905452440
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4333234134865822482}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 0
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: 8052574294374310945, guid: aba32b1063027b54cbe0699bd0103717, type: 3}
|
||||
m_Color: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
m_Size: {x: 3.67, y: 0.64}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &4565013738694023266
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3353256266312504489}
|
||||
m_Layer: 0
|
||||
m_Name: Visual
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3353256266312504489
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4565013738694023266}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 6804591233897830740}
|
||||
- {fileID: 7890280728253800166}
|
||||
m_Father: {fileID: 558552741942634608}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &4672863428276290801
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7890280728253800166}
|
||||
- component: {fileID: 1998174593452186558}
|
||||
m_Layer: 0
|
||||
m_Name: Ring
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7890280728253800166
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4672863428276290801}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1.5, y: 1.5, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 3353256266312504489}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
|
||||
--- !u!212 &1998174593452186558
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4672863428276290801}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 0
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: 8052574294374310945, guid: aba32b1063027b54cbe0699bd0103717, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
m_Size: {x: 3.67, y: 0.64}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &7032677151789119314
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 558552741942634608}
|
||||
- component: {fileID: 4813017990778025648}
|
||||
- component: {fileID: 3540346896436126914}
|
||||
m_Layer: 0
|
||||
m_Name: SpeedRing
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &558552741942634608
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7032677151789119314}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 3353256266312504489}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!61 &4813017990778025648
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7032677151789119314}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ForceSendLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ForceReceiveLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ContactCaptureLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_CallbackLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_IsTrigger: 1
|
||||
m_UsedByEffector: 0
|
||||
m_CompositeOperation: 0
|
||||
m_CompositeOrder: 0
|
||||
m_Offset: {x: 0, y: 0.00000047683716}
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0, y: 0}
|
||||
oldSize: {x: 0, y: 0}
|
||||
newSize: {x: 0, y: 0}
|
||||
adaptiveTilingThreshold: 0
|
||||
drawMode: 0
|
||||
adaptiveTiling: 0
|
||||
m_AutoTiling: 0
|
||||
m_Size: {x: 1, y: 5.4440317}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!114 &3540346896436126914
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7032677151789119314}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 30fadeee96664cf28e3e2e562c99db26, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: AppleHillsScripts::Minigames.Airplane.Interactive.AirplaneSpeedRing
|
||||
velocityMultiplier: 1.5
|
||||
boostDuration: 2
|
||||
oneTimeUse: 0
|
||||
minResultSpeed: 5
|
||||
maxResultSpeed: 200
|
||||
ringVisual: {fileID: 4672863428276290801}
|
||||
collectEffect: {fileID: 0}
|
||||
collectSound: {fileID: 0}
|
||||
showDebugLogs: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7dc33e43acead834ba6a231b67cfd2d9
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,191 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &215115347189844273
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7164807323149369942}
|
||||
- component: {fileID: 6305748118049389185}
|
||||
m_Layer: 0
|
||||
m_Name: Visual
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7164807323149369942
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 215115347189844273}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -2.18, y: 2.94, z: 0}
|
||||
m_LocalScale: {x: 0.5766967, y: 0.5766967, z: 0.5766967}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2012553309952743032}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &6305748118049389185
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 215115347189844273}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 0
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -5926349415410185450, guid: 31e9eb6743854b9448c6cd8bcd5318cc, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0.2901961}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
m_Size: {x: 21.12, y: 9.631875}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &2434350760695575337
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2012553309952743032}
|
||||
- component: {fileID: 7926575534356808673}
|
||||
- component: {fileID: 5265442100644127293}
|
||||
m_Layer: 0
|
||||
m_Name: Turbulence
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2012553309952743032
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2434350760695575337}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 7164807323149369942}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!61 &7926575534356808673
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2434350760695575337}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ForceSendLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ForceReceiveLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ContactCaptureLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_CallbackLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_IsTrigger: 1
|
||||
m_UsedByEffector: 0
|
||||
m_CompositeOperation: 0
|
||||
m_CompositeOrder: 0
|
||||
m_Offset: {x: -1.8673754, y: 2.4778643}
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0, y: 0}
|
||||
oldSize: {x: 0, y: 0}
|
||||
newSize: {x: 0, y: 0}
|
||||
adaptiveTilingThreshold: 0
|
||||
drawMode: 0
|
||||
adaptiveTiling: 0
|
||||
m_AutoTiling: 0
|
||||
m_Size: {x: 13.497057, y: 7.6794586}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!114 &5265442100644127293
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2434350760695575337}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ae20630c0dc74174ae4d851d97d101c0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: AppleHillsScripts::Minigames.Airplane.Interactive.AirplaneTurbulenceZone
|
||||
turbulenceStrength: 150
|
||||
changeFrequency: 0.1
|
||||
preventUpwardForce: 0
|
||||
maxTotalForce: 200
|
||||
turbulenceParticles: {fileID: 0}
|
||||
showDebugLogs: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f3188909ff4e845499a5cbfd0ae93101
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@@ -193,6 +193,7 @@ GameObject:
|
||||
m_IsActive: 1
|
||||
--- !u!212 &108199299
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -238,6 +239,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -1073821134, guid: 99d4c3083e9c24142bc20deaeaf95720, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -247,7 +249,6 @@ SpriteRenderer:
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!4 &108199300
|
||||
Transform:
|
||||
@@ -258,7 +259,7 @@ Transform:
|
||||
m_GameObject: {fileID: 108199298}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -35.4, y: -12.4, z: 0}
|
||||
m_LocalPosition: {x: -35.4, y: 0.40000153, z: 0}
|
||||
m_LocalScale: {x: 1.5, y: 1.5, z: 1.5}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children:
|
||||
@@ -345,7 +346,7 @@ Transform:
|
||||
m_GameObject: {fileID: 196947011}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -79.6, y: -18, z: 0}
|
||||
m_LocalPosition: {x: -79.6, y: -5, z: 0}
|
||||
m_LocalScale: {x: 13.207894, y: 9.360231, z: 2.6263}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -426,6 +427,7 @@ Rigidbody2D:
|
||||
m_Constraints: 0
|
||||
--- !u!212 &196947015
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -471,6 +473,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -480,7 +483,6 @@ SpriteRenderer:
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &263322552
|
||||
GameObject:
|
||||
@@ -552,7 +554,7 @@ Transform:
|
||||
m_GameObject: {fileID: 263322552}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 10.8, z: -10}
|
||||
m_LocalPosition: {x: 0, y: 23.600002, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -608,7 +610,7 @@ Transform:
|
||||
m_GameObject: {fileID: 469774135}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0.49999952, y: -10.7, z: 0}
|
||||
m_LocalPosition: {x: 0.49999952, y: 2.1000013, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -616,6 +618,7 @@ Transform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &469774137
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -661,6 +664,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 622133659
|
||||
m_SortingLayer: -1
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -7357922426693696371, guid: 5ff790e31ebc32b49a164889b673a882, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -670,7 +674,6 @@ SpriteRenderer:
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &595230073
|
||||
GameObject:
|
||||
@@ -741,7 +744,7 @@ Transform:
|
||||
m_GameObject: {fileID: 595230073}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -18.4, y: 0.1, z: -10}
|
||||
m_LocalPosition: {x: -18.4, y: 12.900002, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -829,7 +832,7 @@ Transform:
|
||||
m_GameObject: {fileID: 695066654}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 20.1, y: -13.3, z: 0}
|
||||
m_LocalPosition: {x: 20.1, y: -0.49999905, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -837,6 +840,7 @@ Transform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &695066656
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -882,6 +886,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 622133659
|
||||
m_SortingLayer: -1
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: 4974115186881715698, guid: e1aa947fcf3609045ba89a6ddb609ae3, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -891,7 +896,6 @@ SpriteRenderer:
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &742382007
|
||||
GameObject:
|
||||
@@ -1167,6 +1171,7 @@ MonoBehaviour:
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
@@ -1250,6 +1255,7 @@ MeshRenderer:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!1 &761345709
|
||||
GameObject:
|
||||
@@ -1320,7 +1326,7 @@ Transform:
|
||||
m_GameObject: {fileID: 761345709}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -9.6, y: 0.1, z: -10}
|
||||
m_LocalPosition: {x: -9.6, y: 12.900002, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -1354,7 +1360,7 @@ Transform:
|
||||
m_GameObject: {fileID: 815418543}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -48.9, y: -18, z: 0}
|
||||
m_LocalPosition: {x: -48.9, y: -5, z: 0}
|
||||
m_LocalScale: {x: 13.207894, y: 9.360231, z: 2.6263}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -1435,6 +1441,7 @@ Rigidbody2D:
|
||||
m_Constraints: 0
|
||||
--- !u!212 &815418547
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -1480,6 +1487,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -1489,7 +1497,6 @@ SpriteRenderer:
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &839468740
|
||||
GameObject:
|
||||
@@ -1629,7 +1636,7 @@ Transform:
|
||||
m_GameObject: {fileID: 881483168}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -110.06211, y: -18, z: 0}
|
||||
m_LocalPosition: {x: -110.06211, y: -5, z: 0}
|
||||
m_LocalScale: {x: 13.207894, y: 9.360231, z: 2.6263}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -1710,6 +1717,7 @@ Rigidbody2D:
|
||||
m_Constraints: 0
|
||||
--- !u!212 &881483172
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -1755,6 +1763,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -1764,7 +1773,6 @@ SpriteRenderer:
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &1017291798
|
||||
GameObject:
|
||||
@@ -1822,7 +1830,7 @@ Transform:
|
||||
m_GameObject: {fileID: 1064542408}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 2.61582, y: -7.73078, z: 0}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -1905,7 +1913,7 @@ Transform:
|
||||
m_GameObject: {fileID: 1140411104}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -30.9, y: -10.4, z: 0}
|
||||
m_LocalPosition: {x: -30.9, y: 2.4000015, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -1913,6 +1921,7 @@ Transform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &1140411106
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -1958,6 +1967,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 622133659
|
||||
m_SortingLayer: -1
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -7357922426693696371, guid: 5ff790e31ebc32b49a164889b673a882, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -1967,7 +1977,6 @@ SpriteRenderer:
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &1145809176
|
||||
GameObject:
|
||||
@@ -2064,6 +2073,7 @@ MonoBehaviour:
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
@@ -2318,7 +2328,7 @@ MonoBehaviour:
|
||||
lineWidth: 0.1
|
||||
--- !u!120 &1309397784
|
||||
LineRenderer:
|
||||
serializedVersion: 2
|
||||
serializedVersion: 3
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -2364,6 +2374,7 @@ LineRenderer:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Positions:
|
||||
- {x: 0, y: 0, z: 0}
|
||||
- {x: 0, y: 0, z: 1}
|
||||
@@ -2422,7 +2433,6 @@ LineRenderer:
|
||||
textureScale: {x: 1, y: 1}
|
||||
shadowBias: 0.5
|
||||
generateLightingData: 0
|
||||
m_MaskInteraction: 0
|
||||
m_UseWorldSpace: 1
|
||||
m_Loop: 0
|
||||
m_ApplyActiveColorSpace: 1
|
||||
@@ -2577,6 +2587,7 @@ GameObject:
|
||||
m_IsActive: 1
|
||||
--- !u!212 &1467194713
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -2622,6 +2633,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -1674588785, guid: fd8520daf9c2a644a94d0afa1a5b7f4d, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -2631,7 +2643,6 @@ SpriteRenderer:
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!4 &1467194714
|
||||
Transform:
|
||||
@@ -2642,7 +2653,7 @@ Transform:
|
||||
m_GameObject: {fileID: 1467194712}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -31.6, y: -8.700001, z: 0}
|
||||
m_LocalPosition: {x: -31.6, y: 4.1000004, z: 0}
|
||||
m_LocalScale: {x: 1.5, y: 1.5, z: 1.5}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children:
|
||||
@@ -2691,7 +2702,7 @@ Transform:
|
||||
m_GameObject: {fileID: 1503641822}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalPosition: {x: 0, y: 12.800001, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -2699,6 +2710,7 @@ Transform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
|
||||
--- !u!212 &1503641824
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -2744,6 +2756,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -4346244404228752641, guid: 7b5d036a9fa30484e911f4752e3a64c8, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -2753,7 +2766,6 @@ SpriteRenderer:
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &1512788409
|
||||
GameObject:
|
||||
@@ -2781,7 +2793,7 @@ Transform:
|
||||
m_GameObject: {fileID: 1512788409}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -3.7, y: -12.4, z: 0}
|
||||
m_LocalPosition: {x: -3.7, y: 0.40000153, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -2789,6 +2801,7 @@ Transform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &1512788411
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -2834,6 +2847,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 622133659
|
||||
m_SortingLayer: -1
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -7357922426693696371, guid: 5ff790e31ebc32b49a164889b673a882, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -2843,7 +2857,6 @@ SpriteRenderer:
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &1520040324
|
||||
GameObject:
|
||||
@@ -3023,7 +3036,7 @@ Transform:
|
||||
m_GameObject: {fileID: 1584750722}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 1.5, y: 0.07, z: 0}
|
||||
m_LocalPosition: {x: 1.5, y: 12.78, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -3055,7 +3068,7 @@ Transform:
|
||||
m_GameObject: {fileID: 1587396499}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -26.699999, y: -8.7, z: 0}
|
||||
m_LocalPosition: {x: -26.699999, y: 4.1000013, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -3063,6 +3076,7 @@ Transform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &1587396501
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -3108,6 +3122,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 622133659
|
||||
m_SortingLayer: -1
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -7357922426693696371, guid: 5ff790e31ebc32b49a164889b673a882, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -3117,7 +3132,6 @@ SpriteRenderer:
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &1611333929
|
||||
GameObject:
|
||||
@@ -3214,6 +3228,7 @@ MonoBehaviour:
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
@@ -3297,6 +3312,7 @@ MeshRenderer:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!1 &1615667753
|
||||
GameObject:
|
||||
@@ -3699,7 +3715,7 @@ Transform:
|
||||
m_GameObject: {fileID: 1784207401}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalPosition: {x: 17.2, y: -0.1, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@@ -3722,19 +3738,51 @@ MonoBehaviour:
|
||||
targetPrefabs:
|
||||
- targetKey: bob_target
|
||||
prefab: {fileID: 3207629437433571205, guid: 9f4bb48933059e543b60ac782d2140d8, type: 3}
|
||||
spawnPositionMode: 0
|
||||
specifiedY: 0
|
||||
randomYMin: -5
|
||||
randomYMax: 5
|
||||
- targetKey: gardener_target
|
||||
prefab: {fileID: 3207629437433571205, guid: 80740b4781058fd4fb86aab279062278, type: 3}
|
||||
spawnPositionMode: 0
|
||||
specifiedY: 0
|
||||
randomYMin: -5
|
||||
randomYMax: 5
|
||||
positiveObjectPrefabs:
|
||||
- {fileID: 9221047222437043327, guid: 1817f4f55515cb047b681ac3924f9c34, type: 3}
|
||||
- prefab: {fileID: 497267990420767357, guid: dc32284941c693c4f9e422f4197ca61e, type: 3}
|
||||
spawnPositionMode: 2
|
||||
specifiedY: 0
|
||||
randomYMin: 3
|
||||
randomYMax: 40
|
||||
- prefab: {fileID: 1917678391913987792, guid: 989121c9099e41e469824ddeaf0e34a5, type: 3}
|
||||
spawnPositionMode: 0
|
||||
specifiedY: 0
|
||||
randomYMin: 5
|
||||
randomYMax: 20
|
||||
- prefab: {fileID: 7032677151789119314, guid: 7dc33e43acead834ba6a231b67cfd2d9, type: 3}
|
||||
spawnPositionMode: 2
|
||||
specifiedY: 0
|
||||
randomYMin: 3
|
||||
randomYMax: 40
|
||||
negativeObjectPrefabs:
|
||||
- {fileID: 9221047222437043327, guid: 675811ef904993e4d8f0e948b449c87e, type: 3}
|
||||
- prefab: {fileID: 1186710456879913970, guid: 006b956651124704dbae5bd4faab3152, type: 3}
|
||||
spawnPositionMode: 2
|
||||
specifiedY: 0
|
||||
randomYMin: 3
|
||||
randomYMax: 40
|
||||
- prefab: {fileID: 2434350760695575337, guid: f3188909ff4e845499a5cbfd0ae93101, type: 3}
|
||||
spawnPositionMode: 2
|
||||
specifiedY: 0
|
||||
randomYMin: 3
|
||||
randomYMax: 40
|
||||
groundTilePrefabs:
|
||||
- {fileID: 5175967588203935335, guid: a9b4569fcc08080479d99b9c3bcee089, type: 3}
|
||||
targetDisplayUI: {fileID: 1520040329}
|
||||
launchController: {fileID: 1309397785}
|
||||
dynamicSpawnThresholdMarker: {fileID: 1653173574}
|
||||
spawnedObjectsParent: {fileID: 1219431443}
|
||||
groundTilesParent: {fileID: 1287102785}
|
||||
groundSpawnY: -18
|
||||
groundSpawnY: -5
|
||||
showDebugLogs: 0
|
||||
--- !u!1 &1810521056
|
||||
GameObject:
|
||||
@@ -3900,7 +3948,7 @@ Transform:
|
||||
m_GameObject: {fileID: 1810521056}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -10}
|
||||
m_LocalPosition: {x: 0, y: 12.800001, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -3932,7 +3980,7 @@ Transform:
|
||||
m_GameObject: {fileID: 1827334364}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -24.699999, y: -10.5, z: 0}
|
||||
m_LocalPosition: {x: -24.699999, y: 2.3000011, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -3940,6 +3988,7 @@ Transform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &1827334366
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -3985,6 +4034,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 622133659
|
||||
m_SortingLayer: -1
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -7357922426693696371, guid: 5ff790e31ebc32b49a164889b673a882, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -3994,7 +4044,6 @@ SpriteRenderer:
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &1836836829
|
||||
GameObject:
|
||||
@@ -4022,7 +4071,7 @@ Transform:
|
||||
m_GameObject: {fileID: 1836836829}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 2.5, y: -12.5, z: 0}
|
||||
m_LocalPosition: {x: 2.5, y: 0.30000114, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -4030,6 +4079,7 @@ Transform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &1836836831
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -4075,6 +4125,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 622133659
|
||||
m_SortingLayer: -1
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -7357922426693696371, guid: 5ff790e31ebc32b49a164889b673a882, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -4084,7 +4135,6 @@ SpriteRenderer:
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &1897459173
|
||||
GameObject:
|
||||
@@ -4112,7 +4162,7 @@ Transform:
|
||||
m_GameObject: {fileID: 1897459173}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -13.9, y: -10.4, z: 0}
|
||||
m_LocalPosition: {x: -13.9, y: 2.4000015, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -4120,6 +4170,7 @@ Transform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &1897459175
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -4165,6 +4216,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 622133659
|
||||
m_SortingLayer: -1
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: 4974115186881715698, guid: e1aa947fcf3609045ba89a6ddb609ae3, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -4174,7 +4226,6 @@ SpriteRenderer:
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &1930014901
|
||||
GameObject:
|
||||
@@ -4271,6 +4322,7 @@ MonoBehaviour:
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
@@ -4354,6 +4406,7 @@ MeshRenderer:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!1 &1963533594
|
||||
GameObject:
|
||||
@@ -4526,6 +4579,7 @@ GameObject:
|
||||
m_IsActive: 1
|
||||
--- !u!212 &2018617601
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -4571,6 +4625,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: 5453481469928959302, guid: e7511d945ae75cf40abad6cb17c0da90, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -4580,7 +4635,6 @@ SpriteRenderer:
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!4 &2018617602
|
||||
Transform:
|
||||
@@ -4591,7 +4645,7 @@ Transform:
|
||||
m_GameObject: {fileID: 2018617600}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -25.7, y: -8.8, z: 0}
|
||||
m_LocalPosition: {x: -25.7, y: 4.000001, z: 0}
|
||||
m_LocalScale: {x: 3, y: 3, z: 3}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children:
|
||||
@@ -4724,6 +4778,7 @@ MonoBehaviour:
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
@@ -4834,7 +4889,7 @@ Transform:
|
||||
m_GameObject: {fileID: 2041347572}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -18.9, y: -3.7, z: -10}
|
||||
m_LocalPosition: {x: -18.9, y: 9.100001, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -5038,7 +5093,7 @@ Transform:
|
||||
m_GameObject: {fileID: 2103114174}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -10}
|
||||
m_LocalPosition: {x: 0, y: 12.800001, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -5192,7 +5247,7 @@ Transform:
|
||||
m_GameObject: {fileID: 2125208577}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalPosition: {x: 0, y: 12.800001, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -5226,7 +5281,7 @@ Transform:
|
||||
m_GameObject: {fileID: 2145467374}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -140, y: -18, z: 0}
|
||||
m_LocalPosition: {x: -140, y: -5, z: 0}
|
||||
m_LocalScale: {x: 13.207894, y: 9.360231, z: 2.6263}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -5307,6 +5362,7 @@ Rigidbody2D:
|
||||
m_Constraints: 0
|
||||
--- !u!212 &2145467378
|
||||
SpriteRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@@ -5352,6 +5408,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -5361,7 +5418,6 @@ SpriteRenderer:
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1001 &453576884181909409
|
||||
PrefabInstance:
|
||||
@@ -5381,7 +5437,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5380908876971534942, guid: a9b4569fcc08080479d99b9c3bcee089, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: -18
|
||||
value: -5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5380908876971534942, guid: a9b4569fcc08080479d99b9c3bcee089, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
|
||||
@@ -302,11 +302,10 @@ namespace AppleHills.Core.Settings
|
||||
float EvaluationDuration { get; }
|
||||
|
||||
// Spawn System
|
||||
float DynamicSpawnThreshold { get; }
|
||||
float TargetMinDistance { get; }
|
||||
float TargetMaxDistance { get; }
|
||||
float ObjectSpawnMinInterval { get; }
|
||||
float ObjectSpawnMaxInterval { get; }
|
||||
float ObjectSpawnMinDistance { get; } // Min distance between spawned objects
|
||||
float ObjectSpawnMaxDistance { get; } // Max distance between spawned objects
|
||||
float PositiveNegativeRatio { get; } // 0-1, where 1 = all positive, 0 = all negative
|
||||
float SpawnDistanceAhead { get; }
|
||||
float GroundSpawnInterval { get; }
|
||||
|
||||
@@ -199,7 +199,7 @@ namespace Minigames.Airplane.Core
|
||||
HandleLanding();
|
||||
yield break;
|
||||
}
|
||||
|
||||
|
||||
yield return null; // Update every frame, not just fixed update
|
||||
}
|
||||
}
|
||||
@@ -209,7 +209,7 @@ namespace Minigames.Airplane.Core
|
||||
#region Collision Detection
|
||||
|
||||
/// <summary>
|
||||
/// Detect trigger collisions with targets
|
||||
/// Detect trigger collisions with targets and ground
|
||||
/// </summary>
|
||||
private void OnTriggerEnter2D(Collider2D other)
|
||||
{
|
||||
@@ -227,6 +227,15 @@ namespace Minigames.Airplane.Core
|
||||
|
||||
// Land after hitting target
|
||||
HandleLanding();
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if it's ground (by layer)
|
||||
var settings = GameManager.GetSettingsObject<AppleHills.Core.Settings.IAirplaneSettings>();
|
||||
if (settings != null && other.gameObject.layer == settings.GroundLayer)
|
||||
{
|
||||
if (showDebugLogs) Logging.Debug($"[AirplaneController] Hit ground at Y={transform.position.y:F2}");
|
||||
HandleLanding();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using AppleHills.Core.Settings;
|
||||
using Core;
|
||||
using Core.Lifecycle;
|
||||
using Minigames.Airplane.Data;
|
||||
using Minigames.Airplane.UI;
|
||||
using UnityEngine;
|
||||
using Random = UnityEngine.Random;
|
||||
@@ -25,6 +26,18 @@ namespace Minigames.Airplane.Core
|
||||
|
||||
[Tooltip("Prefab to spawn for this target")]
|
||||
public GameObject prefab;
|
||||
|
||||
[Tooltip("How to position this target vertically")]
|
||||
public SpawnPositionMode spawnPositionMode = SpawnPositionMode.SnapToGround;
|
||||
|
||||
[Tooltip("Y position to use (SpecifiedY mode)")]
|
||||
public float specifiedY = 0f;
|
||||
|
||||
[Tooltip("Min Y for random range (RandomRange mode)")]
|
||||
public float randomYMin = -5f;
|
||||
|
||||
[Tooltip("Max Y for random range (RandomRange mode)")]
|
||||
public float randomYMax = 5f;
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -35,11 +48,11 @@ namespace Minigames.Airplane.Core
|
||||
[Tooltip("Dictionary of target prefabs (key = target name)")]
|
||||
[SerializeField] private TargetPrefabEntry[] targetPrefabs;
|
||||
|
||||
[Tooltip("Array of positive object prefabs")]
|
||||
[SerializeField] private GameObject[] positiveObjectPrefabs;
|
||||
[Tooltip("Array of positive object prefabs with spawn configuration")]
|
||||
[SerializeField] private PrefabSpawnEntry[] positiveObjectPrefabs;
|
||||
|
||||
[Tooltip("Array of negative object prefabs")]
|
||||
[SerializeField] private GameObject[] negativeObjectPrefabs;
|
||||
[Tooltip("Array of negative object prefabs with spawn configuration")]
|
||||
[SerializeField] private PrefabSpawnEntry[] negativeObjectPrefabs;
|
||||
|
||||
[Tooltip("Array of ground tile prefabs")]
|
||||
[SerializeField] private GameObject[] groundTilePrefabs;
|
||||
@@ -52,6 +65,10 @@ namespace Minigames.Airplane.Core
|
||||
[Tooltip("Launch controller (provides launch anchor position for distance calculation)")]
|
||||
[SerializeField] private AirplaneLaunchController launchController;
|
||||
|
||||
[Header("Spawn Threshold")]
|
||||
[Tooltip("Transform marker in scene where dynamic spawning begins (uses X position). If null, uses fallback from settings.")]
|
||||
[SerializeField] private Transform dynamicSpawnThresholdMarker;
|
||||
|
||||
[Header("Spawn Parents")]
|
||||
[Tooltip("Parent transform for spawned objects (optional, for organization)")]
|
||||
[SerializeField] private Transform spawnedObjectsParent;
|
||||
@@ -77,6 +94,7 @@ namespace Minigames.Airplane.Core
|
||||
private Sprite _targetIconSprite;
|
||||
private GameObject _spawnedTarget;
|
||||
private GameObject _targetPrefabToSpawn;
|
||||
private TargetPrefabEntry _currentTargetEntry;
|
||||
private bool _hasSpawnedTarget;
|
||||
|
||||
// Plane tracking
|
||||
@@ -84,8 +102,8 @@ namespace Minigames.Airplane.Core
|
||||
private bool _isSpawningActive;
|
||||
private bool _hasPassedThreshold;
|
||||
|
||||
// Spawning timers
|
||||
private float _nextObjectSpawnTime;
|
||||
// Spawning positions (distance-based)
|
||||
private float _nextObjectSpawnX;
|
||||
private float _nextGroundSpawnX;
|
||||
|
||||
// Spawn statistics (for weighted ratio adjustment)
|
||||
@@ -97,7 +115,7 @@ namespace Minigames.Airplane.Core
|
||||
private bool _isRetryAttempt;
|
||||
|
||||
// Cached dictionaries
|
||||
private Dictionary<string, GameObject> _targetPrefabDict;
|
||||
private Dictionary<string, TargetPrefabEntry> _targetPrefabDict;
|
||||
private IAirplaneSettings _settings;
|
||||
|
||||
#endregion
|
||||
@@ -148,7 +166,9 @@ namespace Minigames.Airplane.Core
|
||||
}
|
||||
|
||||
// Check if plane has crossed threshold
|
||||
if (!_hasPassedThreshold && planeX >= _settings.DynamicSpawnThreshold)
|
||||
float threshold = dynamicSpawnThresholdMarker.position.x;
|
||||
|
||||
if (!_hasPassedThreshold && planeX >= threshold)
|
||||
{
|
||||
_hasPassedThreshold = true;
|
||||
InitializeDynamicSpawning();
|
||||
@@ -167,11 +187,11 @@ namespace Minigames.Airplane.Core
|
||||
|
||||
if (shouldSpawnNewContent)
|
||||
{
|
||||
// Spawn objects at intervals
|
||||
if (Time.time >= _nextObjectSpawnTime)
|
||||
// Spawn objects when plane reaches spawn position
|
||||
if (planeX >= _nextObjectSpawnX)
|
||||
{
|
||||
SpawnRandomObject();
|
||||
ScheduleNextObjectSpawn();
|
||||
ScheduleNextObjectSpawn(planeX);
|
||||
}
|
||||
|
||||
// Spawn ground tiles ahead of plane
|
||||
@@ -229,13 +249,15 @@ namespace Minigames.Airplane.Core
|
||||
}
|
||||
}
|
||||
|
||||
// Find target prefab and extract icon WITHOUT spawning
|
||||
if (!_targetPrefabDict.TryGetValue(_currentTargetKey, out _targetPrefabToSpawn))
|
||||
// Find target entry and extract icon WITHOUT spawning
|
||||
if (!_targetPrefabDict.TryGetValue(_currentTargetKey, out _currentTargetEntry))
|
||||
{
|
||||
Logging.Error($"[SpawnManager] Target prefab not found for key '{_currentTargetKey}'!");
|
||||
return;
|
||||
}
|
||||
|
||||
_targetPrefabToSpawn = _currentTargetEntry.prefab;
|
||||
|
||||
// Extract icon from prefab (doesn't need to be instantiated)
|
||||
ExtractTargetIconFromPrefab(_targetPrefabToSpawn);
|
||||
|
||||
@@ -400,7 +422,7 @@ namespace Minigames.Airplane.Core
|
||||
/// </summary>
|
||||
private void BuildTargetDictionary()
|
||||
{
|
||||
_targetPrefabDict = new Dictionary<string, GameObject>();
|
||||
_targetPrefabDict = new Dictionary<string, TargetPrefabEntry>();
|
||||
|
||||
if (targetPrefabs == null || targetPrefabs.Length == 0)
|
||||
{
|
||||
@@ -428,7 +450,7 @@ namespace Minigames.Airplane.Core
|
||||
continue;
|
||||
}
|
||||
|
||||
_targetPrefabDict[entry.targetKey] = entry.prefab;
|
||||
_targetPrefabDict[entry.targetKey] = entry;
|
||||
}
|
||||
|
||||
if (showDebugLogs)
|
||||
@@ -482,24 +504,28 @@ namespace Minigames.Airplane.Core
|
||||
/// </summary>
|
||||
private void SpawnTarget()
|
||||
{
|
||||
if (!_targetPrefabDict.TryGetValue(_currentTargetKey, out GameObject targetPrefab))
|
||||
if (_currentTargetEntry == null || _currentTargetEntry.prefab == null)
|
||||
{
|
||||
Logging.Error($"[SpawnManager] Target prefab not found for key '{_currentTargetKey}'!");
|
||||
return;
|
||||
}
|
||||
|
||||
// Spawn target at initial position
|
||||
_spawnedTarget = Instantiate(targetPrefab, _targetSpawnPosition, Quaternion.identity);
|
||||
_spawnedTarget = Instantiate(_currentTargetEntry.prefab, _targetSpawnPosition, Quaternion.identity);
|
||||
|
||||
if (spawnedObjectsParent != null)
|
||||
{
|
||||
_spawnedTarget.transform.SetParent(spawnedObjectsParent);
|
||||
}
|
||||
|
||||
// Snap target to ground
|
||||
SnapObjectToGround(_spawnedTarget, _targetSpawnPosition.x);
|
||||
// Position target using configured spawn mode
|
||||
PositionObject(_spawnedTarget, _targetSpawnPosition.x,
|
||||
_currentTargetEntry.spawnPositionMode,
|
||||
_currentTargetEntry.specifiedY,
|
||||
_currentTargetEntry.randomYMin,
|
||||
_currentTargetEntry.randomYMax);
|
||||
|
||||
// Update target spawn position to actual snapped position
|
||||
// Update target spawn position to actual positioned location
|
||||
_targetSpawnPosition = _spawnedTarget.transform.position;
|
||||
|
||||
// Extract sprite for UI icon
|
||||
@@ -591,11 +617,16 @@ namespace Minigames.Airplane.Core
|
||||
/// </summary>
|
||||
private void InitializeDynamicSpawning()
|
||||
{
|
||||
ScheduleNextObjectSpawn();
|
||||
|
||||
if (showDebugLogs)
|
||||
// Schedule first spawn trigger from current plane position
|
||||
// Actual spawning will happen at look-ahead distance
|
||||
if (_planeTransform != null)
|
||||
{
|
||||
Logging.Debug("[SpawnManager] Dynamic spawning initialized");
|
||||
ScheduleNextObjectSpawn(_planeTransform.position.x);
|
||||
|
||||
if (showDebugLogs)
|
||||
{
|
||||
Logging.Debug($"[SpawnManager] Dynamic spawning initialized, first spawn trigger at planeX={_nextObjectSpawnX:F2}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -608,24 +639,32 @@ namespace Minigames.Airplane.Core
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Schedule the next object spawn based on random interval.
|
||||
/// Schedule the next object spawn based on random distance from current position.
|
||||
/// </summary>
|
||||
private void ScheduleNextObjectSpawn()
|
||||
/// <param name="currentX">Current X position (usually plane's X or last spawn X)</param>
|
||||
private void ScheduleNextObjectSpawn(float currentX)
|
||||
{
|
||||
float interval = Random.Range((float)_settings.ObjectSpawnMinInterval, (float)_settings.ObjectSpawnMaxInterval);
|
||||
_nextObjectSpawnTime = Time.time + interval;
|
||||
float spawnDistance = Random.Range(_settings.ObjectSpawnMinDistance, _settings.ObjectSpawnMaxDistance);
|
||||
_nextObjectSpawnX = currentX + spawnDistance;
|
||||
|
||||
if (showDebugLogs)
|
||||
{
|
||||
Logging.Debug($"[SpawnManager] Next object scheduled at X={_nextObjectSpawnX:F2} (distance: {spawnDistance:F2} from {currentX:F2})");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Spawn a random positive or negative object.
|
||||
/// Uses weighted randomness to maintain target ratio.
|
||||
/// Avoids spawning near target position to prevent obscuring it.
|
||||
/// Objects spawn at look-ahead distance to ensure they're off-screen.
|
||||
/// </summary>
|
||||
private void SpawnRandomObject()
|
||||
{
|
||||
if (_planeTransform == null) return;
|
||||
|
||||
// Calculate spawn X position ahead of plane
|
||||
// Spawn at look-ahead distance from plane's current position
|
||||
// This ensures objects always spawn off-screen
|
||||
float spawnX = _planeTransform.position.x + _settings.SpawnDistanceAhead;
|
||||
|
||||
// Check if spawn position is too close to target (avoid obscuring it)
|
||||
@@ -634,24 +673,26 @@ namespace Minigames.Airplane.Core
|
||||
|
||||
if (distanceToTarget < targetClearanceZone)
|
||||
{
|
||||
// Too close to target, skip this spawn
|
||||
// Too close to target, skip this spawn and schedule the next one
|
||||
if (showDebugLogs)
|
||||
{
|
||||
Logging.Debug($"[SpawnManager] Skipped object spawn at X={spawnX:F2} (too close to target at X={_targetSpawnPosition.x:F2})");
|
||||
}
|
||||
// Schedule next spawn further ahead
|
||||
ScheduleNextObjectSpawn(spawnX);
|
||||
return;
|
||||
}
|
||||
|
||||
// Determine if spawning positive or negative based on weighted ratio
|
||||
bool spawnPositive = ShouldSpawnPositive();
|
||||
|
||||
GameObject prefabToSpawn = null;
|
||||
PrefabSpawnEntry entryToSpawn = null;
|
||||
|
||||
if (spawnPositive)
|
||||
{
|
||||
if (positiveObjectPrefabs != null && positiveObjectPrefabs.Length > 0)
|
||||
{
|
||||
prefabToSpawn = positiveObjectPrefabs[UnityEngine.Random.Range(0, positiveObjectPrefabs.Length)];
|
||||
entryToSpawn = positiveObjectPrefabs[UnityEngine.Random.Range(0, positiveObjectPrefabs.Length)];
|
||||
_positiveSpawnCount++;
|
||||
}
|
||||
}
|
||||
@@ -659,25 +700,36 @@ namespace Minigames.Airplane.Core
|
||||
{
|
||||
if (negativeObjectPrefabs != null && negativeObjectPrefabs.Length > 0)
|
||||
{
|
||||
prefabToSpawn = negativeObjectPrefabs[UnityEngine.Random.Range(0, negativeObjectPrefabs.Length)];
|
||||
entryToSpawn = negativeObjectPrefabs[UnityEngine.Random.Range(0, negativeObjectPrefabs.Length)];
|
||||
_negativeSpawnCount++;
|
||||
}
|
||||
}
|
||||
|
||||
if (prefabToSpawn == null) return;
|
||||
if (entryToSpawn == null || entryToSpawn.prefab == null) return;
|
||||
|
||||
|
||||
// Spawn object at temporary position
|
||||
Vector3 tempPosition = new Vector3(spawnX, 0f, 0f);
|
||||
GameObject spawnedObject = Instantiate(prefabToSpawn, tempPosition, Quaternion.identity);
|
||||
GameObject spawnedObject = Instantiate(entryToSpawn.prefab, tempPosition, Quaternion.identity);
|
||||
|
||||
if (spawnedObjectsParent != null)
|
||||
{
|
||||
spawnedObject.transform.SetParent(spawnedObjectsParent);
|
||||
}
|
||||
|
||||
// Snap to ground
|
||||
SnapObjectToGround(spawnedObject, spawnX);
|
||||
// Position object using entry's spawn configuration
|
||||
PositionObject(spawnedObject, spawnX,
|
||||
entryToSpawn.spawnPositionMode,
|
||||
entryToSpawn.specifiedY,
|
||||
entryToSpawn.randomYMin,
|
||||
entryToSpawn.randomYMax);
|
||||
|
||||
// Initialize components that need post-spawn setup
|
||||
var initializable = spawnedObject.GetComponent<Interactive.ISpawnInitializable>();
|
||||
if (initializable != null)
|
||||
{
|
||||
initializable.Initialize();
|
||||
}
|
||||
|
||||
if (showDebugLogs)
|
||||
{
|
||||
@@ -749,7 +801,57 @@ namespace Minigames.Airplane.Core
|
||||
|
||||
#endregion
|
||||
|
||||
#region Ground Snapping
|
||||
#region Object Positioning
|
||||
|
||||
/// <summary>
|
||||
/// Position an object based on the specified spawn mode.
|
||||
/// </summary>
|
||||
/// <param name="obj">Object to position</param>
|
||||
/// <param name="xPosition">X position for the object</param>
|
||||
/// <param name="mode">Spawn position mode to use</param>
|
||||
/// <param name="specifiedY">Y value for SpecifiedY mode</param>
|
||||
/// <param name="randomYMin">Min Y for RandomRange mode</param>
|
||||
/// <param name="randomYMax">Max Y for RandomRange mode</param>
|
||||
private void PositionObject(GameObject obj, float xPosition, SpawnPositionMode mode,
|
||||
float specifiedY, float randomYMin, float randomYMax)
|
||||
{
|
||||
if (obj == null) return;
|
||||
|
||||
float targetY;
|
||||
|
||||
switch (mode)
|
||||
{
|
||||
case SpawnPositionMode.SnapToGround:
|
||||
targetY = SnapToGround(obj, xPosition);
|
||||
break;
|
||||
|
||||
case SpawnPositionMode.SpecifiedY:
|
||||
targetY = specifiedY;
|
||||
if (showDebugLogs)
|
||||
{
|
||||
Logging.Debug($"[SpawnManager] Positioned object at specified Y={targetY:F2}");
|
||||
}
|
||||
break;
|
||||
|
||||
case SpawnPositionMode.RandomRange:
|
||||
targetY = Random.Range(randomYMin, randomYMax);
|
||||
if (showDebugLogs)
|
||||
{
|
||||
Logging.Debug($"[SpawnManager] Positioned object at random Y={targetY:F2} (range: {randomYMin:F2} to {randomYMax:F2})");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
Logging.Error($"[SpawnManager] Unknown spawn position mode: {mode}");
|
||||
targetY = 0f;
|
||||
break;
|
||||
}
|
||||
|
||||
// Apply position
|
||||
Vector3 newPosition = obj.transform.position;
|
||||
newPosition.y = targetY;
|
||||
obj.transform.position = newPosition;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Snap an object to the ground using raycast.
|
||||
@@ -757,10 +859,9 @@ namespace Minigames.Airplane.Core
|
||||
/// </summary>
|
||||
/// <param name="obj">Object to snap to ground</param>
|
||||
/// <param name="xPosition">X position to raycast from</param>
|
||||
private void SnapObjectToGround(GameObject obj, float xPosition)
|
||||
/// <returns>The Y position where object was snapped</returns>
|
||||
private float SnapToGround(GameObject obj, float xPosition)
|
||||
{
|
||||
if (obj == null) return;
|
||||
|
||||
// Start raycast from high Y position
|
||||
Vector2 rayOrigin = new Vector2(xPosition, 0.0f);
|
||||
|
||||
@@ -800,10 +901,7 @@ namespace Minigames.Airplane.Core
|
||||
Logging.Warning($"[SpawnManager] No ground found at X={xPosition}, using default Y={targetY}");
|
||||
}
|
||||
|
||||
// Apply position
|
||||
Vector3 newPosition = obj.transform.position;
|
||||
newPosition.y = targetY;
|
||||
obj.transform.position = newPosition;
|
||||
return targetY;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
29
Assets/Scripts/Minigames/Airplane/Data/PrefabSpawnEntry.cs
Normal file
29
Assets/Scripts/Minigames/Airplane/Data/PrefabSpawnEntry.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Minigames.Airplane.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines a prefab with spawn position configuration.
|
||||
/// Used for positive/negative objects in the airplane minigame.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class PrefabSpawnEntry
|
||||
{
|
||||
[Tooltip("Prefab to spawn")]
|
||||
public GameObject prefab;
|
||||
|
||||
[Tooltip("How to position this object vertically")]
|
||||
public SpawnPositionMode spawnPositionMode = SpawnPositionMode.SnapToGround;
|
||||
|
||||
[Tooltip("Y position to use (SpecifiedY mode)")]
|
||||
public float specifiedY;
|
||||
|
||||
[Tooltip("Min Y for random range (RandomRange mode)")]
|
||||
public float randomYMin = -5f;
|
||||
|
||||
[Tooltip("Max Y for random range (RandomRange mode)")]
|
||||
public float randomYMax = 5f;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d0290f7749fa4d2bb5cc8830a371705f
|
||||
timeCreated: 1765189597
|
||||
24
Assets/Scripts/Minigames/Airplane/Data/SpawnPositionMode.cs
Normal file
24
Assets/Scripts/Minigames/Airplane/Data/SpawnPositionMode.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
namespace Minigames.Airplane.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines how spawned objects are positioned vertically.
|
||||
/// </summary>
|
||||
public enum SpawnPositionMode
|
||||
{
|
||||
/// <summary>
|
||||
/// Raycast down to find ground and snap object's bottom to ground surface.
|
||||
/// </summary>
|
||||
SnapToGround,
|
||||
|
||||
/// <summary>
|
||||
/// Spawn at a specific Y coordinate.
|
||||
/// </summary>
|
||||
SpecifiedY,
|
||||
|
||||
/// <summary>
|
||||
/// Spawn at a random Y coordinate within a specified range.
|
||||
/// </summary>
|
||||
RandomRange
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 97deb3f78d56408e83dc9f766418a5a2
|
||||
timeCreated: 1765189120
|
||||
@@ -3,11 +3,13 @@
|
||||
namespace Minigames.Airplane.Interactive
|
||||
{
|
||||
/// <summary>
|
||||
/// Gravity well that pulls airplanes toward its center.
|
||||
/// Gravity well that pulls airplanes toward its Y position (vertical only).
|
||||
/// Plane below the well gets pulled UP, plane above gets pulled DOWN.
|
||||
/// Does NOT affect horizontal (X) velocity - plane maintains forward momentum.
|
||||
/// Creates challenging "danger zones" that players must avoid or escape from.
|
||||
/// </summary>
|
||||
[RequireComponent(typeof(Collider2D))]
|
||||
public class AirplaneGravityWell : MonoBehaviour
|
||||
public class AirplaneGravityWell : MonoBehaviour, ISpawnInitializable
|
||||
{
|
||||
[Header("Gravity Configuration")]
|
||||
[SerializeField] private float pullStrength = 5f;
|
||||
@@ -37,7 +39,14 @@ namespace Minigames.Airplane.Interactive
|
||||
{
|
||||
collider.isTrigger = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Called by spawn manager after object is positioned.
|
||||
/// Caches the final Y position for pull calculations.
|
||||
/// </summary>
|
||||
public void Initialize()
|
||||
{
|
||||
centerPosition = transform.position;
|
||||
}
|
||||
|
||||
@@ -59,31 +68,31 @@ namespace Minigames.Airplane.Interactive
|
||||
var rb = other.GetComponent<Rigidbody2D>();
|
||||
if (rb == null) return;
|
||||
|
||||
// Calculate direction and distance to center
|
||||
// Calculate VERTICAL distance only (Y-axis only)
|
||||
Vector2 airplanePos = rb.position;
|
||||
Vector2 toCenter = centerPosition - airplanePos;
|
||||
float distance = toCenter.magnitude;
|
||||
float yDistance = centerPosition.y - airplanePos.y;
|
||||
float absYDistance = Mathf.Abs(yDistance);
|
||||
|
||||
// Prevent division by zero
|
||||
if (distance < minPullDistance)
|
||||
if (absYDistance < minPullDistance)
|
||||
{
|
||||
distance = minPullDistance;
|
||||
absYDistance = minPullDistance;
|
||||
}
|
||||
|
||||
// Calculate pull force
|
||||
// Calculate pull force based on vertical distance
|
||||
float forceMagnitude;
|
||||
|
||||
if (useInverseSquare)
|
||||
{
|
||||
// Realistic gravity-like force (inverse square law)
|
||||
forceMagnitude = pullStrength / (distance * distance);
|
||||
forceMagnitude = pullStrength / (absYDistance * absYDistance);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Linear falloff based on distance
|
||||
// Linear falloff based on vertical distance
|
||||
var collider = GetComponent<Collider2D>();
|
||||
float maxDistance = collider != null ? collider.bounds.extents.magnitude : 5f;
|
||||
float normalizedDistance = Mathf.Clamp01(distance / maxDistance);
|
||||
float maxDistance = collider != null ? collider.bounds.extents.y * 2f : 5f; // Use height, not diagonal
|
||||
float normalizedDistance = Mathf.Clamp01(absYDistance / maxDistance);
|
||||
float falloff = pullFalloff.Evaluate(1f - normalizedDistance);
|
||||
forceMagnitude = pullStrength * falloff;
|
||||
}
|
||||
@@ -91,13 +100,16 @@ namespace Minigames.Airplane.Interactive
|
||||
// Clamp force
|
||||
forceMagnitude = Mathf.Min(forceMagnitude, maxPullForce);
|
||||
|
||||
// Apply force toward center
|
||||
Vector2 pullForce = toCenter.normalized * forceMagnitude;
|
||||
// Apply force ONLY in Y direction, toward the well's Y position
|
||||
// If plane is below (yDistance > 0), pull up (+Y)
|
||||
// If plane is above (yDistance < 0), pull down (-Y)
|
||||
float yForceDirection = yDistance > 0 ? 1f : -1f;
|
||||
Vector2 pullForce = new Vector2(0f, yForceDirection * forceMagnitude);
|
||||
rb.AddForce(pullForce, ForceMode2D.Force);
|
||||
|
||||
if (showDebugLogs && Time.frameCount % 30 == 0) // Log every 30 frames
|
||||
{
|
||||
Debug.Log($"[AirplaneGravityWell] Pulling {other.name}: force={forceMagnitude:F2}, distance={distance:F2}");
|
||||
Debug.Log($"[AirplaneGravityWell] Pulling {other.name}: force={forceMagnitude:F2} {(yForceDirection > 0 ? "UP" : "DOWN")}, Y-distance={absYDistance:F2}");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace Minigames.Airplane.Interactive
|
||||
if (rb != null)
|
||||
{
|
||||
Vector2 force = isWorldSpace ? windForce : transform.TransformDirection(windForce);
|
||||
rb.AddForce(force * Time.fixedDeltaTime, ForceMode2D.Force);
|
||||
rb.AddForce(force, ForceMode2D.Force);
|
||||
|
||||
if (showDebugLogs)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace Minigames.Airplane.Interactive
|
||||
{
|
||||
/// <summary>
|
||||
/// Interface for objects that need initialization after being spawned and positioned.
|
||||
/// The spawn manager will call Initialize() after setting the object's position.
|
||||
/// </summary>
|
||||
public interface ISpawnInitializable
|
||||
{
|
||||
/// <summary>
|
||||
/// Called by the spawn manager after the object has been instantiated and positioned.
|
||||
/// Use this to cache position-dependent state instead of using Awake().
|
||||
/// </summary>
|
||||
void Initialize();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a4d1d877662847eeae0daa9fd4fa4788
|
||||
timeCreated: 1765193296
|
||||
@@ -75,8 +75,8 @@ namespace Minigames.Airplane.Settings
|
||||
[SerializeField] private float evaluationDuration = 1f;
|
||||
|
||||
[Header("Spawn System")]
|
||||
[Tooltip("X position where dynamic spawning begins")]
|
||||
[SerializeField] private float dynamicSpawnThreshold = 10f;
|
||||
[Tooltip("Transform marker in scene where dynamic spawning begins (uses X position). If null, uses fallback distance.")]
|
||||
[SerializeField] private Transform dynamicSpawnThresholdMarker;
|
||||
|
||||
[Tooltip("Minimum random distance for target spawn")]
|
||||
[SerializeField] private float targetMinDistance = 30f;
|
||||
@@ -84,11 +84,11 @@ namespace Minigames.Airplane.Settings
|
||||
[Tooltip("Maximum random distance for target spawn")]
|
||||
[SerializeField] private float targetMaxDistance = 50f;
|
||||
|
||||
[Tooltip("Minimum time interval between object spawns (seconds)")]
|
||||
[SerializeField] private float objectSpawnMinInterval = 1f;
|
||||
[Tooltip("Minimum distance between spawned objects (units)")]
|
||||
[SerializeField] private float objectSpawnMinDistance = 5f;
|
||||
|
||||
[Tooltip("Maximum time interval between object spawns (seconds)")]
|
||||
[SerializeField] private float objectSpawnMaxInterval = 3f;
|
||||
[Tooltip("Maximum distance between spawned objects (units)")]
|
||||
[SerializeField] private float objectSpawnMaxDistance = 20f;
|
||||
|
||||
[Tooltip("Ratio of positive to negative objects (0 = all negative, 1 = all positive)")]
|
||||
[Range(0f, 1f)]
|
||||
@@ -138,11 +138,10 @@ namespace Minigames.Airplane.Settings
|
||||
public float IntroDuration => introDuration;
|
||||
public float PersonIntroDuration => personIntroDuration;
|
||||
public float EvaluationDuration => evaluationDuration;
|
||||
public float DynamicSpawnThreshold => dynamicSpawnThreshold;
|
||||
public float TargetMinDistance => targetMinDistance;
|
||||
public float TargetMaxDistance => targetMaxDistance;
|
||||
public float ObjectSpawnMinInterval => objectSpawnMinInterval;
|
||||
public float ObjectSpawnMaxInterval => objectSpawnMaxInterval;
|
||||
public float ObjectSpawnMinDistance => objectSpawnMinDistance;
|
||||
public float ObjectSpawnMaxDistance => objectSpawnMaxDistance;
|
||||
public float PositiveNegativeRatio => positiveNegativeRatio;
|
||||
public float SpawnDistanceAhead => spawnDistanceAhead;
|
||||
public float GroundSpawnInterval => groundSpawnInterval;
|
||||
|
||||
@@ -78,11 +78,11 @@ MonoBehaviour:
|
||||
introDuration: 2
|
||||
personIntroDuration: 2
|
||||
evaluationDuration: 2
|
||||
dynamicSpawnThreshold: 50
|
||||
targetMinDistance: 150
|
||||
targetMaxDistance: 250
|
||||
objectSpawnMinInterval: 0.5
|
||||
objectSpawnMaxInterval: 1
|
||||
dynamicSpawnThresholdMarker: {fileID: 0}
|
||||
targetMinDistance: 500
|
||||
targetMaxDistance: 1000
|
||||
objectSpawnMinDistance: 5
|
||||
objectSpawnMaxDistance: 30
|
||||
positiveNegativeRatio: 0.5
|
||||
spawnDistanceAhead: 50
|
||||
groundSpawnInterval: 30
|
||||
|
||||
@@ -3,10 +3,11 @@
|
||||
--- !u!55 &1
|
||||
PhysicsManager:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 13
|
||||
serializedVersion: 20
|
||||
m_Gravity: {x: 0, y: -9.81, z: 0}
|
||||
m_DefaultMaterial: {fileID: 0}
|
||||
m_BounceThreshold: 2
|
||||
m_DefaultMaxDepenetrationVelocity: 10
|
||||
m_SleepThreshold: 0.005
|
||||
m_DefaultContactOffset: 0.01
|
||||
m_DefaultSolverIterations: 6
|
||||
@@ -16,11 +17,11 @@ PhysicsManager:
|
||||
m_EnableAdaptiveForce: 0
|
||||
m_ClothInterCollisionDistance: 0.1
|
||||
m_ClothInterCollisionStiffness: 0.2
|
||||
m_ContactsGeneration: 1
|
||||
m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||
m_AutoSimulation: 1
|
||||
m_LayerCollisionMatrix: ffffffffff7fffffff7fffffffffffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffffffffff0940ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||
m_SimulationMode: 0
|
||||
m_AutoSyncTransforms: 0
|
||||
m_ReuseCollisionCallbacks: 1
|
||||
m_InvokeCollisionCallbacks: 1
|
||||
m_ClothInterCollisionSettingsToggle: 0
|
||||
m_ClothGravity: {x: 0, y: -9.81, z: 0}
|
||||
m_ContactPairsMode: 0
|
||||
@@ -31,6 +32,10 @@ PhysicsManager:
|
||||
m_WorldSubdivisions: 8
|
||||
m_FrictionType: 0
|
||||
m_EnableEnhancedDeterminism: 0
|
||||
m_EnableUnifiedHeightmaps: 1
|
||||
m_ImprovedPatchFriction: 0
|
||||
m_GenerateOnTriggerStayEvents: 1
|
||||
m_SolverType: 0
|
||||
m_DefaultMaxAngularSpeed: 50
|
||||
m_ScratchBufferChunkCount: 4
|
||||
m_CurrentBackendId: 4072204805
|
||||
m_FastMotionThreshold: 3.4028235e+38
|
||||
|
||||
Reference in New Issue
Block a user