Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 /
  • Help Room /
avatar image
0
Question by Loki1991 · Aug 11, 2017 at 06:48 AM · c#gameobject

collider.gameObject.GetComponent doesn't have correct values yet it has the correct name

I have looked around and am having trouble finding an answer. trying to make a match 3 game

I have a multidimensional array called Matrix, this is my grid/board.

i have a normal game object array that is used to link these objects from the inspector.

         this.Matrix[i, j].GameObject = this.go[i * Constants.MaxColumns + j];
         this.Matrix[i, j].CurrentI = i;
         this.Matrix[i, j].CurrentJ = j;

if i call a debug after this to see the value it returns the correct i and j it does however in the next method called by an on click i retrive the object clicked through

         var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
         var hit = Physics2D.Raycast(ray.origin, ray.direction);
         var tempPiece = hit.collider.gameObject.GetComponent<Piece>();

however now tempPiece.CurrentI and CurrentJ return 0. However if i get the name value it does have the correct name for the object.

here is the full start method and then the update method only calls the checkpiece method

 private void Start()
 {
     this.gameState = GameState.Start;
     var index = Random.Range(0, Constants.MaxSize);
     for (var i = 0; i < Constants.MaxColumns; i++)
     for (var j = 0; j < Constants.MaxRows; j++)
     {
         var point = this.GetScreenCoordinatesFromVieport(i, j);
         this.go[i * Constants.MaxColumns + j].transform.position = point;

         // add the item
         this.Matrix[i, j] = this.gameObject.AddComponent<Piece>();

         // sets the coordinates of the item in the item for reference later
         this.Matrix[i, j].GameObject = this.go[i * Constants.MaxColumns + j];
         this.Matrix[i, j].SetIJ(i, j);
         // this.Matrix[i, j].CurrentI = i;
         // this.Matrix[i, j].CurrentJ = j;
         // Debug.Log(i+","+j);
         // Debug.Log(this.Matrix[i, j].CurrentI+","+this.Matrix[i,j].CurrentJ);
         // Debug.Log(this.Matrix[i, j].CurrentI + "," + this.Matrix[i, j].CurrentJ);

             // add a box collider the the raycast to work properly
             if (this.Matrix[i, j].GameObject.GetComponent<BoxCollider2D>() == null)
             this.Matrix[i, j].GameObject.AddComponent<BoxCollider2D>();
     }
 }

 private void CheckPieceInput()
 {
     if (Input.GetMouseButtonUp(0))
     {
         // Debug.Log("clicked");
         var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
         var hit = Physics2D.Raycast(ray.origin, ray.direction);

         // check if it hit
         if (hit.collider != null)
         {
             Debug.Log("hit something: " + hit.collider.gameObject.name + " " + hit.collider.gameObject.GetComponent<Piece>().CurrentI + ":" + hit.collider.gameObject.GetComponent<Piece>().CurrentJ);
             var tempPiece = hit.collider.gameObject.GetComponent<Piece>();

             // Debug.Log(tempPiece.CurrentI + "," + tempPiece.CurrentJ);
             if (this.PieceOne == null)
             {
                 this.PieceOne = tempPiece;
             }
             else
             {
                 this.PieceTwo = tempPiece;
                 this.Swap(
                     this.PieceOne.CurrentI,
                     this.PieceOne.CurrentJ,
                     this.PieceTwo.CurrentI,
                     this.PieceTwo.CurrentJ);

                 // this.AnimateMovement(10f);

                  this.MoveIt();

                 // sets first back to null to start selection again
                 Debug.Log("2nd");
                 this.PieceOne = null;
                 this.PieceTwo = null;
             }
         }
     }
 }
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

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

374 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

Related Questions

How to destroy on exiting PlayMode/EditMode? 1 Answer

error CS0266: Cannot implicitly convert type `UnityEngine.Object' to `UnityEngine.GameObject'. An explicit conversion exists 1 Answer

Spawning stops after second scene load 2 Answers

OnMouseOver wont work with fps Controller 0 Answers

UnityException: Transform child out of bounds (C# Unity) 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