Example #1
0
    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;
    }
Example #2
0
    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);
    }
Example #3
0
 public static AccessoryManager getInstance()
 {
     if (instance == null)
     {
         instance = new AccessoryManager();
     }
     return(instance);
 }
Example #4
0
    // Use this for initialization
    void Start()
    {
        am        = AccessoryManager.instance;
        grm       = GameRecordManager.instance;
        button    = GetComponent <Button>();
        buyButton = GetComponentInChildren <BuyGameItemButton>();

        Initialise();
    }
Example #5
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            // We always do this part.
            AccessoryManager.RegisterAccessoryApp();

            this.SetButtonContent();
        }
Example #6
0
    // 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;
        }
    }
Example #8
0
 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);
     }
 }
Example #9
0
        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);
            }
        }
Example #10
0
    void Awake()
    {
        if (instance == null)
        {
            instance = this;
        }
        else if (instance != this)
        {
            Destroy(gameObject);
        }

        DontDestroyOnLoad(gameObject);
    }
Example #11
0
    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;
        }
    }
Example #12
0
    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));
        }
    }
Example #15
0
    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);
    }
Example #16
0
    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);
        }
Example #18
0
    // 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;
    }
Example #19
0
    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;
        }