Exemple #1
0
        // Returns true if this precise check triggered an unlock
        public bool Check()
        {
            if (unlocked)
            {
                return(false);
            }

            ScriptInterpreter.Execute(
                interpreter.MakeGameEffects(script)
                );

            // Logging
            if (unlocked)
            {
                string achievementName = GameManager.instance.localization.GetLineFromCategory("achievementName", "achievement" + id);
                Logger.Info("Achievement_" + id + " : " + achievementName + " unlocked !");

                GameManager.instance.achievementManager.unlockedAchievements.Add(id); // Add the achievement ID to the player save
                // g_SteamAchievements->SetAchievement(entry.value.name); // Trigger steam achievement

                return(true);
            }

            return(false);
        }
        private static int Main(string[] args)
        {
            Console.WriteLine("TableScript V1.1");
            Console.WriteLine("Copyright (C) 2017. Phil Garcia. All rights reserved.");
            Console.WriteLine("Licenced under GPLv3 License.");
            Console.WriteLine("Usage: [-file filename] [arg1] [arg2] ...");
            Console.WriteLine();

            var script = new ScriptInterpreter();

            script.AddMethodSources(new FileMethods());
            script.AddMethodSources(new TableMethods());
            script.AddMethodSources(new EMailMethods());
            script.AddMethodSources(new SharePointMethods());

            if (args.Length >= 1 && args[0] == "-file")
            {
                if (args.Length < 2)
                {
                    Console.WriteLine("Error: Missing filename");
                    return(1);
                }

                var scriptData = File.ReadAllLines(args[1]);

                for (int i = 2; i < args.Length; i++)
                {
                    script.SetVariableArgument(i - 1, args[i]);
                }

                foreach (var line in scriptData)
                {
                    Console.WriteLine("> " + line);

                    var result = script.Execute(line);

                    if (result.HasError)
                    {
                        Console.WriteLine("Error: ");
                        Console.WriteLine(result.ErrorMessage);
                        return(1);
                    }
                }

                return(0);
            }
            else
            {
                while (true)
                {
                    for (int i = 0; i < args.Length; i++)
                    {
                        script.SetVariableArgument(i + 1, args[i]);
                    }

                    Console.Write("> ");

                    var line = Console.ReadLine().TrimEnd();

                    if (line == "quit" || line == "exit")
                    {
                        return(0);
                    }

                    var result = script.Execute(line);

                    if (result.HasError)
                    {
                        Console.WriteLine("Error: ");
                        Console.WriteLine(result.ErrorMessage);
                        return(1);
                    }
                    else
                    {
                        Console.WriteLine("Result: " + result.Result.ToString());
                    }
                }
            }
        }