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 /
avatar image
0
Question by dragonking300 · Jan 08, 2017 at 03:14 AM · c#scripting problemscripting beginner

How would I access my list from another function?

I'm trying to make a cannon that has a conveyor like list where it moves the first variable of my script puts it on the back, then puts the 2d one in first place but my problem is I can't access my list in another function and there are no questions on unity answers or on stack overflow that allude to the answer that I could find. Could you help me please?

 using UnityEngine;
 using System.Collections;
 using System.Collections.Generic;
 
 public class CannonScript : MonoBehaviour
 {
     bool fired;
     float previousTime;
     public GameObject
         projectile,     //  The cannonball
         target,         //  The cube that the cannon points at
         cannonBallPos;  //  The spawn position of the cannon ball
     public float
         waitTime = 1,   //  Time between shots
         forceAmount = 1000;
 
     void Start()
     {
         previousTime = Time.timeSinceLevelLoad;
          var Cannons = new List<GameObject>(GameObject.FindGameObjectsWithTag("Cannon"));
         transform.localScale = new Vector3(1, 1, 2);
         cannonBallPos = Cannons[1];
         cannonBallPos = new GameObject("cannonBallPos");    //  Creates a new game object
         cannonBallPos.transform.parent = transform; //  Sets the parent as the cannon
         cannonBallPos.transform.position = transform.position + new Vector3(0, 0, 0.5f); //  Moves to the front of the cannon
 
     }
 
         void Update()
     {
        
 
         transform.LookAt(target.transform);
             if (Time.timeSinceLevelLoad - previousTime > waitTime)
             
                  previousTime = Time.timeSinceLevelLoad;
                 Fire();
             
         }
 
         void Fire()
     {
             GameObject cannonBall;
             cannonBall = (GameObject)Instantiate(projectile, cannonBallPos.transform.position, cannonBallPos.transform.rotation);
             cannonBall.GetComponent<Rigidbody>().AddForce(transform.forward * forceAmount);
         
        }
     }

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

1 Reply

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

Answer by Necromunger · Jan 08, 2017 at 05:54 AM

At the top of your class add a new public variable.

 public List<GameObject> Cannons = new List<GameObject>();

In your start method, init your list and then use it the same way.

  void Start()
  {
      previousTime = Time.timeSinceLevelLoad;
      Cannons = new List<GameObject>(GameObject.FindGameObjectsWithTag("Cannon"));
      transform.localScale = new Vector3(1, 1, 2);
      cannonBallPos = Cannons[1];
      cannonBallPos = new GameObject("cannonBallPos");
      cannonBallPos.transform.parent = transform;
      cannonBallPos.transform.position = transform.position + new Vector3(0, 0, 0.5f);
  }

Then when you want to access the list of cannons from another script you make a reference to this one and access its Cannons member.

 public CannonScript cannonScript;

  void Start()
  {
       If (cannonScript != null) {
            //cannonScript.Cannons
       }
  }

Either use unity's UI to drag the script reference or find the GameObject with the CannonScript attached on Start()

Comment
Add comment · 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

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

277 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

Related Questions

instantiating unique classes of a type 0 Answers

I need some help with my high score.,I need help with my highsore. 1 Answer

Multiple Cars not working 1 Answer

"Only assignment, call, increment, decrement and new object expressions can be used as statements" 1 Answer

error CS1525: unexpected symbol. How do I fix this and why am I getting this error? 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