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 nightsharks · Jun 19, 2017 at 11:41 PM · c#monodevelop

How to access variables inside methods in a class that is stored in an arraylist

I have a bunch of variable definitions stored inside method option1() in class A1L1O1 (stands for act 1 level 1 option 1).

 public class A1L1O1 : objectProperties {
 
     public void option1(){        
         Label2 = "test label text 1";
         Text2 = "test label text 1";
         Width2 = 20;
         Length2 = 20;
         Point2 = 1;
     }
 }

Same thing for A1L1O2.

 public class A1L1O2 : objectProperties {
 
     public void option1(){
 
         Label2.Equals("test label text L1O2");
         Text2.Equals("test text L1O2");
         Width2.Equals(20);
         Length2.Equals(20);
         Point2.Equals(1);
     }
 }

objectProperties just initializes the variables, and the child classes define them.

In another class, responseManager, I have an ArrayList Options, and in it I stored A1L1O1() and A1L1O2().

How can I access the variables inside the methods, inside the class? I don't fully understand getComponent but I feel like that's part of the solution. I'm super new to coding, thank you!

Comment
Add comment · Show 3
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
avatar image thePeine · Jun 20, 2017 at 01:14 AM 0
Share

Can you also include the code for your objectProperties, and the code you're using to Create your Arraylist, and add your A1L10 classes? Also, how are you calling this option1 method?

avatar image nightsharks thePeine · Jun 20, 2017 at 01:37 AM 0
Share
 public class objectProperties : $$anonymous$$onoBehaviour {
 
     public string Label2;
     public string Text2;
     public int Width2;
     public int Length2;
     public int Point2;
 
     public string Label(string Label2){
         return Label2;
     }
 
     public string Text(string Text2){
         return Text2;
     }
 
     public int Width(int Width2){
         return Width2;
     }
 
     public int Length(int Length2){
         return Length2;
     }
 
     public int Point(int Point2){
         return Point2;
     }
 }
avatar image nightsharks thePeine · Jun 20, 2017 at 01:42 AM 0
Share
     ArrayList Options = new ArrayList();
     public int i = 0;
 
     public void Awake(){
         Options.Add (new A1L1O1());
         Options.Add (new A1L1O2());
         Options.Add (new A1L1O3());
     }        
 

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by thePeine · Jun 20, 2017 at 02:12 AM

OK, gotcha, so there are a few things. First of all, to answer your direct question, you would need to cast each entry to access the underlying fields. So to access Length2 of your first Options item, you'd want

((objectProperties)Options[0]).Length2

However, a few other things I'd like to point out.

  1. Label2.Equals("test label text L1O2"); will not do what you want. You'll have to keep it like you've done in A1L1O1, and do Label2 = "test label text L1O2";

  2. Right now, you're setting values in your option1() function. Problem is, no one ever calls this function. Would probably be best to put these in a constructor instead. So change this:

public class A1L1O1 : objectProperties {

  public void option1(){        
      Label2 = "test label text 1";
      Text2 = "test label text 1";
      Width2 = 20;
      Length2 = 20;
      Point2 = 1;
  }

}

into this: That way it will be called when you create a new instance, with the "new" keywords

public class A1L1O1 : objectProperties {

  public A1L1O1 (){        
      Label2 = "test label text 1";
      Text2 = "test label text 1";
      Width2 = 20;
      Length2 = 20;
      Point2 = 1;
  }

}

The lastly, your methods in your base class aren't doing what you want either. You'd want to change this:

  public class objectProperties : MonoBehaviour {
  
      public string Label2;
      public string Text2;
      public int Width2;
      public int Length2;
      public int Point2;
  
      public string Label(string Label2){
          return Label2;
      }
  
      public string Text(string Text2){
          return Text2;
      }
  
      public int Width(int Width2){
          return Width2;
      }
  
      public int Length(int Length2){
          return Length2;
      }
  
      public int Point(int Point2){
          return Point2;
      }
  }

Into This:

  public class objectProperties : MonoBehaviour {
  
      public string Label2 {get; set;}
      public string Text2 {get; set;}
      public int Width2 {get; set;}
      public int Length2 {get; set;}
      public int Point2 {get; set;}
   }



I know it's a little confusing to take this all in at once, but feel free to ask if you want clarifications. And realistically, you'll probably want to start with a good C# book / Web tutorial, otherwise taking one off examples will never make sense. Good luck, hope this helped.

Comment
Add comment · Show 1 · Share
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
avatar image nightsharks · Jun 20, 2017 at 03:01 AM 0
Share

Oh, okay. I still don't fully understand getter and setter methods, but I think I see what you did there. I've been using Google, stackoverflow, and Lynda to learn haha. Thank you so much!

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

368 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

Related Questions

UnityEngine .DLL files are buried under Managed/UnityEngine/ 0 Answers

UnityEngine.UI is not working. 2 Answers

LevelManager.cs(17,9): error CS1525: Unexpected symbol `}' i cant find the bug here will be glad if someone can help me 1 Answer

Why are my functions float parameters being set to 0 when 1 is passed as the argument value? 1 Answer

How do I create a 2D grid using MonoDevelop? 1 Answer


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