public void ArrayBufferWithOffsetConstructorWorks() { var buf = new ArrayBuffer(80); var arr = new Int32Array(buf, 16); Assert.IsTrue((object)arr is Int32Array); Assert.IsTrue(arr.Buffer == buf, "buffer"); Assert.AreEqual(arr.Length, 16, "length"); }
public void CopyConstructorWorks() { var source = new Int32Array(new[] { 3, 8, 4 }); var arr = new Int32Array(source); Assert.IsTrue(arr != source, "New object"); Assert.IsTrue((object)arr is Int32Array, "is Int32Array"); AssertContent(arr, new[] { 3, 8, 4 }, "content"); }
private void AssertContent(Int32Array actual, int[] expected, string message) { if (actual.Length != expected.Length) { Assert.Fail(message + ": Expected length " + expected.Length + ", actual: " + actual.Length); return; } for (int i = 0; i < expected.Length; i++) { if (actual[i] != expected[i]) { Assert.Fail(message + ": Position " + i + ": expected " + expected[i] + ", actual: " + actual[i]); return; } } Assert.IsTrue(true, message); }
public void TypePropertiesAreCorrect() { Assert.AreEqual(typeof(Int32Array).FullName, "Int32Array", "FullName"); var interfaces = typeof(Int32Array).GetInterfaces(); Assert.AreEqual(interfaces.Length, 3, "Interface count should be 3"); Assert.IsTrue(interfaces.Contains(typeof(IEnumerable<int>)), "Interfaces should contain IEnumerable<int>"); Assert.IsTrue(interfaces.Contains(typeof(ICollection<int>)), "Interfaces should contain ICollection<int>"); Assert.IsTrue(interfaces.Contains(typeof(IList<int>)), "Interfaces should contain IList<int>"); object arr = new Int32Array(0); Assert.IsTrue(arr is Int32Array, "Is Int32Array"); Assert.IsTrue(arr is IEnumerable<int>, "Is IEnumerable<int>"); Assert.IsTrue(arr is ICollection<int>, "Is ICollection<int>"); Assert.IsTrue(arr is IList<int>, "Is IList<int>"); }
public static IEnumerable <object[]> ArrayType_TestData() { _objectPrototype ??= new Function("return Object.prototype.toString;"); yield return(new object[] { _objectPrototype.Call(), "Uint8Array", Uint8Array.From(new byte[10]) }); yield return(new object[] { _objectPrototype.Call(), "Uint8ClampedArray", Uint8ClampedArray.From(new byte[10]) }); yield return(new object[] { _objectPrototype.Call(), "Int8Array", Int8Array.From(new sbyte[10]) }); yield return(new object[] { _objectPrototype.Call(), "Uint16Array", Uint16Array.From(new ushort[10]) }); yield return(new object[] { _objectPrototype.Call(), "Int16Array", Int16Array.From(new short[10]) }); yield return(new object[] { _objectPrototype.Call(), "Uint32Array", Uint32Array.From(new uint[10]) }); yield return(new object[] { _objectPrototype.Call(), "Int32Array", Int32Array.From(new int[10]) }); yield return(new object[] { _objectPrototype.Call(), "Float32Array", Float32Array.From(new float[10]) }); yield return(new object[] { _objectPrototype.Call(), "Float64Array", Float64Array.From(new double[10]) }); yield return(new object[] { _objectPrototype.Call(), "Array", new Array(10) }); }
public void AutoNext(IEvent ievent) { var table = Table.GetMissionBase(DataModel.MissionId); var type = (eMissionMainType)table.ViewType; var state = MissionManager.Instance.GetMissionState(DataModel.MissionId); if (eMissionMainType.Daily == type || eMissionMainType.Circle == type) { if (eMissionState.Finished == state) { MissionManager.Instance.CommitMission(DataModel.MissionId); } else { MissionManager.Instance.GoToMissionPlace(DataModel.MissionId); } } else if (eMissionMainType.SubStoryLine == type && -1 == table.NpcStart && eMissionState.Acceptable == state) { MissionManager.Instance.AcceptMission(DataModel.MissionId); } else if (eMissionMainType.SubStoryLine == type && -1 == table.FinishNpcId && eMissionState.Finished == state) { MissionManager.Instance.CommitMission(DataModel.MissionId); } else { MissionManager.Instance.GoToMissionPlace(DataModel.MissionId); } if (!PlayerDataManager.Instance.GetFlag(517)) { var list = new Int32Array(); list.Items.Add(517); PlayerDataManager.Instance.SetFlagNet(list); } }
public IEnumerator RecycleCoroutine(int bagIndex) { using (new BlockingLayerHelper(0)) { var TempEquipList = new Int32Array(); TempEquipList.Items.Add(bagIndex); var msg = NetManager.Instance.RecoveryEquip(1, TempEquipList); yield return(msg.SendAndWaitUntilDone()); if (msg.State == MessageState.Reply) { if (msg.ErrorCode == (int)ErrorCodes.OK) { var e = new UIEvent_EquipCompare_Close(); EventDispatcher.Instance.DispatchEvent(e); if (TempEquipList.Items.Count > 0) { var item = PlayerDataManager.Instance.GetItem((int)eBagType.Equip, bagIndex); if (item != null) { PlatformHelper.UMEvent("EquipRecycle", item.ItemId.ToString()); } } } else { UIManager.Instance.ShowNetError(msg.ErrorCode); } } else { var e = new ShowUIHintBoard(220821); EventDispatcher.Instance.DispatchEvent(e); } } }
public void Int32Array_indexed_setter_alters_source_buffer_contents_according_to_set_endianness_when_specified() { byte[] buf = new byte[] { 0x00, 0x01, 0x02, 0x03 }; var s32arr = new Int32Array(buf, 0, 0, !BitConverter.IsLittleEndian); s32arr[0] = -1430532899; // 0xAABBCCDD, stored as [0xAA, 0xBB, 0xCC, 0xDD] on big endian archs and [0xDD, 0xCC, 0xBB, 0xAA] on little endian archs. if (BitConverter.IsLittleEndian) { Assert.IsTrue(!s32arr.IsLittleEndian); Assert.AreEqual(buf[3], 0xDD); Assert.AreEqual(buf[2], 0xCC); Assert.AreEqual(buf[1], 0xBB); Assert.AreEqual(buf[0], 0xAA); } else { Assert.IsTrue(s32arr.IsLittleEndian); Assert.AreEqual(buf[0], 0xDD); Assert.AreEqual(buf[1], 0xCC); Assert.AreEqual(buf[2], 0xBB); Assert.AreEqual(buf[3], 0xAA); } }
private IEnumerator GetDungeonTotleCountCoroutine(Coroutine co, ObjPlayer player) { var ids = new Int32Array(); ids.Items.Add(mFubenRecord.TotleExdata); var msg = SceneServer.Instance.LogicAgent.SSFetchExdata(player.ObjId, ids); yield return(msg.SendAndWaitUntilDone(co)); if (msg.State != MessageState.Reply) { Logger.Error("SSFetchExdata return with state = {0}", msg.State); yield break; } if (msg.ErrorCode != (int)ErrorCodes.OK) { Logger.Error("SSFetchExdata return with err = {0}", msg.ErrorCode); yield break; } if (msg.Response.Items[0] == 0) { SpecialDrop = player.TypeId; } }
public void TypePropertiesAreCorrect_SPI_1559() { Assert.AreEqual("Int32Array", typeof(Int32Array).FullName, "FullName"); var interfaces = typeof(Int32Array).GetInterfaces(); Assert.AreEqual(1, interfaces.Length, "Interface count should be 5"); Assert.True(interfaces.Contains(typeof(IEnumerable <int>)), "Interfaces should contain IEnumerable<int>"); Assert.False(interfaces.Contains(typeof(ICollection <int>)), "Interfaces should contain ICollection<int>"); Assert.False(interfaces.Contains(typeof(IList <int>)), "Interfaces should contain IList<int>"); // Not JS API //Assert.True(interfaces.Contains(typeof(IReadOnlyCollection<int>)), "Interfaces should contain IReadOnlyCollection<int>"); //Assert.True(interfaces.Contains(typeof(IReadOnlyList<int>)), "Interfaces should contain IReadOnlyList<int>"); object arr = new Int32Array(0); Assert.True(arr is Int32Array, "Is Int32Array"); Assert.True(arr is IEnumerable <int>, "Is IEnumerable<int>"); Assert.False(arr is ICollection <int>, "Is ICollection<int>"); Assert.False(arr is IList <int>, "Is IList<int>"); // Not JS API //Assert.True(arr is IReadOnlyCollection<int>, "Is IReadOnlyCollection<int>"); //Assert.True(arr is IReadOnlyList<int>, "Is IReadOnlyList<int>"); }
public void LengthWorks() { var arr = new Int32Array(13); Assert.AreEqual(13, arr.Length, "Length"); }
public static void MarshalInt32Array(Int32Array buffer) { intBuffer = buffer.ToArray(); }
private IEnumerator SendCityOptRequestCoroutine(CityOperationType opt, int buildingIdx, List <int> param) { using (new BlockingLayerHelper(0)) { var array = new Int32Array(); if (null != param) { { var __list7 = param; var __listCount7 = __list7.Count; for (var __i7 = 0; __i7 < __listCount7; ++__i7) { var value = __list7[__i7]; { array.Items.Add(value); } } } } var msg = NetManager.Instance.CityOperationRequest((int)opt, buildingIdx, array); yield return(msg.SendAndWaitUntilDone()); if (msg.State != MessageState.Reply) { Logger.Debug("SendBuildRequestCoroutine:MessageState.Timeout"); yield break; } if (msg.ErrorCode != (int)ErrorCodes.OK) { var errorCode = (ErrorCodes)msg.ErrorCode; switch (errorCode) { case ErrorCodes.Error_LevelNoEnough: { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(200000108)); } break; case ErrorCodes.Error_ResNoEnough: { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(200002002)); } break; case ErrorCodes.Error_BuildCountMax: { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(200002801)); } break; case ErrorCodes.Error_NeedCityLevelMore: { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(200002803)); } break; case ErrorCodes.Error_CityCanotBuildMore: { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(300113)); } break; default: UIManager.Instance.ShowNetError(msg.ErrorCode); break; } Logger.Debug("SendBuildRequestCoroutine error=[{0}]", msg.ErrorCode); EventDispatcher.Instance.DispatchEvent(new UIEvent_CityUpdateBuilding(buildingIdx)); yield break; } switch (opt) { case CityOperationType.BUILD: { PlatformHelper.Event("city", "Build"); //EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(300108)); } break; case CityOperationType.UPGRADE: { PlatformHelper.Event("city", "Upgrade"); EventDispatcher.Instance.DispatchEvent(new UIEvent_OnCityBuildingOptEvent(buildingIdx, opt)); //EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(300107)); } break; case CityOperationType.DESTROY: { //EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard("Destroy Ok")); var e = new CityBuildingLevelupEvent(buildingIdx); var tbBuilding = Table.GetBuilding(GetBuildingByAreaId(buildingIdx).TypeId); e.HomeExp = Table.GetBuilding(tbBuilding.RemovedBuildID).GetMainHouseExp; EventDispatcher.Instance.DispatchEvent(e); } break; case CityOperationType.ASSIGNPET: case CityOperationType.ASSIGNPETINDEX: { EventDispatcher.Instance.DispatchEvent(new UIEvent_CityAssignPetEvent(buildingIdx)); } break; } } }
public void Close() { var dic = new Dictionary <int, int>(); if (Math.Abs(BackUpModel.AutoCombat.Hp - DataModel.AutoCombat.Hp) > 0.01) { dic.Add(59, (int)(DataModel.AutoCombat.Hp * 100)); } if (Math.Abs(BackUpModel.AutoCombat.Mp - DataModel.AutoCombat.Mp) > 0.01) { dic.Add(60, (int)(DataModel.AutoCombat.Mp * 100)); } BackUpModel.AutoCombat.Mp = DataModel.AutoCombat.Mp; var chgPick = false; var flag61 = 0; for (var i = 0; i < 8; i++) { if (BackUpModel.AutoCombat.Pickups[i] != DataModel.AutoCombat.Pickups[i]) { chgPick = true; break; } } flag61 = 0; for (var i = 0; i < 8; i++) { if (DataModel.AutoCombat.Pickups[i]) { flag61 = BitFlag.IntSetFlag(flag61, i); } } var chgRang = false; for (var i = 0; i < 3; i++) { if (BackUpModel.AutoCombat.Ranges[i] != DataModel.AutoCombat.Ranges[i]) { chgRang = true; break; } } for (var i = 0; i < 3; i++) { if (DataModel.AutoCombat.Ranges[i]) { if (i == 1) { flag61 = BitFlag.IntSetFlag(flag61, 8); } else if (i == 2) { flag61 = BitFlag.IntSetFlag(flag61, 9); } } } if (chgPick || chgRang) { dic.Add(61, flag61); } if (dic.Count > 0) { PlayerDataManager.Instance.SetExDataNet(dic); } var tureArray = new Int32Array(); var falseArray = new Int32Array(); for (var i = 0; i < 4; i++) { if (DataModel.SystemSetting.Other[i] != BackUpModel.SystemSetting.Other[i]) { if (DataModel.SystemSetting.Other[i]) { tureArray.Items.Add(480 + i); } else { falseArray.Items.Add(480 + i); } } } //后添加的两个设置 //又增加一个屏幕节能开关 if (DataModel.SystemSetting.Other[4] != BackUpModel.SystemSetting.Other[4]) { if (DataModel.SystemSetting.Other[4]) { tureArray.Items.Add(488); } else { falseArray.Items.Add(488); } } if (DataModel.SystemSetting.Other[5] != BackUpModel.SystemSetting.Other[5]) { if (DataModel.SystemSetting.Other[5]) { tureArray.Items.Add(489); } else { falseArray.Items.Add(489); } } if (DataModel.SystemSetting.Other[6] != BackUpModel.SystemSetting.Other[6]) { if (DataModel.SystemSetting.Other[6]) { tureArray.Items.Add(490); } else { falseArray.Items.Add(490); } } if (tureArray.Items.Count > 0 || falseArray.Items.Count > 0) { PlayerDataManager.Instance.SetFlagNet(tureArray, falseArray); } }
public void SmithyOperation(int type) { switch (type) { // 铸造按钮按下 case 0: { var castData = DataModel.SmithyCastData.SelectedProduct; var param = new Int32Array(); param.Items.Add(castData.State); // 0:铸造功能 param.Items.Add(CurFurnaceIndex); // 熔炉id var state = castData.State; switch (state) { case 0: { param.Items.Add(mCurTbForgeId); // 铸造id } break; case 1: //var needZS = DataModel.SmithyCastData.NeedDiamond; var content = GameUtils.GetDictionaryText(240900); var needZS = ConsumeDiamond(); content = string.Format(content, needZS); UIManager.Instance.ShowMessage(MessageBoxType.OkCancel, content, "", () => { UseBuildService(param); }); return; case 2: break; } UseBuildService(param); } break; // 装备进阶按钮按下 case 1: { if (!CheckSmithyEvoItem()) { var e = new ShowUIHintBoard(300600); EventDispatcher.Instance.DispatchEvent(e); return; } var castData = DataModel.SmithyEvoData; var evoItems = castData.EvolveItems; var mainItem = evoItems[0]; mMajorEquipBagId = mainItem.BagId; mMajorEquipBagIndex = mainItem.Index; var param = new Int32Array(); param.Items.Add(3); // 0:铸造功能 { // foreach(var evoItem in evoItems) var __enumerator5 = (evoItems).GetEnumerator(); while (__enumerator5.MoveNext()) { var evoItem = __enumerator5.Current; { if (evoItem.ItemId != -1) { param.Items.Add(evoItem.BagId); param.Items.Add(evoItem.Index); } } } } //mRefreshEvoUiAction = ResetEvoUI; //进阶后将获得新装备“[{0}]{1}[-]”\n点击[4BE127]确定[-]按钮继续 var warnStr = GameUtils.GetDictionaryText(300608); var tbItem = Table.GetItemBase(castData.EvolvedItemId); if (tbItem == null) { return; } warnStr = string.Format(warnStr, GameUtils.GetTableColorString(tbItem.Color), tbItem.Name); UIManager.Instance.ShowMessage(MessageBoxType.OkCancel, warnStr, "", () => { UseBuildService(param, AdvanceEquipManual); }); } break; case 2: { DataModel.SmithyEvoData.IsShowEvoedEquip = false; } break; case 3: { EventDispatcher.Instance.DispatchEvent(new Close_UI_Event(UIConfig.SmithyUI)); //var e2 = new Show_UI_Event(UIConfig.CityUI); //EventDispatcher.Instance.DispatchEvent(e2); } break; } }
public void UseBuildService(Int32Array param, Action onOk = null) { NetManager.Instance.StartCoroutine(UseBuildServiceCoroutine(param, onOk)); }
public void ForeachWorks() { var arr = new Int32Array(new[] { 3, 6, 2, 9, 5 }); var l = new List<int>(); foreach (var i in arr) { l.Add(i); } Assert.AreEqual(l, new[] { 3, 6, 2, 9, 5 }); }
public void ContainsWorks() { var arr = new Int32Array(new[] { 3, 6, 2, 9, 5 }); Assert.IsTrue (arr.Contains(9), "9"); Assert.IsFalse(arr.Contains(1), "1"); }
public void IndexOfWorks() { var arr = new Int32Array(new[] { 3, 6, 2, 9, 5 }); Assert.AreEqual(arr.IndexOf(9), 3, "9"); Assert.AreEqual(arr.IndexOf(1), -1, "1"); }
public void ByteLengthPropertyWorks() { var arr = new Int32Array(23); Assert.AreEqual(arr.ByteLength, 92, "Should be correct"); }
public void ByteOffsetPropertyWorks() { var buf = new ArrayBuffer(100); var arr = new Int32Array(buf, 32); Assert.AreEqual(arr.ByteOffset, 32, "Should be correct"); }
public void BufferPropertyWorks() { var buf = new ArrayBuffer(100); var arr = new Int32Array(buf); Assert.IsTrue(arr.Buffer == buf, "Should be correct"); }
public void GetEnumeratorWorks() { var arr = new Int32Array(new[] { 3, 6, 2, 9, 5 }); var l = new List<int>(); var enm = arr.GetEnumerator(); while (enm.MoveNext()) { l.Add(enm.Current); } Assert.AreEqual(l, new[] { 3, 6, 2, 9, 5 }); }
public static void CoreTypes() { var arr = new Uint8ClampedArray(50); Assert.Equal(50, arr.Length); Assert.Equal(TypedArrayTypeCode.Uint8ClampedArray, arr.GetTypedArrayType()); var arr1 = new Uint8Array(50); Assert.Equal(50, arr1.Length); Assert.Equal(TypedArrayTypeCode.Uint8Array, arr1.GetTypedArrayType()); var arr2 = new Uint16Array(50); Assert.Equal(50, arr2.Length); Assert.Equal(TypedArrayTypeCode.Uint16Array, arr2.GetTypedArrayType()); var arr3 = new Uint32Array(50); Assert.Equal(50, arr3.Length); Assert.Equal(TypedArrayTypeCode.Uint32Array, arr3.GetTypedArrayType()); var arr4 = new Int8Array(50); Assert.Equal(50, arr4.Length); Assert.Equal(TypedArrayTypeCode.Int8Array, arr4.GetTypedArrayType()); var arr5 = new Int16Array(50); Assert.Equal(50, arr5.Length); Assert.Equal(TypedArrayTypeCode.Int16Array, arr5.GetTypedArrayType()); var arr6 = new Int32Array(50); Assert.Equal(50, arr6.Length); Assert.Equal(TypedArrayTypeCode.Int32Array, arr6.GetTypedArrayType()); var arr7 = new Float32Array(50); Assert.Equal(50, arr7.Length); Assert.Equal(TypedArrayTypeCode.Float32Array, arr7.GetTypedArrayType()); var arr8 = new Float64Array(50); Assert.Equal(50, arr8.Length); Assert.Equal(TypedArrayTypeCode.Float64Array, arr8.GetTypedArrayType()); var sharedArr40 = new SharedArrayBuffer(40); var sharedArr50 = new SharedArrayBuffer(50); var arr9 = new Uint8ClampedArray(sharedArr50); Assert.Equal(50, arr9.Length); var arr10 = new Uint8Array(sharedArr50); Assert.Equal(50, arr10.Length); var arr11 = new Uint16Array(sharedArr50); Assert.Equal(25, arr11.Length); var arr12 = new Uint32Array(sharedArr40); Assert.Equal(10, arr12.Length); var arr13 = new Int8Array(sharedArr50); Assert.Equal(50, arr13.Length); var arr14 = new Int16Array(sharedArr40); Assert.Equal(20, arr14.Length); var arr15 = new Int32Array(sharedArr40); Assert.Equal(10, arr15.Length); var arr16 = new Float32Array(sharedArr40); Assert.Equal(10, arr16.Length); var arr17 = new Float64Array(sharedArr40); Assert.Equal(5, arr17.Length); }
public void SetNormalArrayWorks() { var arr = new Int32Array(4); arr.Set(new[] { 3, 6, 7 }); AssertContent(arr, new[] { 3, 6, 7, 0 }, "Content"); }
public void SubarrayWithBeginAndEndWorks() { var source = new Int32Array(10); var arr = source.Subarray(3, 7); Assert.IsFalse(arr == source, "Should be a new array"); Assert.IsTrue(arr.Buffer == source.Buffer, "Should be the same buffer"); Assert.AreEqual(arr.ByteOffset, 12, "ByteOffset should be correct"); Assert.AreEqual(arr.Length, 4, "Length should be correct"); }
public void LengthConstructorWorks() { var arr = new Int32Array(13); Assert.IsTrue((object)arr is Int32Array, "is Int32Array"); Assert.AreEqual(arr.Length, 13, "Length"); }
public IEnumerator UseBuildServiceCoroutine(Int32Array param, Action onOk) { using (new BlockingLayerHelper(0)) { var tbBuilding = Table.GetBuilding(BuildingData.TypeId); var msg = NetManager.Instance.UseBuildService(BuildingData.AreaId, tbBuilding.ServiceId, param); yield return(msg.SendAndWaitUntilDone()); if (msg.State == MessageState.Reply) { if (msg.ErrorCode == (int)ErrorCodes.OK) { if (param.Items[0] == (int)ForgeState.NoBegin) { DataModel.SmithyCastData.SelectedProduct.State = (int)ForgeState.During; if (FinishTimeCor == null) { FinishTimeCor = NetManager.Instance.StartCoroutine(RefleshFinishTime()); } EventDispatcher.Instance.DispatchEvent(new SmithyOnPlayTweenAnim(param.Items[1])); if (NeedItemShowCoroutine != null) { NetManager.Instance.StopCoroutine(NeedShowCoroutine()); NeedItemShowCoroutine = null; } NeedItemShowCoroutine = NetManager.Instance.StartCoroutine(NeedShowCoroutine()); } else if (param.Items[0] == (int)ForgeState.During) { DataModel.SmithyCastData.SelectedProduct.State = (int)ForgeState.Complete; AnalyseNotice(); } else if (param.Items[0] == (int)ForgeState.Complete) { PlatformHelper.Event("city", "FurnaceComplete"); DataModel.SmithyCastData.SelectedProduct.State = (int)ForgeState.CanAdd; var tbForged = Table.Getforged(BuildingData.Exdata[mCurFurnaceIndex]); var tbserver = Table.GetBuildingService(tbBuilding.ServiceId); if (tbForged != null) { var count = tbForged.NeedTime * tbserver.Param[4] / 10000; //var ee = new UIEvent_SmithyFlyAnim(0, count); //ee.Index = mCurFurnaceIndex; //EventDispatcher.Instance.DispatchEvent(ee); } AnalyseNotice(); } else if (param.Items[0] == 3) //装备进阶功能功能 { var list = DataModel.SmithyEvoData.EvolveItems; for (var i = 0; i < list.Count; i++) { if (list[i].ItemId != -1) { var equipLogic = Table.GetEquipBase(list[i].ItemId).EquipUpdateLogic; var count = Table.GetEquipUpdate(equipLogic).SuccessGetExp; EventDispatcher.Instance.DispatchEvent(new UIEvent_SmithyFlyAnim(1, count)); } } mRefreshEvoUiAction = ResetEvoUI; } if (onOk != null) { onOk(); } } else { UIManager.Instance.ShowNetError(msg.ErrorCode); mRefreshEvoUiAction = null; } } else { var e = new ShowUIHintBoard(220821); EventDispatcher.Instance.DispatchEvent(e); mRefreshEvoUiAction = null; } } }
public void IndexingWorks() { var arr = new Int32Array(3); arr[1] = 42; AssertContent(arr, new[] { 0, 42, 0 }, "Content"); Assert.AreEqual(arr[1], 42, "[1]"); }
/// <summary> /// Creates a new Int32Array out of the specified Int32Array. /// </summary> /// <param name="typedArray">Int32Array to use as initial contents to the new array.</param> public Int32Array(Int32Array typedArray) { }
public void LengthWorks() { var arr = new Int32Array(13); Assert.AreEqual(arr.Length, 13, "Length"); }
private IEnumerator UseBuildServiceCoroutine(int areaId, int serviceId, List <int> param) { using (new BlockingLayerHelper(0)) { var array = new Int32Array(); if (null != param) { { var __list8 = param; var __listCount8 = __list8.Count; for (var __i8 = 0; __i8 < __listCount8; ++__i8) { var item = __list8[__i8]; { array.Items.Add(item); } } } } var msg = NetManager.Instance.UseBuildService(areaId, serviceId, array); yield return(msg.SendAndWaitUntilDone()); if (msg.State == MessageState.Reply) { if (msg.ErrorCode == (int)ErrorCodes.OK) { var building = GetBuildingByAreaId(areaId); var table = Table.GetBuilding(building.TypeId); var type = (BuildingType)table.Type; var count = msg.Response.Data32[0]; if (BuildingType.LogPlace == type) { PlatformHelper.Event("city", "LogPlace"); if (count <= 0) { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(300203)); } else { var tbserver = Table.GetBuildingService(table.ServiceId); var exp = tbserver.Param[4] * count / 10000; var str = string.Format(GameUtils.GetDictionaryText(300200), count); EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(str)); EventDispatcher.Instance.DispatchEvent(new CityGetResAnim(areaId, 0, 8, count)); if (exp > 0) { EventDispatcher.Instance.DispatchEvent(new CityGetResAnim(areaId, 1, 8, exp)); } } EventDispatcher.Instance.DispatchEvent(new CityBulidingNoticeAdd(areaId)); PlayerDataManager.Instance.NoticeData.LogPlaceComplete4 = false; //刷新推送 NetManager.Instance.StartCoroutine(RefreshPush(11)); } else if (BuildingType.Mine == type) { PlatformHelper.Event("city", "Mine"); if (count <= 0) { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(300203)); } else { var tbserver = Table.GetBuildingService(table.ServiceId); var exp = tbserver.Param[4] * count / 10000; var str = string.Format(GameUtils.GetDictionaryText(300201), count); EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(str)); EventDispatcher.Instance.DispatchEvent(new CityGetResAnim(areaId, 0, 9, count)); if (exp > 0) { EventDispatcher.Instance.DispatchEvent(new CityGetResAnim(areaId, 1, 9, exp)); } } EventDispatcher.Instance.DispatchEvent(new CityBulidingNoticeAdd(areaId)); PlayerDataManager.Instance.NoticeData.MineComplete4 = false; //刷新推送 NetManager.Instance.StartCoroutine(RefreshPush(10)); } else if (BuildingType.MercenaryCamp == type) { if (0 == array.Items[0]) { EventDispatcher.Instance.DispatchEvent(new UIEvent_SelectHatchingCell(-1)); } else if (1 == array.Items[0]) { //完成孵化 PlatformHelper.Event("city", "HatchingComplete"); EventDispatcher.Instance.DispatchEvent(new UIEvent_HatchingRoomEvent("NewPet", count)); } } } else { EventDispatcher.Instance.DispatchEvent(new UIEvent_ErrorTip((ErrorCodes)msg.ErrorCode)); UIManager.Instance.ShowNetError(msg.ErrorCode); Logger.Error(".....UseBuildServiceCoroutine.......{0}.", msg.ErrorCode); } } else { Logger.Error(".....UseBuildServiceCoroutine.......{0}.", msg.State); } } }
public static void TestUseCase() { var isSpecialTypeName = BrowserHelper.IsPhantomJs(); var v1 = new Float32Array(1); var thisType = "Float32Array"; Assert.True(v1 != null, thisType + " created"); var thisName = isSpecialTypeName ? "Object" : thisType; Assert.AreEqual(thisName, v1.GetType().FullName, thisType + " class name"); var v2 = new Float64Array(1); thisType = "Float64Array"; Assert.True(v2 != null, thisType + " created"); thisName = isSpecialTypeName ? "Object" : thisType; Assert.AreEqual(thisName, v2.GetType().FullName, thisType + " class name"); var v3 = new Int16Array(1); thisType = "Int16Array"; Assert.True(v3 != null, thisType + " created"); thisName = isSpecialTypeName ? "Object" : thisType; Assert.AreEqual(thisName, v3.GetType().FullName, thisType + " class name"); var v4 = new Int32Array(1); thisType = "Int32Array"; Assert.True(v4 != null, thisType + " created"); thisName = isSpecialTypeName ? "Object" : thisType; Assert.AreEqual(thisName, v4.GetType().FullName, thisType + " class name"); var v5 = new Int8Array(1); thisType = "Int8Array"; Assert.True(v5 != null, thisType + " created"); thisName = isSpecialTypeName ? "Object" : thisType; Assert.AreEqual(thisName, v5.GetType().FullName, thisType + " class name"); var v6 = new Uint16Array(1); thisType = "Uint16Array"; Assert.True(v6 != null, thisType + " created"); thisName = isSpecialTypeName ? "Object" : thisType; Assert.AreEqual(thisName, v6.GetType().FullName, thisType + " class name"); var v7 = new Uint32Array(1); thisType = "Uint32Array"; Assert.True(v7 != null, thisType + " created"); thisName = isSpecialTypeName ? "Object" : thisType; Assert.AreEqual(thisName, v7.GetType().FullName, thisType + " class name"); var v8 = new Uint8Array(1); thisType = "Uint8Array"; Assert.True(v8 != null, thisType + " created"); thisName = isSpecialTypeName ? "Object" : thisType; Assert.AreEqual(thisName, v8.GetType().FullName, thisType + " class name"); var v9 = new Uint8ClampedArray(1); thisType = "Uint8ClampedArray"; Assert.True(v9 != null, thisType + " created"); thisName = isSpecialTypeName ? "Object" : thisType; Assert.AreEqual(thisName, v9.GetType().FullName, thisType + " class name"); }
private static void SetTypedArrayInt(JSObject obj) { int[] buffer = Enumerable.Repeat((int)0x20, 15).ToArray(); obj.SetObjectProperty("typedArray", Int32Array.From(buffer)); }
public static void TestUseCase(Assert assert) { var isToStringToTypeNameLogic = !BrowserHelper.IsChrome(); assert.Expect(153); var v1 = new Float32Array(10); assert.Ok(v1 != null, "Float32Array created"); v1[1] = 11; v1[5] = 5; v1[9] = 99; assert.Equal(v1[1], 11, "Float32Array indexier works 1"); assert.Equal(v1[9], 99, "Float32Array indexier works 9"); // Check just a select number of references inside the Prototype inheritance. assert.Ok(v1.Buffer != null, "Float32Array Buffer"); assert.Equal(v1.ByteLength, 40, "Float32Array ByteLength"); assert.Equal(v1.ByteOffset, 0, "Float32Array ByteOffset"); assert.Equal(v1.Length, 10, "Float32Array Length"); /* * Commented out. Reason: Only Firefox implements them. * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array * var mA = v1.Join(); * v1.Reverse(); * var mB = v1.Slice(); * var mC = v1.Sort(); */ var expectedToStringFloat32Array1 = isToStringToTypeNameLogic ? "[object Float32Array]" : "0,11,0,0,0,5,0,0,0,99"; assert.Equal(v1.ToLocaleString(), expectedToStringFloat32Array1, "Float32Array ToLocaleString"); assert.Equal(v1.ToString(), expectedToStringFloat32Array1, "Float32Array ToString"); // Some browsers do not support SubArray() with no parameters. // At least 'begin' must be provided. var subArray11 = v1.SubArray(1); var expectedToStringFloat32Array2 = isToStringToTypeNameLogic ? "[object Float32Array]" : "11,0,0,0,5,0,0,0,99"; assert.Ok(subArray11 != null, "Float32Array SubArray1"); assert.Equal(subArray11.Length, 9, "Float32Array SubArray1 Length"); assert.Equal(subArray11.ToString(), expectedToStringFloat32Array2, "Float32Array SubArray1 ToString"); assert.Equal(subArray11.ByteOffset, 4, "Float32Array SubArray1 ByteOffset"); var subArray12 = subArray11.SubArray(2, 6); var expectedToStringFloat32Array3 = isToStringToTypeNameLogic ? "[object Float32Array]" : "0,0,5,0"; assert.Ok(subArray12 != null, "Float32Array SubArray2"); assert.Equal(subArray12.Length, 4, "Float32Array SubArray2 Length"); assert.Equal(subArray12.ToString(), expectedToStringFloat32Array3, "Float32Array SubArray2 ToString"); assert.Equal(subArray12.ByteOffset, 12, "Float32Array SubArray2 ByteOffset"); var v2 = new Float64Array(10); assert.Ok(v2 != null, "Float64Array created"); v2[1] = 11; v2[5] = 5; v2[9] = 99; assert.Equal(v2[1], 11, "Float64Array indexier works 1"); assert.Equal(v2[9], 99, "Float64Array indexier works 9"); assert.Ok(v2.Buffer != null, "Float64Array Buffer"); assert.Equal(v2.ByteLength, 80, "Float64Array ByteLength"); assert.Equal(v2.ByteOffset, 0, "Float64Array ByteOffset"); assert.Equal(v2.Length, 10, "Float64Array Length"); var expectedToStringFloat64Array1 = isToStringToTypeNameLogic ? "[object Float64Array]" : "0,11,0,0,0,5,0,0,0,99"; assert.Equal(v2.ToLocaleString(), expectedToStringFloat64Array1, "Float64Array ToLocaleString"); assert.Equal(v2.ToString(), expectedToStringFloat64Array1, "Float64Array ToString"); var subArray21 = v2.SubArray(1); var expectedToStringFloat64Array2 = isToStringToTypeNameLogic ? "[object Float64Array]" : "11,0,0,0,5,0,0,0,99"; assert.Ok(subArray21 != null, "Float64Array SubArray1"); assert.Equal(subArray21.Length, 9, "Float64Array SubArray1 Length"); assert.Equal(subArray21.ToString(), expectedToStringFloat64Array2, "Float64Array SubArray1 ToString"); assert.Equal(subArray21.ByteOffset, 8, "Float64Array SubArray1 ByteOffset"); var subArray22 = subArray21.SubArray(2, 6); var expectedToStringFloat64Array3 = isToStringToTypeNameLogic ? "[object Float64Array]" : "0,0,5,0"; assert.Ok(subArray22 != null, "Float64Array SubArray2"); assert.Equal(subArray22.Length, 4, "Float64Array SubArray2 Length"); assert.Equal(subArray22.ToString(), expectedToStringFloat64Array3, "Float64Array SubArray2 ToString"); assert.Equal(subArray22.ByteOffset, 24, "Float64Array SubArray2 ByteOffset"); var v3 = new Int16Array(10); assert.Ok(v3 != null, "Int16Array created"); v3[1] = 11; v3[5] = 5; v3[9] = 99; assert.Equal(v3[1], 11, "Int16Array indexier works 1"); assert.Equal(v3[9], 99, "Int16Array indexier works 9"); assert.Ok(v3.Buffer != null, "Int16Array Buffer"); assert.Equal(v3.ByteLength, 20, "Int16Array ByteLength"); assert.Equal(v3.ByteOffset, 0, "Int16Array ByteOffset"); assert.Equal(v3.Length, 10, "Int16Array Length"); var expectedToStringInt16Array1 = isToStringToTypeNameLogic ? "[object Int16Array]" : "0,11,0,0,0,5,0,0,0,99"; assert.Equal(v3.ToLocaleString(), expectedToStringInt16Array1, "Int16Array ToLocaleString"); assert.Equal(v3.ToString(), expectedToStringInt16Array1, "Int16Array ToString"); var subArray31 = v3.SubArray(1); var expectedToStringInt16Array2 = isToStringToTypeNameLogic ? "[object Int16Array]" : "11,0,0,0,5,0,0,0,99"; assert.Ok(subArray31 != null, "Int16Array SubArray1"); assert.Equal(subArray31.Length, 9, "Int16Array SubArray1 Length"); assert.Equal(subArray31.ToString(), expectedToStringInt16Array2, "Int16Array SubArray1 ToString"); assert.Equal(subArray31.ByteOffset, 2, "Int16Array SubArray1 ByteOffset"); var subArray32 = subArray31.SubArray(2, 6); var expectedToStringInt16Array3 = isToStringToTypeNameLogic ? "[object Int16Array]" : "0,0,5,0"; assert.Ok(subArray32 != null, "Int16Array SubArray2"); assert.Equal(subArray32.Length, 4, "Int16Array SubArray2 Length"); assert.Equal(subArray32.ToString(), expectedToStringInt16Array3, "Int16Array SubArray2 ToString"); assert.Equal(subArray32.ByteOffset, 6, "Int16Array SubArray2 ByteOffset"); var v4 = new Int32Array(10); assert.Ok(v4 != null, "Int32Array created"); v4[1] = 11; v4[5] = 5; v4[9] = 99; assert.Equal(v4[1], 11, "Int32Array indexier works 1"); assert.Equal(v4[9], 99, "Int32Array indexier works 9"); assert.Ok(v4.Buffer != null, "Int32Array Buffer"); assert.Equal(v4.ByteLength, 40, "Int32Array ByteLength"); assert.Equal(v4.ByteOffset, 0, "Int32Array ByteOffset"); assert.Equal(v4.Length, 10, "Int32Array Length"); var expectedToStringInt32Array1 = isToStringToTypeNameLogic ? "[object Int32Array]" : "0,11,0,0,0,5,0,0,0,99"; assert.Equal(v4.ToLocaleString(), expectedToStringInt32Array1, "Int32Array ToLocaleString"); assert.Equal(v4.ToString(), expectedToStringInt32Array1, "Int32Array ToString"); var subArray41 = v4.SubArray(1); var expectedToStringInt32Array2 = isToStringToTypeNameLogic ? "[object Int32Array]" : "11,0,0,0,5,0,0,0,99"; assert.Ok(subArray41 != null, "Int32Array SubArray1"); assert.Equal(subArray41.Length, 9, "Int32Array SubArray1 Length"); assert.Equal(subArray41.ToString(), expectedToStringInt32Array2, "Int32Array SubArray1 ToString"); assert.Equal(subArray41.ByteOffset, 4, "Int32Array SubArray1 ByteOffset"); var subArray42 = subArray41.SubArray(2, 6); var expectedToStringInt32Array3 = isToStringToTypeNameLogic ? "[object Int32Array]" : "0,0,5,0"; assert.Ok(subArray42 != null, "Int32Array SubArray2"); assert.Equal(subArray42.Length, 4, "Int32Array SubArray2 Length"); assert.Equal(subArray42.ToString(), expectedToStringInt32Array3, "Int32Array SubArray2 ToString"); assert.Equal(subArray42.ByteOffset, 12, "Int32Array SubArray2 ByteOffset"); var v5 = new Int8Array(10); assert.Ok(v5 != null, "Int8Array created"); v5[1] = 11; v5[5] = 5; v5[9] = 99; assert.Equal(v5[1], 11, "Int8Array indexier works 1"); assert.Equal(v5[9], 99, "Int8Array indexier works 9"); assert.Ok(v5.Buffer != null, "Int8Array Buffer"); assert.Equal(v5.ByteLength, 10, "Int8Array ByteLength"); assert.Equal(v5.ByteOffset, 0, "Int8Array ByteOffset"); assert.Equal(v5.Length, 10, "Int8Array Length"); var expectedToStringInt8Array1 = isToStringToTypeNameLogic ? "[object Int8Array]" : "0,11,0,0,0,5,0,0,0,99"; assert.Equal(v5.ToLocaleString(), expectedToStringInt8Array1, "Int8Array ToLocaleString"); assert.Equal(v5.ToString(), expectedToStringInt8Array1, "Int8Array ToString"); var subArray51 = v5.SubArray(1); var expectedToStringInt8Array2 = isToStringToTypeNameLogic ? "[object Int8Array]" : "11,0,0,0,5,0,0,0,99"; assert.Ok(subArray51 != null, "Int8Array SubArray1"); assert.Equal(subArray51.Length, 9, "Int8Array SubArray1 Length"); assert.Equal(subArray51.ToString(), expectedToStringInt8Array2, "Int8Array SubArray1 ToString"); assert.Equal(subArray51.ByteOffset, 1, "Int8Array SubArray1 ByteOffset"); var subArray52 = subArray51.SubArray(2, 6); var expectedToStringInt8Array3 = isToStringToTypeNameLogic ? "[object Int8Array]" : "0,0,5,0"; assert.Ok(subArray52 != null, "Int8Array SubArray2"); assert.Equal(subArray52.Length, 4, "Int8Array SubArray2 Length"); assert.Equal(subArray52.ToString(), expectedToStringInt8Array3, "Int8Array SubArray2 ToString"); assert.Equal(subArray52.ByteOffset, 3, "Int8Array SubArray2 ByteOffset"); var v6 = new Uint16Array(10); assert.Ok(v6 != null, "Uint16Array created"); v6[1] = 11; v6[5] = 5; v6[9] = 99; assert.Equal(v6[1], 11, "Uint16Array indexier works 1"); assert.Equal(v6[9], 99, "Uint16Array indexier works 9"); assert.Ok(v6.Buffer != null, "Uint16Array Buffer"); assert.Equal(v6.ByteLength, 20, "Uint16Array ByteLength"); assert.Equal(v6.ByteOffset, 0, "Uint16Array ByteOffset"); assert.Equal(v6.Length, 10, "Uint16Array Length"); var expectedToStringUint16Array1 = isToStringToTypeNameLogic ? "[object Uint16Array]" : "0,11,0,0,0,5,0,0,0,99"; assert.Equal(v6.ToLocaleString(), expectedToStringUint16Array1, "Uint16Array ToLocaleString"); assert.Equal(v6.ToString(), expectedToStringUint16Array1, "Uint16Array ToString"); var subArray61 = v6.SubArray(1); var expectedToStringUint16Array2 = isToStringToTypeNameLogic ? "[object Uint16Array]" : "11,0,0,0,5,0,0,0,99"; assert.Ok(subArray61 != null, "Uint16Array SubArray1"); assert.Equal(subArray61.Length, 9, "Uint16Array SubArray1 Length"); assert.Equal(subArray61.ToString(), expectedToStringUint16Array2, "Uint16Array SubArray1 ToString"); assert.Equal(subArray61.ByteOffset, 2, "Uint16Array SubArray1 ByteOffset"); var subArray62 = subArray61.SubArray(2, 6); var expectedToStringUint16Array3 = isToStringToTypeNameLogic ? "[object Uint16Array]" : "0,0,5,0"; assert.Ok(subArray62 != null, "Uint16Array SubArray2"); assert.Equal(subArray62.Length, 4, "Uint16Array SubArray2 Length"); assert.Equal(subArray62.ToString(), expectedToStringUint16Array3, "Uint16Array SubArray2 ToString"); assert.Equal(subArray62.ByteOffset, 6, "Uint16Array SubArray2 ByteOffset"); var v7 = new Uint32Array(10); assert.Ok(v7 != null, "Uint32Array created"); v7[1] = 11; v7[5] = 5; v7[9] = 99; assert.Equal(v7[1], 11, "Uint32Array indexier works 1"); assert.Equal(v7[9], 99, "Uint32Array indexier works 9"); assert.Ok(v7.Buffer != null, "Uint32Array Buffer"); assert.Equal(v7.ByteLength, 40, "Uint32Array ByteLength"); assert.Equal(v7.ByteOffset, 0, "Uint32Array ByteOffset"); assert.Equal(v7.Length, 10, "Uint32Array Length"); var expectedToStringUint32Array1 = isToStringToTypeNameLogic ? "[object Uint32Array]" : "0,11,0,0,0,5,0,0,0,99"; assert.Equal(v7.ToLocaleString(), expectedToStringUint32Array1, "Uint32Array ToLocaleString"); assert.Equal(v7.ToString(), expectedToStringUint32Array1, "Uint32Array ToString"); var subArray71 = v7.SubArray(1); var expectedToStringUint32Array2 = isToStringToTypeNameLogic ? "[object Uint32Array]" : "11,0,0,0,5,0,0,0,99"; assert.Ok(subArray71 != null, "Uint32Array SubArray1"); assert.Equal(subArray71.Length, 9, "Uint32Array SubArray1 Length"); assert.Equal(subArray71.ToString(), expectedToStringUint32Array2, "Uint32Array SubArray1 ToString"); assert.Equal(subArray71.ByteOffset, 4, "Uint32Array SubArray1 ByteOffset"); var subArray72 = subArray71.SubArray(2, 6); var expectedToStringUint32Array3 = isToStringToTypeNameLogic ? "[object Uint32Array]" : "0,0,5,0"; assert.Ok(subArray72 != null, "Uint32Array SubArray2"); assert.Equal(subArray72.Length, 4, "Uint32Array SubArray2 Length"); assert.Equal(subArray72.ToString(), expectedToStringUint32Array3, "Uint32Array SubArray2 ToString"); assert.Equal(subArray72.ByteOffset, 12, "Uint32Array SubArray2 ByteOffset"); var v8 = new Uint8Array(10); assert.Ok(v8 != null, "Uint8Array created"); v8[1] = 11; v8[5] = 5; v8[9] = 99; assert.Equal(v8[1], 11, "Uint8Array indexier works 1"); assert.Equal(v8[9], 99, "Uint8Array indexier works 9"); assert.Ok(v8.Buffer != null, "Uint8Array Buffer"); assert.Equal(v8.ByteLength, 10, "Uint8Array ByteLength"); assert.Equal(v8.ByteOffset, 0, "Uint8Array ByteOffset"); assert.Equal(v8.Length, 10, "Uint8Array Length"); var expectedToStringUint8Array1 = isToStringToTypeNameLogic ? "[object Uint8Array]" : "0,11,0,0,0,5,0,0,0,99"; assert.Equal(v8.ToLocaleString(), expectedToStringUint8Array1, "Uint8Array ToLocaleString"); assert.Equal(v8.ToString(), expectedToStringUint8Array1, "Uint8Array ToString"); var subArray81 = v8.SubArray(1); var expectedToStringUint8Array2 = isToStringToTypeNameLogic ? "[object Uint8Array]" : "11,0,0,0,5,0,0,0,99"; assert.Ok(subArray81 != null, "Uint8Array SubArray1"); assert.Equal(subArray81.Length, 9, "Uint8Array SubArray1 Length"); assert.Equal(subArray81.ToString(), expectedToStringUint8Array2, "Uint8Array SubArray1 ToString"); assert.Equal(subArray81.ByteOffset, 1, "Uint8Array SubArray1 ByteOffset"); var subArray82 = subArray81.SubArray(2, 6); var expectedToStringUint8Array3 = isToStringToTypeNameLogic ? "[object Uint8Array]" : "0,0,5,0"; assert.Ok(subArray82 != null, "Uint8Array SubArray2"); assert.Equal(subArray82.Length, 4, "Uint8Array SubArray2 Length"); assert.Equal(subArray82.ToString(), expectedToStringUint8Array3, "Uint8Array SubArray2 ToString"); assert.Equal(subArray82.ByteOffset, 3, "Uint8Array SubArray2 ByteOffset"); var v9 = new Uint8ClampedArray(10); assert.Ok(v9 != null, "Uint8ClampedArray created"); v9[1] = 11; v9[5] = 5; v9[9] = 99; assert.Equal(v9[1], 11, "Uint8ClampedArray indexier works 1"); assert.Equal(v9[9], 99, "Uint8ClampedArray indexier works 9"); assert.Ok(v9.Buffer != null, "Uint8ClampedArray Buffer"); assert.Equal(v9.ByteLength, 10, "Uint8ClampedArray ByteLength"); assert.Equal(v9.ByteOffset, 0, "Uint8ClampedArray ByteOffset"); assert.Equal(v9.Length, 10, "Uint8ClampedArray Length"); var expectedToStringUint8ClampedArray1 = isToStringToTypeNameLogic ? "[object Uint8ClampedArray]" : "0,11,0,0,0,5,0,0,0,99"; assert.Equal(v9.ToLocaleString(), expectedToStringUint8ClampedArray1, "Uint8ClampedArray ToLocaleString"); assert.Equal(v9.ToString(), expectedToStringUint8ClampedArray1, "Uint8ClampedArray ToString"); var subArray91 = v9.SubArray(1); var expectedToStringUint8ClampedArray2 = isToStringToTypeNameLogic ? "[object Uint8ClampedArray]" : "11,0,0,0,5,0,0,0,99"; assert.Ok(subArray91 != null, "Uint8ClampedArray SubArray1"); assert.Equal(subArray91.Length, 9, "Uint8ClampedArray SubArray1 Length"); assert.Equal(subArray91.ToString(), expectedToStringUint8ClampedArray2, "Uint8ClampedArray SubArray1 ToString"); assert.Equal(subArray91.ByteOffset, 1, "Uint8ClampedArray SubArray1 ByteOffset"); var subArray92 = subArray91.SubArray(2, 6); var expectedToStringUint8ClampedArray3 = isToStringToTypeNameLogic ? "[object Uint8ClampedArray]" : "0,0,5,0"; assert.Ok(subArray92 != null, "Uint8ClampedArray SubArray2"); assert.Equal(subArray92.Length, 4, "Uint8ClampedArray SubArray2 Length"); assert.Equal(subArray92.ToString(), expectedToStringUint8ClampedArray3, "Uint8ClampedArray SubArray2 ToString"); assert.Equal(subArray92.ByteOffset, 3, "Uint8ClampedArray SubArray2 ByteOffset"); }
public void Visit(Int32Array array) => CreateBuffers(array);
public void ByteLengthPropertyWorks() { var arr = new Int32Array(23); Assert.AreEqual(92, arr.ByteLength, "Should be correct"); }
public void Uniform4iv(WebGLUniformLocation location, Int32Array v) { }
public static Int32Array Int32ArrayFrom() { var array = new int[50]; return(Int32Array.From(array)); }
bool Merge3DFace(vdPolyface vdp) { int II = int.MaxValue; Int32Array i32 = vdp.FaceList; Dictionary <int, int> deleteID = new Dictionary <int, int>(); Dictionary <int, int> kk1 = new Dictionary <int, int>(); Dictionary <int, int> kk2 = new Dictionary <int, int>(); //合并三角形 #region 合并三角形 for (int i = 0; i < i32.Count; i = i + 5) { if (i32[i + 4] != II && i32[i] == i32[i + 3]) //一定是没有被合并过的,说明是三角形 { int i1 = i32[i]; int i2 = i32[i + 1]; int i3 = i32[i + 2]; kk1.Clear(); kk1.Add(i1, i1); kk1.Add(i2, i2); kk1.Add(i3, i3); for (int j = i + 5; j < i32.Count; j = j + 5) { if (i32[j + 4] != II && i32[j] == i32[j + 3]) //剔除已经处理过的 { int j1 = i32[j]; int j2 = i32[j + 1]; int j3 = i32[j + 2]; //kk2.Clear(); //kk2.Add(j1, j1); //kk2.Add(j2, j2); //kk2.Add(j3, j3); int k1 = 0; int k2 = 0; int k3 = 0; int k4 = 0; //找到公共边 if ((i1 == j1 || i1 == j2 || i1 == j3) && (i2 == j1 || i2 == j2 || i2 == j3)) { k1 = i3; k2 = i1; k4 = i2; } else if ((i2 == j1 || i2 == j2 || i2 == j3) && (i3 == j1 || i3 == j2 || i3 == j3)) { k1 = i1; k2 = i2; k4 = i3; } else if ((i1 == j1 || i1 == j2 || i1 == j3) && (i3 == j1 || i3 == j2 || i3 == j3)) { k1 = i2; k2 = i3; k4 = i1; } else { continue; } if (!kk1.ContainsKey(j1)) { k3 = j1; } if (!kk1.ContainsKey(j2)) { k3 = j2; } if (!kk1.ContainsKey(j3)) { k3 = j3; } //检查是否共面 gPoints gps3 = new gPoints(); //gps3.Add(vdp.VertexList[i1 - 1]); //gps3.Add(vdp.VertexList[i2 - 1]); //gps3.Add(vdp.VertexList[i3 - 1]); gps3.Add(vdp.VertexList[k1 - 1]); gps3.Add(vdp.VertexList[k2 - 1]); gps3.Add(vdp.VertexList[k4 - 1]); Vector vec = gps3.GetNormal(); // 导出时,下面计算dist的方法有异常OutOfRange异常抛出,特加以下判断 if (k3 > vdp.VertexList.Count || k1 > vdp.VertexList.Count || k3 <= 0 || k1 <= 0) { continue; } double dist = Globals.DistancePointToPlane(vdp.VertexList[k3 - 1], vec, vdp.VertexList[k1 - 1]); if (Math.Abs(dist) > Globals.VD_ZERO6) { continue; } //判断是否是凹多边形 凹多边形有显示问题 ////判断是否构成了三角形 gps3.InsertAt(3, vdp.VertexList[k3 - 1]); //gPoints gps4=gps3.Clone() as gPoints; //gps3.makeClosed(); //gps4.makeClosed(); //gps4.RemoveInLinePoints(); //if (gps3.Count != gps4.Count) continue; double area1 = GetArea3D(gps3[0], gps3[1], gps3[2]); double area2 = GetArea3D(gps3[3], gps3[1], gps3[2]); double area3 = GetArea3D(gps3[0], gps3[1], gps3[3]); double area4 = GetArea3D(gps3[0], gps3[2], gps3[3]); double area = Math.Max(area3, area4); if (area1 + area2 <= area) //凹多边形 { continue; } i32[i] = k4; i32[i + 1] = k1; i32[i + 2] = k2; i32[i + 3] = k3;//这里放到第3个点经常出现问题 i32[j + 4] = II; break; } } } } #endregion #region 生成新的polyface Int32Array iii32 = new Int32Array(); for (int i = 0; i < vdp.FaceList.Count; i = i + 5) { if (vdp.FaceList[i + 4] != II) { iii32.Add(i32[i]); iii32.Add(i32[i + 1]); iii32.Add(i32[i + 2]); iii32.Add(i32[i + 3]); iii32.Add(i32[i + 4]); } } vdp.FaceList = iii32; vdp.Invalidate(); #endregion return(true); }
private void OnEvent_Operate(IEvent ievent) { var e = ievent as MyArtifactOpEvent; if (e == null) { return; } switch (e.Idx) { case 0: { DataModel.Page = 0; DataModel.TogglePack = 0; } break; case 1: { DataModel.Page = 1; DataModel.TogglePack = 1; } break; case 2: { if (DataModel.Page == 0) { EventDispatcher.Instance.DispatchEvent(new Close_UI_Event(UIConfig.MyArtifactUI)); } else { DataModel.Page = 0; DataModel.TogglePack = 0; DataModel.SaveEffect = false; DataModel.RandEffect = false; } } break; case 3: { DataModel.RandEffect = false; DataModel.RandEffect = true; var bagItem = DataModel.CurrentEquip; RequestRandSkill(bagItem.BagId, bagItem.Index); } break; case 4: { var bagItem = DataModel.CurrentEquip; UseEquipSkill(bagItem.BagId, bagItem.Index, true); } break; case 5: { var bagItem = DataModel.CurrentEquip; UseEquipSkill(bagItem.BagId, bagItem.Index, false); } break; case 6: { if (DataModel.Page == 2) { DataModel.AdvanceSelectPack = 1; } else { DataModel.TogglePack = 1; } } break; case 7: { if (DataModel.Page == 2) { DataModel.AdvanceSelectPack = 0; } else { DataModel.TogglePack = 0; } } break; case 8: { var itemId = int.Parse(Table.GetClientConfig(1208).Value); GameUtils.CheckEnoughItems(itemId, 1); } break; case 9: { DataModel.Page = 2; DataModel.TogglePack = 2; ClearEvoData(); if (isAdvanceInit == false) { isAdvanceInit = true; PlayerDataManager.Instance.RefreshEquipBagStatus(); DataModel.AdvanceSelectPack = 0; } } break; case 10: { if (!CheckSmithyEvoItem()) { EventDispatcher.Instance.DispatchEvent(new ShowUIHintBoard(300600)); return; } var castData = DataModel.AdvanceDataModel; var evoItems = castData.EvolveItems; var mainItem = evoItems[0]; mMajorEquipBagId = mainItem.BagId; mMajorEquipBagIndex = mainItem.Index; var param = new Int32Array(); param.Items.Add(3); // 0:铸造功能 { // foreach(var evoItem in evoItems) var __enumerator5 = (evoItems).GetEnumerator(); while (__enumerator5.MoveNext()) { var evoItem = __enumerator5.Current; { if (evoItem.ItemId != -1) { param.Items.Add(evoItem.BagId); param.Items.Add(evoItem.Index); } } } } //mRefreshEvoUiAction = ResetEvoUI; //进阶后将获得新装备“[{0}]{1}[-]”\n点击[4BE127]确定[-]按钮继续 var warnStr = GameUtils.GetDictionaryText(300608); var tbItem = Table.GetItemBase(castData.EvolvedItemId); if (tbItem == null) { return; } warnStr = string.Format(warnStr, GameUtils.GetTableColorString(tbItem.Color), tbItem.Name); UIManager.Instance.ShowMessage(MessageBoxType.OkCancel, warnStr, "", () => { UseBuildService(param, AdvanceEquipManual); }); } break; } }
//生成队列 Int32Array ParaseSide2List(Dictionary <string, bool> kvs, int count) { //生成两个字典 //Dictionary<string, string> arr = new Dictionary<string, string>(); //foreach (KeyValuePair<string, bool> kv in kvs) //{ // arr.Add(kv.Key, kv.Key); //} //Int32Array ii32 = new Int32Array(); //int[] Points = new int[count]; Dictionary <int, int> arr1 = new Dictionary <int, int>(); Dictionary <int, int> arr2 = new Dictionary <int, int>(); Dictionary <int, int> arr3 = new Dictionary <int, int>(); Int32Array i32 = new Int32Array(); int beginNode = -1; //找出非重复的边 foreach (KeyValuePair <string, bool> kv in kvs) { string str = kv.Key; string[] strArr = str.Split(new char[] { ',' }); int i1 = int.Parse(strArr[0]); int i2 = int.Parse(strArr[1]); if (beginNode == -1) { beginNode = i1; break; } } //找到外循环边 i32.Add(beginNode); //从第一个开始循环往后加 int currentNode = beginNode; while (true) { int len = i32.Count; string strKey = ""; int iEnd = -1; foreach (KeyValuePair <string, bool> kv in kvs) { string str = kv.Key; string[] strArr = str.Split(new char[] { ',' }); int i1 = int.Parse(strArr[0]); int i2 = int.Parse(strArr[1]); if (currentNode == i1) { iEnd = i2; strKey = kv.Key; break; } else if (currentNode == i2) { iEnd = i1; strKey = kv.Key; break; } } if (strKey != "") { i32.Add(iEnd); currentNode = iEnd; kvs.Remove(strKey); } if (len == i32.Count) //没有再增加的了 { break; } } return(i32); }
private static void MarshalInt32Array(Int32Array buffer) { _intBuffer = buffer.ToArray(); }
public void SetNormalArrayWithOffsetWorks() { var arr = new Int32Array(6); arr.Set(new[] { 3, 6, 7 }, 2); AssertContent(arr, new[] { 0, 0, 3, 6, 7, 0 }, "Content"); }
private static void MarshalArrayBufferToInt32Array(ArrayBuffer buffer) { using (var ints = new Int32Array(buffer)) _intBuffer = ints.ToArray(); }
public static void TestUseCase(Assert assert) { assert.Expect(18); var isSpecialTypeName = BrowserHelper.IsPhantomJs(); var v1 = new Float32Array(1); var thisType = "Float32Array"; assert.Ok(v1 != null, thisType + " created"); var thisName = isSpecialTypeName ? "Object" : thisType; assert.Equal(v1.GetClassName(), thisName, thisType + " class name"); var v2 = new Float64Array(1); thisType = "Float64Array"; assert.Ok(v2 != null, thisType + " created"); thisName = isSpecialTypeName ? "Object" : thisType; assert.Equal(v2.GetClassName(), thisName, thisType + " class name"); var v3 = new Int16Array(1); thisType = "Int16Array"; assert.Ok(v3 != null, thisType + " created"); thisName = isSpecialTypeName ? "Object" : thisType; assert.Equal(v3.GetClassName(), thisName, thisType + " class name"); var v4 = new Int32Array(1); thisType = "Int32Array"; assert.Ok(v4 != null, thisType + " created"); thisName = isSpecialTypeName ? "Object" : thisType; assert.Equal(v4.GetClassName(), thisName, thisType + " class name"); var v5 = new Int8Array(1); thisType = "Int8Array"; assert.Ok(v5 != null, thisType + " created"); thisName = isSpecialTypeName ? "Object" : thisType; assert.Equal(v5.GetClassName(), thisName, thisType + " class name"); var v6 = new Uint16Array(1); thisType = "Uint16Array"; assert.Ok(v6 != null, thisType + " created"); thisName = isSpecialTypeName ? "Object" : thisType; assert.Equal(v6.GetClassName(), thisName, thisType + " class name"); var v7 = new Uint32Array(1); thisType = "Uint32Array"; assert.Ok(v7 != null, thisType + " created"); thisName = isSpecialTypeName ? "Object" : thisType; assert.Equal(v7.GetClassName(), thisName, thisType + " class name"); var v8 = new Uint8Array(1); thisType = "Uint8Array"; assert.Ok(v8 != null, thisType + " created"); thisName = isSpecialTypeName ? "Object" : thisType; assert.Equal(v8.GetClassName(), thisName, thisType + " class name"); var v9 = new Uint8ClampedArray(1); thisType = "Uint8ClampedArray"; assert.Ok(v9 != null, thisType + " created"); thisName = isSpecialTypeName ? "Object" : thisType; assert.Equal(v9.GetClassName(), thisName, thisType + " class name"); }
public void Visit(Int32Array array) => CompareArrays(array);
/// <summary> /// /处理polyface /// </summary> //bool <param name="vdp"></param> bool GetVDPBorderLine(vdPolyface vdp, vdFigure vdPf) { vdPolyface vdpOut = new vdPolyface(); Dictionary <string, bool> kvs = new Dictionary <string, bool>(); Int32Array iii32 = vdp.FaceList; for (int i = 0; i < iii32.Count; i++) { if (vdp.FaceList[i] < 0) { if (i % 5 != 4) { vdp.FaceList[i] = -vdp.FaceList[i]; } } } iii32 = vdp.FaceList; for (int i = 0; i < iii32.Count; i = i + 5) { AddSide(kvs, iii32[i], iii32[i + 1]); AddSide(kvs, iii32[i + 1], iii32[i + 2]); AddSide(kvs, iii32[i + 2], iii32[i]); } //找到外边界 Int32Array i32 = ParaseSide2List(kvs, vdp.VertexList.Count + 1); if (i32.Count < 5) { return(false); } //找到向量 ///int iii = 1; gPoints Points = vdp.VertexList; Points.makeClosed(); gPoints gps = new gPoints();// Points.Clone() as gPoints; foreach (int ii in i32) { gps.Add(Points[ii - 1]); } gps.RemoveEqualPoints(Globals.VD_ZERO5); //gps.RemoveInLinePoints(); Int32Array ii32 = new Int32Array(); gPoints gpss = new gPoints(); #region 延长线段到最长 gpss.Add(gps[0]); for (int i = 0; i < gps.Count - 1; i++) { //if (i == 5) //{ // int j = 0; //} if (i != gps.Count - 2) { double dd = Globals.distPointFromLine(gps[i + 2], gps[i], gps[i + 1]); if (Globals.distPointFromLine(gps[i + 2], gps[i], gps[i + 1]) < 0.2) { continue; } else { gpss.Add(gps[i + 1]); } } if (i == gps.Count - 2) { if (Globals.distPointFromLine(gps[1], gps[i], gps[i + 1]) < 0.2) { gpss.RemoveAt(0); } else { gpss.Add(gps[i + 1]); } } } #endregion gpss.makeClosed(); gpss.RemoveLast(); //找到四条边中符合圆柱体标准的。 if (gpss.Count % 2 != 0 || gpss.Count < 10) { return(false); } int half = gpss.Count / 2; gPoints gEndSide1 = new gPoints(); gPoints gEndSide2 = new gPoints(); gPoints gParaSide1 = new gPoints(); gPoints gParaSide2 = new gPoints(); for (int i = 0; i < gpss.Count / 2; i++) { Vector v1 = new Vector(gpss[i], gpss[i + 1]); Vector v2 = new Vector(gpss[i + half], gpss[(half + i + 1) % gpss.Count]); v1.Cross(v2); if (v1.Length < Globals.VD_ZERO6) //说明平行 { gEndSide1.RemoveAll(); gEndSide2.RemoveAll(); gParaSide1.RemoveAll(); gParaSide2.RemoveAll(); gParaSide1.Add(gpss[i]); gParaSide1.Add(gpss[i + 1]); gParaSide2.Add(gpss[i + half]); gParaSide2.Add(gpss[(half + i + 1) % gpss.Count]); for (int j = i + 1; j < i + half; j++) { gEndSide1.Add(gpss[j]); } for (int j = i + half + 1; j < i + 2 * half; j++) { gEndSide2.Add(gpss[j % gpss.Count]); } gPoint sp1 = new gPoint(); gPoint sp2 = new gPoint(); double radius = 0.0; //判断是个边是否符合圆柱体标准 if (!IS4SideCyln(gEndSide1, gEndSide2, gParaSide1, gParaSide2, ref sp1, ref sp2, out radius)) //不符合圆柱体标准 ,直接返回错误 { continue; } gpss.RemoveAll(); //这里可以进行圆柱简化 gpss.AddRange(gEndSide1); gpss.AddRange(gParaSide2); gpss.AddRange(gEndSide2); gpss.AddRange(gParaSide1); //是否齐头圆柱,即没有切过的圆柱,如果齐圆柱头,特殊处理,此处暂时不变, // half = gpss.Count / 2; vdpOut.VertexList = gpss; vdpOut.FaceList = new Int32Array(); for (int ii = 1; ii < half; ii++) { vdpOut.FaceList.Add(ii); vdpOut.FaceList.Add(ii + 1); vdpOut.FaceList.Add(gpss.Count - (ii + 1) + 1); vdpOut.FaceList.Add(gpss.Count - ii + 1); vdpOut.FaceList.Add(-1); } vdp.FaceList = vdpOut.FaceList; vdp.VertexList = vdpOut.VertexList; //vdp.Invalidate(); //vdp.Update(); break; } } //找到两个顶边,如果多个就扔掉了。 //GetNonParaSide(vdp.VertexList, i32, orign, vector); return(true); //Int32Array side1= }