补全 UI 设计
- `ItemDescForm` 道具详细信息面板,目前还未添加 DescText 内容的赋值 - `RepoForm` 道具入槽逻辑调整,为了适应 `ItemDescForm` 的点击打开逻辑,点击道具自动匹配槽位改成拖动道具到相应槽位 - 添加了一系列图片素材
|
|
@ -1,6 +1,6 @@
|
||||||
# Id 策划备注 EntityId Name AttackSpeed AttackSpeedPerLevel PropertyType Constraint PossibleTag
|
# Id 策划备注 Name AttackSpeed AttackSpeedPerLevel PropertyType Constraint PossibleTag
|
||||||
# int int string float[] float AttackPropertyType string TagType[]
|
# int string float[] float AttackPropertyType string TagType[]
|
||||||
# 底座编号 实体Id 底座名 各品质攻击速度(秒/次) 每级提升攻击速度 攻击属性 属性约束 可能出现的Tag
|
# 底座编号 底座名 各品质攻击速度(次/秒) 每级提升攻击速度 攻击属性 属性约束 可能出现的Tag
|
||||||
1 301 元素底座 [2,1.5,1,0.8,0.7] -0.2 Fire [Fire,BurnSpread,IgniteBurst,Inferno]
|
1 元素底座 [2,2.1,2.2,2.3,2.5] 0.2 Fire [Fire,BurnSpread,IgniteBurst,Inferno]
|
||||||
2 301 控制底座 [4,3.8,3.6,3.4,3.2] -0.1 Ice [Ice,FreezeMask,Shatter,AbsoluteZero]
|
2 控制底座 [4,4.2,4.4,4.6,4.8] 0.1 Ice [Ice,FreezeMask,Shatter,AbsoluteZero]
|
||||||
3 301 穿透底座 [1,0,8,0,6,0.4,0.2] 0 Physics [Pierce,Crit,Overpenetrate,Execution]
|
3 穿透底座 [1,1,1,1,1] 0 Physics [Pierce,Crit,Overpenetrate,Execution]
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Id 策划备注 EntityId Name RotateSpeed RotateSpeedPerLevel AttackRange AttackRangePerLevel Constraint PossibleTag
|
# Id 策划备注 Name RotateSpeed RotateSpeedPerLevel AttackRange AttackRangePerLevel Constraint PossibleTag
|
||||||
# int int string float[] float float[] float string TagType[]
|
# int string float[] float float[] float string TagType[]
|
||||||
# 轴承编号 实体Id 轴承名 各品质旋转速度 每级提升旋转速度 各品质攻击范围 每级提升攻击范围 属性约束 可能出现的Tag
|
# 轴承编号 轴承名 各品质旋转速度 每级提升旋转速度 各品质攻击范围 每级提升攻击范围 属性约束 可能出现的Tag
|
||||||
1 201 元素轴承 [10,12,13,14,15] 15 [2,2,2,2,2] 0.3 [Fire,BurnSpread,IgniteBurst,Inferno]
|
1 元素轴承 [10,12,13,14,15] 15 [2,2,2,2,2] 0.3 [Fire,BurnSpread,IgniteBurst,Inferno]
|
||||||
2 201 控制轴承 [20,25,30,32,35] 0 [6,6.5,7,8,8] 0.2 [Ice,FreezeMask,Shatter,AbsoluteZero]
|
2 控制轴承 [20,25,30,32,35] 0 [6,6.5,7,8,8] 0.2 [Ice,FreezeMask,Shatter,AbsoluteZero]
|
||||||
3 201 穿透轴承 [60,70,80,90,100] 20 [4,4.5,5,5.5,6] 0 [Pierce,Crit,Overpenetrate,Execution]
|
3 穿透轴承 [60,70,80,90,100] 20 [4,4.5,5,5.5,6] 0 [Pierce,Crit,Overpenetrate,Execution]
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Id 策划备注 EntityId Name AttackDamage AttackDamagePerLevel DamageRandomRate Method Constraint PossibleTag
|
# Id 策划备注 Name AttackDamage AttackDamagePerLevel DamageRandomRate Method Constraint PossibleTag
|
||||||
# int int string int[] int float AttackMethodType Constraint TagType[]
|
# int string int[] int float AttackMethodType Constraint TagType[]
|
||||||
# 枪口编号 策划备注 实体Id 枪口名 各品质伤害 每级伤害提升 伤害浮动 攻击方式 Constraint 可能出现的Tag
|
# 枪口编号 策划备注 枪口名 各品质伤害 每级伤害提升 伤害浮动 攻击方式 Constraint 可能出现的Tag
|
||||||
1 101 元素枪口 [20,30,40,50,80] 10 0.05 NormalBullet [Fire,BurnSpread,IgniteBurst,Inferno]
|
1 元素枪口 [20,30,40,50,80] 10 0.05 NormalBullet [Fire,BurnSpread,IgniteBurst,Inferno]
|
||||||
2 101 控制枪口 [30,50,70,90,100] 20 0.01 NormalBullet [Ice,FreezeMask,Shatter,AbsoluteZero]
|
2 控制枪口 [30,50,70,90,100] 20 0.01 NormalBullet [Ice,FreezeMask,Shatter,AbsoluteZero]
|
||||||
3 101 穿透枪口 [50,55,60,80,90] 30 0.02 NormalBullet [Pierce,Crit,Overpenetrate,Execution]
|
3 穿透枪口 [50,55,60,80,90] 30 0.02 NormalBullet [Pierce,Crit,Overpenetrate,Execution]
|
||||||
|
|
|
||||||
|
|
@ -10,12 +10,39 @@
|
||||||
7 Plain White BaseComp 1 10 1 10
|
7 Plain White BaseComp 1 10 1 10
|
||||||
8 Plain White BaseComp 2 10 1 10
|
8 Plain White BaseComp 2 10 1 10
|
||||||
9 Plain White BaseComp 3 10 1 10
|
9 Plain White BaseComp 3 10 1 10
|
||||||
10 Plain Green MuzzleComp 1 5 1 10
|
10 Plain Green MuzzleComp 1 5 2 10
|
||||||
11 Plain Green MuzzleComp 2 5 1 10
|
11 Plain Green MuzzleComp 2 5 2 10
|
||||||
12 Plain Green MuzzleComp 3 5 1 10
|
12 Plain Green MuzzleComp 3 5 2 10
|
||||||
13 Plain Green BearingComp 1 5 1 10
|
13 Plain Green BearingComp 1 5 2 10
|
||||||
14 Plain Green BearingComp 2 5 1 10
|
14 Plain Green BearingComp 2 5 2 10
|
||||||
15 Plain Green BearingComp 3 5 1 10
|
15 Plain Green BearingComp 3 5 2 10
|
||||||
16 Plain Green BaseComp 1 5 1 10
|
16 Plain Green BaseComp 1 5 2 10
|
||||||
17 Plain Green BaseComp 2 5 1 10
|
17 Plain Green BaseComp 2 5 2 10
|
||||||
18 Plain Green BaseComp 3 5 1 10
|
18 Plain Green BaseComp 3 5 2 10
|
||||||
|
19 Plain Blue MuzzleComp 1 3 3 15
|
||||||
|
20 Plain Blue MuzzleComp 2 3 3 15
|
||||||
|
21 Plain Blue MuzzleComp 3 3 3 15
|
||||||
|
22 Plain Blue BearingComp 1 3 3 15
|
||||||
|
23 Plain Blue BearingComp 2 3 3 15
|
||||||
|
24 Plain Blue BearingComp 3 3 3 15
|
||||||
|
25 Plain Blue BaseComp 1 3 3 15
|
||||||
|
26 Plain Blue BaseComp 2 3 3 15
|
||||||
|
27 Plain Blue BaseComp 3 3 3 15
|
||||||
|
28 Plain Purple MuzzleComp 1 2 4 20
|
||||||
|
29 Plain Purple MuzzleComp 2 2 4 20
|
||||||
|
30 Plain Purple MuzzleComp 3 2 4 20
|
||||||
|
31 Plain Purple BearingComp 1 2 4 20
|
||||||
|
32 Plain Purple BearingComp 2 2 4 20
|
||||||
|
33 Plain Purple BearingComp 3 2 4 20
|
||||||
|
34 Plain Purple BaseComp 1 2 4 20
|
||||||
|
35 Plain Purple BaseComp 2 2 4 20
|
||||||
|
36 Plain Purple BaseComp 3 2 4 20
|
||||||
|
37 Plain Red MuzzleComp 1 1 5 50
|
||||||
|
38 Plain Red MuzzleComp 2 1 5 50
|
||||||
|
39 Plain Red MuzzleComp 3 1 5 50
|
||||||
|
40 Plain Red BearingComp 1 1 5 50
|
||||||
|
41 Plain Red BearingComp 2 1 5 50
|
||||||
|
42 Plain Red BearingComp 3 1 5 50
|
||||||
|
43 Plain Red BaseComp 1 1 5 50
|
||||||
|
44 Plain Red BaseComp 2 1 5 50
|
||||||
|
45 Plain Red BaseComp 3 1 5 50
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ SpriteRenderer:
|
||||||
m_SortingLayerID: -1805677833
|
m_SortingLayerID: -1805677833
|
||||||
m_SortingLayer: -1
|
m_SortingLayer: -1
|
||||||
m_SortingOrder: 2
|
m_SortingOrder: 2
|
||||||
m_Sprite: {fileID: 7482667652216324306, guid: 75f5f34dc1b5347e0b8351032682f224,
|
m_Sprite: {fileID: 7482667652216324306, guid: 5ba74e3a185274149b15c24b321bead2,
|
||||||
type: 3}
|
type: 3}
|
||||||
m_Color: {r: 1, g: 0.40566027, b: 0.40566027, a: 1}
|
m_Color: {r: 1, g: 0.40566027, b: 0.40566027, a: 1}
|
||||||
m_FlipX: 0
|
m_FlipX: 0
|
||||||
|
|
@ -155,7 +155,6 @@ MonoBehaviour:
|
||||||
_baseComp: {fileID: 9032148832249544824}
|
_baseComp: {fileID: 9032148832249544824}
|
||||||
_scanOrigin: {fileID: 6791423131335728073}
|
_scanOrigin: {fileID: 6791423131335728073}
|
||||||
_retargetInterval: 0.1
|
_retargetInterval: 0.1
|
||||||
_autoUpdate: 0
|
|
||||||
_attackRangeRenderer: {fileID: 4014432302095443276}
|
_attackRangeRenderer: {fileID: 4014432302095443276}
|
||||||
_attackRangeSegments: 64
|
_attackRangeSegments: 64
|
||||||
_attackRangeLineWidth: 0.08
|
_attackRangeLineWidth: 0.08
|
||||||
|
|
@ -352,7 +351,7 @@ SpriteRenderer:
|
||||||
m_SortingLayerID: -1805677833
|
m_SortingLayerID: -1805677833
|
||||||
m_SortingLayer: -1
|
m_SortingLayer: -1
|
||||||
m_SortingOrder: 1
|
m_SortingOrder: 1
|
||||||
m_Sprite: {fileID: -2413806693520163455, guid: a86470a33a6bf42c4b3595704624658b,
|
m_Sprite: {fileID: -2413806693520163455, guid: e31321df62f1587469b0733897970679,
|
||||||
type: 3}
|
type: 3}
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
m_FlipX: 0
|
m_FlipX: 0
|
||||||
|
|
@ -455,7 +454,7 @@ SpriteRenderer:
|
||||||
m_SortingLayerID: -1805677833
|
m_SortingLayerID: -1805677833
|
||||||
m_SortingLayer: -1
|
m_SortingLayer: -1
|
||||||
m_SortingOrder: 0
|
m_SortingOrder: 0
|
||||||
m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6,
|
m_Sprite: {fileID: 7482667652216324306, guid: 80a3790c48fc91d4ebcb4d7e2efbb8c8,
|
||||||
type: 3}
|
type: 3}
|
||||||
m_Color: {r: 0.3584906, g: 0.3584906, b: 0.3584906, a: 1}
|
m_Color: {r: 0.3584906, g: 0.3584906, b: 0.3584906, a: 1}
|
||||||
m_FlipX: 0
|
m_FlipX: 0
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,8 @@ public partial class GameEntry
|
||||||
|
|
||||||
public static ResolutionAdapterComponent ResolutionAdapter { get; private set; }
|
public static ResolutionAdapterComponent ResolutionAdapter { get; private set; }
|
||||||
|
|
||||||
|
public static SpriteCacheComponent SpriteCache { get; private set; }
|
||||||
|
|
||||||
private static void InitCustomComponents()
|
private static void InitCustomComponents()
|
||||||
{
|
{
|
||||||
BuiltinData = UnityGameFramework.Runtime.GameEntry.GetComponent<BuiltinDataComponent>();
|
BuiltinData = UnityGameFramework.Runtime.GameEntry.GetComponent<BuiltinDataComponent>();
|
||||||
|
|
@ -32,5 +34,6 @@ public partial class GameEntry
|
||||||
CombatNode = UnityGameFramework.Runtime.GameEntry.GetComponent<CombatNodeComponent>();
|
CombatNode = UnityGameFramework.Runtime.GameEntry.GetComponent<CombatNodeComponent>();
|
||||||
ShopNode = UnityGameFramework.Runtime.GameEntry.GetComponent<ShopNodeComponent>();
|
ShopNode = UnityGameFramework.Runtime.GameEntry.GetComponent<ShopNodeComponent>();
|
||||||
ResolutionAdapter = UnityGameFramework.Runtime.GameEntry.GetComponent<ResolutionAdapterComponent>();
|
ResolutionAdapter = UnityGameFramework.Runtime.GameEntry.GetComponent<ResolutionAdapterComponent>();
|
||||||
|
SpriteCache = UnityGameFramework.Runtime.GameEntry.GetComponent<SpriteCacheComponent>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -10,9 +10,15 @@ namespace GeometryTD.CustomComponent
|
||||||
{
|
{
|
||||||
internal sealed class CombatResourceManager
|
internal sealed class CombatResourceManager
|
||||||
{
|
{
|
||||||
|
// 每次击杀敌人后,进入“掉组件判定”的概率:
|
||||||
|
// chance = clamp(DropChanceBase + (phaseIndex - 1) * DropChancePerPhase, 0, DropChanceCap)
|
||||||
private const float DropChanceBase = 0.05f;
|
private const float DropChanceBase = 0.05f;
|
||||||
private const float DropChancePerPhase = 0.0125f;
|
private const float DropChancePerPhase = 0.2f;
|
||||||
private const float DropChanceCap = 0.45f;
|
private const float DropChanceCap = 0.2f;
|
||||||
|
|
||||||
|
// 用于把阶段映射到 [0,1] 的稀有度曲线输入:
|
||||||
|
// phaseT = clamp01((phaseIndex - 1) / RarityCurveScalePhase)
|
||||||
|
// 该值越大,稀有度随阶段提升的节奏越慢。
|
||||||
private const float RarityCurveScalePhase = 30f;
|
private const float RarityCurveScalePhase = 30f;
|
||||||
|
|
||||||
private readonly List<DROutGameDropPool> _eligibleDropPoolBuffer = new();
|
private readonly List<DROutGameDropPool> _eligibleDropPoolBuffer = new();
|
||||||
|
|
@ -78,6 +84,13 @@ namespace GeometryTD.CustomComponent
|
||||||
_rewardInventory.Gold += gold;
|
_rewardInventory.Gold += gold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 击杀敌人时的掉落入口。
|
||||||
|
/// displayPhaseIndex 会影响:
|
||||||
|
/// 1) 总掉落概率(由 DropChanceBase / DropChancePerPhase / DropChanceCap 决定)
|
||||||
|
/// 2) 稀有度倾向(通过 phaseT 进入 RollRarity)
|
||||||
|
/// themeType 会按关卡主题过滤掉落池(LevelThemeType 不匹配直接不参与)。
|
||||||
|
/// </summary>
|
||||||
public bool TryRollOutGameItemDrop(int displayPhaseIndex, LevelThemeType themeType)
|
public bool TryRollOutGameItemDrop(int displayPhaseIndex, LevelThemeType themeType)
|
||||||
{
|
{
|
||||||
int phaseIndex = Mathf.Max(1, displayPhaseIndex);
|
int phaseIndex = Mathf.Max(1, displayPhaseIndex);
|
||||||
|
|
@ -113,6 +126,10 @@ namespace GeometryTD.CustomComponent
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 直接抽取一个具体掉落物(不走前面的总掉率门槛)。
|
||||||
|
/// 但 displayPhaseIndex 和 themeType 仍会通过掉落池过滤、稀有度加权影响结果。
|
||||||
|
/// </summary>
|
||||||
public bool TryRollOutGameItem(int displayPhaseIndex, LevelThemeType themeType, out TowerCompItemData droppedItem)
|
public bool TryRollOutGameItem(int displayPhaseIndex, LevelThemeType themeType, out TowerCompItemData droppedItem)
|
||||||
{
|
{
|
||||||
droppedItem = null;
|
droppedItem = null;
|
||||||
|
|
@ -178,6 +195,12 @@ namespace GeometryTD.CustomComponent
|
||||||
return candidates;
|
return candidates;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 两阶段加权抽样:
|
||||||
|
/// 1) 先按主题 + 阶段区间过滤候选行
|
||||||
|
/// 2) 先抽稀有度(稀有度权重 = 同稀有度所有行的 row.Weight * 稀有度曲线权重 之和)
|
||||||
|
/// 3) 在该稀有度内再按 row.Weight 抽具体行
|
||||||
|
/// </summary>
|
||||||
private bool TryPickDropPoolRow(int displayPhaseIndex, LevelThemeType themeType, out DROutGameDropPool selectedRow)
|
private bool TryPickDropPoolRow(int displayPhaseIndex, LevelThemeType themeType, out DROutGameDropPool selectedRow)
|
||||||
{
|
{
|
||||||
selectedRow = null;
|
selectedRow = null;
|
||||||
|
|
@ -197,11 +220,13 @@ namespace GeometryTD.CustomComponent
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 主题过滤:主题不匹配的行,概率为 0。
|
||||||
if (row.LevelThemeType != themeType)
|
if (row.LevelThemeType != themeType)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 阶段过滤:不在 [MinPhase, MaxPhase] 的行,概率为 0。
|
||||||
if (displayPhaseIndex < row.MinPhase || displayPhaseIndex > row.MaxPhase)
|
if (displayPhaseIndex < row.MinPhase || displayPhaseIndex > row.MaxPhase)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -230,6 +255,7 @@ namespace GeometryTD.CustomComponent
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 在已选稀有度内,row.Weight 是线性权重倍率。
|
||||||
totalWeight += Mathf.Max(1, row.Weight);
|
totalWeight += Mathf.Max(1, row.Weight);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -260,6 +286,12 @@ namespace GeometryTD.CustomComponent
|
||||||
return selectedRow != null;
|
return selectedRow != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 在过滤后的候选行里抽稀有度。
|
||||||
|
/// 实际稀有度权重公式:
|
||||||
|
/// rarityWeight = sum(max(1, row.Weight) * GetRarityCurveWeight(row.Rarity, phaseT))
|
||||||
|
/// 其中 phaseT = clamp01((displayPhaseIndex - 1) / RarityCurveScalePhase)。
|
||||||
|
/// </summary>
|
||||||
private RarityType RollRarity(int displayPhaseIndex, List<DROutGameDropPool> candidates)
|
private RarityType RollRarity(int displayPhaseIndex, List<DROutGameDropPool> candidates)
|
||||||
{
|
{
|
||||||
_rarityRollWeightBuffer.Clear();
|
_rarityRollWeightBuffer.Clear();
|
||||||
|
|
@ -318,6 +350,14 @@ namespace GeometryTD.CustomComponent
|
||||||
return RarityType.None;
|
return RarityType.None;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 返回各稀有度在当前阶段的曲线权重。
|
||||||
|
/// 返回值越大,该稀有度在 RollRarity 中越容易被抽到。
|
||||||
|
/// phaseT 取值范围为 [0,1]:
|
||||||
|
/// - White/Green:钟形趋势(前中期权重更高)
|
||||||
|
/// - Blue/Purple:随阶段近似线性上升
|
||||||
|
/// - Red:随阶段二次上升(前期很低,后期明显抬升)
|
||||||
|
/// </summary>
|
||||||
private static float GetRarityCurveWeight(RarityType rarityType, float phaseT)
|
private static float GetRarityCurveWeight(RarityType rarityType, float phaseT)
|
||||||
{
|
{
|
||||||
float hump = Mathf.Exp(-Mathf.Pow((phaseT - 0.35f) / 0.28f, 2f));
|
float hump = Mathf.Exp(-Mathf.Pow((phaseT - 0.35f) / 0.28f, 2f));
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,99 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using GameFramework.Resource;
|
||||||
|
using GeometryTD.CustomUtility;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityGameFramework.Runtime;
|
||||||
|
|
||||||
|
namespace GeometryTD.CustomComponent
|
||||||
|
{
|
||||||
|
public class SpriteCacheComponent : GameFrameworkComponent
|
||||||
|
{
|
||||||
|
[SerializeField] private float _pixelsPerUnit = 100f;
|
||||||
|
[SerializeField] private Vector2 _defaultPivot = new(0.5f, 0.5f);
|
||||||
|
|
||||||
|
private Dictionary<string, Sprite> _spriteCache;
|
||||||
|
private Dictionary<string, List<Action<Sprite>>> _pendingCallbacks;
|
||||||
|
private ResourceComponent _resource;
|
||||||
|
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
_spriteCache = new Dictionary<string, Sprite>();
|
||||||
|
_pendingCallbacks = new Dictionary<string, List<Action<Sprite>>>();
|
||||||
|
_resource = GameEntry.Resource;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void GetSprite(string assetName, Action<Sprite> callback)
|
||||||
|
{
|
||||||
|
if (_spriteCache.TryGetValue(assetName, out var sprite))
|
||||||
|
{
|
||||||
|
callback?.Invoke(sprite);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_pendingCallbacks.TryGetValue(assetName, out var pendingList))
|
||||||
|
{
|
||||||
|
pendingList.Add(callback);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_pendingCallbacks[assetName] = new List<Action<Sprite>> { callback };
|
||||||
|
_resource.LoadAsset
|
||||||
|
(
|
||||||
|
AssetUtility.GetTextureAsset(assetName),
|
||||||
|
Constant.AssetPriority.UIFormAsset,
|
||||||
|
new LoadAssetCallbacks(
|
||||||
|
(resourcePath, asset, duration, userData) =>
|
||||||
|
{
|
||||||
|
Log.Debug(resourcePath);
|
||||||
|
Texture2D texture = asset as Texture2D;
|
||||||
|
Sprite loadedSprite = null;
|
||||||
|
|
||||||
|
if (texture != null)
|
||||||
|
{
|
||||||
|
loadedSprite = Sprite.Create(
|
||||||
|
texture,
|
||||||
|
new Rect(0, 0, texture.width, texture.height),
|
||||||
|
_defaultPivot,
|
||||||
|
_pixelsPerUnit);
|
||||||
|
|
||||||
|
_spriteCache[assetName] = loadedSprite;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_pendingCallbacks.TryGetValue(assetName, out var callbacks))
|
||||||
|
{
|
||||||
|
_pendingCallbacks.Remove(assetName);
|
||||||
|
for (int i = 0; i < callbacks.Count; i++)
|
||||||
|
{
|
||||||
|
callbacks[i]?.Invoke(loadedSprite);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
(resourcePath, status, errorMessage, userData) =>
|
||||||
|
{
|
||||||
|
Log.Error("Can not load icon '{0}' from '{1}' with error message '{2}'.",
|
||||||
|
assetName,
|
||||||
|
resourcePath,
|
||||||
|
errorMessage);
|
||||||
|
|
||||||
|
if (_pendingCallbacks.TryGetValue(assetName, out var callbacks))
|
||||||
|
{
|
||||||
|
_pendingCallbacks.Remove(assetName);
|
||||||
|
for (int i = 0; i < callbacks.Count; i++)
|
||||||
|
{
|
||||||
|
callbacks[i]?.Invoke(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDestroy()
|
||||||
|
{
|
||||||
|
_spriteCache.Clear();
|
||||||
|
_pendingCallbacks.Clear();
|
||||||
|
_resource = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: c5c0e535b0c3a4c4fa2a9e12f57c77ae
|
guid: 8b0237c7a9ed81745b92fe3f1bd45af4
|
||||||
MonoImporter:
|
MonoImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
|
|
@ -17,11 +17,6 @@ namespace GeometryTD.DataTable
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public override int Id => m_Id;
|
public override int Id => m_Id;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取底座组件实体编号
|
|
||||||
/// </summary>
|
|
||||||
public int EntityId { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取底座组件名
|
/// 获取底座组件名
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -64,7 +59,6 @@ namespace GeometryTD.DataTable
|
||||||
index++;
|
index++;
|
||||||
m_Id = int.Parse(columnStrings[index++]);
|
m_Id = int.Parse(columnStrings[index++]);
|
||||||
index++;
|
index++;
|
||||||
EntityId = int.Parse(columnStrings[index++]);
|
|
||||||
Name = columnStrings[index++];
|
Name = columnStrings[index++];
|
||||||
AttackSpeed = GenerateAttackSpeed(columnStrings[index++]);
|
AttackSpeed = GenerateAttackSpeed(columnStrings[index++]);
|
||||||
AttackSpeedPerLevel = float.Parse(columnStrings[index++]);
|
AttackSpeedPerLevel = float.Parse(columnStrings[index++]);
|
||||||
|
|
|
||||||
|
|
@ -17,11 +17,6 @@ namespace GeometryTD.DataTable
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public override int Id => m_Id;
|
public override int Id => m_Id;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取轴承组件实体编号
|
|
||||||
/// </summary>
|
|
||||||
public int EntityId { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取轴承组件名
|
/// 获取轴承组件名
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -69,7 +64,6 @@ namespace GeometryTD.DataTable
|
||||||
index++;
|
index++;
|
||||||
m_Id = int.Parse(columnStrings[index++]);
|
m_Id = int.Parse(columnStrings[index++]);
|
||||||
index++;
|
index++;
|
||||||
EntityId = int.Parse(columnStrings[index++]);
|
|
||||||
Name = columnStrings[index++];
|
Name = columnStrings[index++];
|
||||||
RotateSpeed = GenerateFloatArray(columnStrings[index++]);
|
RotateSpeed = GenerateFloatArray(columnStrings[index++]);
|
||||||
RotateSpeedPerLevel = float.Parse(columnStrings[index++]);
|
RotateSpeedPerLevel = float.Parse(columnStrings[index++]);
|
||||||
|
|
|
||||||
|
|
@ -17,11 +17,6 @@ namespace GeometryTD.DataTable
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public override int Id => m_Id;
|
public override int Id => m_Id;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取枪口组件实体编号
|
|
||||||
/// </summary>
|
|
||||||
public int EntityId { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取枪口组件名
|
/// 获取枪口组件名
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -69,7 +64,6 @@ namespace GeometryTD.DataTable
|
||||||
index++;
|
index++;
|
||||||
m_Id = int.Parse(columnStrings[index++]);
|
m_Id = int.Parse(columnStrings[index++]);
|
||||||
index++;
|
index++;
|
||||||
EntityId = int.Parse(columnStrings[index++]);
|
|
||||||
Name = columnStrings[index++];
|
Name = columnStrings[index++];
|
||||||
AttackDamage = GenerateAttackDamage(columnStrings[index++]);
|
AttackDamage = GenerateAttackDamage(columnStrings[index++]);
|
||||||
AttackDamagePerLevel = int.Parse(columnStrings[index++]);
|
AttackDamagePerLevel = int.Parse(columnStrings[index++]);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
using GameFramework;
|
||||||
|
using GameFramework.Event;
|
||||||
|
|
||||||
|
namespace GeometryTD.CustomEvent
|
||||||
|
{
|
||||||
|
public class RepoFormReturnEventArgs : GameEventArgs
|
||||||
|
{
|
||||||
|
public static int EventId => typeof(RepoFormReturnEventArgs).GetHashCode();
|
||||||
|
|
||||||
|
public override int Id => EventId;
|
||||||
|
|
||||||
|
public override void Clear()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public static RepoFormReturnEventArgs Create()
|
||||||
|
{
|
||||||
|
return ReferencePool.Acquire<RepoFormReturnEventArgs>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 715637c38a07476890901dd8737fc052
|
||||||
|
timeCreated: 1772595255
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
using GameFramework;
|
||||||
|
using GameFramework.Event;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace GeometryTD.CustomEvent
|
||||||
|
{
|
||||||
|
public class RepoItemDetailRequestedEventArgs : GameEventArgs
|
||||||
|
{
|
||||||
|
public static int EventId => typeof(RepoItemDetailRequestedEventArgs).GetHashCode();
|
||||||
|
|
||||||
|
public override int Id => EventId;
|
||||||
|
|
||||||
|
public long ItemId { get; private set; }
|
||||||
|
|
||||||
|
public Vector3 TargetPos { get; private set; }
|
||||||
|
|
||||||
|
public static RepoItemDetailRequestedEventArgs Create(long itemId, Vector3 targetPos)
|
||||||
|
{
|
||||||
|
var args = ReferencePool.Acquire<RepoItemDetailRequestedEventArgs>();
|
||||||
|
args.ItemId = itemId;
|
||||||
|
args.TargetPos = targetPos;
|
||||||
|
return args;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Clear()
|
||||||
|
{
|
||||||
|
ItemId = 0;
|
||||||
|
TargetPos = Vector3.zero;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6e6a01b06c4b4a468d40356dc05e003f
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
using GameFramework;
|
||||||
|
using GameFramework.Event;
|
||||||
|
|
||||||
|
namespace GeometryTD.CustomEvent
|
||||||
|
{
|
||||||
|
public class RepoItemDragEndedEventArgs : GameEventArgs
|
||||||
|
{
|
||||||
|
public static int EventId => typeof(RepoItemDragEndedEventArgs).GetHashCode();
|
||||||
|
|
||||||
|
public override int Id => EventId;
|
||||||
|
|
||||||
|
public long ItemId { get; private set; }
|
||||||
|
|
||||||
|
public bool Assigned { get; private set; }
|
||||||
|
|
||||||
|
public static RepoItemDragEndedEventArgs Create(long itemId, bool assigned)
|
||||||
|
{
|
||||||
|
RepoItemDragEndedEventArgs args = ReferencePool.Acquire<RepoItemDragEndedEventArgs>();
|
||||||
|
args.ItemId = itemId;
|
||||||
|
args.Assigned = assigned;
|
||||||
|
return args;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Clear()
|
||||||
|
{
|
||||||
|
ItemId = 0;
|
||||||
|
Assigned = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: de9c832a47e04d39b84c3fb561602bb3
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
using GameFramework;
|
|
||||||
using GameFramework.Event;
|
|
||||||
|
|
||||||
namespace GeometryTD.CustomEvent
|
|
||||||
{
|
|
||||||
public class RepoItemSelectedEventArgs : GameEventArgs
|
|
||||||
{
|
|
||||||
public static int EventId => typeof(RepoItemSelectedEventArgs).GetHashCode();
|
|
||||||
|
|
||||||
public override int Id => EventId;
|
|
||||||
|
|
||||||
public long ItemId { get; private set; }
|
|
||||||
|
|
||||||
public static RepoItemSelectedEventArgs Create(long itemId)
|
|
||||||
{
|
|
||||||
RepoItemSelectedEventArgs args = ReferencePool.Acquire<RepoItemSelectedEventArgs>();
|
|
||||||
args.ItemId = itemId;
|
|
||||||
return args;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Clear()
|
|
||||||
{
|
|
||||||
ItemId = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using GameFramework.Event;
|
using GameFramework.Event;
|
||||||
using GeometryTD.CustomEvent;
|
using GeometryTD.CustomEvent;
|
||||||
|
using GeometryTD.CustomUtility;
|
||||||
using GeometryTD.Definition;
|
using GeometryTD.Definition;
|
||||||
|
using UnityEngine;
|
||||||
using UnityGameFramework.Runtime;
|
using UnityGameFramework.Runtime;
|
||||||
|
|
||||||
namespace GeometryTD.UI
|
namespace GeometryTD.UI
|
||||||
|
|
@ -9,6 +11,14 @@ namespace GeometryTD.UI
|
||||||
public class CombatFinishFormController : UIFormControllerCommonBase<CombatFinishFormContext, CombatFinishForm>
|
public class CombatFinishFormController : UIFormControllerCommonBase<CombatFinishFormContext, CombatFinishForm>
|
||||||
{
|
{
|
||||||
private CombatFinishFormUseCase _useCase;
|
private CombatFinishFormUseCase _useCase;
|
||||||
|
private readonly Dictionary<long, ItemDescSeed> _itemDescSeedMap = new Dictionary<long, ItemDescSeed>();
|
||||||
|
|
||||||
|
private sealed class ItemDescSeed
|
||||||
|
{
|
||||||
|
public string Title;
|
||||||
|
public string TypeText;
|
||||||
|
public TagType[] Tags;
|
||||||
|
}
|
||||||
|
|
||||||
protected override UIFormType UIFormTypeId => UIFormType.CombatFinishForm;
|
protected override UIFormType UIFormTypeId => UIFormType.CombatFinishForm;
|
||||||
|
|
||||||
|
|
@ -20,11 +30,13 @@ namespace GeometryTD.UI
|
||||||
protected override void SubscribeCustomEvents()
|
protected override void SubscribeCustomEvents()
|
||||||
{
|
{
|
||||||
GameEntry.Event.Subscribe(CombatFinishReturnEventArgs.EventId, OnCombatFinishReturnButtonClicked);
|
GameEntry.Event.Subscribe(CombatFinishReturnEventArgs.EventId, OnCombatFinishReturnButtonClicked);
|
||||||
|
GameEntry.Event.Subscribe(RepoItemDetailRequestedEventArgs.EventId, OnRepoItemDetailRequested);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void UnsubscribeCustomEvents()
|
protected override void UnsubscribeCustomEvents()
|
||||||
{
|
{
|
||||||
GameEntry.Event.Unsubscribe(CombatFinishReturnEventArgs.EventId, OnCombatFinishReturnButtonClicked);
|
GameEntry.Event.Unsubscribe(CombatFinishReturnEventArgs.EventId, OnCombatFinishReturnButtonClicked);
|
||||||
|
GameEntry.Event.Unsubscribe(RepoItemDetailRequestedEventArgs.EventId, OnRepoItemDetailRequested);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override int? OpenUI(object userData = null)
|
public override int? OpenUI(object userData = null)
|
||||||
|
|
@ -72,8 +84,9 @@ namespace GeometryTD.UI
|
||||||
_useCase = combatFinishFormUseCase;
|
_useCase = combatFinishFormUseCase;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static CombatFinishFormContext BuildContext(CombatFinishFormRawData rawData)
|
private CombatFinishFormContext BuildContext(CombatFinishFormRawData rawData)
|
||||||
{
|
{
|
||||||
|
_itemDescSeedMap.Clear();
|
||||||
if (rawData == null)
|
if (rawData == null)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -88,7 +101,7 @@ namespace GeometryTD.UI
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private static RepoItemContext[] BuildRewardItems(BackpackInventoryData inventory)
|
private RepoItemContext[] BuildRewardItems(BackpackInventoryData inventory)
|
||||||
{
|
{
|
||||||
if (inventory == null)
|
if (inventory == null)
|
||||||
{
|
{
|
||||||
|
|
@ -109,11 +122,14 @@ namespace GeometryTD.UI
|
||||||
|
|
||||||
itemContexts.Add(new RepoItemContext
|
itemContexts.Add(new RepoItemContext
|
||||||
{
|
{
|
||||||
Title = $"[Tower] {tower.Name} ({tower.Rarity})",
|
|
||||||
InstanceId = tower.InstanceId,
|
InstanceId = tower.InstanceId,
|
||||||
|
CanDrag = false,
|
||||||
ComponentSlotType = TowerCompSlotType.None,
|
ComponentSlotType = TowerCompSlotType.None,
|
||||||
IconAreaContext = BuildIconAreaContext(tower.Rarity)
|
IconAreaContext = BuildIconAreaContext(tower)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
AddItemDescSeed(tower.InstanceId, tower.Name, "Tower",
|
||||||
|
tower.Stats != null ? tower.Stats.Tags : null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -129,19 +145,20 @@ namespace GeometryTD.UI
|
||||||
|
|
||||||
itemContexts.Add(new RepoItemContext
|
itemContexts.Add(new RepoItemContext
|
||||||
{
|
{
|
||||||
Title = $"[Muzzle] {item.Name} ({item.Rarity})",
|
|
||||||
InstanceId = item.InstanceId,
|
InstanceId = item.InstanceId,
|
||||||
|
CanDrag = false,
|
||||||
ComponentSlotType = TowerCompSlotType.Muzzle,
|
ComponentSlotType = TowerCompSlotType.Muzzle,
|
||||||
IconAreaContext = BuildIconAreaContext(item.Rarity)
|
IconAreaContext = BuildIconAreaContext(item)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
AddItemDescSeed(item.InstanceId, item.Name, BuildComponentTypeText(item.SlotType), item.Tags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (inventory.BearingComponents != null)
|
if (inventory.BearingComponents != null)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < inventory.BearingComponents.Count; i++)
|
foreach (var item in inventory.BearingComponents)
|
||||||
{
|
{
|
||||||
var item = inventory.BearingComponents[i];
|
|
||||||
if (item == null)
|
if (item == null)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -149,11 +166,13 @@ namespace GeometryTD.UI
|
||||||
|
|
||||||
itemContexts.Add(new RepoItemContext
|
itemContexts.Add(new RepoItemContext
|
||||||
{
|
{
|
||||||
Title = $"[Bearing] {item.Name} ({item.Rarity})",
|
|
||||||
InstanceId = item.InstanceId,
|
InstanceId = item.InstanceId,
|
||||||
|
CanDrag = false,
|
||||||
ComponentSlotType = TowerCompSlotType.Bearing,
|
ComponentSlotType = TowerCompSlotType.Bearing,
|
||||||
IconAreaContext = BuildIconAreaContext(item.Rarity)
|
IconAreaContext = BuildIconAreaContext(item)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
AddItemDescSeed(item.InstanceId, item.Name, BuildComponentTypeText(item.SlotType), item.Tags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -169,34 +188,152 @@ namespace GeometryTD.UI
|
||||||
|
|
||||||
itemContexts.Add(new RepoItemContext
|
itemContexts.Add(new RepoItemContext
|
||||||
{
|
{
|
||||||
Title = $"[Base] {item.Name} ({item.Rarity})",
|
|
||||||
InstanceId = item.InstanceId,
|
InstanceId = item.InstanceId,
|
||||||
|
CanDrag = false,
|
||||||
ComponentSlotType = TowerCompSlotType.Base,
|
ComponentSlotType = TowerCompSlotType.Base,
|
||||||
IconAreaContext = BuildIconAreaContext(item.Rarity)
|
IconAreaContext = BuildIconAreaContext(item)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
AddItemDescSeed(item.InstanceId, item.Name, BuildComponentTypeText(item.SlotType), item.Tags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return itemContexts.ToArray();
|
return itemContexts.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static IconAreaContext BuildIconAreaContext(RarityType rarity)
|
private void AddItemDescSeed(long itemId, string title, string typeText, TagType[] tags)
|
||||||
|
{
|
||||||
|
if (itemId <= 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_itemDescSeedMap[itemId] = new ItemDescSeed
|
||||||
|
{
|
||||||
|
Title = string.IsNullOrWhiteSpace(title) ? $"Item {itemId}" : title,
|
||||||
|
TypeText = typeText ?? string.Empty,
|
||||||
|
Tags = CloneTags(tags)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private static TagType[] CloneTags(TagType[] tags)
|
||||||
|
{
|
||||||
|
return tags != null ? (TagType[])tags.Clone() : System.Array.Empty<TagType>();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static string BuildComponentTypeText(TowerCompSlotType slotType)
|
||||||
|
{
|
||||||
|
return slotType switch
|
||||||
|
{
|
||||||
|
TowerCompSlotType.Muzzle => "Muzzle Component",
|
||||||
|
TowerCompSlotType.Bearing => "Bearing Component",
|
||||||
|
TowerCompSlotType.Base => "Base Component",
|
||||||
|
TowerCompSlotType.Accessory => "Accessory",
|
||||||
|
_ => "Component"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private static IconAreaContext BuildIconAreaContext(DefenseTowerItemData tower)
|
||||||
|
{
|
||||||
|
if (tower == null)
|
||||||
{
|
{
|
||||||
return new IconAreaContext
|
return new IconAreaContext
|
||||||
{
|
{
|
||||||
Rarity = rarity,
|
ComponentSlotType = TowerCompSlotType.None,
|
||||||
|
Rarity = RarityType.None,
|
||||||
|
Color = Color.white,
|
||||||
|
Icon = null
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return new IconAreaContext
|
||||||
|
{
|
||||||
|
ComponentSlotType = TowerCompSlotType.None,
|
||||||
|
Rarity = tower.Rarity,
|
||||||
|
Color = IconColorGenerator.GenerateForTower(tower),
|
||||||
|
Icon = null
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private static IconAreaContext BuildIconAreaContext(TowerCompItemData item)
|
||||||
|
{
|
||||||
|
if (item == null)
|
||||||
|
{
|
||||||
|
return new IconAreaContext
|
||||||
|
{
|
||||||
|
ComponentSlotType = TowerCompSlotType.None,
|
||||||
|
Rarity = RarityType.None,
|
||||||
|
Color = Color.white,
|
||||||
|
Icon = null
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return new IconAreaContext
|
||||||
|
{
|
||||||
|
ComponentSlotType = item.SlotType,
|
||||||
|
Rarity = item.Rarity,
|
||||||
|
Color = IconColorGenerator.GenerateForComponent(item),
|
||||||
Icon = null
|
Icon = null
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnCombatFinishReturnButtonClicked(object sender, GameEventArgs e)
|
private void OnCombatFinishReturnButtonClicked(object sender, GameEventArgs e)
|
||||||
{
|
{
|
||||||
if (!(sender is CombatFinishForm) || !(e is CombatFinishReturnEventArgs))
|
if (!IsEventFromCurrentForm(sender) || !(e is CombatFinishReturnEventArgs))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_useCase?.TryReturnToMenu();
|
_useCase?.TryReturnToMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnRepoItemDetailRequested(object sender, GameEventArgs e)
|
||||||
|
{
|
||||||
|
if (!IsEventFromCurrentForm(sender))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(e is RepoItemDetailRequestedEventArgs args))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!_itemDescSeedMap.TryGetValue(args.ItemId, out ItemDescSeed seed))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
GameEntry.UIRouter.OpenUI(UIFormType.ItemDescForm, new ItemDescFormRawData
|
||||||
|
{
|
||||||
|
Title = seed.Title,
|
||||||
|
TypeText = seed.TypeText,
|
||||||
|
Description = string.Empty,
|
||||||
|
Price = 0,
|
||||||
|
TargetPos = args.TargetPos,
|
||||||
|
Tags = CloneTags(seed.Tags)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool IsEventFromCurrentForm(object sender)
|
||||||
|
{
|
||||||
|
if (Form == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ReferenceEquals(sender, Form))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sender is Component component)
|
||||||
|
{
|
||||||
|
CombatFinishForm ownerForm = component.GetComponentInParent<CombatFinishForm>();
|
||||||
|
return ownerForm == Form;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
|
using System;
|
||||||
using GeometryTD.Definition;
|
using GeometryTD.Definition;
|
||||||
|
|
||||||
namespace GeometryTD.UI
|
namespace GeometryTD.UI
|
||||||
{
|
{
|
||||||
|
[Serializable]
|
||||||
public class RepoItemContext
|
public class RepoItemContext
|
||||||
{
|
{
|
||||||
public string Title;
|
|
||||||
public long InstanceId;
|
public long InstanceId;
|
||||||
|
public bool CanDrag;
|
||||||
public TowerCompSlotType ComponentSlotType;
|
public TowerCompSlotType ComponentSlotType;
|
||||||
public IconAreaContext IconAreaContext;
|
public IconAreaContext IconAreaContext;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,10 @@
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using GeometryTD.CustomEvent;
|
using GeometryTD.CustomEvent;
|
||||||
using GeometryTD.Definition;
|
using GeometryTD.Definition;
|
||||||
using GameFramework.Event;
|
using GameFramework.Event;
|
||||||
|
using GeometryTD.CustomUtility;
|
||||||
|
using UnityEngine;
|
||||||
using UnityGameFramework.Runtime;
|
using UnityGameFramework.Runtime;
|
||||||
|
|
||||||
namespace GeometryTD.UI
|
namespace GeometryTD.UI
|
||||||
|
|
@ -10,6 +13,14 @@ namespace GeometryTD.UI
|
||||||
{
|
{
|
||||||
private RepoFormUseCase _useCase;
|
private RepoFormUseCase _useCase;
|
||||||
private readonly Dictionary<long, RepoItemContext> _itemContextMap = new Dictionary<long, RepoItemContext>();
|
private readonly Dictionary<long, RepoItemContext> _itemContextMap = new Dictionary<long, RepoItemContext>();
|
||||||
|
private readonly Dictionary<long, ItemDescSeed> _itemDescSeedMap = new Dictionary<long, ItemDescSeed>();
|
||||||
|
|
||||||
|
private sealed class ItemDescSeed
|
||||||
|
{
|
||||||
|
public string Title;
|
||||||
|
public string TypeText;
|
||||||
|
public TagType[] Tags;
|
||||||
|
}
|
||||||
|
|
||||||
protected override UIFormType UIFormTypeId => UIFormType.RepoForm;
|
protected override UIFormType UIFormTypeId => UIFormType.RepoForm;
|
||||||
|
|
||||||
|
|
@ -20,14 +31,18 @@ namespace GeometryTD.UI
|
||||||
|
|
||||||
protected override void SubscribeCustomEvents()
|
protected override void SubscribeCustomEvents()
|
||||||
{
|
{
|
||||||
GameEntry.Event.Subscribe(RepoItemSelectedEventArgs.EventId, OnRepoItemSelected);
|
GameEntry.Event.Subscribe(RepoItemDetailRequestedEventArgs.EventId, OnRepoItemDetailRequested);
|
||||||
|
GameEntry.Event.Subscribe(RepoItemDragEndedEventArgs.EventId, OnRepoItemDragEnded);
|
||||||
GameEntry.Event.Subscribe(CombineSlotClickedEventArgs.EventId, OnCombineSlotClicked);
|
GameEntry.Event.Subscribe(CombineSlotClickedEventArgs.EventId, OnCombineSlotClicked);
|
||||||
|
GameEntry.Event.Subscribe(RepoFormReturnEventArgs.EventId, OnRepoFormReturn);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void UnsubscribeCustomEvents()
|
protected override void UnsubscribeCustomEvents()
|
||||||
{
|
{
|
||||||
GameEntry.Event.Unsubscribe(RepoItemSelectedEventArgs.EventId, OnRepoItemSelected);
|
GameEntry.Event.Unsubscribe(RepoItemDetailRequestedEventArgs.EventId, OnRepoItemDetailRequested);
|
||||||
|
GameEntry.Event.Unsubscribe(RepoItemDragEndedEventArgs.EventId, OnRepoItemDragEnded);
|
||||||
GameEntry.Event.Unsubscribe(CombineSlotClickedEventArgs.EventId, OnCombineSlotClicked);
|
GameEntry.Event.Unsubscribe(CombineSlotClickedEventArgs.EventId, OnCombineSlotClicked);
|
||||||
|
GameEntry.Event.Unsubscribe(RepoFormReturnEventArgs.EventId, OnRepoFormReturn);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override int? OpenUI(object userData = null)
|
public override int? OpenUI(object userData = null)
|
||||||
|
|
@ -78,6 +93,7 @@ namespace GeometryTD.UI
|
||||||
private RepoFormContext BuildContext(RepoFormRawData rawData)
|
private RepoFormContext BuildContext(RepoFormRawData rawData)
|
||||||
{
|
{
|
||||||
_itemContextMap.Clear();
|
_itemContextMap.Clear();
|
||||||
|
_itemDescSeedMap.Clear();
|
||||||
if (rawData?.Inventory == null)
|
if (rawData?.Inventory == null)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -87,57 +103,82 @@ namespace GeometryTD.UI
|
||||||
|
|
||||||
if (rawData.Inventory.Towers != null)
|
if (rawData.Inventory.Towers != null)
|
||||||
{
|
{
|
||||||
foreach (var tower in rawData.Inventory.Towers)
|
foreach (DefenseTowerItemData tower in rawData.Inventory.Towers)
|
||||||
{
|
{
|
||||||
|
if (tower == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
AddItemContext(items, new RepoItemContext
|
AddItemContext(items, new RepoItemContext
|
||||||
{
|
{
|
||||||
Title = $"[Tower] {tower.Name} ({tower.Rarity})",
|
|
||||||
InstanceId = tower.InstanceId,
|
InstanceId = tower.InstanceId,
|
||||||
|
CanDrag = true,
|
||||||
ComponentSlotType = TowerCompSlotType.None,
|
ComponentSlotType = TowerCompSlotType.None,
|
||||||
IconAreaContext = BuildIconAreaContext(tower.Rarity)
|
IconAreaContext = BuildIconAreaContext(tower)
|
||||||
});
|
});
|
||||||
|
AddItemDescSeed(tower.InstanceId, tower.Name, "Tower",
|
||||||
|
tower.Stats != null ? tower.Stats.Tags : null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rawData.Inventory.MuzzleComponents != null)
|
if (rawData.Inventory.MuzzleComponents != null)
|
||||||
{
|
{
|
||||||
foreach (var item in rawData.Inventory.MuzzleComponents)
|
foreach (MuzzleCompItemData item in rawData.Inventory.MuzzleComponents)
|
||||||
{
|
{
|
||||||
|
if (item == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
AddItemContext(items, new RepoItemContext
|
AddItemContext(items, new RepoItemContext
|
||||||
{
|
{
|
||||||
Title = $"[Muzzle] {item.Name} ({item.Rarity})",
|
|
||||||
InstanceId = item.InstanceId,
|
InstanceId = item.InstanceId,
|
||||||
|
CanDrag = true,
|
||||||
ComponentSlotType = TowerCompSlotType.Muzzle,
|
ComponentSlotType = TowerCompSlotType.Muzzle,
|
||||||
IconAreaContext = BuildIconAreaContext(item.Rarity)
|
IconAreaContext = BuildIconAreaContext(item)
|
||||||
});
|
});
|
||||||
|
AddItemDescSeed(item.InstanceId, item.Name, BuildComponentTypeText(item.SlotType), item.Tags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rawData.Inventory.BearingComponents != null)
|
if (rawData.Inventory.BearingComponents != null)
|
||||||
{
|
{
|
||||||
foreach (var item in rawData.Inventory.BearingComponents)
|
foreach (BearingCompItemData item in rawData.Inventory.BearingComponents)
|
||||||
{
|
{
|
||||||
|
if (item == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
AddItemContext(items, new RepoItemContext
|
AddItemContext(items, new RepoItemContext
|
||||||
{
|
{
|
||||||
Title = $"[Bearing] {item.Name} ({item.Rarity})",
|
|
||||||
InstanceId = item.InstanceId,
|
InstanceId = item.InstanceId,
|
||||||
|
CanDrag = true,
|
||||||
ComponentSlotType = TowerCompSlotType.Bearing,
|
ComponentSlotType = TowerCompSlotType.Bearing,
|
||||||
IconAreaContext = BuildIconAreaContext(item.Rarity)
|
IconAreaContext = BuildIconAreaContext(item)
|
||||||
});
|
});
|
||||||
|
AddItemDescSeed(item.InstanceId, item.Name, BuildComponentTypeText(item.SlotType), item.Tags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rawData.Inventory.BaseComponents != null)
|
if (rawData.Inventory.BaseComponents != null)
|
||||||
{
|
{
|
||||||
foreach (var item in rawData.Inventory.BaseComponents)
|
foreach (BaseCompItemData item in rawData.Inventory.BaseComponents)
|
||||||
{
|
{
|
||||||
|
if (item == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
AddItemContext(items, new RepoItemContext
|
AddItemContext(items, new RepoItemContext
|
||||||
{
|
{
|
||||||
Title = $"[Base] {item.Name} ({item.Rarity})",
|
|
||||||
InstanceId = item.InstanceId,
|
InstanceId = item.InstanceId,
|
||||||
|
CanDrag = true,
|
||||||
ComponentSlotType = TowerCompSlotType.Base,
|
ComponentSlotType = TowerCompSlotType.Base,
|
||||||
IconAreaContext = BuildIconAreaContext(item.Rarity)
|
IconAreaContext = BuildIconAreaContext(item)
|
||||||
});
|
});
|
||||||
|
AddItemDescSeed(item.InstanceId, item.Name, BuildComponentTypeText(item.SlotType), item.Tags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -162,36 +203,139 @@ namespace GeometryTD.UI
|
||||||
_itemContextMap[itemContext.InstanceId] = itemContext;
|
_itemContextMap[itemContext.InstanceId] = itemContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static IconAreaContext BuildIconAreaContext(RarityType rarity)
|
private void AddItemDescSeed(long itemId, string title, string typeText, TagType[] tags)
|
||||||
|
{
|
||||||
|
if (itemId <= 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_itemDescSeedMap[itemId] = new ItemDescSeed
|
||||||
|
{
|
||||||
|
Title = string.IsNullOrWhiteSpace(title) ? $"Item {itemId}" : title,
|
||||||
|
TypeText = typeText ?? string.Empty,
|
||||||
|
Tags = CloneTags(tags)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private static TagType[] CloneTags(TagType[] tags)
|
||||||
|
{
|
||||||
|
return tags != null ? (TagType[])tags.Clone() : Array.Empty<TagType>();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static string BuildComponentTypeText(TowerCompSlotType slotType)
|
||||||
|
{
|
||||||
|
return slotType switch
|
||||||
|
{
|
||||||
|
TowerCompSlotType.Muzzle => "Muzzle Component",
|
||||||
|
TowerCompSlotType.Bearing => "Bearing Component",
|
||||||
|
TowerCompSlotType.Base => "Base Component",
|
||||||
|
TowerCompSlotType.Accessory => "Accessory",
|
||||||
|
_ => "Component"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private static IconAreaContext BuildIconAreaContext(DefenseTowerItemData tower)
|
||||||
|
{
|
||||||
|
if (tower == null)
|
||||||
{
|
{
|
||||||
return new IconAreaContext
|
return new IconAreaContext
|
||||||
{
|
{
|
||||||
Rarity = rarity,
|
ComponentSlotType = TowerCompSlotType.None,
|
||||||
|
Rarity = RarityType.None,
|
||||||
|
Color = Color.white,
|
||||||
Icon = null
|
Icon = null
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnRepoItemSelected(object sender, GameEventArgs e)
|
return new IconAreaContext
|
||||||
{
|
{
|
||||||
if (!(e is RepoItemSelectedEventArgs args))
|
ComponentSlotType = TowerCompSlotType.None,
|
||||||
|
Rarity = tower.Rarity,
|
||||||
|
Color = IconColorGenerator.GenerateForTower(tower),
|
||||||
|
Icon = null
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private static IconAreaContext BuildIconAreaContext(TowerCompItemData item)
|
||||||
|
{
|
||||||
|
if (item == null)
|
||||||
|
{
|
||||||
|
return new IconAreaContext
|
||||||
|
{
|
||||||
|
ComponentSlotType = TowerCompSlotType.None,
|
||||||
|
Rarity = RarityType.None,
|
||||||
|
Color = Color.white,
|
||||||
|
Icon = null
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return new IconAreaContext
|
||||||
|
{
|
||||||
|
ComponentSlotType = item.SlotType,
|
||||||
|
Rarity = item.Rarity,
|
||||||
|
Color = IconColorGenerator.GenerateForComponent(item),
|
||||||
|
Icon = null
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Event Handlers
|
||||||
|
|
||||||
|
private void OnRepoItemDetailRequested(object sender, GameEventArgs e)
|
||||||
|
{
|
||||||
|
if (!IsEventFromCurrentForm(sender))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Form == null || !_itemContextMap.TryGetValue(args.ItemId, out RepoItemContext itemContext))
|
if (!(e is RepoItemDetailRequestedEventArgs args))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool assigned = Form.TryAssignItemToCombineArea(itemContext);
|
if (!_itemDescSeedMap.TryGetValue(args.ItemId, out ItemDescSeed seed))
|
||||||
if (assigned)
|
|
||||||
{
|
{
|
||||||
Form.SetRepoItemSelected(args.ItemId, true);
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GameEntry.UIRouter.OpenUI(UIFormType.ItemDescForm, new ItemDescFormRawData
|
||||||
|
{
|
||||||
|
Title = seed.Title,
|
||||||
|
TypeText = seed.TypeText,
|
||||||
|
Description = string.Empty,
|
||||||
|
Price = 0,
|
||||||
|
TargetPos = args.TargetPos,
|
||||||
|
Tags = CloneTags(seed.Tags)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnRepoItemDragEnded(object sender, GameEventArgs e)
|
||||||
|
{
|
||||||
|
if (!IsEventFromCurrentForm(sender))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(e is RepoItemDragEndedEventArgs args))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Form == null || !_itemContextMap.ContainsKey(args.ItemId))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Form.SetRepoItemSelected(args.ItemId, args.Assigned);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnCombineSlotClicked(object sender, GameEventArgs e)
|
private void OnCombineSlotClicked(object sender, GameEventArgs e)
|
||||||
{
|
{
|
||||||
|
if (!IsEventFromCurrentForm(sender))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!(e is CombineSlotClickedEventArgs args))
|
if (!(e is CombineSlotClickedEventArgs args))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|
@ -207,5 +351,43 @@ namespace GeometryTD.UI
|
||||||
Form.SetRepoItemSelected(removedItemId, false);
|
Form.SetRepoItemSelected(removedItemId, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnRepoFormReturn(object sender, GameEventArgs e)
|
||||||
|
{
|
||||||
|
if (!IsEventFromCurrentForm(sender) || !(e is RepoFormReturnEventArgs))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Form == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.CloseUI();
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool IsEventFromCurrentForm(object sender)
|
||||||
|
{
|
||||||
|
if (Form == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ReferenceEquals(sender, Form))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sender is Component component)
|
||||||
|
{
|
||||||
|
RepoForm ownerForm = component.GetComponentInParent<RepoForm>();
|
||||||
|
return ownerForm == Form;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
using GeometryTD.Definition;
|
using GeometryTD.Definition;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.EventSystems;
|
||||||
|
|
||||||
namespace GeometryTD.UI
|
namespace GeometryTD.UI
|
||||||
{
|
{
|
||||||
public class CombineArea : MonoBehaviour
|
public class CombineArea : MonoBehaviour, IDropHandler
|
||||||
{
|
{
|
||||||
[SerializeField] private CombineSlotItem[] _slots;
|
[SerializeField] private CombineSlotItem[] _slots;
|
||||||
|
|
||||||
|
|
@ -80,6 +81,34 @@ namespace GeometryTD.UI
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnDrop(PointerEventData eventData)
|
||||||
|
{
|
||||||
|
if (eventData == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
GameObject pointerDrag = eventData.pointerDrag;
|
||||||
|
if (pointerDrag == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
RepoItem repoItem = pointerDrag.GetComponent<RepoItem>();
|
||||||
|
if (repoItem == null)
|
||||||
|
{
|
||||||
|
repoItem = pointerDrag.GetComponentInParent<RepoItem>();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (repoItem == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool assigned = TryAssignItem(repoItem.Context);
|
||||||
|
repoItem.SetDropResult(assigned);
|
||||||
|
}
|
||||||
|
|
||||||
private CombineSlotItem FindSlot(TowerCompSlotType slotType)
|
private CombineSlotItem FindSlot(TowerCompSlotType slotType)
|
||||||
{
|
{
|
||||||
if (_slots == null)
|
if (_slots == null)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
using GeometryTD.CustomEvent;
|
using GeometryTD.CustomEvent;
|
||||||
using GeometryTD.Definition;
|
using GeometryTD.Definition;
|
||||||
using TMPro;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace GeometryTD.UI
|
namespace GeometryTD.UI
|
||||||
|
|
@ -9,12 +8,10 @@ namespace GeometryTD.UI
|
||||||
{
|
{
|
||||||
[SerializeField] private TowerCompSlotType _acceptSlotType = TowerCompSlotType.None;
|
[SerializeField] private TowerCompSlotType _acceptSlotType = TowerCompSlotType.None;
|
||||||
|
|
||||||
[SerializeField] private TMP_Text _titleText;
|
[SerializeField] private IconArea _iconArea;
|
||||||
|
|
||||||
[SerializeField] private CommonButton _button;
|
[SerializeField] private CommonButton _button;
|
||||||
|
|
||||||
private string _defaultTitle = string.Empty;
|
|
||||||
|
|
||||||
private long _boundItemId;
|
private long _boundItemId;
|
||||||
|
|
||||||
private int _slotIndex = -1;
|
private int _slotIndex = -1;
|
||||||
|
|
@ -27,18 +24,11 @@ namespace GeometryTD.UI
|
||||||
|
|
||||||
public long BoundItemId => _boundItemId;
|
public long BoundItemId => _boundItemId;
|
||||||
|
|
||||||
private void Awake()
|
|
||||||
{
|
|
||||||
if (_titleText != null)
|
|
||||||
{
|
|
||||||
_defaultTitle = _titleText.text;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnInit(int slotIndex)
|
public void OnInit(int slotIndex)
|
||||||
{
|
{
|
||||||
_slotIndex = slotIndex;
|
_slotIndex = slotIndex;
|
||||||
ClearSlot();
|
ClearSlot();
|
||||||
|
_iconArea.OnReset();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void BindItem(RepoItemContext itemContext)
|
public void BindItem(RepoItemContext itemContext)
|
||||||
|
|
@ -46,9 +36,9 @@ namespace GeometryTD.UI
|
||||||
_boundItemId = itemContext?.InstanceId ?? 0;
|
_boundItemId = itemContext?.InstanceId ?? 0;
|
||||||
_button.Interactive = true;
|
_button.Interactive = true;
|
||||||
|
|
||||||
if (_titleText != null)
|
if (itemContext != null)
|
||||||
{
|
{
|
||||||
_titleText.text = itemContext?.Title ?? string.Empty;
|
_iconArea.OnInit(itemContext.IconAreaContext);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -56,17 +46,14 @@ namespace GeometryTD.UI
|
||||||
{
|
{
|
||||||
_boundItemId = 0;
|
_boundItemId = 0;
|
||||||
_button.Interactive = false;
|
_button.Interactive = false;
|
||||||
|
_iconArea.OnReset();
|
||||||
if (_titleText != null)
|
|
||||||
{
|
|
||||||
_titleText.text = _defaultTitle;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnReset()
|
public void OnReset()
|
||||||
{
|
{
|
||||||
_slotIndex = -1;
|
_slotIndex = -1;
|
||||||
ClearSlot();
|
ClearSlot();
|
||||||
|
_iconArea.OnReset();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnClick()
|
public void OnClick()
|
||||||
|
|
|
||||||
|
|
@ -2,20 +2,21 @@ using System.Collections.Generic;
|
||||||
using GameFramework.ObjectPool;
|
using GameFramework.ObjectPool;
|
||||||
using GeometryTD.PoolObjectBase;
|
using GeometryTD.PoolObjectBase;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.Serialization;
|
||||||
using UnityGameFramework.Runtime;
|
using UnityGameFramework.Runtime;
|
||||||
|
|
||||||
namespace GeometryTD.UI
|
namespace GeometryTD.UI
|
||||||
{
|
{
|
||||||
public class CompArea : MonoBehaviour
|
public class CompArea : MonoBehaviour
|
||||||
{
|
{
|
||||||
[SerializeField] private Transform m_Content;
|
[FormerlySerializedAs("m_Content")] [SerializeField] private Transform _content;
|
||||||
[SerializeField] private RepoItem m_ItemTemplate;
|
[FormerlySerializedAs("m_ItemTemplate")] [SerializeField] private RepoItem _itemTemplate;
|
||||||
[SerializeField] private int m_InstancePoolCapacity = 64;
|
[FormerlySerializedAs("m_InstancePoolCapacity")] [SerializeField] private int _instancePoolCapacity = 64;
|
||||||
|
|
||||||
private readonly List<RepoItem> m_ActiveItems = new List<RepoItem>();
|
private readonly List<RepoItem> _activeItems = new List<RepoItem>();
|
||||||
private readonly Dictionary<long, RepoItem> m_ItemMap = new Dictionary<long, RepoItem>();
|
private readonly Dictionary<long, RepoItem> _itemMap = new Dictionary<long, RepoItem>();
|
||||||
private IObjectPool<RepoItemObject> m_ItemPool;
|
private IObjectPool<RepoItemObject> _itemPool;
|
||||||
private string m_PoolName;
|
private string _poolName;
|
||||||
|
|
||||||
public void OnInit(CompAreaContext context)
|
public void OnInit(CompAreaContext context)
|
||||||
{
|
{
|
||||||
|
|
@ -33,7 +34,7 @@ namespace GeometryTD.UI
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < context.Items.Length; i++)
|
foreach (var itemContext in context.Items)
|
||||||
{
|
{
|
||||||
RepoItem item = CreateOrSpawnItem();
|
RepoItem item = CreateOrSpawnItem();
|
||||||
if (item == null)
|
if (item == null)
|
||||||
|
|
@ -42,17 +43,17 @@ namespace GeometryTD.UI
|
||||||
}
|
}
|
||||||
|
|
||||||
item.gameObject.SetActive(true);
|
item.gameObject.SetActive(true);
|
||||||
item.OnInit(context.Items[i]);
|
item.OnInit(itemContext);
|
||||||
m_ActiveItems.Add(item);
|
_activeItems.Add(item);
|
||||||
m_ItemMap[context.Items[i].InstanceId] = item;
|
_itemMap[itemContext.InstanceId] = item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnReset()
|
public void OnReset()
|
||||||
{
|
{
|
||||||
for (int i = m_ActiveItems.Count - 1; i >= 0; i--)
|
for (int i = _activeItems.Count - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
RepoItem item = m_ActiveItems[i];
|
RepoItem item = _activeItems[i];
|
||||||
if (item == null)
|
if (item == null)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -60,54 +61,54 @@ namespace GeometryTD.UI
|
||||||
|
|
||||||
item.OnReset();
|
item.OnReset();
|
||||||
item.gameObject.SetActive(false);
|
item.gameObject.SetActive(false);
|
||||||
m_ItemPool?.Unspawn(item);
|
_itemPool?.Unspawn(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_ActiveItems.Clear();
|
_activeItems.Clear();
|
||||||
m_ItemMap.Clear();
|
_itemMap.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDestroy()
|
private void OnDestroy()
|
||||||
{
|
{
|
||||||
OnReset();
|
OnReset();
|
||||||
m_ItemPool?.ReleaseAllUnused();
|
_itemPool?.ReleaseAllUnused();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void EnsurePool()
|
private void EnsurePool()
|
||||||
{
|
{
|
||||||
if (m_ItemPool != null)
|
if (_itemPool != null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_PoolName = $"RepoItemPool_{GetInstanceID()}";
|
_poolName = $"RepoItemPool_{GetInstanceID()}";
|
||||||
m_ItemPool = GameEntry.ObjectPool.CreateSingleSpawnObjectPool<RepoItemObject>(m_PoolName, m_InstancePoolCapacity);
|
_itemPool = GameEntry.ObjectPool.CreateSingleSpawnObjectPool<RepoItemObject>(_poolName, _instancePoolCapacity);
|
||||||
}
|
}
|
||||||
|
|
||||||
private RepoItem CreateOrSpawnItem()
|
private RepoItem CreateOrSpawnItem()
|
||||||
{
|
{
|
||||||
if (m_ItemPool == null)
|
if (_itemPool == null)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
RepoItemObject itemObject = m_ItemPool.Spawn();
|
RepoItemObject itemObject = _itemPool.Spawn();
|
||||||
RepoItem item = itemObject != null ? (RepoItem)itemObject.Target : null;
|
RepoItem item = itemObject != null ? (RepoItem)itemObject.Target : null;
|
||||||
if (item == null)
|
if (item == null)
|
||||||
{
|
{
|
||||||
if (m_ItemTemplate == null)
|
if (_itemTemplate == null)
|
||||||
{
|
{
|
||||||
Log.Warning("CompArea requires an item template.");
|
Log.Warning("CompArea requires an item template.");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
item = Instantiate(m_ItemTemplate);
|
item = Instantiate(_itemTemplate);
|
||||||
m_ItemPool.Register(RepoItemObject.Create(item), true);
|
_itemPool.Register(RepoItemObject.Create(item), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_Content != null)
|
if (_content != null)
|
||||||
{
|
{
|
||||||
item.transform.SetParent(m_Content, false);
|
item.transform.SetParent(_content, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
return item;
|
return item;
|
||||||
|
|
@ -115,7 +116,7 @@ namespace GeometryTD.UI
|
||||||
|
|
||||||
public void SetItemSelected(long itemId, bool isSelected)
|
public void SetItemSelected(long itemId, bool isSelected)
|
||||||
{
|
{
|
||||||
if (!m_ItemMap.TryGetValue(itemId, out RepoItem item))
|
if (!_itemMap.TryGetValue(itemId, out RepoItem item))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
using GeometryTD.CustomEvent;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityGameFramework.Runtime;
|
using UnityGameFramework.Runtime;
|
||||||
|
|
||||||
|
|
@ -63,5 +64,10 @@ namespace GeometryTD.UI
|
||||||
_compArea?.OnReset();
|
_compArea?.OnReset();
|
||||||
base.OnClose(isShutdown, userData);
|
base.OnClose(isShutdown, userData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnReturnButtonClick()
|
||||||
|
{
|
||||||
|
GameEntry.Event.Fire(this, RepoFormReturnEventArgs.Create());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,20 +1,49 @@
|
||||||
|
using System.Collections;
|
||||||
using GeometryTD.CustomEvent;
|
using GeometryTD.CustomEvent;
|
||||||
using TMPro;
|
using GeometryTD.Definition;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.EventSystems;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
|
|
||||||
namespace GeometryTD.UI
|
namespace GeometryTD.UI
|
||||||
{
|
{
|
||||||
public class RepoItem : MonoBehaviour
|
public class RepoItem : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
|
||||||
{
|
{
|
||||||
[SerializeField] private TMP_Text _titleText;
|
|
||||||
[SerializeField] private Image _highlightImage;
|
[SerializeField] private Image _highlightImage;
|
||||||
[SerializeField] private IconArea _iconArea;
|
[SerializeField] private IconArea _iconArea;
|
||||||
|
|
||||||
private static readonly Color NormalColor = new Color32(40, 40, 40, 180);
|
private static readonly Color NormalColor = new Color32(40, 40, 40, 180);
|
||||||
private static readonly Color SelectedColor = new Color32(255, 216, 102, 255);
|
private static readonly Color SelectedColor = new Color32(255, 216, 102, 255);
|
||||||
|
private static readonly Vector2 DefaultDragGhostSize = new Vector2(64f, 64f);
|
||||||
|
|
||||||
private RepoItemContext _context;
|
[SerializeField] private RepoItemContext _context;
|
||||||
|
private CanvasGroup _canvasGroup;
|
||||||
|
private RectTransform _dragRoot;
|
||||||
|
private GameObject _dragGhostObject;
|
||||||
|
private RectTransform _dragGhostRect;
|
||||||
|
private bool _isSelected;
|
||||||
|
private bool _isDragging;
|
||||||
|
private bool _dropHandled;
|
||||||
|
private bool _dropAssigned;
|
||||||
|
private Coroutine _pendingOpenDetailRoutine;
|
||||||
|
private bool _cancelPendingOpenDetail;
|
||||||
|
|
||||||
|
public RepoItemContext Context => _context;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
_canvasGroup = GetComponent<CanvasGroup>();
|
||||||
|
if (_canvasGroup == null)
|
||||||
|
{
|
||||||
|
_canvasGroup = gameObject.AddComponent<CanvasGroup>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDisable()
|
||||||
|
{
|
||||||
|
CancelPendingOpenDetail();
|
||||||
|
ResetDragState();
|
||||||
|
}
|
||||||
|
|
||||||
public void OnInit(RepoItemContext context)
|
public void OnInit(RepoItemContext context)
|
||||||
{
|
{
|
||||||
|
|
@ -26,30 +55,25 @@ namespace GeometryTD.UI
|
||||||
|
|
||||||
_context = context;
|
_context = context;
|
||||||
|
|
||||||
if (_titleText != null)
|
|
||||||
{
|
|
||||||
_titleText.text = context.Title ?? string.Empty;
|
|
||||||
}
|
|
||||||
|
|
||||||
_iconArea.OnInit(context.IconAreaContext);
|
_iconArea.OnInit(context.IconAreaContext);
|
||||||
|
|
||||||
SetSelected(false);
|
SetSelected(false);
|
||||||
|
ResetDragState();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnReset()
|
public void OnReset()
|
||||||
{
|
{
|
||||||
|
CancelPendingOpenDetail();
|
||||||
_context = null;
|
_context = null;
|
||||||
|
_iconArea.OnReset();
|
||||||
if (_titleText != null)
|
|
||||||
{
|
|
||||||
_titleText.text = string.Empty;
|
|
||||||
}
|
|
||||||
|
|
||||||
SetSelected(false);
|
SetSelected(false);
|
||||||
|
ResetDragState();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetSelected(bool isSelected)
|
public void SetSelected(bool isSelected)
|
||||||
{
|
{
|
||||||
|
_isSelected = isSelected;
|
||||||
if (_highlightImage == null)
|
if (_highlightImage == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|
@ -65,7 +89,273 @@ namespace GeometryTD.UI
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
GameEntry.Event.Fire(this, RepoItemSelectedEventArgs.Create(_context.InstanceId));
|
if (_isDragging)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
StartPendingOpenDetail();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnBeginDrag(PointerEventData eventData)
|
||||||
|
{
|
||||||
|
if (!CanStartDrag(eventData))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_dragRoot = ResolveDragRoot();
|
||||||
|
if (_dragRoot == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_isDragging = true;
|
||||||
|
_dropHandled = false;
|
||||||
|
_dropAssigned = false;
|
||||||
|
_cancelPendingOpenDetail = true;
|
||||||
|
|
||||||
|
CloseItemDescFormIfOpen();
|
||||||
|
|
||||||
|
if (!CreateDragGhost())
|
||||||
|
{
|
||||||
|
_isDragging = false;
|
||||||
|
_dragRoot = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_canvasGroup != null)
|
||||||
|
{
|
||||||
|
_canvasGroup.blocksRaycasts = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
SetSelected(true);
|
||||||
|
UpdateDragGhostPosition(eventData);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnDrag(PointerEventData eventData)
|
||||||
|
{
|
||||||
|
if (!_isDragging)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
UpdateDragGhostPosition(eventData);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnEndDrag(PointerEventData eventData)
|
||||||
|
{
|
||||||
|
if (!_isDragging)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool assigned = _dropHandled && _dropAssigned;
|
||||||
|
_isDragging = false;
|
||||||
|
|
||||||
|
if (_canvasGroup != null)
|
||||||
|
{
|
||||||
|
_canvasGroup.blocksRaycasts = true;
|
||||||
|
}
|
||||||
|
DestroyDragGhost();
|
||||||
|
_dragRoot = null;
|
||||||
|
|
||||||
|
if (_context == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
GameEntry.Event.Fire(this, RepoItemDragEndedEventArgs.Create(_context.InstanceId, assigned));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetDropResult(bool assigned)
|
||||||
|
{
|
||||||
|
if (!_isDragging)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_dropHandled = true;
|
||||||
|
_dropAssigned = assigned;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool CanStartDrag(PointerEventData eventData)
|
||||||
|
{
|
||||||
|
if (_context == null || _isSelected || _isDragging)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!_context.CanDrag)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_context.ComponentSlotType == TowerCompSlotType.None)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (eventData == null || eventData.button != PointerEventData.InputButton.Left)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StartPendingOpenDetail()
|
||||||
|
{
|
||||||
|
CancelPendingOpenDetail();
|
||||||
|
_cancelPendingOpenDetail = false;
|
||||||
|
_pendingOpenDetailRoutine = StartCoroutine(WaitPointerReleaseAndOpenDetail());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CancelPendingOpenDetail()
|
||||||
|
{
|
||||||
|
_cancelPendingOpenDetail = true;
|
||||||
|
if (_pendingOpenDetailRoutine != null)
|
||||||
|
{
|
||||||
|
StopCoroutine(_pendingOpenDetailRoutine);
|
||||||
|
_pendingOpenDetailRoutine = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private IEnumerator WaitPointerReleaseAndOpenDetail()
|
||||||
|
{
|
||||||
|
while (IsPrimaryPointerPressed())
|
||||||
|
{
|
||||||
|
if (_cancelPendingOpenDetail || _isDragging)
|
||||||
|
{
|
||||||
|
_pendingOpenDetailRoutine = null;
|
||||||
|
yield break;
|
||||||
|
}
|
||||||
|
|
||||||
|
yield return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
_pendingOpenDetailRoutine = null;
|
||||||
|
if (_cancelPendingOpenDetail || _isDragging || _context == null)
|
||||||
|
{
|
||||||
|
yield break;
|
||||||
|
}
|
||||||
|
|
||||||
|
GameEntry.Event.Fire(this,
|
||||||
|
RepoItemDetailRequestedEventArgs.Create(_context.InstanceId, transform.position));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static bool IsPrimaryPointerPressed()
|
||||||
|
{
|
||||||
|
if (Input.GetMouseButton(0))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Input.touchCount > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void CloseItemDescFormIfOpen()
|
||||||
|
{
|
||||||
|
var itemDescForm = GameEntry.UI.GetUIForm(UIFormType.ItemDescForm);
|
||||||
|
if (itemDescForm != null)
|
||||||
|
{
|
||||||
|
GameEntry.UI.CloseUIForm(itemDescForm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private RectTransform ResolveDragRoot()
|
||||||
|
{
|
||||||
|
Canvas canvas = GetComponentInParent<Canvas>();
|
||||||
|
if (canvas == null || canvas.rootCanvas == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return canvas.rootCanvas.transform as RectTransform;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool CreateDragGhost()
|
||||||
|
{
|
||||||
|
DestroyDragGhost();
|
||||||
|
|
||||||
|
if (_dragRoot == null || _iconArea == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Sprite iconSprite = _iconArea.CurrentIconSprite;
|
||||||
|
if (iconSprite == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
_dragGhostObject = new GameObject("RepoItemDragGhost", typeof(RectTransform), typeof(CanvasGroup), typeof(Image));
|
||||||
|
_dragGhostObject.layer = gameObject.layer;
|
||||||
|
|
||||||
|
_dragGhostRect = _dragGhostObject.GetComponent<RectTransform>();
|
||||||
|
_dragGhostRect.SetParent(_dragRoot, false);
|
||||||
|
_dragGhostRect.anchorMin = new Vector2(0.5f, 0.5f);
|
||||||
|
_dragGhostRect.anchorMax = new Vector2(0.5f, 0.5f);
|
||||||
|
_dragGhostRect.pivot = new Vector2(0.5f, 0.5f);
|
||||||
|
|
||||||
|
Vector2 iconSize = _iconArea.CurrentIconSize;
|
||||||
|
if (iconSize.x <= 0f || iconSize.y <= 0f)
|
||||||
|
{
|
||||||
|
iconSize = DefaultDragGhostSize;
|
||||||
|
}
|
||||||
|
_dragGhostRect.sizeDelta = iconSize;
|
||||||
|
|
||||||
|
Image ghostImage = _dragGhostObject.GetComponent<Image>();
|
||||||
|
ghostImage.raycastTarget = false;
|
||||||
|
ghostImage.sprite = iconSprite;
|
||||||
|
ghostImage.color = _iconArea.CurrentIconColor;
|
||||||
|
ghostImage.material = _iconArea.CurrentIconMaterial;
|
||||||
|
ghostImage.preserveAspect = true;
|
||||||
|
|
||||||
|
CanvasGroup ghostCanvasGroup = _dragGhostObject.GetComponent<CanvasGroup>();
|
||||||
|
ghostCanvasGroup.blocksRaycasts = false;
|
||||||
|
ghostCanvasGroup.interactable = false;
|
||||||
|
|
||||||
|
_dragGhostObject.transform.SetAsLastSibling();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateDragGhostPosition(PointerEventData eventData)
|
||||||
|
{
|
||||||
|
if (_dragGhostRect == null || _dragRoot == null || eventData == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (RectTransformUtility.ScreenPointToLocalPointInRectangle(_dragRoot, eventData.position,
|
||||||
|
eventData.pressEventCamera, out Vector2 localPoint))
|
||||||
|
{
|
||||||
|
_dragGhostRect.anchoredPosition = localPoint;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DestroyDragGhost()
|
||||||
|
{
|
||||||
|
if (_dragGhostObject != null)
|
||||||
|
{
|
||||||
|
Destroy(_dragGhostObject);
|
||||||
|
_dragGhostObject = null;
|
||||||
|
_dragGhostRect = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ResetDragState()
|
||||||
|
{
|
||||||
|
_isDragging = false;
|
||||||
|
_dropHandled = false;
|
||||||
|
_dropAssigned = false;
|
||||||
|
_dragRoot = null;
|
||||||
|
DestroyDragGhost();
|
||||||
|
|
||||||
|
if (_canvasGroup != null)
|
||||||
|
{
|
||||||
|
_canvasGroup.blocksRaycasts = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,15 @@
|
||||||
|
using System;
|
||||||
using GeometryTD.Definition;
|
using GeometryTD.Definition;
|
||||||
using GeometryTD.UI;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace GeometryTD.UI
|
namespace GeometryTD.UI
|
||||||
{
|
{
|
||||||
|
[Serializable]
|
||||||
public class IconAreaContext : UIContext
|
public class IconAreaContext : UIContext
|
||||||
{
|
{
|
||||||
public RarityType Rarity;
|
public RarityType Rarity;
|
||||||
|
public TowerCompSlotType ComponentSlotType;
|
||||||
|
public Color Color = Color.white;
|
||||||
public Sprite Icon;
|
public Sprite Icon;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using GeometryTD.Definition;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace GeometryTD.UI
|
||||||
|
{
|
||||||
|
public class ItemDescFormContext : UIContext
|
||||||
|
{
|
||||||
|
public string Title;
|
||||||
|
public string TypeText;
|
||||||
|
public string Description;
|
||||||
|
public int Price;
|
||||||
|
public Vector3 TargetPos;
|
||||||
|
public List<TagType> Tags;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d01ce2ecd9339fb40acface0ef371ed4
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using GameFramework.Event;
|
||||||
|
using GeometryTD.Definition;
|
||||||
|
using UnityGameFramework.Runtime;
|
||||||
|
|
||||||
|
namespace GeometryTD.UI
|
||||||
|
{
|
||||||
|
public class ItemDescFormController : UIFormControllerCommonBase<
|
||||||
|
ItemDescFormContext, ItemDescForm>
|
||||||
|
{
|
||||||
|
protected override UIFormType UIFormTypeId => UIFormType.ItemDescForm;
|
||||||
|
|
||||||
|
|
||||||
|
protected override void RefreshUI(ItemDescForm form, ItemDescFormContext context)
|
||||||
|
{
|
||||||
|
form.RefreshUI(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void CloseLoadedFormDirect(ItemDescForm form)
|
||||||
|
{
|
||||||
|
GameEntry.UI.CloseUIForm(form);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ItemDescFormContext BuildContext(ItemDescFormRawData rawData)
|
||||||
|
{
|
||||||
|
if (rawData == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ItemDescFormContext
|
||||||
|
{
|
||||||
|
Title = rawData.Title,
|
||||||
|
TypeText = rawData.TypeText,
|
||||||
|
Description = rawData.Description,
|
||||||
|
Price = rawData.Price,
|
||||||
|
TargetPos = rawData.TargetPos,
|
||||||
|
Tags = BuildTags(rawData.Tags)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private static List<TagType> BuildTags(TagType[] tags)
|
||||||
|
{
|
||||||
|
if (tags == null || tags.Length <= 0)
|
||||||
|
{
|
||||||
|
return new List<TagType>();
|
||||||
|
}
|
||||||
|
|
||||||
|
return new List<TagType>(tags);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int? OpenUI(ItemDescFormRawData rawData)
|
||||||
|
{
|
||||||
|
ItemDescFormContext context = BuildContext(rawData);
|
||||||
|
return OpenUIInternal(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int? OpenUI(object userData = null)
|
||||||
|
{
|
||||||
|
if (userData is ItemDescFormContext context)
|
||||||
|
{
|
||||||
|
return OpenUIInternal(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (userData is ItemDescFormRawData rawData)
|
||||||
|
{
|
||||||
|
return OpenUI(rawData);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (userData != null)
|
||||||
|
{
|
||||||
|
Log.Warning("ItemDescFormController.OpenUI() userData type is invalid.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return OpenUIInternal(Context);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void BindUseCase(IUIUseCase useCase)
|
||||||
|
{
|
||||||
|
if (!(useCase is ItemDescFormUseCase))
|
||||||
|
{
|
||||||
|
Log.Error("ItemDescForm.BindUseCase() useCase is invalid.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2970dfbfc4901234ca38bda4d94d01d5
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -3,6 +3,7 @@ using GeometryTD.CustomEvent;
|
||||||
using GeometryTD.DataTable;
|
using GeometryTD.DataTable;
|
||||||
using GeometryTD.Definition;
|
using GeometryTD.Definition;
|
||||||
using GameFramework.Event;
|
using GameFramework.Event;
|
||||||
|
using GeometryTD.CustomUtility;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityGameFramework.Runtime;
|
using UnityGameFramework.Runtime;
|
||||||
|
|
||||||
|
|
@ -132,8 +133,10 @@ namespace GeometryTD.UI
|
||||||
RewardId = rawItem.RewardId,
|
RewardId = rawItem.RewardId,
|
||||||
IconArea = new IconAreaContext
|
IconArea = new IconAreaContext
|
||||||
{
|
{
|
||||||
|
ComponentSlotType = rawItem.SlotType,
|
||||||
Icon = rawItem.Icon,
|
Icon = rawItem.Icon,
|
||||||
Rarity = rawItem.Rarity
|
Rarity = rawItem.Rarity,
|
||||||
|
Color = ResolveIconColor(rawItem)
|
||||||
},
|
},
|
||||||
Title = rawItem.Title ?? string.Empty,
|
Title = rawItem.Title ?? string.Empty,
|
||||||
TypeText = ResolveTypeText(rawItem),
|
TypeText = ResolveTypeText(rawItem),
|
||||||
|
|
@ -147,6 +150,16 @@ namespace GeometryTD.UI
|
||||||
return contexts;
|
return contexts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static Color ResolveIconColor(RewardSelectItemRawData rawItem)
|
||||||
|
{
|
||||||
|
if (rawItem?.SourceItem == null)
|
||||||
|
{
|
||||||
|
return Color.white;
|
||||||
|
}
|
||||||
|
|
||||||
|
return IconColorGenerator.GenerateForComponent(rawItem.SourceItem);
|
||||||
|
}
|
||||||
|
|
||||||
private static string ResolveTypeText(RewardSelectItemRawData rawItem)
|
private static string ResolveTypeText(RewardSelectItemRawData rawItem)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrWhiteSpace(rawItem.TypeText))
|
if (!string.IsNullOrWhiteSpace(rawItem.TypeText))
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,440 @@
|
||||||
|
using GameFramework.DataTable;
|
||||||
|
using GeometryTD.DataTable;
|
||||||
|
using GeometryTD.Definition;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace GeometryTD.CustomUtility
|
||||||
|
{
|
||||||
|
public static class IconColorGenerator
|
||||||
|
{
|
||||||
|
private const int StatCount = 5;
|
||||||
|
private const float MinSaturation = 0.4f;
|
||||||
|
private const float MinValue = 0.6f;
|
||||||
|
private const float TinyValue = 0.0001f;
|
||||||
|
|
||||||
|
private static readonly float[] HueMap = { 0f, 30f, 200f, 120f, 270f };
|
||||||
|
|
||||||
|
private static StatRange _attackDamageRange = new StatRange(1f, 300f);
|
||||||
|
private static StatRange _damageRandomRateRange = new StatRange(0f, 0.3f);
|
||||||
|
private static StatRange _rotateSpeedRange = new StatRange(10f, 240f);
|
||||||
|
private static StatRange _attackRangeRange = new StatRange(2f, 8f);
|
||||||
|
private static StatRange _attackSpeedRange = new StatRange(0.5f, 4f);
|
||||||
|
|
||||||
|
private static bool s_HasMuzzleRange;
|
||||||
|
private static bool s_HasBearingRange;
|
||||||
|
private static bool s_HasBaseRange;
|
||||||
|
|
||||||
|
public static Color GenerateForComponent(TowerCompItemData item)
|
||||||
|
{
|
||||||
|
if (item == null)
|
||||||
|
{
|
||||||
|
return Color.white;
|
||||||
|
}
|
||||||
|
|
||||||
|
float attackDamage = 0f;
|
||||||
|
float damageRandomRate = 0f;
|
||||||
|
float rotateSpeed = 0f;
|
||||||
|
float attackRange = 0f;
|
||||||
|
float attackSpeed = 0f;
|
||||||
|
|
||||||
|
if (item is MuzzleCompItemData muzzle)
|
||||||
|
{
|
||||||
|
attackDamage = ResolveArrayValue(muzzle.AttackDamage);
|
||||||
|
damageRandomRate = Mathf.Max(0f, muzzle.DamageRandomRate);
|
||||||
|
}
|
||||||
|
else if (item is BearingCompItemData bearing)
|
||||||
|
{
|
||||||
|
rotateSpeed = ResolveArrayValue(bearing.RotateSpeed);
|
||||||
|
attackRange = ResolveArrayValue(bearing.AttackRange);
|
||||||
|
}
|
||||||
|
else if (item is BaseCompItemData baseComp)
|
||||||
|
{
|
||||||
|
attackSpeed = ResolveArrayValue(baseComp.AttackSpeed);
|
||||||
|
}
|
||||||
|
|
||||||
|
return GenerateColor(
|
||||||
|
attackDamage,
|
||||||
|
damageRandomRate,
|
||||||
|
rotateSpeed,
|
||||||
|
attackRange,
|
||||||
|
attackSpeed,
|
||||||
|
item.SlotType);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Color GenerateForTower(DefenseTowerItemData tower)
|
||||||
|
{
|
||||||
|
if (tower?.Stats == null)
|
||||||
|
{
|
||||||
|
return Color.white;
|
||||||
|
}
|
||||||
|
|
||||||
|
DefenseTowerStatsData stats = tower.Stats;
|
||||||
|
return GenerateColor(
|
||||||
|
ResolveArrayValue(stats.AttackDamage),
|
||||||
|
ResolveArrayValue(stats.DamageRandomRate),
|
||||||
|
ResolveArrayValue(stats.RotateSpeed),
|
||||||
|
ResolveArrayValue(stats.AttackRange),
|
||||||
|
ResolveArrayValue(stats.AttackSpeed),
|
||||||
|
TowerCompSlotType.None);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Color GenerateColor(
|
||||||
|
float attackDamage,
|
||||||
|
float damageRandomRate,
|
||||||
|
float rotateSpeed,
|
||||||
|
float attackRange,
|
||||||
|
float attackSpeed,
|
||||||
|
TowerCompSlotType slotType)
|
||||||
|
{
|
||||||
|
TryRefreshRangesFromDataTables();
|
||||||
|
|
||||||
|
float[] normalizedStats = new float[StatCount];
|
||||||
|
normalizedStats[0] = Normalize(attackDamage, _attackDamageRange);
|
||||||
|
normalizedStats[1] = Normalize(damageRandomRate, _damageRandomRateRange);
|
||||||
|
normalizedStats[2] = Normalize(rotateSpeed, _rotateSpeedRange);
|
||||||
|
normalizedStats[3] = Normalize(attackRange, _attackRangeRange);
|
||||||
|
normalizedStats[4] = Normalize(attackSpeed, _attackSpeedRange);
|
||||||
|
|
||||||
|
FindTopTwoIndexes(normalizedStats, out int primaryIndex, out int secondaryIndex);
|
||||||
|
|
||||||
|
float denominator = normalizedStats[primaryIndex] + normalizedStats[secondaryIndex] + TinyValue;
|
||||||
|
float blendWeight = normalizedStats[secondaryIndex] / denominator;
|
||||||
|
float hue = LerpHue(HueMap[primaryIndex], HueMap[secondaryIndex], blendWeight);
|
||||||
|
hue = NormalizeHue(hue + ResolveSlotHueOffset(slotType));
|
||||||
|
|
||||||
|
float purity = normalizedStats[primaryIndex] - normalizedStats[secondaryIndex];
|
||||||
|
float saturation = Mathf.Lerp(0.45f, 0.9f, Mathf.Clamp01(purity * 1.5f));
|
||||||
|
saturation = Mathf.Max(saturation, MinSaturation);
|
||||||
|
|
||||||
|
float intensity = 0f;
|
||||||
|
for (int i = 0; i < normalizedStats.Length; i++)
|
||||||
|
{
|
||||||
|
intensity += normalizedStats[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
float value = Mathf.Lerp(0.55f, 0.95f, intensity / StatCount);
|
||||||
|
value = Mathf.Max(value, MinValue);
|
||||||
|
|
||||||
|
Color color = Color.HSVToRGB(hue / 360f, saturation, value);
|
||||||
|
color.a = 1f;
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void TryRefreshRangesFromDataTables()
|
||||||
|
{
|
||||||
|
if (GameEntry.DataTable == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!s_HasMuzzleRange && TryResolveMuzzleRange(out StatRange attackDamageRange, out StatRange damageRandomRateRange))
|
||||||
|
{
|
||||||
|
_attackDamageRange = attackDamageRange;
|
||||||
|
_damageRandomRateRange = damageRandomRateRange;
|
||||||
|
s_HasMuzzleRange = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!s_HasBearingRange && TryResolveBearingRange(out StatRange rotateSpeedRange, out StatRange attackRangeRange))
|
||||||
|
{
|
||||||
|
_rotateSpeedRange = rotateSpeedRange;
|
||||||
|
_attackRangeRange = attackRangeRange;
|
||||||
|
s_HasBearingRange = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!s_HasBaseRange && TryResolveBaseRange(out StatRange attackSpeedRange))
|
||||||
|
{
|
||||||
|
_attackSpeedRange = attackSpeedRange;
|
||||||
|
s_HasBaseRange = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static bool TryResolveMuzzleRange(out StatRange attackDamageRange, out StatRange damageRandomRateRange)
|
||||||
|
{
|
||||||
|
attackDamageRange = _attackDamageRange;
|
||||||
|
damageRandomRateRange = _damageRandomRateRange;
|
||||||
|
|
||||||
|
IDataTable<DRMuzzleComp> dataTable = GameEntry.DataTable.GetDataTable<DRMuzzleComp>();
|
||||||
|
if (dataTable == null || dataTable.Count <= 0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
DRMuzzleComp[] rows = dataTable.GetAllDataRows();
|
||||||
|
if (rows == null || rows.Length <= 0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool hasAttackDamage = false;
|
||||||
|
bool hasDamageRandomRate = false;
|
||||||
|
float minAttackDamage = float.MaxValue;
|
||||||
|
float maxAttackDamage = float.MinValue;
|
||||||
|
float minDamageRandomRate = float.MaxValue;
|
||||||
|
float maxDamageRandomRate = float.MinValue;
|
||||||
|
|
||||||
|
for (int i = 0; i < rows.Length; i++)
|
||||||
|
{
|
||||||
|
DRMuzzleComp row = rows[i];
|
||||||
|
if (row == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
IncludeValues(row.AttackDamage, ref minAttackDamage, ref maxAttackDamage, ref hasAttackDamage);
|
||||||
|
IncludeValue(Mathf.Max(0f, row.DamageRandomRate), ref minDamageRandomRate, ref maxDamageRandomRate, ref hasDamageRandomRate);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!hasAttackDamage || !hasDamageRandomRate)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
attackDamageRange = BuildRange(minAttackDamage, maxAttackDamage, _attackDamageRange);
|
||||||
|
damageRandomRateRange = BuildRange(minDamageRandomRate, maxDamageRandomRate, _damageRandomRateRange);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static bool TryResolveBearingRange(out StatRange rotateSpeedRange, out StatRange attackRangeRange)
|
||||||
|
{
|
||||||
|
rotateSpeedRange = _rotateSpeedRange;
|
||||||
|
attackRangeRange = _attackRangeRange;
|
||||||
|
|
||||||
|
IDataTable<DRBearingComp> dataTable = GameEntry.DataTable.GetDataTable<DRBearingComp>();
|
||||||
|
if (dataTable == null || dataTable.Count <= 0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
DRBearingComp[] rows = dataTable.GetAllDataRows();
|
||||||
|
if (rows == null || rows.Length <= 0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool hasRotateSpeed = false;
|
||||||
|
bool hasAttackRange = false;
|
||||||
|
float minRotateSpeed = float.MaxValue;
|
||||||
|
float maxRotateSpeed = float.MinValue;
|
||||||
|
float minAttackRange = float.MaxValue;
|
||||||
|
float maxAttackRange = float.MinValue;
|
||||||
|
|
||||||
|
for (int i = 0; i < rows.Length; i++)
|
||||||
|
{
|
||||||
|
DRBearingComp row = rows[i];
|
||||||
|
if (row == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
IncludeValues(row.RotateSpeed, ref minRotateSpeed, ref maxRotateSpeed, ref hasRotateSpeed);
|
||||||
|
IncludeValues(row.AttackRange, ref minAttackRange, ref maxAttackRange, ref hasAttackRange);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!hasRotateSpeed || !hasAttackRange)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
rotateSpeedRange = BuildRange(minRotateSpeed, maxRotateSpeed, _rotateSpeedRange);
|
||||||
|
attackRangeRange = BuildRange(minAttackRange, maxAttackRange, _attackRangeRange);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static bool TryResolveBaseRange(out StatRange attackSpeedRange)
|
||||||
|
{
|
||||||
|
attackSpeedRange = _attackSpeedRange;
|
||||||
|
|
||||||
|
IDataTable<DRBaseComp> dataTable = GameEntry.DataTable.GetDataTable<DRBaseComp>();
|
||||||
|
if (dataTable == null || dataTable.Count <= 0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
DRBaseComp[] rows = dataTable.GetAllDataRows();
|
||||||
|
if (rows == null || rows.Length <= 0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool hasAttackSpeed = false;
|
||||||
|
float minAttackSpeed = float.MaxValue;
|
||||||
|
float maxAttackSpeed = float.MinValue;
|
||||||
|
|
||||||
|
for (int i = 0; i < rows.Length; i++)
|
||||||
|
{
|
||||||
|
DRBaseComp row = rows[i];
|
||||||
|
if (row == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
IncludeValues(row.AttackSpeed, ref minAttackSpeed, ref maxAttackSpeed, ref hasAttackSpeed);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!hasAttackSpeed)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
attackSpeedRange = BuildRange(minAttackSpeed, maxAttackSpeed, _attackSpeedRange);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void FindTopTwoIndexes(float[] values, out int primaryIndex, out int secondaryIndex)
|
||||||
|
{
|
||||||
|
primaryIndex = 0;
|
||||||
|
secondaryIndex = 1;
|
||||||
|
|
||||||
|
if (values[secondaryIndex] > values[primaryIndex])
|
||||||
|
{
|
||||||
|
(primaryIndex, secondaryIndex) = (secondaryIndex, primaryIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 2; i < values.Length; i++)
|
||||||
|
{
|
||||||
|
float value = values[i];
|
||||||
|
if (value > values[primaryIndex])
|
||||||
|
{
|
||||||
|
secondaryIndex = primaryIndex;
|
||||||
|
primaryIndex = i;
|
||||||
|
}
|
||||||
|
else if (value > values[secondaryIndex])
|
||||||
|
{
|
||||||
|
secondaryIndex = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static float ResolveSlotHueOffset(TowerCompSlotType slotType)
|
||||||
|
{
|
||||||
|
return slotType switch
|
||||||
|
{
|
||||||
|
TowerCompSlotType.Bearing => 15f,
|
||||||
|
TowerCompSlotType.Base => -15f,
|
||||||
|
_ => 0f
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private static float ResolveArrayValue(int[] values)
|
||||||
|
{
|
||||||
|
if (values == null || values.Length <= 0)
|
||||||
|
{
|
||||||
|
return 0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Mathf.Max(0f, values[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static float ResolveArrayValue(float[] values)
|
||||||
|
{
|
||||||
|
if (values == null || values.Length <= 0)
|
||||||
|
{
|
||||||
|
return 0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Mathf.Max(0f, values[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void IncludeValues(int[] values, ref float min, ref float max, ref bool hasValue)
|
||||||
|
{
|
||||||
|
if (values == null || values.Length <= 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < values.Length; i++)
|
||||||
|
{
|
||||||
|
IncludeValue(Mathf.Max(0f, values[i]), ref min, ref max, ref hasValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void IncludeValues(float[] values, ref float min, ref float max, ref bool hasValue)
|
||||||
|
{
|
||||||
|
if (values == null || values.Length <= 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < values.Length; i++)
|
||||||
|
{
|
||||||
|
IncludeValue(Mathf.Max(0f, values[i]), ref min, ref max, ref hasValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void IncludeValue(float value, ref float min, ref float max, ref bool hasValue)
|
||||||
|
{
|
||||||
|
if (float.IsNaN(value) || float.IsInfinity(value))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!hasValue)
|
||||||
|
{
|
||||||
|
min = value;
|
||||||
|
max = value;
|
||||||
|
hasValue = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (value < min)
|
||||||
|
{
|
||||||
|
min = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (value > max)
|
||||||
|
{
|
||||||
|
max = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static float Normalize(float value, StatRange range)
|
||||||
|
{
|
||||||
|
float denominator = Mathf.Max(TinyValue, range.Max - range.Min);
|
||||||
|
return Mathf.Clamp01((value - range.Min) / denominator);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static StatRange BuildRange(float min, float max, StatRange fallback)
|
||||||
|
{
|
||||||
|
if (float.IsNaN(min) || float.IsInfinity(min) || float.IsNaN(max) || float.IsInfinity(max))
|
||||||
|
{
|
||||||
|
return fallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (max - min < TinyValue)
|
||||||
|
{
|
||||||
|
return fallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new StatRange(min, max);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static float LerpHue(float fromDegree, float toDegree, float t)
|
||||||
|
{
|
||||||
|
float delta = Mathf.DeltaAngle(fromDegree, toDegree);
|
||||||
|
return fromDegree + delta * Mathf.Clamp01(t);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static float NormalizeHue(float hueDegree)
|
||||||
|
{
|
||||||
|
float normalized = hueDegree % 360f;
|
||||||
|
if (normalized < 0f)
|
||||||
|
{
|
||||||
|
normalized += 360f;
|
||||||
|
}
|
||||||
|
|
||||||
|
return normalized;
|
||||||
|
}
|
||||||
|
|
||||||
|
private readonly struct StatRange
|
||||||
|
{
|
||||||
|
public StatRange(float min, float max)
|
||||||
|
{
|
||||||
|
Min = min;
|
||||||
|
Max = max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public float Min { get; }
|
||||||
|
public float Max { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6fb39901e8409cd4db9dbde01bee1ced
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
using GeometryTD.Definition;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace GeometryTD.UI
|
||||||
|
{
|
||||||
|
public class ItemDescFormRawData
|
||||||
|
{
|
||||||
|
public string Title;
|
||||||
|
public string TypeText;
|
||||||
|
public string Description;
|
||||||
|
public int Price;
|
||||||
|
public Vector3 TargetPos;
|
||||||
|
public TagType[] Tags;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f84926be492fb4242846ee76ca4890f4
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
namespace GeometryTD.UI
|
||||||
|
{
|
||||||
|
public class ItemDescFormUseCase : IUIUseCase
|
||||||
|
{
|
||||||
|
public ItemDescFormUseCase()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fbb608569de315b42b7812af024c10a3
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
using System;
|
||||||
using GeometryTD.Definition;
|
using GeometryTD.Definition;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
|
|
@ -13,6 +14,14 @@ namespace GeometryTD.UI
|
||||||
|
|
||||||
private IconAreaContext _context;
|
private IconAreaContext _context;
|
||||||
|
|
||||||
|
public Sprite CurrentIconSprite => _icon != null ? _icon.sprite : null;
|
||||||
|
|
||||||
|
public Color CurrentIconColor => _icon != null ? _icon.color : Color.white;
|
||||||
|
|
||||||
|
public Vector2 CurrentIconSize => _icon != null ? _icon.rectTransform.rect.size : Vector2.zero;
|
||||||
|
|
||||||
|
public Material CurrentIconMaterial => _icon != null ? _icon.material : null;
|
||||||
|
|
||||||
public void OnInit(IconAreaContext context)
|
public void OnInit(IconAreaContext context)
|
||||||
{
|
{
|
||||||
if (context == null)
|
if (context == null)
|
||||||
|
|
@ -22,17 +31,38 @@ namespace GeometryTD.UI
|
||||||
}
|
}
|
||||||
|
|
||||||
_context = context;
|
_context = context;
|
||||||
|
|
||||||
|
switch (context.ComponentSlotType)
|
||||||
|
{
|
||||||
|
case TowerCompSlotType.Base:
|
||||||
|
case TowerCompSlotType.Bearing:
|
||||||
|
case TowerCompSlotType.Muzzle:
|
||||||
|
GameEntry.SpriteCache.GetSprite(context.ComponentSlotType.ToString(), SetIcon);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
SetIcon(_context.Icon);
|
SetIcon(_context.Icon);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
SetRarity(_context.Rarity);
|
SetRarity(_context.Rarity);
|
||||||
|
SetIconColor(_context.Color);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetIcon(Sprite sprite)
|
public void SetIcon(Sprite sprite)
|
||||||
|
{
|
||||||
|
if (_icon != null)
|
||||||
{
|
{
|
||||||
_icon.sprite = sprite;
|
_icon.sprite = sprite;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void SetRarity(RarityType rarity)
|
public void SetRarity(RarityType rarity)
|
||||||
{
|
{
|
||||||
|
if (_board == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
_board.color = rarity switch
|
_board.color = rarity switch
|
||||||
{
|
{
|
||||||
RarityType.White => Color.white,
|
RarityType.White => Color.white,
|
||||||
|
|
@ -44,10 +74,21 @@ namespace GeometryTD.UI
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetIconColor(Color color)
|
||||||
|
{
|
||||||
|
if (_icon == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_icon.color = color;
|
||||||
|
}
|
||||||
|
|
||||||
public void OnReset()
|
public void OnReset()
|
||||||
{
|
{
|
||||||
SetIcon(null);
|
SetIcon(null);
|
||||||
SetRarity(RarityType.None);
|
SetRarity(RarityType.None);
|
||||||
|
SetIconColor(Color.clear);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,376 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using GeometryTD.DataTable;
|
||||||
|
using GeometryTD.Definition;
|
||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
using UnityGameFramework.Runtime;
|
||||||
|
|
||||||
|
namespace GeometryTD.UI
|
||||||
|
{
|
||||||
|
public class ItemDescForm : UGuiForm
|
||||||
|
{
|
||||||
|
[SerializeField] private RectTransform _content;
|
||||||
|
|
||||||
|
[SerializeField] private TMP_Text _itemTitle;
|
||||||
|
|
||||||
|
[SerializeField] private TMP_Text _itemTypeText;
|
||||||
|
|
||||||
|
[SerializeField] private TMP_Text _itemDescription;
|
||||||
|
|
||||||
|
[SerializeField] private TMP_Text _itemPrice;
|
||||||
|
|
||||||
|
[SerializeField] private Transform _tagAreaParent;
|
||||||
|
|
||||||
|
[SerializeField] private GameObject _tagItemPrefab;
|
||||||
|
|
||||||
|
[SerializeField] private bool _autoResizeHeight = true;
|
||||||
|
|
||||||
|
[SerializeField] private float _fixedTopHeight = 150f;
|
||||||
|
|
||||||
|
[SerializeField] private float _fixedBottomHeight = 150f;
|
||||||
|
|
||||||
|
[SerializeField] private float _fixedWidth = 300f;
|
||||||
|
|
||||||
|
[SerializeField] private float _screenEdgePadding = 0f;
|
||||||
|
|
||||||
|
[SerializeField] private float _sideGap = 16f;
|
||||||
|
|
||||||
|
[SerializeField] private float _anchorItemWidth = 0f;
|
||||||
|
|
||||||
|
[SerializeField] private Graphic _blankAreaGraphic;
|
||||||
|
|
||||||
|
[SerializeField] private bool _disableBlankAreaRaycast = true;
|
||||||
|
|
||||||
|
[SerializeField] private bool _closeOnPointerDownOutsideContent = true;
|
||||||
|
|
||||||
|
private readonly List<GameObject> _runtimeTagItems = new List<GameObject>();
|
||||||
|
|
||||||
|
private ItemDescFormContext _context;
|
||||||
|
private Vector3 _targetPos;
|
||||||
|
private bool _isOpened;
|
||||||
|
|
||||||
|
public void RefreshUI(ItemDescFormContext context)
|
||||||
|
{
|
||||||
|
if (context == null)
|
||||||
|
{
|
||||||
|
Log.Warning("ItemDescForm context is invalid.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_context = context;
|
||||||
|
|
||||||
|
_targetPos = ConvertWorldToAnchored(_context.TargetPos);
|
||||||
|
|
||||||
|
if (_content != null)
|
||||||
|
{
|
||||||
|
_content.anchoredPosition3D = _targetPos;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_itemTitle != null) _itemTitle.text = _context.Title ?? string.Empty;
|
||||||
|
if (_itemTypeText != null) _itemTypeText.text = _context.TypeText ?? string.Empty;
|
||||||
|
if (_itemDescription != null) _itemDescription.text = _context.Description ?? string.Empty;
|
||||||
|
if (_itemPrice != null) _itemPrice.text = $"Price: {_context.Price} Gold";
|
||||||
|
|
||||||
|
RefreshTags(_context.Tags);
|
||||||
|
|
||||||
|
ResizeToFitContent();
|
||||||
|
ApplySideAnchoredTargetPos();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnOpen(object userData)
|
||||||
|
{
|
||||||
|
base.OnOpen(userData);
|
||||||
|
_isOpened = true;
|
||||||
|
|
||||||
|
if (_disableBlankAreaRaycast && _blankAreaGraphic != null)
|
||||||
|
{
|
||||||
|
_blankAreaGraphic.raycastTarget = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(userData is ItemDescFormContext context))
|
||||||
|
{
|
||||||
|
Log.Error("ItemDescFormContext is invalid.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
RefreshUI(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnClose(bool isShutdown, object userData)
|
||||||
|
{
|
||||||
|
_isOpened = false;
|
||||||
|
ClearTags();
|
||||||
|
_context = null;
|
||||||
|
base.OnClose(isShutdown, userData);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnBlankAreaClick()
|
||||||
|
{
|
||||||
|
CloseSelf();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnBackgroundClick()
|
||||||
|
{
|
||||||
|
CloseSelf();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
if (!_isOpened || !_closeOnPointerDownOutsideContent || _content == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!TryGetPointerDownScreenPosition(out Vector2 screenPoint))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IsPointerInContent(screenPoint))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
CloseSelf();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ResizeToFitContent()
|
||||||
|
{
|
||||||
|
if (!_autoResizeHeight || _content == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_itemDescription == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_itemDescription.ForceMeshUpdate();
|
||||||
|
var descriptionSize = _itemDescription.rectTransform.sizeDelta;
|
||||||
|
descriptionSize.y = _itemDescription.preferredHeight;
|
||||||
|
_itemDescription.rectTransform.sizeDelta = descriptionSize;
|
||||||
|
float descriptionHeight = Mathf.Max(0f, _itemDescription.preferredHeight);
|
||||||
|
float targetHeight = _fixedTopHeight + descriptionHeight + _fixedBottomHeight;
|
||||||
|
|
||||||
|
Vector2 size = new Vector2(_fixedWidth, targetHeight);
|
||||||
|
_content.sizeDelta = size;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ApplySideAnchoredTargetPos()
|
||||||
|
{
|
||||||
|
if (_content == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
RectTransform parent = _content.parent as RectTransform;
|
||||||
|
if (parent == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector2 size = _content.sizeDelta;
|
||||||
|
if (size.x <= 0f || size.y <= 0f)
|
||||||
|
{
|
||||||
|
size = _content.rect.size;
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector2 pivot = _content.pivot;
|
||||||
|
float halfWidth = parent.rect.width * 0.5f;
|
||||||
|
float halfHeight = parent.rect.height * 0.5f;
|
||||||
|
|
||||||
|
float minX = -halfWidth + size.x * pivot.x + _screenEdgePadding;
|
||||||
|
float maxX = halfWidth - size.x * (1f - pivot.x) - _screenEdgePadding;
|
||||||
|
float minY = -halfHeight + size.y * pivot.y + _screenEdgePadding;
|
||||||
|
float maxY = halfHeight - size.y * (1f - pivot.y) - _screenEdgePadding;
|
||||||
|
|
||||||
|
float clampedY = minY <= maxY ? Mathf.Clamp(_targetPos.y, minY, maxY) : 0f;
|
||||||
|
|
||||||
|
float anchorHalfWidth = Mathf.Max(0f, _anchorItemWidth * 0.5f);
|
||||||
|
float sideGap = Mathf.Max(0f, _sideGap);
|
||||||
|
float horizontalOffset = anchorHalfWidth + size.x * 0.5f + sideGap;
|
||||||
|
|
||||||
|
float leftCandidateX = _targetPos.x - horizontalOffset;
|
||||||
|
float rightCandidateX = _targetPos.x + horizontalOffset;
|
||||||
|
|
||||||
|
float finalX;
|
||||||
|
if (IsInsideBounds(leftCandidateX, minX, maxX))
|
||||||
|
{
|
||||||
|
finalX = leftCandidateX;
|
||||||
|
}
|
||||||
|
else if (IsInsideBounds(rightCandidateX, minX, maxX))
|
||||||
|
{
|
||||||
|
finalX = rightCandidateX;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
finalX = minX <= maxX ? Mathf.Clamp(leftCandidateX, minX, maxX) : 0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
_content.anchoredPosition3D = new Vector3(finalX, clampedY, _targetPos.z);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Vector3 ConvertWorldToAnchored(Vector3 worldPos)
|
||||||
|
{
|
||||||
|
if (_content == null)
|
||||||
|
{
|
||||||
|
return worldPos;
|
||||||
|
}
|
||||||
|
|
||||||
|
RectTransform parent = _content.parent as RectTransform;
|
||||||
|
if (parent == null)
|
||||||
|
{
|
||||||
|
return worldPos;
|
||||||
|
}
|
||||||
|
|
||||||
|
Canvas canvas = _content.GetComponentInParent<Canvas>();
|
||||||
|
Canvas rootCanvas = canvas != null ? canvas.rootCanvas : null;
|
||||||
|
Camera uiCamera = null;
|
||||||
|
if (rootCanvas != null && rootCanvas.renderMode != RenderMode.ScreenSpaceOverlay)
|
||||||
|
{
|
||||||
|
uiCamera = rootCanvas.worldCamera != null ? rootCanvas.worldCamera : Camera.main;
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector2 screenPoint = RectTransformUtility.WorldToScreenPoint(uiCamera, worldPos);
|
||||||
|
if (!RectTransformUtility.ScreenPointToLocalPointInRectangle(parent, screenPoint, uiCamera,
|
||||||
|
out Vector2 localPoint))
|
||||||
|
{
|
||||||
|
return worldPos;
|
||||||
|
}
|
||||||
|
|
||||||
|
float z = _content.anchoredPosition3D.z;
|
||||||
|
return new Vector3(localPoint.x, localPoint.y, z);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static bool IsInsideBounds(float value, float min, float max)
|
||||||
|
{
|
||||||
|
return value >= min && value <= max;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RefreshTags(List<TagType> tags)
|
||||||
|
{
|
||||||
|
ClearTags();
|
||||||
|
|
||||||
|
if (_tagAreaParent == null || _tagItemPrefab == null || tags == null || tags.Count <= 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_tagItemPrefab.scene.IsValid() && _tagItemPrefab.transform.IsChildOf(_tagAreaParent))
|
||||||
|
{
|
||||||
|
_tagItemPrefab.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < tags.Count; i++)
|
||||||
|
{
|
||||||
|
string tagName = ResolveTagName(tags[i]);
|
||||||
|
if (string.IsNullOrWhiteSpace(tagName))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
GameObject tagGo = Instantiate(_tagItemPrefab, _tagAreaParent);
|
||||||
|
tagGo.SetActive(true);
|
||||||
|
|
||||||
|
if (tagGo.TryGetComponent(out TagItem tagItem))
|
||||||
|
{
|
||||||
|
tagItem.OnInit(new TagItemContext
|
||||||
|
{
|
||||||
|
TagName = tagName
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TMP_Text tagText = tagGo.GetComponentInChildren<TMP_Text>(true);
|
||||||
|
if (tagText != null)
|
||||||
|
{
|
||||||
|
tagText.text = tagName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_runtimeTagItems.Add(tagGo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ClearTags()
|
||||||
|
{
|
||||||
|
for (int i = _runtimeTagItems.Count - 1; i >= 0; i--)
|
||||||
|
{
|
||||||
|
GameObject tagGo = _runtimeTagItems[i];
|
||||||
|
if (tagGo != null)
|
||||||
|
{
|
||||||
|
Destroy(tagGo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_runtimeTagItems.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static string ResolveTagName(TagType tagType)
|
||||||
|
{
|
||||||
|
if (tagType == TagType.None)
|
||||||
|
{
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
var tagTable = GameEntry.DataTable.GetDataTable<DRTag>();
|
||||||
|
if (tagTable != null)
|
||||||
|
{
|
||||||
|
DRTag tagRow = tagTable.GetDataRow((int)tagType);
|
||||||
|
if (tagRow != null && !string.IsNullOrWhiteSpace(tagRow.Name))
|
||||||
|
{
|
||||||
|
return tagRow.Name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return tagType.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CloseSelf()
|
||||||
|
{
|
||||||
|
GameEntry.UI.CloseUIForm(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool IsPointerInContent(Vector2 screenPoint)
|
||||||
|
{
|
||||||
|
Canvas canvas = _content.GetComponentInParent<Canvas>();
|
||||||
|
Canvas rootCanvas = canvas != null ? canvas.rootCanvas : null;
|
||||||
|
Camera uiCamera = null;
|
||||||
|
if (rootCanvas != null && rootCanvas.renderMode != RenderMode.ScreenSpaceOverlay)
|
||||||
|
{
|
||||||
|
uiCamera = rootCanvas.worldCamera != null ? rootCanvas.worldCamera : Camera.main;
|
||||||
|
}
|
||||||
|
|
||||||
|
return RectTransformUtility.RectangleContainsScreenPoint(_content, screenPoint, uiCamera);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static bool TryGetPointerDownScreenPosition(out Vector2 screenPoint)
|
||||||
|
{
|
||||||
|
if (Input.touchCount > 0)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < Input.touchCount; i++)
|
||||||
|
{
|
||||||
|
Touch touch = Input.GetTouch(i);
|
||||||
|
if (touch.phase != TouchPhase.Began)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
screenPoint = touch.position;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Input.GetMouseButtonDown(0))
|
||||||
|
{
|
||||||
|
screenPoint = Input.mousePosition;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
screenPoint = default;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3c97cf85e5027b944ab0580d944ef660
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -71,5 +71,11 @@ namespace GeometryTD.CustomUtility
|
||||||
{
|
{
|
||||||
return Utility.Text.Format("Assets/GameMain/Entities/LevelMap/Level{0}.prefab", assetName);
|
return Utility.Text.Format("Assets/GameMain/Entities/LevelMap/Level{0}.prefab", assetName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string GetTextureAsset(string assetName)
|
||||||
|
{
|
||||||
|
// Assets/GameMain/Textures/Capsule.png
|
||||||
|
return Utility.Text.Format("Assets/GameMain/Textures/{0}.png", assetName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9f1c0d41a8eb55e4a922bb42e5bc504d
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 2.0 KiB |
|
|
@ -0,0 +1,169 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 80a3790c48fc91d4ebcb4d7e2efbb8c8
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable:
|
||||||
|
- first:
|
||||||
|
213: 7482667652216324306
|
||||||
|
second: Square
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 2
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 256
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: 0
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 1
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: iPhone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites:
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Square
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 0
|
||||||
|
y: 0
|
||||||
|
width: 256
|
||||||
|
height: 256
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 2d009a6b596c7d760800000000000000
|
||||||
|
internalID: 7482667652216324306
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
outline: []
|
||||||
|
physicsShape:
|
||||||
|
- - {x: -128, y: 128}
|
||||||
|
- {x: -128, y: -128}
|
||||||
|
- {x: 128, y: -128}
|
||||||
|
- {x: 128, y: 128}
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable:
|
||||||
|
Square: 7482667652216324306
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 768 B |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 13b0e973df23e984b8dc4d1805c8cf9f
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 780 B |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 884c33b12197e2742bccbfa50fdb76c2
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 780 B |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2ea2940f264ad7f49b67d023d4a25a32
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 793 B |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 37a8a15fff7d4c04aa9f4c1f025c3084
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0e16ddd6337cd494ba5bbe29e92604ee
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7a75d141990275a47b849f3e6b7e4a27
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a45798242b5868e458d9967eec90e12d
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 918 B |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f4a069bdc5659a24b93662085cf8cc98
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a287ed60c27f079458c8206e70655400
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 09edf35b16608e448b3b83f6e08caa47
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b7f5c370701ff524283336b4321fdecb
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 918 B |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3ea2a05a6f841df43bda69afe85f06ff
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4dfc6abd159009142b8e3934b7842ed3
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4ef9d80b045400d4a98478654bd01ca2
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d106ccbc93bfca145bfcd107031889e3
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 918 B |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0cbcf45882a75e54d8c5fd6cbad23b86
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c64bfcd1922f49347868560d49692593
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e6671af404b35584991576cff1a8db2f
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8c1a3d8a012922a42b50b4690794a8d6
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 918 B |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 937cc1207f4dc3941978b32f8cbf75dc
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 780 B |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fe33cca9ef48920419daa2f73e705636
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 793 B |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bba3a33a797595b469866dcea55b376f
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: dc09ac18e8306344ebc213d58ddb10b9
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 918 B |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a169c975d69ea234582b7e3cee0c6dae
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9ce448895a272e140b40285291bfa90a
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 918 B |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 632bca5932d8acc46bc7cf307e829cc3
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
|
|
@ -0,0 +1,127 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ebcd01df01c6a1f4dae70a2d5c51da95
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||