Serial Filler. Copyright 2016 Christopher Stanley

Size: px
Start display at page:

Download "Serial Filler. Copyright 2016 Christopher Stanley"

Transcription

1 Serial Filler Copyright 2016 Christopher Stanley EasyNet is a serialization asset for Unity sequences of data a snap! It makes serializing and deserializing Examples In the Serial Filler\Examples folder you will find a progressive series of simple programs that demonstrate how to use Serial Filler. They put the content of this manual in a live setting. They work best if you look at them in order, from A to J. Thank you! These creations are a labor of love for me. It's very rewarding to know that what I make goes out into the world and helps people. Please feel free to contact me if you need any assistance or have any feedback. Thank you for your purchase, and I hope you enjoy using Serial Filler! Christopher If you like Serial Filler, please tell everyone! Leave a review on the Asset Store. If you don't like Serial Filler, please tell me! Let me know how I can help: support@christophercreates.com

2 Basic Usage Simple serialization and deserialization works like this. // Serialize byte[] bytes = SerialFiller.Break(Color.red); // Deserialize Color value = (Color)SerialFiller.Make(bytes); Data IDs When you break a value, you have the option of including an additional string to act as an identifier. This is purely for your reference, so you can put anything you want in it. // Break with ID byte[] bytes = SerialFiller.Break(Color.red, "Player Team"); // Make with ID string id = null; Color color = (Color)SerialFiller.Make(bytes, ref id); // id now contains "Player Team" Data Fills You can record everything you break into a data fill with IsFilling. // Start filling SerialFiller.IsFilling = true; // Serialize SerialFiller.Break(Color.red, "Player Team"); SerialFiller.Break("ABC", "Target Name"); SerialFiller.Break(Vector3.up, "Enemy Move"); // The serialized data is here var datafill = SerialFiller.DataFill; A data fill is a List<SerialFillerData>. Each element has a Value and an Id property. // Get the player team color Color color = (Color)SerialFiller.DataFill[0].Value; string id = SerialFiller.DataFill[0].Id;

3 Serializing Data Fills Once you have a data fill, you can store or transmit the whole thing and restore it later. // Save serialized data fill byte[] bytes = SerialFiller.BreakDataFill(); File.WriteAllBytes("DataFile", bytes); // Load deserialized data fill byte[] bytes = File.ReadAllBytes("DataFile"); SerialFiller.MakeDataFill(bytes); Searching Data Fills You can search data fills for particular types of data or IDs. The result is a custom data fill. // Search for Vector3 types var locations = SerialFiller.SearchDataFill(typeof(Vector3)); // Search for target IDs var targets = SerialFiller.SearchDataFill("Target"); // Search for both var targetlocations = SerialFiller.SearchDataFill(typeof(Vector3), "Target"); Multiple Data Fills The default data fill is kept in SerialFiller.DataFill. SearchDataFill can accept a custom data fill as a parameter. But BreakDataFill and // Get a custom data fill var customdatafill = SerialFiller.DataFill.GetRange(3, 7); // Break it byte[] custombytes = SerialFiller.BreakDataFill(customDataFill); // Search it var customtargets = SerialFiller.SearchDataFill("Target", customdatafill);

4 Serialization Types Serial Filler can serialize many types of data. C# Types All basic types (bool, float, int, string, etc). Unity Types Color, Color32, UNET GameObject*, Matrix4x4, NetworkHash128, NetworkIdentity, NetworkInstanceId, NetworkSceneId, Plane, Quaternion, Ray, Rect, UNET Transform*, Vector2, Vector3, and Vector4 *These are UNET references for Network Identity components, not the objects themselves. MessageBase Subclass Objects These are a great way to bundle groups of Unity type values into a single object. See below and the Serial Filler\Examples folder for examples. BinaryFormatter Serializable Objects Any object that has been properly formatted to be serializable by BinaryFormatter can be used. See below and the Serial Filler\Examples folder for examples. Arrays Serial Filler can also use arrays of any of the types above.

5 Using MessageBase Subclasses A MessageBase subclass object is very useful for bundling groups of related Unity type values. using UnityEngine; using UnityEngine.Networking; public class MyData : MessageBase { public Color PlayerTeam; public Vector3 TargetPosition; public string LevelName; } You can then break or make the whole object at once. // Create the custom object MyData mydata = new MyData(); mydata.playerteam = Color.yellow; mydata.targetposition = new Vector3(1, 2, 3); mydata.levelname = "Dungeon"; // Break it byte[] bytes = SerialFiller.Break(myData); // Make it MyData mydata = (MyData)SerialFiller.Make(bytes); See the Unity MessageBase documentation for more details. The advantage of MessageBase subclasses is that they can be serialized when containing Unity types, where BinaryFormatter-ready objects cannot. The disadvantage of MessageBase subclasses is that they cannot be as complex in structure as BinaryFormatter-ready objects.

6 Using BinaryFormatter-Ready Objects Objects formatted for use with BinaryFormatter are a useful way to bundle related data into a single object. using System; [Serializable] public class MyData { public int LevelNumber; public string PlayerName; public float TimeLeft; } You can then break or make the whole object at once. // Create the custom object MyData mydata = new MyData(); mydata.levelnumber = 4; mydata.playername = "Sue"; mydata.timeleft = 1.23f; // Break it byte[] bytes = SerialFiller.Break(myData); // Make it MyData mydata = (MyData)SerialFiller.Make(bytes); See the C# BinaryFormatter documentation for more details. The advantage of BinaryFormatter-ready objects is that they can be more complex in structure than MessageBase subclasses. The disadvantage of BinaryFormatter-ready objects is that they cannot be serialized when containing Unity types.

7 Advanced Breaking and Making With Break, you can use an override flag to do the opposite of IsFilling. // Start filling SerialFiller.IsFilling = true; // Not added to data fill byte[] bytes = SerialFiller.Break(Color.blue, null, true); // Stop filling SerialFiller.IsFilling = false; // Is added to data fill SerialFiller.Break(Matrix4x4.zero, null, true); With BreakDataFill, you can select a range of values to break with an index and/or count. // Start at value 5 byte[] thesebytes = SerialFiller.BreakDataFill(null, 5); // Start at value 3 and get 7 values byte[] thosebytes = SerialFiller.BreakDataFill(null, 3, 7); With MakeDataFill, you can choose how the new fill affects DataFill. // By default, DataFill is replaced with the new data SerialFiller.MakeDataFill(bytes); // Add the new data to the end of DataFill SerialFiller.MakeDataFill(bytes, SerialFiller.MakeType.Append); // Add the new data to the beginning DataFill SerialFiller.MakeDataFill(bytes, SerialFiller.MakeType.Prepend); // Leave DataFill unchanged and use the returned data fill var custom = SerialFiller.MakeDataFill(bytes, SerialFiller.MakeType.Ignore);

8 Inside SerialFillerData Data fills are a List<> of type SerialFillerData. This class is how Serial Filler marries the two different serialization systems that it uses behind the scenes. NetworkReader and NetworkWriter Unity 5.1+ provides these tools for serializing basic Unity types (Color, Vector3, etc). They aren't very sophisticated, but they're the only built-in tools available. BinaryFormatter This is the standard C# serialization tool. It's very sophisticated, but it can't serialize Unity types and is picky about how objects are formatted. Both of these tools produce a byte[] representing the data, but they use different formats. So Serial Filler wraps them in SerialFillerData, which is also where it stores additional data about the serialized object. This is why each individual object must be serialized, and then the whole data fill must also be serialized. Each SerialFillerData contains the serialized object, but is itself not yet serialized. When the data fill is broken, it is serialized with BinaryFormatter. The DataType and Value properties of SerialFillerData are filled in after serialization or deserialization for ease of reference. They are not serialized as they are already represented in DataTypeName and Data. See the end of the Scripting Reference below for details about the SerialFillerData properties.

9 Scripting Reference SerialFiller Properties SerialFiller.DataFill List<SerialFillerData> - The sequence of data that has been serialized with Break while IsFilling. SerialFiller.IsFilling bool - If true, each Break stores serialized data in DataFill. SerialFiller.MakeType enum - On MakeDataFill, specifies how the created data fill affects DataFill. MakeType.Replace - The new data replaces the previous contents of DataFill. (Default) MakeType.Append - The new data is added to the end of DataFill. MakeType.Prepend - The new data is added to the beginning of DataFill. MakeType.Ignore - The new data is only returned and does not change DataFill. Methods SerialFiller.Break(object subject, string id = null, bool overridefill = false) Serializes an object into a byte array. If IsFilling, the data is added to DataFill. subject: The object to be serialized. id: Optional string to identify the object. overridefill: If true, the opposite value of IsFilling will be used. Returns: byte[] - The serialized data.

10 SerialFiller.BreakDataFill(List<SerialFillerData> datafill = null, int index = 0, int count = -1) Serializes a data fill into a byte array. datafill: The data fill to serialize. Defaults to DataFill. index: The starting position in the fill. Defaults to the beginning. count: The number of values from the index to deserialize. Defaults to all. Returns: byte[] - The serialized data. SerialFiller.Make(byte[] bytes, ref string id) Deserializes an object from a byte array. bytes: The byte array to deserialize. id: A string to receive the object ID. Returns: object - The deserialized object. SerialFiller.Make(byte[] bytes) Deserializes an object from a byte array. bytes: The byte array to deserialize. Returns: object - The deserialized object. SerialFiller.MakeDataFill(byte[] bytes, MakeType maketype = MakeType.Replace) Deserializes a data fill from a byte array. bytes: The byte array to deserialize. maketype: Specifies how the created data fill affects DataFill. Defaults to Replace. Returns: List<SerialFillerData> - A List of SerialFillerData. SerialFiller.SearchDataFill(Type datatype, string id, List<SerialFillerData> datafill = null) Searches a data fill for matching types and/or IDs. datatype: The type to search for. Null matches any type. id: The ID to search for. Null matches any ID. datafill: The data fill to search. Defaults to DataFill. Returns: List<SerialFillerData> - A new data fill containing only the search results.

11 SerialFiller.SearchDataFill(Type datatype, List<SerialFillerData> datafill = null) Searches a data fill for matching types. datatype: The type to search for. Null matches any type. datafill: The data fill to search. Defaults to DataFill. Returns: List<SerialFillerData> - A new data fill containing only the search results. SerialFiller.SearchDataFill(string id, List<SerialFillerData> datafill = null) Searches a data fill for matching IDs. id: The ID to search for. Null matches any ID. datafill: The data fill to search. Defaults to DataFill. Returns: List<SerialFillerData> - A new data fill containing only the search results. SerialFillerData Properties SerialFillerData.Data byte[] - The serialized bytes of the object. SerialFillerData.DataType Type - The type of the object. (Field not serialized.) SerialFillerData.DataTypeName string - The AssemblyQualifiedName of the object type. SerialFillerData.Id string - An optional identifier to provide context for the object. SerialFillerData.Value object - The object which was serialized. (Field not serialized.)

Android Native Audio Music

Android Native Audio Music Android Native Audio Music Copyright 2015-2016 Christopher Stanley Android Native Audio Music (ANA Music) is an asset for Unity 4.3.4-5.x on Android. It provides easy access to the native Android audio

More information

ANIMATOR TIMELINE EDITOR FOR UNITY

ANIMATOR TIMELINE EDITOR FOR UNITY ANIMATOR Thanks for purchasing! This document contains a how-to guide and general information to help you get the most out of this product. Look here first for answers and to get started. What s New? v1.53

More information

Massive Documentation

Massive Documentation Massive Documentation Release 0.2 Inhumane Software August 07, 2014 Contents 1 Introduction 3 1.1 Features.................................................. 3 1.2 Getting Started..............................................

More information

The Stack, Free Store, and Global Namespace

The Stack, Free Store, and Global Namespace Pointers This tutorial is my attempt at clarifying pointers for anyone still confused about them. Pointers are notoriously hard to grasp, so I thought I'd take a shot at explaining them. The more information

More information

Table of contents. Introduction. Having finally realized your ambitious plans for a game, you might face big performance

Table of contents. Introduction. Having finally realized your ambitious plans for a game, you might face big performance Table of contents Introduction Introduction... 1 Optimizing Unity games... 2 Rendering performance...2 Script performance...3 Physics performance...3 What is this all about?...4 How does M2HCullingManual

More information

Pong in Unity a basic Intro

Pong in Unity a basic Intro This tutorial recreates the classic game Pong, for those unfamiliar with the game, shame on you what have you been doing, living under a rock?! Go google it. Go on. For those that now know the game, this

More information

NOTTORUS. Getting Started V1.00

NOTTORUS. Getting Started V1.00 NOTTORUS Getting Started V1.00 2016 1. Introduction Nottorus Script Editor is a visual plugin for generating and debugging C# Unity scripts. This plugin allows designers, artists or programmers without

More information

Massive Documentation

Massive Documentation Massive Documentation Release 0.1 Inhumane Software August 07, 2014 Contents 1 Introduction 3 1.1 Features.................................................. 3 1.2 Getting Started..............................................

More information

Massive Documentation

Massive Documentation Massive Documentation Release 0.2 Inhumane Software June 15, 2016 Contents 1 Introduction 3 1.1 Features.................................................. 3 1.2 Getting Started..............................................

More information

Adding a Trigger to a Unity Animation Method #2

Adding a Trigger to a Unity Animation Method #2 Adding a Trigger to a Unity Animation Method #2 Unity Version: 5.0 Adding the GameObjects In this example we will create two animation states for a single object in Unity with the Animation panel. Our

More information

is.centraldispatch Documentation

is.centraldispatch Documentation SPINACH is.centraldispatch Documentation July 27, 2016 Last Edit : July 27, 2016 Page I! of XII! IS.CENTRALDISPATCH DOCUMENTATION Getting Start Write Your First Multi-Threaded Script Using SPINACH.iSCentralDispatch

More information

Workshop BOND UNIVERSITY Bachelor of Interactive Multimedia and Design Beginner Game Dev Character Control Building a character animation controller.

Workshop BOND UNIVERSITY Bachelor of Interactive Multimedia and Design Beginner Game Dev Character Control Building a character animation controller. Workshop BOND UNIVERSITY Bachelor of Interactive Multimedia and Design Beginner Game Dev Character Control Building a character animation controller. FACULTY OF SOCIETY AND DESIGN Building a character

More information

Introduction to Engine Development with Component Based Design. Randy Gaul

Introduction to Engine Development with Component Based Design. Randy Gaul Introduction to Engine Development with Component Based Design Randy Gaul Overview Intro to Engine Development What is an engine Systems and game objects Components Engine Systems Messaging Serialization

More information

Game Design Unity Workshop

Game Design Unity Workshop Game Design Unity Workshop Activity 1 Unity Overview Unity is a game engine with the ability to create 3d and 2d environments. Unity s prime focus is to allow for the quick creation of a game from freelance

More information

Compaq Interview Questions And Answers

Compaq Interview Questions And Answers Part A: Q1. What are the difference between java and C++? Java adopts byte code whereas C++ does not C++ supports destructor whereas java does not support. Multiple inheritance possible in C++ but not

More information

Game Design Unity Workshop

Game Design Unity Workshop Game Design Unity Workshop Activity 2 Goals: - Creation of small world - Creation of character - Scripting of player movement and camera following Load up unity Build Object: Mini World and basic Chase

More information

Pacman. you want to see how the maze was created, open the file named unity_pacman_create_maze.

Pacman. you want to see how the maze was created, open the file named unity_pacman_create_maze. Pacman Note: I have started this exercise for you so you do not have to make all of the box colliders. If you want to see how the maze was created, open the file named unity_pacman_create_maze. Adding

More information

Unity and MySQL. Versions: Unity 3.0.0f5; MySQL Author: Jonathan Wood. Alias: Zumwalt. Date: 10/8/2010. Updated: 10/12/2010 to include JS code

Unity and MySQL. Versions: Unity 3.0.0f5; MySQL Author: Jonathan Wood. Alias: Zumwalt. Date: 10/8/2010. Updated: 10/12/2010 to include JS code Versions: Unity 3.0.0f5; MySQL 5.2.28 Author: Jonathan Wood Alias: Zumwalt Date: 10/8/2010 Updated: 10/12/2010 to include JS code Document Version 1.0.1 Unity and MySQL Table of Contents Unity and MySQL...

More information

Table of Contents 1.1. Introduction Installation Quick Start Documentation Asynchronous Configuration 1.4.

Table of Contents 1.1. Introduction Installation Quick Start Documentation Asynchronous Configuration 1.4. Table of Contents Introduction 1 Installation 2 Quick Start 3 Documentation Asynchronous Configuration Level Streaming Saving And Loading Slot Templates 1.1 1.2 1.3 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1

More information

Table of Contents What is Test Automation Framework?... 3 Different types of Frameworks used in QTP... 4 Linear Framework in QTP...

Table of Contents What is Test Automation Framework?... 3 Different types of Frameworks used in QTP... 4 Linear Framework in QTP... Table of Contents 1. What is Test Automation Framework?... 3 2. Different types of Frameworks used in QTP... 4 3. Linear Framework in QTP... 4 3.1 Components and Workflow of Linear Framework... 5 3.2 Advantages

More information

User Manual. Contact the team: Contact support:

User Manual.     Contact the team: Contact support: User Manual http://dreamteck.io https://www.facebook.com/dreamteckstudio Contact the team: team@dreamteck.io Contact support: support@dreamteck.io Discord Server: https://discord.gg/bkydq8v 1 Contents

More information

Demo Scene Quick Start

Demo Scene Quick Start Demo Scene Quick Start 1. Import the Easy Input package into a new project. 2. Open the Sample scene. Assets\ootii\EasyInput\Demos\Scenes\Sample 3. Select the Input Source GameObject and press Reset Input

More information

Chart And Graph. Supported Platforms:

Chart And Graph. Supported Platforms: Chart And Graph Supported Platforms: Quick Start Folders of interest Running the Demo scene: Notes for oculus Bar Chart Stack Bar Chart Pie Chart Graph Chart Streaming Graph Chart Graph Chart Curves: Bubble

More information

COMP 202 Java in one week

COMP 202 Java in one week COMP 202 Java in one week... Continued CONTENTS: Return to material from previous lecture At-home programming exercises Please Do Ask Questions It's perfectly normal not to understand everything Most of

More information

Introduction to Unity. What is Unity? Games Made with Unity /666 Computer Game Programming Fall 2013 Evan Shimizu

Introduction to Unity. What is Unity? Games Made with Unity /666 Computer Game Programming Fall 2013 Evan Shimizu Introduction to Unity 15-466/666 Computer Game Programming Fall 2013 Evan Shimizu What is Unity? Game Engine and Editor With nice extra features: physics engine, animation engine, custom shaders, etc.

More information

User Manual v 1.0. Copyright 2018 Ghere Games

User Manual v 1.0. Copyright 2018 Ghere Games + User Manual v 1.0 Copyright 2018 Ghere Games HUD Status Bars+ for Realistic FPS Prefab Copyright Ghere Games. All rights reserved Realistic FPS Prefab Azuline Studios. Thank you for using HUD Status

More information

User Manual. Version 2.0

User Manual. Version 2.0 User Manual Version 2.0 Table of Contents Introduction Quick Start Inspector Explained FAQ Documentation Introduction Map ity allows you to use any real world locations by providing access to OpenStreetMap

More information

Spell Casting Motion Pack 5/5/2017

Spell Casting Motion Pack 5/5/2017 The Spell Casting Motion pack requires the following: Motion Controller v2.49 or higher Mixamo s free Pro Magic Pack (using Y Bot) Importing and running without these assets will generate errors! Overview

More information

How to add new 3D Models to Machines Simulator 3 & Machines Simulator VR

How to add new 3D Models to Machines Simulator 3 & Machines Simulator VR How to add new 3D Models to Machines Simulator 3 & Machines Simulator VR In order to add you own 3D models to Machines Simulator 3 and MS VR software, you must follow the following steps: Download the

More information

Bonus Chapter 10: Working with External Resource Files and Devices

Bonus Chapter 10: Working with External Resource Files and Devices 1 Bonus Chapter 10: Working with External Resource Files and Devices In this chapter, we will cover the following topics: Loading external resource files using Unity default resources Loading external

More information

Lecture 8 Classes and Objects Part 2. MIT AITI June 15th, 2005

Lecture 8 Classes and Objects Part 2. MIT AITI June 15th, 2005 Lecture 8 Classes and Objects Part 2 MIT AITI June 15th, 2005 1 What is an object? A building (Strathmore university) A desk A laptop A car Data packets through the internet 2 What is an object? Objects

More information

https://support.office.com/en-us/article/create-a-list-in-sharepoint-0d d95f-41eb-addd- 5e6eff41b083

https://support.office.com/en-us/article/create-a-list-in-sharepoint-0d d95f-41eb-addd- 5e6eff41b083 Site Owners Guide Table of Contents Site Owners Guide... 1 Create a list in SharePoint Server 2016... 2 Add a list to a page in SharePoint Server 2016... 3 Minimize or restore a list or library on a SharePoint

More information

Quick Setup Guide. Date: October 27, Document version: v 1.0.1

Quick Setup Guide. Date: October 27, Document version: v 1.0.1 Quick Setup Guide Date: October 27, 2016 Document version: v 1.0.1 Table of Contents 1. Overview... 3 2. Features... 3 3. ColorTracker library... 3 4. Integration with Unity3D... 3 Creating a simple color

More information

Dialog XML Importer. Index. User s Guide

Dialog XML Importer. Index. User s Guide Dialog XML Importer User s Guide Index 1. What is the Dialog XML Importer? 2. Setup Instructions 3. Creating Your Own Dialogs Using articy:draft a. Conditions b. Effects c. Text Tokens 4. Importing Your

More information

Unity Tutorial. Fall /15-666

Unity Tutorial. Fall /15-666 Unity Tutorial Fall 2014 15-466/15-666 Game World model, video, audio, interaction Often like Model-View-Controller Art, mechanics, levels, items, etc. Game Engine World model, video, audio, interaction

More information

INTRODUCTION 3 SYSTEM REQUIREMENTS 4 PACKAGE CONTENT 4 CHANGELOG 4 FAST GUIDE 8 PSD2UGUI IN DEPTH 12 PSD LAYERS STRUCTURES 14

INTRODUCTION 3 SYSTEM REQUIREMENTS 4 PACKAGE CONTENT 4 CHANGELOG 4 FAST GUIDE 8 PSD2UGUI IN DEPTH 12 PSD LAYERS STRUCTURES 14 PSD2uGUI USER GUIDE INTRODUCTION 3 SYSTEM REQUIREMENTS 4 PACKAGE CONTENT 4 CHANGELOG 4 FAST GUIDE 8 PSD2UGUI IN DEPTH 12 Commands 12 Variables 13 PSD LAYERS STRUCTURES 14 Toggle Photoshop structure 14

More information

CE318/CE818: High-level Games Development

CE318/CE818: High-level Games Development CE318/CE818: High-level Games Development Lecture 1: Introduction. C# & Unity3D Basics Diego Perez Liebana dperez@essex.ac.uk Office 3A.527 2017/18 Outline 1 Course Overview 2 Introduction to C# 3 Scripting

More information

IAP Manager. Easy IAP Workflow. Copyright all rights reserved. Digicrafts 2018 Document version Support

IAP Manager. Easy IAP Workflow. Copyright all rights reserved. Digicrafts 2018 Document version Support IAP Manager Easy IAP Workflow Copyright all rights reserved. Digicrafts 2018 Document version 1.7.0 Support email: support@digicrafts.com.hk A. Before Start In order to use the IAPManager, the following

More information

Learning to love release notes

Learning to love release notes Learning to love release notes Anne Edwards Write the Docs 2018 anne@improbable.io Who am I? technical writer for nearly four years three different companies - currently working at Improbable long-form

More information

Lua Framework. Version , Georges Dimitrov

Lua Framework. Version , Georges Dimitrov Lua Framework Version 1.1 2015, Georges Dimitrov Contents Introduction...2 Installation...2 LuaReader Basics...3 Representation of Lua values in MoonSharp... 3 Executing Lua scripts with MoonSharp... 3

More information

A Summoner's Tale MonoGame Tutorial Series. Chapter 12. Battling Avatars Continued

A Summoner's Tale MonoGame Tutorial Series. Chapter 12. Battling Avatars Continued A Summoner's Tale MonoGame Tutorial Series Chapter 12 Battling Avatars Continued This tutorial series is about creating a Pokemon style game with the MonoGame Framework called A Summoner's Tale. The tutorials

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Lecture 03 Finite State Machines Edirlei Soares de Lima Game AI Model Pathfinding Steering behaviours Finite state machines Automated planning Behaviour

More information

Boxit. Dropbox support in your Unity3D application. echo17

Boxit. Dropbox support in your Unity3D application. echo17 1.2.0 Boxit Dropbox support in your Unity3D application echo17 Table of Contents Table of Contents............................................................. ii 1. Overview.................................................................

More information

Workshop BOND UNIVERSITY. Bachelor of Interactive Multimedia and Design. Asteroids

Workshop BOND UNIVERSITY. Bachelor of Interactive Multimedia and Design. Asteroids Workshop BOND UNIVERSITY Bachelor of Interactive Multimedia and Design Asteroids FACULTY OF SOCIETY AND DESIGN Building an Asteroid Dodging Game Penny de Byl Faculty of Society and Design Bond University

More information

IAT 445 Lab 10. Special Topics in Unity. Lanz Singbeil

IAT 445 Lab 10. Special Topics in Unity. Lanz Singbeil IAT 445 Lab 10 Special Topics in Unity Special Topics in Unity We ll be briefly going over the following concepts. They are covered in more detail in your Watkins textbook: Setting up Fog Effects and a

More information

Game Design From Concepts To Implementation

Game Design From Concepts To Implementation Game Design From Concepts To Implementation Giacomo Cappellini - g.cappellini@mixelweb.it Why Unity - Scheme Unity Editor + Scripting API (C#)! Unity API (C/C++)! Unity Core! Drivers / O.S. API! O.S.!

More information

RIS shading Series #2 Meet The Plugins

RIS shading Series #2 Meet The Plugins RIS shading Series #2 Meet The Plugins In this tutorial I will be going over what each type of plugin is, what their uses are, and the basic layout of each. By the end you should understand the three basic

More information

Sonne Flash Decompiler

Sonne Flash Decompiler Document No.: Sonne Flash Decompiler Sonne Flash Decompiler Sonne Software Solution http://www.sonnesoftware.com Page 1 Pages Order About Sonne Flash Decompiler...Pages 3 Features...Pages 4 The user interface...pages

More information

MySQL Workshop. Scott D. Anderson

MySQL Workshop. Scott D. Anderson MySQL Workshop Scott D. Anderson Workshop Plan Part 1: Simple Queries Part 2: Creating a database: creating a table inserting, updating and deleting data handling NULL values datatypes Part 3: Joining

More information

Chapter 1 Getting Started

Chapter 1 Getting Started Chapter 1 Getting Started The C# class Just like all object oriented programming languages, C# supports the concept of a class. A class is a little like a data structure in that it aggregates different

More information

Hex Map 22 Advanced Vision

Hex Map 22 Advanced Vision Catlike Coding Unity C# Tutorials Hex Map 22 Advanced Vision Smoothly adjust visibility. Use elevation to determine sight. Hide the edge of the map. This is part 22 of a tutorial series about hexagon maps.

More information

In today s video I'm going show you how you can set up your own online business using marketing and affiliate marketing.

In today s video I'm going show you how you can set up your own online business using  marketing and affiliate marketing. Hey guys, Diggy here with a summary of part two of the four part free video series. If you haven't watched the first video yet, please do so (https://sixfigureinc.com/intro), before continuing with this

More information

Progress Bar Pack. Manual

Progress Bar Pack. Manual Progress Bar Pack Manual 1 Overview The Progress Bar Pack contains a selection of textures, shaders and scripts for creating different ways to visualize linear data, such as health, level load progress,

More information

OxAM Achievements Manager

OxAM Achievements Manager 1 v. 1.2 (15.11.26) OxAM Achievements Manager User manual Table of Contents About...2 Demo...2 Version changes...2 Known bugs...3 Basic usage...3 Advanced usage...3 Custom message box style...3 Custom

More information

Tutorial: Using the UUCS Crowd Simulation Plug-in for Unity

Tutorial: Using the UUCS Crowd Simulation Plug-in for Unity Tutorial: Using the UUCS Crowd Simulation Plug-in for Unity Introduction Version 1.1 - November 15, 2017 Authors: Dionysi Alexandridis, Simon Dirks, Wouter van Toll In this assignment, you will use the

More information

Coin Pusher Pro Asset - README

Coin Pusher Pro Asset - README Coin Pusher Pro Asset - README Created by DreamTapp Studios LLC This README document includes helpful hints, tutorials, and a description of how the scripts work together. If you have any questions or

More information

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this

More information

CLIENT ONBOARDING PLAN & SCRIPT

CLIENT ONBOARDING PLAN & SCRIPT CLIENT ONBOARDING PLAN & SCRIPT FIRST STEPS Receive Order form from Sales Representative. This may come in the form of a BPQ from client Ensure the client has an account in Reputation Management and in

More information

Mobile Touch Floating Joysticks with Options version 1.1 (Unity Asset Store) by Kevin Blake

Mobile Touch Floating Joysticks with Options version 1.1 (Unity Asset Store) by Kevin Blake Mobile Touch Floating Joysticks with Options version 1.1 (Unity Asset Store) by Kevin Blake Change in version 1.1 of this document: only 2 changes to this document (the unity asset store item has not changed)

More information

EDITOR CONSOLE PRO 1

EDITOR CONSOLE PRO 1 CONSOLE PRO EDITOR CONSOLE PRO 1 GENERAL Opening Editor Console Pro You can open ECP with the hotkey COMMAND+\ or in the menu Window/Console Pro 3 Opening Preferences There are a few ways to open preferences:

More information

CLIENT ONBOARDING PLAN & SCRIPT

CLIENT ONBOARDING PLAN & SCRIPT CLIENT ONBOARDING PLAN & SCRIPT FIRST STEPS Receive Order form from Sales Representative. This may come in the form of a BPQ from client Ensure the client has an account in Reputation Management and in

More information

Introduction to Databases and SQL

Introduction to Databases and SQL Introduction to Databases and SQL Files vs Databases In the last chapter you learned how your PHP scripts can use external files to store and retrieve data. Although files do a great job in many circumstances,

More information

PixelSurface a dynamic world of pixels for Unity

PixelSurface a dynamic world of pixels for Unity PixelSurface a dynamic world of pixels for Unity Oct 19, 2015 Joe Strout joe@luminaryapps.com Overview PixelSurface is a small class library for Unity that lets you manipulate 2D graphics on the level

More information

Terrain. Unity s Terrain editor islands topographical landscapes Mountains And more

Terrain. Unity s Terrain editor islands topographical landscapes Mountains And more Terrain Unity s Terrain editor islands topographical landscapes Mountains And more 12. Create a new Scene terrain and save it 13. GameObject > 3D Object > Terrain Textures Textures should be in the following

More information

Kotlin for Android Developers

Kotlin for Android Developers Kotlin for Android Developers Learn Kotlin the easy way while developing an Android App Antonio Leiva This book is for sale at http://leanpub.com/kotlin-for-android-developers This version was published

More information

Chart And Graph. Features. Features. Quick Start Folders of interest Bar Chart Pie Chart Graph Chart Legend

Chart And Graph. Features. Features. Quick Start Folders of interest Bar Chart Pie Chart Graph Chart Legend Chart And Graph Features Quick Start Folders of interest Bar Chart Pie Chart Graph Chart Legend Overview Bar Chart Canvas World Space Category settings Pie Chart canvas World Space Pie Category Graph Chart

More information

JAVA GUI PROGRAMMING REVISION TOUR III

JAVA GUI PROGRAMMING REVISION TOUR III 1. In java, methods reside in. (a) Function (b) Library (c) Classes (d) Object JAVA GUI PROGRAMMING REVISION TOUR III 2. The number and type of arguments of a method are known as. (a) Parameter list (b)

More information

Google SketchUp/Unity Tutorial Basics

Google SketchUp/Unity Tutorial Basics Software used: Google SketchUp Unity Visual Studio Google SketchUp/Unity Tutorial Basics 1) In Google SketchUp, select and delete the man to create a blank scene. 2) Select the Lines tool and draw a square

More information

Repetition Structures

Repetition Structures Repetition Structures Chapter 5 Fall 2016, CSUS Introduction to Repetition Structures Chapter 5.1 1 Introduction to Repetition Structures A repetition structure causes a statement or set of statements

More information

Condition-Controlled Loop. Condition-Controlled Loop. If Statement. Various Forms. Conditional-Controlled Loop. Loop Caution.

Condition-Controlled Loop. Condition-Controlled Loop. If Statement. Various Forms. Conditional-Controlled Loop. Loop Caution. Repetition Structures Introduction to Repetition Structures Chapter 5 Spring 2016, CSUS Chapter 5.1 Introduction to Repetition Structures The Problems with Duplicate Code A repetition structure causes

More information

Entitlement Management Implementation Guide

Entitlement Management Implementation Guide Entitlement Management Implementation Guide Salesforce, Winter 16 @salesforcedocs Last updated: October 16, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered

More information

ARTIFICIAL INTELLIGENCE: SITUATIONAL AWARENESS

ARTIFICIAL INTELLIGENCE: SITUATIONAL AWARENESS ARTIFICIAL INTELLIGENCE: SITUATIONAL AWARENESS So first of all before we start, we have to ask our self: What s is situational awareness exactly. A Quick google search reveals that: WHAT IS SITUATIONAL

More information

Vuforia quick install guide. Android devices and Unity 3D models edition

Vuforia quick install guide. Android devices and Unity 3D models edition Vuforia quick install guide Android devices and Unity 3D models edition Welcome to the new age of product design and customer experience!! Using augmented reality you can create a whole new experience.

More information

Basic Waypoints Movement v1.0

Basic Waypoints Movement v1.0 Basic Waypoints Movement v1.0 1. Create New Unity project (or use some existing project) 2. Import RAIN{indie} AI package from Asset store or download from: http://rivaltheory.com/rainindie 3. 4. Your

More information

MITOCW MIT6_172_F10_lec18_300k-mp4

MITOCW MIT6_172_F10_lec18_300k-mp4 MITOCW MIT6_172_F10_lec18_300k-mp4 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for

More information

Hierarchical inheritance: Contains one base class and multiple derived classes of the same base class.

Hierarchical inheritance: Contains one base class and multiple derived classes of the same base class. 1. What is C#? C# (pronounced "C sharp") is a simple, modern, object oriented, and type safe programming language. It will immediately be familiar to C and C++ programmers. C# combines the high productivity

More information

B - Broken Track Page 1 of 8

B - Broken Track Page 1 of 8 B - Broken Track There's a gap in the track! We need to make our robot even more intelligent so it won't get stuck, and can find the track again on its own. 2017 https://www.hamiltonbuhl.com/teacher-resources

More information

BONE CONTROLLER ASSET VERSION 0.1 REV 1

BONE CONTROLLER ASSET VERSION 0.1 REV 1 Foreword Thank you for purchasing the Bone Controller! I m an independent developer and your feedback and support really means a lot to me. Please don t ever hesitate to contact me if you have a question,

More information

20 Most Important Java Programming Interview Questions. Powered by

20 Most Important Java Programming Interview Questions. Powered by 20 Most Important Java Programming Interview Questions Powered by 1. What's the difference between an interface and an abstract class? An abstract class is a class that is only partially implemented by

More information

How to Improve Your Campaign Conversion Rates

How to Improve Your  Campaign Conversion Rates How to Improve Your Email Campaign Conversion Rates Chris Williams Author of 7 Figure Business Models How to Exponentially Increase Conversion Rates I'm going to teach you my system for optimizing an email

More information

Fundamentals. 5.1 What Will Be Covered in This Chapter. 5.2 Review

Fundamentals. 5.1 What Will Be Covered in This Chapter. 5.2 Review 5 Fundamentals Now that we ve covered most of the basic concepts and terms that are commonly taught to new programmers, it s time to learn some of the fundamental concepts that are required to write functioning

More information

Quick Start - Simple Motions

Quick Start - Simple Motions Quick Start - Simple Motions While this document is about building motions using code, there is another option. If all you re really needing to do is trigger a simple animation or chain of animations,

More information

CE318: Games Console Programming

CE318: Games Console Programming CE318: Games Console Programming Lecture 1: Introduction. C# & Unity3D Basics Diego Perez dperez@essex.ac.uk Office 3A.526 2014/15 Outline 1 Course Overview 2 Introduction to C# 3 Scripting in C# for Unity3D

More information

Clickteam Fusion 2.5 Creating a Debug System - Guide

Clickteam Fusion 2.5 Creating a Debug System - Guide INTRODUCTION In this guide, we will look at how to create your own 'debug' system in Fusion 2.5. Sometimes when you're developing and testing a game, you want to see some of the real-time values of certain

More information

Multiplayer Game Programming

Multiplayer Game Programming Multiplayer Game Programming Phoenix area game developer since 2001 Teacher at Art Institute since 2006 Worked on a variety of educational and commercial games Author of itween Visual Editor and CameraFor2D

More information

1 Shyam sir JAVA Notes

1 Shyam sir JAVA Notes 1 Shyam sir JAVA Notes 1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write

More information

Game Design Unity Workshop

Game Design Unity Workshop Game Design Unity Workshop Activity 4 Goals: - Creation of small world - Creation of character - Scripting of player movement and camera following Load up unity Build Object: Collisions in Unity Aim: Build

More information

CS193D Handout 10 Winter 2005/2006 January 23, 2006 Pimp Your Classes

CS193D Handout 10 Winter 2005/2006 January 23, 2006 Pimp Your Classes CS193D Handout 10 Winter 2005/2006 January 23, 2006 Pimp Your Classes See also: The middle part of Chapter 9 (194-208), Chapter 12 Pretty much any Object-Oriented Language lets you create data members

More information

Design Patterns גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון

Design Patterns גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון Design Patterns גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון 2 Problem: Reusability in OO Designing OO software is hard, and designing reusable OO software is even harder: Software should be specific

More information

Auto Texture Tiling Tool

Auto Texture Tiling Tool Table of Contents Auto Texture Tiling Tool Version 1.77 Read Me 1. Basic Functionality...2 1.1 Usage...2 1.2 Unwrap Method...3 1.3 Mesh Baking...4 1.4 Prefabs...5 2. Gizmos and Editor Window...6 1.1 Offset...6

More information

Let s first start by creating a blank editor window: Next, we will need a few global properties to support the zooming function.

Let s first start by creating a blank editor window: Next, we will need a few global properties to support the zooming function. Today I wanted to talk about expanding Unity3D s custom editor window functionality by adding the ability to zoom in and out on the contents of the window. Additionally, we will be making the entire window

More information

Version 1.4 Published on 1st July, 2017

Version 1.4 Published on 1st July, 2017 Version 1.4 Published on 1st July, 2017 2 Table of Content Change Log Plugin Overview Setting Up (Unity C#) Client API List Submit Statistics (Leaderboards & Highscores) Purchase Items (Virtual Goods)

More information

COP 3330 Final Exam Review

COP 3330 Final Exam Review COP 3330 Final Exam Review I. The Basics (Chapters 2, 5, 6) a. comments b. identifiers, reserved words c. white space d. compilers vs. interpreters e. syntax, semantics f. errors i. syntax ii. run-time

More information

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I BASIC COMPUTATION x public static void main(string [] args) Fundamentals of Computer Science I Outline Using Eclipse Data Types Variables Primitive and Class Data Types Expressions Declaration Assignment

More information

UFO. Prof Alexiei Dingli

UFO. Prof Alexiei Dingli UFO Prof Alexiei Dingli Setting the background Import all the Assets Drag and Drop the background Center it from the Inspector Change size of Main Camera to 1.6 Position the Ship Place the Barn Add a

More information

CSSE 304 Assignment #13 (interpreter milestone #1) Updated for Fall, 2018

CSSE 304 Assignment #13 (interpreter milestone #1) Updated for Fall, 2018 CSSE 304 Assignment #13 (interpreter milestone #1) Updated for Fall, 2018 Deliverables: Your code (submit to PLC server). A13 participation survey (on Moodle, by the day after the A13 due date). This is

More information

Shouldly Documentation

Shouldly Documentation Shouldly Documentation Release 2.6.0 Dave Newman, Xerxes Battiwalla, Anthony Egerton, Peter van der Jan 25, 2018 Contents 1 ShouldBe 3 1.1 Objects.................................................. 3 1.2

More information

CS103 Spring 2018 Mathematical Vocabulary

CS103 Spring 2018 Mathematical Vocabulary CS103 Spring 2018 Mathematical Vocabulary You keep using that word. I do not think it means what you think it means. - Inigo Montoya, from The Princess Bride Consider the humble while loop in most programming

More information

Chapter 3.5 Memory and I/O Systems

Chapter 3.5 Memory and I/O Systems Chapter 3.5 Memory and I/O Systems Memory Management Only applies to languages with explicit memory management (C, C++) Memory problems are one of the leading causes of bugs in programs Leaks Buffer Overflows

More information

Project. C++: Inheritance III. Plan. Project. Before we begin. The final exam. Advanced Topics. Project. This week in the home stretch

Project. C++: Inheritance III. Plan. Project. Before we begin. The final exam. Advanced Topics. Project. This week in the home stretch Project C++: III Advanced Topics Othello submitted. Next submission: Team Evaluations Nov 10 th Please don t forget If solo give yourself a good evaluation! Indicate if okay to share feedback with partner

More information