private void Start() { lr = GetComponent <LineRenderer>(); if (PlayerPrefs.HasKey(LINE_COLOUR)) { GetLineColour(); } else { lr.startColor = Color.black; lr.endColor = Color.black; } am = AccessoryManager.instance; drawChance = 3; if (am != null) { foreach (Accessory accessory in am.equippedAccessory) { drawChance += accessory.drawBonus; } } PlayerStatus.OnHurt += RemoveLine; canDraw = false; }
public void playButtonPressed() { switch (currentState) { case GameStatus.next: waveNumber++; totalEnemies += waveNumber; break; default: // reset everything including labels, towers on screen, total values totalEnemies = 3; TotalEscaped = 0; totalMoney = 10; waveNumber = 1; totalMoneyLabel.text = TotalMoney.ToString(); enemiesEscapedLabel.text = "Escaped : " + totalEscaped + "/10"; currentWaveLabel.text = "Wave " + waveNumber; TowerManager.getInstance().renameBuildSiteTag(); TowerManager.getInstance().destroyAllTowers(); audioSource.PlayOneShot(SoundManager.getInstance().NewGame); break; } destroyAllEnemies(); AccessoryManager.getInstance().resetAccessoriesList(); TotalKilled = 0; RoundEscaped = 0; currentWaveLabel.text = "Wave " + waveNumber; StartCoroutine(spawn()); playButton.gameObject.SetActive(false); }
public static AccessoryManager getInstance() { if (instance == null) { instance = new AccessoryManager(); } return(instance); }
// Use this for initialization void Start() { am = AccessoryManager.instance; grm = GameRecordManager.instance; button = GetComponent <Button>(); buyButton = GetComponentInChildren <BuyGameItemButton>(); Initialise(); }
protected async override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); // We always do this part. AccessoryManager.RegisterAccessoryApp(); this.SetButtonContent(); }
// Use this for initialization void Start() { sprite = GetComponent <SpriteRenderer>(); am = AccessoryManager.instance; if (am != null) { sprite.sprite = am.equippedAccessory[0].accessoryImage; } }
// Use this for initialization void Start() { am = AccessoryManager.instance; if (am != null) { accessoryOne.sprite = am.equippedAccessory[0].accessoryImage; accessoryTwo.sprite = am.equippedAccessory[1].accessoryImage; } }
public void accessoryHit(int hitPoint) { currentHealthInBar = currentHealthInBar - (hitPoint * maxHealthInBar) / health; healthBar.fillAmount = currentHealthInBar / maxHealthInBar; health = health - hitPoint; // play tower hit audio if (health <= 0 || currentHealthInBar <= 0) { GameManager.getInstance().AudioSource.PlayOneShot(SoundManager.getInstance().RoadBlockDestroyed); AccessoryManager.getInstance().destroyAccessory(this); } }
private void OnTileOpened(object sender, BandTileEventArgs <IBandTileOpenedEvent> e) { // most scenarios would need this, I don't. var tileId = e.TileEvent.TileId; // We make our call. This is hard-coded for now. var line = AccessoryManager.PhoneLineDetails.FirstOrDefault(); if (line != null) { AccessoryManager.MakePhoneCall(line.LineId, Constants.PhoneNumber); } }
void Awake() { if (instance == null) { instance = this; } else if (instance != this) { Destroy(gameObject); } DontDestroyOnLoad(gameObject); }
public void handleEscape() { if (Input.GetKeyDown(KeyCode.Escape)) { TowerManager.getInstance().disableDragSprite(); TowerManager.getInstance().selectedTowerBtn = null; AccessoryManager.getInstance().disableDragSprite(); AccessoryManager.getInstance().selectedAccessory = null; BuildSiteManager.getInstance().disableDragSprite(); BuildSiteManager.getInstance().selectedBuildSiteBtn = null; } }
private void Start() { am = AccessoryManager.instance; drawChance = 3; if (am != null) { foreach (Accessory accessory in am.equippedAccessory) { drawChance += accessory.drawBonus; } } //text.text = "Draw Chance: " + drawChance; }
// Use this for initialization void Start() { button = GetComponent <Button>(); image = GetComponent <Image>(); am = AccessoryManager.instance; AccessoryManager.OnChangedAccessory += CheckIfBeingChanged; Initialise(); if (button != null) { button.onClick.AddListener(ShowDescription); } }
/// <summary> /// 配置する /// </summary> void Placement() { if (type == PartsButtonCreator.Type.Accessory) { if (accessoryManager == null) { accessoryManager = partsCreator.GetComponent<AccessoryManager>(); } accessoryManager.OnClick(image, partsCreator.GetOriginSprite(int.Parse(name))); } else { image.enabled = true; image.sprite = partsCreator.GetOriginSprite(int.Parse(name)); } }
public Accessory getTargetsInRange() { Accessory result = null; foreach (Accessory spike in AccessoryManager.getInstance().Accessories) { if (!spike.IsDestroyed) { if (Vector2.Distance(transform.localPosition, spike.transform.localPosition) <= attackRadius) { result = spike; break; } } } return(result); }
private void Start() { bm = BoardManager.instance; grm = GameRecordManager.instance; am = AccessoryManager.instance; anim = GameObject.FindGameObjectWithTag("Exit").GetComponent <Animator>(); player = GameObject.FindGameObjectWithTag("Player").GetComponent <CharacterWalk>(); Cheese.OnCheeseEaten += SetCurrentCheese; GameRecordManager.OnGameOver += GameOver; drawLine.NoInkLeft += NoInk; levelComplete = false; currentCheese = 0; totalCheese = bm.cheeseNum; Debug.Log("Total Cheese" + totalCheese); }
/// <summary> /// Enable the notification types /// </summary> private void SetNotificationTypes() { AccessoryManager.DisableAllAccessoryNotificationTypes(); int NT = 0; if (NotificationAlarm) { NT += (int)AccessoryNotificationType.Alarm; } if (NotificationEmail) { NT += (int)AccessoryNotificationType.Email; } if (NotificationMedia) { NT += (int)AccessoryNotificationType.Media; } if (NotificationPhone) { NT += (int)AccessoryNotificationType.Phone; } if (NotificationBatterySaver) { NT += (int)AccessoryNotificationType.BatterySaver; } if (NotificationToast) { NT += (int)AccessoryNotificationType.Toast; } if (NotificationReminder) { NT += (int)AccessoryNotificationType.Reminder; } if (NotificationCortana) { NT += (int)AccessoryNotificationType.CortanaTile; } System.Diagnostics.Debug.WriteLine("SetNotificationTypes:" + NT); AccessoryManager.EnableAccessoryNotificationTypes(NT); }
// Use this for initialization void Start() { anim = GetComponent <Animator>(); grm = GameRecordManager.instance; am = AccessoryManager.instance; if (am != null) { Debug.Log("Here"); foreach (Accessory accessory in am.equippedAccessory) { this.immuneTimes += accessory.immuneTimes; } } hurtTimeCnt = hurtTime; Poison.OnPoisonEaten += GetHurt; }
private void Start() { am = AccessoryManager.instance; rb = GetComponent <Rigidbody2D>(); status = GetComponent <PlayerStatus>(); destination = transform.position; DrawLine.OnNewPathCreated += SetPoints; hitWall = false; if (am != null) { foreach (Accessory accessory in am.equippedAccessory) { moveSpeed += accessory.extraSpeed; } } }
/// <summary> /// Fill the collection with phone apps /// </summary> public async Task <bool> GetAppsFromPhone() { try { IReadOnlyDictionary <String, AppNotificationInfo> apps = AccessoryManager.GetApps(); List <vmApp> _temp = new List <vmApp>(); foreach (String key in apps.Keys) { String id = apps[key].Id; String name = apps[key].Name; vmApp _newApp = new vmApp() { ID = id, Name = name /*, AppIconStream = AccessoryManager.GetAppIcon(id)*/ }; _temp.Add(_newApp); // _newApp.PopulateImageData(); } var _sortedapps = from app in _temp orderby app.Selected descending, app.Name select app; foreach (vmApp item in _sortedapps) { Apps.Add(item); } // await Apps.SaveItems(); return(true); } catch (Exception) { } return(false); }
/// <summary> /// Activate or deactive the background task for notification handling /// </summary> /// <param name="Activate"></param> /// <returns>true if activated</returns> private async Task <bool> BackgroundTaskActivate(bool Activate) { try { BackgroundAccessStatus _status = await BackgroundExecutionManager.RequestAccessAsync(); if (_status == BackgroundAccessStatus.AllowedMayUseActiveRealTimeConnectivity) { var PebbleTimeTaskName = "Pebble Time Background Notifications"; //Remove the current registration foreach (var task in BackgroundTaskRegistration.AllTasks) { if (task.Value.Name == PebbleTimeTaskName) { task.Value.Unregister(true); } } if (!Activate) { System.Diagnostics.Debug.WriteLine(String.Format("BackgroundTask Notifications Status: Deactivated")); return(true); } String Result = AccessoryManager.RegisterAccessoryApp(); if (await GetAppsFromPhone()) { foreach (var item in Apps) { AccessoryManager.EnableNotificationsForApplication(item.ID); } var backgroundTaskBuilder = new BackgroundTaskBuilder(); backgroundTaskBuilder.Name = PebbleTimeTaskName; backgroundTaskBuilder.TaskEntryPoint = "BackgroundTasks.BackgroundNotifications"; DeviceManufacturerNotificationTrigger deviceManufacturerNotificationTrigger = new DeviceManufacturerNotificationTrigger(String.Concat("Microsoft.AccessoryManagement.Notification:", Result), false); backgroundTaskBuilder.SetTrigger(deviceManufacturerNotificationTrigger); BackgroundTaskRegistration backgroundTaskRegistration1 = backgroundTaskBuilder.Register(); /*WindowsRuntimeMarshal.AddEventHandler<BackgroundTaskCompletedEventHandler>(new Func<BackgroundTaskCompletedEventHandler, * EventRegistrationToken>(backgroundTaskRegistration1, BackgroundTaskRegistration.add_Completed), * new Action<EventRegistrationToken>(backgroundTaskRegistration1, * BackgroundTaskRegistration.remove_Completed), * new BackgroundTaskCompletedEventHandler(this.registration_Completed));*/ SetNotificationTypes(); // PhoneAppsList(); System.Diagnostics.Debug.WriteLine(String.Format("BackgroundTask Notifications Status: Activated")); return(true); } else { ExtendedEventArgs eaa = new ExtendedEventArgs(); eaa.Error = String.Format("Notifications access denied."); OnFatalError(eaa); _BackgroundTaskEnabled = false; NotifyPropertyChanged("BackgroundTaskEnabled"); NotifyPropertyChanged("NotificationAppsEnabled"); } } } catch (Exception e) { System.Diagnostics.Debug.WriteLine("BackgroundTask Notifications Exception: " + e.Message); ExtendedEventArgs eaa = new ExtendedEventArgs(); eaa.Error = String.Format("A fatal error occurred: {0}", e.Message); #if DEBUG eaa.Error = String.Format("A fatal error occurred. {1}:{0}", e.Message, e.Source); #endif OnFatalError(eaa); } return(false); }
/// <summary> /// Process the notification trigger /// </summary> /// <param name="nextTriggerDetails"></param> /// <returns></returns> public async Task ProcessNotifications(IAccessoryNotificationTriggerDetails nextTriggerDetails) { System.Diagnostics.Debug.WriteLine(nextTriggerDetails.AppDisplayName); byte[] Cookie = new byte[4]; bool KeepConnectionAlive = false; bool Talking = false; await Connect(); while (nextTriggerDetails != null || KeepConnectionAlive) { if (nextTriggerDetails != null) { try { AccessoryNotificationType accessoryNotificationType = nextTriggerDetails.AccessoryNotificationType; System.Diagnostics.Debug.WriteLine("Notification: " + accessoryNotificationType.ToString()); switch (accessoryNotificationType) { case AccessoryNotificationType.Email: await SendEmailMessage(nextTriggerDetails); break; case AccessoryNotificationType.Toast: await ProcessToastMessage(nextTriggerDetails); break; case AccessoryNotificationType.BatterySaver: await SendBatterySaverMessage(nextTriggerDetails); break; case AccessoryNotificationType.Alarm: await SendAlarmMessage((AlarmNotificationTriggerDetails)nextTriggerDetails); break; case AccessoryNotificationType.CortanaTile: await SendCortanaMessage((CortanaTileNotificationTriggerDetails)nextTriggerDetails); break; case AccessoryNotificationType.Phone: PhoneNotificationTriggerDetails entd = (PhoneNotificationTriggerDetails)nextTriggerDetails; if (entd.PhoneNotificationType != PhoneNotificationType.LineChanged) { System.Diagnostics.Debug.WriteLine("Phone - " + entd.CallDetails.State.ToString()); switch (entd.CallDetails.State) { case PhoneCallState.Ringing: Cookie = BitConverter.GetBytes(_pc.GetNextMessageIdentifier()); await _pc.Pebble.PhoneCallAsync(entd.CallDetails.ContactName, entd.CallDetails.PhoneNumber, Cookie); KeepConnectionAlive = true; // _pc.Pebble._protocol.StartRun(); break; case PhoneCallState.Ended: await _pc.Pebble.EndCallAsync(Cookie); KeepConnectionAlive = false; break; case PhoneCallState.Talking: if (!Talking) { await _pc.Pebble.StartCallAsync(Cookie); Talking = true; } break; default: KeepConnectionAlive = false; break; } } break; default: break; } } catch (Exception e) { System.Diagnostics.Debug.WriteLine("ProcessNotifications Exception: " + e.Message); } /*if (KeepConnectionAlive) * { * Task.Delay(500).Wait(); * * P3bble.P3bbleMessage msg = await _pc.Pebble._protocol.ReceiveMessage(0); * * if (msg != null) * { * String abc = msg.Endpoint.ToString(); * } * else * { * System.Diagnostics.Debug.WriteLine("ReceiveMessage: none"); * } * }*/ AccessoryManager.ProcessTriggerDetails(nextTriggerDetails); } nextTriggerDetails = AccessoryManager.GetNextTriggerDetails(); } if (!KeepConnectionAlive) { Disconnect(); } LastNotifications = DateTime.Now; }