private static void ProcessInput(char input)
        {
            //Only append characters that exist in the spritefont.
            if (input == 13)
            {
                try
                {
                    var method = 
                        EngineGlobals.GenerateMethodFromString(
                        _variable.AsString.Replace(' ',';'));
                    method.ExecuteMethod(null);
                    ConsoleWindow.WriteLine("Executing...");
                }
                catch(EngineException ex)
                {
                    ConsoleWindow.WriteLine("Warning: {0}", ex.Message);
                }
                _variable.AsString = "";
                return;
            }

            if (input < 32 && input > 9)
                return;

            if (input > 126)
                return;

            if (input == 8)
            {
                if (_variable.AsString.Length > 0)
                    _variable.AsString = _variable.AsString.Substring(0, _variable.AsString.Length - 1);
            }
            else
                _variable += input;
        }
 public static Variable GetVariable(string name)
 {
     try
     {
         return(_variables[name]);
     }
     catch (System.Exception ex)
     {
         ConsoleWindow.WriteLine("Warning: {0}", ex.Message);
     }
     return(null);
 }
Beispiel #3
0
        public override void Initialize()
        {
            base.Initialize();

            using (System.IO.Stream stream =
                       System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("EquestriEngine.Resources.Data.Achievements.xml"))
            //System.IO.File.OpenRead(@"writeout.xml"))
            {
                System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(Achievement[]));
                achievements = (Achievement[])serializer.Deserialize(stream);
            }

            foreach (Achievement ach in achievements)
            {
                if (ach.DataName == null)
                {
                    continue;
                }
                string[] temp = ach.DataName.Split(';');
                try
                {
                    switch (temp[0])
                    {
                    case "swt":
                        if (!_switches.ContainsKey(temp[1]))
                        {
                            _switches[temp[1]] = new Switch()
                            {
                                Name = temp[1]
                            }
                        }
                        ;
                        ach.RegisterData(_switches[temp[1]]);
                        break;

                    case "var":
                        ach.RegisterData(_variables[temp[1]]);
                        break;
                    }
                    ach.OnAchievementUnlocked += DataChange;
                    ConsoleWindow.WriteLine("Successfully added Achievement - {0} - {1}", ach.Name, ach.Description);
                }
                catch
                {
                    ConsoleWindow.WriteLine("Warning - Adding Achievement failed: {0} - data missing", ach.Name);
                }
            }

            PlayerGold.Value = 0;

            ConsoleWindow.WriteLine("");
        }