Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 11 Next capture
2021 2022 2023
1 capture
11 Jun 22 - 11 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 NEOF · Jul 13, 2015 at 12:24 AM · errorreferencemissing

EventSystems throws an error (Missing reference)

Hi, I have a problem. I have Unity 5.1.1 and when I am trying to have "using UnityEngine.EventSystems" the reference is missing. I am trying to use it to get the object being dropped on ondrop function. I couldn't find a lot of info about this issue. Does anyone know how to fix that? Here is the code:

 using UnityEngine;
 using System.Collections;
 using UnityEngine.UI;
 using UnityEngine.EventSystems;
 public class Slot : MonoBehaviour {
     public int slotIndex;
     public Image icon;
     // Use this for initialization
     void Start () {
         icon=this.gameObject.GetComponent<Image>();
     }
  
     // Update is called once per frame
     void Update () {
         if(Control.programSlots[slotIndex]==ProgramRunner.forLoop)
         {
             icon.color=Color.blue;
         }
         if(Control.programSlots[slotIndex]==ProgramRunner.moveBack)
         {
             icon.color=Color.red;
         }
         if(Control.programSlots[slotIndex]==ProgramRunner.moveForward)
         {
             icon.color=Color.yellow;
         }
         if(Control.programSlots[slotIndex]==ProgramRunner.moveLeft)
         {
             icon.color=Color.black;
         }
         if(Control.programSlots[slotIndex]==ProgramRunner.moveRight)
         {
             icon.color=Color.green;
         }
         if(Control.programSlots[slotIndex]==ProgramRunner.blankAction)
         {
             icon.color=Color.white;
         }
 
     }
     public void OnDrop(EventSystems.PointerEventData data)
     {
         Control.programSlots[slotIndex]=Control.selectedCard.action;
         Control.requestSlots[slotIndex]=Control.selectedCard.req;
     }
 }

And here is the error: Assets/Slot.cs(41,28): error CS0246: The type or namespace name `EventSystems' could not be found. Are you missing a using directive or an assembly reference?

Help Please!

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
2
Best Answer

Answer by DoTA_KAMIKADzE · Jul 13, 2015 at 12:25 AM

You're already using EventSystems, so just change your line#41 to this:

 public void OnDrop(PointerEventData data)

or if you wish so:

 public void OnDrop(UnityEngine.EventSystems.PointerEventData data)
Comment
Add comment · Show 3 · 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 NEOF · Jul 13, 2015 at 05:26 PM 0
Share

The problem is that it does not show the method in a trigger event with any of these solutions. What I want to do is to get an object that was dropped onto the element. I register drop using trigger event component, but I can not select OnDrop from the list of functions available when I try any of these solutions.

avatar image DoTA_KAMIKADzE · Jul 13, 2015 at 06:14 PM 1
Share

And how you expect me to tell you what you need to do, if I have no idea how you configured EventSystem, what you do with your UI, what is your Control class and how it works, and why you want to "select OnDrop from the other script"(if I got you right) in the first place?

You've asked firstly how to fix the error, the answer is exactly it. Now one more thing I can tell you - in order for OnDrop to properly function you'd also need to add IDropHandler interface, e.g. line#5 to this:

 public class Slot : $$anonymous$$onoBehaviour, IDropHandler {

If you want any further assistance you should describe a bit better what exactly you have and how you expect it to work, as so far I only got that you want to drop 1 UI element on some other and it should somehow work with your proprietary script that you haven't shown. You can either update your question with more info, or even better - post a new question.

P.S. You can also find out how to work with UI's drag&drop in Unity's UI examples.

avatar image NEOF · Jul 14, 2015 at 12:51 AM 0
Share

Thank you. Your hint about IDropHandler actually helped, I was using the system in a wrong way.

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

3 People are following this question.

avatar image avatar image avatar image

Related Questions

Reference script on Behaviour is Missing, but IT'S NOT MISSING 0 Answers

Error when i re-load my scene 0 Answers

"Object reference not set to an instance of an object" problem 1 Answer

Object reference not set to an instance of an object. 2 Answers

how to solve DllNotFoundException: UnityMockHMD -1 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