public void CauseStrike(string reason)
    {
        StrikeSource strikeSource = new StrikeSource();

        strikeSource.ComponentType   = Assets.Scripts.Missions.ComponentTypeEnum.Mod;
        strikeSource.InteractionType = Assets.Scripts.Records.InteractionTypeEnum.Other;
        strikeSource.Time            = CurrentTimerElapsed;
        strikeSource.ComponentName   = reason;

        RecordManager recordManager = RecordManager.Instance;

        recordManager.RecordStrike(strikeSource);

        Bomb.OnStrike(null);
    }
Пример #2
0
    private void CauseStrike(string reason)
    {
        StrikeSource strikeSource = new StrikeSource
        {
            ComponentType   = ComponentTypeEnum.Mod,
            InteractionType = InteractionTypeEnum.Other,
            Time            = CurrentTimerElapsed,
            ComponentName   = reason
        };

        RecordManager recordManager = RecordManager.Instance;

        recordManager.RecordStrike(strikeSource);

        Bomb.OnStrike(null);
    }
Пример #3
0
        public List <OptionChain> LoadFullOptionChainData(string filepathtoSave, string[] dates, bool isLoadAll, string masterDataStaticBankNifty, string masterDataStaticNifty, string liveMarketUrl)
        {
            List <OptionChain> chainData = new List <OptionChain>();
            string             _masterDataStaticBankNifty = masterDataStaticBankNifty;
            string             _masterDataStaticNifty     = masterDataStaticNifty;
            List <SourceList>  listofSources = StrikeSource.Sources(_masterDataStaticBankNifty, _masterDataStaticNifty, dates[0], dates[1], isLoadAll);

            foreach (var item in listofSources)
            {
                //string url = "https://www.nseindia.com/live_market/dynaContent/live_watch/option_chain/optionKeys.jsp?segmentLink=17&instrument=OPTIDX&symbol=BANKNIFTY&date=XXXDATE";
                string url = liveMarketUrl;
                url = url.Replace("OPTIDX", item.instrument).Replace("BANKNIFTY", item.symbol).Replace("XXXDATE", item.date);
                chainData.Add(GenerateOptionChain(url, item.SourceName, item.date, item.instrument));
            }
            return(chainData);
            //TVR -- this logic need to move to ApiLoader/Service part
            //OBJtoXML xmltoObj = new OBJtoXML();
            //xmltoObj.CreateOptionsXML(chainData, filepathtoSave, "LoadFullOptionChainData");
        }
Пример #4
0
        public void LoadFullOptionChainData(string filepathtoSave, string[] dates, bool isLoadAll)
        {
            List <OptionChain> chainData = new List <OptionChain>();
            string             _masterDataStaticBankNifty = ConfigurationManager.AppSettings["MasterDataStaticBankNifty"];
            string             _masterDataStaticNifty     = ConfigurationManager.AppSettings["MasterDataStaticNifty"];
            // List<SourceList> listofSources = StrikeSource.Sources(_masterDataStaticBankNifty, _masterDataStaticNifty, "25OCT2018", "11OCT2018");
            List <SourceList> listofSources = StrikeSource.Sources(_masterDataStaticBankNifty, _masterDataStaticNifty, dates[0], dates[1], isLoadAll);

            foreach (var item in listofSources)
            {
                string url = "https://www.nseindia.com/live_market/dynaContent/live_watch/option_chain/optionKeys.jsp?segmentLink=17&instrument=OPTIDX&symbol=BANKNIFTY&date=XXXDATE";
                url = url.Replace("OPTIDX", item.instrument).Replace("BANKNIFTY", item.symbol).Replace("XXXDATE", item.date);
                chainData.Add(GenerateOptionChain(url, item.SourceName, item.date, item.instrument));
            }

            OBJtoXML xmltoObj = new OBJtoXML();

            xmltoObj.CreateOptionsXML(chainData, filepathtoSave, "LoadFullOptionChainData");
        }
    private void HandleStrikeChanges()
    {
        int strikeLimit = StrikeLimit;
        int strikeCount = Math.Min(StrikeCount, StrikeLimit);

        RecordManager RecordManager = RecordManager.Instance;
        GameRecord    GameRecord    = RecordManager.GetCurrentRecord();

        StrikeSource[] Strikes = GameRecord.Strikes;
        if (Strikes.Length != strikeLimit)
        {
            StrikeSource[] newStrikes = new StrikeSource[Math.Max(strikeLimit, 1)];
            Array.Copy(Strikes, newStrikes, Math.Min(Strikes.Length, newStrikes.Length));
            GameRecord.Strikes = newStrikes;
        }

        if (strikeCount == strikeLimit)
        {
            if (strikeLimit < 1)
            {
                Bomb.NumStrikesToLose = 1;
                strikeLimit           = 1;
            }
            Bomb.NumStrikes = strikeLimit - 1;
            CommonReflectedTypeInfo.GameRecordCurrentStrikeIndexField.SetValue(GameRecord, strikeLimit - 1);
            CauseStrike("Strike count / limit changed.");
        }
        else
        {
            Debug.Log(string.Format("[Bomb] Strike from TwitchPlays! {0} / {1} strikes", StrikeCount, StrikeLimit));
            CommonReflectedTypeInfo.GameRecordCurrentStrikeIndexField.SetValue(GameRecord, strikeCount);
            //MasterAudio.PlaySound3DAtTransformAndForget("strike", base.transform, 1f, null, 0f, null);
            float[] rates = { 1, 1.25f, 1.5f, 1.75f, 2 };
            timerComponent.SetRateModifier(rates[Math.Min(strikeCount, 4)]);
            Bomb.StrikeIndicator.StrikeCount = strikeCount;
        }
    }