每日自动提交 2026-04-13 18:30

This commit is contained in:
2026-04-13 18:30:55 +08:00
parent 7f92437976
commit c438308159
187 changed files with 42955 additions and 64615 deletions
File diff suppressed because it is too large Load Diff
@@ -10,5 +10,4 @@ public class GameData
public RoomChangeResponse currRoomData;
public string currUser;
public string a;
}
+12 -1
View File
@@ -10,10 +10,21 @@ using UnityEngine.SceneManagement;
public class GameManager : MonoSingleton<GameManager>
{
public GameConfig gameConfig;
public UserToken user;
public UserData user;
public GameData gameData = new GameData();
public Scene scene;
public CameraShaker cameraShake;
public void UpdataUserData(UserData user)
{
this.user = user;
var a = UIManager.Instance.Get<UIHomeMain>(UIPanel.HomeMainPanel);
if (a!=null)
{
a.UpdateUserData();
}
}
protected override async void Awake()
{
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Assets.MyGame.Scripts.Net.APIRequest.Params
{
[Serializable]
public class GetUserParam:RequestParamBase
{
public string userid;
}
}
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 3c56ed098f6dd7c4c99acaad8c769ed7
guid: b51e71cd9738bbf40be414078e722e0d
MonoImporter:
externalObjects: {}
serializedVersion: 2
@@ -42,42 +42,62 @@ namespace Assets.MyGame.Scripts.Net.APIRequest.Params
}
/// <summary>
/// 购买月卡请求参数
/// 购买月卡请求参数(GET)
/// Swagger: GET /api/Hall/BuyMonthCard
/// </summary>
[Serializable]
public class BuyMonthCardParam : RequestParamBase
{
public int cardType; // 月卡类型
/// <summary>月卡类型 1=周卡 2=月卡 3=年卡</summary>
public int type;
/// <summary>金币价格(用于校验)</summary>
public int gold;
/// <summary>现金价格</summary>
public double money;
}
/// <summary>
/// 购买道具请求参数
/// 购买道具请求参数(GET)
/// Swagger: GET /api/Hall/BuyProp
/// </summary>
[Serializable]
public class BuyPropParam : RequestParamBase
{
public int propId; // 道具ID
public int count; // 数量
/// <summary>道具编号</summary>
public string propNumber;
/// <summary>购买数量</summary>
public int count;
}
/// <summary>
/// 购买金币请求参数
/// 购买金币请求参数(GET)
/// Swagger: GET /api/Hall/BuyGold
/// </summary>
[Serializable]
public class BuyGoldParam : RequestParamBase
{
/// <summary>商品编号(GoldShopConfig.number)</summary>
public string number;
public long goldAmount; // 金币数量
/// <summary>购买数量</summary>
public int count;
}
/// <summary>
/// 购买钻石请求参数
/// 购买钻石请求参数(GET)
/// Swagger: GET /api/Hall/BuyDiamond
/// </summary>
[Serializable]
public class BuyDiamondParam : RequestParamBase
{
public int diamondAmount; // 钻石数量
/// <summary>商品编号(DiamondShopConfig.number)</summary>
public string number;
/// <summary>购买数量</summary>
public int count;
}
@@ -71,43 +71,43 @@ namespace Assets.MyGame.Scripts.Net
}
/// <summary>
/// 购买月卡(POST)
/// 参数:用户ID、月卡类型
/// 返回:MonthCardInfo(月卡信息)
/// 购买月卡(GET)
/// 参数:type(1=周卡 2=月卡 3=年卡)、gold(金币价)、money(现金价)
/// 返回:string(data 为结果描述字符串)
/// </summary>
public static void BuyMonthCard(BuyMonthCardParam req, Action<MonthCardInfo> callback)
public static void BuyMonthCard(BuyMonthCardParam req, Action<string> callback)
{
APIManager.Response<MonthCardInfo>(APIType.Hall_BuyMonthCard, req, callback);
APIManager.Response<string>(APIType.Hall_BuyMonthCard, req, callback);
}
/// <summary>
/// 购买道具(POST)
/// 参数:道具ID、数量
/// 返回:PropInfo(道具信息)
/// 购买道具(GET)
/// 参数:propNumber(道具编号)、count(数量)
/// 返回:string(data 为结果描述字符串)
/// </summary>
public static void BuyProp(BuyPropParam req, Action<PropInfo> callback)
public static void BuyProp(BuyPropParam req, Action<string> callback)
{
APIManager.Response<PropInfo>(APIType.Hall_BuyProp, req, callback);
APIManager.Response<string>(APIType.Hall_BuyProp, req, callback);
}
/// <summary>
/// 购买金币(POST)
/// 参数:用户ID、金币数量
/// 返回:GoldInfo(金币信息)
/// 购买金币(GET)
/// 参数:number(GoldShopConfig.number)、count(数量)
/// 返回:string(data 为结果描述字符串)
/// </summary>
public static void BuyGold(BuyGoldParam req, Action<GoldInfo> callback)
public static void BuyGold(BuyGoldParam req, Action<string> callback)
{
APIManager.Response<GoldInfo>(APIType.Hall_BuyGold, req, callback);
APIManager.Response<string>(APIType.Hall_BuyGold, req, callback);
}
/// <summary>
/// 购买钻石(POST)
/// 参数:用户ID、钻石数量
/// 返回:DiamondInfo(钻石信息)
/// 购买钻石(GET)
/// 参数:number(DiamondShopConfig.number)、count(数量)
/// 返回:string(data 为结果描述字符串)
/// </summary>
public static void BuyDiamond(BuyDiamondParam req, Action<DiamondInfo> callback)
public static void BuyDiamond(BuyDiamondParam req, Action<string> callback)
{
APIManager.Response<DiamondInfo>(APIType.Hall_BuyDiamond, req, callback);
APIManager.Response<string>(APIType.Hall_BuyDiamond, req, callback);
}
/// <summary>
@@ -1,4 +1,6 @@
using Assets.MyGame.Scripts.Net.APIRequest.Objs;
using Assets.MyGame.Scripts.Net.API;
using Assets.MyGame.Scripts.Net.APIRequest;
using Assets.MyGame.Scripts.Net.APIRequest.Objs;
using Assets.MyGame.Scripts.Net.APIRequest.Params;
using Assets.MyGame.Scripts.Net.APIResponses.HomeMain_User;
using Newtonsoft.Json.Linq;
@@ -68,7 +70,17 @@ namespace Assets.MyGame.Scripts.Net
{
APIManager.Response<long>(APIType.User_GetNoReadCount, callback);
}
/// <summary>
/// 获取未读邮件数量(GET,无参)
/// 返回:long(未读数量)
/// </summary>
public static void GetUser(string userID,Action<UserData> callback)
{
APIManager.Response<UserData>(APIType.User_GetUser,new GetUserParam
{
userid=userID
}, callback);
}
#endregion
}
}
@@ -1,4 +1,5 @@
using System;
using UnityEngine;
namespace Assets.MyGame.Scripts.Net.API.GameConfig_SubClass
{
@@ -8,6 +9,7 @@ namespace Assets.MyGame.Scripts.Net.API.GameConfig_SubClass
[Serializable]
public class DiamondShopConfig
{
public Sprite sprite_Icon;
/// <summary>
/// 商品编号
/// </summary>
@@ -1,4 +1,5 @@
using System;
using UnityEngine;
namespace Assets.MyGame.Scripts.Net.API.GameConfig_SubClass
{
@@ -8,6 +9,7 @@ namespace Assets.MyGame.Scripts.Net.API.GameConfig_SubClass
[Serializable]
public class GoldShopConfig
{
public Sprite sprite_Icon;
/// <summary>
/// 商品编号
/// </summary>
@@ -1,4 +1,5 @@
using System;
using UnityEngine;
namespace Assets.MyGame.Scripts.Net.API.GameConfig_SubClass
{
@@ -8,6 +9,7 @@ namespace Assets.MyGame.Scripts.Net.API.GameConfig_SubClass
[Serializable]
public class PropFragmentConfig : BasePropInfo
{
public Sprite sprite_Icon;
/// <summary>
/// 合成所需碎片数量
/// </summary>
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace Assets.MyGame.Scripts.Net.API.GameConfig_SubClass
{
@@ -9,6 +10,7 @@ namespace Assets.MyGame.Scripts.Net.API.GameConfig_SubClass
[Serializable]
public class PropInfConfig : BasePropInfo
{
public Sprite sprite_Icon;
/// <summary>
/// 关联游戏编号(空表示全部)
/// </summary>
@@ -1,16 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Assets.MyGame.Scripts.Net.APIResponses.Login_SubClass
{
[Serializable]
public class DefaultAPIResponse
{
public int code;
public string? info;
public string data;
}
}
@@ -1,8 +1,10 @@
using System;
using UnityEngine;
[Serializable]
public class UserBaseInfo
{
public Sprite avatarSprite;
public string userName { get; set; }
public string password { get; set; }
public string number { get; set; }
@@ -11,7 +11,15 @@ namespace Assets.MyGame.Scripts.Net.API
/// 用户 Token 及完整用户信息(Swagger: UserToken)
/// </summary>
[Serializable]
public class UserToken
public class UserToken:UserData
{
/// <summary>
/// 登录 Token
/// </summary>
public string token;
}
public class UserData
{
/// <summary>
/// 基础信息,包括昵称、头像等基本信息
@@ -65,7 +73,7 @@ namespace Assets.MyGame.Scripts.Net.API
/// <summary>
/// 拥有的翅膀列表
/// </summary>
public List< BaseUserProp> wingList;
public List<BaseUserProp> wingList;
/// <summary>
/// 当前使用的战神
@@ -101,10 +109,7 @@ namespace Assets.MyGame.Scripts.Net.API
/// </summary>
public StaticInfo @static;
/// <summary>
/// 登录 Token
/// </summary>
public string token;
/// <summary>
/// 玩家因子
/// </summary>
@@ -2310,6 +2310,8 @@ MonoBehaviour:
m_EditorClassIdentifier:
panelAddressConfig: {fileID: 11400000, guid: af4956c52185f7248afa632ba0ba63d7, type: 2}
SubPanelParent: {fileID: 2598784230285573744}
tMP_GoldCoinNum: {fileID: 1330864841708033395}
tMP_DiamondNum: {fileID: 6733070567402786631}
FXYButton: {fileID: 5660061971336108277}
XJMHButton: {fileID: 675111198059572776}
TGXXButton: {fileID: 9215424427851389888}
@@ -1655,7 +1655,7 @@ MonoBehaviour:
m_fontColor32:
serializedVersion: 2
rgba: 4278255577
m_fontColor: {r: 0.8509928, g: 1, b: 0, a: 1}
m_fontColor: {r: 0, g: 1, b: 0.9250941, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
@@ -1768,6 +1768,7 @@ MonoBehaviour:
btn_Close: {fileID: 8274301648789745216}
tMPText_Header: {fileID: 118118469195421749}
tMPText_Content: {fileID: 8331406854104295500}
tMPText_EmailCount: {fileID: 1578311975270780186}
btn_Receive: {fileID: 1015959014050646896}
btn_Dlete: {fileID: 6610209709396860820}
btn_AllDlete: {fileID: 1656486209904210043}
File diff suppressed because it is too large Load Diff
@@ -1,4 +1,5 @@
using Assets.Framework.Tool;
using Assets.MyGame.Scripts.Net;
using Assets.MyGame.Scripts.Net.API.UserData_SubClass;
using System.Collections;
using System.Collections.Generic;
@@ -65,7 +66,7 @@ public class UIHome_BY_BackPackPanel : SubUIBase
tMP_Description.text = product.desc;
}
});
WebTool.DownImage(product.imageUrl, (texture) =>
WebTool.DownImage(APIManager.baseURL+product.imageUrl, (texture) =>
{
obj.transform.GetChild(0).GetComponent<Image>().sprite = Sprite.Create(texture,new Rect(0f,0f,90,90),Vector2.one*0.5f) ;
@@ -16,6 +16,7 @@ public class UIHome_BY_EmailPanel : SubUIBase
{
public TextMeshProUGUI tMPText_Header;
public TextMeshProUGUI tMPText_Content;
public TextMeshProUGUI tMPText_EmailCount;
public Button btn_Receive;
public Button btn_Dlete;
public Button btn_AllDlete;
@@ -77,6 +78,8 @@ public class UIHome_BY_EmailPanel : SubUIBase
dic_GetEmailByPageResponses.Remove(currEmailID);
; Destroy(dic_EmalItems[currEmailID].gameObject);
dic_EmalItems.Remove(currEmailID);
tMPText_EmailCount.text = itemPrefabParent.childCount.ToString();
});
});
@@ -117,6 +120,8 @@ public class UIHome_BY_EmailPanel : SubUIBase
}
}
}
tMPText_EmailCount.text = itemPrefabParent.childCount.ToString();
});
});
@@ -134,6 +139,7 @@ public class UIHome_BY_EmailPanel : SubUIBase
{
propPrefabParent.GetChild(i).GetChild(1).gameObject.SetActive(true);
}
}
protected override void OnShow(object args = null)
@@ -263,6 +269,7 @@ public class UIHome_BY_EmailPanel : SubUIBase
}
});
}
tMPText_EmailCount.text=itemPrefabParent.childCount.ToString();
}
}
@@ -17,14 +17,14 @@ public class UIHome_BY_MonthCardPanel : SubUIBase
base.Awake();
btn_Open.onClick.AddListener(() =>
{
APIRequestList.BuyMonthCard(new BuyMonthCardParam
{
cardType = 1
//APIRequestList.BuyMonthCard(new BuyMonthCardParam
//{
// cardType = 1
}, (response) =>
{
Debug.Log("购买月卡成功,月卡ID:" + response.cardId + ",名称:" + response.name);
});
//}, (response) =>
//{
// Debug.Log("购买月卡成功,月卡ID:" + response.cardId + ",名称:" + response.name);
//});
});
}
// Start is called before the first frame update
@@ -1,21 +1,246 @@
using System.Collections;
using Assets.Framework.Tool;
using Assets.MyGame.Scripts.Net;
using Assets.MyGame.Scripts.Net.API.GameConfig_SubClass;
using Assets.MyGame.Scripts.Net.APIRequest.Params;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class UIHome_BY_ShopPanel : SubUIBase
{
public GameObject obj_PropPrefab;
[Header("左侧按钮")]
public Button btn_GlodCoins;
public Button btn_Diamond;
public Button btn_Prop;
public GameObject obj_ItemPrefab; // 0-图标 1-首充 2-购买按钮 2-0-价值 3-名字
public Transform tra_PrefabParent;
public TextMeshProUGUI tMP_GoldCoinNum;
public TextMeshProUGUI tMP_DiamondNum;
[Header("左侧按钮")]
public Toggle btn_GlodCoins;
public Toggle btn_Diamond;
public Toggle btn_Prop;
public List< GameObject> vipIcon=new List<GameObject>();
Dictionary<string, GoldShopConfig> dic_GoldItems=new Dictionary<string, GoldShopConfig>();
Dictionary<string, DiamondShopConfig> dic_DiamondItems=new Dictionary<string, DiamondShopConfig>();
Dictionary<string, BasePropInfo> dic_PropItems=new Dictionary<string, BasePropInfo>();
public override void Awake()
{
base.Awake();
}
var gameConfig = GameManager.Instance.gameConfig;
btn_GlodCoins.onValueChanged.AddListener((a) =>
{
for (int i = tra_PrefabParent.childCount-1; i >=0; i--)
{
Destroy(tra_PrefabParent.GetChild(i).gameObject);
}
foreach (var item in gameConfig.goldShopConfigs)
{
var obj = Instantiate(obj_ItemPrefab, tra_PrefabParent).transform;
if (item.sprite_Icon==null)
{
WebTool.DownImage(APIManager.baseURL + item.icon, (texture) =>
{
item.sprite_Icon = Sprite.Create(texture,new Rect(0,0, texture.width,texture.height),new Vector2(0.5f,0.5f));
obj.GetChild(0).GetComponent<Image>().sprite= item.sprite_Icon;
});
}
else
{
obj.GetChild(0).GetComponent<Image>().sprite = item.sprite_Icon;
}
obj.name = item.number;
dic_GoldItems[item.number] = item;
obj.GetChild(2).GetComponent<Button>().onClick.AddListener(() =>
{
//这里调用api
APIRequestList.BuyGold(new BuyGoldParam { number = item.number, count = 1 }, (response) =>
{
UIManager.Instance.ShowBoardError(response);
APIRequestList.GetUser(GameManager.Instance.user.id, (a) =>
{
GameManager.Instance.UpdataUserData(a);
tMP_GoldCoinNum.text = GameManager.Instance.user.assets.gold.ToString();
tMP_DiamondNum.text = GameManager.Instance.user.assets.diamond.ToString();
});
});
});
obj.GetChild(2).GetChild(0).GetComponent<TextMeshProUGUI>().text ="\ue002"+item.diamond.ToString();
obj.GetChild(3).GetComponent<TextMeshProUGUI>().text = item.gold.ToString();
}
//
});
btn_Diamond.onValueChanged.AddListener((a) =>
{
for (int i = tra_PrefabParent.childCount - 1; i >= 0; i--)
{
Destroy(tra_PrefabParent.GetChild(i).gameObject);
}
foreach (var item in gameConfig.diamondShopConfigs)
{
var obj = Instantiate(obj_ItemPrefab, tra_PrefabParent).transform;
if (item.sprite_Icon == null)
{
WebTool.DownImage(APIManager.baseURL + item.icon, (texture) =>
{
item.sprite_Icon = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
obj.GetChild(0).GetComponent<Image>().sprite = item.sprite_Icon;
});
}
else
{
obj.GetChild(0).GetComponent<Image>().sprite = item.sprite_Icon;
}
obj.name = item.number;
dic_DiamondItems[item.number] = item;
obj.GetChild(2).GetComponent<Button>().onClick.AddListener(() =>
{
//这里调用api
APIRequestList.BuyDiamond(new BuyDiamondParam { number = item.number, count = 1 }, (response) =>
{
UIManager.Instance.ShowBoardError(response);
APIRequestList.GetUser(GameManager.Instance.user.id, (a) =>
{
GameManager.Instance.UpdataUserData(a);
tMP_GoldCoinNum.text = GameManager.Instance.user.assets.gold.ToString();
tMP_DiamondNum.text = GameManager.Instance.user.assets.diamond.ToString();
});
});
});
obj.GetChild(2).GetChild(0).GetComponent<TextMeshProUGUI>().text = item.money.ToString()+"元";
obj.GetChild(3).GetComponent<TextMeshProUGUI>().text = item.diamond.ToString();
}
//
});
btn_Prop.onValueChanged.AddListener((a) =>
{
for (int i = tra_PrefabParent.childCount - 1; i >= 0; i--)
{
Destroy(tra_PrefabParent.GetChild(i).gameObject);
}
foreach (var item in gameConfig.propConfig)
{
if (item.isSale == false || item.isEnable == false)
{
continue;
}
var obj = Instantiate(obj_ItemPrefab, tra_PrefabParent).transform;
if (item.sprite_Icon == null)
{
WebTool.DownImage(APIManager.baseURL + item.imageUrl, (texture) =>
{
item.sprite_Icon = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
obj.GetChild(0).GetComponent<Image>().sprite = item.sprite_Icon;
});
}
else
{
obj.GetChild(0).GetComponent<Image>().sprite = item.sprite_Icon;
}
obj.name = item.number;
dic_PropItems[item.number] = item;
obj.GetChild(2).GetComponent<Button>().onClick.AddListener(() =>
{
//这里调用api
APIRequestList.BuyProp(new BuyPropParam { propNumber = item.number, count = 1 }, (response) =>
{
UIManager.Instance.ShowBoardError(response);
APIRequestList.GetUser(GameManager.Instance.user.id, (a) =>
{
GameManager.Instance.UpdataUserData(a);
tMP_GoldCoinNum.text = GameManager.Instance.user.assets.gold.ToString();
tMP_DiamondNum.text = GameManager.Instance.user.assets.diamond.ToString();
});
});
});
obj.GetChild(3).GetComponent<TextMeshProUGUI>().text = item.name.ToString();
if (item.saleType == 1)
{
obj.GetChild(2).GetChild(0).GetComponent<TextMeshProUGUI>().text = "\ue001" + item.price.ToString();
}
else if (item.saleType == 2)
{
obj.GetChild(2).GetChild(0).GetComponent<TextMeshProUGUI>().text = "\ue002" + item.price.ToString();
}
}
foreach (var item in gameConfig.propFragments)
{
if (item.isSale==false||item.isEnable==false)
{
continue;
}
var obj = Instantiate(obj_ItemPrefab, tra_PrefabParent).transform;
if (item.sprite_Icon == null)
{
WebTool.DownImage(APIManager.baseURL + item.imageUrl, (texture) =>
{
item.sprite_Icon = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
obj.GetChild(0).GetComponent<Image>().sprite = item.sprite_Icon;
});
}
else
{
obj.GetChild(0).GetComponent<Image>().sprite = item.sprite_Icon;
}
obj.name = item.number;
dic_PropItems[item.number] = item;
obj.GetChild(2).GetComponent<Button>().onClick.AddListener(() =>
{
//这里调用api
APIRequestList.BuyProp(new BuyPropParam { propNumber = item.number, count = 1 }, (response) =>
{
UIManager.Instance.ShowBoardError(response);
APIRequestList.GetUser(GameManager.Instance.user.id, (a) =>
{
GameManager.Instance.UpdataUserData(a);
tMP_GoldCoinNum.text = GameManager.Instance.user.assets.gold.ToString();
tMP_DiamondNum.text = GameManager.Instance.user.assets.diamond.ToString();
});
});
});
obj.GetChild(3).GetComponent<TextMeshProUGUI>().text = item.name.ToString();
if (item.saleType == 1)
{
obj.GetChild(2).GetChild(0).GetComponent<TextMeshProUGUI>().text = "\ue001" + item.price.ToString();
}
else if (item.saleType == 2)
{
obj.GetChild(2).GetChild(0).GetComponent<TextMeshProUGUI>().text = "\ue002" + item.price.ToString();
}
}
//
});
}
protected override void OnShow(object args = null)
{
base.OnShow(args);
tMP_GoldCoinNum.text = GameManager.Instance.user.assets.gold.ToString();
tMP_DiamondNum.text = GameManager.Instance.user.assets.diamond.ToString();
}
// Update is called once per frame
void Update()
{
+14 -2
View File
@@ -4,6 +4,7 @@ using Assets.MyGame.Scripts.Net.APIRequest.Objs;
using Assets.MyGame.Scripts.Net.APIResponses.HomeMain_User;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
@@ -12,6 +13,8 @@ public class UIHomeMain : UIBase
public SubUIManager subUIManager;
public UIPanelAddressConfig panelAddressConfig;
public Transform SubPanelParent;
public TextMeshProUGUI tMP_GoldCoinNum;
public TextMeshProUGUI tMP_DiamondNum;
#region 中间
[Header("风雷之渊")]
public Button FXYButton;
@@ -168,7 +171,16 @@ public class UIHomeMain : UIBase
}
protected override void OnShow(object args = null)
{
base.OnShow(args);
UpdateUserData();
}
public void UpdateUserData()
{
tMP_GoldCoinNum.text = GameManager.Instance.user.assets.gold.ToString();
tMP_DiamondNum.text = GameManager.Instance.user.assets.diamond.ToString();
//user数据
}
}
+9
View File
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 28f5bc2030be6bd41a6066dd84d44902
folderAsset: yes
timeCreated: 1523020534
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
+9
View File
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 0da2e9db10b6016438ab2af9dacde435
folderAsset: yes
timeCreated: 1523817013
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c9c3a8b1d560a0146b500a8fc3b06487
timeCreated: 1523817215
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,89 @@
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
namespace ImageCropperNamespace
{
public class ImageCropperDemo : MonoBehaviour
{
public RawImage croppedImageHolder;
public Text croppedImageSize;
public Toggle ovalSelectionInput, autoZoomInput;
public InputField minAspectRatioInput, maxAspectRatioInput;
public void Crop()
{
// If image cropper is already open, do nothing
if( ImageCropper.Instance.IsOpen )
return;
StartCoroutine( TakeScreenshotAndCrop() );
}
private IEnumerator TakeScreenshotAndCrop()
{
yield return new WaitForEndOfFrame();
bool ovalSelection = ovalSelectionInput.isOn;
bool autoZoom = autoZoomInput.isOn;
float minAspectRatio, maxAspectRatio;
if( !float.TryParse( minAspectRatioInput.text, out minAspectRatio ) )
minAspectRatio = 0f;
if( !float.TryParse( maxAspectRatioInput.text, out maxAspectRatio ) )
maxAspectRatio = 0f;
Texture2D screenshot = new Texture2D( Screen.width, Screen.height, TextureFormat.RGB24, false );
screenshot.ReadPixels( new Rect( 0, 0, Screen.width, Screen.height ), 0, 0 );
screenshot.Apply();
ImageCropper.Instance.Show( screenshot, ( bool result, Texture originalImage, Texture2D croppedImage ) =>
{
// Destroy previously cropped texture (if any) to free memory
Destroy( croppedImageHolder.texture, 5f );
// If screenshot was cropped successfully
if( result )
{
// Assign cropped texture to the RawImage
croppedImageHolder.enabled = true;
croppedImageHolder.texture = croppedImage;
Vector2 size = croppedImageHolder.rectTransform.sizeDelta;
if( croppedImage.height <= croppedImage.width )
size = new Vector2( 400f, 400f * ( croppedImage.height / (float) croppedImage.width ) );
else
size = new Vector2( 400f * ( croppedImage.width / (float) croppedImage.height ), 400f );
croppedImageHolder.rectTransform.sizeDelta = size;
croppedImageSize.enabled = true;
croppedImageSize.text = "Image size: " + croppedImage.width + ", " + croppedImage.height;
}
else
{
croppedImageHolder.enabled = false;
croppedImageSize.enabled = false;
}
// Destroy the screenshot as we no longer need it in this case
Destroy( screenshot );
},
settings: new ImageCropper.Settings()
{
ovalSelection = ovalSelection,
autoZoomEnabled = autoZoom,
imageBackground = Color.clear, // transparent background
selectionMinAspectRatio = minAspectRatio,
selectionMaxAspectRatio = maxAspectRatio
},
croppedImageResizePolicy: ( ref int width, ref int height ) =>
{
// uncomment lines below to save cropped image at half resolution
//width /= 2;
//height /= 2;
} );
}
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 69027feb3ce406745b1f9c00f61d4b70
timeCreated: 1523818595
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,6 @@
{
"name": "ImageCropper.Runtime",
"references": [
"Unity.InputSystem"
]
}
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 58b8905714dedd04693f1fb3fd955437
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+6
View File
@@ -0,0 +1,6 @@
= Image Cropper (v1.0.8) =
Documentation: https://github.com/yasirkula/UnityImageCropper
FAQ: https://github.com/yasirkula/UnityImageCropper#faq
Example code: https://github.com/yasirkula/UnityImageCropper#example-code
E-mail: yasirkula@gmail.com
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f2524c1e4c1b07d4892037793e8a9404
timeCreated: 1563307881
licenseType: Store
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 9e8f5004af78dcf4283d0cf22bbb48a5
folderAsset: yes
timeCreated: 1523020546
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: c3ec8097647d9e54daa56be589f9a12b
timeCreated: 1523020550
licenseType: Store
NativeFormatImporter:
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
+9
View File
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: bd4231b281c79d24099b410dcffb0660
folderAsset: yes
timeCreated: 1523023285
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,150 @@
using UnityEngine;
using UnityEngine.UI;
namespace ImageCropperNamespace
{
[RequireComponent( typeof( CanvasRenderer ) )]
public class CircleGraphic : MaskableGraphic
{
public enum Mode { FillInside = 0, FillOutside = 1, Edge = 2 };
[SerializeField]
private Sprite renderSprite;
[SerializeField]
private int detail = 64;
[SerializeField]
private Mode mode;
[SerializeField]
private float edgeThickness = 1;
private Vector2 uv;
private Color32 color32;
private float width, height;
private float deltaWidth, deltaHeight;
private float deltaRadians;
public override Texture mainTexture { get { return renderSprite != null ? renderSprite.texture : s_WhiteTexture; } }
protected override void Awake()
{
base.Awake();
if( renderSprite != null )
{
Vector4 packedUv = UnityEngine.Sprites.DataUtility.GetOuterUV( renderSprite );
uv = new Vector2( packedUv.x + packedUv.z, packedUv.y + packedUv.w ) * 0.5f; // uv center point
}
}
protected override void OnPopulateMesh( VertexHelper vh )
{
Rect r = GetPixelAdjustedRect();
color32 = color;
width = r.width * 0.5f;
height = r.height * 0.5f;
vh.Clear();
Vector2 pivot = rectTransform.pivot;
deltaWidth = r.width * ( 0.5f - pivot.x );
deltaHeight = r.height * ( 0.5f - pivot.y );
if( mode == Mode.FillInside )
{
deltaRadians = 360f / detail * Mathf.Deg2Rad;
FillInside( vh );
}
else if( mode == Mode.FillOutside )
{
int quarterDetail = ( detail + 3 ) / 4;
deltaRadians = 360f / ( quarterDetail * 4 ) * Mathf.Deg2Rad;
vh.AddVert( new Vector3( width + deltaWidth, height + deltaHeight, 0f ), color32, uv );
vh.AddVert( new Vector3( -width + deltaWidth, height + deltaHeight, 0f ), color32, uv );
vh.AddVert( new Vector3( -width + deltaWidth, -height + deltaHeight, 0f ), color32, uv );
vh.AddVert( new Vector3( width + deltaWidth, -height + deltaHeight, 0f ), color32, uv );
int triangleIndex = 4;
FillOutside( vh, new Vector3( width + deltaWidth, deltaHeight, 0f ), 0, quarterDetail, ref triangleIndex );
FillOutside( vh, new Vector3( deltaWidth, height + deltaHeight, 0f ), 1, quarterDetail, ref triangleIndex );
FillOutside( vh, new Vector3( -width + deltaWidth, deltaHeight, 0f ), 2, quarterDetail, ref triangleIndex );
FillOutside( vh, new Vector3( deltaWidth, -height + deltaHeight, 0f ), 3, quarterDetail, ref triangleIndex );
}
else
{
deltaRadians = 360f / detail * Mathf.Deg2Rad;
GenerateEdges( vh );
}
}
public override void Cull( Rect clipRect, bool validRect )
{
canvasRenderer.cull = false;
}
private void FillInside( VertexHelper vh )
{
vh.AddVert( new Vector3( deltaWidth, deltaHeight, 0f ), color32, uv );
vh.AddVert( new Vector3( width + deltaWidth, deltaHeight, 0f ), color32, uv );
int triangleIndex = 2;
for( int i = 1; i < detail; i++, triangleIndex++ )
{
float radians = i * deltaRadians;
vh.AddVert( new Vector3( Mathf.Cos( radians ) * width + deltaWidth, Mathf.Sin( radians ) * height + deltaHeight, 0f ), color32, uv );
vh.AddTriangle( triangleIndex, triangleIndex - 1, 0 );
}
vh.AddTriangle( 1, triangleIndex - 1, 0 );
}
private void FillOutside( VertexHelper vh, Vector3 initialPoint, int quarterIndex, int detail, ref int triangleIndex )
{
int startIndex = quarterIndex * detail;
int endIndex = ( quarterIndex + 1 ) * detail;
vh.AddVert( initialPoint, color32, uv );
triangleIndex++;
for( int i = startIndex + 1; i <= endIndex; i++, triangleIndex++ )
{
float radians = i * deltaRadians;
vh.AddVert( new Vector3( Mathf.Cos( radians ) * width + deltaWidth, Mathf.Sin( radians ) * height + deltaHeight, 0f ), color32, uv );
vh.AddTriangle( quarterIndex, triangleIndex - 1, triangleIndex );
}
}
private void GenerateEdges( VertexHelper vh )
{
float innerWidth = width - edgeThickness;
float innerHeight = height - edgeThickness;
vh.AddVert( new Vector3( width + deltaWidth, deltaHeight, 0f ), color32, uv );
vh.AddVert( new Vector3( innerWidth + deltaWidth, deltaHeight, 0f ), color32, uv );
int triangleIndex = 2;
for( int i = 1; i < detail; i++, triangleIndex += 2 )
{
float radians = i * deltaRadians;
float cos = Mathf.Cos( radians );
float sin = Mathf.Sin( radians );
vh.AddVert( new Vector3( cos * width + deltaWidth, sin * height + deltaHeight, 0f ), color32, uv );
vh.AddVert( new Vector3( cos * innerWidth + deltaWidth, sin * innerHeight + deltaHeight, 0f ), color32, uv );
vh.AddTriangle( triangleIndex, triangleIndex - 2, triangleIndex - 1 );
vh.AddTriangle( triangleIndex, triangleIndex - 1, triangleIndex + 1 );
}
vh.AddTriangle( 0, triangleIndex - 2, triangleIndex - 1 );
vh.AddTriangle( 0, triangleIndex - 1, 1 );
}
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 713600372b4defb458fcaf7bb47fedbc
timeCreated: 1523363091
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,71 @@
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.SceneManagement;
#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
using UnityEngine.InputSystem.UI;
#endif
namespace ImageCropperNamespace
{
// Avoid multiple EventSystems in the scene by activating the embedded EventSystem only if one doesn't already exist in the scene
[DefaultExecutionOrder( 1000 )]
public class EventSystemHandler : MonoBehaviour
{
[SerializeField]
private GameObject embeddedEventSystem;
#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
private void Awake()
{
StandaloneInputModule legacyInputModule = embeddedEventSystem.GetComponent<StandaloneInputModule>();
if( legacyInputModule )
{
DestroyImmediate( legacyInputModule );
embeddedEventSystem.AddComponent<InputSystemUIInputModule>();
}
}
#endif
private void OnEnable()
{
SceneManager.sceneLoaded -= OnSceneLoaded;
SceneManager.sceneLoaded += OnSceneLoaded;
SceneManager.sceneUnloaded -= OnSceneUnloaded;
SceneManager.sceneUnloaded += OnSceneUnloaded;
ActivateEventSystemIfNeeded();
}
private void OnDisable()
{
SceneManager.sceneLoaded -= OnSceneLoaded;
SceneManager.sceneUnloaded -= OnSceneUnloaded;
DeactivateEventSystem();
}
private void OnSceneLoaded( Scene scene, LoadSceneMode mode )
{
DeactivateEventSystem();
ActivateEventSystemIfNeeded();
}
private void OnSceneUnloaded( Scene current )
{
// Deactivate the embedded EventSystem before changing scenes because the new scene might have its own EventSystem
DeactivateEventSystem();
}
private void ActivateEventSystemIfNeeded()
{
if( embeddedEventSystem && !EventSystem.current )
embeddedEventSystem.SetActive( true );
}
private void DeactivateEventSystem()
{
if( embeddedEventSystem )
embeddedEventSystem.SetActive( false );
}
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 5a39d7b3bb056d340842cf64a2bdf500
timeCreated: 1658741613
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,57 @@
using UnityEngine;
using UnityEngine.UI;
namespace ImageCropperNamespace
{
[RequireComponent( typeof( CanvasRenderer ) )]
public class FadeOverlayGraphic : Graphic
{
private const float OFFSET = 20000f;
[SerializeField]
private Sprite renderSprite;
private Vector2 uv = Vector2.zero;
private Color32 color32;
public override Texture mainTexture { get { return renderSprite != null ? renderSprite.texture : s_WhiteTexture; } }
protected override void Awake()
{
base.Awake();
if( renderSprite != null )
{
Vector4 packedUv = UnityEngine.Sprites.DataUtility.GetOuterUV( renderSprite );
uv = new Vector2( packedUv.x + packedUv.z, packedUv.y + packedUv.w ) * 0.5f; // uv center point
}
}
protected override void OnPopulateMesh( VertexHelper vh )
{
Rect r = GetPixelAdjustedRect();
float xMin = r.x, xMax = r.x + r.width;
float yMin = r.y, yMax = r.y + r.height;
color32 = color;
vh.Clear();
GenerateMesh( vh, -OFFSET, yMax, OFFSET, OFFSET, 0 );
GenerateMesh( vh, -OFFSET, -OFFSET, OFFSET, yMin, 4 );
GenerateMesh( vh, -OFFSET, yMin, xMin, yMax, 8 );
GenerateMesh( vh, xMax, yMin, OFFSET, yMax, 12 );
}
private void GenerateMesh( VertexHelper vh, float xMin, float yMin, float xMax, float yMax, int triangleIndex )
{
vh.AddVert( new Vector3( xMin, yMin ), color32, uv );
vh.AddVert( new Vector3( xMin, yMax ), color32, uv );
vh.AddVert( new Vector3( xMax, yMax ), color32, uv );
vh.AddVert( new Vector3( xMax, yMin ), color32, uv );
vh.AddTriangle( triangleIndex, triangleIndex + 1, triangleIndex + 2 );
vh.AddTriangle( triangleIndex + 2, triangleIndex + 3, triangleIndex );
}
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: e8c3d44f0736eda4f83e452134543b3b
timeCreated: 1523363091
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,53 @@
using UnityEngine;
using UnityEngine.UI;
namespace ImageCropperNamespace
{
public class FontSizeSynchronizer : MonoBehaviour
{
[SerializeField]
private Text[] texts;
private int[] initialBestFitSizes;
private Canvas canvas;
private void Awake()
{
if( texts.Length == 0 )
return;
canvas = texts[0].canvas;
initialBestFitSizes = new int[texts.Length];
for( int i = 0; i < texts.Length; i++ )
initialBestFitSizes[i] = texts[i].resizeTextMaxSize;
}
public void Synchronize()
{
if( canvas == null || !gameObject.activeInHierarchy )
return;
int minSize = int.MaxValue;
for( int i = 0; i < texts.Length; i++ )
{
Text text = texts[i];
text.resizeTextMaxSize = initialBestFitSizes[i];
text.resizeTextForBestFit = true;
text.cachedTextGenerator.Populate( text.text, text.GetGenerationSettings( text.rectTransform.rect.size ) );
int fontSize = text.cachedTextGenerator.fontSizeUsedForBestFit;
if( fontSize < minSize )
minSize = fontSize;
}
int fontSizeScaled = (int) ( minSize / canvas.scaleFactor );
for( int i = 0; i < texts.Length; i++ )
{
texts[i].fontSize = fontSizeScaled;
texts[i].resizeTextForBestFit = false;
}
}
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 9c7e2faa58cd3d546baa167999dbf7d9
timeCreated: 1523634406
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
namespace ImageCropperNamespace
{
public interface ISelectionHandler
{
void OnUpdate();
void Stop();
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: d78547850cdc3d0449c56b20bdebdbdf
timeCreated: 1523306212
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 36771194e183b9644a5e8a7da8266967
timeCreated: 1523026864
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,97 @@
using UnityEngine;
using Orientation = ImageCropper.Orientation;
namespace ImageCropperNamespace
{
public static class ImageCropperUtils
{
public static Vector2 RoundToInt( this Vector2 vector )
{
vector.x = (int) ( vector.x + 0.5f );
vector.y = (int) ( vector.y + 0.5f );
return vector;
}
public static Vector2 CeilToInt( this Vector2 vector )
{
vector.x = (int) ( vector.x + 0.999f );
vector.y = (int) ( vector.y + 0.999f );
return vector;
}
public static Vector2 FloorToInt( this Vector2 vector )
{
vector.x = (int) vector.x;
vector.y = (int) vector.y;
return vector;
}
public static Vector2 ClampBetween( this Vector2 vector, Vector2 min, Vector2 max )
{
if( min.x < max.x )
{
if( vector.x < min.x )
vector.x = min.x;
else if( vector.x > max.x )
vector.x = max.x;
}
else
{
if( vector.x < max.x )
vector.x = max.x;
else if( vector.x > min.x )
vector.x = min.x;
}
if( min.y < max.y )
{
if( vector.y < min.y )
vector.y = min.y;
else if( vector.y > max.y )
vector.y = max.y;
}
else
{
if( vector.y < max.y )
vector.y = max.y;
else if( vector.y > min.y )
vector.y = min.y;
}
return vector;
}
public static Vector2 LerpTo( this Vector2 from, Vector2 to, float t )
{
return new Vector2( from.x + ( to.x - from.x ) * t, from.y + ( to.y - from.y ) * t );
}
public static Vector2 ScaleWith( this Vector2 vector, Vector2 scale )
{
return new Vector2( vector.x * scale.x, vector.y * scale.y );
}
public static Orientation GetExifFixOrientation( this Orientation exifOrientation )
{
if( exifOrientation == Orientation.Normal )
return Orientation.Normal;
else if( exifOrientation == Orientation.Rotate90 )
return Orientation.Rotate270;
else if( exifOrientation == Orientation.Rotate180 )
return Orientation.Rotate180;
else if( exifOrientation == Orientation.Rotate270 )
return Orientation.Rotate90;
else if( exifOrientation == Orientation.FlipHorizontal )
return Orientation.FlipHorizontal;
else if( exifOrientation == Orientation.Transpose )
return Orientation.Transverse;
else if( exifOrientation == Orientation.FlipVertical )
return Orientation.FlipVertical;
else
return Orientation.Transpose;
}
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: c47fc29e548efd848bef67581c69904e
timeCreated: 1523298806
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,80 @@
using UnityEngine;
using UnityEngine.UI;
#if UNITY_EDITOR
using Screen = UnityEngine.Device.Screen; // To support Device Simulator on Unity 2021.1+
#endif
namespace ImageCropperNamespace
{
public class NotchCompensator : MonoBehaviour
{
#if UNITY_EDITOR || UNITY_ANDROID || UNITY_IOS
[SerializeField]
[Tooltip( "If enabled, on Android and iOS devices with notch screens, top buttons will be repositioned so that the cutout(s) don't obscure them" )]
private bool avoidScreenCutout = true;
[SerializeField]
private RectTransform buttons;
[SerializeField]
private RectTransform viewport;
[SerializeField]
private Image notchBackground;
private RectTransform canvasTR;
private bool screenDimensionsChanged = true;
private void Awake()
{
canvasTR = (RectTransform) transform;
}
// Window is resized, update the list
private void OnRectTransformDimensionsChange()
{
screenDimensionsChanged = true;
}
private void LateUpdate()
{
if( screenDimensionsChanged )
{
CheckScreenCutout();
screenDimensionsChanged = false;
}
}
// If a cutout is intersecting with the buttons at the top on notch screens, shift these buttons downwards
private void CheckScreenCutout()
{
if( !avoidScreenCutout )
return;
// Check if there is a cutout at the top of the screen
int screenHeight = Screen.height;
float safeYMax = Screen.safeArea.yMax;
if( safeYMax < screenHeight - 1 ) // 1: a small threshold
{
// There is a cutout, shift the top buttons downwards
float cutoutPercentage = ( screenHeight - safeYMax ) / Screen.height;
float cutoutLocalSize = cutoutPercentage * canvasTR.rect.height;
buttons.anchoredPosition = new Vector2( 0f, -cutoutLocalSize );
viewport.sizeDelta = new Vector2( 0f, -cutoutLocalSize );
notchBackground.rectTransform.sizeDelta = new Vector2( 0f, cutoutLocalSize + 5f ); // 5f: to prevent a thin black line from appearing when canvas is scaled with screen size
if( !notchBackground.enabled )
notchBackground.enabled = true;
}
else
{
buttons.anchoredPosition = Vector2.zero;
viewport.sizeDelta = Vector2.zero;
if( notchBackground.enabled )
notchBackground.enabled = false;
}
}
#endif
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: e8515777b12faab4aa32d26f9037af5c
timeCreated: 1617958394
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,63 @@
using UnityEngine;
namespace ImageCropperNamespace
{
public class SelectionCornersFitter : MonoBehaviour
{
[SerializeField]
private RectTransform selection;
[SerializeField]
private RectTransform bottomLeft;
[SerializeField]
private RectTransform bottomRight;
[SerializeField]
private RectTransform topLeft;
[SerializeField]
private RectTransform topRight;
[SerializeField]
private float preferredCornerSize = 30f;
[SerializeField]
private float cornerSizeMaxRatio = 0.3f;
private Vector2 inset;
private void OnEnable()
{
inset = ( (RectTransform) transform ).sizeDelta * 0.5f;
OnRectTransformDimensionsChange();
}
private void OnRectTransformDimensionsChange()
{
if( !gameObject.activeInHierarchy )
return;
Vector2 cornerSize;
Vector2 maxCornerSize = selection.rect.size * cornerSizeMaxRatio + inset;
if( preferredCornerSize <= maxCornerSize.x && preferredCornerSize <= maxCornerSize.y )
cornerSize = new Vector2( preferredCornerSize, preferredCornerSize );
else
cornerSize = Vector2.one * Mathf.Min( maxCornerSize.x, maxCornerSize.y );
float halfCornerSize = cornerSize.x * 0.5f;
bottomLeft.anchoredPosition = new Vector2( halfCornerSize, halfCornerSize );
bottomLeft.sizeDelta = cornerSize;
bottomRight.anchoredPosition = new Vector2( -halfCornerSize, halfCornerSize );
bottomRight.sizeDelta = cornerSize;
topLeft.anchoredPosition = new Vector2( halfCornerSize, -halfCornerSize );
topLeft.sizeDelta = cornerSize;
topRight.anchoredPosition = new Vector2( -halfCornerSize, -halfCornerSize );
topRight.sizeDelta = cornerSize;
}
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 3f6e5203b9596d34c9c93b34dc5c2444
timeCreated: 1523373445
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,56 @@
using UnityEngine;
namespace ImageCropperNamespace
{
public class SelectionGraphicsSynchronizer : MonoBehaviour
{
[SerializeField]
private ImageCropper manager;
[SerializeField]
private RectTransform selectionBottomLeft;
[SerializeField]
private RectTransform selectionTopRight;
private RectTransform viewport;
private RectTransform selectionGraphics;
private Vector2 bottomLeftPrevPosition, topRightPrevPosition;
private void Awake()
{
viewport = manager.Viewport;
selectionGraphics = manager.SelectionGraphics;
}
private void Start()
{
bottomLeftPrevPosition = selectionBottomLeft.position;
topRightPrevPosition = selectionTopRight.position;
Synchronize( selectionBottomLeft.position, selectionTopRight.position );
}
public void Synchronize()
{
Vector2 bottomLeftPosition = selectionBottomLeft.position;
Vector2 topRightPosition = selectionTopRight.position;
if( bottomLeftPosition != bottomLeftPrevPosition || topRightPosition != topRightPrevPosition )
Synchronize( bottomLeftPosition, topRightPosition );
}
private void Synchronize( Vector2 bottomLeft, Vector2 topRight )
{
Vector2 position = viewport.InverseTransformPoint( bottomLeft );
Vector2 size = (Vector2) viewport.InverseTransformPoint( topRight ) - position;
selectionGraphics.anchoredPosition = position;
selectionGraphics.sizeDelta = size;
bottomLeftPrevPosition = bottomLeft;
topRightPrevPosition = topRight;
}
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: e2fed2a2c78b61c4e86034296678669c
timeCreated: 1523270788
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,116 @@
using UnityEngine;
using UnityEngine.EventSystems;
using Direction = ImageCropper.Direction;
namespace ImageCropperNamespace
{
public class SelectionMovementHandler : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler, ISelectionHandler
{
private const float SCROLL_DISTANCE = 5f;
[SerializeField]
private ImageCropper manager;
private RectTransform selection;
private Vector2 initialPosition;
private Vector2 initialTouchPosition;
private int draggingPointer;
private void Awake()
{
selection = manager.Selection;
}
private void OnDisable()
{
manager.StopModifySelectionWith( this );
}
public void OnBeginDrag( PointerEventData eventData )
{
if( !manager.CanModifySelectionWith( this ) )
{
eventData.pointerDrag = null;
return;
}
draggingPointer = eventData.pointerId;
initialPosition = selection.anchoredPosition;
initialTouchPosition = manager.GetTouchPosition( eventData.pressPosition, eventData.pressEventCamera );
}
public void OnDrag( PointerEventData eventData )
{
if( eventData.pointerId != draggingPointer )
{
eventData.pointerDrag = null;
return;
}
manager.UpdateSelection( initialPosition + manager.GetTouchPosition( eventData.position, eventData.pressEventCamera ) - initialTouchPosition );
}
public void OnEndDrag( PointerEventData eventData )
{
if( eventData.pointerId == draggingPointer )
manager.StopModifySelectionWith( this );
}
public void OnUpdate()
{
bool shouldUpdateViewport = false;
float scale = manager.ImageHolder.localScale.z;
Vector2 imagePosition = manager.ImageHolder.anchoredPosition;
Vector2 selectionBottomLeft = imagePosition + selection.anchoredPosition * scale;
Vector2 selectionTopRight = selectionBottomLeft + selection.sizeDelta * scale;
Vector2 selectionSize = selectionTopRight - selectionBottomLeft;
Vector2 viewportSize = manager.ViewportSize;
if( selectionBottomLeft.x <= SCROLL_DISTANCE )
{
imagePosition = manager.ScrollImage( imagePosition, Direction.Left );
selectionBottomLeft.x = 0f;
shouldUpdateViewport = true;
}
else if( selectionTopRight.x >= viewportSize.x - SCROLL_DISTANCE )
{
imagePosition = manager.ScrollImage( imagePosition, Direction.Right );
selectionBottomLeft.x = viewportSize.x - selectionSize.x;
shouldUpdateViewport = true;
}
if( selectionBottomLeft.y <= SCROLL_DISTANCE )
{
imagePosition = manager.ScrollImage( imagePosition, Direction.Bottom );
selectionBottomLeft.y = 0f;
shouldUpdateViewport = true;
}
else if( selectionTopRight.y >= viewportSize.y - SCROLL_DISTANCE )
{
imagePosition = manager.ScrollImage( imagePosition, Direction.Top );
selectionBottomLeft.y = viewportSize.y - selectionSize.y;
shouldUpdateViewport = true;
}
if( shouldUpdateViewport )
{
manager.ImageHolder.anchoredPosition = imagePosition;
manager.UpdateSelection( ( selectionBottomLeft - imagePosition ) / scale );
}
}
public void Stop()
{
draggingPointer--;
}
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 33348899dae70cc46b4343a8838195cf
timeCreated: 1523023329
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,223 @@
using UnityEngine;
using UnityEngine.EventSystems;
using Direction = ImageCropper.Direction;
namespace ImageCropperNamespace
{
public class SelectionResizeHandler : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler, ISelectionHandler
{
private const float SCROLL_DISTANCE = 70f;
private const float SELECTION_MAX_DISTANCE_FOR_SCROLL = 50f;
[SerializeField]
private ImageCropper manager;
[SerializeField]
private Direction direction;
[SerializeField]
private Direction secondaryDirection = Direction.None;
private Direction directions;
private Direction pivot;
private RectTransform selection;
private Vector2 initialPosition;
private Vector2 initialTouchPosition;
private Vector2 initialSelectionPosition;
private Vector2 initialSelectionSize;
private int draggingPointer;
private PointerEventData draggingPointerEventData;
private void Awake()
{
selection = manager.Selection;
if( direction == Direction.None )
{
Direction temp = direction;
direction = secondaryDirection;
secondaryDirection = temp;
}
directions = direction | secondaryDirection;
pivot = Direction.None;
if( ( directions & Direction.Left ) == Direction.Left )
pivot |= Direction.Right;
else if( ( directions & Direction.Right ) == Direction.Right )
pivot |= Direction.Left;
if( ( directions & Direction.Top ) == Direction.Top )
pivot |= Direction.Bottom;
else if( ( directions & Direction.Bottom ) == Direction.Bottom )
pivot |= Direction.Top;
}
private void OnDisable()
{
manager.StopModifySelectionWith( this );
}
public void OnBeginDrag( PointerEventData eventData )
{
if( !manager.CanModifySelectionWith( this ) )
{
eventData.pointerDrag = null;
return;
}
draggingPointer = eventData.pointerId;
draggingPointerEventData = eventData;
if( ( directions & Direction.Left ) == Direction.Left )
initialPosition.x = selection.anchoredPosition.x;
else if( ( directions & Direction.Right ) == Direction.Right )
initialPosition.x = selection.anchoredPosition.x + selection.sizeDelta.x;
if( ( directions & Direction.Top ) == Direction.Top )
initialPosition.y = selection.anchoredPosition.y + selection.sizeDelta.y;
else if( ( directions & Direction.Bottom ) == Direction.Bottom )
initialPosition.y = selection.anchoredPosition.y;
initialTouchPosition = manager.GetTouchPosition( eventData.pressPosition, eventData.pressEventCamera );
initialSelectionPosition = selection.anchoredPosition;
initialSelectionSize = selection.sizeDelta;
}
public void OnDrag( PointerEventData eventData )
{
if( eventData.pointerId != draggingPointer )
{
eventData.pointerDrag = null;
return;
}
draggingPointerEventData = eventData;
Vector2 newPosition = initialPosition + manager.GetTouchPosition( eventData.position, eventData.pressEventCamera ) - initialTouchPosition;
Vector2 selectionPosition = initialSelectionPosition;
Vector2 selectionSize = initialSelectionSize;
if( ( directions & Direction.Left ) == Direction.Left )
{
if( newPosition.x < manager.SelectionSnapToEdgeThreshold )
newPosition.x = 0f;
selectionSize.x -= newPosition.x - selectionPosition.x;
selectionPosition.x = newPosition.x;
}
else if( ( directions & Direction.Right ) == Direction.Right )
{
if( newPosition.x > manager.OrientedImageSize.x - manager.SelectionSnapToEdgeThreshold )
newPosition.x = manager.OrientedImageSize.x;
selectionSize.x = newPosition.x - selectionPosition.x;
}
if( ( directions & Direction.Top ) == Direction.Top )
{
if( newPosition.y > manager.OrientedImageSize.y - manager.SelectionSnapToEdgeThreshold )
newPosition.y = manager.OrientedImageSize.y;
selectionSize.y = newPosition.y - selectionPosition.y;
}
else if( ( directions & Direction.Bottom ) == Direction.Bottom )
{
if( newPosition.y < manager.SelectionSnapToEdgeThreshold )
newPosition.y = 0f;
selectionSize.y -= newPosition.y - selectionPosition.y;
selectionPosition.y = newPosition.y;
}
bool shouldExpand = false;
if( secondaryDirection == Direction.None )
{
if( direction == Direction.Left || direction == Direction.Right )
{
if( selectionSize.x > initialSelectionSize.x )
shouldExpand = true;
}
else
{
if( selectionSize.y > initialSelectionSize.y )
shouldExpand = true;
}
}
manager.UpdateSelection( selectionPosition, selectionSize, pivot, !shouldExpand );
}
public void OnEndDrag( PointerEventData eventData )
{
if( eventData.pointerId == draggingPointer )
{
draggingPointerEventData = null;
manager.StopModifySelectionWith( this );
}
}
public void OnUpdate()
{
if( draggingPointerEventData == null )
return;
Vector2 pointerLocalPos;
RectTransformUtility.ScreenPointToLocalPointInRectangle( manager.Viewport, draggingPointerEventData.position, draggingPointerEventData.pressEventCamera, out pointerLocalPos );
bool shouldUpdateViewport = false;
float scale = manager.ImageHolder.localScale.z;
Vector2 imagePosition = manager.ImageHolder.anchoredPosition;
Vector2 selectionBottomLeft = imagePosition + selection.anchoredPosition * scale;
Vector2 selectionTopRight = selectionBottomLeft + selection.sizeDelta * scale;
Vector2 viewportSize = manager.ViewportSize;
if( ( directions & Direction.Left ) == Direction.Left || ( directions & Direction.Right ) == Direction.Right )
{
if( pointerLocalPos.x <= SCROLL_DISTANCE && selectionBottomLeft.x <= SELECTION_MAX_DISTANCE_FOR_SCROLL )
{
imagePosition = manager.ScrollImage( imagePosition, Direction.Left );
shouldUpdateViewport = true;
}
else if( pointerLocalPos.x >= viewportSize.x - SCROLL_DISTANCE && selectionTopRight.x >= viewportSize.x - SELECTION_MAX_DISTANCE_FOR_SCROLL )
{
imagePosition = manager.ScrollImage( imagePosition, Direction.Right );
shouldUpdateViewport = true;
}
}
if( ( directions & Direction.Bottom ) == Direction.Bottom || ( directions & Direction.Top ) == Direction.Top )
{
if( pointerLocalPos.y <= SCROLL_DISTANCE && selectionBottomLeft.y <= SELECTION_MAX_DISTANCE_FOR_SCROLL )
{
imagePosition = manager.ScrollImage( imagePosition, Direction.Bottom );
shouldUpdateViewport = true;
}
else if( pointerLocalPos.y >= viewportSize.y - SCROLL_DISTANCE && selectionTopRight.y >= viewportSize.y - SELECTION_MAX_DISTANCE_FOR_SCROLL )
{
imagePosition = manager.ScrollImage( imagePosition, Direction.Top );
shouldUpdateViewport = true;
}
}
if( shouldUpdateViewport )
{
manager.ImageHolder.anchoredPosition = imagePosition;
OnDrag( draggingPointerEventData );
}
}
public void Stop()
{
draggingPointer--;
draggingPointerEventData = null;
}
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 493caa6d6a37d2843a59fcc5ac787ea8
timeCreated: 1523026423
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,27 @@
using UnityEngine;
namespace ImageCropperNamespace
{
public class SizeChangeListener : MonoBehaviour
{
private RectTransform rectTransform;
public System.Action<Vector2> onSizeChanged;
private void Awake()
{
rectTransform = (RectTransform) transform;
}
private void Start()
{
OnRectTransformDimensionsChange();
}
private void OnRectTransformDimensionsChange()
{
if( onSizeChanged != null && rectTransform != null )
onSizeChanged( rectTransform.rect.size );
}
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 9ffb5840d0058c145bcff9f500ab3eae
timeCreated: 1523045737
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+9
View File
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: de22cfbccca16af4d878db0e649911b7
folderAsset: yes
timeCreated: 1523020570
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,135 @@
fileFormatVersion: 2
guid: 7a0e0abeb9a1e1842b96697e569c4a10
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 16
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: 1
cookieLightType: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag: ImageCropper
pSDRemoveMatte: 1
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,135 @@
fileFormatVersion: 2
guid: 6fe2779cd5f5f9f4aa47fbb2b2df7c77
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 16
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: 1
cookieLightType: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag: ImageCropper
pSDRemoveMatte: 1
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,135 @@
fileFormatVersion: 2
guid: bea2c3bc476233040b1fee52ad90f372
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 16
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: 1
cookieLightType: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag: ImageCropper
pSDRemoveMatte: 1
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,135 @@
fileFormatVersion: 2
guid: e2f2c6559fc415b49a19aaa8bf684dc0
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 16
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: 3, y: 3, z: 3, w: 3}
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: 1
cookieLightType: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag: ImageCropper
pSDRemoveMatte: 1
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,135 @@
fileFormatVersion: 2
guid: 76197f564ff144b4abdc47609e110582
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 16
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: 5, y: 5, z: 5, w: 5}
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: 1
cookieLightType: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag: ImageCropper
pSDRemoveMatte: 1
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,135 @@
fileFormatVersion: 2
guid: bb7ac2c4a1893b24f84696c7e052c463
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 16
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: 7, y: 8, z: 7, w: 8}
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: 1
cookieLightType: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag: ImageCropper
pSDRemoveMatte: 1
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,135 @@
fileFormatVersion: 2
guid: 0be23f5c35fdf564ab35c16f6ad96f43
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 16
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: 6, y: 6, 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: 1
cookieLightType: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag: ImageCropper
pSDRemoveMatte: 1
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,135 @@
fileFormatVersion: 2
guid: f0f3996b413bd4c44b9e5d18e99bc7e9
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 16
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: 1
cookieLightType: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag: ImageCropper
pSDRemoveMatte: 1
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 52bcc804eca1c4e4296b25b08d1f8be7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 63e28a2c158698f43ad92a4fbaf3b70f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 0c83eaacc9c715349b9599360f518595
guid: 854168bf2c833fd4187fe059031d64e8
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

@@ -0,0 +1,166 @@
fileFormatVersion: 2
guid: 33191a117db34de43ab8bceb193529ad
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: 0
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: 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: WebGL
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: Windows Store Apps
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:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c1b9427a253f5ef409cc20ab1a25991c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

@@ -0,0 +1,166 @@
fileFormatVersion: 2
guid: eead7d5edd83d234b93dc6eb32129389
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: 0
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: 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: WebGL
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: Windows Store Apps
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:
Binary file not shown.

After

Width:  |  Height:  |  Size: 784 B

+166
View File
@@ -0,0 +1,166 @@
fileFormatVersion: 2
guid: c815ca06ab94cd84da876927735c0686
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: 0
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: 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: WebGL
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: Windows Store Apps
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:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 13d6987baa90d134c9205966eb3c8b2c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 41a2b824001a4fb4d816667b582e82dc
guid: 721a36156a2e7644bab0e4bab2f0f44d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
@@ -39,7 +39,7 @@ TextureImporter:
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 3c86496a1196d0a438b6db0d155ff272
guid: fba7079c091c4134fa344c9540a55208
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
@@ -39,7 +39,7 @@ TextureImporter:
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 4dfa3836b30b1e04f89046514d63e3b4
guid: a1db7f3a5eaec90489e9ec411b5e6004
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
@@ -39,7 +39,7 @@ TextureImporter:
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

@@ -0,0 +1,166 @@
fileFormatVersion: 2
guid: 280051415c3de0d438e22d6a01367071
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: 0
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: 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: WebGL
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: VisionOS
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:

Some files were not shown because too many files have changed in this diff Show More