Service Application: AWS Part 3

Objective: Creating A Search Callback System in Unity

In the previous post,we finished up with the ability to save case files to AWS S3. Now we need to be able to to search for a case using the SearchPanel (shown above), download the file and render it back to the user.

To get started we will try and get a list of all the case files stored in the bucket(I say list but it’s really just going to log each case to the console).

We set up the method and call it when the pressing the FIND CASE # button on the main menu(all shown below). This will be moved into the search panel but for now, it’s an empty call without a case number so this is just to get it working.

We found two cases, shown above after pressing the button (cases are saved using random numbers and not sequenced).

Now that we have a reply with case files, time to test the search function. First we get the GetCaseList to take a string input for the case number. Next we create a string for the target case and take that input. Then we simple check each case key from the response to see if one matches and log the case with case number was found. We have moved from the main menu find case button and now use the Search Panel search button and pass the input field value for the case number using the SearchPanel script and ProcessInfo method.

Now that we can get the list and check for the case, some small refactoring to keep things clean. We import the namespace System.Linq to use Linq to prevent logging all objects and just check for the target case.

Next we check if the case has been found and if so use the S3Client to make a call using the bucket name and target case name to run into a series of steps. We check that the response stream is not null then create a byte array for the data. Following this we create and use a StreamReader to read the response. We then use a MemorySteam which gets written to the byte array. We then use another MemorySteam that takes the data(byte array) and using a BinaryFormatter deserialize the fetched case data which gets converted into the active case.

Finally calling the onComplete callback which triggers moving to the SelectPanel from the ProcessInfo method on the SearchPanel.





Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Support for In-Game Content on Nexus

25 idioms you should know for software development

LAG functionality on SQL Data

In Under 5 Minutes: Running Microsoft SQL Server 2016 on Google Cloud Platform

Do more with Codable

Detecting text in an image on the web in real-time

How to run a Java JAR file using JRuby and Cucumber

CS373 Spring 2022: Alexander Han

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Simon Leen

Simon Leen


More from Medium

Getting Started with AWS for Unity

Creating Coin Distraction Feature in Unity (Part 1)

Creating a cooldown system in Unity.

Unity Features 101: Assembly Definitions