chunk 2: remaining non-audio non-NewImport assets

This commit is contained in:
2026-04-06 11:25:19 +03:00
parent 0d11a097d8
commit ed675b9f4a
3742 changed files with 1640416 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 016b88685105d3d4c84b28ff05117c69
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application>
<!--Used when Application Entry is set to Activity, otherwise remove this activity block-->
<activity android:name="com.unity3d.player.UnityPlayerActivity"
android:theme="@style/UnityThemeSelector">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
<!--Used when Application Entry is set to GameActivity, otherwise remove this activity block-->
<activity android:name="com.unity3d.player.UnityPlayerGameActivity"
android:theme="@style/UnityThemeSelector">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
<meta-data android:name="android.app.lib_name" android:value="game" />
</activity>
</application>
</manifest>

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e2e3bee44bd7eb1a58f8fcfc60422442
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a9b20a678bf305e478df1feadad336f7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c415bba33350fa54a89dc649055e5ab2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 9adb5737c05fe9843a1291443d26c2ce
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 205332
packageName: Collider-X
packageVersion: 1.0
assetPath: Assets/Plugins/PanettoneGames/ColliderX/ColliderX Read Me.pdf
uploadId: 496395

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 93660181320388647bbd2522eb425a08
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,14 @@
using UnityEngine;
/// <summary>
/// General Settings that works for most games.
/// </summary>
//[CreateAssetMenu(menuName = "ColliderX")] //Uncomment to create one object to control the global settings.
//there's already one scriptable object asset provided and you don't actually need to create another one, just find it and change its variables
public class ColliderLimits : ScriptableObject
{
public int VertLimit;
[Range(0.1f, 1f)]
public float BlockinessThreshold;
}

View File

@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 7f32b3e76dd37a54ca295c55d3a89d33
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 205332
packageName: Collider-X
packageVersion: 1.0
assetPath: Assets/Plugins/PanettoneGames/ColliderX/Editor/ColliderLimits.cs
uploadId: 496395

View File

@@ -0,0 +1,16 @@
{
"name": "ColliderX.Editor",
"rootNamespace": "",
"references": [],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 8fcf99ed1a1a24742ba7eba04aaebc5f
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 205332
packageName: Collider-X
packageVersion: 1.0
assetPath: Assets/Plugins/PanettoneGames/ColliderX/Editor/ColliderX.Editor.asmdef
uploadId: 496395

View File

@@ -0,0 +1,276 @@
using System;
using System.Reflection;
using UnityEditor;
using UnityEngine;
[CustomEditor(typeof(Transform), true)]
public class ColliderX : UnityEditor.Editor
{
#region private members
private bool _enforceMeshColliders = false;
private bool _useConvex = true;
private bool _keep = false;
private Transform _target;
private GUISkin skin;
//Unity's built-in editor
Editor defaultEditor;
private bool showInfo;
private int _vertCount;
private static string myPubID = "46749";
[Tooltip("Number of Vertices below which a Box Collider will be used")]
private int vertLimit = 200;
//[Range(0.1f, 1f)]
private float blockinessThreshold = 0.6f;
private bool isBox;
private string meshType;
private ColliderLimits colliderLimits;
private bool settingsSection;
#endregion
void OnEnable()
{
//When this inspector is created, also create the built-in inspector
defaultEditor = Editor.CreateEditor(targets, Type.GetType("UnityEditor.TransformInspector, UnityEditor"));
//initialization
showInfo = true;
skin = Resources.Load<GUISkin>("guiStyles/Default");
colliderLimits = Resources.Load<ColliderLimits>("settings/ColliderLimits");//there's already one scriptable object asset provided and you don't actually need to create another one, just find it and change its variables
vertLimit = colliderLimits.VertLimit;
blockinessThreshold = colliderLimits.BlockinessThreshold;
}
void OnDisable()
{
//When OnDisable is called, the default editor we created should be destroyed to avoid memory leakage.
//Also, make sure to call any required methods like OnDisable
MethodInfo disableMethod = defaultEditor.GetType().GetMethod("OnDisable", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);
if (disableMethod != null)
disableMethod.Invoke(defaultEditor, null);
DestroyImmediate(defaultEditor);
}
/// <summary>
/// Draws UI. Called every time the mouse hovers over the editor
/// </summary>
public override void OnInspectorGUI()
{
//Drawing UI
EditorGUILayout.LabelField("Local Space", EditorStyles.boldLabel);
defaultEditor.OnInspectorGUI();
//Uncomment to show world space position, rotation and scale
//ShowWorldSpace();
GUI.enabled = true;
DrawXColliderInspector();
}
/// <summary>
/// Reveals WorldSpace data
/// </summary>
private void ShowWorldSpace()
{
EditorGUILayout.Space();
EditorGUILayout.LabelField("World Space", EditorStyles.boldLabel);
GUI.enabled = false;
Vector3 localPosition = _target.localPosition;
_target.localPosition = _target.position;
Quaternion localRotation = _target.localRotation;
_target.localRotation = _target.rotation;
Vector3 localScale = _target.localScale;
_target.localScale = _target.lossyScale;
defaultEditor.OnInspectorGUI();
_target.localPosition = localPosition;
_target.localRotation = localRotation;
_target.localScale = localScale;
}
/// <summary>
/// Draws the Editor UI
/// </summary>
private void DrawXColliderInspector()
{
_target = (Transform)target;
int _meshCount = _target.GetComponentsInChildren<MeshFilter>().Length;
int _colliderCount = _target.GetComponentsInChildren<Collider>().Length;
int _boxColliderCount = _target.GetComponentsInChildren<BoxCollider>().Length;
int _meshColliderCount = _target.GetComponentsInChildren<MeshCollider>().Length;
_vertCount = 0;
MeshFilter _item = _target.GetComponent<MeshFilter>();
if (_meshCount > 0)
{
if (_target.GetComponent<MeshFilter>() != null)
_vertCount = _target.GetComponent<MeshFilter>().sharedMesh.vertexCount;
EditorGUILayout.Space(20);
//GUILayout.Space(20);
showInfo = EditorGUILayout.BeginFoldoutHeaderGroup(showInfo, "ColliderX", skin.GetStyle("PanHeaderDefault"));
if (showInfo)
{
EditorGUILayout.Space(5);
//GUILayout.Label($"Colliders");
if (_item != null)
{
GUILayout.BeginHorizontal();
isBox = (IsBlocky(_item) || _item.sharedMesh.vertexCount < vertLimit);
//meshType = isBox ? $"Box Colliders for blocky objects under {vertLimit}" : $"Mesh Colliders for blocky objects under {vertLimit}";
meshType = isBox ? "Box" : "Mesh";
GUILayout.Label($"Is Blocky? {IsBlocky(_item)}, Is LowPoly? { _item.sharedMesh.vertexCount < vertLimit}");
GUILayout.Label($"{_item.name} Verts: {_vertCount}");
GUILayout.EndHorizontal();
GUILayout.Label(meshType, isBox ? skin.GetStyle("GreenText") : skin.GetStyle("RedText"));
EditorGUILayout.Space(5);
}
GUILayout.BeginHorizontal();
_keep = GUILayout.Toggle(_keep, "Keep Existing");
GUILayout.EndHorizontal();
GUILayout.BeginHorizontal();
_enforceMeshColliders = GUILayout.Toggle(_enforceMeshColliders, "Enforce Mesh Colliders");
_useConvex = GUILayout.Toggle(_useConvex, "Use Convex");
GUILayout.EndHorizontal();
EditorGUILayout.Space(5);
if (GUILayout.Button($"Generate Colliders for {_meshCount} objects"))
{
colliderLimits.VertLimit = vertLimit;
colliderLimits.BlockinessThreshold = blockinessThreshold;
AddColliders(_enforceMeshColliders, _useConvex);
}
if (_colliderCount > 0)
{
var msg = (_colliderCount > 1) ?
$"Remove {_boxColliderCount} Box & {_meshColliderCount} Mesh Colliders" :
$"Remove {_colliderCount} Colliders";
if (GUILayout.Button(msg))
RemoveAllColliders();
}
}
EditorGUILayout.EndFoldoutHeaderGroup();
GUILayout.Space(15);
settingsSection = EditorGUILayout.BeginFoldoutHeaderGroup(settingsSection, "Detection Settings");//, skin.GetStyle("H2"));
if (settingsSection)
{
vertLimit = EditorGUILayout.IntField("Verts Limit:", Mathf.Clamp(vertLimit, 3, 10000));
blockinessThreshold = EditorGUILayout.FloatField("Block Thresh Limit:", Mathf.Clamp(blockinessThreshold, 0.01f, 1.5f));
}
EditorGUILayout.EndFoldoutHeaderGroup();
GUILayout.Space(10);
if (GUILayout.Button("More cool tools...", skin.GetStyle("PanStoreLink")))
{
Application.OpenURL($"https://assetstore.unity.com/publishers/" + myPubID);
Application.OpenURL($"https://panettonegames.com/");
}
GUILayout.Space(5);
}
}
public int GetCollidersCount()
{
return _target.GetComponentsInChildren<MeshFilter>().Length;
}
/// <summary>
/// Generates Colliders to all child transforms
/// </summary>
/// <param name="enfoceMeshCollider">Always Creates mesh colliders regardless of vertics count and GameObject Dimensions/Blockiness</param>
/// <param name="useConvex">Enforces Convex colliders</param>
public void AddColliders(bool enfoceMeshCollider, bool useConvex)
{
var items = _target.GetComponentsInChildren<MeshFilter>();
foreach (var item in items)
{
if (!_keep)
RemoveColliders(item);
if (enfoceMeshCollider)
{
if (item.gameObject.GetComponent<Collider>() == null)
item.gameObject.AddComponent<MeshCollider>().convex = useConvex;
}
else
{
if ((IsBlocky(item) || item.sharedMesh.vertexCount < vertLimit))
{
if (item.gameObject.GetComponent<Collider>() == null)
item.gameObject.AddComponent<BoxCollider>();
}
else
{
if (item.gameObject.GetComponent<Collider>() == null)
item.gameObject.AddComponent<MeshCollider>().convex = useConvex;
}
}
}
}
/// <summary>
/// Decides whether or not the GameObject is blocky based on the BlockinessThreshold settings in the ColliderLimits Scriptable Objects
/// </summary>
/// <param name="item">The Target GameObject Mesh</param>
/// <returns></returns>
private bool IsBlocky(MeshFilter item)
{
return
Mathf.Abs(item.sharedMesh.bounds.size.x - item.sharedMesh.bounds.size.y) < blockinessThreshold ||
Mathf.Abs(item.sharedMesh.bounds.size.x - item.sharedMesh.bounds.size.z) < blockinessThreshold ||
Mathf.Abs(item.sharedMesh.bounds.size.y - item.sharedMesh.bounds.size.z) < blockinessThreshold;
}
/// <summary>
/// Clears colliders for a particular GameObject with a MeshFilter
/// </summary>
/// <param name="item">Child GameObject</param>
private void RemoveColliders(MeshFilter item)
{
foreach (var xCollider in item.gameObject.GetComponents<Collider>())
DestroyImmediate(xCollider);
}
/// <summary>
/// Clears colliders from all children with MeshFilter
/// </summary>
public void RemoveAllColliders()
{
var items = _target.GetComponentsInChildren<MeshFilter>();
foreach (var item in items)
RemoveColliders(item);
}
}

View File

@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: ca048d6431689b04caea68eb7e4afa01
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 205332
packageName: Collider-X
packageVersion: 1.0
assetPath: Assets/Plugins/PanettoneGames/ColliderX/Editor/ColliderX.cs
uploadId: 496395

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e37fcd3a77588c24c85acbe4d0641a43
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f3a9fe32f795d754890af7947521d1eb
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,94 @@
Copyright (c) 2011 TypeSETit, LLC (typesetit@att.net),
with Reserved Font Name "Playball"
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 1 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that the font
names of derivative works are changed. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 9776f4fa7c3c2f248b0d65f5e0cd9c74
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 205332
packageName: Collider-X
packageVersion: 1.0
assetPath: Assets/Plugins/PanettoneGames/ColliderX/Resources/fonts/Playball Copyright.txt
uploadId: 496395

View File

@@ -0,0 +1,30 @@
fileFormatVersion: 2
guid: 014ff1f7803362c4fb3ccdbe94fd5c9a
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontName: Playball
fontNames:
- Playball
fallbackFontReferences:
- {fileID: 12800000, guid: cb4f7fcf666d397468f0e962a6b1c504, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 205332
packageName: Collider-X
packageVersion: 1.0
assetPath: Assets/Plugins/PanettoneGames/ColliderX/Resources/fonts/Playball.ttf
uploadId: 496395

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e4765ea5d75fd4a42bd21d54911ab2db
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 747ba65bc9a32f142bfc03697f7b278c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 205332
packageName: Collider-X
packageVersion: 1.0
assetPath: Assets/Plugins/PanettoneGames/ColliderX/Resources/guiStyles/Default.guiskin
uploadId: 496395

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8bc0668791ed3804382e2b907cf636e8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 71b37b0915e10b845971c855e6a231dc
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 205332
packageName: Collider-X
packageVersion: 1.0
assetPath: Assets/Plugins/PanettoneGames/ColliderX/Resources/settings/ColliderLimits.asset
uploadId: 496395