Commit a8e85062 authored by Ever's avatar Ever

同步代码

parent 9ecf27e1
......@@ -119,6 +119,32 @@ TextureImporter:
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
spriteSheet:
serializedVersion: 2
sprites: []
......
......@@ -119,6 +119,32 @@ TextureImporter:
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
spriteSheet:
serializedVersion: 2
sprites: []
......
......@@ -15,11 +15,12 @@ public class GameMgr : MonoBehaviour
public MainData md;
public MaskItemMgr miMgr;
public TextItemMgr tiMgr;
public GrayItemMgr giMgr;
public void Init(Texture2D _png, Sprite _jpg, ResJsonData _json)
public void Init(string key, Texture2D png, Sprite jpg, ResJsonData json)
{
ins = this;
md.Init(_png, _jpg, _json);
md.Init(key, png, jpg, json);
}
public void ChooseGroup(int id)
......
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class GrayItem : MonoBehaviour
{
public Image SP;
public RectTransform Rect;
public int id = -1;
public Texture2D png;
public void FunDo(MainData md, ExRoomDatas erd,int _id)
{
id = _id;
//创建图片
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 < erd.list.Count; i++)
{
te.SetPixel((int)(erd.list[i].x - erd.size.x), (int)(erd.list[i].y - erd.size.y), Color.black);
}
te.Apply();
Sprite sp = Sprite.Create(te, new Rect(0, 0, te.width, te.height), Vector2.zero);
SP.sprite = sp;
SP.GetComponent<RectTransform>().sizeDelta = new Vector2(te.width, te.height);
//坐标计算
Transform p = Rect.parent;
Rect.SetParent(md.imgpng.transform);
Rect.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);
Rect.SetParent(p);
Rect.localScale = Vector2.one;
//初始处理
gameObject.SetActive(true);
}
}
fileFormatVersion: 2
guid: 692ea8e8a27de1a48bb515e70693bc54
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GrayItemMgr : MonoBehaviour
{
public List<GrayItem> useList = new List<GrayItem>();
public List<GrayItem> poolList = new List<GrayItem>();
public GrayItem item;
public GrayItem Get()
{
if (poolList.Count == 0)
{
GrayItem temp = GameObject.Instantiate<GrayItem>(item, item.transform.parent);
poolList.Add(temp);
}
GrayItem ret = poolList[0];
poolList.RemoveAt(0);
useList.Add(ret);
return ret;
}
public void CircleId(int id)
{
for (int i = useList.Count - 1; i >= 0; i--)
{
if (useList[i].id == id)
{
Circle(useList[i]);
}
}
}
public void Circle(GrayItem temp)
{
if (useList.Contains(temp))
{
useList.Remove(temp);
poolList.Add(temp);
temp.gameObject.SetActive(false);
}
}
public void Create(MainData md, ExRoomDatas erd, int id)
{
GrayItem temp = Get();
temp.FunDo(md, erd, id);
}
public void CircleAll()
{
for (int i = useList.Count - 1; i >= 0; i--)
{
Circle(useList[i]);
}
}
}
fileFormatVersion: 2
guid: 91c7be77cabb742489857f4d7904d1fc
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -11,30 +11,29 @@ using UnityEngine.UI;
public class MainData : MonoBehaviour, IDragHandler, IEndDragHandler, IBeginDragHandler
{
public static int gunSize = 50;
public static Vector4 config = new Vector4(0, -100, 725f, 725f);
public static Vector4 config = new Vector4(0, 150, 725f, 725f);
public string key = "";
public Texture2D png = null;
public Sprite jpg = null;
public ResJsonData json;
public Texture2D mask = null;
public Texture2D gray = null;
public Image imgpng;
public Image imgjpg;
public Image imgmask;
public RectTransform rect;
public int curGroupId = -1;
void Update()
{
//Scale();
//Click();
Scale();
Click();
}
public void Init(Texture2D _png, Sprite _jpg, ResJsonData _json)
public void Init(string _key, Texture2D _png, Sprite _jpg, ResJsonData _json)
{
key = _key;
png = _png;
jpg = _jpg;
json = _json;
......@@ -51,17 +50,6 @@ public class MainData : MonoBehaviour, IDragHandler, IEndDragHandler, IBeginDrag
GameMgr.Ins.tiMgr.Init(json, png);
GameMgr.Ins.tiMgr.SizeChange(s);
mask = new Texture2D(png.width, png.height);
Color[] c = mask.GetPixels();
for (int i = 0; i < c.Length; i++)
{
c[i].a = 0;
}
mask.SetPixels(c);
mask.Apply();
imgmask.sprite = Sprite.Create(mask, new Rect(0, 0, png.width, png.height), new Vector2(0.5f, 0.5f));
imgmask.GetComponent<RectTransform>().sizeDelta = new Vector2(png.width, png.height);
EventDispatcher.Dispatch(EventName.Event.Event_GroupListCreate, json.roomGroupsData);
}
......@@ -130,23 +118,23 @@ public class MainData : MonoBehaviour, IDragHandler, IEndDragHandler, IBeginDrag
public void Click()
{
//if (Input.GetMouseButtonDown(0))
//{
// pos = Input.mousePosition;
// time = Time.unscaledTime;
//}
//if (Input.GetMouseButtonUp(0))
//{
// float f = Time.unscaledTime - time;
// float d = Vector2.Distance(pos, Input.mousePosition);
// Vector2 v;
// RectTransformUtility.ScreenPointToLocalPointInRectangle(rect, Input.mousePosition, Camera.main, out v);
// if (f < 0.5f && d < 10)
// {
// Debug.Log("点击:" + v);
// UseGun(v);
// }
//}
if (Input.GetMouseButtonDown(0))
{
pos = Input.mousePosition;
time = Time.unscaledTime;
}
if (Input.GetMouseButtonUp(0))
{
float f = Time.unscaledTime - time;
float d = Vector2.Distance(pos, Input.mousePosition);
Vector2 v;
RectTransformUtility.ScreenPointToLocalPointInRectangle(rect, Input.mousePosition, Camera.main, out v);
if (f < 0.5f && d < 10)
{
Debug.Log("点击:" + v);
UseGun(v);
}
}
}
public void UseGun(Vector2 v)
{
......@@ -204,31 +192,57 @@ public class MainData : MonoBehaviour, IDragHandler, IEndDragHandler, IBeginDrag
//Debug.Log("涂过了");
return false;
}
System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
sw.Start();
int id = json.All[(int)(v.x + v.y * png.width)];
FunDo(id);
//GameMgr.Ins.miMgr.Create(this, erd, v);
//TODO保存点
return true;
if (FunDo(id, v))
{
sw.Stop();
Debug.Log("耗时:" + sw.ElapsedMilliseconds);
return true;
}
return false;
}
public void FunDo(int id)
public bool FunDo(int id, Vector2 v)
{
Color[] c = png.GetPixels();
for (int i = 0; i < json.All.Count; i++)
for (int i = 0; i < json.roomGroupsData.Count; i++)
{
if (json.All[i] == id)
if (json.roomGroupsData[i].roomIds.Contains(id))
{
c[i] = Color.clear;
if (json.roomGroupsData[i].id == curGroupId)
{
ExRoomDatas erd = new ExRoomDatas();
json.roomGroupsData[i].roomIds.Remove(id);
json.roomGroupsData[i].roomIdsOver.Add(id);
json.list.Add(id);
Color[] c_png = png.GetPixels();
for (int j = 0; j < json.All.Count; j++)
{
if (json.All[j] == id)
{
erd.AddData(j, png.width);
c_png[j] = Color.clear;
}
}
png.SetPixels(c_png);
png.Apply();
GameMgr.Ins.giMgr.CircleId(id);
GameMgr.Ins.tiMgr.CircleId(id);
GameMgr.Ins.miMgr.Create(this, erd, v);
EventDispatcher.Dispatch(EventName.Event.Event_GropuItemChange, json.roomGroupsData[i]);
SaveManager.Instance.SaveRes(key, json, png);
return true;
}
}
}
png.SetPixels(c);
png.Apply();
return false;
}
public void ChooseGroup(int id)
{
System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
sw.Start();
curGroupId = id;
List<int> list = new List<int>();
List<RoomGroupsData> l = json.roomGroupsData;
for (int i = 0; i < l.Count; i++)
......@@ -239,20 +253,23 @@ public class MainData : MonoBehaviour, IDragHandler, IEndDragHandler, IBeginDrag
break;
}
}
Color[] c = mask.GetPixels();
for (int i = 0; i < c.Length; i++)
GameMgr.Ins.giMgr.CircleAll();
Dictionary<int, ExRoomDatas> dic = new Dictionary<int, ExRoomDatas>();
for (int i = 0; i < list.Count; i++)
{
c[i].a = 0;
dic.Add(list[i], new ExRoomDatas());
}
for (int i = 0; i < json.All.Count; i++)
{
if (list.Contains(json.All[i]))
if (dic.ContainsKey(json.All[i]))
{
c[i].a = 1;
dic[json.All[i]].AddData(i, png.width);
}
}
mask.SetPixels(c);
mask.Apply();
for (int i = 0; i < list.Count; i++)
{
GameMgr.Ins.giMgr.Create(this, dic[list[i]], list[i]);
}
sw.Stop();
Debug.Log("耗时:" + sw.ElapsedMilliseconds);
}
......
......@@ -10,12 +10,7 @@ public class MaskItem : MonoBehaviour
public Image SP;
public RectTransform Rect;
public RectTransform SPRect;
// Start is called before the first frame update
void Start()
{
Rect = GetComponent<RectTransform>();
SPRect = SP.gameObject.GetComponent<RectTransform>();
}
// Update is called once per frame
void Update()
......@@ -33,42 +28,42 @@ public class MaskItem : MonoBehaviour
}
}
public void FunDo(MainData md, Vector3 v)
public void FunDo(MainData md, ExRoomDatas erd, Vector3 v)
{
////创建图片
//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 < erd.list.Count; i++)
//{
// 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);
//SP.sprite = sp;
//SP.GetComponent<RectTransform>().sizeDelta = new Vector2(te.width, te.height);
//创建图片
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 < erd.list.Count; i++)
{
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);
SP.sprite = sp;
SP.GetComponent<RectTransform>().sizeDelta = new Vector2(te.width, te.height);
////坐标计算
//Transform p = Rect.parent;
//Rect.SetParent(md.imgpng.transform);
//Rect.localPosition = v - new Vector3(md.png.width / 2, md.png.height / 2);
//Rect.SetParent(p);
//Rect.localScale = Vector2.one;
//坐标计算
Transform p = Rect.parent;
Rect.SetParent(md.imgpng.transform);
Rect.localPosition = v - new Vector3(md.png.width / 2, md.png.height / 2);
Rect.SetParent(p);
Rect.localScale = Vector2.one;
//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);
//SPRect.localScale = Vector2.one;
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);
SPRect.localScale = Vector2.one;
////初始处理
//gameObject.SetActive(true);
//Rect.sizeDelta = Vector2.zero;
//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;
//初始处理
gameObject.SetActive(true);
Rect.sizeDelta = Vector2.zero;
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;
}
}
......@@ -27,9 +27,9 @@ public class MaskItemMgr : MonoBehaviour
poolList.Add(temp);
}
}
public void Create(MainData md, Vector3 v)
public void Create(MainData md, ExRoomDatas erd, Vector3 v)
{
MaskItem temp = Get();
temp.FunDo(md, v);
temp.FunDo(md, erd, v);
}
}
......@@ -86,4 +86,35 @@ public struct V2
{
return new V2(a.x + b.x, a.y + b.y);
}
}
[Serializable]
public class ExRoomDatas
{
public Vector4 size = -Vector4.one;
public List<V2> list = new List<V2>();
public void AddData(int index, int width)
{
int x = index%width;
int y = index / width;
V2 v = new V2(x, y);
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);
}
}
\ No newline at end of file
......@@ -6,7 +6,8 @@ using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class TextItem : TextMeshProUGUI
public class TextItem : MonoBehaviour
{
public int id = -1;
public TextMeshProUGUI Text;
}
......@@ -12,7 +12,7 @@ public class TextItemMgr : MonoBehaviour
{
if (poolList.Count == 0)
{
TextItem temp = GameObject.Instantiate<TextItem>(item, item.transform.parent);
TextItem temp = Instantiate<TextItem>(item, item.transform.parent);
poolList.Add(temp);
}
TextItem ret = poolList[0];
......@@ -20,12 +20,23 @@ public class TextItemMgr : MonoBehaviour
useList.Add(ret);
return ret;
}
public void CircleId(int id)
{
for (int i = useList.Count - 1; i >= 0; i--)
{
if (useList[i].id == id)
{
Circle(useList[i]);
}
}
}
public void Circle(TextItem temp)
{
if (useList.Contains(temp))
{
useList.Remove(temp);
poolList.Add(temp);
temp.gameObject.SetActive(false);
}
}
......@@ -36,15 +47,15 @@ public class TextItemMgr : MonoBehaviour
RoomDatas rd = rjd.roomDatas[i];
TextItem temp = Get();
temp.gameObject.SetActive(true);
temp.fontSize = rd.pr;
temp.id = rd.id;
temp.Text.fontSize = rd.pr;
temp.transform.localPosition = new Vector3(rd.px - png.width / 2f, rd.py - png.height / 2f, 0);
for (int j = 0; j < rjd.roomGroupsData.Count; j++)
{
RoomGroupsData rgd = rjd.roomGroupsData[j];
if (rgd.roomIds.Contains(rd.id))
{
temp.text = rgd.id.ToString();
temp.Text.text = rgd.id.ToString();
break;
}
}
......@@ -61,20 +72,20 @@ public class TextItemMgr : MonoBehaviour
size = f;
for (int i = 0; i < useList.Count; i++)
{
TextItem text = useList[i];
TextItem item = useList[i];
if (size < param.x)
{
text.gameObject.SetActive(false);
item.gameObject.SetActive(false);
}
else
{
if (text.fontSize >= (param.y - (int)((size - param.x) / param.z) * param.w))
if (item.Text.fontSize >= (param.y - (int)((size - param.x) / param.z) * param.w))
{
text.gameObject.SetActive(true);
item.gameObject.SetActive(true);
}
else
{
text.gameObject.SetActive(false);
item.gameObject.SetActive(false);
}
}
}
......
......@@ -86,9 +86,10 @@ GameObject:
m_Component:
- component: {fileID: 1203006329788771039}
- component: {fileID: 1404764647146932265}
- component: {fileID: 8128968991938406585}
- component: {fileID: 8583063545671680829}
- component: {fileID: 1434280649147581400}
m_Layer: 5
m_Name: Text
m_Name: TextItem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
......@@ -122,7 +123,7 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 417385666573305620}
m_CullTransparentMesh: 1
--- !u!114 &8128968991938406585
--- !u!114 &8583063545671680829
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
......@@ -134,6 +135,20 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 658c6ece9bc787940918e4b7f413a037, type: 3}
m_Name:
m_EditorClassIdentifier:
id: -1
Text: {fileID: 1434280649147581400}
--- !u!114 &1434280649147581400
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 417385666573305620}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
......@@ -142,7 +157,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 22222222
m_text: 111111
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
......@@ -169,12 +184,12 @@ MonoBehaviour:
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36
m_fontSizeBase: 36
m_fontSize: 50
m_fontSizeBase: 50
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontSizeMin: 0
m_fontSizeMax: 0
m_fontStyle: 1
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
......@@ -185,12 +200,12 @@ MonoBehaviour:
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_enableWordWrapping: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableKerning: 0
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
......@@ -211,6 +226,99 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &1133294208706243360
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5945244698823965143}
- component: {fileID: 3882757239371368148}
- component: {fileID: 7896971547950567980}
- component: {fileID: 7741935390973167914}
m_Layer: 0
m_Name: GrayItem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &5945244698823965143
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1133294208706243360}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2207622343904402988}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3882757239371368148
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1133294208706243360}
m_CullTransparentMesh: 1
--- !u!114 &7896971547950567980
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1133294208706243360}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9e98a61530bb8884cb90d81a28e17b40, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &7741935390973167914
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1133294208706243360}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 692ea8e8a27de1a48bb515e70693bc54, type: 3}
m_Name:
m_EditorClassIdentifier:
SP: {fileID: 7896971547950567980}
Rect: {fileID: 5945244698823965143}
id: -1
png: {fileID: 2800000, guid: cfe63fc6a2e3edc409d653cefd205fb7, type: 3}
--- !u!1 &1272658336346988519
GameObject:
m_ObjectHideFlags: 0
......@@ -319,7 +427,7 @@ RectTransform:
- {fileID: 7902676659994826364}
- {fileID: 7679003703182876708}
- {fileID: 800309816225797410}
- {fileID: 5445402404206781183}
- {fileID: 2207622343904402988}
- {fileID: 8460472138427881079}
m_Father: {fileID: 2908597137679265870}
m_RootOrder: -1
......@@ -341,6 +449,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: dfb345a38dec3ca46a0d72d6e32abaaa, type: 3}
m_Name:
m_EditorClassIdentifier:
key:
png: {fileID: 0}
jpg: {fileID: 0}
json:
......@@ -366,12 +475,10 @@ MonoBehaviour:
extraMetaData:
kadian_size: 0
tuhei_size: 0
mask: {fileID: 0}
gray: {fileID: 2800000, guid: e2d616a4f0dc6da4385fe6a816421e53, type: 3}
imgpng: {fileID: 7126587409335573646}
imgjpg: {fileID: 2338271980406512720}
imgmask: {fileID: 3177285961417058712}
rect: {fileID: 136994829194703267}
curGroupId: -1
--- !u!1 &2488372294624611549
GameObject:
m_ObjectHideFlags: 0
......@@ -424,83 +531,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
useList: []
poolList: []
item: {fileID: 8128968991938406585}
--- !u!1 &3190346397754933420
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5445402404206781183}
- component: {fileID: 2742025492825055717}
- component: {fileID: 3177285961417058712}
m_Layer: 0
m_Name: Mask
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5445402404206781183
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3190346397754933420}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 136994829194703267}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2742025492825055717
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3190346397754933420}
m_CullTransparentMesh: 1
--- !u!114 &3177285961417058712
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3190346397754933420}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 50
item: {fileID: 8583063545671680829}
--- !u!1 &5030817674743791695
GameObject:
m_ObjectHideFlags: 0
......@@ -609,6 +640,59 @@ MonoBehaviour:
SP: {fileID: 7114594662145661671}
Rect: {fileID: 3859749812772851665}
SPRect: {fileID: 4668905872759166448}
--- !u!1 &5142242079936663595
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2207622343904402988}
- component: {fileID: 2042267472393982796}
m_Layer: 5
m_Name: GrayBox
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2207622343904402988
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5142242079936663595}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5945244698823965143}
m_Father: {fileID: 136994829194703267}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2042267472393982796
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5142242079936663595}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 91c7be77cabb742489857f4d7904d1fc, type: 3}
m_Name:
m_EditorClassIdentifier:
useList: []
poolList: []
item: {fileID: 7741935390973167914}
--- !u!1 &5487798596680419126
GameObject:
m_ObjectHideFlags: 0
......@@ -718,8 +802,8 @@ RectTransform:
m_Father: {fileID: 0}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -738,6 +822,7 @@ MonoBehaviour:
md: {fileID: 4535739684591336511}
miMgr: {fileID: 5326343875061023361}
tiMgr: {fileID: 1490190831900560014}
giMgr: {fileID: 2042267472393982796}
--- !u!1 &9134782076413536134
GameObject:
m_ObjectHideFlags: 0
......
......@@ -2963,7 +2963,6 @@ MonoBehaviour:
scrollRect: {fileID: 1921562645}
ItemParent: {fileID: 1994532034}
item_obj: {fileID: 1219722612}
cam: {fileID: 244830826}
--- !u!1 &1994532031
GameObject:
m_ObjectHideFlags: 0
......@@ -7114,7 +7113,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 100}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &7432927552733396289
......@@ -7492,6 +7491,7 @@ MonoBehaviour:
showAreaId: 1
tempValue1: 120
tempValue2: 120
cam: {fileID: 0}
ListMoveOffSet: 35
PlayImagePaent: {fileID: 1943337312}
--- !u!1 &8136062125027934181
......
using NatSuite.Examples;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
......@@ -15,9 +17,6 @@ public class GameEndPanel : MonoBehaviour
public HorizontalLayoutGroup ItemParent;
public GameObject item_obj;
public ReplayCam cam;
private void Start()
{
ResiterEvent(true);
......@@ -28,18 +27,8 @@ public class GameEndPanel : MonoBehaviour
Continue_Btn.onClick.AddListener(Continue_Btn_Click);
}
private void ResiterEvent(bool flag)
{
EventDispatcher.RegisterEvent(EventName.Event.Event_AllGroupOver, GameEnd, flag);
}
private void GameEnd(object[] values)
{
BG.SetActive(true);
CreateItem();
}
private void CreateItem() //创建推荐图片的列表item
private void CreateItem() //创建列表item
{
int childNum = 10;
for (int i = 0; i < childNum; i++)
......@@ -73,19 +62,15 @@ public class GameEndPanel : MonoBehaviour
{
Debug.Log("点击保存视频");
}
/// <summary>
/// 开始录屏,调用ReplayCam.StartRecording()方法
/// </summary>
public void StartRectord()
private void ResiterEvent(bool flag)
{
cam.StartRecording();
EventDispatcher.RegisterEvent(EventName.Event.Event_AllGroupOver, GameEnd, flag);
}
/// <summary>
/// 结束录屏,调用ReplayCam.StopRectord()方法
/// </summary>
public void StopRectord()
private void GameEnd(object[] values)
{
Debug.Log($"录制结束");
cam.StopRecording();
BG.SetActive(true);
CreateItem();
}
}
......@@ -39,6 +39,7 @@ public class gameSceneLogic : MonoBehaviour, IEventHandler
public float tempValue2 = 130f;
private float tempValue3 = 5f;
public ReplayCam cam;
public float ListMoveOffSet = 35;
public Transform PlayImagePaent; //操作的图片的父节点
......@@ -83,13 +84,13 @@ public class gameSceneLogic : MonoBehaviour, IEventHandler
onEvent(EventName.Event.Event_GroupIsLoadOver, onGroupIsLoadOver); //组的成员加载完成,就是组列表下的item
transform.Find("ingameLoad/loadImg").gameObject.SetActive(false);
//gameScenUser
//transform.Find("areaGroupList/groupListBg").gameObject.SetActive(false);
transform.Find("areaGroupList/groupListBg").gameObject.SetActive(false);
transform.Find("areaGroupList/gameProgress/gameProgressText").gameObject.SetActive(false);
transform.Find("areaGroupList/gameProgress").gameObject.SetActive(false);
transform.Find("gameEndOperBase").gameObject.SetActive(false);
transform.Find("gameEndOperBase").GetComponent<gameEndLogic>().initMember();
transform.Find("areaGroupList/tipSelectGroup").gameObject.SetActive(false);
//transform.Find("top").gameObject.SetActive(false);
transform.Find("top").gameObject.SetActive(false);
utilsTools.setGDataByKey(EventName.DataName.Data_PhoneOffsetValue, 50);
utilsTools.addTimer_Sec(gameObject, "loopGetHot", (String name) =>
{
......@@ -440,7 +441,7 @@ public class gameSceneLogic : MonoBehaviour, IEventHandler
areaGroupList.SetActive(true);
RectTransform rectTransform = areaGroupList.GetComponent<RectTransform>();
transform.Find("ingameLoad").gameObject.SetActive(false);
//transform.Find("top").gameObject.SetActive(true);
transform.Find("top").gameObject.SetActive(true);
utilsTools.setGDataByKey("loadingEnd", utilsTools.getTotalMillisecond());
RectTransform transform1 = transform.Find("areaGroupList/gameProgress/gameProgressText").GetComponent<RectTransform>();
transform1.gameObject.SetActive(true);
......@@ -498,7 +499,6 @@ public class gameSceneLogic : MonoBehaviour, IEventHandler
}
else
{
EventDispatcher.Dispatch(EventName.Event.Event_LoadingChange);
return 0; //下载完后先不操作了
utilsTools.delTimeHandler(gameObject, "tryDownColorImg");
Image image = transform.Find("ingameLoad/loadImg").GetComponent<Image>();
......@@ -516,7 +516,6 @@ public class gameSceneLogic : MonoBehaviour, IEventHandler
}
void onZipFileHandler(GameScenUserInfo gameScenUser)
{
EventDispatcher.Dispatch(EventName.Event.Event_LoadingChange);//下载完成
Debug.Log("handlerLoadingPosition hand begin");
string zpath = utilsTools.getWritableByPath("outFiles/" + gameScenUser.id + ".zip");
if (utilsTools.IsWin == true)
......@@ -556,7 +555,6 @@ public class gameSceneLogic : MonoBehaviour, IEventHandler
//下载和解压zip 没有下载过就去下载线稿图
void onInitViewShowDataEvent(List<UnityEngine.Object> uobjects, List<System.Object> objects)
{
EventDispatcher.Dispatch(EventName.Event.Event_LoadingChange); //开始下载或者解压
utilsTools.setGDataByKey("firstT", utilsTools.getTotalMillisecond());
GameScenUserInfo gameScenUser = (GameScenUserInfo)objects[0];
string zpath = utilsTools.getWritableByPath("outFiles/" + gameScenUser.id+".zip");
......@@ -857,7 +855,21 @@ public class gameSceneLogic : MonoBehaviour, IEventHandler
}, 40);
}
/// <summary>
/// 开始录屏,调用ReplayCam.StartRecording()方法
/// </summary>
public void StartRectord()
{
cam.StartRecording();
}
/// <summary>
/// 结束录屏,调用ReplayCam.StopRectord()方法
/// </summary>
public void StopRectord()
{
Debug.Log($"录制结束");
cam.StopRecording();
}
public void onTestTemp1()
{
//Image image = transform.Find("ingameLoad/loadImg").GetComponent<Image>();
......
......@@ -1729,7 +1729,7 @@ public class mainGameView : MonoBehaviour //大图的处理、具体的玩法
var jsondata = getdata();
EventDispatcher.Dispatch(EventName.Event.Event_LoadingChange); //开始初始化
item.GetComponent<GameMgr>().Init(png, jpg, jsondata);
item.GetComponent<GameMgr>().Init("cc2D9Z2w9k0evqUiCQ",png, jpg, jsondata);
}
......
......@@ -25,28 +25,26 @@ public class SaveManager : MonoBehaviour
instance = this;
}
public void SaveRes(string key, ResJsonData data, Texture2D png)
public void SaveRes(string key, ResJsonData data,Texture2D png)
{
SaveBin(key,data);
SavePng(key,png);
}
public void SaveBin(string key,ResJsonData data)
public void SaveBin(string pngname,ResJsonData data)
{
string json= JsonUtility.ToJson(data);
SaveBin(key,json);
SaveBin(pngname,json);
}
/// <summary>
/// 保存bin文件
/// </summary>
/// <param key="path"></param>
/// <param key="json"></param>
public void SaveBin(string key, string json)
/// <param name="path"></param>
/// <param name="json"></param>
public void SaveBin(string pngname, string json)
{
FileStream fs = new FileStream(SavePath+$"{key}.bin", FileMode.Create, FileAccess.Write);
FileStream fs = new FileStream(SavePath+$"{name}.bin", FileMode.Create, FileAccess.Write);
BinaryFormatter saveBf = new BinaryFormatter();
saveBf.Serialize(fs, json);
fs.Close();
......@@ -57,20 +55,41 @@ public class SaveManager : MonoBehaviour
/// </summary>
/// <param name="path"></param>
/// <param name="png"></param>
public void SavePng(string key,Texture2D png)
public void SavePng(Texture2D png)
{
//var colors = png.GetPixels();
//for (int i = 0; i < png.width; i+=2)
//{
// for (int j = 0; j < png.height; j+=2)
// {
// png.SetPixel(i, j, new Color(1, 1, 1, 1));
// }
//}
//png.Apply();
byte[] dataBytes = png.EncodeToPNG();
FileStream fs = File.Open(SavePath+$"{key}.png", FileMode.OpenOrCreate);
FileStream fs = File.Open(SavePath+$"{png.name}.png", FileMode.OpenOrCreate);
fs.Write(dataBytes, 0, dataBytes.Length);
fs.Flush();
fs.Close();
}
public void SaveJPG(string key, Texture2D png)
public void SaveJPG(Texture2D png)
{
//var colors = png.GetPixels();
//for (int i = 0; i < png.width; i+=2)
//{
// for (int j = 0; j < png.height; j+=2)
// {
// png.SetPixel(i, j, new Color(1, 1, 1, 1));
// }
//}
//png.Apply();
byte[] dataBytes = png.EncodeToPNG();
FileStream fs = File.Open(SavePath + $"{key}.jpg", FileMode.OpenOrCreate);
FileStream fs = File.Open(SavePath + $"{png.name}.jpg", FileMode.OpenOrCreate);
fs.Write(dataBytes, 0, dataBytes.Length);
fs.Flush();
fs.Close();
......
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