Quantcast
Channel: Latest Questions on Unity Answers
Viewing all articles
Browse latest Browse all 171066

Not allowed create MonoBehaviour using new keyword

$
0
0
Right now I have a simple weapon select. In the class WeaponSlot, I have a getSlotNumber method to return the currently selected weapon slot. How can I return this from another script? I want to have it in my ObjectPool class. So basically if I press 1, it shoots cubes, if I press 2 it shoots Spheres. So in the ObjectPool I will need to somehow use the getSlotNumber from WeaponSlots, but what is the best way of accessing the WeaponSlots class? When I tried the following code: WeaponSlots ws = new WeaponSlots(); int selectedWeapon = ws.getSlotNumber(); I get this warning You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can inherit from ScriptableObject or no base class at all UnityEngine.MonoBehaviour:.ctor() WeaponSlots:.ctor() ObjectPool:Start() (at Assets/Resources/Scripts/ObjectPool.cs:15)

Viewing all articles
Browse latest Browse all 171066

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>