Added tilemap plugin and tilemap

This commit is contained in:
2025-09-01 15:07:27 +02:00
parent 1a5126a259
commit 8b0f6b9376
103 changed files with 17369 additions and 269 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -0,0 +1,654 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &1
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_PixelRect:
serializedVersion: 2
x: 0
y: 45
width: 1666
height: 958
m_ShowMode: 4
m_Title:
m_RootView: {fileID: 6}
m_MinSize: {x: 950, y: 542}
m_MaxSize: {x: 10000, y: 10000}
--- !u!114 &2
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_Children: []
m_Position:
serializedVersion: 2
x: 0
y: 466
width: 290
height: 442
m_MinSize: {x: 234, y: 271}
m_MaxSize: {x: 10004, y: 10021}
m_ActualView: {fileID: 14}
m_Panes:
- {fileID: 14}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &3
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 4}
- {fileID: 2}
m_Position:
serializedVersion: 2
x: 973
y: 0
width: 290
height: 908
m_MinSize: {x: 234, y: 492}
m_MaxSize: {x: 10004, y: 14042}
vertical: 1
controlID: 226
--- !u!114 &4
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_Children: []
m_Position:
serializedVersion: 2
x: 0
y: 0
width: 290
height: 466
m_MinSize: {x: 204, y: 221}
m_MaxSize: {x: 4004, y: 4021}
m_ActualView: {fileID: 17}
m_Panes:
- {fileID: 17}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &5
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_Children: []
m_Position:
serializedVersion: 2
x: 0
y: 466
width: 973
height: 442
m_MinSize: {x: 202, y: 221}
m_MaxSize: {x: 4002, y: 4021}
m_ActualView: {fileID: 15}
m_Panes:
- {fileID: 15}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &6
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12008, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 7}
- {fileID: 8}
- {fileID: 9}
m_Position:
serializedVersion: 2
x: 0
y: 0
width: 1666
height: 958
m_MinSize: {x: 950, y: 542}
m_MaxSize: {x: 10000, y: 10000}
--- !u!114 &7
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12011, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_Children: []
m_Position:
serializedVersion: 2
x: 0
y: 0
width: 1666
height: 30
m_MinSize: {x: 0, y: 0}
m_MaxSize: {x: 0, y: 0}
m_LastLoadedLayoutName: Tutorial
--- !u!114 &8
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 10}
- {fileID: 3}
- {fileID: 11}
m_Position:
serializedVersion: 2
x: 0
y: 30
width: 1666
height: 908
m_MinSize: {x: 713, y: 492}
m_MaxSize: {x: 18008, y: 14042}
vertical: 0
controlID: 74
--- !u!114 &9
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12042, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_Children: []
m_Position:
serializedVersion: 2
x: 0
y: 938
width: 1666
height: 20
m_MinSize: {x: 0, y: 0}
m_MaxSize: {x: 0, y: 0}
--- !u!114 &10
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 12}
- {fileID: 5}
m_Position:
serializedVersion: 2
x: 0
y: 0
width: 973
height: 908
m_MinSize: {x: 202, y: 442}
m_MaxSize: {x: 4002, y: 8042}
vertical: 1
controlID: 75
--- !u!114 &11
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_Children: []
m_Position:
serializedVersion: 2
x: 1263
y: 0
width: 403
height: 908
m_MinSize: {x: 277, y: 71}
m_MaxSize: {x: 4002, y: 4021}
m_ActualView: {fileID: 13}
m_Panes:
- {fileID: 13}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &12
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_Children: []
m_Position:
serializedVersion: 2
x: 0
y: 0
width: 973
height: 466
m_MinSize: {x: 202, y: 221}
m_MaxSize: {x: 4002, y: 4021}
m_ActualView: {fileID: 16}
m_Panes:
- {fileID: 16}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &13
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12019, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_AutoRepaintOnSceneChange: 0
m_MinSize: {x: 275, y: 50}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Inspector
m_Image: {fileID: -6905738622615590433, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
m_DepthBufferBits: 0
m_Pos:
serializedVersion: 2
x: 2
y: 19
width: 401
height: 887
m_ScrollPosition: {x: 0, y: 0}
m_InspectorMode: 0
m_PreviewResizer:
m_CachedPref: -160
m_ControlHash: -371814159
m_PrefName: Preview_InspectorPreview
m_PreviewWindow: {fileID: 0}
--- !u!114 &14
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12014, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_AutoRepaintOnSceneChange: 0
m_MinSize: {x: 230, y: 250}
m_MaxSize: {x: 10000, y: 10000}
m_TitleContent:
m_Text: Project
m_Image: {fileID: -7501376956915960154, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
m_DepthBufferBits: 0
m_Pos:
serializedVersion: 2
x: 2
y: 19
width: 286
height: 421
m_SearchFilter:
m_NameFilter:
m_ClassNames: []
m_AssetLabels: []
m_AssetBundleNames: []
m_VersionControlStates: []
m_ReferencingInstanceIDs:
m_ScenePaths: []
m_ShowAllHits: 0
m_SearchArea: 0
m_Folders:
- Assets
m_ViewMode: 0
m_StartGridSize: 64
m_LastFolders:
- Assets
m_LastFoldersGridSize: -1
m_LastProjectPath: /Users/danielbrauer/Unity Projects/New Unity Project 47
m_IsLocked: 0
m_FolderTreeState:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: ee240000
m_LastClickedID: 9454
m_ExpandedIDs: ee24000000ca9a3bffffff7f
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
m_OriginalName:
m_EditFieldRect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
m_UserData: 0
m_IsWaitingForDelay: 0
m_IsRenaming: 0
m_OriginalEventType: 11
m_IsRenamingFilename: 1
m_ClientGUIView: {fileID: 0}
m_SearchString:
m_CreateAssetUtility:
m_EndAction: {fileID: 0}
m_InstanceID: 0
m_Path:
m_Icon: {fileID: 0}
m_ResourceFile:
m_AssetTreeState:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: 68fbffff
m_LastClickedID: 0
m_ExpandedIDs: ee240000
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
m_OriginalName:
m_EditFieldRect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
m_UserData: 0
m_IsWaitingForDelay: 0
m_IsRenaming: 0
m_OriginalEventType: 11
m_IsRenamingFilename: 1
m_ClientGUIView: {fileID: 0}
m_SearchString:
m_CreateAssetUtility:
m_EndAction: {fileID: 0}
m_InstanceID: 0
m_Path:
m_Icon: {fileID: 0}
m_ResourceFile:
m_ListAreaState:
m_SelectedInstanceIDs: 68fbffff
m_LastClickedInstanceID: -1176
m_HadKeyboardFocusLastEvent: 0
m_ExpandedInstanceIDs: c6230000
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
m_OriginalName:
m_EditFieldRect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
m_UserData: 0
m_IsWaitingForDelay: 0
m_IsRenaming: 0
m_OriginalEventType: 11
m_IsRenamingFilename: 1
m_ClientGUIView: {fileID: 0}
m_CreateAssetUtility:
m_EndAction: {fileID: 0}
m_InstanceID: 0
m_Path:
m_Icon: {fileID: 0}
m_ResourceFile:
m_NewAssetIndexInList: -1
m_ScrollPosition: {x: 0, y: 0}
m_GridSize: 64
m_DirectoriesAreaWidth: 110
--- !u!114 &15
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_AutoRepaintOnSceneChange: 1
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Game
m_Image: {fileID: -2087823869225018852, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
m_DepthBufferBits: 32
m_Pos:
serializedVersion: 2
x: 0
y: 19
width: 971
height: 421
m_MaximizeOnPlay: 0
m_Gizmos: 0
m_Stats: 0
m_SelectedSizes: 00000000000000000000000000000000000000000000000000000000000000000000000000000000
m_TargetDisplay: 0
m_ZoomArea:
m_HRangeLocked: 0
m_VRangeLocked: 0
m_HBaseRangeMin: -242.75
m_HBaseRangeMax: 242.75
m_VBaseRangeMin: -101
m_VBaseRangeMax: 101
m_HAllowExceedBaseRangeMin: 1
m_HAllowExceedBaseRangeMax: 1
m_VAllowExceedBaseRangeMin: 1
m_VAllowExceedBaseRangeMax: 1
m_ScaleWithWindow: 0
m_HSlider: 0
m_VSlider: 0
m_IgnoreScrollWheelUntilClicked: 0
m_EnableMouseInput: 1
m_EnableSliderZoom: 0
m_UniformScale: 1
m_UpDirection: 1
m_DrawArea:
serializedVersion: 2
x: 0
y: 17
width: 971
height: 404
m_Scale: {x: 2, y: 2}
m_Translation: {x: 485.5, y: 202}
m_MarginLeft: 0
m_MarginRight: 0
m_MarginTop: 0
m_MarginBottom: 0
m_LastShownAreaInsideMargins:
serializedVersion: 2
x: -242.75
y: -101
width: 485.5
height: 202
m_MinimalGUI: 1
m_defaultScale: 2
m_TargetTexture: {fileID: 0}
m_CurrentColorSpace: 0
m_LastWindowPixelSize: {x: 1942, y: 842}
m_ClearInEditMode: 1
m_NoCameraWarning: 1
m_LowResolutionForAspectRatios: 01000000000100000100
--- !u!114 &16
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12013, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_AutoRepaintOnSceneChange: 1
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Scene
m_Image: {fileID: 2318424515335265636, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
m_DepthBufferBits: 32
m_Pos:
serializedVersion: 2
x: 0
y: 19
width: 971
height: 445
m_SceneLighting: 1
lastFramingTime: 0
m_2DMode: 0
m_isRotationLocked: 0
m_AudioPlay: 0
m_Position:
m_Target: {x: 0, y: 0, z: 0}
speed: 2
m_Value: {x: 0, y: 0, z: 0}
m_RenderMode: 0
m_ValidateTrueMetals: 0
m_SceneViewState:
showFog: 1
showMaterialUpdate: 0
showSkybox: 1
showFlares: 1
showImageEffects: 1
grid:
xGrid:
m_Target: 0
speed: 2
m_Value: 0
yGrid:
m_Target: 1
speed: 2
m_Value: 1
zGrid:
m_Target: 0
speed: 2
m_Value: 0
m_Rotation:
m_Target: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226}
speed: 2
m_Value: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226}
m_Size:
m_Target: 10
speed: 2
m_Value: 10
m_Ortho:
m_Target: 0
speed: 2
m_Value: 0
m_LastSceneViewRotation: {x: 0, y: 0, z: 0, w: 0}
m_LastSceneViewOrtho: 0
m_ReplacementShader: {fileID: 0}
m_ReplacementString:
m_LastLockedObject: {fileID: 0}
m_ViewIsLockedToObject: 0
--- !u!114 &17
MonoBehaviour:
m_ObjectHideFlags: 52
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_AutoRepaintOnSceneChange: 0
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Hierarchy
m_Image: {fileID: -590624980919486359, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
m_DepthBufferBits: 0
m_Pos:
serializedVersion: 2
x: 2
y: 19
width: 286
height: 445
m_TreeViewState:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: 68fbffff
m_LastClickedID: -1176
m_ExpandedIDs: 7efbffff00000000
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
m_OriginalName:
m_EditFieldRect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
m_UserData: 0
m_IsWaitingForDelay: 0
m_IsRenaming: 0
m_OriginalEventType: 11
m_IsRenamingFilename: 0
m_ClientGUIView: {fileID: 0}
m_SearchString:
m_ExpandedScenes:
-
m_CurrenRootInstanceID: 0
m_Locked: 0
m_CurrentSortingName: TransformSorting

View File

@@ -0,0 +1,242 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System;
using System.IO;
using System.Reflection;
[CustomEditor(typeof(Readme))]
[InitializeOnLoad]
public class ReadmeEditor : Editor
{
static string s_ShowedReadmeSessionStateName = "ReadmeEditor.showedReadme";
static string s_ReadmeSourceDirectory = "Assets/TutorialInfo";
const float k_Space = 16f;
static ReadmeEditor()
{
EditorApplication.delayCall += SelectReadmeAutomatically;
}
static void RemoveTutorial()
{
if (EditorUtility.DisplayDialog("Remove Readme Assets",
$"All contents under {s_ReadmeSourceDirectory} will be removed, are you sure you want to proceed?",
"Proceed",
"Cancel"))
{
if (Directory.Exists(s_ReadmeSourceDirectory))
{
FileUtil.DeleteFileOrDirectory(s_ReadmeSourceDirectory);
FileUtil.DeleteFileOrDirectory(s_ReadmeSourceDirectory + ".meta");
}
else
{
Debug.Log($"Could not find the Readme folder at {s_ReadmeSourceDirectory}");
}
var readmeAsset = SelectReadme();
if (readmeAsset != null)
{
var path = AssetDatabase.GetAssetPath(readmeAsset);
FileUtil.DeleteFileOrDirectory(path + ".meta");
FileUtil.DeleteFileOrDirectory(path);
}
AssetDatabase.Refresh();
}
}
static void SelectReadmeAutomatically()
{
if (!SessionState.GetBool(s_ShowedReadmeSessionStateName, false))
{
var readme = SelectReadme();
SessionState.SetBool(s_ShowedReadmeSessionStateName, true);
if (readme && !readme.loadedLayout)
{
LoadLayout();
readme.loadedLayout = true;
}
}
}
static void LoadLayout()
{
var assembly = typeof(EditorApplication).Assembly;
var windowLayoutType = assembly.GetType("UnityEditor.WindowLayout", true);
var method = windowLayoutType.GetMethod("LoadWindowLayout", BindingFlags.Public | BindingFlags.Static);
method.Invoke(null, new object[] { Path.Combine(Application.dataPath, "TutorialInfo/Layout.wlt"), false });
}
static Readme SelectReadme()
{
var ids = AssetDatabase.FindAssets("Readme t:Readme");
if (ids.Length == 1)
{
var readmeObject = AssetDatabase.LoadMainAssetAtPath(AssetDatabase.GUIDToAssetPath(ids[0]));
Selection.objects = new UnityEngine.Object[] { readmeObject };
return (Readme)readmeObject;
}
else
{
Debug.Log("Couldn't find a readme");
return null;
}
}
protected override void OnHeaderGUI()
{
var readme = (Readme)target;
Init();
var iconWidth = Mathf.Min(EditorGUIUtility.currentViewWidth / 3f - 20f, 128f);
GUILayout.BeginHorizontal("In BigTitle");
{
if (readme.icon != null)
{
GUILayout.Space(k_Space);
GUILayout.Label(readme.icon, GUILayout.Width(iconWidth), GUILayout.Height(iconWidth));
}
GUILayout.Space(k_Space);
GUILayout.BeginVertical();
{
GUILayout.FlexibleSpace();
GUILayout.Label(readme.title, TitleStyle);
GUILayout.FlexibleSpace();
}
GUILayout.EndVertical();
GUILayout.FlexibleSpace();
}
GUILayout.EndHorizontal();
}
public override void OnInspectorGUI()
{
var readme = (Readme)target;
Init();
foreach (var section in readme.sections)
{
if (!string.IsNullOrEmpty(section.heading))
{
GUILayout.Label(section.heading, HeadingStyle);
}
if (!string.IsNullOrEmpty(section.text))
{
GUILayout.Label(section.text, BodyStyle);
}
if (!string.IsNullOrEmpty(section.linkText))
{
if (LinkLabel(new GUIContent(section.linkText)))
{
Application.OpenURL(section.url);
}
}
GUILayout.Space(k_Space);
}
if (GUILayout.Button("Remove Readme Assets", ButtonStyle))
{
RemoveTutorial();
}
}
bool m_Initialized;
GUIStyle LinkStyle
{
get { return m_LinkStyle; }
}
[SerializeField]
GUIStyle m_LinkStyle;
GUIStyle TitleStyle
{
get { return m_TitleStyle; }
}
[SerializeField]
GUIStyle m_TitleStyle;
GUIStyle HeadingStyle
{
get { return m_HeadingStyle; }
}
[SerializeField]
GUIStyle m_HeadingStyle;
GUIStyle BodyStyle
{
get { return m_BodyStyle; }
}
[SerializeField]
GUIStyle m_BodyStyle;
GUIStyle ButtonStyle
{
get { return m_ButtonStyle; }
}
[SerializeField]
GUIStyle m_ButtonStyle;
void Init()
{
if (m_Initialized)
return;
m_BodyStyle = new GUIStyle(EditorStyles.label);
m_BodyStyle.wordWrap = true;
m_BodyStyle.fontSize = 14;
m_BodyStyle.richText = true;
m_TitleStyle = new GUIStyle(m_BodyStyle);
m_TitleStyle.fontSize = 26;
m_HeadingStyle = new GUIStyle(m_BodyStyle);
m_HeadingStyle.fontStyle = FontStyle.Bold;
m_HeadingStyle.fontSize = 18;
m_LinkStyle = new GUIStyle(m_BodyStyle);
m_LinkStyle.wordWrap = false;
// Match selection color which works nicely for both light and dark skins
m_LinkStyle.normal.textColor = new Color(0x00 / 255f, 0x78 / 255f, 0xDA / 255f, 1f);
m_LinkStyle.stretchWidth = false;
m_ButtonStyle = new GUIStyle(EditorStyles.miniButton);
m_ButtonStyle.fontStyle = FontStyle.Bold;
m_Initialized = true;
}
bool LinkLabel(GUIContent label, params GUILayoutOption[] options)
{
var position = GUILayoutUtility.GetRect(label, LinkStyle, options);
Handles.BeginGUI();
Handles.color = LinkStyle.normal.textColor;
Handles.DrawLine(new Vector3(position.xMin, position.yMax), new Vector3(position.xMax, position.yMax));
Handles.color = Color.white;
Handles.EndGUI();
EditorGUIUtility.AddCursorRect(position, MouseCursor.Link);
return GUI.Button(position, label, LinkStyle);
}
}

View File

@@ -0,0 +1,16 @@
using System;
using UnityEngine;
public class Readme : ScriptableObject
{
public Texture2D icon;
public string title;
public Section[] sections;
public bool loadedLayout;
[Serializable]
public class Section
{
public string heading, text, linkText, url;
}
}

View File

@@ -0,0 +1,26 @@
version: 2
tpsheetFileNames:
- Assets/Art/Sprites/Spritesheets/Quarry/Bush_01.tpsheet
- Assets/Art/Sprites/Spritesheets/Quarry/Bush_02.tpsheet
- Assets/Art/Sprites/Spritesheets/Quarry/Bush_03.tpsheet
- Assets/Art/Sprites/Spritesheets/Quarry/Quarry 1.tpsheet
- Assets/Art/Sprites/Spritesheets/Quarry/Quarry.tpsheet
- Assets/Art/Sprites/Spritesheets/Quarry/Trees.tpsheet
- Assets/Plugins/codeandweb.com/Example/SpriteSheet/sprites.tpsheet
textureFileNames:
- Assets/Art/Sprites/Spritesheets/Quarry/Bush_01.png
- Assets/Art/Sprites/Spritesheets/Quarry/Bush_02.png
- Assets/Art/Sprites/Spritesheets/Quarry/Bush_03.png
- Assets/Art/Sprites/Spritesheets/Quarry/Quarry.png
- Assets/Art/Sprites/Spritesheets/Quarry/Quarry.png
- Assets/Art/Sprites/Spritesheets/Quarry/Trees.png
- Assets/Plugins/codeandweb.com/Example/SpriteSheet/sprites.png
normalmapFileNames:
-
-
-
-
-
-
- Assets/Plugins/codeandweb.com/Example/SpriteSheet/sprites_n.png
enableDebugOutput: 0

View File

@@ -0,0 +1,123 @@
/*
* TexturePacker Importer
* (c) CodeAndWeb GmbH, Saalbaustraße 61, 89233 Neu-Ulm, Germany
*
* Use this script to import sprite sheets generated with TexturePacker.
* For more information see https://www.codeandweb.com/texturepacker/unity
*
*/
using UnityEngine;
using UnityEditor;
// Note: TexturePacker Importer with Unity 2021.2 (or newer) requires the "Sprite 2D" package,
// please make sure that it is part of your Unity project. You can install it using
// Unity's package manager.
#if UNITY_2021_2_OR_NEWER
using UnityEditor.U2D.Sprites;
using System.Collections.Generic;
#endif
namespace TexturePackerImporter
{
public class SpritesheetImporter : AssetPostprocessor
{
void OnPreprocessTexture()
{
TextureImporter importer = assetImporter as TextureImporter;
SheetInfo sheet = TexturePackerImporter.getSheetInfo(importer);
if (sheet != null)
{
Dbg.Log("Updating sprite sheet " + importer.assetPath);
#if UNITY_2021_2_OR_NEWER
updateSprites(importer, sheet);
#else
importer.spritesheet = sheet.metadata;
#endif
}
}
#if UNITY_2021_2_OR_NEWER
private static void updateSprites(TextureImporter importer, SheetInfo sheet)
{
var dataProvider = GetSpriteEditorDataProvider(importer);
var spriteNameFileIdDataProvider = dataProvider.GetDataProvider<ISpriteNameFileIdDataProvider>();
var oldIds = spriteNameFileIdDataProvider.GetNameFileIdPairs();
SpriteRect[] rects = sheetInfoToSpriteRects(sheet);
SpriteNameFileIdPair[] ids = generateSpriteIds(oldIds, rects);
dataProvider.SetSpriteRects(rects);
spriteNameFileIdDataProvider.SetNameFileIdPairs(ids);
dataProvider.Apply();
EditorUtility.SetDirty(importer);
}
private static ISpriteEditorDataProvider GetSpriteEditorDataProvider(TextureImporter importer)
{
var dataProviderFactories = new SpriteDataProviderFactories();
dataProviderFactories.Init();
var dataProvider = dataProviderFactories.GetSpriteEditorDataProviderFromObject(importer);
dataProvider.InitSpriteEditorDataProvider();
return dataProvider;
}
private static SpriteRect[] sheetInfoToSpriteRects(SheetInfo sheet)
{
int spriteCount = sheet.metadata.Length;
SpriteRect[] rects = new SpriteRect[spriteCount];
for (int i = 0; i < spriteCount; i++)
{
SpriteRect sr = rects[i] = new SpriteRect();
SpriteMetaData smd = sheet.metadata[i];
sr.name = smd.name;
sr.rect = smd.rect;
sr.pivot = smd.pivot;
sr.border = smd.border;
sr.alignment = (SpriteAlignment)smd.alignment;
// sr.spriteID not yet initialized, this is done in generateSpriteIds()
}
return rects;
}
private static SpriteNameFileIdPair[] generateSpriteIds(IEnumerable<SpriteNameFileIdPair> oldIds,
SpriteRect[] sprites)
{
SpriteNameFileIdPair[] newIds = new SpriteNameFileIdPair[sprites.Length];
for (int i = 0; i < sprites.Length; i++)
{
sprites[i].spriteID = idForName(oldIds, sprites[i].name);
newIds[i] = new SpriteNameFileIdPair(sprites[i].name, sprites[i].spriteID);
}
return newIds;
}
private static GUID idForName(IEnumerable<SpriteNameFileIdPair> oldIds, string name)
{
foreach (SpriteNameFileIdPair old in oldIds)
{
if (old.name == name)
{
return old.GetFileGUID();
}
}
return GUID.Generate();
}
#endif
}
}

View File

@@ -0,0 +1,36 @@
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
public static class UIImageMenu
{
[MenuItem("GameObject/UI/Set Native Size + Pivot", false, 10000)]
private static void setSizeAndPivot()
{
foreach (GameObject gameObject in Selection.gameObjects)
{
// process all selected game objects which have a RectTransform + Image
RectTransform transform = gameObject.GetComponent<RectTransform>();
Image image = gameObject.GetComponent<Image>();
if (transform && image && image.sprite)
{
// set size as it is defined by source image sprite
image.SetNativeSize();
#if UNITY_2018_1_OR_NEWER
// use mesh defined by source sprite to render UI image
image.useSpriteMesh = true;
#endif
// set pivot point as defined by source sprite
Vector2 size = transform.sizeDelta * image.pixelsPerUnit;
Vector2 pixelPivot = image.sprite.pivot;
// sprite pivot point is defined in pixel, RectTransform pivot point is normalized
transform.pivot = new Vector2(pixelPivot.x / size.x, pixelPivot.y / size.y);
}
}
}
}

Binary file not shown.

View File

@@ -0,0 +1,313 @@
<?xml version="1.0" encoding="UTF-8"?>
<data version="1.0">
<struct type="Settings">
<key>fileFormatVersion</key>
<int>4</int>
<key>texturePackerVersion</key>
<string>4.3.3</string>
<key>fileName</key>
<string>/Users/joachim/Programming/texturepacker/framework_utils/Unity/AssetStore/PublishTexturePackerImporter/Assets/codeandweb.com/Example/SpriteSheet.tps</string>
<key>autoSDSettings</key>
<array>
<struct type="AutoSDSettings">
<key>scale</key>
<double>1</double>
<key>extension</key>
<string></string>
<key>spriteFilter</key>
<string></string>
<key>acceptFractionalValues</key>
<false/>
<key>maxTextureSize</key>
<QSize>
<key>width</key>
<int>-1</int>
<key>height</key>
<int>-1</int>
</QSize>
</struct>
</array>
<key>allowRotation</key>
<false/>
<key>shapeDebug</key>
<false/>
<key>dpi</key>
<uint>72</uint>
<key>dataFormat</key>
<string>unity-texture2d</string>
<key>textureFileName</key>
<filename></filename>
<key>flipPVR</key>
<false/>
<key>pvrCompressionQuality</key>
<enum type="SettingsBase::PvrCompressionQuality">PVR_QUALITY_NORMAL</enum>
<key>atfCompressData</key>
<false/>
<key>mipMapMinSize</key>
<uint>32768</uint>
<key>etc1CompressionQuality</key>
<enum type="SettingsBase::Etc1CompressionQuality">ETC1_QUALITY_LOW_PERCEPTUAL</enum>
<key>etc2CompressionQuality</key>
<enum type="SettingsBase::Etc2CompressionQuality">ETC2_QUALITY_LOW_PERCEPTUAL</enum>
<key>dxtCompressionMode</key>
<enum type="SettingsBase::DxtCompressionMode">DXT_PERCEPTUAL</enum>
<key>jxrColorFormat</key>
<enum type="SettingsBase::JpegXrColorMode">JXR_YUV444</enum>
<key>jxrTrimFlexBits</key>
<uint>0</uint>
<key>jxrCompressionLevel</key>
<uint>0</uint>
<key>ditherType</key>
<enum type="SettingsBase::DitherType">NearestNeighbour</enum>
<key>backgroundColor</key>
<uint>0</uint>
<key>libGdx</key>
<struct type="LibGDX">
<key>filtering</key>
<struct type="LibGDXFiltering">
<key>x</key>
<enum type="LibGDXFiltering::Filtering">Linear</enum>
<key>y</key>
<enum type="LibGDXFiltering::Filtering">Linear</enum>
</struct>
</struct>
<key>shapePadding</key>
<uint>2</uint>
<key>jpgQuality</key>
<uint>80</uint>
<key>pngOptimizationLevel</key>
<uint>0</uint>
<key>webpQualityLevel</key>
<uint>101</uint>
<key>textureSubPath</key>
<string></string>
<key>atfFormats</key>
<string></string>
<key>textureFormat</key>
<enum type="SettingsBase::TextureFormat">png</enum>
<key>borderPadding</key>
<uint>2</uint>
<key>maxTextureSize</key>
<QSize>
<key>width</key>
<int>2048</int>
<key>height</key>
<int>2048</int>
</QSize>
<key>fixedTextureSize</key>
<QSize>
<key>width</key>
<int>-1</int>
<key>height</key>
<int>-1</int>
</QSize>
<key>algorithmSettings</key>
<struct type="AlgorithmSettings">
<key>algorithm</key>
<enum type="AlgorithmSettings::AlgorithmId">Polygon</enum>
<key>freeSizeMode</key>
<enum type="AlgorithmSettings::AlgorithmFreeSizeMode">Best</enum>
<key>sizeConstraints</key>
<enum type="AlgorithmSettings::SizeConstraints">POT</enum>
<key>forceSquared</key>
<false/>
<key>maxRects</key>
<struct type="AlgorithmMaxRectsSettings">
<key>heuristic</key>
<enum type="AlgorithmMaxRectsSettings::Heuristic">Best</enum>
</struct>
<key>basic</key>
<struct type="AlgorithmBasicSettings">
<key>sortBy</key>
<enum type="AlgorithmBasicSettings::SortBy">Best</enum>
<key>order</key>
<enum type="AlgorithmBasicSettings::Order">Ascending</enum>
</struct>
<key>polygon</key>
<struct type="AlgorithmPolygonSettings">
<key>alignToGrid</key>
<uint>1</uint>
</struct>
</struct>
<key>andEngine</key>
<struct type="AndEngine">
<key>minFilter</key>
<enum type="AndEngine::MinFilter">Linear</enum>
<key>packageName</key>
<string>Texture</string>
<key>wrap</key>
<struct type="AndEngineWrap">
<key>s</key>
<enum type="AndEngineWrap::Wrap">Clamp</enum>
<key>t</key>
<enum type="AndEngineWrap::Wrap">Clamp</enum>
</struct>
<key>magFilter</key>
<enum type="AndEngine::MagFilter">MagLinear</enum>
</struct>
<key>dataFileNames</key>
<map type="GFileNameMap">
<key>data</key>
<struct type="DataFile">
<key>name</key>
<filename></filename>
</struct>
<key>datafile</key>
<struct type="DataFile">
<key>name</key>
<filename>SpriteSheet/sprites.tpsheet</filename>
</struct>
</map>
<key>multiPack</key>
<false/>
<key>forceIdenticalLayout</key>
<false/>
<key>outputFormat</key>
<enum type="SettingsBase::OutputFormat">RGBA8888</enum>
<key>alphaHandling</key>
<enum type="SettingsBase::AlphaHandling">ClearTransparentPixels</enum>
<key>contentProtection</key>
<struct type="ContentProtection">
<key>key</key>
<string></string>
</struct>
<key>autoAliasEnabled</key>
<true/>
<key>trimSpriteNames</key>
<false/>
<key>prependSmartFolderName</key>
<false/>
<key>globalSpriteSettings</key>
<struct type="SpriteSettings">
<key>scale</key>
<double>1</double>
<key>scaleMode</key>
<enum type="ScaleMode">Smooth</enum>
<key>extrude</key>
<uint>0</uint>
<key>trimThreshold</key>
<uint>1</uint>
<key>trimMargin</key>
<uint>1</uint>
<key>trimMode</key>
<enum type="SpriteSettings::TrimMode">Polygon</enum>
<key>tracerTolerance</key>
<int>200</int>
<key>heuristicMask</key>
<false/>
<key>defaultPivotPoint</key>
<point_f>0.5,1</point_f>
<key>writePivotPoints</key>
<true/>
</struct>
<key>individualSpriteSettings</key>
<map type="IndividualSpriteSettingsMap">
<key type="filename">Sprites/capguy/turn/0001.png</key>
<key type="filename">Sprites/capguy/turn/0001_n.png</key>
<key type="filename">Sprites/capguy/turn/0002.png</key>
<key type="filename">Sprites/capguy/turn/0002_n.png</key>
<key type="filename">Sprites/capguy/turn/0003.png</key>
<key type="filename">Sprites/capguy/turn/0003_n.png</key>
<key type="filename">Sprites/capguy/turn/0004.png</key>
<key type="filename">Sprites/capguy/turn/0004_n.png</key>
<key type="filename">Sprites/capguy/turn/0005.png</key>
<key type="filename">Sprites/capguy/turn/0005_n.png</key>
<key type="filename">Sprites/capguy/turn/0006.png</key>
<key type="filename">Sprites/capguy/turn/0006_n.png</key>
<key type="filename">Sprites/capguy/turn/0007.png</key>
<key type="filename">Sprites/capguy/turn/0007_n.png</key>
<key type="filename">Sprites/capguy/turn/0008.png</key>
<key type="filename">Sprites/capguy/turn/0008_n.png</key>
<key type="filename">Sprites/capguy/turn/0009.png</key>
<key type="filename">Sprites/capguy/turn/0009_n.png</key>
<key type="filename">Sprites/capguy/turn/0010.png</key>
<key type="filename">Sprites/capguy/turn/0010_n.png</key>
<key type="filename">Sprites/capguy/turn/0011.png</key>
<key type="filename">Sprites/capguy/turn/0011_n.png</key>
<key type="filename">Sprites/capguy/turn/0012.png</key>
<key type="filename">Sprites/capguy/turn/0012_n.png</key>
<struct type="IndividualSpriteSettings">
<key>pivotPoint</key>
<point_f>0.5,1</point_f>
<key>scale9Enabled</key>
<false/>
<key>scale9Borders</key>
<rect>52,82,104,165</rect>
<key>scale9Paddings</key>
<rect>52,82,104,165</rect>
<key>scale9FromFile</key>
<false/>
</struct>
<key type="filename">Sprites/capguy/walk/0001.png</key>
<key type="filename">Sprites/capguy/walk/0001_n.png</key>
<key type="filename">Sprites/capguy/walk/0002.png</key>
<key type="filename">Sprites/capguy/walk/0002_n.png</key>
<key type="filename">Sprites/capguy/walk/0003.png</key>
<key type="filename">Sprites/capguy/walk/0003_n.png</key>
<key type="filename">Sprites/capguy/walk/0004.png</key>
<key type="filename">Sprites/capguy/walk/0004_n.png</key>
<key type="filename">Sprites/capguy/walk/0005.png</key>
<key type="filename">Sprites/capguy/walk/0005_n.png</key>
<key type="filename">Sprites/capguy/walk/0006.png</key>
<key type="filename">Sprites/capguy/walk/0006_n.png</key>
<key type="filename">Sprites/capguy/walk/0007.png</key>
<key type="filename">Sprites/capguy/walk/0007_n.png</key>
<key type="filename">Sprites/capguy/walk/0008.png</key>
<key type="filename">Sprites/capguy/walk/0008_n.png</key>
<key type="filename">Sprites/capguy/walk/0009.png</key>
<key type="filename">Sprites/capguy/walk/0009_n.png</key>
<key type="filename">Sprites/capguy/walk/0010.png</key>
<key type="filename">Sprites/capguy/walk/0010_n.png</key>
<key type="filename">Sprites/capguy/walk/0011.png</key>
<key type="filename">Sprites/capguy/walk/0011_n.png</key>
<key type="filename">Sprites/capguy/walk/0012.png</key>
<key type="filename">Sprites/capguy/walk/0012_n.png</key>
<key type="filename">Sprites/capguy/walk/0013.png</key>
<key type="filename">Sprites/capguy/walk/0013_n.png</key>
<key type="filename">Sprites/capguy/walk/0014.png</key>
<key type="filename">Sprites/capguy/walk/0014_n.png</key>
<key type="filename">Sprites/capguy/walk/0015.png</key>
<key type="filename">Sprites/capguy/walk/0015_n.png</key>
<key type="filename">Sprites/capguy/walk/0016.png</key>
<key type="filename">Sprites/capguy/walk/0016_n.png</key>
<struct type="IndividualSpriteSettings">
<key>pivotPoint</key>
<point_f>0.5,1</point_f>
<key>scale9Enabled</key>
<false/>
<key>scale9Borders</key>
<rect>47,81,94,162</rect>
<key>scale9Paddings</key>
<rect>47,81,94,162</rect>
<key>scale9FromFile</key>
<false/>
</struct>
</map>
<key>fileList</key>
<array>
<filename>Sprites/capguy</filename>
</array>
<key>ignoreFileList</key>
<array/>
<key>replaceList</key>
<array/>
<key>ignoredWarnings</key>
<array/>
<key>commonDivisorX</key>
<uint>1</uint>
<key>commonDivisorY</key>
<uint>1</uint>
<key>packNormalMaps</key>
<true/>
<key>autodetectNormalMaps</key>
<true/>
<key>normalMapFilter</key>
<string></string>
<key>normalMapSuffix</key>
<string></string>
<key>normalMapSheetFileName</key>
<filename></filename>
<key>exporterProperties</key>
<map type="ExporterProperties"/>
</struct>
</data>

View File

@@ -0,0 +1,80 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: sprites
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _ALPHABLEND_ON _NORMALMAP
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 3000
stringTagMap:
RenderType: Transparent
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 2800000, guid: a5830f22f646b445f8825c9d5c616845, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: c0e5d31be11e242528ff7d2a0835bf8c, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 10
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 2
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 5
- _UVSec: 0
- _ZWrite: 0
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

View File

@@ -0,0 +1,44 @@
#
# Sprite sheet data for Unity.
#
# To import these sprites into your Unity project, download "TexturePackerImporter":
# https://www.codeandweb.com/texturepacker/unity
#
# $TexturePacker:SmartUpdate:54012248a40a90f7127c9f0e7e6dafc8:ccfc9348af1b8964bc0bb17f532b9e2d:2d43150e182b09a0f16643f22d3ab397$
#
:format=40300
:texture=sprites.png
:size=1024x1024
:normalmap=sprites_n.png
:pivotpoints=enabled
:borders=disabled
:alphahandling=ClearTransparentPixels
turn-0001;2;397;176;316; 0.4971590909090909;-0.03164556962025311; 0;0;0;0; 20;152;276;121;257;141;242;129;204;101;184;159;21;175;5;107;8;110;59;71;57;41;40;29;0;0;61;60;84;59;201;45;225;45;281;99;308;123;289;176;316; 18;1;17;18;1;16;17;0;18;19;15;1;14;10;11;12;10;12;13;9;10;13;8;9;13;4;8;13;5;6;7;5;7;8;4;5;8;4;13;14;3;4;14;1;2;3;1;3;14;1;15;16;0;1;18
turn-0002;2;397;176;316; 0.4971590909090909;-0.03164556962025311; 0;0;0;0; 20;152;276;121;257;141;242;129;204;101;184;159;21;175;5;107;8;110;59;71;57;41;40;29;0;0;61;60;84;59;201;45;225;45;281;99;308;123;289;176;316; 18;1;17;18;1;16;17;0;18;19;15;1;14;10;11;12;10;12;13;9;10;13;8;9;13;4;8;13;5;6;7;5;7;8;4;5;8;4;13;14;3;4;14;1;2;3;1;3;14;1;15;16;0;1;18
turn-0003;226;711;159;311; 0.4937106918238994;-0.05466237942122176; 0;0;0;0; 18;138;266;107;154;110;28;136;1;76;0;78;45;66;48;46;3;0;32;34;54;56;105;36;141;59;189;33;242;47;287;94;311;118;290;159;311; 16;14;15;16;13;14;16;0;16;17;13;0;12;13;16;0;11;1;10;1;12;0;7;8;9;6;7;9;2;3;4;2;4;5;1;2;5;10;1;5;10;5;6;11;12;1;10;6;9
turn-0004;226;711;159;311; 0.4937106918238994;-0.05466237942122176; 0;0;0;0; 18;138;266;107;154;110;28;136;1;76;0;78;45;66;48;46;3;0;32;34;54;56;105;36;141;59;189;33;242;47;287;94;311;118;290;159;311; 16;14;15;16;13;14;16;0;16;17;13;0;12;13;16;0;11;1;10;1;12;0;7;8;9;6;7;9;2;3;4;2;4;5;1;2;5;10;1;5;10;5;6;11;12;1;10;6;9
turn-0005;869;423;133;314; 0.5827067669172933;-0.047770700636942776; 0;0;0;0; 16;116;215;106;91;94;52;98;23;120;0;59;7;73;50;57;52;36;3;0;30;43;76;46;114;37;146;43;288;97;314;133;314; 14;0;14;15;13;0;12;13;14;0;1;12;0;7;9;10;10;11;1;7;8;9;10;6;7;3;4;5;3;5;6;2;3;6;1;2;6;1;11;12;10;1;6
turn-0006;869;423;133;314; 0.5827067669172933;-0.047770700636942776; 0;0;0;0; 16;116;215;106;91;94;52;98;23;120;0;59;7;73;50;57;52;36;3;0;30;43;76;46;114;37;146;43;288;97;314;133;314; 14;0;14;15;13;0;12;13;14;0;1;12;0;7;9;10;10;11;1;7;8;9;10;6;7;3;4;5;3;5;6;2;3;6;1;2;6;1;11;12;10;1;6
turn-0007;776;558;138;316; 0.7137681159420289;-0.04113924050632911; 0;0;0;0; 16;138;286;120;179;133;143;115;93;129;3;94;9;76;89;52;0;0;19;1;26;38;52;40;99;62;160;42;300;42;316;74;316; 14;13;14;15;0;1;13;6;11;12;7;9;10;7;8;9;10;11;6;3;6;12;10;6;7;3;4;5;3;5;6;12;2;3;12;1;2;1;12;13;0;13;15
turn-0008;776;558;138;316; 0.7137681159420289;-0.04113924050632911; 0;0;0;0; 16;138;286;120;179;133;143;115;93;129;3;94;9;76;89;52;0;0;19;1;26;38;52;40;99;62;160;42;300;42;316;74;316; 14;13;14;15;0;1;13;6;11;12;7;9;10;7;8;9;10;11;6;3;6;12;10;6;7;3;4;5;3;5;6;12;2;3;12;1;2;1;12;13;0;13;15
turn-0009;538;354;137;302; 0.7043795620437956;-0.04966887417218535; 0;0;0;0; 12;121;281;130;233;111;85;137;21;101;3;63;46;67;0;0;1;18;20;62;158;11;300;73;302; 10;9;10;11;6;7;8;5;6;8;5;8;9;5;3;4;5;9;2;5;2;3;1;2;9;1;9;11;0;1;11
turn-0010;538;354;137;302; 0.7043795620437956;-0.04966887417218535; 0;0;0;0; 12;121;281;130;233;111;85;137;21;101;3;63;46;67;0;0;1;18;20;62;158;11;300;73;302; 10;9;10;11;6;7;8;5;6;8;5;8;9;5;3;4;5;9;2;5;2;3;1;2;9;1;9;11;0;1;11
turn-0011;338;447;156;312; 0.6634615384615384;-0.044871794871794934; 0;0;0;0; 19;135;289;123;169;133;139;106;98;117;68;156;53;116;1;110;39;95;38;93;4;31;0;62;31;64;196;35;213;35;258;0;293;0;306;47;291;66;312; 17;15;16;17;14;15;17;0;17;18;14;17;0;12;13;14;11;8;9;9;10;11;3;8;11;8;3;4;3;11;12;5;6;7;4;5;7;8;4;7;1;3;12;1;2;3;0;1;12;14;0;12
turn-0012;338;447;156;312; 0.6634615384615384;-0.044871794871794934; 0;0;0;0; 19;135;289;123;169;133;139;106;98;117;68;156;53;116;1;110;39;95;38;93;4;31;0;62;31;64;196;35;213;35;258;0;293;0;306;47;291;66;312; 17;15;16;17;14;15;17;0;17;18;14;17;0;12;13;14;11;8;9;9;10;11;3;8;11;8;3;4;3;11;12;5;6;7;4;5;7;8;4;7;1;3;12;1;2;3;0;1;12;14;0;12
walk-0001;86;29;166;320; 0.49096385542168675;-0.012499999999999956; 0;0;0;0; 23;146;285;111;264;130;250;116;213;86;201;114;92;134;46;165;36;109;4;98;74;59;60;43;20;55;0;47;1;0;26;39;72;39;158;51;197;29;247;43;299;91;319;127;302;166;320; 21;1;20;21;1;19;20;0;21;22;5;9;16;11;12;13;11;13;14;11;14;15;9;10;15;10;11;15;9;15;16;6;7;8;6;8;9;5;6;9;4;5;16;4;16;17;4;17;18;1;2;3;1;3;4;1;4;18;1;18;19;0;1;21
walk-0002;86;29;166;320; 0.49096385542168675;-0.012499999999999956; 0;0;0;0; 23;146;285;111;264;130;250;116;213;86;201;114;92;134;46;165;36;109;4;98;74;59;60;43;20;55;0;47;1;0;26;39;72;39;158;51;197;29;247;43;299;91;319;127;302;166;320; 21;1;20;21;1;19;20;0;21;22;5;9;16;11;12;13;11;13;14;11;14;15;9;10;15;10;11;15;9;15;16;6;7;8;6;8;9;5;6;9;4;5;16;4;16;17;4;17;18;1;2;3;1;3;4;1;4;18;1;18;19;0;1;21
walk-0003;2;702;179;320; 0.5223463687150838;-0.009374999999999911; 0;0;0;0; 21;146;279;117;261;137;246;126;209;99;185;138;74;146;26;179;13;108;13;115;57;44;51;24;0;0;60;0;65;55;84;53;200;40;237;47;288;95;313;117;293;174;320; 19;17;18;19;1;17;19;0;19;20;16;1;15;10;13;14;10;12;13;10;11;12;9;10;14;14;4;5;6;7;8;6;8;9;5;6;9;14;5;9;4;14;15;3;4;15;1;2;3;1;3;15;1;16;17;0;1;19
walk-0004;2;702;179;320; 0.5223463687150838;-0.009374999999999911; 0;0;0;0; 21;146;279;117;261;137;246;126;209;99;185;138;74;146;26;179;13;108;13;115;57;44;51;24;0;0;60;0;65;55;84;53;200;40;237;47;288;95;313;117;293;174;320; 19;17;18;19;1;17;19;0;19;20;16;1;15;10;13;14;10;12;13;10;11;12;9;10;14;14;4;5;6;7;8;6;8;9;5;6;9;14;5;9;4;14;15;3;4;15;1;2;3;1;3;15;1;16;17;0;1;19
walk-0005;602;713;154;309; 0.4512987012987013;-0.04854368932038833; 0;0;0;0; 21;110;286;154;303;154;278;104;256;120;238;105;202;77;185;89;124;93;26;121;0;62;0;58;52;40;43;25;6;0;64;45;76;23;136;43;205;25;223;25;287;86;309; 19;3;19;20;3;18;19;3;17;18;16;17;6;12;14;15;12;13;14;16;7;15;11;12;15;16;6;7;8;9;10;11;7;8;15;7;11;11;8;10;17;3;5;3;4;5;17;5;6;0;1;2;0;2;3;20;0;3
walk-0006;602;713;154;309; 0.4512987012987013;-0.04854368932038833; 0;0;0;0; 21;110;286;154;303;154;278;104;256;120;238;105;202;77;185;89;124;93;26;121;0;62;0;58;52;40;43;25;6;0;64;45;76;23;136;43;205;25;223;25;287;86;309; 19;3;19;20;3;18;19;3;17;18;16;17;6;12;14;15;12;13;14;16;7;15;11;12;15;16;6;7;8;9;10;11;7;8;15;7;11;11;8;10;17;3;5;3;4;5;17;5;6;0;1;2;0;2;3;20;0;3
walk-0007;739;711;147;311; 0.391156462585034;-0.04180064308681675; 0;0;0;0; 18;103;289;147;303;147;289;102;252;111;240;94;205;68;179;85;87;68;32;90;0;26;10;41;55;0;146;30;194;13;239;22;294;73;310;81;311; 16;0;3;16;15;3;14;14;5;13;12;7;11;14;3;5;8;9;10;8;10;11;7;8;11;12;6;7;6;12;13;5;6;13;3;4;5;15;16;3;0;1;2;0;2;3;0;16;17
walk-0008;739;711;147;311; 0.391156462585034;-0.04180064308681675; 0;0;0;0; 18;103;289;147;303;147;289;102;252;111;240;94;205;68;179;85;87;68;32;90;0;26;10;41;55;0;146;30;194;13;239;22;294;73;310;81;311; 16;0;3;16;15;3;14;14;5;13;12;7;11;14;3;5;8;9;10;8;10;11;7;8;11;12;6;7;6;12;13;5;6;13;3;4;5;15;16;3;0;1;2;0;2;3;0;16;17
walk-0009;465;482;147;317; 0.42517006802721086;-0.02208201892744488; 0;0;0;0; 19;127;282;93;261;119;242;78;183;103;99;79;66;88;45;128;25;70;0;20;26;38;64;9;108;0;150;34;209;15;228;14;293;72;316;110;299;147;317; 17;1;16;17;15;1;14;0;17;18;14;1;13;3;12;13;11;4;10;6;8;9;6;9;10;6;7;8;10;5;6;4;5;10;11;3;4;3;11;12;1;2;3;1;3;13;15;16;1;0;1;17
walk-0010;465;482;147;317; 0.42517006802721086;-0.02208201892744488; 0;0;0;0; 19;127;282;93;261;119;242;78;183;103;99;79;66;88;45;128;25;70;0;20;26;38;64;9;108;0;150;34;209;15;228;14;293;72;316;110;299;147;317; 17;1;16;17;15;1;14;0;17;18;14;1;13;3;12;13;11;4;10;6;8;9;6;9;10;6;7;8;10;5;6;4;5;10;11;3;4;3;11;12;1;2;3;1;3;13;15;16;1;0;1;17
walk-0011;148;398;149;323; 0.4597315436241611;0; 0;0;0;0; 18;105;256;121;243;80;178;124;92;81;89;77;62;91;15;117;0;34;9;0;63;17;72;3;152;40;202;17;227;17;289;70;316;90;298;149;323; 16;14;15;16;0;14;16;0;16;17;13;0;12;0;13;14;8;9;10;5;6;8;6;7;8;5;8;10;4;5;10;4;10;11;2;3;4;2;4;11;0;1;2;12;0;2;12;2;11
walk-0012;148;398;149;323; 0.4597315436241611;0; 0;0;0;0; 18;105;256;121;243;80;178;124;92;81;89;77;62;91;15;117;0;34;9;0;63;17;72;3;152;40;202;17;227;17;289;70;316;90;298;149;323; 16;14;15;16;0;14;16;0;16;17;13;0;12;0;13;14;8;9;10;5;6;8;6;7;8;5;8;10;4;5;10;4;10;11;2;3;4;2;4;11;0;1;2;12;0;2;12;2;11
walk-0013;271;136;149;318; 0.43288590604026844;-0.018867924528301883; 0;0;0;0; 18;102;297;149;312;149;287;100;260;115;247;100;211;76;183;87;143;128;102;61;36;87;0;23;4;23;52;0;153;34;207;16;243;30;300;81;318; 16;0;3;16;3;15;16;6;13;14;3;14;15;7;13;6;9;10;11;9;11;12;7;8;9;7;12;13;12;7;9;14;3;5;3;4;5;14;5;6;0;1;2;0;2;3;0;16;17
walk-0014;271;136;149;318; 0.43288590604026844;-0.018867924528301883; 0;0;0;0; 18;102;297;149;312;149;287;100;260;115;247;100;211;76;183;87;143;128;102;61;36;87;0;23;4;23;52;0;153;34;207;16;243;30;300;81;318; 16;0;3;16;3;15;16;6;13;14;3;14;15;7;13;6;9;10;11;9;11;12;7;8;9;7;12;13;12;7;9;14;3;5;3;4;5;14;5;6;0;1;2;0;2;3;0;16;17
walk-0015;2;86;165;322; 0.4575757575757576;-0.006211180124223503; 0;0;0;0; 19;120;301;165;314;165;300;119;261;129;251;112;216;84;192;123;109;97;53;97;12;58;30;58;0;0;15;42;85;23;151;39;218;31;258;44;306;98;322; 17;3;17;18;3;16;17;3;15;16;14;15;6;10;11;12;10;12;13;7;14;6;8;9;10;13;7;8;7;13;14;13;8;10;15;3;5;3;4;5;15;5;6;0;1;2;0;2;3;18;0;3
walk-0016;2;86;165;322; 0.4575757575757576;-0.006211180124223503; 0;0;0;0; 19;120;301;165;314;165;300;119;261;129;251;112;216;84;192;123;109;97;53;97;12;58;30;58;0;0;15;42;85;23;151;39;218;31;258;44;306;98;322; 17;3;17;18;3;16;17;3;15;16;14;15;6;10;11;12;10;12;13;7;14;6;8;9;10;13;7;8;7;13;14;13;8;10;15;3;5;3;4;5;15;5;6;0;1;2;0;2;3;18;0;3

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -0,0 +1,14 @@
The TexturePacker Importer script (located in Assets/codeandweb.com/Editor)
extends your Unity editor to read sprite atlas data created with TexturePacker.
It automatically detects changed or newly added spritesheets written by TexturePacker
and (re)imports them as native Unity 2D spritesheets, so that their sprites can directly
be used in the editor. In your TexturePacker project you have to select the data format
"Unity - Texture2D sprite sheet".
TexturePacker Importer with Unity 2021.2 (or newer) requires the "Sprite 2D" package,
please make sure that it is part of your Unity project. You can install it using
Unity's package manager.
Visit our tutorial page for more information:
https://www.codeandweb.com/texturepacker/unity