Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
2 captures
12 Jun 22 - 14 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 wysepkawyspa · May 22, 2019 at 08:30 AM · inheritancespherecolliderclass instance

C# Inheritance and passing Components

Hi !,

Been learning inheritance and passing variables and parameters between classes and subclasses. Also tried to setup sphere collider from base class by passing neccesary variables from derived class, but what is happening that collider is set up on desired gameObject and then another instance of sphereCollider is setUp in the middle of the scene.

 public class RobotAI : MonoBehaviour
 {
     int robotsLayer = (1 << 9);
     int maxHeath = 100;
     int currentHealth;
 
     protected NavMeshAgent agent;
     protected SphereCollider sphereCollider;
     protected RaycastHit[] rayEnemyCol;
     protected string enemyNameOrTag;
     
     public virtual void Start()
     {
 
     }
 
     public virtual void SetupGameObject(float colRadius , string enemyTag , float agentSpeed)
     {
         sphereCollider = gameObject.AddComponent<SphereCollider>();
         sphereCollider.radius = colRadius;
         sphereCollider.isTrigger = true;
         agent = gameObject.GetComponent<NavMeshAgent>();
         agent.speed = agentSpeed;
         enemyNameOrTag = enemyTag;
         currentHealth = maxHeath;
     }
     
     // Update is called once per frame
     public virtual void Update()
     {
         CheckForEnemy();
     }


And subclass:

 public class Cyborg : RobotAI
 {
     float colRadius = 4f;
     string enemyTag = "Zoorg";
     float agentSpeed = 2.5f;
     float angleView = 50f;
 
     public override void Start()
     {
         SetupGameObject(colRadius , enemyTag , agentSpeed);
     }
 
     private void OnDrawGizmos()
     {
         if (Application.isPlaying)
         {
             Gizmos.DrawWireSphere(sphereCollider.center, colRadius);
         }
     }


alt text

So if anybody got any slightest idea of why this is specifically happening and why im not refering to sphereCollider on gameObject itself, would appreciate any critic or help. Cheers !

unityhalp.png (390.2 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

· 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

108 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

Related Questions

An OS design issue: File types associated with their appropriate programs 1 Answer

How would I handle having one instance of 2 possible class, one derived from the other in a Monobehavior? 1 Answer

Saving class data without having lots of references? 1 Answer

How to choose base class to make Inherit C# 2 Answers

Does attaching a derived class script to a gameobject create a new instance of its parent class specific to that gameobject? 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