NS版导入归档
This commit is contained in:
parent
a837c73564
commit
acda898fb0
@ -101,7 +101,7 @@ namespace AxibugEmuOnline.Editors
|
||||
#endif
|
||||
string targetName = $"{Application.productName}_{titleid}.nsp";
|
||||
|
||||
string _locationPathName = $"Output/NSPBuild/{targetName}";
|
||||
string _locationPathName = $"Output/NSPBuild/{DateTime.Now.ToString("yyyyMMddHHmmss")}/{targetName}";
|
||||
var options = new BuildPlayerOptions
|
||||
{
|
||||
scenes = levels.ToArray(),
|
||||
@ -217,8 +217,6 @@ namespace AxibugEmuOnline.Editors
|
||||
EditorUtility.ClearProgressBar();
|
||||
}
|
||||
|
||||
|
||||
|
||||
#region ¸¨Öú·½·¨
|
||||
static string GetUserInput()
|
||||
{
|
||||
@ -288,7 +286,10 @@ namespace AxibugEmuOnline.Editors
|
||||
if (!string.IsNullOrEmpty(args.Data))
|
||||
{
|
||||
errorBuilder.AppendLine(args.Data);
|
||||
Debug.LogError($"[AxibugNSPTools]{args.Data}");
|
||||
if (args.Data.Contains("[WARN]"))
|
||||
Debug.LogWarning($"[AxibugNSPTools]{args.Data}");
|
||||
else
|
||||
Debug.LogError($"[AxibugNSPTools]{args.Data}");
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@ -53,7 +53,7 @@ public static class AxiAutoBuild
|
||||
Build_Global(BuildTarget.EmbeddedLinux);
|
||||
}
|
||||
|
||||
[MenuItem("Axibug移植工具/AutoBuild/Switch")]
|
||||
[MenuItem("Axibug移植工具/AutoBuild/Switch(打包NSP并重新构建NSP)")]
|
||||
public static void Build_Switch()
|
||||
{
|
||||
AxibugNSPTools.BuildWithRepackNSP();
|
||||
|
||||
@ -1 +0,0 @@
|
||||
{}
|
||||
@ -1,14 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1ad516ab7bf27b945a96f9c6eca54f10
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3}
|
||||
generateWrapperCode: 0
|
||||
wrapperCodePath:
|
||||
wrapperClassName:
|
||||
wrapperCodeNamespace:
|
||||
@ -54,7 +54,7 @@ namespace AxiReplay
|
||||
{
|
||||
mRemoteForwardCount = (int)ServerForwardCount;
|
||||
mNetReplayQueue.Enqueue(inputData);
|
||||
Debug.Log($"InData=>{inputData.FrameStartID} QCount = >{mNetReplayQueue.Count}");
|
||||
//Debug.Log($"InData=>{inputData.FrameStartID} QCount = >{mNetReplayQueue.Count}");
|
||||
mRemoteFrameIdx = inputData.FrameStartID;
|
||||
if (!bNetInit)
|
||||
{
|
||||
|
||||
@ -632,7 +632,7 @@ namespace cpu.m68000
|
||||
|
||||
void STOP()
|
||||
{
|
||||
if (S)
|
||||
if (s)
|
||||
{
|
||||
short new_sr = ReadOpWord(PC); PC += 2;
|
||||
stopped = true;
|
||||
|
||||
@ -169,7 +169,7 @@ namespace cpu.m68000
|
||||
|
||||
void RESET()
|
||||
{
|
||||
if (S)
|
||||
if (s)
|
||||
{
|
||||
pendingCycles -= 132;
|
||||
}
|
||||
|
||||
@ -8,7 +8,7 @@ namespace cpu.m68000
|
||||
{
|
||||
int mode = (op >> 3) & 7;
|
||||
int reg = (op >> 0) & 7;
|
||||
if (S == false)
|
||||
if (s == false)
|
||||
{
|
||||
//throw new Exception("Write to SR when not in supervisor mode. supposed to trap or something...");
|
||||
TrapVector2(8);
|
||||
@ -54,7 +54,7 @@ namespace cpu.m68000
|
||||
{
|
||||
int dir = (op >> 3) & 1;
|
||||
int reg = op & 7;
|
||||
if (S == false)
|
||||
if (s == false)
|
||||
{
|
||||
//throw new Exception("MOVE to USP when not supervisor. needs to trap");
|
||||
TrapVector2(8);
|
||||
@ -76,7 +76,7 @@ namespace cpu.m68000
|
||||
|
||||
void ANDI_SR()
|
||||
{
|
||||
if (S == false)
|
||||
if (s == false)
|
||||
throw new Exception("trap!");
|
||||
SR &= ReadOpWord(PC); PC += 2;
|
||||
pendingCycles -= 20;
|
||||
@ -85,7 +85,7 @@ namespace cpu.m68000
|
||||
|
||||
void EORI_SR()
|
||||
{
|
||||
if (S == false)
|
||||
if (s == false)
|
||||
throw new Exception("trap!");
|
||||
SR ^= ReadOpWord(PC); PC += 2;
|
||||
pendingCycles -= 20;
|
||||
@ -94,7 +94,7 @@ namespace cpu.m68000
|
||||
|
||||
void ORI_SR()
|
||||
{
|
||||
if (S == false)
|
||||
if (s == false)
|
||||
throw new Exception("trap!");
|
||||
SR |= ReadOpWord(PC); PC += 2;
|
||||
pendingCycles -= 20;
|
||||
|
||||
@ -45,7 +45,7 @@ namespace cpu.m68000
|
||||
public bool stopped;
|
||||
|
||||
/// <summary>Machine/Interrupt mode</summary>
|
||||
public bool M { get { return m; } set { m = value; } } // TODO probably have some switch logic maybe
|
||||
//public bool M { get { return m; } set { m = value; } } // TODO probably have some switch logic maybe
|
||||
|
||||
public void SetS(bool b1)
|
||||
{
|
||||
@ -60,10 +60,11 @@ namespace cpu.m68000
|
||||
/// <summary>Supervisor/User mode</summary>
|
||||
public bool S
|
||||
{
|
||||
get
|
||||
{
|
||||
return s;
|
||||
}
|
||||
//减少不必要的访问器堆栈
|
||||
//get
|
||||
//{
|
||||
// return s;
|
||||
//}
|
||||
set
|
||||
{
|
||||
if (value == s)
|
||||
@ -109,8 +110,8 @@ namespace cpu.m68000
|
||||
if (Z) value |= 0x0004;
|
||||
if (N) value |= 0x0008;
|
||||
if (X) value |= 0x0010;
|
||||
if (M) value |= 0x1000;
|
||||
if (S) value |= 0x2000;
|
||||
if (m) value |= 0x1000;
|
||||
if (s) value |= 0x2000;
|
||||
value |= (short)((InterruptMaskLevel & 7) << 8);
|
||||
return value;
|
||||
}
|
||||
@ -121,7 +122,7 @@ namespace cpu.m68000
|
||||
Z = (value & 0x0004) != 0;
|
||||
N = (value & 0x0008) != 0;
|
||||
X = (value & 0x0010) != 0;
|
||||
M = (value & 0x1000) != 0;
|
||||
m = (value & 0x1000) != 0;
|
||||
S = (value & 0x2000) != 0;
|
||||
InterruptMaskLevel = (value >> 8) & 7;
|
||||
//m68ki_check_interrupts();
|
||||
@ -197,7 +198,7 @@ namespace cpu.m68000
|
||||
stopped = false;
|
||||
pendingCycles = 0;
|
||||
S = true;
|
||||
M = false;
|
||||
m = false;
|
||||
InterruptMaskLevel = 7;
|
||||
Interrupt = 0;
|
||||
A[7].s32 = ReadOpLong(0);
|
||||
@ -287,8 +288,8 @@ namespace cpu.m68000
|
||||
}
|
||||
writer.Write(MC68000.m1.PPC);
|
||||
writer.Write(MC68000.m1.PC);
|
||||
writer.Write(MC68000.m1.S);
|
||||
writer.Write(MC68000.m1.M);
|
||||
writer.Write(MC68000.m1.s);
|
||||
writer.Write(MC68000.m1.m);
|
||||
writer.Write(MC68000.m1.X);
|
||||
writer.Write(MC68000.m1.N);
|
||||
writer.Write(MC68000.m1.Z);
|
||||
@ -317,7 +318,7 @@ namespace cpu.m68000
|
||||
MC68000.m1.PPC = reader.ReadInt32();
|
||||
MC68000.m1.PC = reader.ReadInt32();
|
||||
MC68000.m1.SetS(reader.ReadBoolean());
|
||||
MC68000.m1.M = reader.ReadBoolean();
|
||||
MC68000.m1.m = reader.ReadBoolean();
|
||||
MC68000.m1.X = reader.ReadBoolean();
|
||||
MC68000.m1.N = reader.ReadBoolean();
|
||||
MC68000.m1.Z = reader.ReadBoolean();
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
using cpu.m6800;
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace MAME.Core
|
||||
@ -15,7 +16,7 @@ namespace MAME.Core
|
||||
private static Atime callback_timer_expire_time;
|
||||
public delegate void timer_fired_func();
|
||||
public static Action setvector;
|
||||
public class emu_timer
|
||||
/*public class emu_timer
|
||||
{
|
||||
public TIME_ACT action;
|
||||
//public string func;
|
||||
@ -24,6 +25,56 @@ namespace MAME.Core
|
||||
public Atime period;
|
||||
public Atime start;
|
||||
public Atime expire;
|
||||
}*/
|
||||
|
||||
public class emu_timer
|
||||
{
|
||||
public TIME_ACT action;
|
||||
public bool enabled;
|
||||
public bool temporary;
|
||||
public Atime period;
|
||||
public Atime start;
|
||||
public Atime expire;
|
||||
|
||||
internal void reset()
|
||||
{
|
||||
action = default;
|
||||
enabled = default;
|
||||
temporary = default;
|
||||
period = default;
|
||||
start = default;
|
||||
expire = default;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 线程安全队列(因为析构函数是额外线程来的)
|
||||
/// </summary>
|
||||
static ConcurrentQueue<emu_timer> _failedDeletions = new ConcurrentQueue<emu_timer>();
|
||||
public static emu_timer GetEmu_timer()
|
||||
{
|
||||
if (_failedDeletions.TryDequeue(out emu_timer obj))
|
||||
{
|
||||
obj.reset();
|
||||
return obj;
|
||||
}
|
||||
|
||||
return new emu_timer();
|
||||
}
|
||||
public static void EnqueueObj(emu_timer obj)
|
||||
{
|
||||
_failedDeletions.Enqueue(obj);
|
||||
}
|
||||
|
||||
~emu_timer()
|
||||
{
|
||||
//咱也没办法,这样子来实现emu_timer的回收到对象池。只能这样实现,MAME里面对于emu_timer持有引用比较混沌,在确保没有引用计数时,再安全回池。
|
||||
//回池,引用计数+1,使其不被回收。相当于打断CG回收
|
||||
//(原本没有析构函数时,GC是直接回收,有析构时,则调用后下一次GC再回收,但是这就有操作空间了。这里引用计数+1
|
||||
//GC回收,但是不回收,请回对象池
|
||||
//说人话,就是用析构驱动回池,而不破坏现有代码
|
||||
EnqueueObj(this);
|
||||
GC.ReRegisterForFinalize(this);//手动注册,否则析构函数再也不会回调
|
||||
}
|
||||
}
|
||||
public class emu_timer2
|
||||
{
|
||||
@ -613,7 +664,8 @@ namespace MAME.Core
|
||||
public static emu_timer timer_alloc_common(TIME_ACT action, bool temp)
|
||||
{
|
||||
Atime time = get_current_time();
|
||||
emu_timer timer = new emu_timer();
|
||||
//emu_timer timer = new emu_timer();
|
||||
emu_timer timer = emu_timer.GetEmu_timer();
|
||||
timer.action = action;
|
||||
timer.enabled = false;
|
||||
timer.temporary = temp;
|
||||
|
||||
@ -93,7 +93,7 @@
|
||||
//ushort* curbitmap = curbitmapPtr;
|
||||
ushort* curbitmap = (ushort*)Video.bitmapbase_Ptrs[Video.curbitmap];
|
||||
//uint* entry_color = entry_colorPtr;
|
||||
uint* entry_color = (uint*)Palette.entry_color_Ptr;
|
||||
uint* entry_color = (uint*)Palette.entry_color;
|
||||
//int* bitmapcolorRect = bitmapcolorRectPtr;
|
||||
int* bitmapcolorRect = (int*)Video.bitmapcolorRect_Ptr;
|
||||
|
||||
|
||||
@ -3,13 +3,28 @@ using System.Runtime.InteropServices;
|
||||
|
||||
namespace MAME.Core
|
||||
{
|
||||
public class Palette
|
||||
public unsafe class Palette
|
||||
{
|
||||
public static uint[] entry_color;
|
||||
/** entry_color的指针管理 **/
|
||||
//public static uint[] entry_color;
|
||||
|
||||
#region //指针化 entry_color
|
||||
static uint[] entry_color_src;
|
||||
static GCHandle entry_color_handle;
|
||||
public static IntPtr entry_color_Ptr;
|
||||
/** end **/
|
||||
public static uint* entry_color;
|
||||
public static int entry_colorLength;
|
||||
public static bool entry_color_IsNull => entry_color == null;
|
||||
public static uint[] entry_color_set
|
||||
{
|
||||
set
|
||||
{
|
||||
entry_color_handle.ReleaseGCHandle();
|
||||
entry_color_src = value;
|
||||
entry_colorLength = value.Length;
|
||||
entry_color_src.GetObjectPtr(ref entry_color_handle, ref entry_color);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
public static float[] entry_contrast;
|
||||
private static uint trans_uint;
|
||||
@ -174,18 +189,21 @@ namespace MAME.Core
|
||||
|
||||
//entry_color = new uint[numcolors];
|
||||
|
||||
entry_color_set = new uint[numcolors];
|
||||
|
||||
/** entry_color的指针管理 **/
|
||||
// 释放句柄
|
||||
if (entry_color != null && entry_color_handle.IsAllocated)
|
||||
entry_color_handle.Free();
|
||||
///** entry_color的指针管理 **/
|
||||
//// 释放句柄
|
||||
//if (entry_color != null && entry_color_handle.IsAllocated)
|
||||
// entry_color_handle.Free();
|
||||
|
||||
//entry_color = new uint[numcolors];
|
||||
//// 固定数组,防止垃圾回收器移动它
|
||||
//entry_color_handle = GCHandle.Alloc(entry_color, GCHandleType.Pinned);
|
||||
//// 获取数组的指针
|
||||
//entry_color_Ptr = entry_color_handle.AddrOfPinnedObject();
|
||||
///** end **/
|
||||
///
|
||||
|
||||
entry_color = new uint[numcolors];
|
||||
// 固定数组,防止垃圾回收器移动它
|
||||
entry_color_handle = GCHandle.Alloc(entry_color, GCHandleType.Pinned);
|
||||
// 获取数组的指针
|
||||
entry_color_Ptr = entry_color_handle.AddrOfPinnedObject();
|
||||
/** end **/
|
||||
|
||||
|
||||
|
||||
|
||||
@ -2569,7 +2569,7 @@ namespace MAME.Core
|
||||
}
|
||||
public static sbyte cps1_dsw_r(int offset)
|
||||
{
|
||||
string[] dswname = { "IN0", "DSWA", "DSWB", "DSWC" };
|
||||
//string[] dswname = { "IN0", "DSWA", "DSWB", "DSWC" };
|
||||
int in0 = 0;
|
||||
if (offset == 0)
|
||||
{
|
||||
|
||||
@ -4,6 +4,23 @@ namespace MAME.Core
|
||||
{
|
||||
public partial class CPS
|
||||
{
|
||||
static sbyte p3 = 0x1;
|
||||
static sbyte p3count = 0x0;
|
||||
|
||||
static sbyte getp3testKey()
|
||||
{
|
||||
sbyte val = (sbyte)((p3count * 2));
|
||||
if (val == 0)
|
||||
val = 1;
|
||||
UnityEngine.Debug.Log($"尝试P3键值{val}");
|
||||
return val;
|
||||
}
|
||||
static void AddtestCount()
|
||||
{
|
||||
p3count++;
|
||||
UnityEngine.Debug.Log($"推进{p3count},当前准备P3键值为{getp3testKey()}");
|
||||
}
|
||||
|
||||
public static void loop_inputports_cps1_6b()
|
||||
{
|
||||
if (Keyboard.IsPressed(MotionKey.P1_INSERT_COIN))//if (Keyboard.IsPressed(Corekey.D5))
|
||||
@ -22,6 +39,41 @@ namespace MAME.Core
|
||||
{
|
||||
sbyte0 |= 0x02;
|
||||
}
|
||||
|
||||
if (UnityEngine.Input.GetKeyDown(UnityEngine.KeyCode.LeftShift))
|
||||
{
|
||||
AddtestCount();
|
||||
}
|
||||
|
||||
if (Keyboard.IsPressed(MotionKey.P3_INSERT_COIN))//if (Keyboard.IsPressed(Corekey.D5))
|
||||
{
|
||||
//sbyte3 &= (sbyte)(~((int)getp3testKey()));
|
||||
sbyte0 &= ~4;
|
||||
sbyte0 &= ~8;
|
||||
sbyte0 &= ~16;
|
||||
sbyte0 &= ~32;
|
||||
sbyte0 &= ~64;
|
||||
}
|
||||
else
|
||||
{
|
||||
//sbyte3 |= (sbyte)(~((int)getp3testKey()));
|
||||
|
||||
sbyte0 |= ~4;
|
||||
sbyte0 |= ~8;
|
||||
sbyte0 |= ~16;
|
||||
sbyte0 |= ~32;
|
||||
sbyte0 |= ~64;
|
||||
}
|
||||
|
||||
if (Keyboard.IsPressed(MotionKey.P4_INSERT_COIN))//if (Keyboard.IsPressed(Corekey.D6))
|
||||
{
|
||||
sbyte0 &= ~0x08;
|
||||
}
|
||||
else
|
||||
{
|
||||
sbyte0 |= 0x08;
|
||||
}
|
||||
|
||||
if (Keyboard.IsPressed(MotionKey.P1_GAMESTART))//if (Keyboard.IsPressed(Corekey.D1))
|
||||
{
|
||||
sbyte0 &= ~0x10;
|
||||
|
||||
@ -45,7 +45,7 @@ namespace MAME.Core
|
||||
writer.Write(Sound.mixerstream.output_sampindex);
|
||||
writer.Write(Sound.mixerstream.output_base_sampindex);
|
||||
}
|
||||
public static void LoadStateBinary_pbaction(System.IO.BinaryReader reader)
|
||||
public unsafe static void LoadStateBinary_pbaction(System.IO.BinaryReader reader)
|
||||
{
|
||||
int i;
|
||||
dsw1 = reader.ReadByte();
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -25,13 +25,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 173080370084988713}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7122109429436137579}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1464475178787633862
|
||||
MonoBehaviour:
|
||||
@ -78,6 +78,7 @@ MonoBehaviour:
|
||||
m_DeselectOnBackgroundClick: 1
|
||||
m_PointerBehavior: 0
|
||||
m_CursorLockBehavior: 0
|
||||
m_ScrollDeltaPerTick: 6
|
||||
--- !u!1 &261166211120060501
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -111,7 +112,6 @@ RectTransform:
|
||||
- {fileID: 7813729344275964042}
|
||||
- {fileID: 4804966765082268001}
|
||||
m_Father: {fileID: 5169543666820693527}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -167,7 +167,6 @@ RectTransform:
|
||||
- {fileID: 4140710606298198504}
|
||||
- {fileID: 3574645515793225367}
|
||||
m_Father: {fileID: 7122109429436137579}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -191,6 +190,7 @@ Canvas:
|
||||
m_OverrideSorting: 0
|
||||
m_OverridePixelPerfect: 0
|
||||
m_SortingBucketNormalizedSize: 0
|
||||
m_VertexColorAlwaysGammaSpace: 0
|
||||
m_AdditionalShaderChannelsFlag: 1
|
||||
m_UpdateRectTransformForStandalone: 0
|
||||
m_SortingLayerID: 0
|
||||
@ -268,7 +268,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8545038260809852605}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -346,6 +345,7 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4747871931704546037}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
@ -356,7 +356,6 @@ Transform:
|
||||
- {fileID: 5927909303067165599}
|
||||
- {fileID: 5169543666820693527}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &-5568097984606286463
|
||||
MonoBehaviour:
|
||||
@ -404,7 +403,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8545038260809852605}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -486,13 +484,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6868843688838274199}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7122109429436137579}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &5322909716643310759
|
||||
MonoBehaviour:
|
||||
@ -537,7 +535,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8545038260809852605}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -607,13 +604,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9087746359628224422}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7122109429436137579}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!20 &4468044133909204598
|
||||
Camera:
|
||||
|
||||
@ -69,7 +69,7 @@ TextureImporter:
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
maxTextureSize: 128
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
@ -106,6 +106,32 @@ TextureImporter:
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: iOS
|
||||
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: 4
|
||||
buildTarget: WindowsStoreApps
|
||||
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: []
|
||||
|
||||
@ -3,7 +3,7 @@ guid: 314357a0742d2564187a8ac67b2926e3
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
@ -20,10 +20,12 @@ TextureImporter:
|
||||
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
|
||||
@ -62,10 +64,12 @@ TextureImporter:
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 1
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
maxTextureSize: 512
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
@ -73,9 +77,10 @@ TextureImporter:
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
@ -85,9 +90,10 @@ TextureImporter:
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
@ -97,12 +103,40 @@ TextureImporter:
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: iOS
|
||||
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: 4
|
||||
buildTarget: WindowsStoreApps
|
||||
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: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
@ -112,9 +146,11 @@ TextureImporter:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
||||
@ -72,7 +72,7 @@ TextureImporter:
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
maxTextureSize: 512
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
|
||||
@ -3,7 +3,7 @@ guid: c300d49e84cf0fb4186c750320e50146
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
@ -20,10 +20,12 @@ TextureImporter:
|
||||
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
|
||||
@ -62,10 +64,12 @@ TextureImporter:
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 1
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
maxTextureSize: 512
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
@ -73,9 +77,10 @@ TextureImporter:
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
@ -85,9 +90,10 @@ TextureImporter:
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
@ -97,12 +103,40 @@ TextureImporter:
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: iOS
|
||||
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: 4
|
||||
buildTarget: WindowsStoreApps
|
||||
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: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
@ -112,9 +146,11 @@ TextureImporter:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
||||
@ -333,6 +333,34 @@ PrefabInstance:
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1100500336380202360, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1100500336380202360, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1100500336380202360, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1100500336380202360, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1100500336380202360, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1100500336380202360, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1100500336380202360, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1471584936616359931, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
@ -677,6 +705,38 @@ PrefabInstance:
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5970282275929291192, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5970282275929291192, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5970282275929291192, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5970282275929291192, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5970282275929291192, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5970282275929291192, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5970282275929291192, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5970282275929291192, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6030618878828304669, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
@ -737,6 +797,38 @@ PrefabInstance:
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6878964193873653430, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6878964193873653430, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6878964193873653430, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6878964193873653430, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6878964193873653430, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6878964193873653430, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6878964193873653430, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6878964193873653430, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7216060871118576844, guid: d3c2508a55398a24db5d68f68d2702ea, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
|
||||
@ -32,7 +32,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -130,7 +129,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -188,7 +186,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 300
|
||||
m_EffectMaterial: {fileID: 8846503690602400904, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectMaterial: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectFactor: 0
|
||||
m_ColorFactor: 0
|
||||
m_BlurFactor: 0
|
||||
@ -223,7 +221,7 @@ MonoBehaviour:
|
||||
m_UseGraphicAlpha: 0
|
||||
--- !u!95 &2059277597780235898
|
||||
Animator:
|
||||
serializedVersion: 5
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@ -237,10 +235,12 @@ Animator:
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &1776357407830023228
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -275,7 +275,6 @@ RectTransform:
|
||||
- {fileID: 1323634865265500141}
|
||||
- {fileID: 331028397738758164}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -371,7 +370,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
@ -448,7 +446,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -545,7 +542,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8754483333502849411}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
@ -628,7 +624,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8865437771338118001}
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -707,7 +702,6 @@ RectTransform:
|
||||
- {fileID: 2303118795734916657}
|
||||
- {fileID: 4467178468921796307}
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
@ -728,7 +722,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 8865437771338118001}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
@ -814,7 +808,6 @@ RectTransform:
|
||||
- {fileID: 9038541706626733903}
|
||||
- {fileID: 8126322204359135913}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -911,7 +904,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -1007,7 +999,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2303118795734916657}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -1102,7 +1093,6 @@ RectTransform:
|
||||
- {fileID: 6087025893861054323}
|
||||
- {fileID: 8789823129857705082}
|
||||
m_Father: {fileID: 1998281097548910301}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
|
||||
@ -991,7 +991,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 2959939562593878400}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
|
||||
@ -32,7 +32,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -130,7 +129,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -188,7 +186,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 300
|
||||
m_EffectMaterial: {fileID: 8846503690602400904, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectMaterial: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectFactor: 0
|
||||
m_ColorFactor: 0
|
||||
m_BlurFactor: 0
|
||||
@ -223,7 +221,7 @@ MonoBehaviour:
|
||||
m_UseGraphicAlpha: 0
|
||||
--- !u!95 &2059277597780235898
|
||||
Animator:
|
||||
serializedVersion: 5
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@ -237,10 +235,12 @@ Animator:
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &1776357407830023228
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -275,7 +275,6 @@ RectTransform:
|
||||
- {fileID: 1323634865265500141}
|
||||
- {fileID: 331028397738758164}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -371,7 +370,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
@ -448,7 +446,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8754483333502849411}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
@ -534,7 +531,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8865437771338118001}
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -613,7 +609,6 @@ RectTransform:
|
||||
- {fileID: 2303118795734916657}
|
||||
- {fileID: 4467178468921796307}
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
@ -634,7 +629,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 8865437771338118001}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
@ -720,7 +715,6 @@ RectTransform:
|
||||
- {fileID: 1559746939363341302}
|
||||
- {fileID: 8126322204359135913}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -817,7 +811,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -912,7 +905,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2303118795734916657}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -992,7 +984,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -1090,7 +1081,6 @@ RectTransform:
|
||||
- {fileID: 6087025893861054323}
|
||||
- {fileID: 8789823129857705082}
|
||||
m_Father: {fileID: 1998281097548910301}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
|
||||
@ -32,7 +32,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -130,7 +129,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -188,7 +186,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 300
|
||||
m_EffectMaterial: {fileID: 8846503690602400904, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectMaterial: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectFactor: 0
|
||||
m_ColorFactor: 0
|
||||
m_BlurFactor: 0
|
||||
@ -223,7 +221,7 @@ MonoBehaviour:
|
||||
m_UseGraphicAlpha: 0
|
||||
--- !u!95 &2059277597780235898
|
||||
Animator:
|
||||
serializedVersion: 5
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@ -237,10 +235,12 @@ Animator:
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &1776357407830023228
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -275,7 +275,6 @@ RectTransform:
|
||||
- {fileID: 1323634865265500141}
|
||||
- {fileID: 331028397738758164}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -371,7 +370,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
@ -448,7 +446,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8754483333502849411}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
@ -534,7 +531,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8865437771338118001}
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -613,7 +609,6 @@ RectTransform:
|
||||
- {fileID: 2303118795734916657}
|
||||
- {fileID: 4467178468921796307}
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
@ -634,7 +629,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 8865437771338118001}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
@ -720,7 +715,6 @@ RectTransform:
|
||||
- {fileID: 1559746939363341302}
|
||||
- {fileID: 8126322204359135913}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -817,7 +811,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -912,7 +905,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2303118795734916657}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -992,7 +984,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -1090,7 +1081,6 @@ RectTransform:
|
||||
- {fileID: 6087025893861054323}
|
||||
- {fileID: 8789823129857705082}
|
||||
m_Father: {fileID: 1998281097548910301}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
|
||||
@ -991,7 +991,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 2959939562593878400}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
|
||||
@ -991,7 +991,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 2959939562593878400}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
|
||||
@ -991,7 +991,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 2959939562593878400}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
|
||||
@ -991,7 +991,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 2959939562593878400}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
|
||||
@ -629,7 +629,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 8865437771338118001}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
|
||||
@ -991,7 +991,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 2959939562593878400}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
|
||||
@ -32,7 +32,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -130,7 +129,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -188,7 +186,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 300
|
||||
m_EffectMaterial: {fileID: 8846503690602400904, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectMaterial: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectFactor: 0
|
||||
m_ColorFactor: 0
|
||||
m_BlurFactor: 0
|
||||
@ -223,7 +221,7 @@ MonoBehaviour:
|
||||
m_UseGraphicAlpha: 0
|
||||
--- !u!95 &2059277597780235898
|
||||
Animator:
|
||||
serializedVersion: 5
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@ -237,10 +235,12 @@ Animator:
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &1776357407830023228
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -275,7 +275,6 @@ RectTransform:
|
||||
- {fileID: 1323634865265500141}
|
||||
- {fileID: 331028397738758164}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -371,7 +370,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
@ -448,7 +446,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8754483333502849411}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
@ -534,7 +531,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8865437771338118001}
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -613,7 +609,6 @@ RectTransform:
|
||||
- {fileID: 2303118795734916657}
|
||||
- {fileID: 4467178468921796307}
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
@ -634,7 +629,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 8865437771338118001}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
@ -720,7 +715,6 @@ RectTransform:
|
||||
- {fileID: 1559746939363341302}
|
||||
- {fileID: 8126322204359135913}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -817,7 +811,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -912,7 +905,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2303118795734916657}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -992,7 +984,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -1090,7 +1081,6 @@ RectTransform:
|
||||
- {fileID: 6087025893861054323}
|
||||
- {fileID: 8789823129857705082}
|
||||
m_Father: {fileID: 1998281097548910301}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
|
||||
@ -32,7 +32,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -130,7 +129,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -188,7 +186,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 300
|
||||
m_EffectMaterial: {fileID: 8846503690602400904, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectMaterial: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectFactor: 0
|
||||
m_ColorFactor: 0
|
||||
m_BlurFactor: 0
|
||||
@ -223,7 +221,7 @@ MonoBehaviour:
|
||||
m_UseGraphicAlpha: 0
|
||||
--- !u!95 &2059277597780235898
|
||||
Animator:
|
||||
serializedVersion: 5
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@ -237,10 +235,12 @@ Animator:
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &1776357407830023228
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -275,7 +275,6 @@ RectTransform:
|
||||
- {fileID: 1323634865265500141}
|
||||
- {fileID: 331028397738758164}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -371,7 +370,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
@ -448,7 +446,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8754483333502849411}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
@ -534,7 +531,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8865437771338118001}
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -613,7 +609,6 @@ RectTransform:
|
||||
- {fileID: 2303118795734916657}
|
||||
- {fileID: 4467178468921796307}
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
@ -720,7 +715,6 @@ RectTransform:
|
||||
- {fileID: 1559746939363341302}
|
||||
- {fileID: 8126322204359135913}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -817,7 +811,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -912,7 +905,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2303118795734916657}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -992,7 +984,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -1090,7 +1081,6 @@ RectTransform:
|
||||
- {fileID: 6087025893861054323}
|
||||
- {fileID: 8789823129857705082}
|
||||
m_Father: {fileID: 1998281097548910301}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
|
||||
@ -991,7 +991,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 2959939562593878400}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
|
||||
@ -991,7 +991,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 2959939562593878400}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
|
||||
@ -32,7 +32,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -130,7 +129,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -188,7 +186,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 300
|
||||
m_EffectMaterial: {fileID: 8846503690602400904, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectMaterial: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectFactor: 0
|
||||
m_ColorFactor: 0
|
||||
m_BlurFactor: 0
|
||||
@ -223,7 +221,7 @@ MonoBehaviour:
|
||||
m_UseGraphicAlpha: 0
|
||||
--- !u!95 &2059277597780235898
|
||||
Animator:
|
||||
serializedVersion: 5
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@ -237,10 +235,12 @@ Animator:
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &1776357407830023228
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -275,7 +275,6 @@ RectTransform:
|
||||
- {fileID: 1323634865265500141}
|
||||
- {fileID: 331028397738758164}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -371,7 +370,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
@ -448,7 +446,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8754483333502849411}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
@ -534,7 +531,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8865437771338118001}
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -613,7 +609,6 @@ RectTransform:
|
||||
- {fileID: 2303118795734916657}
|
||||
- {fileID: 4467178468921796307}
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
@ -634,7 +629,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 8865437771338118001}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
@ -720,7 +715,6 @@ RectTransform:
|
||||
- {fileID: 1559746939363341302}
|
||||
- {fileID: 8126322204359135913}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -817,7 +811,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -912,7 +905,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2303118795734916657}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -992,7 +984,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -1090,7 +1081,6 @@ RectTransform:
|
||||
- {fileID: 6087025893861054323}
|
||||
- {fileID: 8789823129857705082}
|
||||
m_Father: {fileID: 1998281097548910301}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
|
||||
@ -991,7 +991,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 2959939562593878400}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
|
||||
@ -991,7 +991,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 2959939562593878400}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
|
||||
@ -32,7 +32,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -130,7 +129,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -188,7 +186,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 300
|
||||
m_EffectMaterial: {fileID: 8846503690602400904, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectMaterial: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectFactor: 0
|
||||
m_ColorFactor: 0
|
||||
m_BlurFactor: 0
|
||||
@ -223,7 +221,7 @@ MonoBehaviour:
|
||||
m_UseGraphicAlpha: 0
|
||||
--- !u!95 &2059277597780235898
|
||||
Animator:
|
||||
serializedVersion: 5
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@ -237,10 +235,12 @@ Animator:
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &1776357407830023228
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -275,7 +275,6 @@ RectTransform:
|
||||
- {fileID: 1323634865265500141}
|
||||
- {fileID: 331028397738758164}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -371,7 +370,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
@ -448,7 +446,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -545,7 +542,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8754483333502849411}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
@ -628,7 +624,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8865437771338118001}
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -707,7 +702,6 @@ RectTransform:
|
||||
- {fileID: 2303118795734916657}
|
||||
- {fileID: 4467178468921796307}
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
@ -728,7 +722,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 8865437771338118001}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
@ -814,7 +808,6 @@ RectTransform:
|
||||
- {fileID: 9038541706626733903}
|
||||
- {fileID: 8126322204359135913}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -911,7 +904,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -1006,7 +998,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2303118795734916657}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -1087,7 +1078,6 @@ RectTransform:
|
||||
- {fileID: 6087025893861054323}
|
||||
- {fileID: 8789823129857705082}
|
||||
m_Father: {fileID: 1998281097548910301}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
|
||||
@ -32,7 +32,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -130,7 +129,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -188,7 +186,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 300
|
||||
m_EffectMaterial: {fileID: 8846503690602400904, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectMaterial: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectFactor: 0
|
||||
m_ColorFactor: 0
|
||||
m_BlurFactor: 0
|
||||
@ -223,7 +221,7 @@ MonoBehaviour:
|
||||
m_UseGraphicAlpha: 0
|
||||
--- !u!95 &2059277597780235898
|
||||
Animator:
|
||||
serializedVersion: 5
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@ -237,10 +235,12 @@ Animator:
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &1776357407830023228
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -275,7 +275,6 @@ RectTransform:
|
||||
- {fileID: 1323634865265500141}
|
||||
- {fileID: 331028397738758164}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -371,7 +370,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
@ -448,7 +446,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8754483333502849411}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
@ -531,7 +528,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8865437771338118001}
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -610,7 +606,6 @@ RectTransform:
|
||||
- {fileID: 2303118795734916657}
|
||||
- {fileID: 4467178468921796307}
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
@ -631,7 +626,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 8865437771338118001}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
@ -717,7 +712,6 @@ RectTransform:
|
||||
- {fileID: 15566658635405967}
|
||||
- {fileID: 8126322204359135913}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -814,7 +808,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -909,7 +902,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2303118795734916657}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -989,7 +981,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -1087,7 +1078,6 @@ RectTransform:
|
||||
- {fileID: 6087025893861054323}
|
||||
- {fileID: 8789823129857705082}
|
||||
m_Father: {fileID: 1998281097548910301}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
|
||||
@ -32,7 +32,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -130,7 +129,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -188,7 +186,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 300
|
||||
m_EffectMaterial: {fileID: 8846503690602400904, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectMaterial: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectFactor: 0
|
||||
m_ColorFactor: 0
|
||||
m_BlurFactor: 0
|
||||
@ -223,7 +221,7 @@ MonoBehaviour:
|
||||
m_UseGraphicAlpha: 0
|
||||
--- !u!95 &2059277597780235898
|
||||
Animator:
|
||||
serializedVersion: 5
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@ -237,10 +235,12 @@ Animator:
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &1776357407830023228
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -275,7 +275,6 @@ RectTransform:
|
||||
- {fileID: 1323634865265500141}
|
||||
- {fileID: 331028397738758164}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -371,7 +370,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
@ -448,7 +446,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -545,7 +542,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8754483333502849411}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
@ -628,7 +624,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8865437771338118001}
|
||||
m_Father: {fileID: 331028397738758164}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -707,7 +702,6 @@ RectTransform:
|
||||
- {fileID: 2303118795734916657}
|
||||
- {fileID: 4467178468921796307}
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
@ -728,7 +722,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 8865437771338118001}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_Vertical: 0
|
||||
m_MovementType: 0
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
@ -814,7 +808,6 @@ RectTransform:
|
||||
- {fileID: 9038541706626733903}
|
||||
- {fileID: 8126322204359135913}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -911,7 +904,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -1006,7 +998,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2303118795734916657}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -1087,7 +1078,6 @@ RectTransform:
|
||||
- {fileID: 6087025893861054323}
|
||||
- {fileID: 8789823129857705082}
|
||||
m_Father: {fileID: 1998281097548910301}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
|
||||
@ -32,7 +32,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -130,7 +129,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
@ -188,7 +186,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 300
|
||||
m_EffectMaterial: {fileID: 8846503690602400904, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectMaterial: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectFactor: 0
|
||||
m_ColorFactor: 0
|
||||
m_BlurFactor: 0
|
||||
@ -223,7 +221,7 @@ MonoBehaviour:
|
||||
m_UseGraphicAlpha: 0
|
||||
--- !u!95 &2059277597780235898
|
||||
Animator:
|
||||
serializedVersion: 5
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@ -237,10 +235,12 @@ Animator:
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &1776357407830023228
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -272,7 +272,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8105925540140519754}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -349,7 +348,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8754483333502849411}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
@ -436,7 +434,6 @@ RectTransform:
|
||||
- {fileID: 6673031368290035463}
|
||||
- {fileID: 8126322204359135913}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
@ -551,7 +548,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 6087025893861054323}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
@ -629,7 +625,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8986746042327041630}
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -725,7 +720,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6095356919362338847}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
@ -820,7 +814,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -897,7 +890,6 @@ RectTransform:
|
||||
- {fileID: 8105925540140519754}
|
||||
- {fileID: 8789823129857705082}
|
||||
m_Father: {fileID: 1998281097548910301}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -933,7 +925,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
|
||||
@ -32,7 +32,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -130,7 +129,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
@ -188,7 +186,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 300
|
||||
m_EffectMaterial: {fileID: 8846503690602400904, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectMaterial: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectFactor: 0
|
||||
m_ColorFactor: 0
|
||||
m_BlurFactor: 0
|
||||
@ -223,7 +221,7 @@ MonoBehaviour:
|
||||
m_UseGraphicAlpha: 0
|
||||
--- !u!95 &2059277597780235898
|
||||
Animator:
|
||||
serializedVersion: 5
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@ -237,10 +235,12 @@ Animator:
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &1776357407830023228
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -272,7 +272,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -349,7 +348,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8754483333502849411}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
@ -436,7 +434,6 @@ RectTransform:
|
||||
- {fileID: 6673031368290035463}
|
||||
- {fileID: 8126322204359135913}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
@ -552,7 +549,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8986746042327041630}
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -648,7 +644,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6095356919362338847}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
@ -743,7 +738,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -820,7 +814,6 @@ RectTransform:
|
||||
- {fileID: 6087025893861054323}
|
||||
- {fileID: 8789823129857705082}
|
||||
m_Father: {fileID: 1998281097548910301}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -856,7 +849,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
|
||||
@ -32,7 +32,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -129,7 +128,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8388810120369343570}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -247,7 +245,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -305,7 +302,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 300
|
||||
m_EffectMaterial: {fileID: 8846503690602400904, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectMaterial: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectFactor: 0
|
||||
m_ColorFactor: 0
|
||||
m_BlurFactor: 0
|
||||
@ -340,7 +337,7 @@ MonoBehaviour:
|
||||
m_UseGraphicAlpha: 0
|
||||
--- !u!95 &2059277597780235898
|
||||
Animator:
|
||||
serializedVersion: 5
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@ -354,10 +351,12 @@ Animator:
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &1252956242765037133
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -390,7 +389,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 1356745056984945386}
|
||||
m_Father: {fileID: 8105925540140519754}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -466,7 +464,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1356745056984945386}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.25}
|
||||
m_AnchorMax: {x: 1, y: 0.75}
|
||||
@ -542,7 +539,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8105925540140519754}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -618,7 +614,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4825215963562112837}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
@ -693,7 +688,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8088221278067224827}
|
||||
m_Father: {fileID: 1356745056984945386}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.25}
|
||||
m_AnchorMax: {x: 1, y: 0.75}
|
||||
@ -731,11 +725,10 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8105925540140519754}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 8.2, y: -10.1}
|
||||
m_AnchoredPosition: {x: 4, y: -4}
|
||||
m_SizeDelta: {x: 48.319504, y: 40.7695}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!222 &196912998120336165
|
||||
@ -807,7 +800,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -884,7 +876,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8754483333502849411}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
@ -969,7 +960,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -1013,7 +1003,6 @@ RectTransform:
|
||||
- {fileID: 7783773379985343815}
|
||||
- {fileID: 8126322204359135913}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
@ -1132,7 +1121,6 @@ RectTransform:
|
||||
- {fileID: 1123244137077354552}
|
||||
- {fileID: 88397014911048519}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
@ -1242,7 +1230,6 @@ RectTransform:
|
||||
- {fileID: 7286174480513024547}
|
||||
- {fileID: 4825215963562112837}
|
||||
m_Father: {fileID: 88397014911048519}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
@ -1331,12 +1318,11 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8105925540140519754}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: -12, y: -21}
|
||||
m_SizeDelta: {x: 48.3195, y: 40.7695}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 48, y: 48}
|
||||
m_Pivot: {x: 1, y: 1}
|
||||
--- !u!222 &1381140245428399030
|
||||
CanvasRenderer:
|
||||
@ -1359,14 +1345,14 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 0.22587347, b: 1, a: 1}
|
||||
m_Color: {r: 0.15304625, g: 1, b: 0.20392157, 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: 734113830533174147, guid: d518d00d4940e854bbe45d9ef891401a, type: 3}
|
||||
m_Sprite: {fileID: 21300000, guid: 28db37d78cad20f4397804dfa4572829, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
@ -1409,7 +1395,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8388810120369343570}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -1524,7 +1509,6 @@ RectTransform:
|
||||
- {fileID: 2833698290933459632}
|
||||
- {fileID: 7557140797862982174}
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -1563,7 +1547,6 @@ RectTransform:
|
||||
- {fileID: 8105925540140519754}
|
||||
- {fileID: 8789823129857705082}
|
||||
m_Father: {fileID: 1998281097548910301}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
||||
@ -32,7 +32,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -130,7 +129,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -188,7 +186,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 300
|
||||
m_EffectMaterial: {fileID: 8846503690602400904, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectMaterial: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectFactor: 0
|
||||
m_ColorFactor: 0
|
||||
m_BlurFactor: 0
|
||||
@ -223,7 +221,7 @@ MonoBehaviour:
|
||||
m_UseGraphicAlpha: 0
|
||||
--- !u!95 &2059277597780235898
|
||||
Animator:
|
||||
serializedVersion: 5
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@ -237,10 +235,12 @@ Animator:
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &1252956242765037133
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -273,7 +273,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 1356745056984945386}
|
||||
m_Father: {fileID: 8105925540140519754}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -349,7 +348,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1356745056984945386}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.25}
|
||||
m_AnchorMax: {x: 1, y: 0.75}
|
||||
@ -425,7 +423,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8105925540140519754}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -501,7 +498,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4825215963562112837}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
@ -577,7 +573,6 @@ RectTransform:
|
||||
- {fileID: 2060689948839802503}
|
||||
- {fileID: 6579548178934567653}
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -614,7 +609,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8088221278067224827}
|
||||
m_Father: {fileID: 1356745056984945386}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.25}
|
||||
m_AnchorMax: {x: 1, y: 0.75}
|
||||
@ -653,7 +647,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8754483333502849411}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
@ -745,7 +738,6 @@ RectTransform:
|
||||
- {fileID: 7153585803608375682}
|
||||
- {fileID: 8126322204359135913}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
@ -861,7 +853,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4656048196076530004}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -980,7 +971,6 @@ RectTransform:
|
||||
- {fileID: 1361359478345282377}
|
||||
- {fileID: 88397014911048519}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
@ -1090,7 +1080,6 @@ RectTransform:
|
||||
- {fileID: 7286174480513024547}
|
||||
- {fileID: 4825215963562112837}
|
||||
m_Father: {fileID: 88397014911048519}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
@ -1179,7 +1168,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8105925540140519754}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -1257,7 +1245,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4656048196076530004}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -1372,7 +1359,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -1449,7 +1435,6 @@ RectTransform:
|
||||
- {fileID: 8105925540140519754}
|
||||
- {fileID: 8789823129857705082}
|
||||
m_Father: {fileID: 1998281097548910301}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -1485,7 +1470,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
|
||||
@ -32,7 +32,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -130,7 +129,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
@ -188,7 +186,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 300
|
||||
m_EffectMaterial: {fileID: 8846503690602400904, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectMaterial: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
|
||||
m_EffectFactor: 0
|
||||
m_ColorFactor: 0
|
||||
m_BlurFactor: 0
|
||||
@ -223,7 +221,7 @@ MonoBehaviour:
|
||||
m_UseGraphicAlpha: 0
|
||||
--- !u!95 &2059277597780235898
|
||||
Animator:
|
||||
serializedVersion: 5
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
@ -237,10 +235,12 @@ Animator:
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &1776357407830023228
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -272,7 +272,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -349,7 +348,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8754483333502849411}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
@ -436,7 +434,6 @@ RectTransform:
|
||||
- {fileID: 6673031368290035463}
|
||||
- {fileID: 8126322204359135913}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
@ -552,7 +549,6 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 8986746042327041630}
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -648,7 +644,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6095356919362338847}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
@ -743,7 +738,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -820,7 +814,6 @@ RectTransform:
|
||||
- {fileID: 6087025893861054323}
|
||||
- {fileID: 8789823129857705082}
|
||||
m_Father: {fileID: 1998281097548910301}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@ -856,7 +849,6 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8789823129857705082}
|
||||
m_RootOrder: -2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
|
||||
@ -677,8 +677,7 @@ RectTransform:
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 2180787260962546873}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5353336693430589123}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
@ -758,6 +757,7 @@ RectTransform:
|
||||
- {fileID: 5681144522345305637}
|
||||
- {fileID: 4076923977615567036}
|
||||
- {fileID: 6362836288749559125}
|
||||
- {fileID: 2293945952282068648}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
@ -995,7 +995,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &3401503803137628060
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -1011,10 +1011,10 @@ RectTransform:
|
||||
- {fileID: 5173410857689853898}
|
||||
m_Father: {fileID: 2180787260962546873}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 30, y: -30}
|
||||
m_SizeDelta: {x: 60, y: 60}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &209050608986704394
|
||||
MonoBehaviour:
|
||||
@ -1124,6 +1124,84 @@ MonoBehaviour:
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &6423247951342927163
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2293945952282068648}
|
||||
- component: {fileID: 6196246109583816608}
|
||||
- component: {fileID: 6672533647468693058}
|
||||
m_Layer: 5
|
||||
m_Name: "\u2198"
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &2293945952282068648
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6423247951342927163}
|
||||
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: 2180787260962546873}
|
||||
m_Father: {fileID: 5353336693430589123}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 1, y: 0}
|
||||
--- !u!114 &6196246109583816608
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6423247951342927163}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Padding:
|
||||
m_Left: 2
|
||||
m_Right: 8
|
||||
m_Top: 8
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 8
|
||||
m_Spacing: 10
|
||||
m_ChildForceExpandWidth: 0
|
||||
m_ChildForceExpandHeight: 0
|
||||
m_ChildControlWidth: 1
|
||||
m_ChildControlHeight: 0
|
||||
m_ChildScaleWidth: 1
|
||||
m_ChildScaleHeight: 1
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!114 &6672533647468693058
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6423247951342927163}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 2
|
||||
m_VerticalFit: 2
|
||||
--- !u!1 &6564643175566609500
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -1306,19 +1384,19 @@ RectTransform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7293448547499054900}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
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: 3401503803137628060}
|
||||
m_Father: {fileID: 4076923977615567036}
|
||||
m_Father: {fileID: 2293945952282068648}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0.5}
|
||||
m_SizeDelta: {x: 0, y: 60}
|
||||
m_Pivot: {x: 1, y: 0.5}
|
||||
--- !u!114 &8293546264338150520
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@ -13,7 +13,7 @@ OcclusionCullingSettings:
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 9
|
||||
serializedVersion: 10
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
@ -38,13 +38,12 @@ RenderSettings:
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
serializedVersion: 13
|
||||
m_BakeOnSceneLoad: 0
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
@ -67,9 +66,6 @@ LightmapSettings:
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
@ -123,6 +119,355 @@ NavMeshSettings:
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1001 &221009212
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 132536, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: IngameDebugConsole
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 11452418, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: singleton
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 11452418, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: startMinimized
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 11490438, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_BlockingMask.m_Bits
|
||||
value: 4294967295
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22400762, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22426080, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22426080, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22426080, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22428984, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22428984, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22428984, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22428984, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22428984, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22428984, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22428984, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22428984, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22455554, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22455554, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22455554, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22455554, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22455554, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22455554, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22455554, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22455554, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_Pivot.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22457152, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22468896, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22468896, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22468896, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22468896, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22468896, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22468896, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22468896, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22468896, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22488670, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22488670, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22488670, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22488670, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22488670, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22488670, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22488670, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22488670, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22495692, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22495692, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22495692, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22495692, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22495692, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22495692, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22495692, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22495692, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 224619367409363176, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 224619367409363176, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 224619367409363176, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 224619367409363176, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 224619367409363176, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 224619367409363176, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 224619367409363176, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 224619367409363176, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 224856348943071238, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 224856348943071238, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 224856348943071238, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 224856348943071238, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 224856348943071238, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 224856348943071238, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 224856348943071238, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 224856348943071238, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
--- !u!1 &408101310
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -139,7 +484,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!4 &408101311
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -147,13 +492,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 408101310}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &408101312
|
||||
MonoBehaviour:
|
||||
@ -195,13 +540,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1335662458}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1335662460
|
||||
MonoBehaviour:
|
||||
@ -273,11 +618,19 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1498586261}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
m_Roots:
|
||||
- {fileID: 1498586263}
|
||||
- {fileID: 1335662459}
|
||||
- {fileID: 408101311}
|
||||
- {fileID: 221009212}
|
||||
|
||||
@ -213,7 +213,7 @@ namespace AxibugEmuOnline.Client.ClientCore
|
||||
else if (request.downloadHandler.bHadErr)
|
||||
{
|
||||
bHttpCheckDone = false;
|
||||
App.log.Error(request.downloadHandler.ErrInfo);
|
||||
App.log.Error(request.downloadHandler.errInfo);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO.Compression;
|
||||
@ -11,7 +12,7 @@ using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
|
||||
public static class PSVThread
|
||||
public static class AxiHttpThread
|
||||
{
|
||||
|
||||
#if UNITY_PSP2
|
||||
@ -85,7 +86,7 @@ public static class AxiHttp
|
||||
public const string Transfer_Encoding = "transfer-encoding";
|
||||
public const string Connection = "connection";
|
||||
public static long index = 0;
|
||||
static int singlePkgMaxRead = 1024;
|
||||
static int singlePkgMaxRead = 1024 * 4;
|
||||
|
||||
public class WaitAxiRequest : UnityEngine.CustomYieldInstruction
|
||||
{
|
||||
@ -110,7 +111,13 @@ public static class AxiHttp
|
||||
//Console.WriteLine(log);
|
||||
}
|
||||
|
||||
static Dictionary<string, IPAddress> dictIP2Address = new Dictionary<string, IPAddress>();
|
||||
static ConcurrentDictionary<string, IPAddress> dictIP2Address = new ConcurrentDictionary<string, IPAddress>();
|
||||
public enum AxiDownLoadMode
|
||||
{
|
||||
NotDownLoad = 0,
|
||||
DownLoadBytes = 1,
|
||||
DownloadToBinaryWriter = 2
|
||||
}
|
||||
|
||||
public class AxiRespInfo
|
||||
{
|
||||
@ -120,78 +127,58 @@ public static class AxiHttp
|
||||
{
|
||||
get
|
||||
{
|
||||
return
|
||||
isDone = true
|
||||
&&
|
||||
(
|
||||
!string.IsNullOrEmpty(ErrInfo)
|
||||
||
|
||||
code != 200
|
||||
);
|
||||
return isDone == true && (code != 200 || !string.IsNullOrEmpty(errInfo));
|
||||
}
|
||||
}
|
||||
public string ErrInfo;
|
||||
//public string Err = null;
|
||||
public string host = "";//host主机头
|
||||
public string url = "";//pathAndQuery
|
||||
public int port = 80;
|
||||
public string requestRaw = "";
|
||||
public string encoding = "";
|
||||
public string header = "";
|
||||
public string errInfo;
|
||||
public string host = string.Empty;//host主机头
|
||||
public string url = string.Empty;//pathAndQuery
|
||||
public string requestRaw = string.Empty;
|
||||
public string encoding = string.Empty;
|
||||
public string header = string.Empty;
|
||||
public string text { get { return body; } }
|
||||
public string body = "";
|
||||
public string reuqestBody = "";
|
||||
public string reuqestHeader = "";
|
||||
public string body = string.Empty;
|
||||
public string reuqestBody = string.Empty;
|
||||
public string reuqestHeader = string.Empty;
|
||||
public Dictionary<string, string> headers = new Dictionary<string, string>();
|
||||
public string response = "";
|
||||
//public string gzip = "";
|
||||
public bool isGzip = false;
|
||||
public bool isgzip = false;
|
||||
public int length = 0;
|
||||
public int code = 0;
|
||||
public int location = 0;
|
||||
public int runTime = 0;//获取网页消耗时间,毫秒
|
||||
public int sleepTime = 0;//休息时间
|
||||
public string cookies = "";
|
||||
public bool bTimeOut = false;
|
||||
|
||||
public int NeedloadedLenght;
|
||||
public int loadedLenght;
|
||||
public byte[] data { get { return bodyRaw; } }
|
||||
public byte[] bodyRaw;
|
||||
public string fileName;
|
||||
public float DownLoadPr =>
|
||||
NeedloadedLenght <= 0 ? -1 : (float)loadedLenght / NeedloadedLenght;
|
||||
public System.IO.BinaryWriter binaryWriter;
|
||||
}
|
||||
|
||||
public static IPAddress GetDnsIP(string str)
|
||||
{
|
||||
lock (dictIP2Address)
|
||||
public int runtime = 0;//获取网页消耗时间,毫秒
|
||||
public string cookies = string.Empty;
|
||||
public bool isTimeOut = false;
|
||||
public int needdownloadLenght;
|
||||
public int loadedlenght;
|
||||
public byte[] data { get { return bodyraw; } }
|
||||
public byte[] bodyraw;
|
||||
public string filename;
|
||||
public float downLoadPr => needdownloadLenght <= 0 ? -1 : (float)loadedlenght / needdownloadLenght;
|
||||
public void SetIsDone()
|
||||
{
|
||||
if (!dictIP2Address.ContainsKey(str))
|
||||
{
|
||||
IPHostEntry host = Dns.GetHostEntry(str);
|
||||
IPAddress ip = null;
|
||||
foreach (var item in host.AddressList)
|
||||
{
|
||||
if (item.AddressFamily == AddressFamily.InterNetwork)
|
||||
{
|
||||
ip = item; break;
|
||||
}
|
||||
}
|
||||
dictIP2Address[str] = ip;
|
||||
}
|
||||
return dictIP2Address[str];
|
||||
this.isDone = true;
|
||||
}
|
||||
public void SetDoneForCantStart(int code, string errmsg)
|
||||
{
|
||||
this.code = code;
|
||||
this.errInfo = errmsg;
|
||||
this.isDone = true;
|
||||
}
|
||||
}
|
||||
|
||||
public enum AxiDownLoadMode
|
||||
public static IPAddress GetDnsIP(string hostname)
|
||||
{
|
||||
NotDownLoad = 0,
|
||||
DownLoadBytes = 1,
|
||||
DownloadToBinaryWriter = 2
|
||||
return dictIP2Address.GetOrAdd(hostname, key =>
|
||||
{
|
||||
IPHostEntry host = Dns.GetHostEntry(hostname);
|
||||
foreach (var item in host.AddressList)
|
||||
{
|
||||
if (item.AddressFamily == AddressFamily.InterNetwork)
|
||||
{
|
||||
return item; ;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
public static AxiRespInfo AxiRequest(string url)
|
||||
{
|
||||
AxiRespInfo respInfo = new AxiRespInfo();
|
||||
@ -199,7 +186,6 @@ public static class AxiHttp
|
||||
SendAxiRequest(url, ref respInfo);
|
||||
return respInfo;
|
||||
}
|
||||
|
||||
public static WaitAxiRequest AxiRequestAsync(string url)
|
||||
{
|
||||
AxiRespInfo respInfo = new AxiRespInfo();
|
||||
@ -207,10 +193,9 @@ public static class AxiHttp
|
||||
WaitAxiRequest respAsync = new WaitAxiRequest(respInfo);
|
||||
//Task task = new Task(() => SendAxiRequest(url, ref respInfo));
|
||||
//task.Start()
|
||||
PSVThread.DoTask(() => SendAxiRequest(url, ref respInfo));
|
||||
AxiHttpThread.DoTask(() => SendAxiRequest(url, ref respInfo));
|
||||
return respAsync;
|
||||
}
|
||||
|
||||
public static AxiRespInfo AxiDownload(string url)
|
||||
{
|
||||
AxiRespInfo respInfo = new AxiRespInfo();
|
||||
@ -218,32 +203,27 @@ public static class AxiHttp
|
||||
SendAxiRequest(url, ref respInfo);
|
||||
return respInfo;
|
||||
}
|
||||
|
||||
public static AxiRespInfo AxiDownloadAsync(string url)
|
||||
{
|
||||
AxiRespInfo respInfo = new AxiRespInfo();
|
||||
respInfo.downloadMode = AxiDownLoadMode.DownLoadBytes;
|
||||
//Task task = new Task(() => SendAxiRequest(url, ref respInfo));
|
||||
//task.Start();
|
||||
PSVThread.DoTask(() => SendAxiRequest(url, ref respInfo));
|
||||
AxiHttpThread.DoTask(() => SendAxiRequest(url, ref respInfo));
|
||||
return respInfo;
|
||||
}
|
||||
|
||||
static void SendAxiRequest(string url, ref AxiRespInfo respinfo, int timeout = 1000 * 1000, string encoding = "UTF-8")
|
||||
{
|
||||
if (url.ToLower().StartsWith("https://"))
|
||||
SendAxiRequestHttps(url, ref respinfo, timeout, encoding);// SendAxiRequestHttps(url, ref respinfo, timeout, encoding);
|
||||
SendAxiRequestHttps(url, ref respinfo, timeout, encoding);
|
||||
else
|
||||
SendAxiRequestHttp(url, ref respinfo, timeout, encoding);
|
||||
}
|
||||
|
||||
static void SendAxiRequestHttp(string url, ref AxiRespInfo respinfo, int timeout, string encoding)
|
||||
{
|
||||
Log("SendAxiRequestHttp");
|
||||
respinfo.url = url;
|
||||
Stopwatch sw = new Stopwatch();
|
||||
sw.Start();
|
||||
respinfo.loadedLenght = 0;
|
||||
respinfo.loadedlenght = 0;
|
||||
try
|
||||
{
|
||||
string strURI = url;
|
||||
@ -258,14 +238,10 @@ public static class AxiHttp
|
||||
if (!ParseURI(strURI, ref bSSL, ref strHost, ref strIP, ref port, ref strRelativePath, ref ourErrMsg))
|
||||
{
|
||||
Log("ParseURI False");
|
||||
respinfo.ErrInfo = ourErrMsg;
|
||||
respinfo.code = 0;
|
||||
respinfo.isDone = true;
|
||||
respinfo.SetDoneForCantStart(0, "Can not Connect");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
var ip = GetDnsIP(strHost);
|
||||
var ipEndPoint = new IPEndPoint(ip, port);
|
||||
|
||||
@ -277,12 +253,10 @@ public static class AxiHttp
|
||||
{
|
||||
client.Close();
|
||||
sw.Stop();
|
||||
respinfo.code = 0;
|
||||
respinfo.isDone = true;
|
||||
respinfo.SetDoneForCantStart(0, "Can not Connect");
|
||||
return;
|
||||
}
|
||||
|
||||
//string requestRaw = $"GET {strRelativePath} HTTP/1.1\r\nHost: {strHost}\r\nConnection: Close\r\n\r\n";
|
||||
string request = $"GET {strURI} HTTP/1.1\r\nHost: {strHost}\r\nConnection: Close\r\n\r\n";
|
||||
|
||||
checkContentLength(ref respinfo, ref request);
|
||||
@ -312,7 +286,6 @@ public static class AxiHttp
|
||||
&& sw.ElapsedMilliseconds < timeout
|
||||
);
|
||||
|
||||
|
||||
respinfo.header = sb.ToString().Replace(CTRL, "");
|
||||
string[] headers = Regex.Split(respinfo.header, CT);
|
||||
if (headers != null && headers.Length > 0)
|
||||
@ -343,7 +316,6 @@ public static class AxiHttp
|
||||
location = Tools.getCurrentPath(url) + location;
|
||||
}
|
||||
rsb.Insert(urlStart, location);
|
||||
//return sendHTTPRequest(count, host, port, payload, rsb.ToString(), timeout, encoding, false);
|
||||
client.Close();
|
||||
sw.Stop();
|
||||
SendAxiRequest(url, ref respinfo, timeout, encoding);
|
||||
@ -356,33 +328,19 @@ public static class AxiHttp
|
||||
{
|
||||
Log("User Head");
|
||||
int length = int.Parse(respinfo.headers[Content_Length]);
|
||||
respinfo.NeedloadedLenght = length;
|
||||
respinfo.needdownloadLenght = length;
|
||||
|
||||
// while (respinfo.loadedLenght < length
|
||||
// && sw.ElapsedMilliseconds < timeout
|
||||
// )
|
||||
//{
|
||||
// int readsize = length - respinfo.loadedLenght;
|
||||
// len = client.Receive(temp_responseBody, respinfo.loadedLenght, readsize, SocketFlags.None);
|
||||
|
||||
// if (len > 0)
|
||||
// {
|
||||
// respinfo.loadedLenght += len;
|
||||
// }
|
||||
//}
|
||||
|
||||
while (respinfo.loadedLenght < length
|
||||
while (respinfo.loadedlenght < length
|
||||
&& sw.ElapsedMilliseconds < timeout
|
||||
)
|
||||
{
|
||||
//len = client.Receive(temp_responseBody, respinfo.loadedLenght, readsize, SocketFlags.None);
|
||||
int readsize = length - respinfo.loadedLenght;
|
||||
int readsize = length - respinfo.loadedlenght;
|
||||
readsize = Math.Min(readsize, singlePkgMaxRead);
|
||||
len = client.Receive(temp_responseBody, 0, readsize, SocketFlags.None);
|
||||
if (len > 0)
|
||||
{
|
||||
memoryStream.Write(temp_responseBody, 0, len);
|
||||
respinfo.loadedLenght += len;
|
||||
respinfo.loadedlenght += len;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -394,7 +352,7 @@ public static class AxiHttp
|
||||
int chunkedSize = 0;
|
||||
byte[] chunkedByte = new byte[1];
|
||||
//读取总长度
|
||||
respinfo.loadedLenght = 0;
|
||||
respinfo.loadedlenght = 0;
|
||||
do
|
||||
{
|
||||
string ctmp = "";
|
||||
@ -418,27 +376,12 @@ public static class AxiHttp
|
||||
//结束了
|
||||
break;
|
||||
}
|
||||
//int onechunkLen = 0;
|
||||
//while (onechunkLen < chunkedSize
|
||||
// && sw.ElapsedMilliseconds < timeout
|
||||
// )
|
||||
//{
|
||||
|
||||
// len = client.Receive(responseBody, respinfo.loadedLenght, chunkedSize - onechunkLen, SocketFlags.None);
|
||||
// if (len > 0)
|
||||
// {
|
||||
// onechunkLen += len;
|
||||
// respinfo.loadedLenght += len;
|
||||
// }
|
||||
//}
|
||||
|
||||
int onechunkLen = 0;
|
||||
while (onechunkLen < chunkedSize
|
||||
&& sw.ElapsedMilliseconds < timeout
|
||||
)
|
||||
{
|
||||
//len = client.Receive(responseBody, respinfo.loadedLenght, chunkedSize - onechunkLen, SocketFlags.None);
|
||||
|
||||
int readsize = chunkedSize - onechunkLen;
|
||||
readsize = Math.Min(readsize, singlePkgMaxRead);
|
||||
len = client.Receive(temp_responseBody, 0, readsize, SocketFlags.None);
|
||||
@ -446,7 +389,7 @@ public static class AxiHttp
|
||||
{
|
||||
memoryStream.Write(temp_responseBody, 0, len);
|
||||
onechunkLen += len;
|
||||
respinfo.loadedLenght += len;
|
||||
respinfo.loadedlenght += len;
|
||||
}
|
||||
}
|
||||
|
||||
@ -463,15 +406,14 @@ public static class AxiHttp
|
||||
{
|
||||
if (client.Available > 0)
|
||||
{
|
||||
//len = client.Receive(responseBody, respinfo.loadedLenght, (1024 * 200) - respinfo.loadedLenght, SocketFlags.None);
|
||||
int readsize = (1024 * 200) - respinfo.loadedLenght;
|
||||
int readsize = (1024 * 200) - respinfo.loadedlenght;
|
||||
readsize = Math.Min(readsize, singlePkgMaxRead);
|
||||
len = client.Receive(temp_responseBody, 0, readsize, SocketFlags.None);
|
||||
|
||||
if (len > 0)
|
||||
{
|
||||
memoryStream.Write(temp_responseBody, 0, len);
|
||||
respinfo.loadedLenght += len;
|
||||
respinfo.loadedlenght += len;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -490,59 +432,52 @@ public static class AxiHttp
|
||||
//判断是否gzip
|
||||
if (respinfo.headers.ContainsKey(Content_Encoding))
|
||||
{
|
||||
respinfo.bodyRaw = unGzipBytes(responseBody, respinfo.loadedLenght);
|
||||
respinfo.bodyraw = unGzipBytes(responseBody, respinfo.loadedlenght);
|
||||
}
|
||||
else
|
||||
{
|
||||
respinfo.bodyRaw = responseBody;
|
||||
respinfo.bodyraw = responseBody;
|
||||
}
|
||||
|
||||
// 使用Uri类解析URL
|
||||
Uri uri = new Uri(url);
|
||||
respinfo.fileName = System.IO.Path.GetFileName(uri.LocalPath);
|
||||
respinfo.filename = System.IO.Path.GetFileName(uri.LocalPath);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否gzip
|
||||
if (respinfo.headers.ContainsKey(Content_Encoding))
|
||||
{
|
||||
respinfo.body = unGzip(responseBody, respinfo.loadedLenght, encod);
|
||||
respinfo.body = unGzip(responseBody, respinfo.loadedlenght, encod);
|
||||
}
|
||||
else
|
||||
{
|
||||
respinfo.body = encod.GetString(responseBody, 0, respinfo.loadedLenght);
|
||||
respinfo.body = encod.GetString(responseBody, 0, respinfo.loadedlenght);
|
||||
}
|
||||
}
|
||||
|
||||
client.Close();
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
respinfo.ErrInfo = $"ex : {ex.ToString()}";
|
||||
respinfo.errInfo = $"ex : {ex.ToString()}";
|
||||
}
|
||||
finally
|
||||
{
|
||||
sw.Stop();
|
||||
respinfo.length = respinfo.loadedLenght;
|
||||
respinfo.runTime = (int)sw.ElapsedMilliseconds;
|
||||
respinfo.bTimeOut = sw.ElapsedMilliseconds >= timeout;
|
||||
//if (socket != null)
|
||||
//{
|
||||
// clientSocket.Close();
|
||||
//}
|
||||
respinfo.length = respinfo.loadedlenght;
|
||||
respinfo.runtime = (int)sw.ElapsedMilliseconds;
|
||||
respinfo.isTimeOut = sw.ElapsedMilliseconds >= timeout;
|
||||
respinfo.isDone = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void SendAxiRequestHttps(string url, ref AxiRespInfo respinfo, int timeout, string encoding)
|
||||
{
|
||||
respinfo.url = url;
|
||||
Stopwatch sw = new Stopwatch();
|
||||
sw.Start();
|
||||
respinfo.loadedLenght = 0;
|
||||
respinfo.loadedlenght = 0;
|
||||
TcpClient client = null;
|
||||
try
|
||||
{
|
||||
@ -558,34 +493,22 @@ public static class AxiHttp
|
||||
if (!ParseURI(strURI, ref bSSL, ref strHost, ref strIP, ref port, ref strRelativePath, ref ourErrMsg))
|
||||
{
|
||||
Log("ParseURI False");
|
||||
respinfo.ErrInfo = ourErrMsg;
|
||||
respinfo.code = 0;
|
||||
respinfo.isDone = true;
|
||||
respinfo.SetDoneForCantStart(0, ourErrMsg);
|
||||
return;
|
||||
}
|
||||
|
||||
//var ip = Dns.GetHostEntry(strHost).AddressList[0];
|
||||
//var ipEndPoint = new IPEndPoint(ip, port);
|
||||
|
||||
//using (Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))
|
||||
//using (TcpClient tcpclient = new TcpClient())
|
||||
using (System.IO.MemoryStream memoryStream = new System.IO.MemoryStream())
|
||||
{
|
||||
//client.Connect(ipEndPoint);
|
||||
|
||||
TimeOutSocket tos = new TimeOutSocket();
|
||||
client = tos.Connect(strHost, port, timeout);
|
||||
if (!client.Connected)
|
||||
{
|
||||
client.Close();
|
||||
sw.Stop();
|
||||
respinfo.code = 0;
|
||||
respinfo.isDone = true;
|
||||
respinfo.SetDoneForCantStart(0, "");
|
||||
return;
|
||||
}
|
||||
SslStream ssl = null;
|
||||
|
||||
//string requestRaw = $"GET {strRelativePath} HTTP/1.1\r\nHost: {strHost}\r\nConnection: Close\r\n\r\n";
|
||||
string request = $"GET {strURI} HTTP/1.1\r\nHost: {strHost}\r\nConnection: Close\r\n\r\n";
|
||||
|
||||
ssl = new SslStream(client.GetStream(), false, new RemoteCertificateValidationCallback(ValidateServerCertificate));
|
||||
@ -599,15 +522,9 @@ public static class AxiHttp
|
||||
ssl.Write(requestByte);
|
||||
ssl.Flush();
|
||||
}
|
||||
|
||||
|
||||
checkContentLength(ref respinfo, ref request);
|
||||
respinfo.requestRaw = request;
|
||||
byte[] temp_responseBody = new byte[singlePkgMaxRead];
|
||||
|
||||
//byte[] buffer = Encoding.ASCII.GetBytes(requestRaw);
|
||||
//client.Send(buffer);
|
||||
|
||||
string tmp = "";
|
||||
int len = 0;
|
||||
StringBuilder sb = new StringBuilder();
|
||||
@ -626,8 +543,6 @@ public static class AxiHttp
|
||||
} while (!tmp.Equals(CTRL)
|
||||
&& sw.ElapsedMilliseconds < timeout
|
||||
);
|
||||
|
||||
|
||||
respinfo.header = sb.ToString().Replace(CTRL, "");
|
||||
string[] headers = Regex.Split(respinfo.header, CT);
|
||||
if (headers != null && headers.Length > 0)
|
||||
@ -658,7 +573,6 @@ public static class AxiHttp
|
||||
{
|
||||
respinfo.requestRaw = respinfo.requestRaw.Replace(url, respinfo.headers["location"]);
|
||||
}
|
||||
//return sendHTTPRequest(count, host, port, payload, rsb.ToString(), timeout, encoding, false);
|
||||
client.Close();
|
||||
sw.Stop();
|
||||
SendAxiRequest(url, ref respinfo, timeout, encoding);
|
||||
@ -671,17 +585,16 @@ public static class AxiHttp
|
||||
{
|
||||
Log("Use Head");
|
||||
int length = int.Parse(respinfo.headers[Content_Length]);
|
||||
respinfo.NeedloadedLenght = length;
|
||||
while (respinfo.loadedLenght < length && sw.ElapsedMilliseconds < timeout)
|
||||
respinfo.needdownloadLenght = length;
|
||||
while (respinfo.loadedlenght < length && sw.ElapsedMilliseconds < timeout)
|
||||
{
|
||||
//len = ssl.Read(responseBody, respinfo.loadedLenght, length - respinfo.loadedLenght);
|
||||
int readsize = length - respinfo.loadedLenght;
|
||||
int readsize = length - respinfo.loadedlenght;
|
||||
readsize = Math.Min(readsize, singlePkgMaxRead);
|
||||
len = ssl.Read(temp_responseBody, 0, readsize);
|
||||
if (len > 0)
|
||||
{
|
||||
memoryStream.Write(temp_responseBody, 0, len);
|
||||
respinfo.loadedLenght += len;
|
||||
respinfo.loadedlenght += len;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -693,7 +606,7 @@ public static class AxiHttp
|
||||
int chunkedSize = 0;
|
||||
byte[] chunkedByte = new byte[1];
|
||||
//读取总长度
|
||||
respinfo.loadedLenght = 0;
|
||||
respinfo.loadedlenght = 0;
|
||||
do
|
||||
{
|
||||
string ctmp = "";
|
||||
@ -728,7 +641,7 @@ public static class AxiHttp
|
||||
{
|
||||
memoryStream.Write(temp_responseBody, 0, len);
|
||||
onechunkLen += len;
|
||||
respinfo.loadedLenght += len;
|
||||
respinfo.loadedlenght += len;
|
||||
}
|
||||
}
|
||||
|
||||
@ -748,13 +661,13 @@ public static class AxiHttp
|
||||
if (client.Available > 0)
|
||||
{
|
||||
//len = ssl.Read(responseBody, respinfo.loadedLenght, (1024 * 200) - respinfo.loadedLenght);
|
||||
int readsize = (1024 * 200) - respinfo.loadedLenght;
|
||||
int readsize = (1024 * 200) - respinfo.loadedlenght;
|
||||
readsize = Math.Min(readsize, singlePkgMaxRead);
|
||||
len = ssl.Read(temp_responseBody, 0, readsize);
|
||||
if (len > 0)
|
||||
{
|
||||
memoryStream.Write(temp_responseBody, 0, len);
|
||||
respinfo.loadedLenght += len;
|
||||
respinfo.loadedlenght += len;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -771,29 +684,29 @@ public static class AxiHttp
|
||||
if (respinfo.downloadMode > AxiDownLoadMode.NotDownLoad)
|
||||
{
|
||||
//判断是否gzip
|
||||
if (respinfo.isGzip)
|
||||
if (respinfo.isgzip)
|
||||
{
|
||||
respinfo.bodyRaw = unGzipBytes(responseBody, respinfo.loadedLenght);
|
||||
respinfo.bodyraw = unGzipBytes(responseBody, respinfo.loadedlenght);
|
||||
}
|
||||
else
|
||||
{
|
||||
respinfo.bodyRaw = responseBody;
|
||||
respinfo.bodyraw = responseBody;
|
||||
}
|
||||
|
||||
// 使用Uri类解析URL
|
||||
Uri uri = new Uri(url);
|
||||
respinfo.fileName = System.IO.Path.GetFileName(uri.LocalPath);
|
||||
respinfo.filename = System.IO.Path.GetFileName(uri.LocalPath);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否gzip
|
||||
if (respinfo.isGzip)
|
||||
if (respinfo.isgzip)
|
||||
{
|
||||
respinfo.body = unGzip(responseBody, respinfo.loadedLenght, encod);
|
||||
respinfo.body = unGzip(responseBody, respinfo.loadedlenght, encod);
|
||||
}
|
||||
else
|
||||
{
|
||||
respinfo.body = encod.GetString(responseBody, 0, respinfo.loadedLenght);
|
||||
respinfo.body = encod.GetString(responseBody, 0, respinfo.loadedlenght);
|
||||
}
|
||||
}
|
||||
|
||||
@ -802,27 +715,21 @@ public static class AxiHttp
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
respinfo.ErrInfo = $"ex : {ex.ToString()}";
|
||||
respinfo.errInfo = $"ex : {ex.ToString()}";
|
||||
}
|
||||
finally
|
||||
{
|
||||
client?.Close();
|
||||
sw.Stop();
|
||||
respinfo.length = respinfo.loadedLenght;
|
||||
respinfo.runTime = (int)sw.ElapsedMilliseconds;
|
||||
respinfo.bTimeOut = sw.ElapsedMilliseconds >= timeout;
|
||||
//if (socket != null)
|
||||
//{
|
||||
// clientSocket.Close();
|
||||
//}
|
||||
respinfo.isDone = true;
|
||||
respinfo.length = respinfo.loadedlenght;
|
||||
respinfo.runtime = (int)sw.ElapsedMilliseconds;
|
||||
respinfo.isTimeOut = sw.ElapsedMilliseconds >= timeout;
|
||||
respinfo.SetIsDone();
|
||||
}
|
||||
|
||||
if (client != null)
|
||||
client.Dispose();
|
||||
}
|
||||
|
||||
|
||||
private static void doHeader(ref AxiRespInfo respinfo, ref string[] headers)
|
||||
{
|
||||
|
||||
@ -832,7 +739,7 @@ public static class AxiHttp
|
||||
{
|
||||
respinfo.code = Tools.convertToInt(headers[i].Split(' ')[1]);
|
||||
if (respinfo.code != 200 && respinfo.code != 301 && respinfo.code != 302)
|
||||
respinfo.ErrInfo = "code:" + respinfo.code;
|
||||
respinfo.errInfo = "code:" + respinfo.code;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -859,7 +766,7 @@ public static class AxiHttp
|
||||
}
|
||||
}
|
||||
}
|
||||
respinfo.isGzip = respinfo.headers.ContainsKey(Content_Encoding);
|
||||
respinfo.isgzip = respinfo.headers.ContainsKey(Content_Encoding);
|
||||
}
|
||||
|
||||
}
|
||||
@ -903,7 +810,6 @@ public static class AxiHttp
|
||||
return str;
|
||||
|
||||
}
|
||||
|
||||
public static byte[] unGzipBytes(byte[] data, int len)
|
||||
{
|
||||
System.IO.MemoryStream ms = new System.IO.MemoryStream(data, 0, len);
|
||||
@ -1016,16 +922,11 @@ public static class AxiHttp
|
||||
string strRelativePathRet;
|
||||
string strIPRet;
|
||||
|
||||
/*string strProtocol = strURI.Substring(0, 7);
|
||||
if (strProtocol != "http://"
|
||||
||
|
||||
strProtocol != "https://")
|
||||
return false;*/
|
||||
|
||||
if (!strURI.ToLower().StartsWith("http://") || strURI.ToLower().StartsWith("https://"))
|
||||
// 修复URL协议检查逻辑
|
||||
string lowerUri = strURI.ToLower();
|
||||
if (!lowerUri.StartsWith("http://") && !lowerUri.StartsWith("https://"))
|
||||
return false;
|
||||
|
||||
bIsSSL = strURI.ToLower().StartsWith("https://");
|
||||
bIsSSL = lowerUri.StartsWith("https://");
|
||||
|
||||
string strLeft = strURI.Substring(7, strURI.Length - 7);
|
||||
int nIndexPort = strLeft.IndexOf(':');
|
||||
@ -1078,8 +979,6 @@ public static class AxiHttp
|
||||
strRelativePath = UrlEncode(strRelativePathRet);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public static string UrlEncode(string str)
|
||||
{
|
||||
string sb = "";
|
||||
@ -1100,15 +999,12 @@ public static class AxiHttp
|
||||
}
|
||||
return sb;
|
||||
}
|
||||
|
||||
|
||||
class Tools
|
||||
{
|
||||
public static long currentMillis()
|
||||
{
|
||||
return (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 将16进制转换成10进制
|
||||
/// </summary>
|
||||
@ -1143,8 +1039,6 @@ public static class AxiHttp
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 将字符串转换成数字,错误返回0
|
||||
/// </summary>
|
||||
@ -1164,7 +1058,6 @@ public static class AxiHttp
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
class TimeOutSocket
|
||||
{
|
||||
@ -1178,16 +1071,9 @@ public static class AxiHttp
|
||||
sw.Start();
|
||||
TimeoutObject.Reset();
|
||||
socketexception = null;
|
||||
|
||||
TcpClient tcpclient = new TcpClient();
|
||||
|
||||
//IPHostEntry hostinfo = Dns.GetHostEntry("emu.axibug.com");
|
||||
//IPAddress[] aryIP = hostinfo.AddressList;
|
||||
//host = aryIP[0].ToString();
|
||||
|
||||
Log($"BeginConnect {host}:{port} timeoutMSec=>{timeoutMSec}");
|
||||
tcpclient.BeginConnect(host, port, new AsyncCallback(CallBackMethod), tcpclient);
|
||||
|
||||
if (TimeoutObject.WaitOne(timeoutMSec, false))
|
||||
{
|
||||
if (IsConnectionSuccessful)
|
||||
@ -1232,5 +1118,4 @@ public static class AxiHttp
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -13,7 +13,6 @@ public static class AxiHttpProxy
|
||||
return new SendDownLoadProxy(AxiDownloadAsync(url));
|
||||
}
|
||||
|
||||
|
||||
public class SendWebRequestProxy
|
||||
{
|
||||
public WaitAxiRequest SendWebRequest;
|
||||
@ -52,7 +51,7 @@ public static class AxiHttpProxy
|
||||
Debug.Log($"url =>{resp.url}");
|
||||
Debug.Log($"Raw =>{resp.requestRaw}");
|
||||
Debug.Log($"code =>{resp.code}");
|
||||
Debug.Log($"respInfo.bTimeOut =>{resp.bTimeOut}");
|
||||
Debug.Log($"respInfo.bTimeOut =>{resp.isTimeOut}");
|
||||
Debug.Log($"");
|
||||
Debug.Log($"==== response ====");
|
||||
Debug.Log($"==== header ====");
|
||||
@ -64,21 +63,21 @@ public static class AxiHttpProxy
|
||||
Debug.Log($"==== body ====");
|
||||
Debug.Log($"body_text =>{resp.body}");
|
||||
Debug.Log($"body_text.Length =>{resp.body.Length}");
|
||||
Debug.Log($"bodyRaw.Length =>{resp.bodyRaw?.Length}");
|
||||
Debug.Log($"bodyRaw.Length =>{resp.bodyraw?.Length}");
|
||||
Debug.Log($"");
|
||||
Debug.Log($"==== download ====");
|
||||
Debug.Log($"downloadMode =>{resp.downloadMode}");
|
||||
Debug.Log($"respInfo.fileName =>{resp.fileName}");
|
||||
Debug.Log($"respInfo.NeedloadedLenght =>{resp.NeedloadedLenght}");
|
||||
Debug.Log($"respInfo.loadedLenght =>{resp.loadedLenght}");
|
||||
Debug.Log($"respInfo.fileName =>{resp.filename}");
|
||||
Debug.Log($"respInfo.NeedloadedLenght =>{resp.needdownloadLenght}");
|
||||
Debug.Log($"respInfo.loadedLenght =>{resp.loadedlenght}");
|
||||
if (resp.bHadErr)
|
||||
{
|
||||
Debug.LogError($"code->{resp.code} err->{resp.ErrInfo} url->{resp.url}");
|
||||
Debug.LogError($"code->{resp.code} err->{resp.errInfo} url->{resp.url}");
|
||||
}
|
||||
#else
|
||||
Debug.Log($"==== request url => { resp.url}");
|
||||
Debug.Log($"code =>{resp.code}");
|
||||
Debug.Log($"respInfo.bTimeOut =>{resp.bTimeOut}");
|
||||
Debug.Log($"respInfo.bTimeOut =>{resp.isTimeOut}");
|
||||
Debug.Log($"==== response ====");
|
||||
if (resp.downloadMode == AxiDownLoadMode.NotDownLoad)
|
||||
{
|
||||
@ -88,7 +87,7 @@ public static class AxiHttpProxy
|
||||
else
|
||||
{
|
||||
Debug.Log($"==== download ====");
|
||||
Debug.Log($"respInfo.loadedLenght =>{resp.loadedLenght}");
|
||||
Debug.Log($"respInfo.loadedLenght =>{resp.loadedlenght}");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ public class AxiHttpTest : MonoBehaviour
|
||||
|
||||
while (!request.downloadHandler.isDone)
|
||||
{
|
||||
Debug.Log($"下载进度:{request.downloadHandler.DownLoadPr} ->{request.downloadHandler.loadedLenght}/{request.downloadHandler.NeedloadedLenght}");
|
||||
Debug.Log($"下载进度:{request.downloadHandler.downLoadPr} ->{request.downloadHandler.loadedlenght}/{request.downloadHandler.needdownloadLenght}");
|
||||
yield return null;
|
||||
}
|
||||
AxiHttpProxy.ShowAxiHttpDebugInfo(request.downloadHandler);
|
||||
|
||||
@ -1,9 +1,10 @@
|
||||
using AxibugEmuOnline.Client;
|
||||
using AxibugEmuOnline.Client.ClientCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class UEGSoundPlayer : MonoBehaviour
|
||||
public class UEGSoundPlayer : MonoBehaviour, AxiAudioPull
|
||||
{
|
||||
[SerializeField]
|
||||
private AudioSource m_as;
|
||||
@ -18,32 +19,72 @@ public class UEGSoundPlayer : MonoBehaviour
|
||||
|
||||
void Awake()
|
||||
{
|
||||
// 获取当前音频配置
|
||||
AudioConfiguration config = AudioSettings.GetConfiguration();
|
||||
// 设置目标音频配置
|
||||
config.sampleRate = sampleRate; // 采样率为 44100Hz
|
||||
config.numRealVoices = 32; // 设置最大音频源数量(可选)
|
||||
config.numVirtualVoices = 512; // 设置虚拟音频源数量(可选)
|
||||
config.dspBufferSize = 1024; // 设置 DSP 缓冲区大小(可选)
|
||||
config.speakerMode = AudioSpeakerMode.Stereo; // 设置为立体声(2 声道)
|
||||
App.audioMgr.SetAudioConfig(config);
|
||||
return;
|
||||
//// 获取当前音频配置
|
||||
//AudioConfiguration config = AudioSettings.GetConfiguration();
|
||||
//// 设置目标音频配置
|
||||
//config.sampleRate = sampleRate; // 采样率为 44100Hz
|
||||
//config.numRealVoices = 32; // 设置最大音频源数量(可选)
|
||||
//config.numVirtualVoices = 512; // 设置虚拟音频源数量(可选)
|
||||
//config.dspBufferSize = 1024; // 设置 DSP 缓冲区大小(可选)
|
||||
//config.speakerMode = AudioSpeakerMode.Stereo; // 设置为立体声(2 声道)
|
||||
//App.audioMgr.SetAudioConfig(config);
|
||||
}
|
||||
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
App.audioMgr.RegisterStream(nameof(UEssgee), AudioSettings.outputSampleRate, this);
|
||||
}
|
||||
|
||||
void OnDisable()
|
||||
{
|
||||
App.audioMgr.ClearAudioData(nameof(UEssgee));
|
||||
}
|
||||
|
||||
private Queue<float> sampleQueue = new Queue<float>();
|
||||
|
||||
|
||||
// Unity 音频线程回调
|
||||
void OnAudioFilterRead(float[] data, int channels)
|
||||
public unsafe void PullAudio(float[] data, int channels)
|
||||
{
|
||||
fixed (float* pData = data)
|
||||
{
|
||||
float* outputPtr = pData; // 指向数组起始位置的指针
|
||||
int dataLength = data.Length;
|
||||
for (int i = 0; i < dataLength; i++)
|
||||
{
|
||||
float rawData;
|
||||
if (_buffer.TryRead(out rawData))
|
||||
*outputPtr = rawData;
|
||||
else
|
||||
*outputPtr = 0; // 无数据时静音
|
||||
|
||||
outputPtr++; // 指针移动到下一个位置
|
||||
}
|
||||
}
|
||||
|
||||
/* 非指针版本,代码保留
|
||||
for (int i = 0; i < data.Length; i++)
|
||||
{
|
||||
if (_buffer.TryRead(out float rawData))
|
||||
data[i] = rawData;
|
||||
else
|
||||
data[i] = 0; // ÎÞÊý¾Ýʱ¾²Òô
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
//// Unity 音频线程回调
|
||||
//void OnAudioFilterRead(float[] data, int channels)
|
||||
//{
|
||||
// for (int i = 0; i < data.Length; i++)
|
||||
// {
|
||||
// if (_buffer.TryRead(out float rawData))
|
||||
// data[i] = rawData;
|
||||
// else
|
||||
// data[i] = 0; // 无数据时静音
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
@ -72,7 +113,7 @@ public class UEGSoundPlayer : MonoBehaviour
|
||||
{
|
||||
_buffer.Write(buffer[i] / 32767.0f);
|
||||
}
|
||||
App.audioMgr.WriteToRecord(buffer, samples_a);
|
||||
//App.audioMgr.WriteToRecord(buffer, samples_a);
|
||||
}
|
||||
public void BufferWirte(int Off, byte[] Data)
|
||||
{
|
||||
@ -91,4 +132,5 @@ public class UEGSoundPlayer : MonoBehaviour
|
||||
return;
|
||||
m_as.volume = Vol;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -423,32 +423,32 @@ public static class MameSingleControllSetter
|
||||
break;
|
||||
//后续修改后 支持P3 P4
|
||||
case 2:
|
||||
singlecontrol.tg_INSERT_COIN = MotionKey.FinalKey;
|
||||
singlecontrol.tg_GAMESTART = MotionKey.FinalKey;
|
||||
singlecontrol.tg_UP = MotionKey.FinalKey;
|
||||
singlecontrol.tg_DOWN = MotionKey.FinalKey;
|
||||
singlecontrol.tg_LEFT = MotionKey.FinalKey;
|
||||
singlecontrol.tg_RIGHT = MotionKey.FinalKey;
|
||||
singlecontrol.tg_BTN_A = MotionKey.FinalKey;
|
||||
singlecontrol.tg_BTN_B = MotionKey.FinalKey;
|
||||
singlecontrol.tg_BTN_C = MotionKey.FinalKey;
|
||||
singlecontrol.tg_BTN_D = MotionKey.FinalKey;
|
||||
singlecontrol.tg_BTN_E = MotionKey.FinalKey;
|
||||
singlecontrol.tg_BTN_F = MotionKey.FinalKey;
|
||||
singlecontrol.tg_INSERT_COIN = MotionKey.P3_INSERT_COIN;
|
||||
singlecontrol.tg_GAMESTART = MotionKey.P3_GAMESTART;
|
||||
singlecontrol.tg_UP = MotionKey.P3_UP;
|
||||
singlecontrol.tg_DOWN = MotionKey.P3_DOWN;
|
||||
singlecontrol.tg_LEFT = MotionKey.P3_LEFT;
|
||||
singlecontrol.tg_RIGHT = MotionKey.P3_RIGHT;
|
||||
singlecontrol.tg_BTN_A = MotionKey.P3_BTN_1;
|
||||
singlecontrol.tg_BTN_B = MotionKey.P3_BTN_2;
|
||||
singlecontrol.tg_BTN_C = MotionKey.P3_BTN_3;
|
||||
singlecontrol.tg_BTN_D = MotionKey.P3_BTN_4;
|
||||
singlecontrol.tg_BTN_E = MotionKey.P3_BTN_5;
|
||||
singlecontrol.tg_BTN_F = MotionKey.P3_BTN_6;
|
||||
break;
|
||||
case 3:
|
||||
singlecontrol.tg_INSERT_COIN = MotionKey.FinalKey;
|
||||
singlecontrol.tg_GAMESTART = MotionKey.FinalKey;
|
||||
singlecontrol.tg_UP = MotionKey.FinalKey;
|
||||
singlecontrol.tg_DOWN = MotionKey.FinalKey;
|
||||
singlecontrol.tg_LEFT = MotionKey.FinalKey;
|
||||
singlecontrol.tg_RIGHT = MotionKey.FinalKey;
|
||||
singlecontrol.tg_BTN_A = MotionKey.FinalKey;
|
||||
singlecontrol.tg_BTN_B = MotionKey.FinalKey;
|
||||
singlecontrol.tg_BTN_C = MotionKey.FinalKey;
|
||||
singlecontrol.tg_BTN_D = MotionKey.FinalKey;
|
||||
singlecontrol.tg_BTN_E = MotionKey.FinalKey;
|
||||
singlecontrol.tg_BTN_F = MotionKey.FinalKey;
|
||||
singlecontrol.tg_INSERT_COIN = MotionKey.P4_INSERT_COIN;
|
||||
singlecontrol.tg_GAMESTART = MotionKey.P4_GAMESTART;
|
||||
singlecontrol.tg_UP = MotionKey.P4_UP;
|
||||
singlecontrol.tg_DOWN = MotionKey.P4_DOWN;
|
||||
singlecontrol.tg_LEFT = MotionKey.P4_LEFT;
|
||||
singlecontrol.tg_RIGHT = MotionKey.P4_RIGHT;
|
||||
singlecontrol.tg_BTN_A = MotionKey.P4_BTN_1;
|
||||
singlecontrol.tg_BTN_B = MotionKey.P4_BTN_2;
|
||||
singlecontrol.tg_BTN_C = MotionKey.P4_BTN_3;
|
||||
singlecontrol.tg_BTN_D = MotionKey.P4_BTN_4;
|
||||
singlecontrol.tg_BTN_E = MotionKey.P4_BTN_5;
|
||||
singlecontrol.tg_BTN_F = MotionKey.P4_BTN_6;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,8 +1,10 @@
|
||||
using AxibugEmuOnline.Client;
|
||||
using AxibugEmuOnline.Client.ClientCore;
|
||||
using MAME.Core;
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
public class UniSoundPlayer : MonoBehaviour, ISoundPlayer
|
||||
public class UniSoundPlayer : MonoBehaviour, ISoundPlayer, AxiAudioPull
|
||||
{
|
||||
[SerializeField]
|
||||
private AudioSource m_as;
|
||||
@ -13,14 +15,24 @@ public class UniSoundPlayer : MonoBehaviour, ISoundPlayer
|
||||
|
||||
void Awake()
|
||||
{
|
||||
//TODO 采样率需要更准确,而且和clip并没有关系
|
||||
var dummy = AudioClip.Create("dummy", 1, 1, AudioSettings.outputSampleRate, false);
|
||||
dummy.SetData(new float[] { 1 }, 0);
|
||||
m_as.clip = dummy; //just to let unity play the audiosource
|
||||
m_as.loop = true;
|
||||
m_as.spatialBlend = 1;
|
||||
m_as.Play();
|
||||
////TODO 采样率需要更准确,而且和clip并没有关系
|
||||
//var dummy = AudioClip.Create("dummy", 1, 1, AudioSettings.outputSampleRate, false);
|
||||
//dummy.SetData(new float[] { 1 }, 0);
|
||||
//m_as.clip = dummy; //just to let unity play the audiosource
|
||||
//m_as.loop = true;
|
||||
//m_as.spatialBlend = 1;
|
||||
//m_as.Play();
|
||||
}
|
||||
private void OnEnable()
|
||||
{
|
||||
App.audioMgr.RegisterStream(nameof(UMAME), AudioSettings.outputSampleRate, this);
|
||||
}
|
||||
|
||||
void OnDisable()
|
||||
{
|
||||
App.audioMgr.ClearAudioData(nameof(UMAME));
|
||||
}
|
||||
|
||||
public void GetAudioParams(out int frequency, out int channels)
|
||||
{
|
||||
frequency = m_as.clip.samples;
|
||||
@ -38,12 +50,62 @@ public class UniSoundPlayer : MonoBehaviour, ISoundPlayer
|
||||
public void StopPlay()
|
||||
{
|
||||
if (m_as.isPlaying)
|
||||
{
|
||||
{
|
||||
m_as.Stop();
|
||||
}
|
||||
}
|
||||
|
||||
void OnAudioFilterRead(float[] data, int channels)
|
||||
public unsafe void PullAudio(float[] data, int channels)
|
||||
{
|
||||
if (!UMAME.bInGame) return;
|
||||
|
||||
fixed (float* pData = data)
|
||||
{
|
||||
float* outputPtr = pData; // 指向数组起始位置的指针
|
||||
int dataLength = data.Length;
|
||||
|
||||
for (int i = 0; i < dataLength; i += channels)
|
||||
{
|
||||
float rawFloat = lastData;
|
||||
float rawData;
|
||||
|
||||
if (_buffer.TryRead(out rawData))
|
||||
{
|
||||
rawFloat = rawData;
|
||||
}
|
||||
|
||||
*outputPtr = rawFloat;
|
||||
outputPtr++; // 指针移动到下一个位置
|
||||
|
||||
// 填充剩余声道(模拟立体声或多声道)
|
||||
for (int fill = 1; fill < channels; fill++)
|
||||
{
|
||||
*outputPtr = rawFloat;
|
||||
outputPtr++; // 指针移动到下一个位置
|
||||
}
|
||||
|
||||
lastData = rawFloat;
|
||||
}
|
||||
}
|
||||
|
||||
/* 非指针版本,代码保留
|
||||
int step = channels;
|
||||
for (int i = 0; i < data.Length; i += step)
|
||||
{
|
||||
float rawFloat = lastData;
|
||||
float rawData;
|
||||
if (_buffer.TryRead(out rawData))
|
||||
{
|
||||
rawFloat = rawData;
|
||||
}
|
||||
|
||||
data[i] = rawFloat;
|
||||
for (int fill = 1; fill < step; fill++)
|
||||
data[i + fill] = rawFloat;
|
||||
lastData = rawFloat;
|
||||
}*/
|
||||
}
|
||||
/*void OnAudioFilterRead(float[] data, int channels)
|
||||
{
|
||||
if (!UMAME.bInGame) return;
|
||||
int step = channels;
|
||||
@ -61,7 +123,7 @@ public class UniSoundPlayer : MonoBehaviour, ISoundPlayer
|
||||
data[i + fill] = rawFloat;
|
||||
lastData = rawFloat;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
public void SubmitSamples(byte[] buffer, int samples_a)
|
||||
{
|
||||
@ -96,4 +158,5 @@ public class UniSoundPlayer : MonoBehaviour, ISoundPlayer
|
||||
return;
|
||||
m_as.volume = Vol;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -4,7 +4,7 @@ using VirtualNes.Core;
|
||||
|
||||
namespace AxibugEmuOnline.Client
|
||||
{
|
||||
public class AudioProvider : MonoBehaviour
|
||||
public class AudioProvider : MonoBehaviour, AxiAudioPull
|
||||
{
|
||||
public NesEmulator NesEmu { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ namespace AxibugEmuOnline.Client
|
||||
private SoundBuffer _buffer = new SoundBuffer(4096);
|
||||
public void Start()
|
||||
{
|
||||
|
||||
return;
|
||||
//// 获取当前音频配置
|
||||
//AudioConfiguration config = AudioSettings.GetConfiguration();
|
||||
//// 设置目标音频配置
|
||||
@ -25,22 +25,33 @@ namespace AxibugEmuOnline.Client
|
||||
//config.speakerMode = AudioSpeakerMode.Stereo; // 设置为立体声(2 声道)
|
||||
//App.audioMgr.SetAudioConfig(new AudioConfiguration());
|
||||
|
||||
//TODO 采样率需要更准确,而且和clip并没有关系
|
||||
var dummy = AudioClip.Create("dummy", 1, 1, AudioSettings.outputSampleRate, false);
|
||||
dummy.SetData(new float[] { 1 }, 0);
|
||||
m_as.clip = dummy; //just to let unity play the audiosource
|
||||
m_as.loop = true;
|
||||
m_as.spatialBlend = 1;
|
||||
m_as.Play();
|
||||
////TODO 采样率需要更准确,而且和clip并没有关系
|
||||
//var dummy = AudioClip.Create("dummy", 1, 1, AudioSettings.outputSampleRate, false);
|
||||
//dummy.SetData(new float[] { 1 }, 0);
|
||||
//m_as.clip = dummy; //just to let unity play the audiosource
|
||||
//m_as.loop = true;
|
||||
//m_as.spatialBlend = 1;
|
||||
//m_as.Play();
|
||||
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
App.audioMgr.RegisterStream(nameof(NesEmulator), AudioSettings.outputSampleRate, this);
|
||||
}
|
||||
|
||||
void OnDisable()
|
||||
{
|
||||
App.audioMgr.ClearAudioData(nameof(NesEmulator));
|
||||
}
|
||||
|
||||
public void GetAudioParams(out int frequency, out int channels)
|
||||
{
|
||||
frequency = m_as.clip.samples;
|
||||
channels = m_as.clip.channels;
|
||||
}
|
||||
|
||||
void OnAudioFilterRead(float[] data, int channels)
|
||||
public unsafe void PullAudio(float[] data, int channels)
|
||||
{
|
||||
int step = channels;
|
||||
|
||||
@ -49,6 +60,29 @@ namespace AxibugEmuOnline.Client
|
||||
|
||||
ProcessSound(NesEmu.NesCore, (uint)(data.Length / channels));
|
||||
|
||||
fixed (float* pData = data)
|
||||
{
|
||||
float* outputPtr = pData; // 指向 data 数组起始位置的指针
|
||||
int dataLength = data.Length;
|
||||
for (int i = 0; i < dataLength; i += step)
|
||||
{
|
||||
byte rawData;
|
||||
float rawFloat = 0f;
|
||||
if (_buffer.TryRead(out rawData))
|
||||
rawFloat = rawData / 255f;
|
||||
|
||||
*outputPtr = rawFloat;
|
||||
outputPtr++; //指针移动到下一个位置
|
||||
|
||||
for (int fill = 1; fill < step; fill++)
|
||||
{
|
||||
*outputPtr = rawFloat;
|
||||
outputPtr++; //指针移动到下一个位置
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 非指针版本,代码保留
|
||||
for (int i = 0; i < data.Length; i += step)
|
||||
{
|
||||
float rawFloat = 0;
|
||||
@ -59,13 +93,36 @@ namespace AxibugEmuOnline.Client
|
||||
data[i] = rawFloat;
|
||||
for (int fill = 1; fill < step; fill++)
|
||||
data[i + fill] = rawFloat;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
//void OnAudioFilterRead(float[] data, int channels)
|
||||
//{
|
||||
// int step = channels;
|
||||
|
||||
// if (NesEmu == null || NesEmu.NesCore == null) return;
|
||||
// if (NesEmu.IsPause) return;
|
||||
|
||||
// ProcessSound(NesEmu.NesCore, (uint)(data.Length / channels));
|
||||
|
||||
// for (int i = 0; i < data.Length; i += step)
|
||||
// {
|
||||
// float rawFloat = 0;
|
||||
// byte rawData;
|
||||
// if (_buffer.TryRead(out rawData))
|
||||
// rawFloat = rawData / 255f;
|
||||
|
||||
// data[i] = rawFloat;
|
||||
// for (int fill = 1; fill < step; fill++)
|
||||
// data[i + fill] = rawFloat;
|
||||
// }
|
||||
//}
|
||||
|
||||
void ProcessSound(NES nes, uint feedCount)
|
||||
{
|
||||
nes.apu.Process(_buffer, feedCount);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,8 +1,10 @@
|
||||
using AxibugEmuOnline.Client;
|
||||
using AxibugEmuOnline.Client.ClientCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class SGSoundPlayer : MonoBehaviour//, ISoundPlayer
|
||||
public class SGSoundPlayer : MonoBehaviour, AxiAudioPull
|
||||
{
|
||||
[SerializeField]
|
||||
private AudioSource m_as;
|
||||
@ -18,44 +20,82 @@ public class SGSoundPlayer : MonoBehaviour//, ISoundPlayer
|
||||
|
||||
void Awake()
|
||||
{
|
||||
// 获取当前音频配置
|
||||
AudioConfiguration config = AudioSettings.GetConfiguration();
|
||||
return;
|
||||
//// 获取当前音频配置
|
||||
//AudioConfiguration config = AudioSettings.GetConfiguration();
|
||||
|
||||
// 设置目标音频配置
|
||||
config.sampleRate = 44100; // 采样率为 44100Hz
|
||||
config.numRealVoices = 32; // 设置最大音频源数量(可选)
|
||||
config.numVirtualVoices = 512; // 设置虚拟音频源数量(可选)
|
||||
config.dspBufferSize = 1024; // 设置 DSP 缓冲区大小(可选)
|
||||
config.speakerMode = AudioSpeakerMode.Stereo; // 设置为立体声(2 声道)
|
||||
//// 设置目标音频配置
|
||||
//config.sampleRate = 44100; // 采样率为 44100Hz
|
||||
//config.numRealVoices = 32; // 设置最大音频源数量(可选)
|
||||
//config.numVirtualVoices = 512; // 设置虚拟音频源数量(可选)
|
||||
//config.dspBufferSize = 1024; // 设置 DSP 缓冲区大小(可选)
|
||||
//config.speakerMode = AudioSpeakerMode.Stereo; // 设置为立体声(2 声道)
|
||||
|
||||
// 应用新的音频配置
|
||||
if (AudioSettings.Reset(config))
|
||||
{
|
||||
Debug.Log("Audio settings updated successfully.");
|
||||
Debug.Log("Sample Rate: " + config.sampleRate + "Hz");
|
||||
Debug.Log("Speaker Mode: " + config.speakerMode);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError("Failed to update audio settings.");
|
||||
}
|
||||
//// 应用新的音频配置
|
||||
//if (AudioSettings.Reset(config))
|
||||
//{
|
||||
// Debug.Log("Audio settings updated successfully.");
|
||||
// Debug.Log("Sample Rate: " + config.sampleRate + "Hz");
|
||||
// Debug.Log("Speaker Mode: " + config.speakerMode);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// Debug.LogError("Failed to update audio settings.");
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
App.audioMgr.RegisterStream(nameof(UStoicGoose), AudioSettings.outputSampleRate, this);
|
||||
}
|
||||
|
||||
void OnDisable()
|
||||
{
|
||||
App.audioMgr.ClearAudioData(nameof(UStoicGoose));
|
||||
}
|
||||
|
||||
private Queue<float> sampleQueue = new Queue<float>();
|
||||
|
||||
|
||||
// Unity 音频线程回调
|
||||
void OnAudioFilterRead(float[] data, int channels)
|
||||
public unsafe void PullAudio(float[] data, int channels)
|
||||
{
|
||||
fixed (float* pData = data)
|
||||
{
|
||||
float* outputPtr = pData; // 指向数组起始位置的指针
|
||||
int dataLength = data.Length;
|
||||
for (int i = 0; i < dataLength; i++)
|
||||
{
|
||||
float rawData;
|
||||
if (_buffer.TryRead(out rawData))
|
||||
*outputPtr = rawData;
|
||||
else
|
||||
*outputPtr = 0; // 无数据时静音
|
||||
|
||||
outputPtr++; // 指针移动到下一个位置
|
||||
}
|
||||
}
|
||||
|
||||
/* 非指针版本,代码保留
|
||||
for (int i = 0; i < data.Length; i++)
|
||||
{
|
||||
if (_buffer.TryRead(out float rawData))
|
||||
data[i] = rawData;
|
||||
else
|
||||
data[i] = 0; // 无数据时静音
|
||||
}
|
||||
}*/
|
||||
}
|
||||
//// Unity 音频线程回调
|
||||
//void OnAudioFilterRead(float[] data, int channels)
|
||||
//{
|
||||
// for (int i = 0; i < data.Length; i++)
|
||||
// {
|
||||
// if (_buffer.TryRead(out float rawData))
|
||||
// data[i] = rawData;
|
||||
// else
|
||||
// data[i] = 0; // 无数据时静音
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
public void Initialize()
|
||||
|
||||
@ -92,5 +92,9 @@
|
||||
/// 网络即时存档删除
|
||||
/// </summary>
|
||||
OnNetGameSavDeleted,
|
||||
/// <summary>
|
||||
/// 核心开始游戏
|
||||
/// </summary>
|
||||
OnEmuBeginGame,
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,15 @@
|
||||
using UnityEngine;
|
||||
using AxibugEmuOnline.Client;
|
||||
using AxibugEmuOnline.Client.ClientCore;
|
||||
using UnityEngine;
|
||||
|
||||
public class GlobalRef : MonoBehaviour
|
||||
{
|
||||
public CanvasGroup FilterPreview;
|
||||
public CanvasGroup XMBBg;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
//初始化后第一时间播放开机音效
|
||||
App.audioMgr.PlaySFX(AudioMgr.E_SFXTYPE.Launch);
|
||||
}
|
||||
}
|
||||
|
||||
@ -77,6 +77,7 @@ namespace AxibugEmuOnline.Client.Manager
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
var result = m_emuCore.StartGame(romFile);
|
||||
if (result)
|
||||
{
|
||||
@ -98,6 +99,7 @@ namespace AxibugEmuOnline.Client.Manager
|
||||
StopGame();
|
||||
OverlayManager.PopTip(result);
|
||||
}
|
||||
Eventer.Instance.PostEvent(EEvent.OnEmuBeginGame);
|
||||
}
|
||||
|
||||
private void OnSlotDataChanged()
|
||||
|
||||
@ -51,7 +51,7 @@ namespace AxibugEmuOnline.Client.Settings
|
||||
{
|
||||
//获得激活的滤镜
|
||||
Filter activeFilter = null;
|
||||
foreach (var filter in Filters)
|
||||
foreach (var filter in m_filters)
|
||||
{
|
||||
if (!filter.m_setting.Enable) continue;
|
||||
activeFilter = filter;
|
||||
@ -83,13 +83,16 @@ namespace AxibugEmuOnline.Client.Settings
|
||||
renderGraphic.texture = result;
|
||||
}
|
||||
|
||||
// 获取 RawImage 在屏幕上的四个顶点的世界坐标
|
||||
Vector3[] corners = new Vector3[4];
|
||||
Vector2 GetRawImageScreenResolution(RawImage rawImage)
|
||||
{
|
||||
// 获取 RawImage 的 RectTransform
|
||||
RectTransform rectTransform = rawImage.rectTransform;
|
||||
|
||||
// 获取 RawImage 在屏幕上的四个顶点的世界坐标
|
||||
Vector3[] corners = new Vector3[4];
|
||||
for (int i = 0; i < corners.Length; i++)
|
||||
{
|
||||
corners[0] = Vector3.zero;
|
||||
}
|
||||
rectTransform.GetWorldCorners(corners);
|
||||
|
||||
// 左下角和右上角的屏幕坐标
|
||||
@ -124,7 +127,7 @@ namespace AxibugEmuOnline.Client.Settings
|
||||
/// <param name="filter"></param>
|
||||
public void EnableFilter(Filter filter)
|
||||
{
|
||||
foreach (var selfFiler in Filters)
|
||||
foreach (var selfFiler in m_filters)
|
||||
{
|
||||
if (selfFiler != filter) selfFiler.m_setting.Enable = false;
|
||||
else selfFiler.m_setting.Enable = true;
|
||||
@ -137,7 +140,7 @@ namespace AxibugEmuOnline.Client.Settings
|
||||
public void ShutDownFilter()
|
||||
{
|
||||
//关闭所有后处理效果
|
||||
foreach (var filter in Filters)
|
||||
foreach (var filter in m_filters)
|
||||
filter.m_setting.Enable = false;
|
||||
}
|
||||
|
||||
|
||||
@ -148,6 +148,25 @@ namespace AxibugEmuOnline.Client.Settings
|
||||
controller.SetBinding(EssgeeSingleKey.RIGHT, device.JOYSTICK.Right, 1);
|
||||
}
|
||||
|
||||
public override void Bind(StandaloneSwitchProController_D device, ControllerBinder controller)
|
||||
{
|
||||
controller.SetBinding(EssgeeSingleKey.OPTION_1, device.Plus, 0);
|
||||
controller.SetBinding(EssgeeSingleKey.OPTION_2, device.Minus, 0);
|
||||
controller.SetBinding(EssgeeSingleKey.UP, device.Up, 0);
|
||||
controller.SetBinding(EssgeeSingleKey.DOWN, device.Down, 0);
|
||||
controller.SetBinding(EssgeeSingleKey.LEFT, device.Left, 0);
|
||||
controller.SetBinding(EssgeeSingleKey.RIGHT, device.Right, 0);
|
||||
controller.SetBinding(EssgeeSingleKey.BTN_1, device.A, 0);
|
||||
controller.SetBinding(EssgeeSingleKey.BTN_2, device.B, 0);
|
||||
controller.SetBinding(EssgeeSingleKey.BTN_3, device.X, 0);
|
||||
controller.SetBinding(EssgeeSingleKey.BTN_4, device.Y, 0);
|
||||
|
||||
controller.SetBinding(EssgeeSingleKey.UP, device.LeftStick.Up, 1);
|
||||
controller.SetBinding(EssgeeSingleKey.DOWN, device.LeftStick.Down, 1);
|
||||
controller.SetBinding(EssgeeSingleKey.LEFT, device.LeftStick.Left, 1);
|
||||
controller.SetBinding(EssgeeSingleKey.RIGHT, device.LeftStick.Right, 1);
|
||||
}
|
||||
|
||||
public override void Bind(SwitchJoyCon_D device, ControllerBinder controller)
|
||||
{
|
||||
controller.SetBinding(EssgeeSingleKey.OPTION_1, device.Plus, 0);
|
||||
|
||||
@ -159,6 +159,26 @@ namespace AxibugEmuOnline.Client.Settings
|
||||
controller.SetBinding(UMAMEKSingleKey.RIGHT, device.JOYSTICK.Right, 1);
|
||||
}
|
||||
|
||||
public override void Bind(StandaloneSwitchProController_D device, ControllerBinder controller)
|
||||
{
|
||||
controller.SetBinding(UMAMEKSingleKey.INSERT_COIN, device.Minus, 0);
|
||||
controller.SetBinding(UMAMEKSingleKey.GAMESTART, device.Plus, 0);
|
||||
controller.SetBinding(UMAMEKSingleKey.UP, device.Up, 0);
|
||||
controller.SetBinding(UMAMEKSingleKey.DOWN, device.Down, 0);
|
||||
controller.SetBinding(UMAMEKSingleKey.LEFT, device.Left, 0);
|
||||
controller.SetBinding(UMAMEKSingleKey.RIGHT, device.Right, 0);
|
||||
controller.SetBinding(UMAMEKSingleKey.BTN_A, device.B, 0);
|
||||
controller.SetBinding(UMAMEKSingleKey.BTN_B, device.A, 0);
|
||||
controller.SetBinding(UMAMEKSingleKey.BTN_C, device.X, 0);
|
||||
controller.SetBinding(UMAMEKSingleKey.BTN_D, device.Y, 0);
|
||||
controller.SetBinding(UMAMEKSingleKey.BTN_E, device.LeftSL, 0);
|
||||
controller.SetBinding(UMAMEKSingleKey.BTN_F, device.RightSL, 0);
|
||||
|
||||
controller.SetBinding(UMAMEKSingleKey.UP, device.LeftStick.Up, 1);
|
||||
controller.SetBinding(UMAMEKSingleKey.DOWN, device.LeftStick.Down, 1);
|
||||
controller.SetBinding(UMAMEKSingleKey.LEFT, device.LeftStick.Left, 1);
|
||||
controller.SetBinding(UMAMEKSingleKey.RIGHT, device.LeftStick.Right, 1);
|
||||
}
|
||||
public override void Bind(SwitchJoyCon_D device, ControllerBinder controller)
|
||||
{
|
||||
controller.SetBinding(UMAMEKSingleKey.INSERT_COIN, device.Minus, 0);
|
||||
|
||||
@ -18,6 +18,7 @@ public abstract class EmuCoreBinder<T> : InternalEmuCoreBinder,
|
||||
IDeviceBinder<T, XboxController_D>,
|
||||
IDeviceBinder<T, PSVController_D>,
|
||||
IDeviceBinder<T, ScreenGamepad_D>,
|
||||
IDeviceBinder<T, StandaloneSwitchProController_D>,
|
||||
IDeviceBinder<T, SwitchJoyCon_D>
|
||||
where T : Enum
|
||||
{
|
||||
@ -101,6 +102,7 @@ public abstract class EmuCoreBinder<T> : InternalEmuCoreBinder,
|
||||
else if (device is XboxController_D xbC) Bind(xbC, binding);
|
||||
else if (device is PSVController_D psvC) Bind(psvC, binding);
|
||||
else if (device is ScreenGamepad_D screenGamepad) Bind(screenGamepad, binding);
|
||||
else if (device is StandaloneSwitchProController_D standaloneswitchproC) Bind(standaloneswitchproC, binding);
|
||||
else if (device is SwitchJoyCon_D nsJoyCon) Bind(nsJoyCon, binding);
|
||||
else throw new NotImplementedException($"{device.GetType()}");
|
||||
}
|
||||
@ -285,7 +287,7 @@ public abstract class EmuCoreBinder<T> : InternalEmuCoreBinder,
|
||||
}
|
||||
|
||||
private List<InputControl_C> m_caches = new List<InputControl_C>();
|
||||
public IEnumerable<InputControl_C> GetBinding(T emuBtn)
|
||||
public List<InputControl_C> GetBinding(T emuBtn)
|
||||
{
|
||||
m_caches.Clear();
|
||||
|
||||
@ -324,5 +326,6 @@ public abstract class EmuCoreBinder<T> : InternalEmuCoreBinder,
|
||||
public abstract void Bind(XboxController_D device, ControllerBinder controller);
|
||||
public abstract void Bind(PSVController_D device, ControllerBinder controller);
|
||||
public abstract void Bind(ScreenGamepad_D device, ControllerBinder controller);
|
||||
public abstract void Bind(StandaloneSwitchProController_D device, ControllerBinder controller);
|
||||
public abstract void Bind(SwitchJoyCon_D device, ControllerBinder controller);
|
||||
}
|
||||
@ -121,6 +121,25 @@ namespace AxibugEmuOnline.Client.Settings
|
||||
controller.SetBinding(EnumButtonType.UP, device.JOYSTICK.Up, 1);
|
||||
controller.SetBinding(EnumButtonType.DOWN, device.JOYSTICK.Down, 1);
|
||||
}
|
||||
|
||||
public override void Bind(StandaloneSwitchProController_D device, ControllerBinder controller)
|
||||
{
|
||||
controller.SetBinding(EnumButtonType.LEFT, device.Left, 0);
|
||||
controller.SetBinding(EnumButtonType.RIGHT, device.Right, 0);
|
||||
controller.SetBinding(EnumButtonType.UP, device.Up, 0);
|
||||
controller.SetBinding(EnumButtonType.DOWN, device.Down, 0);
|
||||
controller.SetBinding(EnumButtonType.A, device.A, 0);
|
||||
controller.SetBinding(EnumButtonType.B, device.B, 0);
|
||||
controller.SetBinding(EnumButtonType.SELECT, device.Minus, 0);
|
||||
controller.SetBinding(EnumButtonType.START, device.Plus, 0);
|
||||
controller.SetBinding(EnumButtonType.MIC, device.RightSL, 0);
|
||||
|
||||
controller.SetBinding(EnumButtonType.LEFT, device.LeftStick.Left, 1);
|
||||
controller.SetBinding(EnumButtonType.RIGHT, device.LeftStick.Right, 1);
|
||||
controller.SetBinding(EnumButtonType.UP, device.LeftStick.Up, 1);
|
||||
controller.SetBinding(EnumButtonType.DOWN, device.LeftStick.Down, 1);
|
||||
}
|
||||
|
||||
public override void Bind(SwitchJoyCon_D device, ControllerBinder controller)
|
||||
{
|
||||
controller.SetBinding(EnumButtonType.LEFT, device.Left, 0);
|
||||
|
||||
@ -125,6 +125,21 @@ namespace AxibugEmuOnline.Client.Settings
|
||||
controller.SetBinding(StoicGooseKey.A, device.BTN_B, 0);
|
||||
}
|
||||
|
||||
public override void Bind(StandaloneSwitchProController_D device, ControllerBinder controller)
|
||||
{
|
||||
controller.SetBinding(StoicGooseKey.Start, device.Plus, 0);
|
||||
controller.SetBinding(StoicGooseKey.X1, device.Up, 0);
|
||||
controller.SetBinding(StoicGooseKey.X2, device.Down, 0);
|
||||
controller.SetBinding(StoicGooseKey.X3, device.Left, 0);
|
||||
controller.SetBinding(StoicGooseKey.X4, device.Right, 0);
|
||||
controller.SetBinding(StoicGooseKey.Y1, device.RightStick.Up, 0);
|
||||
controller.SetBinding(StoicGooseKey.Y2, device.RightStick.Down, 0);
|
||||
controller.SetBinding(StoicGooseKey.Y3, device.RightStick.Left, 0);
|
||||
controller.SetBinding(StoicGooseKey.Y4, device.RightStick.Right, 0);
|
||||
controller.SetBinding(StoicGooseKey.B, device.A, 0);
|
||||
controller.SetBinding(StoicGooseKey.A, device.B, 0);
|
||||
}
|
||||
|
||||
public override void Bind(SwitchJoyCon_D device, ControllerBinder controller)
|
||||
{
|
||||
controller.SetBinding(StoicGooseKey.Start, device.Plus, 0);
|
||||
|
||||
@ -142,7 +142,7 @@ namespace AxibugEmuOnline.Client
|
||||
case 0:
|
||||
controller.SetBinding(EnumCommand.Back, device.BTN_A, 0);
|
||||
controller.SetBinding(EnumCommand.Enter, device.BTN_B, 0);
|
||||
controller.SetBinding(EnumCommand.OptionMenu, device.OPTION_1, 0);
|
||||
controller.SetBinding(EnumCommand.OptionMenu, device.HOME, 0);
|
||||
controller.SetBinding(EnumCommand.SelectItemDown, device.DOWN, 0);
|
||||
controller.SetBinding(EnumCommand.SelectItemLeft, device.LEFT, 0);
|
||||
controller.SetBinding(EnumCommand.SelectItemRight, device.RIGHT, 0);
|
||||
@ -158,6 +158,29 @@ namespace AxibugEmuOnline.Client
|
||||
break;
|
||||
}
|
||||
}
|
||||
public override void Bind(StandaloneSwitchProController_D device, ControllerBinder controller)
|
||||
{
|
||||
switch (controller.ControllerIndex)
|
||||
{
|
||||
case 0://设置标准UI控制
|
||||
controller.SetBinding(EnumCommand.Back, device.B, 0);
|
||||
controller.SetBinding(EnumCommand.Enter, device.A, 0);
|
||||
controller.SetBinding(EnumCommand.OptionMenu, device.Plus, 0);
|
||||
controller.SetBinding(EnumCommand.SelectItemDown, device.Down, 0);
|
||||
controller.SetBinding(EnumCommand.SelectItemLeft, device.Left, 0);
|
||||
controller.SetBinding(EnumCommand.SelectItemRight, device.Right, 0);
|
||||
controller.SetBinding(EnumCommand.SelectItemUp, device.Up, 0);
|
||||
|
||||
controller.SetBinding(EnumCommand.SelectItemDown, device.LeftStick.Down, 1);
|
||||
controller.SetBinding(EnumCommand.SelectItemLeft, device.LeftStick.Left, 1);
|
||||
controller.SetBinding(EnumCommand.SelectItemRight, device.LeftStick.Right, 1);
|
||||
controller.SetBinding(EnumCommand.SelectItemUp, device.LeftStick.Up, 1);
|
||||
break;
|
||||
case 1://游戏中UI控制
|
||||
controller.SetBinding(EnumCommand.OptionMenu, device.RightStickPress, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
public override void Bind(SwitchJoyCon_D device, ControllerBinder controller)
|
||||
{
|
||||
switch (controller.ControllerIndex)
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
using AxibugProtobuf;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
@ -9,13 +10,25 @@ namespace AxibugEmuOnline.Client.Settings
|
||||
/// </summary>
|
||||
public class ScreenScaler
|
||||
{
|
||||
string key_GlobalMode = nameof(ScreenScaler) + ".GlobalMode";
|
||||
Dictionary<RomPlatformType, string> cache_PlatMode = new Dictionary<RomPlatformType, string>();
|
||||
string get_key_PlatMode(RomPlatformType platform) {
|
||||
if (cache_PlatMode.ContainsKey(platform))
|
||||
return cache_PlatMode[platform];
|
||||
string val = nameof(ScreenScaler)+".PlatMode." + platform;
|
||||
cache_PlatMode[platform] = val;
|
||||
return val;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 全局设置的缩放模式
|
||||
/// </summary>
|
||||
public EnumScalerMode GlobalMode
|
||||
{
|
||||
get => (EnumScalerMode)AxiPlayerPrefs.GetInt($"{nameof(ScreenScaler)}.GlobalMode", 0);
|
||||
set => AxiPlayerPrefs.SetInt($"{nameof(ScreenScaler)}.GlobalMode", (int)value);
|
||||
//get => (EnumScalerMode)AxiPlayerPrefs.GetInt($"{nameof(ScreenScaler)}.GlobalMode", 0);
|
||||
//set => AxiPlayerPrefs.SetInt($"{nameof(ScreenScaler)}.GlobalMode", (int)value);
|
||||
get => (EnumScalerMode)AxiPlayerPrefs.GetInt(key_GlobalMode, 0);
|
||||
set => AxiPlayerPrefs.SetInt(key_GlobalMode, (int)value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -25,7 +38,7 @@ namespace AxibugEmuOnline.Client.Settings
|
||||
/// <returns></returns>
|
||||
public EnumScalerMode GetMode(RomPlatformType platform)
|
||||
{
|
||||
int setVal = AxiPlayerPrefs.GetInt($"{nameof(ScreenScaler)}.PlatMode.{platform}", -1);
|
||||
int setVal = AxiPlayerPrefs.GetInt(get_key_PlatMode(platform), -1);
|
||||
if (setVal == -1)
|
||||
return GlobalMode;
|
||||
else
|
||||
@ -34,14 +47,14 @@ namespace AxibugEmuOnline.Client.Settings
|
||||
|
||||
public bool IsSetMode(RomPlatformType platform)
|
||||
{
|
||||
int setVal = AxiPlayerPrefs.GetInt($"{nameof(ScreenScaler)}.PlatMode.{platform}", -1);
|
||||
int setVal = AxiPlayerPrefs.GetInt(get_key_PlatMode(platform), -1);
|
||||
return setVal != -1;
|
||||
}
|
||||
|
||||
public void SetMode(RomPlatformType platform, EnumScalerMode? mode)
|
||||
{
|
||||
int setVal = mode == null ? -1 : (int)mode;
|
||||
AxiPlayerPrefs.SetInt($"{nameof(ScreenScaler)}.PlatMode.{platform}", setVal);
|
||||
AxiPlayerPrefs.SetInt(get_key_PlatMode(platform), setVal);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -28,18 +28,9 @@ namespace AxibugEmuOnline.Client
|
||||
if (!string.IsNullOrEmpty(searchKey))
|
||||
{
|
||||
string oldsearch = searchKey;
|
||||
//searchKey = System.Net.WebUtility.UrlEncode(searchKey);
|
||||
searchKey = AxiHttp.UrlEncode(searchKey);
|
||||
App.log.Info($"search->{oldsearch} ->{searchKey}");
|
||||
//searchKey = HttpUtility.UrlDecode(searchKey);
|
||||
}
|
||||
//避免特殊字符和个别文字编码问题
|
||||
//byte[] gb2312Bytes = Encoding.Default.GetBytes(searchKey);
|
||||
//byte[] utf8Bytes = Encoding.Convert(Encoding.Default, Encoding.UTF8, gb2312Bytes);
|
||||
//// 将UTF-8编码的字节数组转换回字符串(此时是UTF-8编码的字符串)
|
||||
//string utf8String = Encoding.UTF8.GetString(utf8Bytes);
|
||||
//searchKey = UrlEncode(utf8String);
|
||||
//App.log.Info($"search->{utf8String} ->{searchKey}");
|
||||
string url = $"{WebSiteApi}/RomList?Page={page}&PageSize={pageSize}&PType={(int)platform}&SearchKey={searchKey}&Token={App.user.Token}";
|
||||
App.log.Info($"GetRomList=>{url}");
|
||||
AxiHttpProxy.SendWebRequestProxy request = AxiHttpProxy.Get(url);
|
||||
@ -57,19 +48,8 @@ namespace AxibugEmuOnline.Client
|
||||
yield break;
|
||||
}
|
||||
|
||||
App.log.Error(request.downloadHandler.ErrInfo);
|
||||
App.log.Error(request.downloadHandler.errInfo);
|
||||
callback.Invoke(page, null);
|
||||
|
||||
/*
|
||||
UnityWebRequest request = UnityWebRequest.Get($"{WebSiteApi}/NesRomList?Page={page}&PageSize={pageSize}&SearchKey={searchKey}");
|
||||
yield return request.SendWebRequest();
|
||||
|
||||
if (request.result != UnityWebRequest.Result.Success)
|
||||
{
|
||||
callback.Invoke(null);
|
||||
yield break;
|
||||
}*/
|
||||
|
||||
}
|
||||
private IEnumerator GetRomListFlow(AxibugProtobuf.RomPlatformType platform, int page, int pageSize, Action<int, Resp_GameList> callback)
|
||||
{
|
||||
@ -91,18 +71,8 @@ namespace AxibugEmuOnline.Client
|
||||
yield break;
|
||||
}
|
||||
|
||||
App.log.Error(request.downloadHandler.ErrInfo);
|
||||
App.log.Error(request.downloadHandler.errInfo);
|
||||
callback.Invoke(page, null);
|
||||
/*
|
||||
UnityWebRequest request = UnityWebRequest.Get($"{WebSiteApi}/NesRomList?Page={page}&PageSize={pageSize}");
|
||||
yield return request.SendWebRequest();
|
||||
|
||||
if (request.result != UnityWebRequest.Result.Success)
|
||||
{
|
||||
callback.Invoke(null);
|
||||
yield break;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
public void GetMarkList(Action<int, Resp_GameList> callback, AxibugProtobuf.RomPlatformType platform, int page, int pageSize = 10)
|
||||
@ -147,7 +117,7 @@ namespace AxibugEmuOnline.Client
|
||||
yield break;
|
||||
}
|
||||
|
||||
App.log.Error(request.downloadHandler.ErrInfo);
|
||||
App.log.Error(request.downloadHandler.errInfo);
|
||||
callback.Invoke(page, null);
|
||||
|
||||
/*
|
||||
@ -181,7 +151,7 @@ namespace AxibugEmuOnline.Client
|
||||
yield break;
|
||||
}
|
||||
|
||||
App.log.Error(request.downloadHandler.ErrInfo);
|
||||
App.log.Error(request.downloadHandler.errInfo);
|
||||
callback.Invoke(page, null);
|
||||
/*
|
||||
UnityWebRequest request = UnityWebRequest.Get($"{WebSiteApi}/NesRomList?Page={page}&PageSize={pageSize}");
|
||||
@ -215,7 +185,7 @@ namespace AxibugEmuOnline.Client
|
||||
yield break;
|
||||
}
|
||||
|
||||
App.log.Error(request.downloadHandler.ErrInfo);
|
||||
App.log.Error(request.downloadHandler.errInfo);
|
||||
callback.Invoke(null);
|
||||
|
||||
/*
|
||||
|
||||
@ -19,20 +19,20 @@ namespace AxibugEmuOnline.Client.InputDevices
|
||||
var axis = GetVector2();
|
||||
|
||||
var dir = GetDirection(axis, 0.15f);
|
||||
Up.m_performing = dir == Direction.Up;
|
||||
Up.m_performing = (dir & Direction.Up) > 0;
|
||||
Up.Update();
|
||||
|
||||
Down.m_performing = dir == Direction.Down;
|
||||
Down.m_performing = (dir & Direction.Down) > 0;
|
||||
Down.Update();
|
||||
|
||||
Left.m_performing = dir == Direction.Left;
|
||||
Left.m_performing = (dir & Direction.Left) > 0;
|
||||
Left.Update();
|
||||
|
||||
Right.m_performing = dir == Direction.Right;
|
||||
Right.m_performing = (dir & Direction.Right) > 0;
|
||||
Right.Update();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public class VirtualButton : InputControl_C
|
||||
{
|
||||
@ -56,62 +56,41 @@ namespace AxibugEmuOnline.Client.InputDevices
|
||||
}
|
||||
}
|
||||
|
||||
enum Direction
|
||||
[System.Flags]
|
||||
enum Direction : byte
|
||||
{
|
||||
None,
|
||||
Up,
|
||||
Down,
|
||||
Left,
|
||||
Right
|
||||
None = 0,
|
||||
Up = 1,
|
||||
Down = 2,
|
||||
Left = 4,
|
||||
Right = 8
|
||||
}
|
||||
|
||||
static Direction GetDirection(Vector2 input, float deadzone)
|
||||
{
|
||||
// 检查死区:如果点在死区半径内,返回无
|
||||
//// 检查死区:如果点在死区半径内,返回无
|
||||
if (input.magnitude <= deadzone)
|
||||
{
|
||||
return Direction.None;
|
||||
}
|
||||
|
||||
|
||||
// 计算点与四个方向基准向量的点积
|
||||
//float dotUp = Vector2.Dot(normalized, Vector2.up); // (0, 1)
|
||||
//float dotDown = Vector2.Dot(normalized, Vector2.down); // (0, -1)
|
||||
//float dotRight = Vector2.Dot(normalized, Vector2.right); // (1, 0)
|
||||
//float dotLeft = Vector2.Dot(normalized, Vector2.left); // (-1, 0)
|
||||
|
||||
// 标准化向量(确保在单位圆上)
|
||||
Vector2 normalized = input.normalized;
|
||||
|
||||
// 计算点与四个方向基准向量的点积
|
||||
float dotUp = Vector2.Dot(normalized, Vector2.up); // (0, 1)
|
||||
float dotDown = Vector2.Dot(normalized, Vector2.down); // (0, -1)
|
||||
float dotRight = Vector2.Dot(normalized, Vector2.right); // (1, 0)
|
||||
float dotLeft = Vector2.Dot(normalized, Vector2.left); // (-1, 0)
|
||||
|
||||
// 找出最大点积对应的方向
|
||||
Direction bestDirection = Direction.None;
|
||||
float maxDot = -1f; // 初始化为最小值
|
||||
|
||||
// 检查上方向
|
||||
if (dotUp > maxDot)
|
||||
{
|
||||
maxDot = dotUp;
|
||||
bestDirection = Direction.Up;
|
||||
}
|
||||
|
||||
if (normalized.y > deadzone) bestDirection |= Direction.Up;
|
||||
// 检查下方向
|
||||
if (dotDown > maxDot)
|
||||
{
|
||||
maxDot = dotDown;
|
||||
bestDirection = Direction.Down;
|
||||
}
|
||||
|
||||
if (normalized.y < -1 * deadzone) bestDirection |= Direction.Down;
|
||||
// 检查右方向
|
||||
if (dotRight > maxDot)
|
||||
{
|
||||
maxDot = dotRight;
|
||||
bestDirection = Direction.Right;
|
||||
}
|
||||
|
||||
if (normalized.x > deadzone) bestDirection |= Direction.Right;
|
||||
// 检查左方向
|
||||
if (dotLeft > maxDot)
|
||||
{
|
||||
bestDirection = Direction.Left;
|
||||
}
|
||||
if (normalized.x < -1 * deadzone) bestDirection |= Direction.Left;
|
||||
|
||||
return bestDirection;
|
||||
}
|
||||
|
||||
@ -0,0 +1,34 @@
|
||||
using AxibugProtobuf;
|
||||
|
||||
namespace AxibugEmuOnline.Client.InputDevices
|
||||
{
|
||||
public class StandaloneSwitchProController_D : InputDevice_D
|
||||
{
|
||||
public Button_C LeftSL;
|
||||
public Button_C LeftSR;
|
||||
public Button_C RightSL;
|
||||
public Button_C RightSR;
|
||||
|
||||
public Button_C B;
|
||||
public Button_C A;
|
||||
public Button_C Y;
|
||||
public Button_C X;
|
||||
|
||||
public Button_C Up;
|
||||
public Button_C Down;
|
||||
public Button_C Left;
|
||||
public Button_C Right;
|
||||
|
||||
public Button_C Minus;
|
||||
public Button_C Plus;
|
||||
|
||||
public Stick_C LeftStick;
|
||||
public Stick_C RightStick;
|
||||
public Button_C LeftStickPress;
|
||||
public Button_C RightStickPress;
|
||||
|
||||
public StandaloneSwitchProController_D(InputResolver resolver) : base(resolver) { }
|
||||
|
||||
public override GamePadType PadType => GamePadType.SwitchProControl;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 77370bc30da5106418f2ec162759b122
|
||||
@ -1,4 +1,7 @@
|
||||
using AxiInputSP.UGUI;
|
||||
using AxibugEmuOnline.Client.ClientCore;
|
||||
using AxibugEmuOnline.Client.Event;
|
||||
using AxiInputSP.UGUI;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
@ -26,9 +29,15 @@ namespace AxibugEmuOnline.Client.InputDevices
|
||||
{
|
||||
AxiScreenGamepad.OnGamepadActive += AxiScreenGamepad_OnGamepadActive;
|
||||
AxiScreenGamepad.OnGamepadDisactive += AxiScreenGamepad_OnGamepadDisactive;
|
||||
Eventer.Instance.RegisterEvent(EEvent.OnEmuBeginGame, OnEmuBeginGame);
|
||||
OnInit();
|
||||
}
|
||||
|
||||
private void OnEmuBeginGame()
|
||||
{
|
||||
ClearLastCheckPerformingValue();
|
||||
}
|
||||
|
||||
private void AxiScreenGamepad_OnGamepadDisactive(AxiScreenGamepad sender)
|
||||
{
|
||||
if (m_devices.TryGetValue(sender, out var device))
|
||||
@ -52,7 +61,7 @@ namespace AxibugEmuOnline.Client.InputDevices
|
||||
/// 获得所有当前已连入的输入设备
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public IEnumerable<InputDevice_D> GetDevices()
|
||||
public List<InputDevice_D> GetDevices()
|
||||
{
|
||||
m_devicesResultCache.Clear();
|
||||
m_devicesResultCache.AddRange(m_devices.Values);
|
||||
@ -95,8 +104,33 @@ namespace AxibugEmuOnline.Client.InputDevices
|
||||
OnDeviceConnected?.Invoke(connectDevice);
|
||||
}
|
||||
|
||||
long last_CheckPerformingFrameIdx = -100;
|
||||
bool last_CheckPerformingValue = false;
|
||||
void ClearLastCheckPerformingValue()
|
||||
{
|
||||
last_CheckPerformingFrameIdx = -100;
|
||||
last_CheckPerformingValue = false;
|
||||
}
|
||||
|
||||
public bool CheckPerforming<CONTROLLER>(CONTROLLER control) where CONTROLLER : InputControl_C
|
||||
{
|
||||
////减少遍历开销,因为每帧200+次的调用 居然CPU占用了2~3%
|
||||
//if (App.emu?.Core == null || last_CheckPerformingFrameIdx != App.emu.Core.Frame)
|
||||
//{
|
||||
// if (control.Device is ScreenGamepad_D)
|
||||
// {
|
||||
// ScreenGamepad_D device = control.Device as ScreenGamepad_D;
|
||||
|
||||
// last_CheckPerformingValue = device.CheckPerforming(control);
|
||||
// }
|
||||
// else last_CheckPerformingValue = OnCheckPerforming(control);
|
||||
|
||||
// if (App.emu?.Core != null)
|
||||
// last_CheckPerformingFrameIdx = App.emu.Core.Frame;
|
||||
//}
|
||||
//return last_CheckPerformingValue;
|
||||
|
||||
|
||||
if (control.Device is ScreenGamepad_D)
|
||||
{
|
||||
ScreenGamepad_D device = control.Device as ScreenGamepad_D;
|
||||
|
||||
@ -77,6 +77,15 @@ On-Screen Keyboard:这个是真正的屏幕软键盘。
|
||||
else newDevice = new DualShockController_D(this);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if UNITY_STANDALONE
|
||||
//PC Mac 平台的SwitchPro 手柄(其他平台无法编译,包括NS,电脑连NSPro手柄是不一样的)
|
||||
//inputsystem 文档说的是SwitchProControllerHID:A Nintendo Switch Pro controller connected to a desktop mac/windows PC using the HID interface.
|
||||
else if (ipdev is UnityEngine.InputSystem.Switch.SwitchProControllerHID)
|
||||
{
|
||||
newDevice = new StandaloneSwitchProController_D(this);
|
||||
}
|
||||
#endif
|
||||
else if (ipdev is XInputController)
|
||||
{
|
||||
newDevice = new XboxController_D(this);
|
||||
@ -309,6 +318,33 @@ On-Screen Keyboard:这个是真正的屏幕软键盘。
|
||||
mapper[ds_d.RightStick] = ipDsGamePad.rightStick;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if UNITY_STANDALONE
|
||||
//PC Mac 平台的SwitchPro 手柄(其他平台无法编译,包括NS,电脑连NSPro手柄是不一样的)
|
||||
//inputsystem 文档说的是SwitchProControllerHID:A Nintendo Switch Pro controller connected to a desktop mac/windows PC using the HID interface.
|
||||
else if (device_d is StandaloneSwitchProController_D standaloneswitchpro_d)
|
||||
{
|
||||
var ipdevice_joycon = ipdevice as UnityEngine.InputSystem.Switch.SwitchProControllerHID;
|
||||
mapper[standaloneswitchpro_d.LeftSL] = ipdevice_joycon.leftTrigger;
|
||||
mapper[standaloneswitchpro_d.LeftSR] = ipdevice_joycon.leftShoulder;
|
||||
mapper[standaloneswitchpro_d.RightSL] = ipdevice_joycon.rightTrigger;
|
||||
mapper[standaloneswitchpro_d.RightSR] = ipdevice_joycon.rightShoulder;
|
||||
mapper[standaloneswitchpro_d.B] = ipdevice_joycon.bButton;
|
||||
mapper[standaloneswitchpro_d.A] = ipdevice_joycon.aButton;
|
||||
mapper[standaloneswitchpro_d.Y] = ipdevice_joycon.yButton;
|
||||
mapper[standaloneswitchpro_d.X] = ipdevice_joycon.xButton;
|
||||
mapper[standaloneswitchpro_d.Up] = ipdevice_joycon.dpad.up;
|
||||
mapper[standaloneswitchpro_d.Down] = ipdevice_joycon.dpad.down;
|
||||
mapper[standaloneswitchpro_d.Left] = ipdevice_joycon.dpad.left;
|
||||
mapper[standaloneswitchpro_d.Right] = ipdevice_joycon.dpad.right;
|
||||
mapper[standaloneswitchpro_d.Minus] = ipdevice_joycon.selectButton;
|
||||
mapper[standaloneswitchpro_d.Plus] = ipdevice_joycon.startButton;
|
||||
mapper[standaloneswitchpro_d.LeftStick] = ipdevice_joycon.leftStick;
|
||||
mapper[standaloneswitchpro_d.RightStick] = ipdevice_joycon.rightStick;
|
||||
mapper[standaloneswitchpro_d.RightStickPress] = ipdevice_joycon.rightStickButton;
|
||||
mapper[standaloneswitchpro_d.LeftStickPress] = ipdevice_joycon.leftStickButton;
|
||||
}
|
||||
#endif
|
||||
else if (device_d is XboxController_D xbox_d)
|
||||
{
|
||||
var ipXInputGamePad = ipdevice as XInputController;
|
||||
|
||||
@ -23,7 +23,7 @@ namespace AxibugEmuOnline.Client
|
||||
m_downloadingTasks.TryGetValue(url, out var proxy);
|
||||
if (proxy == null) return null;
|
||||
|
||||
return Mathf.Clamp01(proxy.downloadHandler.DownLoadPr);
|
||||
return Mathf.Clamp01(proxy.downloadHandler.downLoadPr);
|
||||
}
|
||||
|
||||
HashSet<string> temp = new HashSet<string>();
|
||||
@ -53,7 +53,7 @@ namespace AxibugEmuOnline.Client
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError($"{overTask.downloadHandler.ErrInfo}:{overTask.downloadHandler.url}");
|
||||
Debug.LogError($"{overTask.downloadHandler.errInfo}:{overTask.downloadHandler.url}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -43,7 +43,7 @@ namespace AxibugEmuOnline.Client
|
||||
|
||||
if (m_downloadTask.downloadHandler.bHadErr) //下载失败
|
||||
{
|
||||
FSM.GetState<SyncFailedState>().Error = m_downloadTask.downloadHandler.ErrInfo;
|
||||
FSM.GetState<SyncFailedState>().Error = m_downloadTask.downloadHandler.errInfo;
|
||||
FSM.ChangeState<SyncFailedState>();
|
||||
return;
|
||||
}
|
||||
@ -52,7 +52,7 @@ namespace AxibugEmuOnline.Client
|
||||
|
||||
if (m_downloadTaskImg.downloadHandler.bHadErr) //下载失败
|
||||
{
|
||||
FSM.GetState<SyncFailedState>().Error = m_downloadTaskImg.downloadHandler.ErrInfo;
|
||||
FSM.GetState<SyncFailedState>().Error = m_downloadTaskImg.downloadHandler.errInfo;
|
||||
FSM.ChangeState<SyncFailedState>();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -4,9 +4,15 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Audio;
|
||||
|
||||
namespace AxibugEmuOnline.Client
|
||||
{
|
||||
public interface AxiAudioPull
|
||||
{
|
||||
public void PullAudio(float[] data, int channels);
|
||||
}
|
||||
|
||||
public class AudioMgr : MonoBehaviour
|
||||
{
|
||||
public enum E_SFXTYPE
|
||||
@ -19,33 +25,48 @@ namespace AxibugEmuOnline.Client
|
||||
system_ok
|
||||
}
|
||||
|
||||
public Dictionary<E_SFXTYPE, AudioClip> dictAudioClip = new Dictionary<E_SFXTYPE, AudioClip>();
|
||||
|
||||
private AudioSource mSource;
|
||||
private void Awake()
|
||||
void Awake()
|
||||
{
|
||||
mSource = this.gameObject.AddComponent<AudioSource>();
|
||||
LoadAudioClip();
|
||||
PlaySFX(E_SFXTYPE.Launch);
|
||||
DontDestroyOnLoad(gameObject);
|
||||
InitializeAudioSystem();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 手动设置AudioCfg 主要用于模拟器各核心采样率对齐
|
||||
/// </summary>
|
||||
/// <param name="config"></param>
|
||||
public void SetAudioConfig(AudioConfiguration config)
|
||||
#region 音频资源
|
||||
Dictionary<E_SFXTYPE, AudioClip> dictAudioClip = new Dictionary<E_SFXTYPE, AudioClip>();
|
||||
void LoadAudioClip()
|
||||
{
|
||||
// 应用新的音频配置
|
||||
if (AudioSettings.Reset(config))
|
||||
dictAudioClip[E_SFXTYPE.Cancel] = Resources.Load<AudioClip>("Sound/XMBSFX/cancel");
|
||||
dictAudioClip[E_SFXTYPE.Cursor] = Resources.Load<AudioClip>("Sound/XMBSFX/cursor");
|
||||
dictAudioClip[E_SFXTYPE.Option] = Resources.Load<AudioClip>("Sound/XMBSFX/option");
|
||||
dictAudioClip[E_SFXTYPE.Launch] = Resources.Load<AudioClip>("Sound/XMBSFX/StartPSP");
|
||||
dictAudioClip[E_SFXTYPE.system_ng] = Resources.Load<AudioClip>("Sound/XMBSFX/system_ng");
|
||||
dictAudioClip[E_SFXTYPE.system_ok] = Resources.Load<AudioClip>("Sound/XMBSFX/system_ok");
|
||||
}
|
||||
#endregion
|
||||
|
||||
[SerializeField] private AudioMixerGroup _staticGroup; // 静态音效(UI等)输出组
|
||||
[Header("静态音效")]
|
||||
[SerializeField] private AudioSource _staticAudioSource; // 用于播放静态音效的源
|
||||
AudioStreamData _audioStreams;
|
||||
private int _targetOutputSampleRate; // Unity音频系统的输出采样率
|
||||
|
||||
/// <summary>
|
||||
/// 初始化音频系统
|
||||
/// </summary>
|
||||
private void InitializeAudioSystem()
|
||||
{
|
||||
AudioSettings.OnAudioConfigurationChanged += OnAudioConfigurationChanged;
|
||||
_targetOutputSampleRate = AudioSettings.outputSampleRate;
|
||||
if (_staticAudioSource == null)
|
||||
{
|
||||
Debug.Log("Audio settings updated successfully.");
|
||||
Debug.Log("Sample Rate: " + config.sampleRate + "Hz");
|
||||
Debug.Log("Speaker Mode: " + config.speakerMode);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError("Failed to update audio settings.");
|
||||
_staticAudioSource = this.gameObject.AddComponent<AudioSource>();
|
||||
_staticAudioSource.outputAudioMixerGroup = _staticGroup;
|
||||
}
|
||||
|
||||
// 设置初始音量
|
||||
SetStaticVolume(0.9f);
|
||||
Debug.Log($"Audio System Initialized. Output Sample Rate: {_targetOutputSampleRate}Hz");
|
||||
LoadAudioClip();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -57,28 +78,116 @@ namespace AxibugEmuOnline.Client
|
||||
//函数仅处理设备变化的情况,非设备变化不再本函数处理,避免核心采样率变化和本处循环调用
|
||||
if (deviceWasChanged)
|
||||
{
|
||||
AudioConfiguration config = AudioSettings.GetConfiguration();
|
||||
AudioSettings.Reset(config);
|
||||
ResetAudioCfg();
|
||||
//AudioConfiguration config = AudioSettings.GetConfiguration();
|
||||
//AudioSettings.Reset(config);
|
||||
//TODO 重新播放音效,但是DSP不用,若有UI BGM,后续 这里加重播
|
||||
}
|
||||
}
|
||||
|
||||
public void LoadAudioClip()
|
||||
{
|
||||
dictAudioClip[E_SFXTYPE.Cancel] = Resources.Load<AudioClip>("Sound/XMBSFX/cancel");
|
||||
dictAudioClip[E_SFXTYPE.Cursor] = Resources.Load<AudioClip>("Sound/XMBSFX/cursor");
|
||||
dictAudioClip[E_SFXTYPE.Option] = Resources.Load<AudioClip>("Sound/XMBSFX/option");
|
||||
dictAudioClip[E_SFXTYPE.Launch] = Resources.Load<AudioClip>("Sound/XMBSFX/StartPSP");
|
||||
dictAudioClip[E_SFXTYPE.system_ng] = Resources.Load<AudioClip>("Sound/XMBSFX/system_ng");
|
||||
dictAudioClip[E_SFXTYPE.system_ok] = Resources.Load<AudioClip>("Sound/XMBSFX/system_ok");
|
||||
}
|
||||
|
||||
#region 静态音源
|
||||
public void PlaySFX(E_SFXTYPE type, bool isLoop = false)
|
||||
{
|
||||
mSource.clip = dictAudioClip[type];
|
||||
mSource.loop = isLoop;
|
||||
mSource.Play();
|
||||
PlayStaticSound(dictAudioClip[type], 1, 1);
|
||||
}
|
||||
/// <summary>
|
||||
/// 播放静态音频剪辑(UI音效等)
|
||||
/// </summary>
|
||||
void PlayStaticSound(AudioClip clip, float volume = 1.0f, float pitch = 1.0f)
|
||||
{
|
||||
if (clip == null) return;
|
||||
_staticAudioSource.pitch = Mathf.Clamp(pitch, 0.5f, 2.0f);
|
||||
_staticAudioSource.PlayOneShot(clip, Mathf.Clamp01(volume));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置静态音频音量(线性0.0-1.0)
|
||||
/// </summary>
|
||||
public void SetStaticVolume(float volumeLinear)
|
||||
{
|
||||
if (_staticGroup != null && _staticGroup.audioMixer != null)
|
||||
{
|
||||
float volumeDB = ConvertLinearToDecibel(Mathf.Clamp01(volumeLinear));
|
||||
_staticGroup.audioMixer.SetFloat("StaticVolume", volumeDB);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 动态音源(模拟器)
|
||||
/// <summary>
|
||||
/// 注册一个动态音频流通道(模拟器)
|
||||
/// </summary>
|
||||
/// <param name="channelId">通道标识符 (e.g., "NES", "MAME")</param>
|
||||
/// <param name="inputSampleRate">该通道的原始采样率</param>
|
||||
public void RegisterStream(string channelId, int inputSampleRate, AxiAudioPull audioPullHandle)
|
||||
{
|
||||
_audioStreams = null;
|
||||
_audioStreams = new AudioStreamData(channelId, inputSampleRate, audioPullHandle);
|
||||
ResetAudioCfg();
|
||||
}
|
||||
|
||||
private void ResetAudioCfg()
|
||||
{
|
||||
// 获取当前音频配置
|
||||
AudioConfiguration config = AudioSettings.GetConfiguration();
|
||||
|
||||
// 设置目标音频配置
|
||||
config.sampleRate = 48000; // 采样率为 44100Hz
|
||||
config.numRealVoices = 32; // 设置最大音频源数量(可选)
|
||||
config.numVirtualVoices = 512; // 设置虚拟音频源数量(可选)
|
||||
config.dspBufferSize = 1024; // 设置 DSP 缓冲区大小(可选)
|
||||
config.speakerMode = AudioSpeakerMode.Stereo; // 设置为立体声(2 声道)
|
||||
|
||||
// 应用新的音频配置
|
||||
if (AudioSettings.Reset(config))
|
||||
{
|
||||
Debug.Log("Audio settings updated successfully.");
|
||||
Debug.Log("Sample Rate: " + config.sampleRate + "Hz");
|
||||
Debug.Log("Speaker Mode: " + config.speakerMode);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError("Failed to update audio settings.");
|
||||
}
|
||||
_staticAudioSource.Play();//只为让DSP继续
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 清空指定通道的音频数据
|
||||
/// </summary>
|
||||
public void ClearAudioData(string channelId)
|
||||
{
|
||||
if (_audioStreams == null || _audioStreams.channelid != channelId)
|
||||
return;
|
||||
_audioStreams = null;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Core Audio Processing (Called automatically by Unity)
|
||||
/// <summary>
|
||||
/// Unity音频线程回调:在这里处理和混合所有动态音频流[1](@ref)
|
||||
/// </summary>
|
||||
void OnAudioFilterRead(float[] data, int channels)
|
||||
{
|
||||
if (_audioStreams == null) return;
|
||||
_audioStreams.AxiAudioPullHandle.PullAudio(data, channels);
|
||||
|
||||
//TODO 如果要处理采样率差异
|
||||
if (_audioStreams.NeedsResampling) { }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Helper Methods
|
||||
/// <summary>
|
||||
/// 线性音量值转换为分贝值 (dB)[4](@ref)
|
||||
/// </summary>
|
||||
private float ConvertLinearToDecibel(float linear)
|
||||
{
|
||||
if (linear <= 0.0001f) return -80.0f; // 避免log10(0)
|
||||
return Mathf.Log10(linear) * 20.0f;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 录音功能实现
|
||||
|
||||
@ -138,14 +247,6 @@ namespace AxibugEmuOnline.Client
|
||||
ms.Write(dataChunk.GetBytes(), 0, (int)dataChunk.Length());
|
||||
AxiIO.File.WriteAllBytesFromStream(filename, ms);
|
||||
}
|
||||
|
||||
//using (FileStream file = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.ReadWrite))
|
||||
//{
|
||||
// file.Write(waveHeader.GetBytes(), 0, (int)waveHeader.Length());
|
||||
// file.Write(formatChunk.GetBytes(), 0, (int)formatChunk.Length());
|
||||
// file.Write(dataChunk.GetBytes(), 0, (int)dataChunk.Length());
|
||||
//}
|
||||
|
||||
IsRecording = false;
|
||||
OverlayManager.PopTip("录音结束");
|
||||
}
|
||||
@ -159,22 +260,35 @@ namespace AxibugEmuOnline.Client
|
||||
#endregion
|
||||
}
|
||||
|
||||
// 用于描述一个动态音频流的数据结构
|
||||
public class AudioStreamData
|
||||
{
|
||||
public string channelid;
|
||||
public int SourceSampleRate;
|
||||
public bool NeedsResampling;
|
||||
public AxiAudioPull AxiAudioPullHandle;
|
||||
public AudioStreamData(string channelid, int SourceSampleRate, AxiAudioPull audiohandle)
|
||||
{
|
||||
this.channelid = channelid;
|
||||
this.SourceSampleRate = SourceSampleRate;
|
||||
this.AxiAudioPullHandle = audiohandle;
|
||||
NeedsResampling = SourceSampleRate != AudioSettings.outputSampleRate;
|
||||
AudioSettings.GetDSPBufferSize(out int bufferLength, out int numBuffers);
|
||||
}
|
||||
}
|
||||
class WaveHeader
|
||||
{
|
||||
const string fileTypeId = "RIFF";
|
||||
const string mediaTypeId = "WAVE";
|
||||
|
||||
public string FileTypeId { get; private set; }
|
||||
public uint FileLength { get; set; }
|
||||
public string MediaTypeId { get; private set; }
|
||||
|
||||
public WaveHeader()
|
||||
{
|
||||
FileTypeId = fileTypeId;
|
||||
MediaTypeId = mediaTypeId;
|
||||
FileLength = 4; /* Minimum size is always 4 bytes */
|
||||
}
|
||||
|
||||
public byte[] GetBytes()
|
||||
{
|
||||
List<byte> chunkData = new List<byte>();
|
||||
@ -185,7 +299,6 @@ namespace AxibugEmuOnline.Client
|
||||
|
||||
return chunkData.ToArray();
|
||||
}
|
||||
|
||||
public uint Length()
|
||||
{
|
||||
return (uint)GetBytes().Length;
|
||||
@ -195,35 +308,28 @@ namespace AxibugEmuOnline.Client
|
||||
class FormatChunk
|
||||
{
|
||||
const string chunkId = "fmt ";
|
||||
|
||||
ushort bitsPerSample, channels;
|
||||
uint frequency;
|
||||
|
||||
public string ChunkId { get; private set; }
|
||||
public uint ChunkSize { get; private set; }
|
||||
public ushort FormatTag { get; private set; }
|
||||
|
||||
public ushort Channels
|
||||
{
|
||||
get { return channels; }
|
||||
set { channels = value; RecalcBlockSizes(); }
|
||||
}
|
||||
|
||||
public uint Frequency
|
||||
{
|
||||
get { return frequency; }
|
||||
set { frequency = value; RecalcBlockSizes(); }
|
||||
}
|
||||
|
||||
public uint AverageBytesPerSec { get; private set; }
|
||||
public ushort BlockAlign { get; private set; }
|
||||
|
||||
public ushort BitsPerSample
|
||||
{
|
||||
get { return bitsPerSample; }
|
||||
set { bitsPerSample = value; RecalcBlockSizes(); }
|
||||
}
|
||||
|
||||
public FormatChunk()
|
||||
{
|
||||
ChunkId = chunkId;
|
||||
@ -234,20 +340,17 @@ namespace AxibugEmuOnline.Client
|
||||
BitsPerSample = 16; /* Default to 16bits */
|
||||
RecalcBlockSizes();
|
||||
}
|
||||
|
||||
public FormatChunk(int frequency, int channels) : this()
|
||||
{
|
||||
Channels = (ushort)channels;
|
||||
Frequency = (ushort)frequency;
|
||||
RecalcBlockSizes();
|
||||
}
|
||||
|
||||
private void RecalcBlockSizes()
|
||||
{
|
||||
BlockAlign = (ushort)(channels * (bitsPerSample / 8));
|
||||
AverageBytesPerSec = frequency * BlockAlign;
|
||||
}
|
||||
|
||||
public byte[] GetBytes()
|
||||
{
|
||||
List<byte> chunkBytes = new List<byte>();
|
||||
@ -263,7 +366,6 @@ namespace AxibugEmuOnline.Client
|
||||
|
||||
return chunkBytes.ToArray();
|
||||
}
|
||||
|
||||
public uint Length()
|
||||
{
|
||||
return (uint)GetBytes().Length;
|
||||
|
||||
@ -19,7 +19,7 @@ namespace AxibugEmuOnline.Client
|
||||
m_checkCmds = Enum.GetValues(typeof(EnumCommand)) as EnumCommand[];
|
||||
}
|
||||
|
||||
IEnumerable<CommandState> GetCommand()
|
||||
List<CommandState> GetCommand()
|
||||
{
|
||||
if (CheckFrame == Time.frameCount)
|
||||
return m_commands;
|
||||
@ -39,7 +39,7 @@ namespace AxibugEmuOnline.Client
|
||||
return m_commands;
|
||||
}
|
||||
|
||||
public void Update(IEnumerable<CommandExecuter> executers)
|
||||
public void Update(List<CommandExecuter> executers)
|
||||
{
|
||||
foreach (var cmd in GetCommand())
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user