Difference between revisions of "LevelEditor"

From Project Wiki
Jump to navigation Jump to search
Line 41: Line 41:
  
 
==== More added when Questions occur ====
 
==== More added when Questions occur ====
 
  
  

Revision as of 13:18, 3 June 2021

How do I build a new Level?

Placing Objects

Description here

Editing Objects

Description here

Removing Objects

Description here

Saving Levels

Description here

How can I test a Level?

Description here

How do I edit an existing Level?

Loading Levels

Description here

How do I add new Variants to the Leveleditor?

Variants here mean mostly visual variants to an already existing template object, for example a green version of a Sentry.

Adding the Variant

Description here

How do I add new Objects to the Leveleditor?

Description here

FAQ

What does the Colour of the crosshair mean?

- Green: Grid is Empty

- Red: Grid is not Empty

- Purple: Object is Selected

More added when Questions occur

OLD

How to use the Level Editor? (Is to general)

Placing Objects:

  1. Aim the cursor at the place you want to place the object
  2. Check that the outline is green
  3. Click the left mouse button

Removing Objects:

  1. Aim the cursor at the place you want to remove the object
  2. Check that the outline is red
  3. Click the right mouse button

Saving Levels:

  1. Click the 'Save Level' button

Loading Levels:

  1. Click the 'Load Level' button

How does the Level Editor work? (Maybe Remove this?)

Placing Objects:

  1. Checking the world position of the cursor
  2. Checking if the grid is empty or not
  3. Instantiating the selected object as child of the "Parent" tagged object

Removing Objects:

  1. Checking the world position of the cursor
  2. Checking if the grid is empty or not
  3. Destroy object in selected grid

Saving Levels:

  1. Find all categorised objects using tags (Wall, Sentry, etc.)
  2. Convert them all into a stripped down serializable datatype
  3. Insert the stripped down data into an array
  4. Create a LevelData from all of the data arrays
  5. Use a binary formatter to encrypt the level data
  6. Save the encrypted data to file

Loadng Levels:

  1. Read the data from file
  2. Use a binary formatter to decrypt the data into a LevelData
  3. Clearing the level by destroying all objects of the "Parent" tagged object
  4. Building the level by instantiating every object from LevelData as child of the "Parent" tagged object according to the list of prefabs given by the ObjectTemplate