示例#1
0
        public override void Restore(BinaryReader reader)
        {
            base.Restore(reader);
            int version = reader.ReadInt32();
            int id;

            if (version > 0)
            {
                string name = reader.ReadUTF8String(version);
                id = reader.ReadInt32();
                int gumpID      = reader.ReadInt32();
                int smallGumpID = reader.ReadInt32();
                int reagsCount  = reader.ReadInt32();

                Reagents[] reagents = new Reagents[reagsCount];

                for (int i = 0; i < reagsCount; i++)
                {
                    reagents[i] = (Reagents)reader.ReadInt32();
                }

                int    manaCost    = reader.ReadInt32();
                int    minSkill    = reader.ReadInt32();
                string powerWord   = reader.ReadUTF8String(reader.ReadInt32());
                int    tithingCost = reader.ReadInt32();
            }
            else
            {
                id = reader.ReadInt32();
            }

            _spell = SpellDefinition.FullIndexGetSpell(id);
            BuildGump();
        }
示例#2
0
        public override void Restore(BinaryReader reader)
        {
            base.Restore(reader);


            string name        = reader.ReadUTF8String(reader.ReadInt32());
            int    id          = reader.ReadInt32();
            int    gumpID      = reader.ReadInt32();
            int    smallGumpID = reader.ReadInt32();
            int    reagsCount  = reader.ReadInt32();

            Reagents[] reagents = new Reagents[reagsCount];

            for (int i = 0; i < reagsCount; i++)
            {
                reagents[i] = (Reagents)reader.ReadInt32();
            }

            int    manaCost    = reader.ReadInt32();
            int    minSkill    = reader.ReadInt32();
            string powerWord   = reader.ReadUTF8String(reader.ReadInt32());
            int    tithingCost = reader.ReadInt32();

            _spell = new SpellDefinition(name, id, gumpID, smallGumpID, powerWord, manaCost, minSkill, tithingCost, reagents);

            BuildGump();
        }
        public async Task <Reagents> DeleteReagent(Reagents reagent)
        {
            var url = URLBuilder.GetURL(Controllers.REAGENT, EndPoint.REAGENT_DELETE);

            return(await requestProvider.DeleteAsync(url, reagent, new Dictionary <string, string> {
                ["id"] = reagent.Id.ToString()
            }));
        }
示例#4
0
        public WaterFreeze(Reagents.Water water, Reagents.Ice ice)
        {
            InputReagents = new Dictionary<Reagent, int>();
            OutputReagents = new Dictionary<Reagent, int>();

            InputReagents.Add(water, 1);
            OutputReagents.Add(ice, 1);
            TemperatureThreshold = 0;
            Freezes = true;
        }
示例#5
0
        private async void GetResourcesCommand()
        {
            _logService.Write(this, "Loading reaction with ID " + _reactionId, "debug");
            OutputMessages.Add(new OutputMessage()
            {
                Message = "Loading reaction...", Level = "debug"
            });
            _reaction = await _dbService.GetReactionAsync(_reactionId);

            var tmpsm = await _dbService.GetStartingMaterial(_reactionId);

            var tmpr = await _dbService.GetReagents(_reactionId);

            var tmps = await _dbService.GetSolvents(_reactionId);

            var tmpp = await _dbService.GetProducts(_reactionId);

            var tmpobs = await _dbService.GetObsImgs(_reactionId);

            _logService.Write(this, "Loaded " + _reactionId, "debug");

            OutputMessages.Add(new OutputMessage()
            {
                Message = "Loaded", Level = "debug"
            });
            StartingMaterial.Add(tmpsm);
            foreach (var item in tmpr)
            {
                Reagents.Add(item);
            }
            _logService.Write(this, Reagents.Count + " reagents loaded for this reaction", "debug");
            foreach (var item in tmps)
            {
                Solvents.Add(item);
            }
            _logService.Write(this, Solvents.Count + " solvents loaded for this reaction", "debug");
            foreach (var item in tmpp)
            {
                Products.Add(item);
            }
            _logService.Write(this, Products.Count + " products loaded for this reaction", "debug");
            foreach (var item in tmpobs)
            {
                ObservationImgsByteArray.Add(item);
            }
            _logService.Write(this, ObservationImgsByteArray.Count + " observable imgs loaded for this reaction", "debug");
            ConfigureReactionParameter();
        }
示例#6
0
        public Recipe(string l)
        {
            Regex r = new Regex(@"(?:(?<reagent>(\d+) ([A-Z]+))(?:, )?)+ => (?<productAmount>\d+) (?<product>[A-Z]+)");
            Match m = r.Match(l);

            if (!m.Success)
            {
                throw new Exception("Could not match regex to line " + l);
            }
            Product = new Element(int.Parse(m.Groups["productAmount"].Value), m.Groups["product"].Value);
            for (int i = 0; i < m.Groups["reagent"].Captures.Count; i++)
            {
                string[] capt = m.Groups["reagent"].Captures[i].Value.Split(" ");
                Reagents.Add(new Element(int.Parse(capt[0]), capt[1]));
            }
        }
 public ActionResult UpdateReagent(Reagents reagent)
 {
     if (reagent != null)
     {
         try
         {
             _reagentService.UpdateReagent(reagent);
         }
         catch (Exception e)
         {
             Program.Logger.Error(e);
             return(Ok(GetResponse(ResponseType.FAIL, ResponseStatusCode.FAIL, GetError(ErrorCodes.dataNotFound, "Failed", "Error occurred while updating the reagent"))));
         }
         return(Ok(GetResponse(ResponseType.ACK, ResponseStatusCode.SUCCESS)));
     }
     else
     {
         return(BadRequest(GetResponse(ResponseType.ERROR, ResponseStatusCode.ERROR, GetError(ErrorCodes.invalidData, "Invalid input", "Please enter proper reagent details"))));
     }
 }
示例#8
0
        public void UpdateReagent(Reagents reagent)
        {
            var reagentFromDb = _reagentsRepository.Get(reagent.Id);

            if (reagentFromDb != null)
            {
                reagentFromDb.ModifiedBy      = reagent.ModifiedBy;
                reagentFromDb.ModifiedDate    = reagent.ModifiedDate;
                reagentFromDb.AdditionalNotes = reagent.AdditionalNotes;
                reagentFromDb.Name            = reagent.Name;
                reagentFromDb.UnitInStock     = reagent.UnitInStock;
                reagentFromDb.ReorderLevel    = reagent.ReorderLevel;
                reagentFromDb.UnitPrice       = reagent.UnitPrice;
                reagentFromDb.PackingSize     = reagent.PackingSize;
                reagentFromDb.PurchaseDate    = reagent.PurchaseDate;
                reagentFromDb.ExpiryDate      = reagent.ExpiryDate;

                _reagentsRepository.Update(reagentFromDb);
            }
            else
            {
                throw new Exception("Reagent not found");
            }
        }
示例#9
0
		// Range: -1 Access: 0 Flags: ( 0, 4, 255 )
		public static string pretty_string_from_reagent_list( Reagents reagent_list = null ) {
			string result = null;
			Reagent R = null;
			result = "| ";
			R = null;
			foreach (dynamic _a in ((dynamic)reagent_list) ) {
				if ( !( _a is Reagent ) ) {
					continue;
				}
				R = _a;
				result += "" + R.name + ", " + R.volume + " | ";
			};
			return result;
		}
        public async Task <Reagents> AddNewReagent(Reagents reagent)
        {
            var url = URLBuilder.GetURL(Controllers.REAGENT, EndPoint.REAGENT_ADD);

            return(await requestProvider.PostAsync(url, reagent));
        }
        public async Task <Reagents> UpdateReagent(Reagents reagent)
        {
            var url = URLBuilder.GetURL(Controllers.REAGENT, EndPoint.REAGENT_UPDATE);

            return(await requestProvider.PutAsync(url, reagent));
        }
示例#12
0
 public void InsertReagent(Reagents reagent)
 {
     _reagentsRepository.Insert(reagent);
 }