Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
This question was closed Jan 21, 2021 at 01:45 PM by Optimus_L for the following reason:

Figured out issue. No longer a problem.

avatar image
0
Question by Optimus_L · Jan 21, 2021 at 02:56 PM · c#scripting problemeditor-scripting

Custom Grid Object Always Starts at 0,0 of editor window.

I'm trying to make a custom map editor. I have created a custom rpg_Grid object, which my custom editor window uses two of. One for a palette of tiles, the other for the actual map.

alt text

Issue is, although the grid draw's fine, when clicking on the editor window the red circle is where the origin point is for both grids. So clicking in the red circle, it returns 0, 0 for BOTH grids, as it appears to be starting both at the top most left position of the window...

Code: public rpg_Grid (int width, int height, float cellSize, Vector3 origin) { this.width = width; this.height = height; this.cellSize = cellSize; this.origin = origin;

         this.gridArray = new rpg_Tile[width,height];
         int i=0;
         for(int y = 0; y < gridArray.GetLength(1); y++)
         {
             for(int x = 0; x < gridArray.GetLength(0); x++)
             {
                     gridArray[x,y] = new rpg_Tile();
                     i++;
             }
         }
     }
     public rpg_Grid (int width, int height, float cellSize, rpg_Tile[] contents, Vector3 origin) 
     {
         this.width = width;
         this.height = height;
         this.cellSize = cellSize;
         this.origin = origin;
 
         this.gridArray = new rpg_Tile[width,height];
 
 
         int i=0;
         for(int y = 0; y < gridArray.GetLength(1); y++)
         {
             for(int x = 0; x < gridArray.GetLength(0); x++)
             {
                 if(contents[i] != null)
                 {
                     gridArray[x,y] = contents[i];
                     i++;
                 }
             }
         }
         
     }
     private Vector3 GetWorldPosition(int x, int y)
     {
         return new Vector3(x,y) * cellSize + origin;
     }
     public bool GetXY (Vector3 worldPosition, out int x, out int y)
     {        
         x = Mathf.FloorToInt((worldPosition - origin).x / cellSize);
         y = Mathf.FloorToInt((worldPosition - origin).y / cellSize);
         if (x >= 0 && y >= 0 && x < width && y < height)
         {
             return true;
         }
         x= -1;
         y = -1;
         return false;
     }
     public rpg_Tile SetValue(int x, int y)
     {
         if (x >= 0 && y >= 0 && x < width && y < height)
         {
             selectedValue = gridArray[x,y];
             return selectedValue;
         }
         return null;
     }
 
     public void DrawGrid(bool drawGrid)
     {
         if (!drawGrid)
         {
             Handles.DrawLine(GetWorldPosition(0, 0), GetWorldPosition(0, height));
             Handles.DrawLine(GetWorldPosition(0, 0), GetWorldPosition(width, 0));
         }
         for(int y = 0; y < gridArray.GetLength(1); y++)
         {
             for(int x = 0; x < gridArray.GetLength(0); x++)
             {   
                 if (drawGrid)
                 {
                     Handles.DrawLine(GetWorldPosition(x, y), GetWorldPosition(x, y + 1));
                     Handles.DrawLine(GetWorldPosition(x, y), GetWorldPosition(x + 1, y));
                 }
 
                 if (gridArray[x,y] != null)
                 {
                     if (gridArray[x,y].spriteTexture != null)
                     GUI.DrawTexture(new Rect(x*cellSize,y*cellSize, cellSize, cellSize), gridArray[x,y].spriteTexture);
                 }
             }
         }
 
             Handles.DrawLine(GetWorldPosition(0, height), GetWorldPosition(width, height));
             Handles.DrawLine(GetWorldPosition(width, 0), GetWorldPosition(width, height));
 
     }
     public void SetTile(int x, int y, rpg_Tile tile)
     {
         if (x >= 0 && y >= 0 && x < width && y < height)
         {
         gridArray[x,y] = tile;
         Debug.Log("Set Tile Called");
         }
     }
 }
 
 //I'm using the event system to get the mouse position in my map editor window;
             
         if (e.type == EventType.MouseDown)
             {
                 Vector2 mousePos = e.mousePosition;
                 //// code;
             }


gridissue.png (284.0 kB)
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

  • Sort: 

Follow this Question

Answers Answers and Comments

718 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Confused about custom GameObjects,Custom GameObject confusion 0 Answers

Detect if build target is installed 1 Answer

How do I solve a BuildAssetBundles Compilation Error that only occurs in the Editor? 1 Answer

Destroy GameObject without "killing" Parameters 2 Answers

Arrays/Lists in the inspector of Editor Extension scripts 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges