public async Task <bool> SetWearLocation(WearLocation Location) { Byte[] buffer = new Byte[] { MiBand.CP_SET_WEAR_LOCATION, (byte)Location }; bool ret = await writeToCharacteristic(MiBand.UUID_CHAR_CONTROL_POINT, buffer.AsBuffer()); if (ret) { SettingSet("WearLocation", (int)Location); } return(ret); }
public MiBand3() { Identity = new Identity(); Battery = new Battery(); Device = new Device(); Display = new Display(); Activity = new Activity(); HeartRate = new HeartRate(); WearLocation = new WearLocation(); Notifications = new Notification(); }
public async Task SetWearLocationAsync(WearLocation location) { CheckBandConnection(); byte[] data = { MiBandCommand.SetWearLocation[0], (byte)location }; var mainService = await device.GetServiceAsync(MiBandService.MainService); var controlChar = await mainService.GetCharacteristicAsync(MiBandCharacteristic.ControlPoint); await controlChar.WriteAsync(data); }
private async void setLocation_Click(object sender, RoutedEventArgs e) { if (MiBand.Ready) { object tag = ((MenuFlyoutItem)sender).Tag; WearLocation location = (WearLocation)Int32.Parse((string)tag); bool ret = await band.SetWearLocation(location); if (ret) { properties.WearLocation = location; } else { var loader = new Windows.ApplicationModel.Resources.ResourceLoader(); MessageDialog dialog = new MessageDialog(loader.GetString("SetWearLocationError"), loader.GetString("ErrorTitle")); await dialog.ShowAsync(); } } }
public virtual Item Get(WearLocation location) { return(Stuff.ContainsKey(location) ? Stuff[location] : null); }
public virtual bool Have(WearLocation location) { return(Stuff.ContainsKey(location)); }
/// <summary> /// Looks at a given object /// </summary> /// <param name="oUser"></param> /// <param name="location"></param> /// <param name="obj"></param> private void LookObject(Character oUser, Entity location, string obj) { if (!oUser.canSee(null)) { CommandManager.instance.report(MessageScope.CHAR, "#look_dark#", oUser); return; } // Find the target somewhere int validLocs = (int)EntityLocationType.LOC_ROOM | (int)EntityLocationType.LOC_INVENTORY | (int)EntityLocationType.LOC_EQUIPMENT | (int)EntityLocationType.LOC_CONTAINER | (int)EntityLocationType.LOC_SHOP | (int)EntityLocationType.LOC_NPC_INVENTORY | (int)EntityLocationType.LOC_NPC_EQUIPMENT | (int)EntityLocationType.LOC_RECIPES; TargetResult result = TargetLocation.findTargetEntity(oUser, obj, validLocs); if (null == result._foundEntity) { CommandManager.instance.report(MessageScope.CHAR, "#nothing_here#", oUser); return; } Entity entity = result._foundEntity; if (entity == oUser) { CommandManager.instance.report(MessageScope.CHAR, "#cant_do_that#", oUser); return; } #region Looking at a Player/Mob if (entity.Is(EntityType.BIOTA)) { if (entity.Is(EntityType.PLAYER)) { CommandManager.instance.report(MessageScope.CHAR, "#looks_at_you#", oUser, entity); } Biota biote = null; StringBuilder sb = new StringBuilder(); if (entity.Is(EntityType.PLAYER)) { Character user = entity as Character; sb.Append("#you_look_at#"); sb.Append(Environment.NewLine); sb.Append(user.description); sb.Append(Environment.NewLine); biote = user; } else { MobInstance mob = entity as MobInstance; sb.Append("#you_look_at#"); sb.Append(Environment.NewLine); sb.Append(mob.description); sb.Append(Environment.NewLine); biote = (MobInstance)entity; } if (biote.isNaked) { sb.Append(Environment.NewLine); sb.Append(" #nothing#"); CommandManager.instance.report(MessageScope.CHAR, sb.ToString(), oUser, biote); } else { IEnumerable equipment = biote.getEquipment(); foreach (DictionaryEntry entry in equipment) { ItemInstance instance = (ItemInstance)entry.Value; WearLocation loc = instance.getWearLocation(1); sb.Append(Environment.NewLine); sb.AppendFormat(" {0}", loc.longName.PadRight(30, '.')); if (oUser.HasFlag("Admin") || oUser.HasFlag("Builder") || oUser.HasFlag("Wizard")) { sb.Append(Server.Client.MXP_TAG("Item")); sb.Append(instance.Name); sb.Append(Server.Client.MXP_TAG("/Item")); sb.Append(Server.Client.MXP_TAG("Id")); sb.Append(" (#"); sb.Append(Server.Client.MXP_TAG("WizItem '" + instance.ID + "'")); sb.Append(instance.ID); sb.Append(instance.GetFlags()); sb.Append(Server.Client.MXP_TAG("/WizItem")); sb.Append(")"); sb.Append(Server.Client.MXP_TAG("/Id")); } else { sb.Append(Server.Client.MXP_TAG("Item")); sb.Append(instance.Name); sb.Append(Server.Client.MXP_TAG("/Item")); } } CommandManager.instance.report(MessageScope.CHAR, sb.ToString(), oUser, biote); } } #endregion #region Looking at an Item else if (entity.Is(EntityType.ITEM)) { StringBuilder sb = new StringBuilder(); if (result._foundEntityLocationType == EntityLocationType.LOC_NPC_INVENTORY || result._foundEntityLocationType == EntityLocationType.LOC_NPC_EQUIPMENT) { // Item is on a NPC's Inventory/Equipment ItemInstance instance = entity as ItemInstance; MobInstance mob = result._foundEntityLocation as MobInstance; sb.Append("#look_npc_item_self#"); sb.Append(Environment.NewLine); sb.Append(this.LookItem(oUser, instance)); sb.Append(Environment.NewLine); CommandManager.instance.report(MessageScope.CHAR, sb.ToString(), oUser, mob, instance); CommandManager.instance.report(MessageScope.ROOM_LIMITED, "#look_npc_item_other#", oUser, mob, instance); } else if (result._foundEntityLocationType == EntityLocationType.LOC_SHOP) { // Item is in a Shop ShopkeeperMobInstance mob = result._foundEntityLocation as ShopkeeperMobInstance; sb.Append("#look_item_shop#"); sb.Append(Environment.NewLine); // @TODO: Finish looking at items in shops } else if (result._foundEntityLocationType == EntityLocationType.LOC_RECIPES) { // Item is memorized as a recipe FormulaItemTemplate formula = result._foundEntity as FormulaItemTemplate; string msg = "#look_item_formula#"; ItemTemplate product = EntityManager.instance.getTemplateByID(formula.product) as ItemTemplate; msg += Environment.NewLine + " Product: " + product.Name; if (oUser.HasFlag("Admin") || oUser.HasFlag("Builder") || oUser.HasFlag("Wizard")) { msg += Server.Client.MXP_TAG("Id") + " (#" + Server.Client.MXP_TAG("WizItem '" + product.ID + "'"); msg += product.ID + product.GetFlags() + Server.Client.MXP_TAG("/WizItem") + ")" + Server.Client.MXP_TAG("/Id"); } msg += Environment.NewLine + " Skill: " + formula.skill.Name + " (" + formula.skillValue + ")"; if (oUser.HasFlag("Admin") || oUser.HasFlag("Builder") || oUser.HasFlag("Wizard")) { msg += Server.Client.MXP_TAG("Id") + " (#" + formula.skill.ID + ")" + Server.Client.MXP_TAG("/Id"); } ItemTemplate machine = EntityManager.instance.getTemplateByID(formula.machine) as ItemTemplate; msg += Environment.NewLine + " Machine: " + EntityManager.instance.getTemplateByID(formula.machine).Name; if (oUser.HasFlag("Admin") || oUser.HasFlag("Builder") || oUser.HasFlag("Wizard")) { msg += Server.Client.MXP_TAG("Id") + " (#" + Server.Client.MXP_TAG("WizItem '" + machine.ID + "'"); msg += machine.ID + machine.GetFlags() + Server.Client.MXP_TAG("/WizItem") + ")" + Server.Client.MXP_TAG("/Id"); } ItemTemplate tool = EntityManager.instance.getTemplateByID(formula.tool) as ItemTemplate; msg += Environment.NewLine + " Tool: " + EntityManager.instance.getTemplateByID(formula.tool).Name; if (oUser.HasFlag("Admin") || oUser.HasFlag("Builder") || oUser.HasFlag("Wizard")) { msg += Server.Client.MXP_TAG("Id") + " (#" + Server.Client.MXP_TAG("WizItem '" + tool.ID + "'"); msg += tool.ID + tool.GetFlags() + Server.Client.MXP_TAG("/WizItem") + ")" + Server.Client.MXP_TAG("/Id"); } msg += Environment.NewLine + " Resources:"; foreach (int resourceId in formula.resourceKeys) { ResourceItemTemplate resource = EntityManager.instance.getTemplateByID(resourceId) as ResourceItemTemplate; msg += Environment.NewLine + " " + resource.Name + " (x" + formula.getResource(resourceId) + ")"; if (oUser.HasFlag("Admin") || oUser.HasFlag("Builder") || oUser.HasFlag("Wizard")) { msg += Server.Client.MXP_TAG("Id") + " (#" + Server.Client.MXP_TAG("WizItem '" + resource.ID + "'"); msg += resource.ID + resource.GetFlags() + Server.Client.MXP_TAG("/WizItem") + ")" + Server.Client.MXP_TAG("/Id"); } } CommandManager.instance.report(MessageScope.CHAR, msg, oUser, null, formula); } else { ItemInstance instance = entity as ItemInstance; sb.Append("#look_item_self#"); sb.Append(Environment.NewLine); sb.Append(this.LookItem(oUser, instance)); sb.Append(Environment.NewLine); CommandManager.instance.report(MessageScope.CHAR, sb.ToString(), oUser, null, instance); CommandManager.instance.report(MessageScope.ROOM_LIMITED, "#look_item_other#", oUser, null, instance); } } #endregion else { this.LogError("LookObject", "User[" + oUser.ID + "], Object[" + entity.ID + "] had no known type."); } }
public static string Format(WearLocation location) { return(string.Format("<{0} {1}>", Strings[location].Prefix, Strings[location].Name)); }