public override bool Load() { Rabbit targetData = target as Rabbit; var client = new DatabaseClient("", ""); string error = string.Empty; var db = client.GetDatabase(targetData.SheetName, ref error); var table = db.GetTable <RabbitData>(targetData.WorksheetName) ?? db.CreateTable <RabbitData>(targetData.WorksheetName); List <RabbitData> myDataList = new List <RabbitData>(); var all = table.FindAll(); foreach (var elem in all) { RabbitData data = new RabbitData(); data = Cloner.DeepCopy <RabbitData>(elem.Element); myDataList.Add(data); } targetData.dataArray = myDataList.ToArray(); EditorUtility.SetDirty(targetData); AssetDatabase.SaveAssets(); return(true); }
private static void SendMessage() { for (int i = 0; i < 1000; i++) { RabbitData data = new RabbitData { id = i, time = DateTime.Now, data = "this is data :" + i }; var send = MessageFactory.CreateMessageInstance(data); RabbitMQClient.Instance.DelaySender(send, 3000); } }
void ConsumeMessageFromQueue() { uint readAmt = 0; uint headerAmt = 0; byte[] header = new byte[500]; RabbitData currentRabbitData = new RabbitData(); while (isConnected) { // Find a data chunk that is available for loading the message bool messageReceived = false; lock (_lock) { messageReceived = RabbitNativeMethods.ConsumeMessage(serverConnection, ref headerAmt, header, ref readAmt, currentRabbitData.data); } // the code that you want to measure comes here if (messageReceived) { if (readAmt == 0) { continue; } currentRabbitData.isUsed = true; currentRabbitData.routingkey = System.Text.Encoding.UTF8.GetString(header, 0, (int)headerAmt); lock (_lock) { if (!dataDict.ContainsKey(currentRabbitData.routingkey)) { dataDict[currentRabbitData.routingkey] = new RabbitData(); } currentRabbitData.data.CopyTo(dataDict[currentRabbitData.routingkey].data, 0); } } } }
public override void OnInspectorGUI() { RabbitData script = target as RabbitData; base.OnInspectorGUI(); EditorGUILayout.Space(); EditorGUILayout.LabelField("Parameters", EditorStyles.boldLabel); script.speed = EditorGUILayout.Slider("Walk Speed", script.speed, 0.1f, 20f); script.maxStepDistance = EditorGUILayout.IntSlider("Max Step Distance", script.maxStepDistance, 1, 6); script.rangeOfView = EditorGUILayout.Slider("Range Of View", script.rangeOfView, 0f, 20f); EditorGUILayout.Space(); EditorGUILayout.LabelField("Jump", EditorStyles.boldLabel); script.jumpHeight = EditorGUILayout.Slider("Jump Height", script.jumpHeight, 0.1f, 5f); script.afterJumpTempoInterval = EditorGUILayoutExtension.IntervalField("After Jump Delay", script.afterJumpTempoInterval, AFTER_JUMP_MAGNITUDE); EditorUtilityExtension.SetDirtyOnGUIChange(script); serializedObject.ApplyModifiedProperties(); }
/// <summary> /// リストに登録されているウサギをもとにフラグを切り替える /// </summary> public void SwitchPictureBookFlag() { // 管理クラスのフラグの配列を取得 bool[] isReleasedRabbits = GameDataManager.Inst.PlayData.IsReleasedRabbit; // 登録されているウサギの番号とフラグ配列の同じ番号のフラグを切り替えていく foreach (int rabbitNumber in rescuedRabbitNumbers) { // 図鑑に未だ登録されていないウサギのフラグのみを切り替える if (!isReleasedRabbits[rabbitNumber]) { // 救出フラグをオンにする isReleasedRabbits[rabbitNumber] = true; // Newアイコンの表示フラグをオンにする GameDataManager.Inst.PlayData.IsDrawRabbitNewIcon[rabbitNumber] = true; // ウサギの番号からデータを取得 RabbitData rabbitData = TowerObjectDataManager.Inst.GetRabbitDataFromNumber(rabbitNumber); // 新しく救出したウサギとしてリストに登録 newRescuedRabbits.Add(rabbitData); } } }