コード例 #1
0
        void Hovered(SelectionControllerEventArgs args)
        {
            TargetStateType prevState = State;

            TargetStateType newState = TargetStateType.HoveredSolution;

            if (args.IsConflict)
            {
                newState = TargetStateType.HoveredConflicted;
            }

            if (args.IsConflictSolution)
            {
                newState = TargetStateType.HoveredSolution;
            }

            if (newState != prevState)
            {
                all_SynchState(newState.ToString(), Highlighted);
                if (Network.isClient)
                {
                    networkView.RPC("all_SynchState", RPCMode.Others, newState.ToString(), Highlighted);
                }

                //only client and standalone
                if (!Network.isServer)
                {
                    if (prevState != TargetStateType.HoveredSolution && prevState != TargetStateType.HoveredConflicted)
                    {
                        NotifyEventListeners(SelectionEventArgs.SelectionEventType.Hovered, args);
                    }
                }
            }
        }
コード例 #2
0
        void NotifyEventListeners(SelectionEventArgs.SelectionEventType eventType, SelectionControllerEventArgs controllerArgs)
        {
            SelectionEventArgs args = new SelectionEventArgs(controllerArgs);

            args.Type   = eventType;
            args.Target = gameObject;

            MessageBroker.BroadcastAll("On" + args.Type.ToString(), args);
        }
コード例 #3
0
        void Selected(SelectionControllerEventArgs args)
        {
            all_TriggerSelection();
            if (Network.isClient)
            {
                networkView.RPC("all_TriggerSelection", RPCMode.Others);
            }

            //only client and standalone
            if (!Network.isServer)
            {
                NotifyEventListeners(SelectionEventArgs.SelectionEventType.Selected, args);
            }
        }
コード例 #4
0
        void NotHovered(SelectionControllerEventArgs args)
        {
            TargetStateType newState = TargetStateType.Normal;

            all_SynchState(newState.ToString(), Highlighted);
            if (Network.isClient)
            {
                networkView.RPC("all_SynchState", RPCMode.Others, newState.ToString(), Highlighted);
            }

            //only client and standalone
            if (!Network.isServer)
            {
                NotifyEventListeners(SelectionEventArgs.SelectionEventType.Unhovered, args);
            }
        }