示例#1
0
        static void Main(string[] args)
        {
            var serverCtx = new ServerContext();
            var clientCtx = new ClientContext();

            serverCtx.L = clientCtx.L = new ConsoleLogger();

            var prime = new PrimeInstance(serverCtx);

            prime.ExtensionManager.LoadInstallConfig();
            prime.Start();

            // if this is removed DEBUG wont work across projects!??
            var i = ClassTestBase.Test();

            i = i + ClassTestCore.Test();
            // end HACK

            serverCtx.Assemblies.Refresh();
            serverCtx.Types.Refresh();

            var userName = Environment.UserName.ToLower();

            if (userName.Equals("yasko") || userName.Equals("alexander"))
            {
                AlyaskoTest.Go(serverCtx, clientCtx);
            }
            else if (userName.Equals("hitchhiker"))
            {
                Frank.Go(prime, clientCtx);
            }

            //Thread.Sleep(10000);
        }
示例#2
0
    private IEnumerator AnimateGameOver(Frank frank)
    {
        var t           = 0.0f;
        var frankStart  = frank.transform.position;
        var cameraStart = GameCamera.transform.position;

        while (t < cameraTime)
        {
            t += Time.deltaTime;
            frank.transform.position = Vector3.Lerp(frankStart, endTarget.position, t / cameraTime);
            var camPos = Vector3.Lerp(cameraStart, endTarget.position, t / cameraTime);
            camPos.z = cameraStart.z;
            GameCamera.transform.position = camPos;
            GameCamera.CheckBounds();
            yield return(null);
        }
        frank.transform.SetParent(endTarget);
        frank.finalSkip = false;
        t = 0.0f;
        var startBoat = endTarget.position;

        SFXManager.Instance.PlaySFX("Rowing");
        while (t < endTime)
        {
            t += Time.deltaTime;
            endTarget.transform.position = Vector3.Lerp(
                startBoat, endTarget2.position, t / endTime);
            yield return(null);
        }
        SFXManager.Instance.PlaySFX("GameOver");
        gameOverScreen.SetActive(true);
    }
示例#3
0
 public override void OnFrankContact(Frank frank, Shop shop)
 {
     GameManager.Instance.notificationManager.ShowNotification(
         "Killed Frank by poison at " + shop.shopName);
     SFXManager.Instance.PlaySFX(deathSfxName);
     frank.Die();
 }
示例#4
0
 public void ShowGameOver(Frank frank)
 {
     GameState       = GameState.Pause;
     frank.finalSkip = true;
     BGMManager.Instance.StopBGM();
     StartCoroutine(AnimateGameOver(frank));
 }
示例#5
0
 public void OnFrankContact(Frank frank)
 {
     for (int i = 0; i < buffs.Count; i++)
     {
         buffs[i].OnFrankContact(frank, this);
     }
 }
示例#6
0
        public void TestFrankMultiplication()
        {
            Frank five = new Frank(5);

            Assert.Equal(new Frank(10), five.Times(2));

            Assert.Equal(new Frank(15), five.Times(3));
        }
示例#7
0
    public override bool Wait(Frank frank, float time)
    {
        frank.waitTime += time;
        shop.OnFrankContact(frank);

        if (frank.waitTime >= shop.TotalWaitTime)
        {
            frank.waitTime = 0;
            return(true);
        }
        return(false);
    }
示例#8
0
        /// <summary>
        /// create robot
        /// создать робота
        /// </summary>
        public static BotPanel GetStrategyForName(string nameClass, string name, StartProgram startProgram, bool isScript)
        {
            BotPanel bot = null;

            // примеры и бесплатные боты
            if (isScript && bot == null)
            {
                bot = CreateScriptStrategyByName(nameClass, name, startProgram);
                return(bot);
            }

            if (nameClass == "Breakdown")
            {
                bot = new Breakdown(name, startProgram);
            }
            if (nameClass == "Hftone")
            {
                bot = new Hftone(name, startProgram);
            }
            if (nameClass == "Frank_2")
            {
                bot = new Frank_2(name, startProgram);
            }
            if (nameClass == "Frankbol_for_bnb")
            {
                bot = new Frankbol_for_bnb(name, startProgram);
            }
            if (nameClass == "Frankbol")
            {
                bot = new Frankbol(name, startProgram);
            }
            if (nameClass == "Frank")
            {
                bot = new Frank(name, startProgram);
            }
            if (nameClass == "Storog")
            {
                bot = new Storog(name, startProgram);
            }
            if (nameClass == "Depozit")
            {
                bot = new Depozit(name, startProgram);
            }
            if (nameClass == "Ver_01")
            {
                bot = new Ver_01(name, startProgram);
            }
            if (nameClass == "NewParabol")
            {
                bot = new NewParabol(name, startProgram);
            }
            if (nameClass == "Start")
            {
                bot = new Start(name, startProgram);
            }
            if (nameClass == "RobotPriceChannel")
            {
                bot = new RobotPriceChannel(name, startProgram);
            }

            if (nameClass == "SmaScreener")
            {
                bot = new SmaScreener(name, startProgram);
            }
            if (nameClass == "ScreenerEngine")
            {
                bot = new ScreenerEngine(name, startProgram);
            }
            if (nameClass == "SmaTrendSample")
            {
                bot = new SmaTrendSample(name, startProgram);
            }
            if (nameClass == "TimeOfDayBot")
            {
                bot = new TimeOfDayBot(name, startProgram);
            }
            if (nameClass == "Fisher")
            {
                bot = new Fisher(name, startProgram);
            }
            if (nameClass == "FundBalanceDivergenceBot")
            {
                bot = new FundBalanceDivergenceBot(name, startProgram);
            }
            if (nameClass == "BbPowerTrade")
            {
                bot = new BbPowerTrade(name, startProgram);
            }
            if (nameClass == "BollingerRevers")
            {
                bot = new BollingerRevers(name, startProgram);
            }
            if (nameClass == "BollingerTrailing")
            {
                bot = new BollingerTrailing(name, startProgram);
            }
            if (nameClass == "CciTrade")
            {
                bot = new CciTrade(name, startProgram);
            }
            if (nameClass == "MacdRevers")
            {
                bot = new MacdRevers(name, startProgram);
            }
            if (nameClass == "MacdTrail")
            {
                bot = new MacdTrail(name, startProgram);
            }
            if (nameClass == "OneLegArbitrage")
            {
                bot = new OneLegArbitrage(name, startProgram);
            }
            if (nameClass == "PairRsiTrade")
            {
                bot = new PairRsiTrade(name, startProgram);
            }
            if (nameClass == "PriceChannelBreak")
            {
                bot = new PriceChannelBreak(name, startProgram);
            }
            if (nameClass == "PriceChannelVolatility")
            {
                bot = new PriceChannelVolatility(name, startProgram);
            }
            if (nameClass == "RsiTrade")
            {
                bot = new RsiTrade(name, startProgram);
            }
            if (nameClass == "RviTrade")
            {
                bot = new RviTrade(name, startProgram);
            }

            if (nameClass == "MomentumMACD")
            {
                bot = new MomentumMacd(name, startProgram);
            }

            if (nameClass == "Engine")
            {
                bot = new CandleEngine(name, startProgram);
            }
            if (nameClass == "ClusterEngine")
            {
                bot = new ClusterEngine(name, startProgram);
            }

            if (nameClass == "PairTraderSimple")
            {
                bot = new PairTraderSimple(name, startProgram);
            }
            if (nameClass == "EnvelopTrend")
            {
                bot = new EnvelopTrend(name, startProgram);
            }
            if (nameClass == "ClusterCountertrend")
            {
                bot = new ClusterCountertrend(name, startProgram);
            }
            if (nameClass == "PatternTrader")
            {
                bot = new PatternTrader(name, startProgram);
            }
            if (nameClass == "HighFrequencyTrader")
            {
                bot = new HighFrequencyTrader(name, startProgram);
            }
            if (nameClass == "PivotPointsRobot")
            {
                bot = new PivotPointsRobot(name, startProgram);
            }
            if (nameClass == "Williams Band")
            {
                bot = new StrategyBillWilliams(name, startProgram);
            }
            if (nameClass == "MarketMakerBot")
            {
                bot = new MarketMakerBot(name, startProgram);
            }
            if (nameClass == "ParabolicSarTrade")
            {
                bot = new ParabolicSarTrade(name, startProgram);
            }
            if (nameClass == "PriceChannelTrade")
            {
                bot = new PriceChannelTrade(name, startProgram);
            }
            if (nameClass == "WilliamsRangeTrade")
            {
                bot = new WilliamsRangeTrade(name, startProgram);
            }
            if (nameClass == "SmaStochastic")
            {
                bot = new SmaStochastic(name, startProgram);
            }
            if (nameClass == "PinBarTrade")
            {
                bot = new PinBarTrade(name, startProgram);
            }
            if (nameClass == "TwoLegArbitrage")
            {
                bot = new TwoLegArbitrage(name, startProgram);
            }
            if (nameClass == "ThreeSoldier")
            {
                bot = new ThreeSoldier(name, startProgram);
            }
            if (nameClass == "RsiContrtrend")
            {
                bot = new RsiContrtrend(name, startProgram);
            }
            if (nameClass == "PairTraderSpreadSma")
            {
                bot = new PairTraderSpreadSma(name, startProgram);
            }
            if (BotsWithAttribute.ContainsKey(nameClass))
            {
                Type botType = BotsWithAttribute[nameClass];
                bot = (BotPanel)Activator.CreateInstance(botType, name, startProgram);
            }

            return(bot);
        }
示例#9
0
        static void Main(string[] args)
        {
            var serverCtx = new ServerContext
            {
                L = new ConsoleLogger()
            };

            var clientCtx = new ClientContext
            {
                Logger = new ConsoleLogger()
            };

            // if this is removed DEBUG wont work across projects!??
            var i = ClassTestCommon.Test();

            i = i + ClassTestCore.Test();
            // end HACK

            if (args != null && args.Length == 2 && args[0] == "-ext")
            {
                // var asm = Assembly.LoadFrom(args[1]);
            }

            if (Environment.UserName.Equals("yasko") || Environment.UserName.Equals("Alexander"))
            {
                //var test = new KeysManager() as ITestBase;
                //test.Go();
            }
            else if (Environment.UserName.Equals("Sean"))
            {
            }
            else if (Environment.UserName.Equals("hitchhiker"))
            {
                Frank.Go(serverCtx, clientCtx);

                /*
                 * var ft = TypeCatalogue.I.ImplementInstances<IFrankTest>().FirstOrDefault();
                 * if (ft == null)
                 *  Console.WriteLine("Cant find 'Frank' testing modules.");
                 * else
                 *  ft.Go();
                 */
            }

            // ----- Kraken -----

            // new Prime.TestConsole.Program.KrakenTests().GetBalances();
            // new Prime.TestConsole.Program.KrakenTests().GetAssetPairs();
            // new Prime.TestConsole.Program.KrakenTests().GetLatestPrice();
            // new Prime.TestConsole.Program.KrakenTests().GetFundingMethod();
            // new Prime.TestConsole.Program.KrakenTests().GetOhlc();
            // new Prime.TestConsole.Program.KrakenTests().GetDepositAddresses();
            // new Prime.TestConsole.Program.KrakenTests().TestApi();
            // new Prime.TestConsole.Program.KrakenTests().GetAllAddressesAsync();

            //var krakenTests = new Prime.TestConsole.Program.KrakenTests();
            //var krakenActions = new Action[]
            //{
            //    krakenTests.GetBalances,
            //    krakenTests.GetAssetPairs,
            //    krakenTests.GetLatestPrice,
            //    krakenTests.GetDepositAddresses,
            //    krakenTests.GetAllAddressesAsync,
            //    krakenTests.GetFundingMethod,
            //    krakenTests.GetOhlc,
            //    krakenTests.TestApi
            //};

            //foreach (var action in krakenActions)
            //{
            //    action();
            //    Thread.Sleep(1000);
            //}


            // ----- BitMex -----

            // new Prime.TestConsole.Program.BitMexTests().GetOhlcData();
            // new Prime.TestConsole.Program.BitMexTests().GetLatestPrice();
            // new Prime.TestConsole.Program.BitMexTests().GetAssetPairs();
            // new Prime.TestConsole.Program.BitMexTests().GetDepositAddresses();
            // new Prime.TestConsole.Program.BitMexTests().TestApi();
            // new Prime.TestConsole.Program.BitMexTests().GetBalances();
            // new Prime.TestConsole.Program.BitMexTests().GetAllDepositAddresses();
            // new Prime.TestConsole.Program.BitMexTests().TestPortfolioAccountBalances();

            //var bitMexTests = new Prime.TestConsole.Program.BitMexTests();
            //var bitMexActions = new Action[]
            //{
            //     bitMexTests.GetOhlcData,
            //     bitMexTests.GetLatestPrice,
            //     bitMexTests.GetAssetPairs,
            //     bitMexTests.GetDepositAddresses,
            //     bitMexTests.GetAllDepositAddresses,
            //     bitMexTests.TestApi,
            //     bitMexTests.GetBalances,
            //     bitMexTests.TestPortfolioAccountBalances
            //};

            //foreach (var action in bitMexActions)
            //{
            //    action();
            //    Thread.Sleep(1000);
            //}

            // ----- BitStamp -----

            //new Prime.TestConsole.Program.BitStampTests().GetLatestPrices();
            //new Prime.TestConsole.Program.BitStampTests().GetAssetPairs();
            // new Prime.TestConsole.Program.BitStampTests().GetAccountBalance();
            // new Prime.TestConsole.Program.BitStampTests().GetDepositAddresses();

            //var bitStampTests = new Prime.TestConsole.Program.BitStampTests();
            //var bitStampActions = new Action[]
            //{
            //    bitStampTests.GetLatestPrices,
            //    bitStampTests.GetAssetPairs,
            //    bitStampTests.GetAccountBalance,
            //    bitStampTests.GetDepositAddresses,
            //};

            //foreach (var action in bitStampActions)
            //{
            //    action();
            //    Thread.Sleep(1000);
            //}

            // ----- Poloniex -----

            // new Prime.TestConsole.Program.PoloniexTests().GetBalances();
            // new Prime.TestConsole.Program.PoloniexTests().ApiTest();
            // new Prime.TestConsole.Program.PoloniexTests().AssetsTest();
            // new Prime.TestConsole.Program.PoloniexTests().LatestPrices();
            // new Prime.TestConsole.Program.PoloniexTests().GetDepositAddresses();
            // new Prime.TestConsole.Program.PoloniexTests().GetChartData();

            //var poloniexTests = new Prime.TestConsole.Program.PoloniexTests();
            //var poloniexActions = new Action[]
            //{
            //    poloniexTests.GetBalances,
            //    poloniexTests.ApiTest,
            //    poloniexTests.AssetsTest,
            //    poloniexTests.GetDepositAddresses,
            //    poloniexTests.GetChartData,
            //};

            //foreach (var action in poloniexActions)
            //{
            //    action();
            //    Thread.Sleep(1000);
            //}


            // ----- Bittrex -----

            // new Prime.TestConsole.Program.BittrexTests().ApiTest();
            // new Prime.TestConsole.Program.BittrexTests().GetDepositAddresses();
            // new Prime.TestConsole.Program.BittrexTests().GetAssetPairs();
            // new Prime.TestConsole.Program.BittrexTests().GetBalances();
            // new Prime.TestConsole.Program.BittrexTests().LatestPrices();

            // ----- Coinbase -----

            //new Prime.TestConsole.Program.CoinbaseTests().LatestPrice();


            // -----------

            //Sha256Test();
            //new ExchangeRateTest().Test();

            //LatestPricesTest();
            //LatestPrice();

            //Worker worker = new Worker();
            //worker.Run();

            //var logger = new Logger(Console.WriteLine);
            //var radiant = new Radiant(logger);
            //Logging.I.OnNewMessage += I_OnNewMessage;

            //IpfsName(radiant);

            /*Task.Run(async () =>
             * {
             *  Console.WriteLine(await Go());
             * }).GetAwaiter().GetResult();
             */

            //DeployTest();

            //BalanceTest();

            //DataTest();
            //OhclTest();
        }
示例#10
0
 public virtual void OnFrankContact(Frank frank, Shop shop)
 {
     // Do nothing for normal buffs
 }
示例#11
0
文件: Node.cs 项目: zanagi/FrankJam
 public virtual bool Wait(Frank frank, float time)
 {
     return(true);
 }
示例#12
0
文件: Program.cs 项目: renwoox/prime
        static void Main(string[] args)
        {
            // DLL loading hack.

            // var binance = new BinanceProvider();
            //var t = binance.GetType();

            // End hack.

            var serverCtx = new ServerContext();
            var clientCtx = new ClientContext();

            serverCtx.L = clientCtx.L = new ConsoleLogger();

            var prime = new Prime.Core.PrimeInstance(serverCtx);

            //prime.Extensions.Loader.LoadAllBinDirectoryAssemblies();
            prime.ExtensionManager.LoadInstallConfig();

            serverCtx.Assemblies.Refresh();
            serverCtx.Types.Refresh();

            // if this is removed DEBUG wont work across projects!??
            var i = ClassTestBase.Test();

            i = i + ClassTestCore.Test();
            // end HACK

            var userName = Environment.UserName.ToLower();


            if (userName.Equals("yasko") || userName.Equals("alexander"))
            {
                AlyaskoTest.Go(serverCtx, clientCtx);
                //Frank.Go(serverCtx, clientCtx);
                //var test = new KeysManager() as ITestBase;
                //test.Go();
            }
            else if (userName.Equals("Sean"))
            {
            }
            else if (userName.Equals("hitchhiker"))
            {
                Frank.Go(prime, clientCtx);

                /*
                 * var ft = TypeCatalogue.I.ImplementInstances<IFrankTest>().FirstOrDefault();
                 * if (ft == null)
                 *  Console.WriteLine("Cant find 'Frank' testing modules.");
                 * else
                 *  ft.Go();
                 */
            }

            Console.ReadLine();

            // ----- Kraken -----

            // new Prime.TestConsole.Program.KrakenTests().GetBalances();
            // new Prime.TestConsole.Program.KrakenTests().GetAssetPairs();
            // new Prime.TestConsole.Program.KrakenTests().GetLatestPrice();
            // new Prime.TestConsole.Program.KrakenTests().GetFundingMethod();
            // new Prime.TestConsole.Program.KrakenTests().GetOhlc();
            // new Prime.TestConsole.Program.KrakenTests().GetDepositAddresses();
            // new Prime.TestConsole.Program.KrakenTests().TestApi();
            // new Prime.TestConsole.Program.KrakenTests().GetAllAddressesAsync();

            //var krakenTests = new Prime.TestConsole.Program.KrakenTests();
            //var krakenActions = new Action[]
            //{
            //    krakenTests.GetBalances,
            //    krakenTests.GetAssetPairs,
            //    krakenTests.GetLatestPrice,
            //    krakenTests.GetDepositAddresses,
            //    krakenTests.GetAllAddressesAsync,
            //    krakenTests.GetFundingMethod,
            //    krakenTests.GetOhlc,
            //    krakenTests.TestApi
            //};

            //foreach (var action in krakenActions)
            //{
            //    action();
            //    Thread.Sleep(1000);
            //}


            // ----- BitMex -----

            // new Prime.TestConsole.Program.BitMexTests().GetOhlcData();
            // new Prime.TestConsole.Program.BitMexTests().GetLatestPrice();
            // new Prime.TestConsole.Program.BitMexTests().GetAssetPairs();
            // new Prime.TestConsole.Program.BitMexTests().GetDepositAddresses();
            // new Prime.TestConsole.Program.BitMexTests().TestApi();
            // new Prime.TestConsole.Program.BitMexTests().GetBalances();
            // new Prime.TestConsole.Program.BitMexTests().GetAllDepositAddresses();
            // new Prime.TestConsole.Program.BitMexTests().TestPortfolioAccountBalances();

            //var bitMexTests = new Prime.TestConsole.Program.BitMexTests();
            //var bitMexActions = new Action[]
            //{
            //     bitMexTests.GetOhlcData,
            //     bitMexTests.GetLatestPrice,
            //     bitMexTests.GetAssetPairs,
            //     bitMexTests.GetDepositAddresses,
            //     bitMexTests.GetAllDepositAddresses,
            //     bitMexTests.TestApi,
            //     bitMexTests.GetBalances,
            //     bitMexTests.TestPortfolioAccountBalances
            //};

            //foreach (var action in bitMexActions)
            //{
            //    action();
            //    Thread.Sleep(1000);
            //}

            // ----- BitStamp -----

            //new Prime.TestConsole.Program.BitStampTests().GetLatestPrices();
            //new Prime.TestConsole.Program.BitStampTests().GetAssetPairs();
            // new Prime.TestConsole.Program.BitStampTests().GetAccountBalance();
            // new Prime.TestConsole.Program.BitStampTests().GetDepositAddresses();

            //var bitStampTests = new Prime.TestConsole.Program.BitStampTests();
            //var bitStampActions = new Action[]
            //{
            //    bitStampTests.GetLatestPrices,
            //    bitStampTests.GetAssetPairs,
            //    bitStampTests.GetAccountBalance,
            //    bitStampTests.GetDepositAddresses,
            //};

            //foreach (var action in bitStampActions)
            //{
            //    action();
            //    Thread.Sleep(1000);
            //}

            // ----- Poloniex -----

            // new Prime.TestConsole.Program.PoloniexTests().GetBalances();
            // new Prime.TestConsole.Program.PoloniexTests().ApiTest();
            // new Prime.TestConsole.Program.PoloniexTests().AssetsTest();
            // new Prime.TestConsole.Program.PoloniexTests().LatestPrices();
            // new Prime.TestConsole.Program.PoloniexTests().GetDepositAddresses();
            // new Prime.TestConsole.Program.PoloniexTests().GetChartData();

            //var poloniexTests = new Prime.TestConsole.Program.PoloniexTests();
            //var poloniexActions = new Action[]
            //{
            //    poloniexTests.GetBalances,
            //    poloniexTests.ApiTest,
            //    poloniexTests.AssetsTest,
            //    poloniexTests.GetDepositAddresses,
            //    poloniexTests.GetChartData,
            //};

            //foreach (var action in poloniexActions)
            //{
            //    action();
            //    Thread.Sleep(1000);
            //}


            // ----- Bittrex -----

            // new Prime.TestConsole.Program.BittrexTests().ApiTest();
            // new Prime.TestConsole.Program.BittrexTests().GetDepositAddresses();
            // new Prime.TestConsole.Program.BittrexTests().GetAssetPairs();
            // new Prime.TestConsole.Program.BittrexTests().GetBalances();
            // new Prime.TestConsole.Program.BittrexTests().LatestPrices();

            // ----- Coinbase -----

            //new Prime.TestConsole.Program.CoinbaseTests().LatestPrice();


            // -----------

            //Sha256Test();
            //new ExchangeRateTest().Test();

            //LatestPricesTest();
            //LatestPrice();

            //Worker worker = new Worker();
            //worker.Run();

            //var logger = new Logger(Console.WriteLine);
            //var radiant = new Radiant(logger);
            //Logging.I.OnNewMessage += I_OnNewMessage;

            //IpfsName(radiant);

            /*Task.Run(async () =>
             * {
             *  Console.WriteLine(await Go());
             * }).GetAwaiter().GetResult();
             */

            //DeployTest();

            //BalanceTest();

            //DataTest();
            //OhclTest();
        }