예제 #1
0
        public static Phone GivePhone(Player sender, Player target)
        {
            if (!sender.AccountData.HavePerm("admin.cmds.give.phone"))
            {
                throw new Exception("Vous n'avez pas les permissions pour cela.");
            }

            Phone phone = PhoneHelper.CreatePhone();

            if (PhoneHelper.GetDefaultPhone(target.ActiveCharacter) == null)
            {
                phone.DefaultPhone = true;
            }

            try
            {
                InventoryHelper.AddItemToCharacter(target.ActiveCharacter, phone);

                ServerDbContext dbContext = ((GameMode)GameMode.Instance).DbContext;
                dbContext.SaveChanges();
                return(phone);
            }
            catch
            {
                PhoneHelper.DeletePhone(phone);
                throw new Exception("Le téléphone n'a pas pu être ajouté à l'utilisateur.");
            }
        }
예제 #2
0
 private static void CallContact(Player sender, String name)
 {
     try
     {
         PhoneHelper.Call(sender,
                          PhoneHelper.GetContactByName(name, PhoneHelper.GetDefaultPhone(sender.ActiveCharacter)).Number);
     }
     catch (Exception e)
     {
         Chat.ErrorChat(sender, "Le contact n'a pas pu être appelé : " + e.Message);
     }
 }
예제 #3
0
 private static void SMSContact(Player sender, String name, String message)
 {
     try
     {
         PhoneHelper.SendSMS(sender,
                             PhoneHelper.GetContactByName(name, PhoneHelper.GetDefaultPhone(sender.ActiveCharacter)).Number,
                             message);
     }
     catch (Exception e)
     {
         Chat.ErrorChat(sender, "Le SMS n'a pas pu être envoyé : " + e.Message);
     }
 }
예제 #4
0
 private static void NumberContact(Player sender, String name)
 {
     try
     {
         Chat.InfoChat(sender,
                       "Le numéro du contact est : " + PhoneHelper
                       .GetContactByName(name, PhoneHelper.GetDefaultPhone(sender.ActiveCharacter)).Number);
     }
     catch (Exception e)
     {
         Chat.ErrorChat(sender, "Le numéro du contact n'a pas pu être affiché : " + e.Message);
     }
 }
예제 #5
0
 private static void RemoveContact(Player sender, String name)
 {
     try
     {
         PhoneHelper.RemoveContactFromPhoneBook(name, PhoneHelper.GetDefaultPhone(sender.ActiveCharacter));
         Chat.InfoChat(sender,
                       "Le contact " + name + " a bien été supprimé du répertoire du téléphone par défaut.");
     }
     catch (Exception e)
     {
         Chat.ErrorChat(sender, "Le contact n'a pas pu être supprimé du répertoire : " + e.Message);
     }
 }
예제 #6
0
 private static void AddContact(Player sender, String name, String number)
 {
     try
     {
         Phone        phone        = PhoneHelper.GetDefaultPhone(sender.ActiveCharacter);
         ContactPhone contactPhone = PhoneHelper.CreateContact(name, number);
         PhoneHelper.AddContactToPhoneBook(contactPhone, phone);
         Chat.InfoChat(sender,
                       "Le contact " + name + " (" + number +
                       ") a bien été ajouté au répertoire du téléphone par défaut.");
     }
     catch (Exception e)
     {
         Chat.ErrorChat(sender, "Le contact n'a pas pu être ajouté dans le répertoire : " + e.Message);
     }
 }
예제 #7
0
        public static Item AddItemToCharacter(Character character, Item item)
        {
            ServerDbContext dbContext = ((GameMode)GameMode.Instance).DbContext;

            if (character.Inventory == null)
            {
                throw new InventoryAddingExceptions("Le joueur n'a pas d'inventaire.");
            }
            if (item is Phone)
            {
                if (((Phone)item).DefaultPhone)
                {
                    if (PhoneHelper.GetDefaultPhone(character) != null)
                    {
                        ((Phone)item).DefaultPhone = false;
                    }
                }
            }
            if (character.ItemInHand == null)
            {
                character.ItemInHand = item;
                dbContext.SaveChanges();
                if (item is Gun)
                {
                    Player player = PlayerHelper.SearchCharacter(character);
                    player.GiveWeapon(((Gun)item).idWeapon, ((Gun)item).Quantity);
                }
                return(item);
            }
            else if (character.Inventory.ListItems.Count() < character.Inventory.MaxSpace)
            {
                item.CurrentContainer = character.Inventory;
                character.Inventory.ListItems.Add(item);
                dbContext.SaveChanges();
                return(item);
            }
            else
            {
                throw new InventoryAddingExceptions("L'inventaire est complet et la main n'est pas vide.");
            }
        }