public void OnStop() { if (!Started) { return; } Log.WriteFile("TV Service: stopping"); if (_InitializedEvent != null) { _InitializedEvent.Reset(); } StopRemoting(); RemoteControl.Clear(); if (_controller != null) { _controller.DeInit(); _controller = null; } StopPlugins(); if (_powerEventThreadId != 0) { Log.Debug("TV Service: OnStop asking PowerEventThread to exit"); PostThreadMessage(_powerEventThreadId, WM_QUIT, IntPtr.Zero, IntPtr.Zero); _powerEventThread.Join(); } _powerEventThreadId = 0; _powerEventThread = null; _started = false; Log.WriteFile("TV Service: stopped"); }
protected CardAllocationBase(TvBusinessLayer businessLayer, TVController controller) { _businessLayer = businessLayer; _controller = controller; //_tuningChannelMapping = new Dictionary<int, IList<IChannel>>(); //_channelMapping = new Dictionary<int, bool>(); }
public void TestNoTuningDetailsChannel() { Dictionary <int, ITvCardHandler> cards = new Dictionary <int, ITvCardHandler>(); List <IChannel> tuningDetails = new List <IChannel>(); IUser user = Fakes.FakeUser(); TvBusinessLayer businessLayer = Fakes.FakeTvBusinessLayer();; TVController controller = Fakes.FakeTVController(); DVBCardMocks dvbCardMocks = GetCardMockByCardType(CardType.DvbC, tuningDetails, user); ITvCardHandler cardHandler1 = dvbCardMocks.GetMockedCardHandler(); cards.Add(dvbCardMocks.CardId, cardHandler1); ChannelMap channelMap; Channel channel = ChannelMocks.GetChannel(out channelMap); Isolate.WhenCalled(() => businessLayer.GetTuningChannelsByDbChannel(channel)).WillReturn(tuningDetails); TVControllerMocks.CardPresent(cardHandler1.DataBaseCard.IdCard, controller); SetupChannelMapping(cardHandler1, channelMap, businessLayer, channel); AdvancedCardAllocation allocation = new AdvancedCardAllocation(businessLayer, controller); TvResult result; List <CardDetail> availCards = allocation.GetFreeCardsForChannel(cards, channel, ref user, out result); Assert.AreEqual(0, availCards.Count, "The number of cards returned is not as expected"); }
public ControllerActiveStandbyHandler(IController controller) { // Save controller _controller = controller as TVController; // Register handler for TV server events _controller.OnTvServerEvent += OnTvServerEvent; }
public ScheduledRecordingsWakeupHandler(IController controller) { // Save controller _controller = controller as TVController; // Register handler for TV server events _controller.OnTvServerEvent += OnTvServerEvent; }
public static void CreateThreadsWindow(System.Diagnostics.Process process) { ThreadsView view = new ThreadsView(); ITMModel model = new TMModel(); TVController controller = new TVController(model, view, process); view.Visible = true; }
public void OnStart() { //System.Diagnostics.Debugger.Launch(); try { if (!Started) { Log.Info("TV service: Starting"); Thread.CurrentThread.Name = "TVService"; FileVersionInfo versionInfo = FileVersionInfo.GetVersionInfo(Application.ExecutablePath); Log.WriteFile("TVService v" + versionInfo.FileVersion + " is starting up on " + OSInfo.OSInfo.GetOSDisplayVersion()); #if DEBUG Log.Info("Debug build: " + Application.ProductVersion); #else Log.Info("Build: " + Application.ProductVersion); #endif //Check for unsupported operating systems OSPrerequisites.OSPrerequisites.OsCheck(false); _powerEventThread = new Thread(PowerEventThread); _powerEventThread.Name = "PowerEventThread"; _powerEventThread.IsBackground = true; _powerEventThread.Start(); _controller = new TVController(); _controller.Init(); StartPlugins(); StartRemoting(); _started = true; if (_InitializedEvent != null) { _InitializedEvent.Set(); } Log.Info("TV service: Started"); while (true) { Thread.Sleep(1000); } } } catch (Exception ex) { //wait for thread to exit. eg. when stopping tvservice Log.Error("TvService OnStart failed : {0}", ex.ToString()); _started = true; // otherwise the onstop code will not complete. OnStop(); } }
private void Start() { tv = GameObject.FindObjectOfType <TVController>(); sofaText.enabled = false; remoteText.enabled = false; doorText.enabled = false; glassText.enabled = false; tutorialText.enabled = true; tvText.enabled = false; Invoke("DisableTutorial", 5); }
private void TestWrongTuningDetailForCardForFTAChannel(CardType cardType) { Dictionary <int, ITvCardHandler> cards = new Dictionary <int, ITvCardHandler>(); List <IChannel> tuningDetails = new List <IChannel>(); IUser user = Fakes.FakeUser(); TvBusinessLayer businessLayer = Fakes.FakeTvBusinessLayer();; TVController controller = Fakes.FakeTVController(); //we need to pick a different cardtype here- CardType cardTypeDifferent = cardType; switch (cardType) { case CardType.DvbT: cardTypeDifferent = CardType.DvbC; break; case CardType.DvbC: cardTypeDifferent = CardType.DvbS; break; case CardType.DvbS: cardTypeDifferent = CardType.DvbT; break; } IChannel tuningDetail1 = GetFTATuningDetailBasedOnCardType(cardTypeDifferent); tuningDetails.Add(tuningDetail1); DVBCardMocks dvbCardMocks = GetCardMockByCardType(cardType, tuningDetails, user); ITvCardHandler cardHandler1 = dvbCardMocks.GetMockedCardHandler(); //ITvCardHandler cardHandler1 = DVBTCardMocks.AddIdleFTADVBTCard(tuningDetail1, user); cards.Add(dvbCardMocks.CardId, cardHandler1); ChannelMap channelMap; Channel channel = ChannelMocks.GetChannel(out channelMap); Isolate.WhenCalled(() => businessLayer.GetTuningChannelsByDbChannel(channel)).WillReturn(tuningDetails); TVControllerMocks.CardPresent(cardHandler1.DataBaseCard.IdCard, controller); SetupChannelMapping(cardHandler1, channelMap, businessLayer, channel); AdvancedCardAllocation allocation = new AdvancedCardAllocation(businessLayer, controller); TvResult result; List <CardDetail> availCards = allocation.GetFreeCardsForChannel(cards, channel, ref user, out result); Assert.AreEqual(0, availCards.Count, "The number of cards returned is not as expected"); }
/// <summary> /// Constructor /// </summary> /// <param name="controller">instance of a TVController</param> /// <param name="card">The card</param> public EpgCard(TVController controller, Card card) { _card = card; _user = UserFactory.CreateEpgUser(); _tvController = controller; _grabStartTime = DateTime.MinValue; _state = EpgState.Idle; _epgTimer.Interval = 30000; _epgTimer.Elapsed += _epgTimer_Elapsed; _eventHandler = controller_OnTvServerEvent; _dbUpdater = new EpgDBUpdater(_tvController, "IdleEpgGrabber", true); }
public void ZoomOutTV() { Debug.Log("zoom out tv"); GameObject go = GameObject.Find("tv camera test"); if (go != null && go.active) { TVController tvController = go.GetComponent <TVController> (); tvController.Zoomout(); //Animator animator = go.GetComponent<Animator> (); //animator.SetTrigger ("zoomout"); } }
public AdvancedCardAllocationTicket(TvBusinessLayer businessLayer, TVController controller, IEnumerable <ICardTuneReservationTicket> tickets) : base(businessLayer, controller) { _tickets = new Dictionary <int, ICardTuneReservationTicket>(); foreach (ICardTuneReservationTicket cardTuneReservationTicket in tickets) { if (cardTuneReservationTicket != null) { int idCard = cardTuneReservationTicket.CardId; if (!_tickets.ContainsKey(idCard)) { _tickets.Add(idCard, cardTuneReservationTicket); } } } }
public void SetChannelStates(Dictionary <int, ITvCardHandler> cards, IList <Channel> channels, bool checkTransponders, TVController tvController) { if (channels == null) { return; } //call the real work as a thread in order to avoid slower channel changes. // find all users IList <IUser> allUsers = GetActiveUsers(cards); ThreadStart starter = delegate { DoSetChannelStates(cards, channels, checkTransponders, allUsers, tvController); }; Thread setChannelStatesThread = new Thread(starter); setChannelStatesThread.Name = "Channel state thread"; setChannelStatesThread.IsBackground = true; setChannelStatesThread.Priority = ThreadPriority.Lowest; setChannelStatesThread.Start(); }
/// <summary> /// Gets a list of all channel states /// </summary> /// <returns>dictionary containing all channel states of the channels supplied</returns> public Dictionary <int, ChannelState> GetChannelStates(Dictionary <int, ITvCardHandler> cards, IList <Channel> channels, ref IUser user, bool checkTransponders, TVController tvController) { if (channels == null) { return(null); } List <IUser> allUsers = new List <IUser>(); allUsers.Add(user); DoSetChannelStates(cards, channels, checkTransponders, allUsers, tvController); if (allUsers.Count > 0) { return(allUsers[0].ChannelStates); } return(new Dictionary <int, ChannelState>()); }
public void OnStop() { if (!_started) { return; } Log.WriteFile("TV Service: stopping"); // Reset "Global\MPTVServiceInitializedEvent" if (_InitializedEvent != null) { _InitializedEvent.Reset(); } // Stop the plugins StopPlugins(); // Stop remoting and deinit the TvController StopRemoting(); RemoteControl.Clear(); if (_controller != null) { _controller.DeInit(); _controller = null; } // Terminate the power event thread if (_powerEventThreadId != 0) { Log.Debug("TV Service: OnStop asking PowerEventThread to exit"); PostThreadMessage(_powerEventThreadId, WM_QUIT, IntPtr.Zero, IntPtr.Zero); _powerEventThread.Join(); } _powerEventThreadId = 0; _powerEventThread = null; _started = false; Log.WriteFile("TV Service: stopped"); }
private void TestOneAvailLockedCardForFTAChannel(CardType cardType) { Dictionary <int, ITvCardHandler> cards = new Dictionary <int, ITvCardHandler>(); List <IChannel> tuningDetails = new List <IChannel>(); IUser user = Fakes.FakeUser(); TvBusinessLayer businessLayer = Fakes.FakeTvBusinessLayer();; TVController controller = Fakes.FakeTVController(); IChannel tuningDetail1 = GetFTATuningDetailBasedOnCardType(cardType); tuningDetails.Add(tuningDetail1); DVBCardMocks dvbCardMocks = GetCardMockByCardType(cardType, tuningDetails, user); dvbCardMocks.Idle = false; ITvCardHandler cardHandler1 = dvbCardMocks.GetMockedCardHandler(); cards.Add(dvbCardMocks.CardId, cardHandler1); ChannelMap channelMap; Channel channel = ChannelMocks.GetChannel(out channelMap); Isolate.WhenCalled(() => businessLayer.GetTuningChannelsByDbChannel(channel)).WillReturn(tuningDetails); TVControllerMocks.CardPresent(cardHandler1.DataBaseCard.IdCard, controller); SetupChannelMapping(cardHandler1, channelMap, businessLayer, channel); AdvancedCardAllocation allocation = new AdvancedCardAllocation(businessLayer, controller); TvResult result; List <CardDetail> availCards = allocation.GetFreeCardsForChannel(cards, channel, ref user, out result); Assert.AreEqual(1, availCards.Count, "The number of cards returned is not as expected"); Assert.AreEqual(availCards[0].SameTransponder, false, "same transponder not as expected"); }
public CardReservationRec(TVController tvController) : base(tvController) { }
public void OnStart() { //System.Diagnostics.Debugger.Launch(); try { if (!Started) { Log.Info("TV Service: Starting"); Thread.CurrentThread.Name = "TVService"; // Log TvService start and versions FileVersionInfo versionInfo = FileVersionInfo.GetVersionInfo(Application.ExecutablePath); Log.WriteFile("TVService v" + versionInfo.FileVersion + " is starting up on " + OSInfo.OSInfo.GetOSDisplayVersion()); Log.Info(OSInfo.OSInfo.GetLastInstalledWindowsUpdateTimestampAsString()); Log.Info("Windows Media Player: [{0}]", OSInfo.OSInfo.GetWMPVersion()); // Warn about unsupported operating systems OSPrerequisites.OSPrerequisites.OsCheck(false); // Start the power event thread _powerEventThread = new Thread(PowerEventThread); _powerEventThread.Name = "PowerEventThread"; _powerEventThread.IsBackground = true; _powerEventThread.Start(); // Init the TvController and start remoting _controller = new TVController(); _controller.Init(); StartRemoting(); // Start the plugins StartPlugins(); // Set "Global\MPTVServiceInitializedEvent" if (_InitializedEvent != null) { _InitializedEvent.Set(); } _started = true; Log.Info("TV Service: Started"); // Wait for termination while (true) { Thread.Sleep(1000); } } } catch (ThreadAbortException) { Log.Info("TV Service is being stopped"); } catch (Exception ex) { if (_started) { Log.Error("TV Service terminated unexpectedly: {0}", ex.ToString()); } else { Log.Error("TV Service failed to start: {0}", ex.ToString()); } } finally { _started = true; // otherwise the onstop code will not complete. OnStop(); } }
public AdvancedCardAllocationStatic(TvBusinessLayer businessLayer, TVController controller) : base(businessLayer, controller) { }
public void SetController(TVController controller) { this.controller = controller; }
void Start() { tvScript = GetComponent <TVController>(); _dialogueManager = FindObjectOfType <DialogueManager>().gameObject; dScript = _dialogueManager.GetComponent <DialogueManager>(); }
void Update() { if (dialogWindow.isOpen == false) { if (Input.mouseScrollDelta.y != 0 || Input.GetKeyDown(KeyCode.Space)) //switch hands { currentHand = SwapActiveHand(); SetHandColor(); } else if (Input.GetKeyDown(KeyCode.Q)) { actionPanel.OnDropClick(); } //else if (Input.GetKeyDown(KeyCode.Q)) //switch to left hand //{ // currentHand = left_hand_btn; // SetHandColor(); //} //else if (Input.GetKeyDown(KeyCode.E)) //switch to right hand //{ // currentHand = right_hand_btn; // SetHandColor(); //} else if (Input.GetKeyDown(KeyCode.Tab)) // open bag { if (isBagOpen == true) { CloseOpenContainer(bag_panel, ref isBagOpen); return; } if (IsEmpty(bag_btn) == true) { return; } Item bag = bag_btn.GetComponent <ItemCell>().item; CloseOpenContainer(bag_panel, ref isBagOpen); if (isBagOpen == true) { isBagOpenWithTab = true; ContainerContentInit(bag.innerItems, bag_panel); } } if (Input.GetMouseButtonDown(1)) { eventController.OnMouseClickEvent.Invoke(); mousePosRight = Camera.main.ScreenToWorldPoint(Input.mousePosition); Vector2 mousePos2D = new Vector2(mousePosRight.x, mousePosRight.y); RaycastHit2D[] hits = Physics2D.RaycastAll(mousePos2D, Vector2.zero); foreach (var hit in hits) { if (hit.collider.name.Contains(Global.DROPED_ITEM_PREFIX) && IsInActionRadius(hit.transform.position, player.position, actioPlayerRadius)) { Item itemInWorld = hit.collider.GetComponent <ItemCell>().item; if (itemInWorld.itemSubstitution.IsUsable(GetItemInHand(currentHand))) { itemInWorld.itemSubstitution.Substitute(hit.collider.gameObject); return; } } if (hit.collider.tag == "substitudeItem") { Item itemToDrop = hit.collider.GetComponent <SubstitudeCell>().item; actionPanel.SpawnItem(hit.transform.position, itemToDrop); Destroy(hit.collider.gameObject); return; } if (hit.collider.gameObject.tag == "table" && hit.collider.GetComponent <TableController>().isCraftTable) { bool removeTool = craftController.Craft_Table(hits, GetItemInHand(currentHand), CraftType.Cooking, CraftTable.Table); if (removeTool) { SetDefaultItem(currentHand); } return; } if (hit.collider.gameObject.tag == "microwave") { MicrowaveController microwave = hit.collider.GetComponent <MicrowaveController>(); craftController.Craft_Microwave(microwave, GetItemInHand(currentHand), CraftType.Cooking, CraftTable.Microwave); eventController.OnEnvChangeShapeEvent.Invoke(); return; } if (hit.collider.gameObject.tag == "oven") { MicrowaveController microwave = hit.collider.GetComponent <MicrowaveController>(); craftController.Craft_Microwave(microwave, GetItemInHand(currentHand), CraftType.Cooking, CraftTable.Oven); eventController.OnEnvChangeShapeEvent.Invoke(); return; } if (hit.collider.gameObject.tag == "printer") { PrinterController printerController = hit.collider.GetComponent <PrinterController>(); printerController.OnPrinterClick(); } if (hit.collider.gameObject.tag == "pc") { PCController pcController = hit.collider.GetComponent <PCController>(); pcController.OnPc_Disck(currentHand); } if (hit.collider.gameObject.tag == "tv") { TVController tvController = hit.collider.GetComponent <TVController>(); tvController.NextChanel(); } if (hit.collider.gameObject.name.Contains(Global.ITEM_SWITCH_PREFIX)) { ISwitchItem switchItem = hit.collider.GetComponent <ISwitchItem>(); switchItem.SwitchItem(GetItemInHand(currentHand), currentHand); //ItemSwitchController itemSwitchController = hit.collider.GetComponent<ItemSwitchController>(); //itemSwitchController.SwitchItem(GetItemInHand(currentHand), currentHand); } /* */ /* QUESTS */ /* */ if (hit.collider.gameObject.name.Contains("bus_spawn")) { Debug.Log("bus"); BusController bus = hit.collider.GetComponent <BusController>(); bus.GiveTicket(currentHand); return; } } eventController.OnRightButtonClickEvent.Invoke(hits, mousePos2D); } if (Input.GetMouseButtonDown(0) || ((isOptMouseInput = Input.GetKeyDown(KeyCode.E)) && terminalController.isOpen == false)) { eventController.OnMouseClickEvent.Invoke(); // не детектить нажатие пробела вовремя работы в терминале //isOptMouseInput = !terminalController.isOpen; if (isOptMouseInput == false) { mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); } else { mousePos = player.position + (playerMovement.GetTurnSide() / 2); } Vector2 mousePos2D = new Vector2(mousePos.x, mousePos.y); RaycastHit2D[] hits = Physics2D.RaycastAll(mousePos2D, Vector2.zero); //isSpacePressed = false; if (IsInActionRadius(mousePos, player.position, actioPlayerRadius)) { Item itemInHand = GetItemInHand(currentHand); itemInHand.itemUseData.use.Use_On_Env(hits, mousePos, currentHand, GetAnotherHand()); } foreach (var hit in hits) { if (hit.collider != null && IsInActionRadius(mousePos, player.position, actioPlayerRadius)) { // ели на полу айтем и в руках не чего нет if (hit.collider.name.Contains(Global.DROPED_ITEM_PREFIX) && IsEmpty(currentHand)) { GameObject itemGo = hit.collider.gameObject; ItemPickUp(itemGo); return; // приоритет что бы не взять айтем и не положить его потом на стол если он был уже на столе } /* клик по игроку */ if (hit.collider.gameObject.tag == "playerAction") { Item item = currentHand.GetComponent <ItemCell>().item; eventController.OnUseOnPlayerEvent.Invoke(item); item.itemUseData.use.Use_On_Player(null, item); if (item.isDestroyOnPlayerUse) { SetDefaultItem(currentHand); } else { if (item.afterOnPlayerUseItem != null) { Item afterUseItemClone = Instantiate(item.afterOnPlayerUseItem); DressCell(currentHand, afterUseItemClone); } } } if (hit.collider.tag == "substitudeItem") { BaseConection baseConection = hit.collider.GetComponent <BaseConection>(); if (baseConection != null) { PCController pcController = baseConection.FindPcInRadius(); if (pcController != null) { baseConection.ProcessConection(pcController); } return; } } if (hit.collider.gameObject.tag == "tapWater") { TabWaterController tabWaterController = hit.collider.GetComponent <TabWaterController>(); Button btn_itemInHand = IsEmpty(currentHand) ? null : currentHand; tabWaterController.OnWaterTap_Click(btn_itemInHand); } if (hit.collider.gameObject.tag == "envObj") { BaseActionWindowConntroller baseAction = hit.collider.GetComponent <BaseActionWindowConntroller>(); baseAction.Open(hit.collider.gameObject); } if (hit.collider.gameObject.tag == "pc") { PCController pcController = hit.collider.GetComponent <PCController>(); Item itemInHand = IsEmpty(currentHand) ? null : GetItemInHand(currentHand); pcController.OnPc_ClicK(itemInHand); } if (hit.collider.gameObject.tag == "tv") { TVController tVController = hit.collider.GetComponent <TVController>(); tVController.OnTvClick(); } if (hit.collider.gameObject.tag == "microwave" || hit.collider.gameObject.tag == "oven") { Item itemInHand = IsEmpty(currentHand) ? null : GetItemInHand(currentHand); MicrowaveController microwaveController = hit.collider.GetComponent <MicrowaveController>(); MicrowaveController.MicrowaveStatus status = microwaveController.OnMicrowaveClick(itemInHand, mousePos); if (status == MicrowaveController.MicrowaveStatus.PutItem) { SetDefaultItem(currentHand); } else if (status == MicrowaveController.MicrowaveStatus.TakeItem) { DressCell(currentHand, microwaveController.itemInside); microwaveController.itemInside = null; } eventController.OnEnvChangeShapeEvent.Invoke(); } if (hit.collider.gameObject.tag == "door") { Item itemInHand = GetItemInHand(currentHand); // использовать айтем как ключ //eventController.OnDoorEvent.Invoke(itemInHand, mousePos, hit.collider, hit.collider.GetComponent<DoorController>().isLocked); hit.collider.GetComponent <DoorController>().OnDoorClick(itemInHand, mousePos, hit.collider, hit.collider.GetComponent <DoorController>().isLocked); itemInHand.itemUseData.use.Use_To_Open(null, itemInHand); } if (hit.collider.gameObject.tag == "case" || hit.collider.gameObject.tag == "printer") { CaseItem caseItem = hit.collider.GetComponent <CaseItem>(); Transform casePosition = hit.collider.transform; // важно соблюдать очередность, сначало открывается сундук потом панэль hit.collider.GetComponent <CaseController>().OnCaseCloseOpen(casePosition.position); eventController.OnStaticCaseItemEvent.Invoke(caseItem, casePosition); eventController.OnEnvChangeShapeEvent.Invoke(); } if (hit.collider.gameObject.tag == "table") { hit.collider.GetComponent <TableController>().OnTableClick(hit.transform.position, IsEmpty(currentHand) ? null : GetItemInHand(currentHand)); } /* */ /* QUESTS */ /* */ if (hit.collider.gameObject.name.Contains("bus_spawn")) { Debug.Log("bus"); BusController bus = hit.collider.GetComponent <BusController>(); bus.Activate(); return; } } } } } }
public static void CardNotPresent(int cardId, TVController controller) { Isolate.WhenCalled(() => controller.CardPresent(cardId)).WillReturn(false); }
void Update() { if (IsInActionRadius() == true) { Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); Vector2 mousePos2D = new Vector2(mousePos.x, mousePos.y); RaycastHit2D[] hits = Physics2D.RaycastAll(mousePos2D, Vector2.zero); if (hits.Length == 0) { isdetected = false; } foreach (var hit in hits) { if (hit.collider.tag == "substitudeItem") { BaseConection baseConection = hit.collider.GetComponent <BaseConection>(); NPC_Info npcInfo = hit.collider.GetComponent <NPC_Info>(); PCController pcController = baseConection.FindPcInRadius(); string interactionStr = Global.Tooltip.LM_INTERACT + " / " + Global.Tooltip.RM_TURN_OFF; if (pcController != null) { bool isConnected = pcController.peripherals.Contains(hit.collider.gameObject); interactionStr = ((isConnected == true) ? Global.Tooltip.LM_DISCONNECT : Global.Tooltip.LM_CONNECT) + " / " + Global.Tooltip.RM_TURN_OFF; } isdetected = true; //tooltipPosition = Camera.main.WorldToScreenPoint(hit.transform.position); ShowToolTip(npcInfo == null ? "obj" : npcInfo.npcName, interactionStr); TooltipLocate(hit.collider.transform.position); return; } else if (hit.collider.tag == "table") { TableController tableController = hit.collider.GetComponent <TableController>(); isdetected = true; //tooltipPosition = Camera.main.WorldToScreenPoint(hit.collider.transform.position); if (IsCurrentHandEmpty() && IsObjectExist(hits, Global.DROPED_ITEM_PREFIX, false) == false) { ShowToolTip((tableController.tableName == string.Empty) ? "table" : tableController.tableName, PrintRed(Global.Tooltip.NO_ACTIONS)); } else if (IsCurrentHandEmpty() && IsObjectExist(hits, Global.DROPED_ITEM_PREFIX, false) == true) { Item itemOnTable = FindRaycast(hits, Global.DROPED_ITEM_PREFIX, false)?.collider .GetComponent <ItemCell>().item; ShowToolTip((tableController.tableName == string.Empty) ? "table" + " (" + itemOnTable.itemName + ")" : tableController.tableName + " (" + itemOnTable.itemName + ")", Global.Tooltip.LM_PICK_UP); } else if (IsCurrentHandEmpty() == false && IsObjectExist(hits, Global.DROPED_ITEM_PREFIX, false) == true) { Item tool = controller.GetItemInHand(controller.currentHand); RaycastHit2D?itemOnTableHit = FindRaycast(hits, Global.DROPED_ITEM_PREFIX, false); Item temOnTable = itemOnTableHit.GetValueOrDefault().collider.GetComponent <ItemCell>().item; ItemCraftData craftData = CraftController.FindRecept_Static(tool, temOnTable, CraftType.Cooking, /* TODO */ CraftTable.Table); ShowToolTip((tableController.tableName == string.Empty) ? "table" + " (" + temOnTable.itemName + ")" : tableController.tableName + " (" + temOnTable.itemName + ")", Global.Tooltip.LM_PUT + ((tableController.isCraftTable) ? ((craftData != null) ? " / " + Global.Tooltip.RM_CRAFT + " " + craftData.recept.craftResult.itemName : string.Empty) : string.Empty)); } else { ShowToolTip((tableController.tableName == string.Empty) ? "table" : tableController.tableName, Global.Tooltip.LM_PUT); } TooltipLocate(hit.collider.transform.position); return; } else if (hit.collider.name.Contains(Global.DROPED_ITEM_PREFIX)) { bool onTable = false; foreach (var hitTable in hits) { if (hitTable.collider.tag == "table") { onTable = true; } } if (onTable == false) { Item item = hit.collider.GetComponent <ItemCell>().item; Item itemInHand = controller.currentHand.GetComponent <ItemCell>().item; isdetected = true; string useInteraction = (item.itemSubstitution.IsSubstituted() == true && item.itemSubstitution.IsItemToUseExist(itemInHand)) ? " / " + Global.Tooltip.RM_TURN_ON : string.Empty; ShowToolTip(item.itemName, (controller.IsEmpty(controller.currentHand) == true) ? Global.Tooltip.LM_PICK_UP + useInteraction : ((useInteraction == string.Empty) ? PrintRed(Global.Tooltip.NO_ACTIONS) : useInteraction.Substring(" / ".Length))); TooltipLocate(hit.collider.transform.position); return; } } else if (hit.collider.tag == "case") { CaseController caseController = hit.collider.GetComponent <CaseController>(); isdetected = true; ShowToolTip((caseController.caseName == string.Empty) ? "case" : caseController.caseName, (caseController.isOpen == false) ? Global.Tooltip.LM_OPEN : Global.Tooltip.LM_CLOSE); TooltipLocate(hit.collider.transform.position); return; } else if (hit.collider.tag == "tv") { TVController tvController = hit.collider.GetComponent <TVController>(); isdetected = true; //tooltipPosition = Camera.main.WorldToScreenPoint(hit.collider.transform.position); ShowToolTip("tv", (tvController.IsTvOpen() == false) ? Global.Tooltip.LM_TURN_ON : Global.Tooltip.LM_TURN_OFF + " / " + Global.Tooltip.RM_NEXT_CHANNEL); TooltipLocate(hit.collider.transform.position); return; } else if (hit.collider.tag == "envObj") { VendingController vending = hit.collider.GetComponent <VendingController>(); isdetected = true; //tooltipPosition = Camera.main.WorldToScreenPoint(hit.collider.transform.position + // Global.Tooltip.EnvObjOffset()); ShowToolTip((vending.headerTitle == string.Empty) ? "vending" : vending.headerTitle.ToLower(), Global.Tooltip.LM_USE); TooltipLocate(hit.collider.transform.position); return; } else if (hit.collider.tag == "pc") { Item itemInHand = controller.currentHand.GetComponent <ItemCell>().item; PCController pcController = hit.collider.GetComponent <PCController>(); Item disk = pcController.disk; isdetected = true; //tooltipPosition = Camera.main.WorldToScreenPoint(hit.collider.transform.position); if (disk != null && controller.IsEmpty(controller.currentHand)) { ShowToolTip("pc", Global.Tooltip.LM_INTERACT + " / " + Global.Tooltip.RM_PULL_THE_DISK); } else { ShowToolTip("pc", (controller.IsEmpty(controller.currentHand) == false && itemInHand.itemName.Contains("disk")) ? Global.Tooltip.LM_INTERACT + " / " + Global.Tooltip.RM_INSERT : Global.Tooltip.LM_INTERACT); } TooltipLocate(hit.collider.transform.position); } else if (hit.collider.tag == "playerAction") { if (controller.IsEmpty(controller.currentHand) == false && controller.GetItemInHand(controller.currentHand).itemBuff.buff != null) { playerTooltip.gameObject.SetActive(true); } else { playerTooltip.gameObject.SetActive(false); } return; } else if (hit.collider.gameObject.name.Contains(Global.ITEM_SWITCH_PREFIX)) { isdetected = true; ISwitchItem switchItem = hit.collider.GetComponent <ISwitchItem>(); Item itemInHand = controller.GetItemInHand(controller.currentHand); ShowToolTip(switchItem.GetISwitchName(), (itemInHand.IsSameItems(switchItem.GetNeedItem()) ? Global.Tooltip.RM_INSERT : PrintRed(Global.Tooltip.NO_ACTIONS))); TooltipLocate(hit.collider.transform.position); } else { isdetected = false; } //playerTooltip.gameObject.SetActive(hit.collider.tag == "player"); } playerTooltip.gameObject.SetActive(false); if (isTooltipOpen == true && isdetected == false) { HideToolTip(); } } else { if (isTooltipOpen == true) { HideToolTip(); } } }
public static IDictionary <CardDetail, ICardTuneReservationTicket> RequestCardReservations(IUser user, IEnumerable <CardDetail> availCardsForReservation, TVController tvController, ICardReservation cardResImpl, IEnumerable <CardDetail> ignoreCards, int idChannel) { IDictionary <CardDetail, ICardTuneReservationTicket> tickets = new Dictionary <CardDetail, ICardTuneReservationTicket>(); ICollection <int> cardIds = new HashSet <int>(); foreach (CardDetail cardDetail in availCardsForReservation) { ICardTuneReservationTicket ticket = null; int idCard = cardDetail.Card.IdCard; bool cardAlreadyHasTicket = cardIds.Contains(idCard); if (!cardAlreadyHasTicket) { bool foundIgnoredCard = ignoreCards.Contains(cardDetail); if (!foundIgnoredCard) { ticket = RequestCardReservation(user, cardDetail, tvController, cardResImpl, idChannel); } cardIds.Add(idCard); } tickets.Add(cardDetail, ticket); } return(tickets); }
public static ICardTuneReservationTicket RequestCardReservation(IUser user, CardDetail cardDetail, TVController tvController, ICardReservation cardResImpl, int idChannel) { ICardTuneReservationTicket ticket = null; int idCard = cardDetail.Card.IdCard; IUser userCopy = user.Clone() as User; if (userCopy != null) { IDictionary <int, ITvCardHandler> cards = tvController.CardCollection; userCopy.CardId = idCard; ITvCardHandler tvcard = cards[idCard]; ticket = cardResImpl.RequestCardTuneReservation(tvcard, cardDetail.TuningDetail, userCopy, idChannel); } return(ticket); }
// Use this for initialization void Start() { tvController = GameObject.Find("tv camera test").GetComponent <TVController>(); }
/// <summary> /// Constructor /// </summary> /// <param name="controller">instance of a TVController</param> public EpgGrabber(TVController controller) { _tvController = controller; _epgTimer.Interval = 30000; _epgTimer.Elapsed += _epgTimer_Elapsed; }
protected CardReservationBase(TVController tvController) { _tvController = tvController; }
public ChannelStates(TvBusinessLayer businessLayer, TVController controller) : base(businessLayer, controller) { LogEnabled = false; }
// Use this for initialization void Start () { var = GetComponent<ObjectVariables>(); controller = sprite.GetComponent<TVController>(); }