diff --git a/Assets/GameMain/DataTables/BaseComp.txt b/Assets/GameMain/DataTables/BaseComp.txt index 400c172..b2d8a39 100644 --- a/Assets/GameMain/DataTables/BaseComp.txt +++ b/Assets/GameMain/DataTables/BaseComp.txt @@ -1,6 +1,6 @@ -# Id 策划备注 EntityId Name AttackSpeed AttackSpeedPerLevel PropertyType Constraint PossibleTag -# int int string float[] float AttackPropertyType string TagType[] -# 底座编号 实体Id 底座名 各品质攻击速度(秒/次) 每级提升攻击速度 攻击属性 属性约束 可能出现的Tag - 1 301 元素底座 [2,1.5,1,0.8,0.7] -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] - 3 301 穿透底座 [1,0,8,0,6,0.4,0.2] 0 Physics [Pierce,Crit,Overpenetrate,Execution] +# Id 策划备注 Name AttackSpeed AttackSpeedPerLevel PropertyType Constraint PossibleTag +# int string float[] float AttackPropertyType string TagType[] +# 底座编号 底座名 各品质攻击速度(次/秒) 每级提升攻击速度 攻击属性 属性约束 可能出现的Tag + 1 元素底座 [2,2.1,2.2,2.3,2.5] 0.2 Fire [Fire,BurnSpread,IgniteBurst,Inferno] + 2 控制底座 [4,4.2,4.4,4.6,4.8] 0.1 Ice [Ice,FreezeMask,Shatter,AbsoluteZero] + 3 穿透底座 [1,1,1,1,1] 0 Physics [Pierce,Crit,Overpenetrate,Execution] diff --git a/Assets/GameMain/DataTables/BearingComp.txt b/Assets/GameMain/DataTables/BearingComp.txt index 2e1871c..f7ae8ec 100644 --- a/Assets/GameMain/DataTables/BearingComp.txt +++ b/Assets/GameMain/DataTables/BearingComp.txt @@ -1,6 +1,6 @@ -# Id 策划备注 EntityId Name RotateSpeed RotateSpeedPerLevel AttackRange AttackRangePerLevel Constraint PossibleTag -# int int string float[] float float[] float string TagType[] -# 轴承编号 实体Id 轴承名 各品质旋转速度 每级提升旋转速度 各品质攻击范围 每级提升攻击范围 属性约束 可能出现的Tag - 1 201 元素轴承 [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] - 3 201 穿透轴承 [60,70,80,90,100] 20 [4,4.5,5,5.5,6] 0 [Pierce,Crit,Overpenetrate,Execution] +# Id 策划备注 Name RotateSpeed RotateSpeedPerLevel AttackRange AttackRangePerLevel Constraint PossibleTag +# int string float[] float float[] float string TagType[] +# 轴承编号 轴承名 各品质旋转速度 每级提升旋转速度 各品质攻击范围 每级提升攻击范围 属性约束 可能出现的Tag + 1 元素轴承 [10,12,13,14,15] 15 [2,2,2,2,2] 0.3 [Fire,BurnSpread,IgniteBurst,Inferno] + 2 控制轴承 [20,25,30,32,35] 0 [6,6.5,7,8,8] 0.2 [Ice,FreezeMask,Shatter,AbsoluteZero] + 3 穿透轴承 [60,70,80,90,100] 20 [4,4.5,5,5.5,6] 0 [Pierce,Crit,Overpenetrate,Execution] diff --git a/Assets/GameMain/DataTables/MuzzleComp.txt b/Assets/GameMain/DataTables/MuzzleComp.txt index a693061..8085750 100644 --- a/Assets/GameMain/DataTables/MuzzleComp.txt +++ b/Assets/GameMain/DataTables/MuzzleComp.txt @@ -1,6 +1,6 @@ -# Id 策划备注 EntityId Name AttackDamage AttackDamagePerLevel DamageRandomRate Method Constraint PossibleTag -# int int string int[] int float AttackMethodType Constraint TagType[] -# 枪口编号 策划备注 实体Id 枪口名 各品质伤害 每级伤害提升 伤害浮动 攻击方式 Constraint 可能出现的Tag - 1 101 元素枪口 [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] - 3 101 穿透枪口 [50,55,60,80,90] 30 0.02 NormalBullet [Pierce,Crit,Overpenetrate,Execution] +# Id 策划备注 Name AttackDamage AttackDamagePerLevel DamageRandomRate Method Constraint PossibleTag +# int string int[] int float AttackMethodType Constraint TagType[] +# 枪口编号 策划备注 枪口名 各品质伤害 每级伤害提升 伤害浮动 攻击方式 Constraint 可能出现的Tag + 1 元素枪口 [20,30,40,50,80] 10 0.05 NormalBullet [Fire,BurnSpread,IgniteBurst,Inferno] + 2 控制枪口 [30,50,70,90,100] 20 0.01 NormalBullet [Ice,FreezeMask,Shatter,AbsoluteZero] + 3 穿透枪口 [50,55,60,80,90] 30 0.02 NormalBullet [Pierce,Crit,Overpenetrate,Execution] diff --git a/Assets/GameMain/DataTables/OutGameDropPool.txt b/Assets/GameMain/DataTables/OutGameDropPool.txt index c6876d6..1d962e7 100644 --- a/Assets/GameMain/DataTables/OutGameDropPool.txt +++ b/Assets/GameMain/DataTables/OutGameDropPool.txt @@ -10,12 +10,39 @@ 7 Plain White BaseComp 1 10 1 10 8 Plain White BaseComp 2 10 1 10 9 Plain White BaseComp 3 10 1 10 - 10 Plain Green MuzzleComp 1 5 1 10 - 11 Plain Green MuzzleComp 2 5 1 10 - 12 Plain Green MuzzleComp 3 5 1 10 - 13 Plain Green BearingComp 1 5 1 10 - 14 Plain Green BearingComp 2 5 1 10 - 15 Plain Green BearingComp 3 5 1 10 - 16 Plain Green BaseComp 1 5 1 10 - 17 Plain Green BaseComp 2 5 1 10 - 18 Plain Green BaseComp 3 5 1 10 + 10 Plain Green MuzzleComp 1 5 2 10 + 11 Plain Green MuzzleComp 2 5 2 10 + 12 Plain Green MuzzleComp 3 5 2 10 + 13 Plain Green BearingComp 1 5 2 10 + 14 Plain Green BearingComp 2 5 2 10 + 15 Plain Green BearingComp 3 5 2 10 + 16 Plain Green BaseComp 1 5 2 10 + 17 Plain Green BaseComp 2 5 2 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 diff --git a/Assets/GameMain/Entities/TowerEntity.prefab b/Assets/GameMain/Entities/TowerEntity.prefab index ca6c11c..a31ab9c 100644 --- a/Assets/GameMain/Entities/TowerEntity.prefab +++ b/Assets/GameMain/Entities/TowerEntity.prefab @@ -74,7 +74,7 @@ SpriteRenderer: m_SortingLayerID: -1805677833 m_SortingLayer: -1 m_SortingOrder: 2 - m_Sprite: {fileID: 7482667652216324306, guid: 75f5f34dc1b5347e0b8351032682f224, + m_Sprite: {fileID: 7482667652216324306, guid: 5ba74e3a185274149b15c24b321bead2, type: 3} m_Color: {r: 1, g: 0.40566027, b: 0.40566027, a: 1} m_FlipX: 0 @@ -155,7 +155,6 @@ MonoBehaviour: _baseComp: {fileID: 9032148832249544824} _scanOrigin: {fileID: 6791423131335728073} _retargetInterval: 0.1 - _autoUpdate: 0 _attackRangeRenderer: {fileID: 4014432302095443276} _attackRangeSegments: 64 _attackRangeLineWidth: 0.08 @@ -352,7 +351,7 @@ SpriteRenderer: m_SortingLayerID: -1805677833 m_SortingLayer: -1 m_SortingOrder: 1 - m_Sprite: {fileID: -2413806693520163455, guid: a86470a33a6bf42c4b3595704624658b, + m_Sprite: {fileID: -2413806693520163455, guid: e31321df62f1587469b0733897970679, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -455,7 +454,7 @@ SpriteRenderer: m_SortingLayerID: -1805677833 m_SortingLayer: -1 m_SortingOrder: 0 - m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, + m_Sprite: {fileID: 7482667652216324306, guid: 80a3790c48fc91d4ebcb4d7e2efbb8c8, type: 3} m_Color: {r: 0.3584906, g: 0.3584906, b: 0.3584906, a: 1} m_FlipX: 0 diff --git a/Assets/GameMain/Scripts/Base/GameEntry.Custom.cs b/Assets/GameMain/Scripts/Base/GameEntry.Custom.cs index a2e6a8f..e805f32 100644 --- a/Assets/GameMain/Scripts/Base/GameEntry.Custom.cs +++ b/Assets/GameMain/Scripts/Base/GameEntry.Custom.cs @@ -21,6 +21,8 @@ public partial class GameEntry public static ShopNodeComponent ShopNode { get; private set; } public static ResolutionAdapterComponent ResolutionAdapter { get; private set; } + + public static SpriteCacheComponent SpriteCache { get; private set; } private static void InitCustomComponents() { @@ -32,5 +34,6 @@ public partial class GameEntry CombatNode = UnityGameFramework.Runtime.GameEntry.GetComponent(); ShopNode = UnityGameFramework.Runtime.GameEntry.GetComponent(); ResolutionAdapter = UnityGameFramework.Runtime.GameEntry.GetComponent(); + SpriteCache = UnityGameFramework.Runtime.GameEntry.GetComponent(); } } \ No newline at end of file diff --git a/Assets/GameMain/Scripts/CustomComponent/CombatNode/CombatScheduler/CombatResourceManager.cs b/Assets/GameMain/Scripts/CustomComponent/CombatNode/CombatScheduler/CombatResourceManager.cs index 9120383..fc42020 100644 --- a/Assets/GameMain/Scripts/CustomComponent/CombatNode/CombatScheduler/CombatResourceManager.cs +++ b/Assets/GameMain/Scripts/CustomComponent/CombatNode/CombatScheduler/CombatResourceManager.cs @@ -10,9 +10,15 @@ namespace GeometryTD.CustomComponent { internal sealed class CombatResourceManager { + // 每次击杀敌人后,进入“掉组件判定”的概率: + // chance = clamp(DropChanceBase + (phaseIndex - 1) * DropChancePerPhase, 0, DropChanceCap) private const float DropChanceBase = 0.05f; - private const float DropChancePerPhase = 0.0125f; - private const float DropChanceCap = 0.45f; + private const float DropChancePerPhase = 0.2f; + private const float DropChanceCap = 0.2f; + + // 用于把阶段映射到 [0,1] 的稀有度曲线输入: + // phaseT = clamp01((phaseIndex - 1) / RarityCurveScalePhase) + // 该值越大,稀有度随阶段提升的节奏越慢。 private const float RarityCurveScalePhase = 30f; private readonly List _eligibleDropPoolBuffer = new(); @@ -78,6 +84,13 @@ namespace GeometryTD.CustomComponent _rewardInventory.Gold += gold; } + /// + /// 击杀敌人时的掉落入口。 + /// displayPhaseIndex 会影响: + /// 1) 总掉落概率(由 DropChanceBase / DropChancePerPhase / DropChanceCap 决定) + /// 2) 稀有度倾向(通过 phaseT 进入 RollRarity) + /// themeType 会按关卡主题过滤掉落池(LevelThemeType 不匹配直接不参与)。 + /// public bool TryRollOutGameItemDrop(int displayPhaseIndex, LevelThemeType themeType) { int phaseIndex = Mathf.Max(1, displayPhaseIndex); @@ -113,6 +126,10 @@ namespace GeometryTD.CustomComponent return false; } + /// + /// 直接抽取一个具体掉落物(不走前面的总掉率门槛)。 + /// 但 displayPhaseIndex 和 themeType 仍会通过掉落池过滤、稀有度加权影响结果。 + /// public bool TryRollOutGameItem(int displayPhaseIndex, LevelThemeType themeType, out TowerCompItemData droppedItem) { droppedItem = null; @@ -178,6 +195,12 @@ namespace GeometryTD.CustomComponent return candidates; } + /// + /// 两阶段加权抽样: + /// 1) 先按主题 + 阶段区间过滤候选行 + /// 2) 先抽稀有度(稀有度权重 = 同稀有度所有行的 row.Weight * 稀有度曲线权重 之和) + /// 3) 在该稀有度内再按 row.Weight 抽具体行 + /// private bool TryPickDropPoolRow(int displayPhaseIndex, LevelThemeType themeType, out DROutGameDropPool selectedRow) { selectedRow = null; @@ -197,11 +220,13 @@ namespace GeometryTD.CustomComponent continue; } + // 主题过滤:主题不匹配的行,概率为 0。 if (row.LevelThemeType != themeType) { continue; } + // 阶段过滤:不在 [MinPhase, MaxPhase] 的行,概率为 0。 if (displayPhaseIndex < row.MinPhase || displayPhaseIndex > row.MaxPhase) { continue; @@ -230,6 +255,7 @@ namespace GeometryTD.CustomComponent continue; } + // 在已选稀有度内,row.Weight 是线性权重倍率。 totalWeight += Mathf.Max(1, row.Weight); } @@ -260,6 +286,12 @@ namespace GeometryTD.CustomComponent return selectedRow != null; } + /// + /// 在过滤后的候选行里抽稀有度。 + /// 实际稀有度权重公式: + /// rarityWeight = sum(max(1, row.Weight) * GetRarityCurveWeight(row.Rarity, phaseT)) + /// 其中 phaseT = clamp01((displayPhaseIndex - 1) / RarityCurveScalePhase)。 + /// private RarityType RollRarity(int displayPhaseIndex, List candidates) { _rarityRollWeightBuffer.Clear(); @@ -318,6 +350,14 @@ namespace GeometryTD.CustomComponent return RarityType.None; } + /// + /// 返回各稀有度在当前阶段的曲线权重。 + /// 返回值越大,该稀有度在 RollRarity 中越容易被抽到。 + /// phaseT 取值范围为 [0,1]: + /// - White/Green:钟形趋势(前中期权重更高) + /// - Blue/Purple:随阶段近似线性上升 + /// - Red:随阶段二次上升(前期很低,后期明显抬升) + /// private static float GetRarityCurveWeight(RarityType rarityType, float phaseT) { float hump = Mathf.Exp(-Mathf.Pow((phaseT - 0.35f) / 0.28f, 2f)); diff --git a/Assets/GameMain/Scripts/CustomComponent/SpriteCacheComponent.cs b/Assets/GameMain/Scripts/CustomComponent/SpriteCacheComponent.cs new file mode 100644 index 0000000..ea6c40f --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/SpriteCacheComponent.cs @@ -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 _spriteCache; + private Dictionary>> _pendingCallbacks; + private ResourceComponent _resource; + + void Start() + { + _spriteCache = new Dictionary(); + _pendingCallbacks = new Dictionary>>(); + _resource = GameEntry.Resource; + } + + public void GetSprite(string assetName, Action 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> { 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; + } + } +} diff --git a/Assets/GameMain/Scripts/Event/RepoForm/RepoItemSelectedEventArgs.cs.meta b/Assets/GameMain/Scripts/CustomComponent/SpriteCacheComponent.cs.meta similarity index 83% rename from Assets/GameMain/Scripts/Event/RepoForm/RepoItemSelectedEventArgs.cs.meta rename to Assets/GameMain/Scripts/CustomComponent/SpriteCacheComponent.cs.meta index ff82285..8669851 100644 --- a/Assets/GameMain/Scripts/Event/RepoForm/RepoItemSelectedEventArgs.cs.meta +++ b/Assets/GameMain/Scripts/CustomComponent/SpriteCacheComponent.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c5c0e535b0c3a4c4fa2a9e12f57c77ae +guid: 8b0237c7a9ed81745b92fe3f1bd45af4 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/GameMain/Scripts/DataTable/DRBaseComp.cs b/Assets/GameMain/Scripts/DataTable/DRBaseComp.cs index f9fe3cd..82653de 100644 --- a/Assets/GameMain/Scripts/DataTable/DRBaseComp.cs +++ b/Assets/GameMain/Scripts/DataTable/DRBaseComp.cs @@ -16,12 +16,7 @@ namespace GeometryTD.DataTable /// 获取底座组件编号 /// public override int Id => m_Id; - - /// - /// 获取底座组件实体编号 - /// - public int EntityId { get; private set; } - + /// /// 获取底座组件名 /// @@ -64,7 +59,6 @@ namespace GeometryTD.DataTable index++; m_Id = int.Parse(columnStrings[index++]); index++; - EntityId = int.Parse(columnStrings[index++]); Name = columnStrings[index++]; AttackSpeed = GenerateAttackSpeed(columnStrings[index++]); AttackSpeedPerLevel = float.Parse(columnStrings[index++]); diff --git a/Assets/GameMain/Scripts/DataTable/DRBearingComp.cs b/Assets/GameMain/Scripts/DataTable/DRBearingComp.cs index 072254e..54cc521 100644 --- a/Assets/GameMain/Scripts/DataTable/DRBearingComp.cs +++ b/Assets/GameMain/Scripts/DataTable/DRBearingComp.cs @@ -17,11 +17,6 @@ namespace GeometryTD.DataTable /// public override int Id => m_Id; - /// - /// 获取轴承组件实体编号 - /// - public int EntityId { get; private set; } - /// /// 获取轴承组件名 /// @@ -69,7 +64,6 @@ namespace GeometryTD.DataTable index++; m_Id = int.Parse(columnStrings[index++]); index++; - EntityId = int.Parse(columnStrings[index++]); Name = columnStrings[index++]; RotateSpeed = GenerateFloatArray(columnStrings[index++]); RotateSpeedPerLevel = float.Parse(columnStrings[index++]); diff --git a/Assets/GameMain/Scripts/DataTable/DRMuzzleComp.cs b/Assets/GameMain/Scripts/DataTable/DRMuzzleComp.cs index c36b938..15ff629 100644 --- a/Assets/GameMain/Scripts/DataTable/DRMuzzleComp.cs +++ b/Assets/GameMain/Scripts/DataTable/DRMuzzleComp.cs @@ -16,12 +16,7 @@ namespace GeometryTD.DataTable /// 获取枪口组件编号 /// public override int Id => m_Id; - - /// - /// 获取枪口组件实体编号 - /// - public int EntityId { get; private set; } - + /// /// 获取枪口组件名 /// @@ -69,7 +64,6 @@ namespace GeometryTD.DataTable index++; m_Id = int.Parse(columnStrings[index++]); index++; - EntityId = int.Parse(columnStrings[index++]); Name = columnStrings[index++]; AttackDamage = GenerateAttackDamage(columnStrings[index++]); AttackDamagePerLevel = int.Parse(columnStrings[index++]); diff --git a/Assets/GameMain/Scripts/Event/RepoForm/RepoFormReturnEventArgs.cs b/Assets/GameMain/Scripts/Event/RepoForm/RepoFormReturnEventArgs.cs new file mode 100644 index 0000000..d9fa41e --- /dev/null +++ b/Assets/GameMain/Scripts/Event/RepoForm/RepoFormReturnEventArgs.cs @@ -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(); + } + } +} \ No newline at end of file diff --git a/Assets/GameMain/Scripts/Event/RepoForm/RepoFormReturnEventArgs.cs.meta b/Assets/GameMain/Scripts/Event/RepoForm/RepoFormReturnEventArgs.cs.meta new file mode 100644 index 0000000..98dd5a3 --- /dev/null +++ b/Assets/GameMain/Scripts/Event/RepoForm/RepoFormReturnEventArgs.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 715637c38a07476890901dd8737fc052 +timeCreated: 1772595255 \ No newline at end of file diff --git a/Assets/GameMain/Scripts/Event/RepoForm/RepoItemDetailRequestedEventArgs.cs b/Assets/GameMain/Scripts/Event/RepoForm/RepoItemDetailRequestedEventArgs.cs new file mode 100644 index 0000000..fc93d44 --- /dev/null +++ b/Assets/GameMain/Scripts/Event/RepoForm/RepoItemDetailRequestedEventArgs.cs @@ -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(); + args.ItemId = itemId; + args.TargetPos = targetPos; + return args; + } + + public override void Clear() + { + ItemId = 0; + TargetPos = Vector3.zero; + } + } +} diff --git a/Assets/GameMain/Scripts/Event/RepoForm/RepoItemDetailRequestedEventArgs.cs.meta b/Assets/GameMain/Scripts/Event/RepoForm/RepoItemDetailRequestedEventArgs.cs.meta new file mode 100644 index 0000000..073e368 --- /dev/null +++ b/Assets/GameMain/Scripts/Event/RepoForm/RepoItemDetailRequestedEventArgs.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6e6a01b06c4b4a468d40356dc05e003f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: \ No newline at end of file diff --git a/Assets/GameMain/Scripts/Event/RepoForm/RepoItemDragEndedEventArgs.cs b/Assets/GameMain/Scripts/Event/RepoForm/RepoItemDragEndedEventArgs.cs new file mode 100644 index 0000000..8d8a8e0 --- /dev/null +++ b/Assets/GameMain/Scripts/Event/RepoForm/RepoItemDragEndedEventArgs.cs @@ -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(); + args.ItemId = itemId; + args.Assigned = assigned; + return args; + } + + public override void Clear() + { + ItemId = 0; + Assigned = false; + } + } +} diff --git a/Assets/GameMain/Scripts/Event/RepoForm/RepoItemDragEndedEventArgs.cs.meta b/Assets/GameMain/Scripts/Event/RepoForm/RepoItemDragEndedEventArgs.cs.meta new file mode 100644 index 0000000..52a028e --- /dev/null +++ b/Assets/GameMain/Scripts/Event/RepoForm/RepoItemDragEndedEventArgs.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: de9c832a47e04d39b84c3fb561602bb3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: \ No newline at end of file diff --git a/Assets/GameMain/Scripts/Event/RepoForm/RepoItemSelectedEventArgs.cs b/Assets/GameMain/Scripts/Event/RepoForm/RepoItemSelectedEventArgs.cs deleted file mode 100644 index c1db4fc..0000000 --- a/Assets/GameMain/Scripts/Event/RepoForm/RepoItemSelectedEventArgs.cs +++ /dev/null @@ -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(); - args.ItemId = itemId; - return args; - } - - public override void Clear() - { - ItemId = 0; - } - } -} diff --git a/Assets/GameMain/Scripts/UI/Combat/Controller/CombatFinishFormController.cs b/Assets/GameMain/Scripts/UI/Combat/Controller/CombatFinishFormController.cs index 4c526e4..5c67cdd 100644 --- a/Assets/GameMain/Scripts/UI/Combat/Controller/CombatFinishFormController.cs +++ b/Assets/GameMain/Scripts/UI/Combat/Controller/CombatFinishFormController.cs @@ -1,7 +1,9 @@ using System.Collections.Generic; using GameFramework.Event; using GeometryTD.CustomEvent; +using GeometryTD.CustomUtility; using GeometryTD.Definition; +using UnityEngine; using UnityGameFramework.Runtime; namespace GeometryTD.UI @@ -9,6 +11,14 @@ namespace GeometryTD.UI public class CombatFinishFormController : UIFormControllerCommonBase { private CombatFinishFormUseCase _useCase; + private readonly Dictionary _itemDescSeedMap = new Dictionary(); + + private sealed class ItemDescSeed + { + public string Title; + public string TypeText; + public TagType[] Tags; + } protected override UIFormType UIFormTypeId => UIFormType.CombatFinishForm; @@ -20,11 +30,13 @@ namespace GeometryTD.UI protected override void SubscribeCustomEvents() { GameEntry.Event.Subscribe(CombatFinishReturnEventArgs.EventId, OnCombatFinishReturnButtonClicked); + GameEntry.Event.Subscribe(RepoItemDetailRequestedEventArgs.EventId, OnRepoItemDetailRequested); } protected override void UnsubscribeCustomEvents() { GameEntry.Event.Unsubscribe(CombatFinishReturnEventArgs.EventId, OnCombatFinishReturnButtonClicked); + GameEntry.Event.Unsubscribe(RepoItemDetailRequestedEventArgs.EventId, OnRepoItemDetailRequested); } public override int? OpenUI(object userData = null) @@ -72,8 +84,9 @@ namespace GeometryTD.UI _useCase = combatFinishFormUseCase; } - private static CombatFinishFormContext BuildContext(CombatFinishFormRawData rawData) + private CombatFinishFormContext BuildContext(CombatFinishFormRawData rawData) { + _itemDescSeedMap.Clear(); if (rawData == null) { return null; @@ -88,7 +101,7 @@ namespace GeometryTD.UI }; } - private static RepoItemContext[] BuildRewardItems(BackpackInventoryData inventory) + private RepoItemContext[] BuildRewardItems(BackpackInventoryData inventory) { if (inventory == null) { @@ -109,11 +122,14 @@ namespace GeometryTD.UI itemContexts.Add(new RepoItemContext { - Title = $"[Tower] {tower.Name} ({tower.Rarity})", InstanceId = tower.InstanceId, + CanDrag = false, 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 { - Title = $"[Muzzle] {item.Name} ({item.Rarity})", InstanceId = item.InstanceId, + CanDrag = false, ComponentSlotType = TowerCompSlotType.Muzzle, - IconAreaContext = BuildIconAreaContext(item.Rarity) + IconAreaContext = BuildIconAreaContext(item) }); + + AddItemDescSeed(item.InstanceId, item.Name, BuildComponentTypeText(item.SlotType), item.Tags); } } 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) { continue; @@ -149,11 +166,13 @@ namespace GeometryTD.UI itemContexts.Add(new RepoItemContext { - Title = $"[Bearing] {item.Name} ({item.Rarity})", InstanceId = item.InstanceId, + CanDrag = false, 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 { - Title = $"[Base] {item.Name} ({item.Rarity})", InstanceId = item.InstanceId, + CanDrag = false, ComponentSlotType = TowerCompSlotType.Base, - IconAreaContext = BuildIconAreaContext(item.Rarity) + IconAreaContext = BuildIconAreaContext(item) }); + + AddItemDescSeed(item.InstanceId, item.Name, BuildComponentTypeText(item.SlotType), item.Tags); } } 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(); + } + + 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 + { + ComponentSlotType = TowerCompSlotType.None, + Rarity = RarityType.None, + Color = Color.white, + Icon = null + }; + } + return new IconAreaContext { - Rarity = rarity, + 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 }; } private void OnCombatFinishReturnButtonClicked(object sender, GameEventArgs e) { - if (!(sender is CombatFinishForm) || !(e is CombatFinishReturnEventArgs)) + if (!IsEventFromCurrentForm(sender) || !(e is CombatFinishReturnEventArgs)) { return; } _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(); + return ownerForm == Form; + } + + return false; + } } } diff --git a/Assets/GameMain/Scripts/UI/Game/Context/RepoItemContext.cs b/Assets/GameMain/Scripts/UI/Game/Context/RepoItemContext.cs index 7d51d2d..c94b491 100644 --- a/Assets/GameMain/Scripts/UI/Game/Context/RepoItemContext.cs +++ b/Assets/GameMain/Scripts/UI/Game/Context/RepoItemContext.cs @@ -1,11 +1,13 @@ +using System; using GeometryTD.Definition; namespace GeometryTD.UI { + [Serializable] public class RepoItemContext { - public string Title; public long InstanceId; + public bool CanDrag; public TowerCompSlotType ComponentSlotType; public IconAreaContext IconAreaContext; } diff --git a/Assets/GameMain/Scripts/UI/Game/Controller/RepoFormController.cs b/Assets/GameMain/Scripts/UI/Game/Controller/RepoFormController.cs index 1c2d473..a13c0a4 100644 --- a/Assets/GameMain/Scripts/UI/Game/Controller/RepoFormController.cs +++ b/Assets/GameMain/Scripts/UI/Game/Controller/RepoFormController.cs @@ -1,7 +1,10 @@ +using System; using System.Collections.Generic; using GeometryTD.CustomEvent; using GeometryTD.Definition; using GameFramework.Event; +using GeometryTD.CustomUtility; +using UnityEngine; using UnityGameFramework.Runtime; namespace GeometryTD.UI @@ -10,6 +13,14 @@ namespace GeometryTD.UI { private RepoFormUseCase _useCase; private readonly Dictionary _itemContextMap = new Dictionary(); + private readonly Dictionary _itemDescSeedMap = new Dictionary(); + + private sealed class ItemDescSeed + { + public string Title; + public string TypeText; + public TagType[] Tags; + } protected override UIFormType UIFormTypeId => UIFormType.RepoForm; @@ -20,14 +31,18 @@ namespace GeometryTD.UI 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(RepoFormReturnEventArgs.EventId, OnRepoFormReturn); } 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(RepoFormReturnEventArgs.EventId, OnRepoFormReturn); } public override int? OpenUI(object userData = null) @@ -78,6 +93,7 @@ namespace GeometryTD.UI private RepoFormContext BuildContext(RepoFormRawData rawData) { _itemContextMap.Clear(); + _itemDescSeedMap.Clear(); if (rawData?.Inventory == null) { return null; @@ -87,57 +103,82 @@ namespace GeometryTD.UI 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 { - Title = $"[Tower] {tower.Name} ({tower.Rarity})", InstanceId = tower.InstanceId, + CanDrag = true, 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) { - foreach (var item in rawData.Inventory.MuzzleComponents) + foreach (MuzzleCompItemData item in rawData.Inventory.MuzzleComponents) { + if (item == null) + { + continue; + } + AddItemContext(items, new RepoItemContext { - Title = $"[Muzzle] {item.Name} ({item.Rarity})", InstanceId = item.InstanceId, + CanDrag = true, 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) { - foreach (var item in rawData.Inventory.BearingComponents) + foreach (BearingCompItemData item in rawData.Inventory.BearingComponents) { + if (item == null) + { + continue; + } + AddItemContext(items, new RepoItemContext { - Title = $"[Bearing] {item.Name} ({item.Rarity})", InstanceId = item.InstanceId, + CanDrag = true, 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) { - foreach (var item in rawData.Inventory.BaseComponents) + foreach (BaseCompItemData item in rawData.Inventory.BaseComponents) { + if (item == null) + { + continue; + } + AddItemContext(items, new RepoItemContext { - Title = $"[Base] {item.Name} ({item.Rarity})", InstanceId = item.InstanceId, + CanDrag = true, 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; } - 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(); + } + + 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 + { + ComponentSlotType = TowerCompSlotType.None, + Rarity = RarityType.None, + Color = Color.white, + Icon = null + }; + } + return new IconAreaContext { - Rarity = rarity, + ComponentSlotType = TowerCompSlotType.None, + Rarity = tower.Rarity, + Color = IconColorGenerator.GenerateForTower(tower), Icon = null }; } - private void OnRepoItemSelected(object sender, GameEventArgs e) + private static IconAreaContext BuildIconAreaContext(TowerCompItemData item) { - if (!(e is RepoItemSelectedEventArgs args)) + 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; } - if (Form == null || !_itemContextMap.TryGetValue(args.ItemId, out RepoItemContext itemContext)) + if (!(e is RepoItemDetailRequestedEventArgs args)) { return; } - bool assigned = Form.TryAssignItemToCombineArea(itemContext); - if (assigned) + if (!_itemDescSeedMap.TryGetValue(args.ItemId, out ItemDescSeed seed)) { - 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) { + if (!IsEventFromCurrentForm(sender)) + { + return; + } + if (!(e is CombineSlotClickedEventArgs args)) { return; @@ -207,5 +351,43 @@ namespace GeometryTD.UI 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(); + return ownerForm == Form; + } + + return false; + } + + #endregion } } diff --git a/Assets/GameMain/Scripts/UI/Game/View/CombineArea.cs b/Assets/GameMain/Scripts/UI/Game/View/CombineArea.cs index 4abd789..a11e30a 100644 --- a/Assets/GameMain/Scripts/UI/Game/View/CombineArea.cs +++ b/Assets/GameMain/Scripts/UI/Game/View/CombineArea.cs @@ -1,9 +1,10 @@ using GeometryTD.Definition; using UnityEngine; +using UnityEngine.EventSystems; namespace GeometryTD.UI { - public class CombineArea : MonoBehaviour + public class CombineArea : MonoBehaviour, IDropHandler { [SerializeField] private CombineSlotItem[] _slots; @@ -80,6 +81,34 @@ namespace GeometryTD.UI return true; } + public void OnDrop(PointerEventData eventData) + { + if (eventData == null) + { + return; + } + + GameObject pointerDrag = eventData.pointerDrag; + if (pointerDrag == null) + { + return; + } + + RepoItem repoItem = pointerDrag.GetComponent(); + if (repoItem == null) + { + repoItem = pointerDrag.GetComponentInParent(); + } + + if (repoItem == null) + { + return; + } + + bool assigned = TryAssignItem(repoItem.Context); + repoItem.SetDropResult(assigned); + } + private CombineSlotItem FindSlot(TowerCompSlotType slotType) { if (_slots == null) @@ -99,4 +128,4 @@ namespace GeometryTD.UI return null; } } -} \ No newline at end of file +} diff --git a/Assets/GameMain/Scripts/UI/Game/View/CombineSlotItem.cs b/Assets/GameMain/Scripts/UI/Game/View/CombineSlotItem.cs index 7c3a9a0..c58e83e 100644 --- a/Assets/GameMain/Scripts/UI/Game/View/CombineSlotItem.cs +++ b/Assets/GameMain/Scripts/UI/Game/View/CombineSlotItem.cs @@ -1,6 +1,5 @@ using GeometryTD.CustomEvent; using GeometryTD.Definition; -using TMPro; using UnityEngine; namespace GeometryTD.UI @@ -9,12 +8,10 @@ namespace GeometryTD.UI { [SerializeField] private TowerCompSlotType _acceptSlotType = TowerCompSlotType.None; - [SerializeField] private TMP_Text _titleText; + [SerializeField] private IconArea _iconArea; [SerializeField] private CommonButton _button; - private string _defaultTitle = string.Empty; - private long _boundItemId; private int _slotIndex = -1; @@ -27,18 +24,11 @@ namespace GeometryTD.UI public long BoundItemId => _boundItemId; - private void Awake() - { - if (_titleText != null) - { - _defaultTitle = _titleText.text; - } - } - public void OnInit(int slotIndex) { _slotIndex = slotIndex; ClearSlot(); + _iconArea.OnReset(); } public void BindItem(RepoItemContext itemContext) @@ -46,9 +36,9 @@ namespace GeometryTD.UI _boundItemId = itemContext?.InstanceId ?? 0; _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; _button.Interactive = false; - - if (_titleText != null) - { - _titleText.text = _defaultTitle; - } + _iconArea.OnReset(); } public void OnReset() { _slotIndex = -1; ClearSlot(); + _iconArea.OnReset(); } public void OnClick() diff --git a/Assets/GameMain/Scripts/UI/Game/View/CompArea.cs b/Assets/GameMain/Scripts/UI/Game/View/CompArea.cs index e051223..8c734cd 100644 --- a/Assets/GameMain/Scripts/UI/Game/View/CompArea.cs +++ b/Assets/GameMain/Scripts/UI/Game/View/CompArea.cs @@ -2,20 +2,21 @@ using System.Collections.Generic; using GameFramework.ObjectPool; using GeometryTD.PoolObjectBase; using UnityEngine; +using UnityEngine.Serialization; using UnityGameFramework.Runtime; namespace GeometryTD.UI { public class CompArea : MonoBehaviour { - [SerializeField] private Transform m_Content; - [SerializeField] private RepoItem m_ItemTemplate; - [SerializeField] private int m_InstancePoolCapacity = 64; + [FormerlySerializedAs("m_Content")] [SerializeField] private Transform _content; + [FormerlySerializedAs("m_ItemTemplate")] [SerializeField] private RepoItem _itemTemplate; + [FormerlySerializedAs("m_InstancePoolCapacity")] [SerializeField] private int _instancePoolCapacity = 64; - private readonly List m_ActiveItems = new List(); - private readonly Dictionary m_ItemMap = new Dictionary(); - private IObjectPool m_ItemPool; - private string m_PoolName; + private readonly List _activeItems = new List(); + private readonly Dictionary _itemMap = new Dictionary(); + private IObjectPool _itemPool; + private string _poolName; public void OnInit(CompAreaContext context) { @@ -33,7 +34,7 @@ namespace GeometryTD.UI return; } - for (int i = 0; i < context.Items.Length; i++) + foreach (var itemContext in context.Items) { RepoItem item = CreateOrSpawnItem(); if (item == null) @@ -42,17 +43,17 @@ namespace GeometryTD.UI } item.gameObject.SetActive(true); - item.OnInit(context.Items[i]); - m_ActiveItems.Add(item); - m_ItemMap[context.Items[i].InstanceId] = item; + item.OnInit(itemContext); + _activeItems.Add(item); + _itemMap[itemContext.InstanceId] = item; } } 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) { continue; @@ -60,54 +61,54 @@ namespace GeometryTD.UI item.OnReset(); item.gameObject.SetActive(false); - m_ItemPool?.Unspawn(item); + _itemPool?.Unspawn(item); } - m_ActiveItems.Clear(); - m_ItemMap.Clear(); + _activeItems.Clear(); + _itemMap.Clear(); } private void OnDestroy() { OnReset(); - m_ItemPool?.ReleaseAllUnused(); + _itemPool?.ReleaseAllUnused(); } private void EnsurePool() { - if (m_ItemPool != null) + if (_itemPool != null) { return; } - m_PoolName = $"RepoItemPool_{GetInstanceID()}"; - m_ItemPool = GameEntry.ObjectPool.CreateSingleSpawnObjectPool(m_PoolName, m_InstancePoolCapacity); + _poolName = $"RepoItemPool_{GetInstanceID()}"; + _itemPool = GameEntry.ObjectPool.CreateSingleSpawnObjectPool(_poolName, _instancePoolCapacity); } private RepoItem CreateOrSpawnItem() { - if (m_ItemPool == null) + if (_itemPool == null) { return null; } - RepoItemObject itemObject = m_ItemPool.Spawn(); + RepoItemObject itemObject = _itemPool.Spawn(); RepoItem item = itemObject != null ? (RepoItem)itemObject.Target : null; if (item == null) { - if (m_ItemTemplate == null) + if (_itemTemplate == null) { Log.Warning("CompArea requires an item template."); return null; } - item = Instantiate(m_ItemTemplate); - m_ItemPool.Register(RepoItemObject.Create(item), true); + item = Instantiate(_itemTemplate); + _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; @@ -115,7 +116,7 @@ namespace GeometryTD.UI public void SetItemSelected(long itemId, bool isSelected) { - if (!m_ItemMap.TryGetValue(itemId, out RepoItem item)) + if (!_itemMap.TryGetValue(itemId, out RepoItem item)) { return; } diff --git a/Assets/GameMain/Scripts/UI/Game/View/RepoForm.cs b/Assets/GameMain/Scripts/UI/Game/View/RepoForm.cs index 342cddd..2ee95f6 100644 --- a/Assets/GameMain/Scripts/UI/Game/View/RepoForm.cs +++ b/Assets/GameMain/Scripts/UI/Game/View/RepoForm.cs @@ -1,3 +1,4 @@ +using GeometryTD.CustomEvent; using UnityEngine; using UnityGameFramework.Runtime; @@ -63,5 +64,10 @@ namespace GeometryTD.UI _compArea?.OnReset(); base.OnClose(isShutdown, userData); } + + public void OnReturnButtonClick() + { + GameEntry.Event.Fire(this, RepoFormReturnEventArgs.Create()); + } } -} +} \ No newline at end of file diff --git a/Assets/GameMain/Scripts/UI/Game/View/RepoItem.cs b/Assets/GameMain/Scripts/UI/Game/View/RepoItem.cs index ff24149..8c05584 100644 --- a/Assets/GameMain/Scripts/UI/Game/View/RepoItem.cs +++ b/Assets/GameMain/Scripts/UI/Game/View/RepoItem.cs @@ -1,20 +1,49 @@ +using System.Collections; using GeometryTD.CustomEvent; -using TMPro; +using GeometryTD.Definition; using UnityEngine; +using UnityEngine.EventSystems; using UnityEngine.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 IconArea _iconArea; 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 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(); + if (_canvasGroup == null) + { + _canvasGroup = gameObject.AddComponent(); + } + } + + private void OnDisable() + { + CancelPendingOpenDetail(); + ResetDragState(); + } public void OnInit(RepoItemContext context) { @@ -26,30 +55,25 @@ namespace GeometryTD.UI _context = context; - if (_titleText != null) - { - _titleText.text = context.Title ?? string.Empty; - } - _iconArea.OnInit(context.IconAreaContext); - + SetSelected(false); + ResetDragState(); } public void OnReset() { + CancelPendingOpenDetail(); _context = null; - - if (_titleText != null) - { - _titleText.text = string.Empty; - } + _iconArea.OnReset(); SetSelected(false); + ResetDragState(); } public void SetSelected(bool isSelected) { + _isSelected = isSelected; if (_highlightImage == null) { return; @@ -65,7 +89,273 @@ namespace GeometryTD.UI 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(); + 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(); + _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(); + ghostImage.raycastTarget = false; + ghostImage.sprite = iconSprite; + ghostImage.color = _iconArea.CurrentIconColor; + ghostImage.material = _iconArea.CurrentIconMaterial; + ghostImage.preserveAspect = true; + + CanvasGroup ghostCanvasGroup = _dragGhostObject.GetComponent(); + 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; + } } } } diff --git a/Assets/GameMain/Scripts/UI/General/Context/IconAreaContext.cs b/Assets/GameMain/Scripts/UI/General/Context/IconAreaContext.cs index 2f23617..ec79155 100644 --- a/Assets/GameMain/Scripts/UI/General/Context/IconAreaContext.cs +++ b/Assets/GameMain/Scripts/UI/General/Context/IconAreaContext.cs @@ -1,12 +1,15 @@ +using System; using GeometryTD.Definition; -using GeometryTD.UI; using UnityEngine; namespace GeometryTD.UI { + [Serializable] public class IconAreaContext : UIContext { public RarityType Rarity; + public TowerCompSlotType ComponentSlotType; + public Color Color = Color.white; public Sprite Icon; } -} \ No newline at end of file +} diff --git a/Assets/GameMain/Scripts/UI/General/Context/ItemDescFormContext.cs b/Assets/GameMain/Scripts/UI/General/Context/ItemDescFormContext.cs new file mode 100644 index 0000000..59540be --- /dev/null +++ b/Assets/GameMain/Scripts/UI/General/Context/ItemDescFormContext.cs @@ -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 Tags; + } +} \ No newline at end of file diff --git a/Assets/GameMain/Scripts/UI/General/Context/ItemDescFormContext.cs.meta b/Assets/GameMain/Scripts/UI/General/Context/ItemDescFormContext.cs.meta new file mode 100644 index 0000000..2d1084c --- /dev/null +++ b/Assets/GameMain/Scripts/UI/General/Context/ItemDescFormContext.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d01ce2ecd9339fb40acface0ef371ed4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/UI/General/Controller/ItemDescFormController.cs b/Assets/GameMain/Scripts/UI/General/Controller/ItemDescFormController.cs new file mode 100644 index 0000000..1e24931 --- /dev/null +++ b/Assets/GameMain/Scripts/UI/General/Controller/ItemDescFormController.cs @@ -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 BuildTags(TagType[] tags) + { + if (tags == null || tags.Length <= 0) + { + return new List(); + } + + return new List(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."); + } + } + } +} diff --git a/Assets/GameMain/Scripts/UI/General/Controller/ItemDescFormController.cs.meta b/Assets/GameMain/Scripts/UI/General/Controller/ItemDescFormController.cs.meta new file mode 100644 index 0000000..396e002 --- /dev/null +++ b/Assets/GameMain/Scripts/UI/General/Controller/ItemDescFormController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2970dfbfc4901234ca38bda4d94d01d5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/UI/General/Controller/RewardSelectFormController.cs b/Assets/GameMain/Scripts/UI/General/Controller/RewardSelectFormController.cs index ba5431d..b04a66e 100644 --- a/Assets/GameMain/Scripts/UI/General/Controller/RewardSelectFormController.cs +++ b/Assets/GameMain/Scripts/UI/General/Controller/RewardSelectFormController.cs @@ -3,6 +3,7 @@ using GeometryTD.CustomEvent; using GeometryTD.DataTable; using GeometryTD.Definition; using GameFramework.Event; +using GeometryTD.CustomUtility; using UnityEngine; using UnityGameFramework.Runtime; @@ -132,8 +133,10 @@ namespace GeometryTD.UI RewardId = rawItem.RewardId, IconArea = new IconAreaContext { + ComponentSlotType = rawItem.SlotType, Icon = rawItem.Icon, - Rarity = rawItem.Rarity + Rarity = rawItem.Rarity, + Color = ResolveIconColor(rawItem) }, Title = rawItem.Title ?? string.Empty, TypeText = ResolveTypeText(rawItem), @@ -147,6 +150,16 @@ namespace GeometryTD.UI 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) { if (!string.IsNullOrWhiteSpace(rawItem.TypeText)) diff --git a/Assets/GameMain/Scripts/UI/General/IconColorGenerator.cs b/Assets/GameMain/Scripts/UI/General/IconColorGenerator.cs new file mode 100644 index 0000000..1e9b909 --- /dev/null +++ b/Assets/GameMain/Scripts/UI/General/IconColorGenerator.cs @@ -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 dataTable = GameEntry.DataTable.GetDataTable(); + 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 dataTable = GameEntry.DataTable.GetDataTable(); + 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 dataTable = GameEntry.DataTable.GetDataTable(); + 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; } + } + } +} diff --git a/Assets/GameMain/Scripts/UI/General/IconColorGenerator.cs.meta b/Assets/GameMain/Scripts/UI/General/IconColorGenerator.cs.meta new file mode 100644 index 0000000..3bd60d0 --- /dev/null +++ b/Assets/GameMain/Scripts/UI/General/IconColorGenerator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6fb39901e8409cd4db9dbde01bee1ced +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/UI/General/RawData/ItemDescFormRawData.cs b/Assets/GameMain/Scripts/UI/General/RawData/ItemDescFormRawData.cs new file mode 100644 index 0000000..8967c3f --- /dev/null +++ b/Assets/GameMain/Scripts/UI/General/RawData/ItemDescFormRawData.cs @@ -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; + } +} diff --git a/Assets/GameMain/Scripts/UI/General/RawData/ItemDescFormRawData.cs.meta b/Assets/GameMain/Scripts/UI/General/RawData/ItemDescFormRawData.cs.meta new file mode 100644 index 0000000..f8184f7 --- /dev/null +++ b/Assets/GameMain/Scripts/UI/General/RawData/ItemDescFormRawData.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f84926be492fb4242846ee76ca4890f4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/UI/General/UseCase/ItemDescFormUseCase.cs b/Assets/GameMain/Scripts/UI/General/UseCase/ItemDescFormUseCase.cs new file mode 100644 index 0000000..8cc4672 --- /dev/null +++ b/Assets/GameMain/Scripts/UI/General/UseCase/ItemDescFormUseCase.cs @@ -0,0 +1,9 @@ +namespace GeometryTD.UI +{ + public class ItemDescFormUseCase : IUIUseCase + { + public ItemDescFormUseCase() + { + } + } +} \ No newline at end of file diff --git a/Assets/GameMain/Scripts/UI/General/UseCase/ItemDescFormUseCase.cs.meta b/Assets/GameMain/Scripts/UI/General/UseCase/ItemDescFormUseCase.cs.meta new file mode 100644 index 0000000..136bf0a --- /dev/null +++ b/Assets/GameMain/Scripts/UI/General/UseCase/ItemDescFormUseCase.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fbb608569de315b42b7812af024c10a3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/UI/General/View/IconArea.cs b/Assets/GameMain/Scripts/UI/General/View/IconArea.cs index d6c7daa..0d04888 100644 --- a/Assets/GameMain/Scripts/UI/General/View/IconArea.cs +++ b/Assets/GameMain/Scripts/UI/General/View/IconArea.cs @@ -1,3 +1,4 @@ +using System; using GeometryTD.Definition; using UnityEngine; using UnityEngine.UI; @@ -13,6 +14,14 @@ namespace GeometryTD.UI 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) { if (context == null) @@ -22,17 +31,38 @@ namespace GeometryTD.UI } _context = context; - SetIcon(_context.Icon); + + switch (context.ComponentSlotType) + { + case TowerCompSlotType.Base: + case TowerCompSlotType.Bearing: + case TowerCompSlotType.Muzzle: + GameEntry.SpriteCache.GetSprite(context.ComponentSlotType.ToString(), SetIcon); + break; + default: + SetIcon(_context.Icon); + break; + } + SetRarity(_context.Rarity); + SetIconColor(_context.Color); } public void SetIcon(Sprite sprite) { - _icon.sprite = sprite; + if (_icon != null) + { + _icon.sprite = sprite; + } } public void SetRarity(RarityType rarity) { + if (_board == null) + { + return; + } + _board.color = rarity switch { 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() { SetIcon(null); SetRarity(RarityType.None); + SetIconColor(Color.clear); } } -} \ No newline at end of file +} diff --git a/Assets/GameMain/Scripts/UI/General/View/ItemDescForm.cs b/Assets/GameMain/Scripts/UI/General/View/ItemDescForm.cs new file mode 100644 index 0000000..8a97578 --- /dev/null +++ b/Assets/GameMain/Scripts/UI/General/View/ItemDescForm.cs @@ -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 _runtimeTagItems = new List(); + + 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 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 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(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(); + 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 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; + } + } +} diff --git a/Assets/GameMain/Scripts/UI/General/View/ItemDescForm.cs.meta b/Assets/GameMain/Scripts/UI/General/View/ItemDescForm.cs.meta new file mode 100644 index 0000000..0c4bc50 --- /dev/null +++ b/Assets/GameMain/Scripts/UI/General/View/ItemDescForm.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3c97cf85e5027b944ab0580d944ef660 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/Utility/AssetUtility.cs b/Assets/GameMain/Scripts/Utility/AssetUtility.cs index ebae263..a3a047c 100644 --- a/Assets/GameMain/Scripts/Utility/AssetUtility.cs +++ b/Assets/GameMain/Scripts/Utility/AssetUtility.cs @@ -71,5 +71,11 @@ namespace GeometryTD.CustomUtility { 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); + } } } \ No newline at end of file diff --git a/Assets/GameMain/Textures/Base.meta b/Assets/GameMain/Textures/Base.meta new file mode 100644 index 0000000..f4b1932 --- /dev/null +++ b/Assets/GameMain/Textures/Base.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9f1c0d41a8eb55e4a922bb42e5bc504d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Textures/Base.png b/Assets/GameMain/Textures/Base.png new file mode 100644 index 0000000..3410c68 Binary files /dev/null and b/Assets/GameMain/Textures/Base.png differ diff --git a/Assets/GameMain/Textures/Base.png.meta b/Assets/GameMain/Textures/Base.png.meta new file mode 100644 index 0000000..1332558 --- /dev/null +++ b/Assets/GameMain/Textures/Base.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/000000.png b/Assets/GameMain/Textures/Base/000000.png new file mode 100644 index 0000000..43b51be Binary files /dev/null and b/Assets/GameMain/Textures/Base/000000.png differ diff --git a/Assets/GameMain/Textures/Base/000000.png.meta b/Assets/GameMain/Textures/Base/000000.png.meta new file mode 100644 index 0000000..4136d5e --- /dev/null +++ b/Assets/GameMain/Textures/Base/000000.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/0000FF.png b/Assets/GameMain/Textures/Base/0000FF.png new file mode 100644 index 0000000..6fad31d Binary files /dev/null and b/Assets/GameMain/Textures/Base/0000FF.png differ diff --git a/Assets/GameMain/Textures/Base/0000FF.png.meta b/Assets/GameMain/Textures/Base/0000FF.png.meta new file mode 100644 index 0000000..af4d6a5 --- /dev/null +++ b/Assets/GameMain/Textures/Base/0000FF.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/00FF00.png b/Assets/GameMain/Textures/Base/00FF00.png new file mode 100644 index 0000000..ccbabe2 Binary files /dev/null and b/Assets/GameMain/Textures/Base/00FF00.png differ diff --git a/Assets/GameMain/Textures/Base/00FF00.png.meta b/Assets/GameMain/Textures/Base/00FF00.png.meta new file mode 100644 index 0000000..10027d4 --- /dev/null +++ b/Assets/GameMain/Textures/Base/00FF00.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/00FFFF.png b/Assets/GameMain/Textures/Base/00FFFF.png new file mode 100644 index 0000000..c5ce685 Binary files /dev/null and b/Assets/GameMain/Textures/Base/00FFFF.png differ diff --git a/Assets/GameMain/Textures/Base/00FFFF.png.meta b/Assets/GameMain/Textures/Base/00FFFF.png.meta new file mode 100644 index 0000000..aadfff3 --- /dev/null +++ b/Assets/GameMain/Textures/Base/00FFFF.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/333333.png b/Assets/GameMain/Textures/Base/333333.png new file mode 100644 index 0000000..e873318 Binary files /dev/null and b/Assets/GameMain/Textures/Base/333333.png differ diff --git a/Assets/GameMain/Textures/Base/333333.png.meta b/Assets/GameMain/Textures/Base/333333.png.meta new file mode 100644 index 0000000..23db7cf --- /dev/null +++ b/Assets/GameMain/Textures/Base/333333.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/3333FF.png b/Assets/GameMain/Textures/Base/3333FF.png new file mode 100644 index 0000000..c09b2bf Binary files /dev/null and b/Assets/GameMain/Textures/Base/3333FF.png differ diff --git a/Assets/GameMain/Textures/Base/3333FF.png.meta b/Assets/GameMain/Textures/Base/3333FF.png.meta new file mode 100644 index 0000000..ff0bf4a --- /dev/null +++ b/Assets/GameMain/Textures/Base/3333FF.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/33FF33.png b/Assets/GameMain/Textures/Base/33FF33.png new file mode 100644 index 0000000..01ebc15 Binary files /dev/null and b/Assets/GameMain/Textures/Base/33FF33.png differ diff --git a/Assets/GameMain/Textures/Base/33FF33.png.meta b/Assets/GameMain/Textures/Base/33FF33.png.meta new file mode 100644 index 0000000..99b484e --- /dev/null +++ b/Assets/GameMain/Textures/Base/33FF33.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/33FFFF.png b/Assets/GameMain/Textures/Base/33FFFF.png new file mode 100644 index 0000000..1e977cf Binary files /dev/null and b/Assets/GameMain/Textures/Base/33FFFF.png differ diff --git a/Assets/GameMain/Textures/Base/33FFFF.png.meta b/Assets/GameMain/Textures/Base/33FFFF.png.meta new file mode 100644 index 0000000..3efc7a3 --- /dev/null +++ b/Assets/GameMain/Textures/Base/33FFFF.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/666666.png b/Assets/GameMain/Textures/Base/666666.png new file mode 100644 index 0000000..9e21312 Binary files /dev/null and b/Assets/GameMain/Textures/Base/666666.png differ diff --git a/Assets/GameMain/Textures/Base/666666.png.meta b/Assets/GameMain/Textures/Base/666666.png.meta new file mode 100644 index 0000000..79e0b66 --- /dev/null +++ b/Assets/GameMain/Textures/Base/666666.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/6666FF.png b/Assets/GameMain/Textures/Base/6666FF.png new file mode 100644 index 0000000..33c3148 Binary files /dev/null and b/Assets/GameMain/Textures/Base/6666FF.png differ diff --git a/Assets/GameMain/Textures/Base/6666FF.png.meta b/Assets/GameMain/Textures/Base/6666FF.png.meta new file mode 100644 index 0000000..329c785 --- /dev/null +++ b/Assets/GameMain/Textures/Base/6666FF.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/66FF66.png b/Assets/GameMain/Textures/Base/66FF66.png new file mode 100644 index 0000000..87324b1 Binary files /dev/null and b/Assets/GameMain/Textures/Base/66FF66.png differ diff --git a/Assets/GameMain/Textures/Base/66FF66.png.meta b/Assets/GameMain/Textures/Base/66FF66.png.meta new file mode 100644 index 0000000..cf4e14e --- /dev/null +++ b/Assets/GameMain/Textures/Base/66FF66.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/66FFFF.png b/Assets/GameMain/Textures/Base/66FFFF.png new file mode 100644 index 0000000..cf28333 Binary files /dev/null and b/Assets/GameMain/Textures/Base/66FFFF.png differ diff --git a/Assets/GameMain/Textures/Base/66FFFF.png.meta b/Assets/GameMain/Textures/Base/66FFFF.png.meta new file mode 100644 index 0000000..234f138 --- /dev/null +++ b/Assets/GameMain/Textures/Base/66FFFF.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/999999.png b/Assets/GameMain/Textures/Base/999999.png new file mode 100644 index 0000000..9c4984b Binary files /dev/null and b/Assets/GameMain/Textures/Base/999999.png differ diff --git a/Assets/GameMain/Textures/Base/999999.png.meta b/Assets/GameMain/Textures/Base/999999.png.meta new file mode 100644 index 0000000..c426430 --- /dev/null +++ b/Assets/GameMain/Textures/Base/999999.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/9999FF.png b/Assets/GameMain/Textures/Base/9999FF.png new file mode 100644 index 0000000..a4d00d2 Binary files /dev/null and b/Assets/GameMain/Textures/Base/9999FF.png differ diff --git a/Assets/GameMain/Textures/Base/9999FF.png.meta b/Assets/GameMain/Textures/Base/9999FF.png.meta new file mode 100644 index 0000000..1d9df8e --- /dev/null +++ b/Assets/GameMain/Textures/Base/9999FF.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/99FF99.png b/Assets/GameMain/Textures/Base/99FF99.png new file mode 100644 index 0000000..1a63b82 Binary files /dev/null and b/Assets/GameMain/Textures/Base/99FF99.png differ diff --git a/Assets/GameMain/Textures/Base/99FF99.png.meta b/Assets/GameMain/Textures/Base/99FF99.png.meta new file mode 100644 index 0000000..e8da99f --- /dev/null +++ b/Assets/GameMain/Textures/Base/99FF99.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/99FFFF.png b/Assets/GameMain/Textures/Base/99FFFF.png new file mode 100644 index 0000000..66ff2c8 Binary files /dev/null and b/Assets/GameMain/Textures/Base/99FFFF.png differ diff --git a/Assets/GameMain/Textures/Base/99FFFF.png.meta b/Assets/GameMain/Textures/Base/99FFFF.png.meta new file mode 100644 index 0000000..124d146 --- /dev/null +++ b/Assets/GameMain/Textures/Base/99FFFF.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/CCCCCC.png b/Assets/GameMain/Textures/Base/CCCCCC.png new file mode 100644 index 0000000..65a279b Binary files /dev/null and b/Assets/GameMain/Textures/Base/CCCCCC.png differ diff --git a/Assets/GameMain/Textures/Base/CCCCCC.png.meta b/Assets/GameMain/Textures/Base/CCCCCC.png.meta new file mode 100644 index 0000000..a744c03 --- /dev/null +++ b/Assets/GameMain/Textures/Base/CCCCCC.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/CCCCFF.png b/Assets/GameMain/Textures/Base/CCCCFF.png new file mode 100644 index 0000000..fb5f6da Binary files /dev/null and b/Assets/GameMain/Textures/Base/CCCCFF.png differ diff --git a/Assets/GameMain/Textures/Base/CCCCFF.png.meta b/Assets/GameMain/Textures/Base/CCCCFF.png.meta new file mode 100644 index 0000000..fd164d6 --- /dev/null +++ b/Assets/GameMain/Textures/Base/CCCCFF.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/CCFFCC.png b/Assets/GameMain/Textures/Base/CCFFCC.png new file mode 100644 index 0000000..a904400 Binary files /dev/null and b/Assets/GameMain/Textures/Base/CCFFCC.png differ diff --git a/Assets/GameMain/Textures/Base/CCFFCC.png.meta b/Assets/GameMain/Textures/Base/CCFFCC.png.meta new file mode 100644 index 0000000..e733120 --- /dev/null +++ b/Assets/GameMain/Textures/Base/CCFFCC.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/CCFFFF.png b/Assets/GameMain/Textures/Base/CCFFFF.png new file mode 100644 index 0000000..536520b Binary files /dev/null and b/Assets/GameMain/Textures/Base/CCFFFF.png differ diff --git a/Assets/GameMain/Textures/Base/CCFFFF.png.meta b/Assets/GameMain/Textures/Base/CCFFFF.png.meta new file mode 100644 index 0000000..8a0d802 --- /dev/null +++ b/Assets/GameMain/Textures/Base/CCFFFF.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/FF0000.png b/Assets/GameMain/Textures/Base/FF0000.png new file mode 100644 index 0000000..c21598d Binary files /dev/null and b/Assets/GameMain/Textures/Base/FF0000.png differ diff --git a/Assets/GameMain/Textures/Base/FF0000.png.meta b/Assets/GameMain/Textures/Base/FF0000.png.meta new file mode 100644 index 0000000..51d14eb --- /dev/null +++ b/Assets/GameMain/Textures/Base/FF0000.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/FF00FF.png b/Assets/GameMain/Textures/Base/FF00FF.png new file mode 100644 index 0000000..ece0485 Binary files /dev/null and b/Assets/GameMain/Textures/Base/FF00FF.png differ diff --git a/Assets/GameMain/Textures/Base/FF00FF.png.meta b/Assets/GameMain/Textures/Base/FF00FF.png.meta new file mode 100644 index 0000000..4a2449e --- /dev/null +++ b/Assets/GameMain/Textures/Base/FF00FF.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/FF3333.png b/Assets/GameMain/Textures/Base/FF3333.png new file mode 100644 index 0000000..76794ae Binary files /dev/null and b/Assets/GameMain/Textures/Base/FF3333.png differ diff --git a/Assets/GameMain/Textures/Base/FF3333.png.meta b/Assets/GameMain/Textures/Base/FF3333.png.meta new file mode 100644 index 0000000..c7284cf --- /dev/null +++ b/Assets/GameMain/Textures/Base/FF3333.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/FF33FF.png b/Assets/GameMain/Textures/Base/FF33FF.png new file mode 100644 index 0000000..0635f25 Binary files /dev/null and b/Assets/GameMain/Textures/Base/FF33FF.png differ diff --git a/Assets/GameMain/Textures/Base/FF33FF.png.meta b/Assets/GameMain/Textures/Base/FF33FF.png.meta new file mode 100644 index 0000000..75ac67c --- /dev/null +++ b/Assets/GameMain/Textures/Base/FF33FF.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/FF6666.png b/Assets/GameMain/Textures/Base/FF6666.png new file mode 100644 index 0000000..bc902a4 Binary files /dev/null and b/Assets/GameMain/Textures/Base/FF6666.png differ diff --git a/Assets/GameMain/Textures/Base/FF6666.png.meta b/Assets/GameMain/Textures/Base/FF6666.png.meta new file mode 100644 index 0000000..c4e3f8d --- /dev/null +++ b/Assets/GameMain/Textures/Base/FF6666.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/FF66FF.png b/Assets/GameMain/Textures/Base/FF66FF.png new file mode 100644 index 0000000..61efd78 Binary files /dev/null and b/Assets/GameMain/Textures/Base/FF66FF.png differ diff --git a/Assets/GameMain/Textures/Base/FF66FF.png.meta b/Assets/GameMain/Textures/Base/FF66FF.png.meta new file mode 100644 index 0000000..d5b55b8 --- /dev/null +++ b/Assets/GameMain/Textures/Base/FF66FF.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/FF9999.png b/Assets/GameMain/Textures/Base/FF9999.png new file mode 100644 index 0000000..d702465 Binary files /dev/null and b/Assets/GameMain/Textures/Base/FF9999.png differ diff --git a/Assets/GameMain/Textures/Base/FF9999.png.meta b/Assets/GameMain/Textures/Base/FF9999.png.meta new file mode 100644 index 0000000..94e84d8 --- /dev/null +++ b/Assets/GameMain/Textures/Base/FF9999.png.meta @@ -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: diff --git a/Assets/GameMain/Textures/Base/FF99FF.png b/Assets/GameMain/Textures/Base/FF99FF.png new file mode 100644 index 0000000..2c05753 Binary files /dev/null and b/Assets/GameMain/Textures/Base/FF99FF.png differ diff --git a/Assets/GameMain/Textures/Base/FF99FF.png.meta b/Assets/GameMain/Textures/Base/FF99FF.png.meta new file mode 100644 index 0000000..96bd287 --- /dev/null +++ b/Assets/GameMain/Textures/Base/FF99FF.png.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: 113a9d3534c1ca8449529e40c43f652e +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: diff --git a/Assets/GameMain/Textures/Base/FFCCCC.png b/Assets/GameMain/Textures/Base/FFCCCC.png new file mode 100644 index 0000000..427c079 Binary files /dev/null and b/Assets/GameMain/Textures/Base/FFCCCC.png differ diff --git a/Assets/GameMain/Textures/Base/FFCCCC.png.meta b/Assets/GameMain/Textures/Base/FFCCCC.png.meta new file mode 100644 index 0000000..8592bd1 --- /dev/null +++ b/Assets/GameMain/Textures/Base/FFCCCC.png.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: 1109f3bc8996b424b92916c77bd48404 +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: diff --git a/Assets/GameMain/Textures/Base/FFCCFF.png b/Assets/GameMain/Textures/Base/FFCCFF.png new file mode 100644 index 0000000..1a71856 Binary files /dev/null and b/Assets/GameMain/Textures/Base/FFCCFF.png differ diff --git a/Assets/GameMain/Textures/Base/FFCCFF.png.meta b/Assets/GameMain/Textures/Base/FFCCFF.png.meta new file mode 100644 index 0000000..153d17a --- /dev/null +++ b/Assets/GameMain/Textures/Base/FFCCFF.png.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: 0f14f214d3fe58e449fa80acee85d14d +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: diff --git a/Assets/GameMain/Textures/Base/FFFF00.png b/Assets/GameMain/Textures/Base/FFFF00.png new file mode 100644 index 0000000..da3500f Binary files /dev/null and b/Assets/GameMain/Textures/Base/FFFF00.png differ diff --git a/Assets/GameMain/Textures/Base/FFFF00.png.meta b/Assets/GameMain/Textures/Base/FFFF00.png.meta new file mode 100644 index 0000000..f15c1b9 --- /dev/null +++ b/Assets/GameMain/Textures/Base/FFFF00.png.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: cc06b3732644d514bba44fd2e3a3cfd5 +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: diff --git a/Assets/GameMain/Textures/Base/FFFF33.png b/Assets/GameMain/Textures/Base/FFFF33.png new file mode 100644 index 0000000..d650845 Binary files /dev/null and b/Assets/GameMain/Textures/Base/FFFF33.png differ diff --git a/Assets/GameMain/Textures/Base/FFFF33.png.meta b/Assets/GameMain/Textures/Base/FFFF33.png.meta new file mode 100644 index 0000000..a47292c --- /dev/null +++ b/Assets/GameMain/Textures/Base/FFFF33.png.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: aa1fcd444e02a7a49a90fc624f35a921 +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: diff --git a/Assets/GameMain/Textures/Base/FFFF66.png b/Assets/GameMain/Textures/Base/FFFF66.png new file mode 100644 index 0000000..ee34e4a Binary files /dev/null and b/Assets/GameMain/Textures/Base/FFFF66.png differ diff --git a/Assets/GameMain/Textures/Base/FFFF66.png.meta b/Assets/GameMain/Textures/Base/FFFF66.png.meta new file mode 100644 index 0000000..48a32f2 --- /dev/null +++ b/Assets/GameMain/Textures/Base/FFFF66.png.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: 2ec898bea482c9342843b492eaac793a +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: diff --git a/Assets/GameMain/Textures/Base/FFFF99.png b/Assets/GameMain/Textures/Base/FFFF99.png new file mode 100644 index 0000000..17d8512 Binary files /dev/null and b/Assets/GameMain/Textures/Base/FFFF99.png differ diff --git a/Assets/GameMain/Textures/Base/FFFF99.png.meta b/Assets/GameMain/Textures/Base/FFFF99.png.meta new file mode 100644 index 0000000..e774c20 --- /dev/null +++ b/Assets/GameMain/Textures/Base/FFFF99.png.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: b082b3775aa3b804e965f4be99016fad +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: diff --git a/Assets/GameMain/Textures/Base/FFFFCC.png b/Assets/GameMain/Textures/Base/FFFFCC.png new file mode 100644 index 0000000..16a43aa Binary files /dev/null and b/Assets/GameMain/Textures/Base/FFFFCC.png differ diff --git a/Assets/GameMain/Textures/Base/FFFFCC.png.meta b/Assets/GameMain/Textures/Base/FFFFCC.png.meta new file mode 100644 index 0000000..298e4fc --- /dev/null +++ b/Assets/GameMain/Textures/Base/FFFFCC.png.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: 790f4f17ba26d774a8e821ba9ac1b379 +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: diff --git a/Assets/GameMain/Textures/Base/FFFFFF.png b/Assets/GameMain/Textures/Base/FFFFFF.png new file mode 100644 index 0000000..7c682ce Binary files /dev/null and b/Assets/GameMain/Textures/Base/FFFFFF.png differ diff --git a/Assets/GameMain/Textures/Base/FFFFFF.png.meta b/Assets/GameMain/Textures/Base/FFFFFF.png.meta new file mode 100644 index 0000000..1ea93c5 --- /dev/null +++ b/Assets/GameMain/Textures/Base/FFFFFF.png.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: 3dbfbc220393cfc44ab500e9fc02b3e2 +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: diff --git a/Assets/GameMain/Textures/Bearing.meta b/Assets/GameMain/Textures/Bearing.meta new file mode 100644 index 0000000..b2f7381 --- /dev/null +++ b/Assets/GameMain/Textures/Bearing.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 60f9db208c62b9b4581f7dfc44d78fd1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Textures/Bearing.png b/Assets/GameMain/Textures/Bearing.png new file mode 100644 index 0000000..a819a94 Binary files /dev/null and b/Assets/GameMain/Textures/Bearing.png differ diff --git a/Assets/GameMain/Textures/Bearing.png.meta b/Assets/GameMain/Textures/Bearing.png.meta new file mode 100644 index 0000000..c4ed341 --- /dev/null +++ b/Assets/GameMain/Textures/Bearing.png.meta @@ -0,0 +1,229 @@ +fileFormatVersion: 2 +guid: e31321df62f1587469b0733897970679 +TextureImporter: + internalIDToNameTable: + - first: + 213: -2413806693520163455 + second: Circle + 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: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 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 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: Circle + 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: + - - {x: 33, y: 128} + - {x: -33, y: 128} + - {x: -95, y: 95} + - {x: -128, y: 33} + - {x: -128, y: -33} + - {x: -95, y: -95} + - {x: -33, y: -128} + - {x: 33, y: -128} + - {x: 95, y: -95} + - {x: 128, y: -33} + - {x: 128, y: 33} + - {x: 95, y: 95} + physicsShape: + - - {x: 0, y: 128} + - {x: -39, y: 121} + - {x: -75, y: 103} + - {x: -103, y: 75} + - {x: -121, y: 39} + - {x: -128, y: 0} + - {x: -121, y: -39} + - {x: -103, y: -75} + - {x: -75, y: -103} + - {x: -39, y: -121} + - {x: 0, y: -128} + - {x: 39, y: -121} + - {x: 75, y: -103} + - {x: 103, y: -75} + - {x: 121, y: -39} + - {x: 128, y: 0} + - {x: 121, y: 39} + - {x: 103, y: 75} + - {x: 75, y: 103} + - {x: 39, y: 121} + tessellationDetail: 0 + bones: [] + spriteID: 18d3544e99f608ed0800000000000000 + internalID: -2413806693520163455 + vertices: [] + indices: + edges: [] + weights: [] + outline: + - - {x: 33, y: 128} + - {x: -33, y: 128} + - {x: -95, y: 95} + - {x: -128, y: 33} + - {x: -128, y: -33} + - {x: -95, y: -95} + - {x: -33, y: -128} + - {x: 33, y: -128} + - {x: 95, y: -95} + - {x: 128, y: -33} + - {x: 128, y: 33} + - {x: 95, y: 95} + physicsShape: + - - {x: 0, y: 128} + - {x: -39, y: 121} + - {x: -75, y: 103} + - {x: -103, y: 75} + - {x: -121, y: 39} + - {x: -128, y: 0} + - {x: -121, y: -39} + - {x: -103, y: -75} + - {x: -75, y: -103} + - {x: -39, y: -121} + - {x: 0, y: -128} + - {x: 39, y: -121} + - {x: 75, y: -103} + - {x: 103, y: -75} + - {x: 121, y: -39} + - {x: 128, y: 0} + - {x: 121, y: 39} + - {x: 103, y: 75} + - {x: 75, y: 103} + - {x: 39, y: 121} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: + Circle: -2413806693520163455 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Textures/Capsule.png b/Assets/GameMain/Textures/Capsule.png new file mode 100644 index 0000000..eb8bb2b Binary files /dev/null and b/Assets/GameMain/Textures/Capsule.png differ diff --git a/Assets/GameMain/Textures/Capsule.png.meta b/Assets/GameMain/Textures/Capsule.png.meta new file mode 100644 index 0000000..cedfd90 --- /dev/null +++ b/Assets/GameMain/Textures/Capsule.png.meta @@ -0,0 +1,233 @@ +fileFormatVersion: 2 +guid: 237e2a8a62fb8b7428d9c7b11d7fab0b +TextureImporter: + internalIDToNameTable: + - first: + 213: -9095717837082945937 + second: Capsule + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 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: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 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 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: Capsule + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 512 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: + - - {x: -33, y: 256} + - {x: -95, y: 223} + - {x: -128, y: 161} + - {x: -128, y: -161} + - {x: -95, y: -223} + - {x: -33, y: -256} + - {x: 33, y: -256} + - {x: 95, y: -223} + - {x: 128, y: -161} + - {x: 128, y: 161} + - {x: 95, y: 223} + - {x: 33, y: 256} + physicsShape: + - - {x: 0, y: 256} + - {x: -39, y: 249} + - {x: -75, y: 231} + - {x: -103, y: 203} + - {x: -121, y: 167} + - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: -121, y: -167} + - {x: -103, y: -203} + - {x: -75, y: -231} + - {x: -39, y: -249} + - {x: 0, y: -256} + - {x: 39, y: -249} + - {x: 75, y: -231} + - {x: 103, y: -203} + - {x: 121, y: -167} + - {x: 128, y: -128} + - {x: 128, y: 128} + - {x: 121, y: 167} + - {x: 103, y: 203} + - {x: 75, y: 231} + - {x: 39, y: 249} + tessellationDetail: 0 + bones: [] + spriteID: f669c7f71d485c180800000000000000 + internalID: -9095717837082945937 + vertices: [] + indices: + edges: [] + weights: [] + outline: + - - {x: -33, y: 256} + - {x: -95, y: 223} + - {x: -128, y: 161} + - {x: -128, y: -161} + - {x: -95, y: -223} + - {x: -33, y: -256} + - {x: 33, y: -256} + - {x: 95, y: -223} + - {x: 128, y: -161} + - {x: 128, y: 161} + - {x: 95, y: 223} + - {x: 33, y: 256} + physicsShape: + - - {x: 0, y: 256} + - {x: -39, y: 249} + - {x: -75, y: 231} + - {x: -103, y: 203} + - {x: -121, y: 167} + - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: -121, y: -167} + - {x: -103, y: -203} + - {x: -75, y: -231} + - {x: -39, y: -249} + - {x: 0, y: -256} + - {x: 39, y: -249} + - {x: 75, y: -231} + - {x: 103, y: -203} + - {x: 121, y: -167} + - {x: 128, y: -128} + - {x: 128, y: 128} + - {x: 121, y: 167} + - {x: 103, y: 203} + - {x: 75, y: 231} + - {x: 39, y: 249} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: + Capsule: -9095717837082945937 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Textures/ControlBase.png b/Assets/GameMain/Textures/ControlBase.png new file mode 100644 index 0000000..3410c68 Binary files /dev/null and b/Assets/GameMain/Textures/ControlBase.png differ diff --git a/Assets/GameMain/Textures/ControlBase.png.meta b/Assets/GameMain/Textures/ControlBase.png.meta new file mode 100644 index 0000000..a085f38 --- /dev/null +++ b/Assets/GameMain/Textures/ControlBase.png.meta @@ -0,0 +1,169 @@ +fileFormatVersion: 2 +guid: 07f4491fe5244c2469af3624ea0b4d0c +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: 100 + 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: diff --git a/Assets/GameMain/Textures/ElementBase.png b/Assets/GameMain/Textures/ElementBase.png new file mode 100644 index 0000000..3410c68 Binary files /dev/null and b/Assets/GameMain/Textures/ElementBase.png differ diff --git a/Assets/GameMain/Textures/ElementBase.png.meta b/Assets/GameMain/Textures/ElementBase.png.meta new file mode 100644 index 0000000..2113045 --- /dev/null +++ b/Assets/GameMain/Textures/ElementBase.png.meta @@ -0,0 +1,169 @@ +fileFormatVersion: 2 +guid: 47d4dac76943fa042bc776d9330dde07 +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: 100 + 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: diff --git a/Assets/GameMain/Textures/HexagonFlatTop.png b/Assets/GameMain/Textures/HexagonFlatTop.png new file mode 100644 index 0000000..dd4a6f3 Binary files /dev/null and b/Assets/GameMain/Textures/HexagonFlatTop.png differ diff --git a/Assets/GameMain/Textures/HexagonFlatTop.png.meta b/Assets/GameMain/Textures/HexagonFlatTop.png.meta new file mode 100644 index 0000000..5dafb1f --- /dev/null +++ b/Assets/GameMain/Textures/HexagonFlatTop.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: c3b25169c2989c84fbe55dc85dd24042 +TextureImporter: + internalIDToNameTable: + - first: + 213: 2747690628134850419 + second: Hexagon Flat-Top + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 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: Hexagon Flat-Top + rect: + serializedVersion: 2 + x: 0 + y: 15 + width: 256 + height: 226 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: + - - {x: -65, y: 113} + - {x: -128, y: 4} + - {x: -128, y: -4} + - {x: -65, y: -113} + - {x: 65, y: -113} + - {x: 128, y: -4} + - {x: 128, y: 4} + - {x: 65, y: 113} + physicsShape: + - - {x: -64, y: 111} + - {x: -128, y: 0} + - {x: -64, y: -111} + - {x: 64, y: -111} + - {x: 128, y: 0} + - {x: 64, y: 111} + tessellationDetail: 0 + bones: [] + spriteID: 37fc5a28112c12620800000000000000 + internalID: 2747690628134850419 + vertices: [] + indices: + edges: [] + weights: [] + outline: + - - {x: -65, y: 113} + - {x: -128, y: 4} + - {x: -128, y: -4} + - {x: -65, y: -113} + - {x: 65, y: -113} + - {x: 128, y: -4} + - {x: 128, y: 4} + - {x: 65, y: 113} + physicsShape: + - - {x: -64, y: 111} + - {x: -128, y: 0} + - {x: -64, y: -111} + - {x: 64, y: -111} + - {x: 128, y: 0} + - {x: 64, y: 111} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: + Hexagon Flat-Top: 2747690628134850419 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Textures/HexagonPointedTop.png b/Assets/GameMain/Textures/HexagonPointedTop.png new file mode 100644 index 0000000..e8b1790 Binary files /dev/null and b/Assets/GameMain/Textures/HexagonPointedTop.png differ diff --git a/Assets/GameMain/Textures/HexagonPointedTop.png.meta b/Assets/GameMain/Textures/HexagonPointedTop.png.meta new file mode 100644 index 0000000..ace3368 --- /dev/null +++ b/Assets/GameMain/Textures/HexagonPointedTop.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 58c14278379831b4785c2ac7687bef81 +TextureImporter: + internalIDToNameTable: + - first: + 213: -2135585597343286014 + second: Hexagon Pointed-Top + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 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: Hexagon Pointed-Top + rect: + serializedVersion: 2 + x: 15 + y: 0 + width: 226 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: + - - {x: -4, y: 128} + - {x: -113, y: 65} + - {x: -113, y: -65} + - {x: -4, y: -128} + - {x: 4, y: -128} + - {x: 113, y: -65} + - {x: 113, y: 65} + - {x: 4, y: 128} + physicsShape: + - - {x: -111, y: 64} + - {x: -111, y: -64} + - {x: 0, y: -128} + - {x: 111, y: -64} + - {x: 111, y: 64} + - {x: 0, y: 128} + tessellationDetail: 0 + bones: [] + spriteID: 20db9eac630ec52e0800000000000000 + internalID: -2135585597343286014 + vertices: [] + indices: + edges: [] + weights: [] + outline: + - - {x: -4, y: 128} + - {x: -113, y: 65} + - {x: -113, y: -65} + - {x: -4, y: -128} + - {x: 4, y: -128} + - {x: 113, y: -65} + - {x: 113, y: 65} + - {x: 4, y: 128} + physicsShape: + - - {x: -111, y: 64} + - {x: -111, y: -64} + - {x: 0, y: -128} + - {x: 111, y: -64} + - {x: 111, y: 64} + - {x: 0, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: + Hexagon Pointed-Top: -2135585597343286014 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Textures/IsometricDiamond.png b/Assets/GameMain/Textures/IsometricDiamond.png new file mode 100644 index 0000000..b77d89e Binary files /dev/null and b/Assets/GameMain/Textures/IsometricDiamond.png differ diff --git a/Assets/GameMain/Textures/IsometricDiamond.png.meta b/Assets/GameMain/Textures/IsometricDiamond.png.meta new file mode 100644 index 0000000..8be5f62 --- /dev/null +++ b/Assets/GameMain/Textures/IsometricDiamond.png.meta @@ -0,0 +1,189 @@ +fileFormatVersion: 2 +guid: abcc1fb319ede994a8719175cd3602fa +TextureImporter: + internalIDToNameTable: + - first: + 213: 3625043607559282579 + second: Isometric Diamond + 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: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 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: Isometric Diamond + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 128 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: + - - {x: -4, y: 64} + - {x: -128, y: 2} + - {x: -128, y: -2} + - {x: -4, y: -64} + - {x: 4, y: -64} + - {x: 128, y: -2} + - {x: 128, y: 2} + - {x: 4, y: 64} + physicsShape: + - - {x: 0, y: 64} + - {x: -128, y: 0} + - {x: 0, y: -64} + - {x: 128, y: 0} + tessellationDetail: 0 + bones: [] + spriteID: 39f1fdb64fdbe4230800000000000000 + internalID: 3625043607559282579 + vertices: [] + indices: + edges: [] + weights: [] + outline: + - - {x: -4, y: 64} + - {x: -128, y: 2} + - {x: -128, y: -2} + - {x: -4, y: -64} + - {x: 4, y: -64} + - {x: 128, y: -2} + - {x: 128, y: 2} + - {x: 4, y: 64} + physicsShape: + - - {x: 0, y: 64} + - {x: -128, y: 0} + - {x: 0, y: -64} + - {x: 128, y: 0} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: + Isometric Diamond: 3625043607559282579 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Textures/Muzzle.meta b/Assets/GameMain/Textures/Muzzle.meta new file mode 100644 index 0000000..b10bcf7 --- /dev/null +++ b/Assets/GameMain/Textures/Muzzle.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 29b4208ecbec08a4582ab0da88f9348b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Textures/Muzzle.png b/Assets/GameMain/Textures/Muzzle.png new file mode 100644 index 0000000..cc0c2dc Binary files /dev/null and b/Assets/GameMain/Textures/Muzzle.png differ diff --git a/Assets/GameMain/Textures/Muzzle.png.meta b/Assets/GameMain/Textures/Muzzle.png.meta new file mode 100644 index 0000000..735c413 --- /dev/null +++ b/Assets/GameMain/Textures/Muzzle.png.meta @@ -0,0 +1,175 @@ +fileFormatVersion: 2 +guid: 5ba74e3a185274149b15c24b321bead2 +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: 4, y: 4, z: 4, w: 4} + 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: Triangle + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 9 + pivot: {x: 0.5, y: 0.28866667} + border: {x: 0, y: 0, z: 0, w: 0} + outline: + - - {x: 0, y: 93.70251} + - {x: -128, y: -128} + - {x: 128, y: -128} + physicsShape: + - - {x: 0, y: 93.70251} + - {x: -128, y: -128} + - {x: 128, y: -128} + 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: + Triangle: 7482667652216324306 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/UI/UIForms/CombatFinishForm.prefab b/Assets/GameMain/UI/UIForms/CombatFinishForm.prefab index d3352dd..f7a2d2f 100644 --- a/Assets/GameMain/UI/UIForms/CombatFinishForm.prefab +++ b/Assets/GameMain/UI/UIForms/CombatFinishForm.prefab @@ -1112,7 +1112,7 @@ MonoBehaviour: m_ChildAlignment: 0 m_StartCorner: 0 m_StartAxis: 0 - m_CellSize: {x: 100, y: 100} + m_CellSize: {x: 130, y: 130} m_Spacing: {x: 10, y: 10} m_Constraint: 0 m_ConstraintCount: 2 diff --git a/Assets/GameMain/UI/UIForms/ItemDescForm.prefab b/Assets/GameMain/UI/UIForms/ItemDescForm.prefab new file mode 100644 index 0000000..e39a5e1 --- /dev/null +++ b/Assets/GameMain/UI/UIForms/ItemDescForm.prefab @@ -0,0 +1,928 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &395929355422612576 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6368625289863409235} + - component: {fileID: 3770067306692376046} + m_Layer: 5 + m_Name: ItemDescForm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6368625289863409235 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 395929355422612576} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7543853000780573685} + - {fileID: 1164222149922529831} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &3770067306692376046 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 395929355422612576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3c97cf85e5027b944ab0580d944ef660, type: 3} + m_Name: + m_EditorClassIdentifier: + _content: {fileID: 7543853000780573685} + _itemTitle: {fileID: 103163210424128144} + _itemTypeText: {fileID: 7330401870143477410} + _itemDescription: {fileID: 6102478747521363808} + _itemPrice: {fileID: 3372850760549036539} + _tagAreaParent: {fileID: 5974414274741800357} + _tagItemPrefab: {fileID: 2724990199440728093, guid: b8cf55567ed692c439cc016211a19ded, + type: 3} + _autoResizeHeight: 1 + _fixedTopHeight: 180 + _fixedBottomHeight: 400 + _fixedWidth: 600 + _screenEdgePadding: 0 + _sideGap: 16 + _anchorItemWidth: 0 +--- !u!1 &518771420464217804 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5974414274741800357} + - component: {fileID: 1667346964111373606} + m_Layer: 5 + m_Name: TagArea + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5974414274741800357 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 518771420464217804} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7543853000780573685} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: 150} + m_SizeDelta: {x: 540, y: 100} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &1667346964111373606 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 518771420464217804} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &625540161254782982 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7543853000780573685} + - component: {fileID: 3996340794476105959} + - component: {fileID: 1280310065211852598} + - component: {fileID: 8136632006024830894} + m_Layer: 5 + m_Name: content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7543853000780573685 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 625540161254782982} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2312726378312491185} + - {fileID: 2131471118485666816} + - {fileID: 8691033862686863159} + - {fileID: 4626694267165989230} + - {fileID: 5974414274741800357} + m_Father: {fileID: 6368625289863409235} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -500} + m_SizeDelta: {x: 600, y: 1000} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &3996340794476105959 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 625540161254782982} + m_CullTransparentMesh: 1 +--- !u!114 &1280310065211852598 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 625540161254782982} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.078431375, g: 0.078431375, b: 0.078431375, a: 0.78431374} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 9f847ec5e66e03e4ead1d3c5f7b510e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!225 &8136632006024830894 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 625540161254782982} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!1 &2619564942114189097 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2312726378312491185} + - component: {fileID: 3590733437255178557} + - component: {fileID: 103163210424128144} + m_Layer: 5 + m_Name: Title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2312726378312491185 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2619564942114189097} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7543853000780573685} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 280, y: -80} + m_SizeDelta: {x: 500, y: 80} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3590733437255178557 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2619564942114189097} + m_CullTransparentMesh: 1 +--- !u!114 &103163210424128144 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2619564942114189097} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\u624B\u67AA" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 99d811b0183246646a2ce8df996f4bca, type: 2} + m_sharedMaterial: {fileID: -1106088975554028259, guid: 99d811b0183246646a2ce8df996f4bca, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294638330 + m_fontColor: {r: 0.98039216, g: 0.98039216, b: 0.98039216, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 50 + m_fontSizeBase: 50 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &4049733250793100133 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2131471118485666816} + - component: {fileID: 6203466971508003467} + - component: {fileID: 7330401870143477410} + m_Layer: 5 + m_Name: Type + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2131471118485666816 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4049733250793100133} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7543853000780573685} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 280, y: -147.5} + m_SizeDelta: {x: 500, y: 55} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6203466971508003467 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4049733250793100133} + m_CullTransparentMesh: 1 +--- !u!114 &7330401870143477410 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4049733250793100133} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\u57FA\u5EA7" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 99d811b0183246646a2ce8df996f4bca, type: 2} + m_sharedMaterial: {fileID: -1106088975554028259, guid: 99d811b0183246646a2ce8df996f4bca, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4289001471 + m_fontColor: {r: 1, g: 0.9684256, b: 0.64465404, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 40 + m_fontSizeBase: 40 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &4978846148003915283 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8691033862686863159} + - component: {fileID: 4798810177026917072} + - component: {fileID: 6102478747521363808} + m_Layer: 5 + m_Name: Info + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8691033862686863159 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4978846148003915283} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7543853000780573685} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -200} + m_SizeDelta: {x: 540, y: 500} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &4798810177026917072 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4978846148003915283} + m_CullTransparentMesh: 1 +--- !u!114 &6102478747521363808 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4978846148003915283} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\u653B\u51FB\u4F24\u5BB3\uFF1A20" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 99d811b0183246646a2ce8df996f4bca, type: 2} + m_sharedMaterial: {fileID: -1106088975554028259, guid: 99d811b0183246646a2ce8df996f4bca, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294638330 + m_fontColor: {r: 0.98039216, g: 0.98039216, b: 0.98039216, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 32 + m_fontSizeBase: 32 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &8191619470729415355 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4626694267165989230} + - component: {fileID: 3799867405260183227} + - component: {fileID: 3372850760549036539} + m_Layer: 5 + m_Name: Price + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4626694267165989230 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8191619470729415355} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7543853000780573685} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: 30} + m_SizeDelta: {x: 540, y: 60} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &3799867405260183227 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8191619470729415355} + m_CullTransparentMesh: 1 +--- !u!114 &3372850760549036539 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8191619470729415355} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\u552E\u4EF7\uFF1A20" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 99d811b0183246646a2ce8df996f4bca, type: 2} + m_sharedMaterial: {fileID: -1106088975554028259, guid: 99d811b0183246646a2ce8df996f4bca, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294638330 + m_fontColor: {r: 0.98039216, g: 0.98039216, b: 0.98039216, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 32 + m_fontSizeBase: 32 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1001 &3349734457166685392 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 6368625289863409235} + m_Modifications: + - target: {fileID: 770565994539545022, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_Name + value: CommonButton + objectReference: {fileID: 0} + - target: {fileID: 1341699087252484061, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 9f847ec5e66e03e4ead1d3c5f7b510e8, + type: 3} + - target: {fileID: 1341699087252484061, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_Color.a + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4067353614215461310, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: _allowFade + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4067353614215461310, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: _onClick.m_PersistentCalls.m_Calls.Array.data[1].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4067353614215461310, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: _onClick.m_PersistentCalls.m_Calls.Array.data[1].m_Target + value: + objectReference: {fileID: 3770067306692376046} + - target: {fileID: 4067353614215461310, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: _onClick.m_PersistentCalls.m_Calls.Array.data[1].m_MethodName + value: OnBlankAreaClick + objectReference: {fileID: 0} + - target: {fileID: 4067353614215461310, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: _onClick.m_PersistentCalls.m_Calls.Array.data[1].m_TargetAssemblyTypeName + value: GeometryTD.UI.ItemDescForm, Assembly-CSharp + objectReference: {fileID: 0} + - target: {fileID: 4067353614215461310, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: _onClick.m_PersistentCalls.m_Calls.Array.data[1].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 1920576543566152029, guid: 2307f223279813546a43b221ddd496cc, type: 3} + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 2307f223279813546a43b221ddd496cc, type: 3} +--- !u!224 &1164222149922529831 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, + type: 3} + m_PrefabInstance: {fileID: 3349734457166685392} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/GameMain/UI/UIForms/ItemDescForm.prefab.meta b/Assets/GameMain/UI/UIForms/ItemDescForm.prefab.meta new file mode 100644 index 0000000..2012a00 --- /dev/null +++ b/Assets/GameMain/UI/UIForms/ItemDescForm.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: dcd5ace88e1cf08459d1ea8b1ea8c9e3 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/UI/UIForms/RepoForm.prefab b/Assets/GameMain/UI/UIForms/RepoForm.prefab index a71e7bc..ce6367b 100644 --- a/Assets/GameMain/UI/UIForms/RepoForm.prefab +++ b/Assets/GameMain/UI/UIForms/RepoForm.prefab @@ -1357,7 +1357,7 @@ PrefabInstance: - target: {fileID: 4067353614215461310, guid: 2307f223279813546a43b221ddd496cc, type: 3} propertyPath: _onClick.m_PersistentCalls.m_Calls.Array.data[1].m_MethodName - value: Close + value: OnReturnButtonClick objectReference: {fileID: 0} - target: {fileID: 4067353614215461310, guid: 2307f223279813546a43b221ddd496cc, type: 3} @@ -1372,7 +1372,7 @@ PrefabInstance: - target: {fileID: 4067353614215461310, guid: 2307f223279813546a43b221ddd496cc, type: 3} propertyPath: _onClick.m_PersistentCalls.m_Calls.Array.data[1].m_TargetAssemblyTypeName - value: GeometryTD.UI.UGuiForm, Assembly-CSharp + value: GeometryTD.UI.RepoForm, Assembly-CSharp objectReference: {fileID: 0} - target: {fileID: 4067353614215461310, guid: 2307f223279813546a43b221ddd496cc, type: 3} diff --git a/Assets/GameMain/UI/UIItems/CombineSlotItem.prefab b/Assets/GameMain/UI/UIItems/CombineSlotItem.prefab index 9367c30..ea562ae 100644 --- a/Assets/GameMain/UI/UIItems/CombineSlotItem.prefab +++ b/Assets/GameMain/UI/UIItems/CombineSlotItem.prefab @@ -1,5 +1,80 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &2102101889713375885 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5139342813144801961} + - component: {fileID: 6374832924553036324} + - component: {fileID: 5880466915474168752} + m_Layer: 5 + m_Name: board + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5139342813144801961 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2102101889713375885} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 7862994607866941546} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6374832924553036324 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2102101889713375885} + m_CullTransparentMesh: 1 +--- !u!114 &5880466915474168752 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2102101889713375885} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: a8c07bbe04fdaf04b80e27f651a8edd6, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &3111276155796806199 GameObject: m_ObjectHideFlags: 0 @@ -33,7 +108,8 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 2397752802958303923} - - {fileID: 4236659083525452299} + - {fileID: 5139342813144801961} + - {fileID: 3718864622557192997} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} @@ -92,7 +168,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: _acceptSlotType: 1 - _titleText: {fileID: 3612975293499812022} + _iconArea: {fileID: 8815488795738861897} _button: {fileID: 3964256412025788182} --- !u!114 &3964256412025788182 MonoBehaviour: @@ -263,78 +339,144 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &8390946068916850919 -GameObject: +--- !u!1001 &5883390815735520555 +PrefabInstance: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4236659083525452299} - - component: {fileID: 4243337373132393352} - - component: {fileID: 3749676913783659753} - m_Layer: 5 - m_Name: Board - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4236659083525452299 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7862994607866941546} + m_Modifications: + - target: {fileID: 6166913213017600555, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_Name + value: IconArea + objectReference: {fileID: 0} + - target: {fileID: 6166913213017600555, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c8cee1d9c43b9b444bd818f31a52c383, type: 3} +--- !u!224 &3718864622557192997 stripped RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 7077986728513895950, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + m_PrefabInstance: {fileID: 5883390815735520555} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8390946068916850919} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 7862994607866941546} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4243337373132393352 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8390946068916850919} - m_CullTransparentMesh: 1 ---- !u!114 &3749676913783659753 +--- !u!114 &8815488795738861897 stripped MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 3166286295052151906, guid: c8cee1d9c43b9b444bd818f31a52c383, + type: 3} + m_PrefabInstance: {fileID: 5883390815735520555} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8390946068916850919} + m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: 11500000, guid: 7ed74147813b96e4e95b5418f21999b7, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: a8c07bbe04fdaf04b80e27f651a8edd6, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 diff --git a/Assets/GameMain/UI/UIItems/RepoItem.prefab b/Assets/GameMain/UI/UIItems/RepoItem.prefab index 52b4312..2b04836 100644 --- a/Assets/GameMain/UI/UIItems/RepoItem.prefab +++ b/Assets/GameMain/UI/UIItems/RepoItem.prefab @@ -59,7 +59,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ba332072a148499b8f6ec886c661c00f, type: 3} m_Name: m_EditorClassIdentifier: - _titleText: {fileID: 830716417586720267} _highlightImage: {fileID: 269831324452536459} _iconArea: {fileID: 321755258514039240} --- !u!1001 &1234001823675854678 @@ -232,7 +231,8 @@ PrefabInstance: value: 0 objectReference: {fileID: 0} m_RemovedComponents: [] - m_RemovedGameObjects: [] + m_RemovedGameObjects: + - {fileID: 7607456171798064113, guid: 2307f223279813546a43b221ddd496cc, type: 3} m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2307f223279813546a43b221ddd496cc, type: 3} @@ -248,18 +248,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &830716417586720267 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 1920576543566152029, guid: 2307f223279813546a43b221ddd496cc, - type: 3} - m_PrefabInstance: {fileID: 1234001823675854678} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!224 &3419514439234906529 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 4491355866364659447, guid: 2307f223279813546a43b221ddd496cc, diff --git a/Assets/GameMain/UI/UIItems/TagItem.prefab b/Assets/GameMain/UI/UIItems/TagItem.prefab index cde9d03..bccf800 100644 --- a/Assets/GameMain/UI/UIItems/TagItem.prefab +++ b/Assets/GameMain/UI/UIItems/TagItem.prefab @@ -37,7 +37,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 0} + m_SizeDelta: {x: 100, y: 40} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1005664183759985300 CanvasRenderer: diff --git a/Assets/Launcher.unity b/Assets/Launcher.unity index 47d7be6..6905868 100644 --- a/Assets/Launcher.unity +++ b/Assets/Launcher.unity @@ -156,6 +156,7 @@ Transform: - {fileID: 2007255511} - {fileID: 428539048} - {fileID: 1322505022} + - {fileID: 1062564689} m_Father: {fileID: 1852670053} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &120093239 @@ -881,6 +882,52 @@ LightingSettings: m_PVRTiledBaking: 0 m_NumRaysToShootPerTexel: -1 m_RespectSceneVisibilityWhenBakingGI: 0 +--- !u!1 &1062564688 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1062564689} + - component: {fileID: 1062564690} + m_Layer: 0 + m_Name: SpriteCache + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1062564689 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1062564688} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 119167776} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1062564690 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1062564688} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8b0237c7a9ed81745b92fe3f1bd45af4, type: 3} + m_Name: + m_EditorClassIdentifier: + _pixelsPerUnit: 100 + _defaultPivot: {x: 0.5, y: 0.5} --- !u!1 &1239157580 GameObject: m_ObjectHideFlags: 0 diff --git a/docs/CombatReward爆率表.xlsx b/docs/CombatReward爆率表.xlsx new file mode 100644 index 0000000..c3ca833 Binary files /dev/null and b/docs/CombatReward爆率表.xlsx differ diff --git a/docs/IconColorDesgin.md b/docs/IconColorDesgin.md new file mode 100644 index 0000000..6d95906 --- /dev/null +++ b/docs/IconColorDesgin.md @@ -0,0 +1,225 @@ +使用的 5 个属性: +- AttackDamage(MuzzleComp) +- DamageRandomRate(MuzzleComp) +- RotateSpeed(BearingComp) +- AttackRange(BearingComp) +- AttackSpeed(BaseComp) + +下面我给你一套专门为这 5 个属性设计的稳定映射方案,目标是: + +* 不出现“未使用 RGB 位导致底色聚集” +* 不出现颜色难以区分 +* 不随数值微调产生大跳变 +* 能一眼看出“偏伤害 / 偏射速 / 偏范围”等方向 + +--- + +# 一、先定颜色语义(非常关键) + +我们先给每个属性一个**语义色相(Hue)**,并且颜色间隔拉开,避免混淆。 + +| 属性 | 含义倾向 | Hue建议 | +|------------------|--------|----------| +| AttackDamage | 爆发/力量 | 0°(红) | +| DamageRandomRate | 波动/暴击感 | 30°(橙) | +| RotateSpeed | 灵活/机动 | 200°(青蓝) | +| AttackRange | 空间/覆盖 | 120°(绿) | +| AttackSpeed | 频率/连发 | 270°(紫) | + +解释: + +* 伤害 → 红(直觉最强) +* 范围 → 绿(覆盖感) +* 攻速 → 紫(科技感/高频) +* 旋转 → 青蓝(灵活) +* 随机伤害 → 橙(不稳定爆发) + +Hue 间隔 > 60°,视觉上足够区分。 + +--- + +# 二、不要直接映射到 RGB,而是走 HSV + +### Step 1:归一化 + +对每个属性: + +```csharp +x_i = clamp01((value_i - min_i) / (max_i - min_i)) +``` + +⚠️ 不要用当前组件的 min/max,要用全局平衡区间。 + +--- + +# 三、核心算法:主导属性 + 混合属性 + +## 1️⃣ 找出前两名属性 + +```csharp +i1 = argmax(x_i) +i2 = secondMax(x_i) +``` + +--- + +## 2️⃣ Hue 插值 + +```csharp +w = x_i2 / (x_i1 + x_i2 + 0.0001f) +hue = lerp(Hue[i1], Hue[i2], w) +``` + +这能避免“单一属性颜色单调”的问题。 + +例如: + +* 高伤害 + 高攻速 → 红紫之间 +* 高范围 + 高旋转 → 绿青之间 + +--- + +# 四、饱和度(Saturation) + +饱和度表达“专精度”。 + +```csharp +purity = x_i1 - x_i2 +sat = lerp(0.45f, 0.9f, clamp01(purity * 1.5f)) +``` + +* 越单一专精 → 越鲜艳 +* 属性均衡 → 稍微偏灰 + +这样“杂牌组件”会看起来更灰一点,专精流派更亮。 + +--- + +# 五、明度(Value) + +明度表达“整体强度”。 + +```csharp +intensity = (x1 + x2 + x3 + x4 + x5) / 5f +val = lerp(0.55f, 0.95f, intensity) +``` + +强度越高越亮。 + +⚠️ 不要让 val 太低,否则会看起来像“禁用状态”。 + +--- + +# 六、品质不要改 Hue + +品质建议只影响: + +* 外描边颜色 +* 发光 +* 明度偏移 +* 图标底板 + +例如: + +| 品质 | 处理方式 | +|----|-----------------| +| 白 | val × 0.9 | +| 绿 | 无变化 | +| 蓝 | 外发光 | +| 紫 | val ×1.05 + 外发光 | +| 红 | 双层发光 + 轻微高对比 | + +不要把红品质直接改成红色,那会和 AttackDamage 冲突。 + +--- + +# 七、避免“颜色基地”的关键 + +你之前的问题是: + +> 某些属性没有值 → RGB 位没用 → 颜色集中 + +用现在方案: + +* 即便某些属性接近 0,Hue 仍由主导属性决定 +* 不会出现“默认黑色/灰色聚集” + +另外建议: + +```csharp +sat = max(sat, 0.4f); +val = max(val, 0.6f); +``` + +避免太灰太暗。 + +--- + +# 八、额外增强:组件类型偏移 + +你有三类组件(枪口/轴承/底座),可以轻微加一个 hue 偏移: + +* 枪口:+0° +* 轴承:+15° +* 底座:-15° + +这样即便数值类似,也能区分结构类型。 + +--- + +# 九、完整伪代码(你可以直接用) + +```csharp +Color GenerateColor(float[] normalizedStats, ComponentType type) +{ + float[] hueMap = { 0f, 30f, 200f, 120f, 270f }; + + int i1 = MaxIndex(normalizedStats); + int i2 = SecondMaxIndex(normalizedStats); + + float w = normalizedStats[i2] / + (normalizedStats[i1] + normalizedStats[i2] + 0.0001f); + + float hue = Mathf.Lerp(hueMap[i1], hueMap[i2], w); + + float purity = normalizedStats[i1] - normalizedStats[i2]; + float sat = Mathf.Lerp(0.45f, 0.9f, Mathf.Clamp01(purity * 1.5f)); + + float intensity = normalizedStats.Average(); + float val = Mathf.Lerp(0.55f, 0.95f, intensity); + + if (type == ComponentType.Axis) hue += 15f; + if (type == ComponentType.Base) hue -= 15f; + + return Color.HSVToRGB(hue / 360f, sat, val); +} +``` + +--- + +# 十、视觉稳定性测试建议 + +做一个小测试场景: + +* 随机生成 200 个组件 +* 打印颜色到网格 +* 看是否: + + * 有大量颜色过于相似 + * 有大面积灰色 + * 是否能一眼区分“偏伤害”“偏范围”等 + +--- + +# 结论 + +你不应该: + +❌ 把 5 个属性硬塞进 RGB 位 + +你应该: + +✅ 用 Hue 表达方向 +✅ 用 Saturation 表达专精 +✅ 用 Value 表达强度 +✅ 用外观表达品质 diff --git a/docs/TODO.md b/docs/TODO.md index e54f6c5..362345d 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -19,7 +19,7 @@ | [x] | P0-04 | 建立单局 Run 状态模型(金币、生命、库存、当前节点) | `Assets/GameMain/Scripts/Procedure/` | 进入/退出节点时状态可持续传递 | | [ ] | P0-05 | 实现 10 节点地图生成(最后节点固定 Boss) | `Assets/GameMain/Scripts/Scene/` | 每局都生成 10 节点且第 10 节点为 Boss | | [x] | P0-06 | 实现节点选择与跳转流程(战斗/事件/商店) | `Assets/GameMain/Scripts/Procedure/` | 节点完成后可返回地图并进入下个节点 | -| [ ] | P0-07 | 战斗节点基础玩法:放置塔、出怪、基地扣血、胜负判定 | `Assets/GameMain/Scripts/Entity/`
`Assets/GameMain/Scripts/Scene/` | 可完整打一场并得到胜利/失败结果 | +| [x] | P0-07 | 战斗节点基础玩法:放置塔、出怪、基地扣血、胜负判定 | `Assets/GameMain/Scripts/Entity/`
`Assets/GameMain/Scripts/Scene/` | 可完整打一场并得到胜利/失败结果 | | [ ] | P0-08 | 胜利波次与结算规则(100/80/50/<50) | `Assets/GameMain/Scripts/Procedure/` | 结算奖励与惩罚严格匹配设计文档 | | [ ] | P0-09 | 敌人掉落与关卡奖励(组件/配件/金币) | `Assets/GameMain/Scripts/Entity/` | 战斗结束能发放掉落并写入库存 | | [ ] | P0-10 | 节点后组装:枪口/轴承/底座三组件约束 | `Assets/GameMain/Scripts/Entity/`
`Assets/GameMain/Scripts/UI/Templates/GameScene/` | 未满足三组件时禁止出战 |