Exemplo n.º 1
0
        //Event não pode ser atribuido com o perador =, apenas com +=
        public static void TestEventAction()
        {
            Console.WriteLine("Teste Action OnGet e OnChanged");

            ActionEventClass.Texto1 = "Número alterado!";

            string textoLocal = "Obtendo número... ";

            ActionEventClass.OnGetAction = (int n) => { Thread.Sleep(1000); Console.WriteLine(textoLocal + n); Thread.Sleep(1000); };

            //Fora da classe não pode atribuir um valor nulo para um evento, mas na própria classe sim
            ActionEventClass.OnSetedEvent += (string t) => { Thread.Sleep(1000); Console.WriteLine(t); };

            ActionEventClass.Numero = 1;
            var numero = ActionEventClass.Numero;

            ActionEventClass.Numero = 2;
            numero = ActionEventClass.Numero;

            ActionEventClass.Numero = 3;
            numero = ActionEventClass.Numero;

            //Nada impede de executar a action atravez da classe
            ActionEventClass.OnGetAction(1);
        }
Exemplo n.º 2
0
        private void Start()
        {
            contextMenuState = ContextPointerMenu.ContextState.CUSTOM_OBJECTS;

            ActionMap   = ActionHandler.actions.Transformable;
            placeAction = ActionHandler.instance.GetAction(ActionHandler.actions.Transformable.Place);

            meshCollider = GetComponent <Collider>();

            gameObject.transform.position = Vector3.zero;
            bounds = new Bounds(gameObject.transform.position, Vector3.zero);
            Mesh mesh = gameObject.GetComponent <MeshFilter>().mesh;

            bounds = mesh.bounds;

            transform.position = Vector3.zero;
            if (stickToMouse)
            {
                HelpMessage.Instance.Show("<b>Klik</b> op het punt waar het object geplaatst moet worden\n\nGebruik de <b>Escape</b> toets om te annuleren");

                PlacementSettings();
                placeActionEvent = placeAction.SubscribePerformed(Place);
                TakeInteractionPriority();
                StartCoroutine(StickToMouse());
                meshCollider.enabled = false;
            }
        }