Created a development level for us to work on.

Added in Edge Panning through a script use space to enable/disable it if
in debug mode.

Set orthographic camera and tweaked project settings.
Improved edge panning. Made it clamp speed and more smoothly handle speed
as you get closer to the edge.

Also added a Tags script for usage later.
Added in a tiling script for object materials. It should be used for
things like walls and so on.

I added a test material and texture to be used to test it. It's in the
materials folder.
Behaviour + Controller + Constants script (CheckValues) + unrelated (ClimbCollide)
Added in orthographic zoom. Also made a basic level + added character
controls and a floor prefab for testing purposes.
Added in orthographic zoom. Also made a basic level + added character
controls and a floor prefab for testing purposes.
Merge branch 'develop' of https://github.com/yash3ahuja/CS496-CovertProtocol into pathfinding
Updated Behaviour and the associated constants file (CheckValues). If you want to test,
create your own adjacency list in the constants file in order for behavior to work.
Added in camera bounds. It's not 100% perfect but it works for what we
need.

Press 'c' to disable it.
Added in camera bounds. It's not 100% perfect but it works for what we
need.

Press 'c' to disable it.
Implemented object lighting using triggers (aka, it can be used for a
room-by-room basis).

To use it there are two conditions.

First, you must wrap the object that
needs to be swapped in lights under an empty game object with two
sub-objects of the renderers. One of these renderers should be the lit
object, the other should be the unlit object. The empty parent object
should have all colliders, physics, scripts, etc.

Second, the empty parent object should also have a LightState script added
to it.

To attach a light that can toggle to a trigger, attach a RoomLight script
to the trigger. When an object with a LightState enters the Trigger it
will set the lighting.
Updated .gitignore
Updated .gitignore

Conflicts:
	Code-csharp.v11.suo
Clean-up + Behavior

constants used for character controller moved to Constants. Constants
used for Enemy pathfinding moved to EnemyManager. All reference updated.

All behavior (pathfinding) related stuff moved to Behavior folder.

Tags (in General Folder) Updated. Changes Tags into a script which
expects game objects and will tag them, Can be used to tag "Player" and
"Waypoint".
Added more things to lighting. Created two prefabs for dark and light
rectangular/square room lights via triggers.

Added camera focus on game objects for the F1-F4 keys. For now, to assign
a game object to a key add it to the CameraController
"CameraFocusedGameObjects" array.

Moved zoom to the "Z" button. Now it should automatically be enabled by
default.
Merged lighting branch. Lighting is completed for now.
Merge branch 'develop' of https://github.com/yash3ahuja/CS496-CovertProtocol into pathfinding

Conflicts:
	Assets/Scripts/Behavior/AdjacentWaypoints.cs.meta
	Assets/Scripts/Camera/CameraController.cs.meta
	Assets/Scripts/General/Tags.cs
	Assets/Scripts/Tags.cs.meta
Updated Behavior + Fixed minor tag script error

All uses of raycast have been replaced with linecast.

Cleaned-up some portions of code by removing print statements and
redefining how pathing to a target waypoint was handled. Before, a
string was checked to see if it were not null, and if it was not null,
the string would be used to determine which waypoint to path to. This
was removed, and instead there is setMoveDestination( str).

For coordinates, all uses of transform were replaced with Vector3.  All
methods were updated appropriately.

Added a new pathto option. There is now pathtopoint and pathtowapoint.
This was done to accomdate for the new pathing option, specifically
pathing to a location that is not a waypoint (inbetween waypoints).
Refactored neil's pathfinding code to be more efficient and more
encapsulated.

To use it, there are a few requirements:

1. We must use the waypoint prefab that I have defined. Technically it
isn't required, but it simplifies it a lot.

2. We must define adjacent waypoints on each instance of the prefab in
order to build the graph.

3. We have to call one of the pathing or patrol functions in order to
start the pathing. It will have to be controlled by a behavior function of
some sort.

4. Any object that will impede the raycast has to be in the foreground
layer. This will need to be changed to be tag based, as opposed to being
layer-based.

Also, I implemented a Gizmo to show the waypoint graph on the screen and
added the W button to enable all the waypoint renderers on the screen.
Currently unable to get the lines to be drawn in the game view.
Added Vision and "Lighting"

Vision is comprised of only fog at the moment. So, if an area isn't
visible to the player, it has fog placed over it. There is explored and
unexplored fog (and hide fog, so when the player is in the area),
depending on the situtation. The fog can be handled by ChangeRoomFog
trigger. The trigger toggles between the default state, and the
non-default state, dependining on if the trigger is in contact with the
appropriate object or not. The VisionManager keeps track of all fog
tagged objects, and has the power to change their states to affect the
player's vision. If the manager decides to disable all fog, or enable
all fog, triggers will not have effect until it releases the fog
objects. IF any more vision related parts are created later, they should
be referenced by this manager as well, and the manager should be updated
appropriately.

For light, the previous trigger was adjusted twice. First, so trigger
exit and enter were replaced with triggerstay and an update function.
The reason was because it is smoother, and it was possible for the state
of the lightable object to not be updated. The second adjustment was to
remove the aforementioned update system, and just settle with a
simplified toggle system. The object switches it light status based on
being in contact with the trigger and the value stored in the trigger
(lit or not lit). A LightManager was then added. Its function is similar
to visionmanager, just limited to the scope of lit and unlit objects. It
can light all object, unlight them, and then return them back to their
normal state when that is all done. It can also be used to toggle
specific light objects.

Tags added:

Fog