Update Project
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 18482dc182598e14399913a5afa12430
|
||||
folderAsset: yes
|
||||
timeCreated: 1527956868
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 67a9d3b730160cd4984a4236cd692441
|
||||
folderAsset: yes
|
||||
timeCreated: 1521388527
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+192
@@ -0,0 +1,192 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Zenject.MemoryPoolMonitor
|
||||
{
|
||||
// Fastest known in place stable sort. No risk of exploding a stack. Cost: a relatively high number of moves. Stack can still be expensive too.
|
||||
// This is a merge sort with a smart in place merge that 'rotates' the sub arrays.
|
||||
// Taken from: http://thomas.baudel.name/Visualisation/VisuTri/inplacestablesort.html
|
||||
public class InPlaceStableSort<T>
|
||||
{
|
||||
static void Exchange(List<T> list, int a, int b)
|
||||
{
|
||||
var temp = list[a];
|
||||
list[a] = list[b];
|
||||
list[b] = temp;
|
||||
}
|
||||
|
||||
static int Lower(List<T> list, Comparison<T> comparer, int from, int to, int val)
|
||||
{
|
||||
int len = to - from, half;
|
||||
while (len > 0)
|
||||
{
|
||||
half = len / 2;
|
||||
int mid = from + half;
|
||||
if (comparer(list[mid], list[val]) < 0)
|
||||
{
|
||||
from = mid + 1;
|
||||
len = len - half - 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
len = half;
|
||||
}
|
||||
}
|
||||
return from;
|
||||
}
|
||||
|
||||
static int Upper(List<T> list, Comparison<T> comparer, int from, int to, int val)
|
||||
{
|
||||
int len = to - from, half;
|
||||
while (len > 0)
|
||||
{
|
||||
half = len / 2;
|
||||
int mid = from + half;
|
||||
if (comparer(list[val], list[mid]) < 0)
|
||||
{
|
||||
len = half;
|
||||
}
|
||||
else
|
||||
{
|
||||
from = mid + 1;
|
||||
len = len - half - 1;
|
||||
}
|
||||
}
|
||||
return from;
|
||||
}
|
||||
|
||||
static void InsertSort(List<T> list, Comparison<T> comparer, int from, int to)
|
||||
{
|
||||
if (to > from + 1)
|
||||
{
|
||||
for (int i = from + 1; i < to; i++)
|
||||
{
|
||||
for (int j = i; j > from; j--)
|
||||
{
|
||||
if (comparer(list[j], list[j - 1]) < 0)
|
||||
{
|
||||
Exchange(list, j, j - 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static int Gcd(int m, int n)
|
||||
{
|
||||
while (n != 0)
|
||||
{
|
||||
int t = m % n;
|
||||
m = n;
|
||||
n = t;
|
||||
}
|
||||
return m;
|
||||
}
|
||||
|
||||
static void Reverse(List<T> list, int from, int to)
|
||||
{
|
||||
while (from < to)
|
||||
{
|
||||
Exchange(list, from++, to--);
|
||||
}
|
||||
}
|
||||
|
||||
static void Rotate(List<T> list, Comparison<T> comparer, int from, int mid, int to)
|
||||
{
|
||||
/* a less sophisticated but costlier version:
|
||||
Reverse(from, mid-1);
|
||||
Reverse(mid, to-1);
|
||||
Reverse(from, to-1);
|
||||
*/
|
||||
if (from == mid || mid == to)
|
||||
{
|
||||
return;
|
||||
}
|
||||
int n = Gcd(to - from, mid - from);
|
||||
while (n-- != 0)
|
||||
{
|
||||
T val = list[from + n];
|
||||
int shift = mid - from;
|
||||
int p1 = from + n, p2 = from + n + shift;
|
||||
while (p2 != from + n)
|
||||
{
|
||||
list[p1] = list[p2];
|
||||
p1 = p2;
|
||||
if (to - p2 > shift)
|
||||
{
|
||||
p2 += shift;
|
||||
}
|
||||
else
|
||||
{
|
||||
p2 = from + (shift - (to - p2));
|
||||
}
|
||||
}
|
||||
list[p1] = val;
|
||||
}
|
||||
}
|
||||
|
||||
static void Merge(List<T> list, Comparison<T> comparer, int from, int pivot, int to, int len1, int len2)
|
||||
{
|
||||
if (len1 == 0 || len2 == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (len1 + len2 == 2)
|
||||
{
|
||||
if (comparer(list[pivot], list[from]) < 0)
|
||||
{
|
||||
Exchange(list, pivot, from);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
int first_cut, second_cut;
|
||||
int len11, len22;
|
||||
|
||||
if (len1 > len2)
|
||||
{
|
||||
len11 = len1 / 2;
|
||||
first_cut = from + len11;
|
||||
second_cut = Lower(list, comparer, pivot, to, first_cut);
|
||||
len22 = second_cut - pivot;
|
||||
}
|
||||
else
|
||||
{
|
||||
len22 = len2 / 2;
|
||||
second_cut = pivot + len22;
|
||||
first_cut = Upper(list, comparer, from, pivot, second_cut);
|
||||
len11 = first_cut - from;
|
||||
}
|
||||
|
||||
Rotate(list, comparer, first_cut, pivot, second_cut);
|
||||
int new_mid = first_cut + len22;
|
||||
Merge(list, comparer, from, first_cut, new_mid, len11, len22);
|
||||
Merge(list, comparer, new_mid, second_cut, to, len1 - len11, len2 - len22);
|
||||
}
|
||||
|
||||
public static void Sort(List<T> list, Comparison<T> comparer, int from, int to)
|
||||
{
|
||||
if (to - from < 12)
|
||||
{
|
||||
InsertSort(list, comparer, from, to);
|
||||
return;
|
||||
}
|
||||
|
||||
int middle = (from + to) / 2;
|
||||
Sort(list, comparer, from, middle);
|
||||
Sort(list, comparer, middle, to);
|
||||
Merge(list, comparer, from, middle, to, middle - from, to - middle);
|
||||
}
|
||||
|
||||
public static void Sort(List<T> list, Comparison<T> comparer)
|
||||
{
|
||||
Sort(list, comparer, 0, list.Count);
|
||||
}
|
||||
};
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 48a8b9cc5fc1b7641ad87f55c4da8788
|
||||
timeCreated: 1528024394
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+556
@@ -0,0 +1,556 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using ModestTree;
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using UnityEngine.Profiling;
|
||||
using Zenject;
|
||||
|
||||
namespace Zenject.MemoryPoolMonitor
|
||||
{
|
||||
public class MpmView : IGuiRenderable, ITickable, IInitializable
|
||||
{
|
||||
readonly Settings _settings;
|
||||
readonly MpmWindow _window;
|
||||
|
||||
readonly List<IMemoryPool> _pools = new List<IMemoryPool>();
|
||||
|
||||
const int NumColumns = 6;
|
||||
|
||||
static string[] ColumnTitles = new string[]
|
||||
{
|
||||
"Pool Type", "Num Total", "Num Active", "Num Inactive", "", ""
|
||||
};
|
||||
|
||||
int _controlID;
|
||||
int _sortColumn = 0;
|
||||
float _scrollPosition;
|
||||
bool _poolListDirty;
|
||||
bool _sortDescending;
|
||||
Texture2D _rowBackground1;
|
||||
Texture2D _rowBackground2;
|
||||
Texture2D _rowBackgroundHighlighted;
|
||||
Texture2D _rowBackgroundSelected;
|
||||
Texture2D _lineTexture;
|
||||
Type _selectedPoolType;
|
||||
string _searchFilter = "";
|
||||
string _actualFilter = "";
|
||||
|
||||
public MpmView(
|
||||
MpmWindow window,
|
||||
Settings settings)
|
||||
{
|
||||
_settings = settings;
|
||||
_window = window;
|
||||
}
|
||||
|
||||
public float HeaderTop
|
||||
{
|
||||
get { return _settings.HeaderHeight + _settings.FilterHeight; }
|
||||
}
|
||||
|
||||
public float TotalWidth
|
||||
{
|
||||
get { return _window.position.width; }
|
||||
}
|
||||
|
||||
public float TotalHeight
|
||||
{
|
||||
get { return _window.position.height; }
|
||||
}
|
||||
|
||||
string GetName(IMemoryPool pool)
|
||||
{
|
||||
var type = pool.GetType();
|
||||
return "{0}.{1}".Fmt(type.Namespace, type.PrettyName());
|
||||
}
|
||||
|
||||
Texture2D CreateColorTexture(Color color)
|
||||
{
|
||||
var texture = new Texture2D(1, 1);
|
||||
texture.SetPixel(1, 1, color);
|
||||
texture.Apply();
|
||||
return texture;
|
||||
}
|
||||
|
||||
Texture2D RowBackground1
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_rowBackground1 == null)
|
||||
{
|
||||
_rowBackground1 = CreateColorTexture(_settings.RowBackground1);
|
||||
}
|
||||
|
||||
return _rowBackground1;
|
||||
}
|
||||
}
|
||||
|
||||
Texture2D RowBackground2
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_rowBackground2 == null)
|
||||
{
|
||||
_rowBackground2 = CreateColorTexture(_settings.RowBackground2);
|
||||
}
|
||||
|
||||
return _rowBackground2;
|
||||
}
|
||||
}
|
||||
|
||||
Texture2D RowBackgroundHighlighted
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_rowBackgroundHighlighted == null)
|
||||
{
|
||||
_rowBackgroundHighlighted = CreateColorTexture(_settings.RowBackgroundHighlighted);
|
||||
}
|
||||
|
||||
return _rowBackgroundHighlighted;
|
||||
}
|
||||
}
|
||||
|
||||
Texture2D RowBackgroundSelected
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_rowBackgroundSelected == null)
|
||||
{
|
||||
_rowBackgroundSelected = CreateColorTexture(_settings.RowBackgroundSelected);
|
||||
}
|
||||
|
||||
return _rowBackgroundSelected;
|
||||
}
|
||||
}
|
||||
|
||||
Texture2D LineTexture
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_lineTexture == null)
|
||||
{
|
||||
_lineTexture = CreateColorTexture(_settings.LineColor);
|
||||
}
|
||||
|
||||
return _lineTexture;
|
||||
}
|
||||
}
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
StaticMemoryPoolRegistry.PoolAdded += OnPoolListChanged;
|
||||
StaticMemoryPoolRegistry.PoolRemoved += OnPoolListChanged;
|
||||
_poolListDirty = true;
|
||||
}
|
||||
|
||||
void OnPoolListChanged(IMemoryPool pool)
|
||||
{
|
||||
_poolListDirty = true;
|
||||
}
|
||||
|
||||
public void Tick()
|
||||
{
|
||||
if (_poolListDirty)
|
||||
{
|
||||
_poolListDirty = false;
|
||||
|
||||
_pools.Clear();
|
||||
_pools.AddRange(StaticMemoryPoolRegistry.Pools.Where(ShouldIncludePool));
|
||||
}
|
||||
|
||||
InPlaceStableSort<IMemoryPool>.Sort(_pools, ComparePools);
|
||||
}
|
||||
|
||||
bool ShouldIncludePool(IMemoryPool pool)
|
||||
{
|
||||
//var poolType = pool.GetType();
|
||||
|
||||
//if (poolType.Namespace == "Zenject")
|
||||
//{
|
||||
//return false;
|
||||
//}
|
||||
|
||||
if (_actualFilter.IsEmpty())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return GetName(pool).ToLowerInvariant().Contains(_actualFilter);
|
||||
}
|
||||
|
||||
public void GuiRender()
|
||||
{
|
||||
_controlID = GUIUtility.GetControlID(FocusType.Passive);
|
||||
|
||||
Rect windowBounds = new Rect(0, 0, TotalWidth, _window.position.height);
|
||||
|
||||
Vector2 scrollbarSize = new Vector2(
|
||||
GUI.skin.horizontalScrollbar.CalcSize(GUIContent.none).y,
|
||||
GUI.skin.verticalScrollbar.CalcSize(GUIContent.none).x);
|
||||
|
||||
GUI.Label(new Rect(
|
||||
0, 0, _settings.FilterPaddingLeft, _settings.FilterHeight), "Filter:", _settings.FilterTextStyle);
|
||||
|
||||
var searchFilter = GUI.TextField(
|
||||
new Rect(_settings.FilterPaddingLeft, _settings.FilterPaddingTop, _settings.FilterWidth, _settings.FilterInputHeight), _searchFilter, 999);
|
||||
|
||||
if (searchFilter != _searchFilter)
|
||||
{
|
||||
_searchFilter = searchFilter;
|
||||
_actualFilter = _searchFilter.Trim().ToLowerInvariant();
|
||||
_poolListDirty = true;
|
||||
}
|
||||
|
||||
Rect viewArea = new Rect(0, HeaderTop, TotalWidth - scrollbarSize.y, _window.position.height - HeaderTop);
|
||||
|
||||
Rect contentRect = new Rect(
|
||||
0, 0, viewArea.width, _pools.Count() * _settings.RowHeight);
|
||||
|
||||
Rect vScrRect = new Rect(
|
||||
windowBounds.x + viewArea.width, HeaderTop, scrollbarSize.y, viewArea.height);
|
||||
|
||||
_scrollPosition = GUI.VerticalScrollbar(
|
||||
vScrRect, _scrollPosition, viewArea.height, 0, contentRect.height);
|
||||
|
||||
DrawColumnHeaders(viewArea.width);
|
||||
|
||||
GUI.BeginGroup(viewArea);
|
||||
{
|
||||
contentRect.y = -_scrollPosition;
|
||||
|
||||
GUI.BeginGroup(contentRect);
|
||||
{
|
||||
DrawContent(contentRect.width);
|
||||
}
|
||||
GUI.EndGroup();
|
||||
}
|
||||
GUI.EndGroup();
|
||||
|
||||
HandleEvents();
|
||||
}
|
||||
|
||||
void DrawColumnHeaders(float width)
|
||||
{
|
||||
GUI.DrawTexture(new Rect(
|
||||
0, _settings.FilterHeight - 0.5f * _settings.SplitterWidth, width, _settings.SplitterWidth), LineTexture);
|
||||
|
||||
GUI.DrawTexture(new Rect(
|
||||
0, HeaderTop - 0.5f * _settings.SplitterWidth, width, _settings.SplitterWidth), LineTexture);
|
||||
|
||||
var columnPos = 0.0f;
|
||||
|
||||
for (int i = 0; i < NumColumns; i++)
|
||||
{
|
||||
var columnWidth = GetColumnWidth(i);
|
||||
DrawColumn1(i, columnPos, columnWidth);
|
||||
columnPos += columnWidth;
|
||||
}
|
||||
}
|
||||
|
||||
void DrawColumn1(
|
||||
int index, float position, float width)
|
||||
{
|
||||
var columnHeight = _settings.HeaderHeight + _pools.Count() * _settings.RowHeight;
|
||||
|
||||
if (index < 4)
|
||||
{
|
||||
GUI.DrawTexture(new Rect(
|
||||
position + width - _settings.SplitterWidth * 0.5f, _settings.FilterHeight,
|
||||
_settings.SplitterWidth, columnHeight), LineTexture);
|
||||
}
|
||||
|
||||
var headerBounds = new Rect(
|
||||
position + 0.5f * _settings.SplitterWidth,
|
||||
_settings.FilterHeight,
|
||||
width - _settings.SplitterWidth, _settings.HeaderHeight);
|
||||
|
||||
DrawColumnHeader(index, headerBounds, ColumnTitles[index]);
|
||||
}
|
||||
|
||||
void HandleEvents()
|
||||
{
|
||||
switch (Event.current.GetTypeForControl(_controlID))
|
||||
{
|
||||
case EventType.ScrollWheel:
|
||||
{
|
||||
_scrollPosition = Mathf.Clamp(_scrollPosition + Event.current.delta.y * _settings.ScrollSpeed, 0, TotalHeight);
|
||||
break;
|
||||
}
|
||||
case EventType.MouseDown:
|
||||
{
|
||||
_selectedPoolType = TryGetPoolTypeUnderMouse();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Type TryGetPoolTypeUnderMouse()
|
||||
{
|
||||
var mousePositionInContent = Event.current.mousePosition + Vector2.up * _scrollPosition;
|
||||
|
||||
for (int i = 0; i < _pools.Count; i++)
|
||||
{
|
||||
var pool = _pools[i];
|
||||
|
||||
var rowRect = GetPoolRowRect(i);
|
||||
rowRect.y += HeaderTop;
|
||||
|
||||
if (rowRect.Contains(mousePositionInContent))
|
||||
{
|
||||
return pool.GetType();
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
Rect GetPoolRowRect(int index)
|
||||
{
|
||||
return new Rect(
|
||||
0, index * _settings.RowHeight, TotalWidth, _settings.RowHeight);
|
||||
}
|
||||
|
||||
void DrawRowBackgrounds()
|
||||
{
|
||||
var mousePositionInContent = Event.current.mousePosition;
|
||||
|
||||
for (int i = 0; i < _pools.Count; i++)
|
||||
{
|
||||
var pool = _pools[i];
|
||||
var rowRect = GetPoolRowRect(i);
|
||||
|
||||
Texture2D background;
|
||||
|
||||
if (pool.GetType() == _selectedPoolType)
|
||||
{
|
||||
background = RowBackgroundSelected;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (rowRect.Contains(mousePositionInContent))
|
||||
{
|
||||
background = RowBackgroundHighlighted;
|
||||
}
|
||||
else if (i % 2 == 0)
|
||||
{
|
||||
background = RowBackground1;
|
||||
}
|
||||
else
|
||||
{
|
||||
background = RowBackground2;
|
||||
}
|
||||
}
|
||||
|
||||
GUI.DrawTexture(rowRect, background);
|
||||
}
|
||||
}
|
||||
|
||||
float GetColumnWidth(int index)
|
||||
{
|
||||
if (index == 0)
|
||||
{
|
||||
return TotalWidth - (NumColumns - 1) * _settings.NormalColumnWidth;
|
||||
}
|
||||
|
||||
return _settings.NormalColumnWidth;
|
||||
}
|
||||
|
||||
void DrawContent(float width)
|
||||
{
|
||||
DrawRowBackgrounds();
|
||||
|
||||
var columnPos = 0.0f;
|
||||
|
||||
for (int i = 0; i < NumColumns; i++)
|
||||
{
|
||||
var columnWidth = GetColumnWidth(i);
|
||||
DrawColumn(i, columnPos, columnWidth);
|
||||
columnPos += columnWidth;
|
||||
}
|
||||
}
|
||||
|
||||
void DrawColumn(
|
||||
int index, float position, float width)
|
||||
{
|
||||
var columnHeight = _settings.HeaderHeight + _pools.Count() * _settings.RowHeight;
|
||||
|
||||
if (index < 4)
|
||||
{
|
||||
GUI.DrawTexture(new Rect(
|
||||
position + width - _settings.SplitterWidth * 0.5f, 0,
|
||||
_settings.SplitterWidth, columnHeight), LineTexture);
|
||||
}
|
||||
|
||||
var columnBounds = new Rect(
|
||||
position + 0.5f * _settings.SplitterWidth, 0, width - _settings.SplitterWidth, columnHeight);
|
||||
|
||||
GUI.BeginGroup(columnBounds);
|
||||
{
|
||||
for (int i = 0; i < _pools.Count; i++)
|
||||
{
|
||||
var pool = _pools[i];
|
||||
|
||||
var cellBounds = new Rect(
|
||||
0, _settings.RowHeight * i,
|
||||
columnBounds.width, _settings.RowHeight);
|
||||
|
||||
DrawColumnContents(index, cellBounds, pool);
|
||||
}
|
||||
}
|
||||
GUI.EndGroup();
|
||||
}
|
||||
|
||||
void DrawColumnContents(
|
||||
int index, Rect bounds, IMemoryPool pool)
|
||||
{
|
||||
switch (index)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
GUI.Label(bounds, GetName(pool), _settings.ContentNameTextStyle);
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
GUI.Label(bounds, pool.NumTotal.ToString(), _settings.ContentNumberTextStyle);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
GUI.Label(bounds, pool.NumActive.ToString(), _settings.ContentNumberTextStyle);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
GUI.Label(bounds, pool.NumInactive.ToString(), _settings.ContentNumberTextStyle);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
var buttonBounds = new Rect(
|
||||
bounds.x + _settings.ButtonMargin, bounds.y, bounds.width - _settings.ButtonMargin, bounds.height);
|
||||
|
||||
if (GUI.Button(buttonBounds, "Clear"))
|
||||
{
|
||||
pool.Clear();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
var buttonBounds = new Rect(
|
||||
bounds.x, bounds.y, bounds.width - 15.0f, bounds.height);
|
||||
|
||||
if (GUI.Button(buttonBounds, "Expand"))
|
||||
{
|
||||
pool.ExpandBy(5);
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
throw Assert.CreateException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DrawColumnHeader(int index, Rect bounds, string text)
|
||||
{
|
||||
if (index > 3)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (_sortColumn == index)
|
||||
{
|
||||
var offset = _settings.TriangleOffset;
|
||||
var image = _sortDescending ? _settings.TriangleDown : _settings.TriangleUp;
|
||||
|
||||
GUI.DrawTexture(new Rect(bounds.x + offset.x, bounds.y + offset.y, image.width, image.height), image);
|
||||
}
|
||||
|
||||
if (GUI.Button(bounds, text, index == 0 ? _settings.HeaderTextStyleName : _settings.HeaderTextStyle))
|
||||
{
|
||||
if (_sortColumn == index)
|
||||
{
|
||||
_sortDescending = !_sortDescending;
|
||||
}
|
||||
else
|
||||
{
|
||||
_sortColumn = index;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int ComparePools(IMemoryPool left, IMemoryPool right)
|
||||
{
|
||||
if (_sortDescending)
|
||||
{
|
||||
var temp = right;
|
||||
right = left;
|
||||
left = temp;
|
||||
}
|
||||
|
||||
switch (_sortColumn)
|
||||
{
|
||||
case 4:
|
||||
case 5:
|
||||
case 0:
|
||||
{
|
||||
return GetName(left).CompareTo(GetName(right));
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
return left.NumTotal.CompareTo(right.NumTotal);
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
return left.NumActive.CompareTo(right.NumActive);
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
return left.NumInactive.CompareTo(right.NumInactive);
|
||||
}
|
||||
}
|
||||
|
||||
throw Assert.CreateException();
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Settings
|
||||
{
|
||||
public Texture2D TriangleUp;
|
||||
public Texture2D TriangleDown;
|
||||
public Vector2 TriangleOffset;
|
||||
|
||||
public GUIStyle FilterTextStyle;
|
||||
public GUIStyle HeaderTextStyleName;
|
||||
public GUIStyle HeaderTextStyle;
|
||||
public GUIStyle ContentNumberTextStyle;
|
||||
public GUIStyle ContentNameTextStyle;
|
||||
|
||||
public Color RowBackground1;
|
||||
public Color RowBackground2;
|
||||
public Color RowBackgroundHighlighted;
|
||||
public Color RowBackgroundSelected;
|
||||
public Color LineColor;
|
||||
|
||||
public float ScrollSpeed = 1.5f;
|
||||
public float NormalColumnWidth;
|
||||
public float HeaderHeight;
|
||||
public float FilterHeight;
|
||||
public float FilterInputHeight;
|
||||
public float FilterWidth;
|
||||
public float FilterPaddingLeft;
|
||||
public float FilterPaddingTop = 10;
|
||||
|
||||
public float SplitterWidth;
|
||||
public float RowHeight;
|
||||
|
||||
public float ButtonMargin = 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1bdf0766db282fd4eaba7e7cd7d17ca5
|
||||
timeCreated: 1521391096
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using ModestTree;
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using Zenject;
|
||||
|
||||
namespace Zenject.MemoryPoolMonitor
|
||||
{
|
||||
public class MpmWindow : ZenjectEditorWindow
|
||||
{
|
||||
[MenuItem("Window/Zenject Pool Monitor")]
|
||||
public static MpmWindow GetOrCreateWindow()
|
||||
{
|
||||
var window = EditorWindow.GetWindow<MpmWindow>();
|
||||
window.titleContent = new GUIContent("Pool Monitor");
|
||||
return window;
|
||||
}
|
||||
|
||||
public override void InstallBindings()
|
||||
{
|
||||
MpmSettingsInstaller.InstallFromResource(Container);
|
||||
|
||||
Container.BindInstance(this);
|
||||
Container.BindInterfacesTo<MpmView>().AsSingle();
|
||||
}
|
||||
}
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e38c08208cf0cee48a675a3944d37e10
|
||||
timeCreated: 1521391096
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using Zenject;
|
||||
|
||||
namespace Zenject.MemoryPoolMonitor
|
||||
{
|
||||
[CreateAssetMenu(fileName = "MpmSettingsInstaller", menuName = "Installers/MpmSettingsInstaller")]
|
||||
public class MpmSettingsInstaller : ScriptableObjectInstaller<MpmSettingsInstaller>
|
||||
{
|
||||
public MpmView.Settings MpmView;
|
||||
public MpmView.Settings MpmViewDark;
|
||||
|
||||
public override void InstallBindings()
|
||||
{
|
||||
Container.BindInstance(EditorGUIUtility.isProSkin ? MpmViewDark : MpmView);
|
||||
}
|
||||
}
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7893183729d13c84b80bb80d3aac6715
|
||||
timeCreated: 1521390842
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d2ca2f3310cb1f043806c4423a5ba68d
|
||||
folderAsset: yes
|
||||
timeCreated: 1521391155
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d8bd38610b9ceab43b21018a741225e8
|
||||
folderAsset: yes
|
||||
timeCreated: 1521391199
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+723
@@ -0,0 +1,723 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7893183729d13c84b80bb80d3aac6715, type: 3}
|
||||
m_Name: MpmSettingsInstaller
|
||||
m_EditorClassIdentifier:
|
||||
MpmView:
|
||||
TriangleUp: {fileID: 2800000, guid: ac5b05acff67c77418510f95f0ac9bb1, type: 3}
|
||||
TriangleDown: {fileID: 2800000, guid: fd2add38dc259eb49a3e7fc331758b7e, type: 3}
|
||||
TriangleOffset: {x: 1.6, y: 6.07}
|
||||
FilterTextStyle:
|
||||
m_Name:
|
||||
m_Normal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Hover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Active:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Focused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnNormal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnHover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnActive:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnFocused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Border:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Margin:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Overflow:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 15
|
||||
m_FontStyle: 0
|
||||
m_Alignment: 0
|
||||
m_WordWrap: 0
|
||||
m_RichText: 1
|
||||
m_TextClipping: 0
|
||||
m_ImagePosition: 0
|
||||
m_ContentOffset: {x: 2.63, y: 4.65}
|
||||
m_FixedWidth: 0
|
||||
m_FixedHeight: 0
|
||||
m_StretchWidth: 1
|
||||
m_StretchHeight: 0
|
||||
HeaderTextStyleName:
|
||||
m_Name:
|
||||
m_Normal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Hover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Active:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Focused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnNormal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnHover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnActive:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnFocused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Border:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Margin:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Overflow:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Font: {fileID: 0}
|
||||
m_FontSize: 12
|
||||
m_FontStyle: 1
|
||||
m_Alignment: 3
|
||||
m_WordWrap: 0
|
||||
m_RichText: 1
|
||||
m_TextClipping: 0
|
||||
m_ImagePosition: 0
|
||||
m_ContentOffset: {x: 23.1, y: 0}
|
||||
m_FixedWidth: 0
|
||||
m_FixedHeight: 0
|
||||
m_StretchWidth: 1
|
||||
m_StretchHeight: 0
|
||||
HeaderTextStyle:
|
||||
m_Name:
|
||||
m_Normal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Hover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Active:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Focused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnNormal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnHover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnActive:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnFocused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Border:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Margin:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Overflow:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 12
|
||||
m_FontStyle: 1
|
||||
m_Alignment: 4
|
||||
m_WordWrap: 0
|
||||
m_RichText: 1
|
||||
m_TextClipping: 0
|
||||
m_ImagePosition: 0
|
||||
m_ContentOffset: {x: 7.2, y: 0}
|
||||
m_FixedWidth: 0
|
||||
m_FixedHeight: 0
|
||||
m_StretchWidth: 1
|
||||
m_StretchHeight: 0
|
||||
ContentNumberTextStyle:
|
||||
m_Name:
|
||||
m_Normal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Hover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Active:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Focused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnNormal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnHover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnActive:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnFocused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Border:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Margin:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Overflow:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 14
|
||||
m_FontStyle: 0
|
||||
m_Alignment: 4
|
||||
m_WordWrap: 0
|
||||
m_RichText: 1
|
||||
m_TextClipping: 0
|
||||
m_ImagePosition: 0
|
||||
m_ContentOffset: {x: 0, y: 0}
|
||||
m_FixedWidth: 0
|
||||
m_FixedHeight: 0
|
||||
m_StretchWidth: 1
|
||||
m_StretchHeight: 0
|
||||
ContentNameTextStyle:
|
||||
m_Name:
|
||||
m_Normal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Hover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Active:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Focused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnNormal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnHover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnActive:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_OnFocused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Border:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Margin:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Overflow:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 12
|
||||
m_FontStyle: 0
|
||||
m_Alignment: 3
|
||||
m_WordWrap: 0
|
||||
m_RichText: 1
|
||||
m_TextClipping: 0
|
||||
m_ImagePosition: 0
|
||||
m_ContentOffset: {x: 9.01, y: 0}
|
||||
m_FixedWidth: 0
|
||||
m_FixedHeight: 0
|
||||
m_StretchWidth: 1
|
||||
m_StretchHeight: 0
|
||||
RowBackground1: {r: 0.854902, g: 0.854902, b: 0.854902, a: 1}
|
||||
RowBackground2: {r: 0.833, g: 0.833, b: 0.833, a: 1}
|
||||
RowBackgroundHighlighted: {r: 0, g: 0, b: 0, a: 0}
|
||||
RowBackgroundSelected: {r: 0, g: 0, b: 0, a: 0}
|
||||
LineColor: {r: 0.6691177, g: 0.6691177, b: 0.6691177, a: 1}
|
||||
ScrollSpeed: 10.64
|
||||
NormalColumnWidth: 103.92
|
||||
HeaderHeight: 27.24
|
||||
FilterHeight: 28.1
|
||||
FilterInputHeight: 17.9
|
||||
FilterWidth: 295.3
|
||||
FilterPaddingLeft: 42.92
|
||||
FilterPaddingTop: 5.6
|
||||
SplitterWidth: 2.56
|
||||
RowHeight: 23.6
|
||||
ButtonMargin: -0.1
|
||||
MpmViewDark:
|
||||
TriangleUp: {fileID: 2800000, guid: ac5b05acff67c77418510f95f0ac9bb1, type: 3}
|
||||
TriangleDown: {fileID: 2800000, guid: fd2add38dc259eb49a3e7fc331758b7e, type: 3}
|
||||
TriangleOffset: {x: 1.6, y: 6.07}
|
||||
FilterTextStyle:
|
||||
m_Name:
|
||||
m_Normal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Hover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Active:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Focused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnNormal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnHover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnActive:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnFocused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Border:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Margin:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Overflow:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 15
|
||||
m_FontStyle: 0
|
||||
m_Alignment: 0
|
||||
m_WordWrap: 0
|
||||
m_RichText: 1
|
||||
m_TextClipping: 0
|
||||
m_ImagePosition: 0
|
||||
m_ContentOffset: {x: 2.63, y: 4.65}
|
||||
m_FixedWidth: 0
|
||||
m_FixedHeight: 0
|
||||
m_StretchWidth: 1
|
||||
m_StretchHeight: 0
|
||||
HeaderTextStyleName:
|
||||
m_Name:
|
||||
m_Normal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Hover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Active:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Focused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnNormal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnHover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnActive:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnFocused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Border:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Margin:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Overflow:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Font: {fileID: 0}
|
||||
m_FontSize: 12
|
||||
m_FontStyle: 1
|
||||
m_Alignment: 3
|
||||
m_WordWrap: 0
|
||||
m_RichText: 1
|
||||
m_TextClipping: 0
|
||||
m_ImagePosition: 0
|
||||
m_ContentOffset: {x: 23.1, y: 0}
|
||||
m_FixedWidth: 0
|
||||
m_FixedHeight: 0
|
||||
m_StretchWidth: 1
|
||||
m_StretchHeight: 0
|
||||
HeaderTextStyle:
|
||||
m_Name:
|
||||
m_Normal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Hover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Active:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Focused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnNormal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnHover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnActive:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnFocused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Border:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Margin:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Overflow:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 12
|
||||
m_FontStyle: 1
|
||||
m_Alignment: 4
|
||||
m_WordWrap: 0
|
||||
m_RichText: 1
|
||||
m_TextClipping: 0
|
||||
m_ImagePosition: 0
|
||||
m_ContentOffset: {x: 7.2, y: 0}
|
||||
m_FixedWidth: 0
|
||||
m_FixedHeight: 0
|
||||
m_StretchWidth: 1
|
||||
m_StretchHeight: 0
|
||||
ContentNumberTextStyle:
|
||||
m_Name:
|
||||
m_Normal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Hover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Active:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Focused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnNormal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnHover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnActive:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnFocused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Border:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Margin:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Overflow:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 14
|
||||
m_FontStyle: 0
|
||||
m_Alignment: 4
|
||||
m_WordWrap: 0
|
||||
m_RichText: 1
|
||||
m_TextClipping: 0
|
||||
m_ImagePosition: 0
|
||||
m_ContentOffset: {x: 0, y: 0}
|
||||
m_FixedWidth: 0
|
||||
m_FixedHeight: 0
|
||||
m_StretchWidth: 1
|
||||
m_StretchHeight: 0
|
||||
ContentNameTextStyle:
|
||||
m_Name:
|
||||
m_Normal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Hover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Active:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Focused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnNormal:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnHover:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnActive:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_OnFocused:
|
||||
m_Background: {fileID: 0}
|
||||
m_ScaledBackgrounds: []
|
||||
m_TextColor: {r: 0.7058824, g: 0.7058824, b: 0.7058824, a: 1}
|
||||
m_Border:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Margin:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Overflow:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 12
|
||||
m_FontStyle: 0
|
||||
m_Alignment: 3
|
||||
m_WordWrap: 0
|
||||
m_RichText: 1
|
||||
m_TextClipping: 0
|
||||
m_ImagePosition: 0
|
||||
m_ContentOffset: {x: 9.01, y: 0}
|
||||
m_FixedWidth: 0
|
||||
m_FixedHeight: 0
|
||||
m_StretchWidth: 1
|
||||
m_StretchHeight: 0
|
||||
RowBackground1: {r: 0.23137257, g: 0.23137257, b: 0.23137257, a: 1}
|
||||
RowBackground2: {r: 0.21568629, g: 0.21568629, b: 0.21568629, a: 1}
|
||||
RowBackgroundHighlighted: {r: 0, g: 0, b: 0, a: 0}
|
||||
RowBackgroundSelected: {r: 0, g: 0, b: 0, a: 0}
|
||||
LineColor: {r: 0.121568635, g: 0.121568635, b: 0.121568635, a: 1}
|
||||
ScrollSpeed: 10.64
|
||||
NormalColumnWidth: 103.92
|
||||
HeaderHeight: 27.24
|
||||
FilterHeight: 28.1
|
||||
FilterInputHeight: 17.9
|
||||
FilterWidth: 295.3
|
||||
FilterPaddingLeft: 42.92
|
||||
FilterPaddingTop: 5.6
|
||||
SplitterWidth: 2.56
|
||||
RowHeight: 23.6
|
||||
ButtonMargin: -0.1
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b8f181012b3a35f46ab27f3840f85f55
|
||||
timeCreated: 1521391162
|
||||
licenseType: Free
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 307 B |
@@ -0,0 +1,98 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fd2add38dc259eb49a3e7fc331758b7e
|
||||
timeCreated: 1528020459
|
||||
licenseType: Free
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
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
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -1
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
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: 0
|
||||
textureShape: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
- buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
- buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 298 B |
@@ -0,0 +1,98 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ac5b05acff67c77418510f95f0ac9bb1
|
||||
timeCreated: 1528020459
|
||||
licenseType: Free
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
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
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -1
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
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: 0
|
||||
textureShape: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
- buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
- buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Zenject-PoolMonitor-Editor",
|
||||
"references": [
|
||||
"Zenject",
|
||||
"Zenject-Editor"
|
||||
],
|
||||
"includePlatforms": [
|
||||
"Editor"
|
||||
],
|
||||
"excludePlatforms": []
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e988738e8012f5a4fa42a45fcab11e2c
|
||||
timeCreated: 1531030364
|
||||
licenseType: Free
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user