Commit bed6d5a6 authored by Ever's avatar Ever

主玩法合并代码

parent fa463ac4
using NUnit.Framework;
using DG.Tweening.Plugins.Core.PathCore;
using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.IO;
using System.Net.NetworkInformation;
using System.Runtime.Serialization.Formatters.Binary;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
public class ResData
{
public string name = "";
public Texture2D png = null;
public Sprite jpg = null;
public ResJsonData json = null;
}
public class GameEditor
{
[MenuItem("Assets/解析资源")]
public static void 解析资源()
{
string dirPath = AssetDatabase.GetAssetPath(Selection.activeInstanceID);
GameObject go = new GameObject();
go.name = Selection.activeObject.name;
RectTransform rect = go.AddComponent<RectTransform>();
rect.SetParent(GameObject.Find("Res").transform);
rect.localScale = Vector3.one;
rect.localPosition = Vector3.zero;
rect.sizeDelta = Vector2.zero;
MainData md = go.AddComponent<MainData>();
ResData rd = new ResData();
rd.name = Selection.activeObject.name;
foreach (string path in Directory.GetFiles(dirPath, ".", SearchOption.AllDirectories))
{
if (path.EndsWith(".png"))
{
md.Te_png = AssetDatabase.LoadAssetAtPath<Texture2D>(path);
rd.png = AssetDatabase.LoadAssetAtPath<Texture2D>(path);
}
else if (path.EndsWith(".jpg"))
{
md.Sp_jpg = AssetDatabase.LoadAssetAtPath<Sprite>(path);
rd.jpg = AssetDatabase.LoadAssetAtPath<Sprite>(path);
}
else if (path.EndsWith(".json"))
{
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None);
StreamReader sr = new StreamReader(fs, System.Text.Encoding.UTF8);
string str = sr.ReadToEnd();
md.json = JsonUtility.FromJson<ResJsonData>(str);
rd.json = JsonUtility.FromJson<ResJsonData>(str);
sr.Close();
fs.Close();
}
}
md.Init();
string savePath = AssetDatabase.GetAssetPath(Selection.activeInstanceID) + "/" + rd.name + ".bin";
FileStream saveFs = File.Open(savePath, FileMode.Create);
BinaryFormatter saveBf = new BinaryFormatter();
saveBf.Serialize(saveFs, rd.json);
saveFs.Close();
Debug.Log("成功:" + savePath);
}
}
\ No newline at end of file
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using UnityEngine;
using UnityEngine.UI;
public class Drive : MonoBehaviour
public class GameMgr : MonoBehaviour
{
private static Drive ins;
public static Drive Ins
private static GameMgr ins;
public static GameMgr Ins
{
get { return ins; }
}
......@@ -14,24 +16,28 @@ public class Drive : MonoBehaviour
{
ins = this;
}
public MainData md;
public void Init(Texture2D _png, Sprite _jpg, ResJsonData _json)
{
md.Init(_png, _jpg, _json);
}
public List<ExMask> useList = new List<ExMask>();
public List<ExMask> poolList = new List<ExMask>();
public ExMask item;
public ExMask Get()
public List<MaskItem> useList = new List<MaskItem>();
public List<MaskItem> poolList = new List<MaskItem>();
public MaskItem item;
public MaskItem Get()
{
if (poolList.Count == 0)
{
ExMask temp = GameObject.Instantiate<ExMask>(item, item.transform.parent);
MaskItem temp = GameObject.Instantiate<MaskItem>(item, item.transform.parent);
poolList.Add(temp);
}
ExMask ret = poolList[0];
MaskItem ret = poolList[0];
poolList.RemoveAt(0);
useList.Add(ret);
return ret;
}
public void Circle(ExMask temp)
public void Circle(MaskItem temp)
{
if (useList.Contains(temp))
{
......@@ -39,10 +45,10 @@ public class Drive : MonoBehaviour
poolList.Add(temp);
}
}
public void Create(MainData md, RoomDatas rd, Vector3 v)
public void Create(MainData md, ExRoomDatas erd, Vector3 v)
{
ExMask temp = Get();
temp.DoFun(md, rd, v);
MaskItem temp = Get();
temp.DoFun(md, erd, v);
}
}
fileFormatVersion: 2
guid: 1004abe3021ad5547b84ef90fb2afc7b
guid: f81887d3b2353d2409eed5d664c55605
MonoImporter:
externalObjects: {}
serializedVersion: 2
......
This diff is collapsed.
fileFormatVersion: 2
guid: 5037be372232211408f77430af28ec20
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 1
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: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: e0441997bd4bc1e40a03a0589955a575
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 1
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: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
......@@ -16,9 +16,6 @@ public class ExImage : Image
m_ShouldRecalculateStencil = false;
}
// if we have a enabled Mask component then it will
// generate the mask material. This is an optimisation
// it adds some coupling between components though :(
Mask maskComponent = GetComponent<Mask>();
if (m_StencilValue > 0 && (maskComponent == null || !maskComponent.IsActive()))
{
......@@ -29,22 +26,4 @@ public class ExImage : Image
}
return toUse;
}
}
\ No newline at end of file
//"itemDatas":[],
//"colorDiff":10,
//"lineFactorDiff":90,
//"size":2048,
//"width":2048,
//"height":2048,
//"useOriginLineColor":1,
//"useOriginPicColor":1,
//"useCustomLineColor":0,
//"customLineColor_R":0,
//"customLineColor_G":0,
//"customLineColor_B":0,
//"hasDividedArea":0,
//"useLineCutout":1,
//"lineCutoutThreshold":0.5,
//"scaleNumWhenOver100":0.75,
//"extraMetaData":{ "kadian_size":6,"tuhei_size":2}}
\ No newline at end of file
This diff is collapsed.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Net.NetworkInformation;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
[Serializable]
public class ImageData
{
public List<int> OverIdList = new List<int>();
public List<ImageSubData> AlllList = new List<ImageSubData>();
public void AddData(ImageSubData isd)
{
if (isd.list.Count > 1)
{
AlllList.Add(isd);
}
}
}
[Serializable]
public class ImageSubData
{
public int id = -1;
public Vector4 size = -Vector4.one;
public List<Vector2> list = new List<Vector2>();
public void AddData(Vector2 v)
{
if (size.x == -1 || size.x > v.x)
{
size.x = v.x;
}
if (size.y == -1 || size.y > v.y)
{
size.y = v.y;
}
if (size.z == -1 || size.z < v.x)
{
size.z = v.x;
}
if (size.w == -1 || size.w < v.y)
{
size.w = v.y;
}
list.Add(v);
}
public bool Contains(Vector2 v)
{
return list.Contains(v);
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: ffb7a96da40a615449655b4c7c57681f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization.Formatters.Binary;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class MainData : MonoBehaviour, IDragHandler, IEndDragHandler, IBeginDragHandler
{
public static int GunSize = 50;
public List<ExRoomDatas> erdList = new List<ExRoomDatas>();
public ImageData data = new ImageData();
public static int gunSize = 50;
public Texture2D Te_png;
public Sprite Sp_jpg;
public Texture2D png = null;
public Sprite jpg = null;
public ResJsonData json;
public Image png;
public Image jpg;
public Image imgpng;
public Image imgjpg;
public RectTransform Rect;
public RectTransform rect;
// Use this for initialization
void Start()
{
Rect = GetComponent<RectTransform>();
}
public Stack<Vector2> stackVector2 = new Stack<Vector2>();
// Update is called once per frame
void Update()
{
Scale();
Click();
}
public void Init()
public void Init(Texture2D _png, Sprite _jpg, ResJsonData _json)
{
RectTransform rect = GetComponent<RectTransform>();
GameObject go_jpg = new GameObject();
go_jpg.name = "jpg";
RectTransform rect_jpg = go_jpg.AddComponent<RectTransform>();
rect_jpg.SetParent(rect);
rect_jpg.localScale = Vector3.one;
rect_jpg.localPosition = Vector3.zero;
jpg = go_jpg.AddComponent<Image>();
jpg.sprite = Sp_jpg;
GameObject go_png = new GameObject();
go_png.name = "png";
RectTransform rect_png = go_png.AddComponent<RectTransform>();
rect_png.SetParent(rect);
rect_png.localScale = Vector3.one;
rect_png.localPosition = Vector3.zero;
rect_png.sizeDelta = Vector2.zero;
png = go_png.AddComponent<Image>();
png.sprite = Sprite.Create(Te_png, new Rect(0, 0, Te_png.width, Te_png.height), Vector2.zero);
png.SetNativeSize();
rect_jpg.sizeDelta = rect_png.sizeDelta;
png = _png;
jpg = _jpg;
json = _json;
erdList = new List<ExRoomDatas>();
Split();
}
#region 图片分区
#region 解析图片
public void Split()
{
for (int i = 0; i < json.roomDatas.Count; i++)
{
RoomDatas temp = json.roomDatas[i];
ExRoomDatas erd = new ExRoomDatas();
erdList.Add(erd);
Vector2 v = new Vector2(temp.px, temp.py);
if (Te_png.GetPixel((int)v.x, (int)v.y).a <= 0f)
if (png.GetPixel((int)v.x, (int)v.y).a <= 0.35f)
{
FunDo(v, temp);
FunDo(v, erd);
}
}
Te_png.Apply();
png.Apply();
}
private Stack<Vector2> stackVector2 = new Stack<Vector2>();
public void FunDo(Vector2 _v, RoomDatas temp)
public void FunDo(Vector2 _v, ExRoomDatas erd)
{
stackVector2.Push(_v);
Vector2[] d = new Vector2[4] { new Vector2(0, -1), new Vector2(0, 1), new Vector2(-1, 0), new Vector2(1, 0) };
......@@ -88,12 +65,12 @@ public class MainData : MonoBehaviour, IDragHandler, IEndDragHandler, IBeginDrag
while (stackVector2.Count > 0)
{
v_1 = stackVector2.Pop();
temp.AddData(v_1);
Te_png.SetPixel((int)v_1.x, (int)v_1.y, Color.white);
erd.AddData(v_1);
png.SetPixel((int)v_1.x, (int)v_1.y, Color.white);
for (int i = 0; i < d.Length; i++)
{
v_2 = v_1 + d[i];
if (v_2.x >= 0 && v_2.x < Te_png.width && v_2.y >= 0 && v_2.y < Te_png.height && Te_png.GetPixel((int)v_2.x, (int)v_2.y).a <= 0f)
if (v_2.x >= 0 && v_2.x < png.width && v_2.y >= 0 && v_2.y < png.height && png.GetPixel((int)v_2.x, (int)v_2.y).a <= 0f)
{
stackVector2.Push(v_2);
}
......@@ -109,12 +86,12 @@ public class MainData : MonoBehaviour, IDragHandler, IEndDragHandler, IBeginDrag
public void OnBeginDrag(PointerEventData eventData)
{
isDrag = true;
RectTransformUtility.ScreenPointToLocalPointInRectangle(Rect, Input.mousePosition, Camera.main, out StartPos);
RectTransformUtility.ScreenPointToLocalPointInRectangle(rect, Input.mousePosition, Camera.main, out StartPos);
}
public void OnDrag(PointerEventData eventData)
{
if (!isDrag) { return; }
RectTransformUtility.ScreenPointToLocalPointInRectangle(Rect, Input.mousePosition, Camera.main, out EndPos);
RectTransformUtility.ScreenPointToLocalPointInRectangle(rect, Input.mousePosition, Camera.main, out EndPos);
Vector3 v = EndPos - StartPos;
transform.localPosition += v;
......@@ -176,7 +153,7 @@ public class MainData : MonoBehaviour, IDragHandler, IEndDragHandler, IBeginDrag
float f = Time.unscaledTime - time;
float d = Vector2.Distance(pos, Input.mousePosition);
Vector2 v;
RectTransformUtility.ScreenPointToLocalPointInRectangle(Rect, Input.mousePosition, Camera.main, out v);
RectTransformUtility.ScreenPointToLocalPointInRectangle(rect, Input.mousePosition, Camera.main, out v);
if (f < 0.5f && d < 10)
{
Debug.Log("点击:" + v);
......@@ -194,11 +171,11 @@ public class MainData : MonoBehaviour, IDragHandler, IEndDragHandler, IBeginDrag
public void UseGun(Vector2 v)
{
List<Vector2> list = new List<Vector2>();
for (int i = 0; i < GunSize; i++)
for (int i = 0; i < gunSize; i++)
{
for (int j = 0; j < GunSize; j++)
for (int j = 0; j < gunSize; j++)
{
Vector2 temp = new Vector2(v.x + i - GunSize / 2, v.y + j - GunSize / 2);
Vector2 temp = new Vector2(v.x + i - gunSize / 2, v.y + j - gunSize / 2);
list.Add(temp);
}
}
......@@ -221,47 +198,46 @@ public class MainData : MonoBehaviour, IDragHandler, IEndDragHandler, IBeginDrag
public bool OnClickPos(Vector2 v)
{
v.x = (int)v.x + Te_png.width / 2;
v.y = (int)v.y + Te_png.height / 2;
v.x = (int)v.x + png.width / 2;
v.y = (int)v.y + png.height / 2;
if (v.x < 0 || v.x >= Te_png.width)
if (v.x < 0 || v.x >= png.width)
{
//Debug.Log("x越界:" + v.x);
return false;
}
if (v.y < 0 || v.y >= Te_png.height)
if (v.y < 0 || v.y >= png.height)
{
//Debug.Log("y越界:" + v.y);
return false;
}
if (Te_png.GetPixel((int)v.x, (int)v.y) != Color.white)
if (png.GetPixel((int)v.x, (int)v.y) != Color.white)
{
//Debug.Log("涂过了");
return false;
}
RoomDatas rd = null;
for (int i = 0; i < data.AlllList.Count; i++)
ExRoomDatas erd = null;
for (int i = 0; i < erdList.Count; i++)
{
if (json.roomDatas[i].Contains(v))
if (erdList[i].Contains(v))
{
//Debug.Log("在第" + i + "组数据中");
rd = json.roomDatas[i];
erd = erdList[i];
}
}
if (rd == null)
if (erd == null)
{
//Debug.Log("组数据为空");
return false;
}
GameMgr.Ins.Create(this, erd, v);
Drive.Ins.Create(this, rd, v);
for (int i = 0; i < rd.list.Count; i++)
for (int i = 0; i < erd.list.Count; i++)
{
Te_png.SetPixel((int)rd.list[i].x, (int)rd.list[i].y, Color.clear);
png.SetPixel((int)erd.list[i].x, (int)erd.list[i].y, Color.clear);
}
Te_png.Apply();
png.Apply();
return true;
}
}
\ No newline at end of file
......@@ -4,7 +4,7 @@ using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ExMask : MonoBehaviour
public class MaskItem : MonoBehaviour
{
public float IsUse = -1;
public Image SP;
......@@ -29,23 +29,23 @@ public class ExMask : MonoBehaviour
{
gameObject.SetActive(false);
IsUse = -1;
Drive.Ins.Circle(this);
GameMgr.Ins.Circle(this);
}
}
internal void DoFun(MainData md, RoomDatas rd, Vector3 v)
internal void DoFun(MainData md, ExRoomDatas erd, Vector3 v)
{
//创建图片
Texture2D te = new Texture2D((int)(rd.size.z - rd.size.x + 1), (int)(rd.size.w - rd.size.y + 1), TextureFormat.RGBA32, false);
Texture2D te = new Texture2D((int)(erd.size.z - erd.size.x + 1), (int)(erd.size.w - erd.size.y + 1), TextureFormat.RGBA32, false);
Color[] colors = te.GetPixels();
for (int i = 0; i < colors.Length; i++)
{
colors[i].a = 0f;
}
te.SetPixels(colors);
for (int i = 0; i < rd.list.Count; i++)
for (int i = 0; i < erd.list.Count; i++)
{
te.SetPixel((int)(rd.list[i].x - rd.size.x), (int)(rd.list[i].y - rd.size.y), Color.white);
te.SetPixel((int)(erd.list[i].x - erd.size.x), (int)(erd.list[i].y - erd.size.y), Color.white);
}
te.Apply();
Sprite sp = Sprite.Create(te, new Rect(0, 0, te.width, te.height), Vector2.zero);
......@@ -54,19 +54,19 @@ public class ExMask : MonoBehaviour
//坐标计算
Transform p = Rect.parent;
Rect.SetParent(md.png.transform);
Rect.localPosition = v - new Vector3(md.Te_png.width / 2, md.Te_png.height / 2);
Rect.SetParent(md.imgpng.transform);
Rect.localPosition = v - new Vector3(md.png.width / 2, md.png.height / 2);
Rect.SetParent(p);
SPRect.SetParent(md.png.transform);
SPRect.localPosition = new Vector3(rd.size.x + (rd.size.z + 1 - rd.size.x) / 2 - (md.Te_png.width + 1) / 2, rd.size.y + (rd.size.w + 1 - rd.size.y) / 2 - (md.Te_png.height + 1) / 2, 0);
SPRect.SetParent(md.imgpng.transform);
SPRect.localPosition = new Vector3(erd.size.x + (erd.size.z + 1 - erd.size.x) / 2 - (md.png.width + 1) / 2, erd.size.y + (erd.size.w + 1 - erd.size.y) / 2 - (md.png.height + 1) / 2, 0);
SPRect.SetParent(Rect);
//初始处理
gameObject.SetActive(true);
Rect.sizeDelta = Vector2.zero;
float a = Math.Max(rd.size.z - v.x, v.x - rd.size.x);
float b = Math.Max(rd.size.w - v.y, v.y - rd.size.y);
float a = Math.Max(erd.size.z - v.x, v.x - erd.size.x);
float b = Math.Max(erd.size.w - v.y, v.y - erd.size.y);
IsUse = Math.Max(a, b) * 2;
}
}
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
......@@ -31,8 +32,8 @@ public class ResJsonData
public int scaleNumWhenOver100;
public ExtraMetaData extraMetaData;
}
[Serializable]
[Serializable]
public class ExtraMetaData //后面再看为啥json序列化失败
{
public int kadian_size;
......@@ -52,9 +53,23 @@ public class RoomDatas
public int G;
public int B;
public int useAreaData;
}
[Serializable]
public class RoomGroupsData
{
public int id;
public List<int> roomIds = new List<int>();
public int R;
public int G;
public int B;
}
[Serializable]
public class ExRoomDatas
{
public Vector4 size = -Vector4.one;
public List<Vector2> list = new List<Vector2>();
public void AddData(Vector2 v)
{
if (size.x == -1 || size.x > v.x)
......@@ -77,15 +92,13 @@ public class RoomDatas
}
public bool Contains(Vector2 v)
{
return list.Contains(v);
for (int i = 0; i < list.Count; i++)
{
if (list[i].x == v.x && list[i].y == v.y)
{
return true;
}
}
return false;
}
}
[Serializable]
public class RoomGroupsData
{
public int id;
public List<int> roomIds = new List<int>();
public int R;
public int G;
public int B;
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
fileFormatVersion: 2
guid: 24b7bada78a6d834bbfddac9752e5971
TextScriptImporter:
guid: 677dcd30486a71e449669c8c94a215f8
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment