142 Commits over 0 Days - ∞cph!
Added door center to door selectable sub-menu
Fixed some missing scripts after merge
Merge branch 'interior' of arcade into interior
Implemented sub-menu UI from the concepts
Mostly finished refactor, although network messages aren't being received.
Merge branch 'interior' into net-lidgren
Part way through moving everything arcade-specific into `Assets/Scripts`.
Added OnAltSelect to Selectables so they can choose to open a submenu on right click
Added some simple cos and sin tweening methods to make highlighting work again
Added Rebuild methods to RoomStructure and DoorStructure that will mark the room as needing building and builds it.
Added Interior accessor to BuildingTool so tools don't have to go through BuildingSettings to get the interior. Added logging when building a room before the interior has finished loading to make sure there's no repeated builds
Merge branch 'net-lidgren' of arcade into interior
Interior now builds rooms and doors on creation if the interior has loaded, this allows the loader to build everything in a batch at the end of loading
Messages to the server are now immediately routed to the destination `Networkable` rather than routing through the associated `Group` first.
Renamed RoomStructure.SetDirty to RoomStructure.NeedsBuilding
Removed PickingRay and CanPick from BuildingSettings, instead passing pickingRay and rayBlocked through Tool and Selectable active updates
Moved some editor logic from RoomStructure to RoomSelectable
Moved some editor logic from DoorStructure to DoorSelectable
Merge branch 'interior' of arcade into net-lidgren
Committing small change before merge.
Added `[MessageHandler(Domain)]` attribute for `Networkable` classes to specify methods that handle messages from clients / the server of a specific type.
Added room height saving and loading to protobuf
Merge branch 'net-lidgren' of arcade into interior
Added editor toolbar back in
More script restructuring.
Started separating room geometry generation and editor logic
Moved arcade-specific cabinet code out of `GameAPI.Unity` and into `Unity/Arcade/Assets/Scripts`
Merge branch 'net-lidgren' of arcade into interior
Finished basic Networkable implementation.
Added floor and wall textures
Fixed `IdentifierSet` implementation.
Merge branch 'net-lidgren' of arcade into interior
Removed phantom meta file, fixed premake script missing commands to copy `ICSharpCode.SharpZipLib.dll`.
Part way through assigning IDs to Networkables.
Merge branch 'net-lidgren' of arcade into interior
Fixed a couple of script errors after cleanup.
Cleaned up the networking framework.
Merge branch 'net-lidgren' of arcade into interior
Merge branch 'net-lidgren' of arcade into net-lidgren
Implemented basic client connection process, including message table synchronization.
Added using Arcade.Math to scripts that need it
Added Vector2i and LineSegment2i to Arcade.Math instead of Arcade.Interior
Fixed walls not using the type from the saved data
Moved over content and prefabs needed for room editor
Started moving over room editor code
Now using ProtoBuf encoded payloads for messages.
Can now specify hard-coded message identifiers in protobuf schema files. Message identifiers are now sent using a variable length encoding.
Finished `Arcade.Networking.ProtoBuf.MessageTable` class.