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); } } } }
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); }
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); } }
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); } }