コード例 #1
0
    /// <summary>
    /// Returns the next scene name and forwards the current map index.
    /// </returns>
    string getNextScene()
    {
        var s = Scene_list[current_scene];

        current_scene = Subs.Add(current_scene, 0, Scene_list.Length);
        return(s);
    }
コード例 #2
0
    /// <summary>
    /// Returns the next scene name and forwards the current map index.
    /// </returns>
    string getNextData()
    {
        var s = Data_list[current_data];

        current_data = Subs.Add(current_data, 0, Data_list.Length);
        return(s);
    }
コード例 #3
0
    /// <summary>
    /// Returns the next scene name and forwards the current map index.
    /// </returns>
    string getScene()
    {
        var s = Scene_list[current_map];

        current_map = Subs.Add(current_map, 0, Scene_list.Length);
        return(s);
    }
コード例 #4
0
 //Добавить строку подтаблицы
 public void AddRow(TablRow row)
 {
     SubNums.Add(row.Num, row);
     if (!row.Code.IsEmpty())
     {
         SubCodes.Add(row.Code, row);
     }
     Subs.Add(row);
 }
コード例 #5
0
        public DataContext()
        {
            foreach (var chara in Info.Instance().Member)
            {
                if (chara.Value == 0)
                {
                    continue;
                }
                Charactors.Add(new Charactor((chara.Value - 1) * 0x4010 + 0xA8750)
                {
                    Name = chara.Name
                });
            }

            foreach (var info in Info.Instance().Tools)
            {
                Tools.Add(new Item(info, 0xA3D68));
            }
            foreach (var info in Info.Instance().Mains)
            {
                Mains.Add(new Item(info, 0xA3D68));
            }
            foreach (var info in Info.Instance().Subs)
            {
                Subs.Add(new Item(info, 0xA3D68));
            }
            foreach (var info in Info.Instance().Heads)
            {
                Heads.Add(new Item(info, 0xA3D68));
            }
            foreach (var info in Info.Instance().Bodys)
            {
                Bodys.Add(new Item(info, 0xA3D68));
            }
            foreach (var info in Info.Instance().Accessorys)
            {
                Accessorys.Add(new Item(info, 0xA3D68));
            }
            foreach (var info in Info.Instance().Materials)
            {
                Materials.Add(new Item(info, 0xA3D68));
            }
            foreach (var info in Info.Instance().Synthesises)
            {
                Synthesises.Add(new Item(info, 0xA3D68));
            }

            for (uint i = 0; i < 9; i++)
            {
                Party.Add(new SaveDataValue <uint>(0xA3D38 + 4 * i, 4, 0, 9));
            }
        }
コード例 #6
0
        /// <summary>Add a subscription instance</summary>
        public async Task Add(Subscription sub)
        {
            Debug.Assert(Misc.AssertMainThread());
            Debug.Assert(sub.Api == null);
            sub.Api = Api;

            // If there are existing subscriptions equal to 'sub' stop and remove them
            var tasks = Subs.Where(x => Equals(x, sub)).Select(x => Remove(x));
            await Task.WhenAll(tasks);

            // Add 'sub' to the collection
            Subs.Add(sub);
            await sub.Start();
        }
コード例 #7
0
        public MenuItem(ProductSearchRefinement refiner, List <KeyValuePair <string, string> > path) : this()
        {
            var notRoot        = path.Count > 1;
            var hasDescendants = refiner.Values.Any(x => x.Values.Any());

            Name = notRoot ? string.Format("Shop {0}", path.ElementAt(1).Key) : refiner.Label;

            foreach (var subSub in refiner.Values)
            {
                if (subSub.HitCount > 0 && (subSub.Values.Any() || !hasDescendants))
                {
                    Subs.Add(CreateMenuItem((subSub)));
                }
            }
        }
コード例 #8
0
        /// <summary>Add a subscription instance</summary>
        public void Add(Subscription sub)
        {
            Debug.Assert(Misc.AssertMainThread());
            Debug.Assert(sub.Api == null);
            sub.Api = Api;

            // If there are existing subscriptions equal to 'sub' stop and remove them
            var existing = Subs.Where(x => Equals(x, sub)).ToList();

            foreach (var s in existing)
            {
                Remove(s);
            }

            // Add 'sub' to the collection
            Subs.Add(sub);
            sub.Start();
        }
コード例 #9
0
        public MenuItem(Category category, string path = "") : this()
        {
            Name       = category.Name;
            CategoryId = category.Id;
            ShowInMenu = category.ShowInMenu;

            if (category.HeaderMenuBanner != null)
            {
                CallOut = ParseCallOut(category.HeaderMenuBanner);
            }

            var itemId = string.Empty;

            if (!category.Name.Contains(" Catalog "))
            {
                itemId = category.Name.ToLower().Replace(" ", "-");
            }
            else
            {
                itemId = category.Id;
            }

            Href = string.Format("{0}{1}{2}{3}{4}", Config.Params.HrefPrefix, path, string.IsNullOrEmpty(path) ? string.Empty : "/", itemId, category.ParentId == "saleandclearance" ? "?pmid=saleandclearance" : string.Empty);
            Path = category.Name.ToLower();

            foreach (var sub in category.Categories)
            {
                if (!(sub.Name == null || sub.Name.Equals("Gift Cards") || sub.Name.Equals("Brands")))
                {
                    Subs.Add(new MenuItem(sub, itemId.Equals("root") ? string.Empty : string.Format("{0}{1}{2}", path, string.IsNullOrEmpty(path) ? "" : "/", itemId)));
                }
            }

            //TODO : figure out why this is repeated
            foreach (var sub in category.Categories)
            {
                if (sub.Name.Equals("Brands"))
                {
                    Subs.Add(new MenuItem(sub, itemId.Equals("root") ? string.Empty : string.Format("{0}{1}{2}", path, string.IsNullOrEmpty(path) ? "" : "/", itemId)));
                }
            }
        }
コード例 #10
0
ファイル: Singer.cs プロジェクト: HeidenBZR/ArpasingRusHelper
 void CheckVoicebank()
 {
     if (!Directory.Exists(Dir))
     {
         IsEnabled = false;
         return;
     }
     Subs = Directory.EnumerateDirectories(Dir).Select(n => Path.GetFileName(n)).ToList();
     Subs.Add("");
     IsEnabled = false;
     foreach (string sub in Subs)
     {
         string subdir = Path.Combine(Dir, sub, "oto.ini");
         if (File.Exists(subdir))
         {
             IsEnabled = true;
             return;
         }
     }
     IsEnabled = false;
     return;
 }
コード例 #11
0
ファイル: Line.cs プロジェクト: LorisYounger/LinePutScript
        /// <summary>
        /// 通过lpsLine文本创建一行
        /// </summary>
        /// <param name="lpsLine">lpsSub文本</param>
        public Line(string lpsLine)
        {
            string[] sts = Regex.Split(lpsLine, @"///", RegexOptions.IgnoreCase);
            for (int i = 1; i < sts.Length; i++)
            {
                Comments += sts[i];
            }
            sts = Regex.Split(sts[0], @"\:\|", RegexOptions.IgnoreCase);
            string[] st = sts[0].Split(new char[1] {
                '#'
            }, 2);                                             //第一个
            Name = st[0];
            if (st.Length > 1)
            {
                info = st[1];  //lpstext都是转义后(无关键字)
            }
            text = sts.Last(); //最后一个

            for (int i = 1; i < sts.Length - 1; i++)
            {
                Subs.Add(new Sub(sts[i]));
            }
        }
コード例 #12
0
    public void SetSubdivide(int subdivide)
    {
        this.subdivide = subdivide;

        int subCount = Bars.Count * (subdivide - 1);

        while (Subs.Count < subCount)
        {
            Subs.Add(Instantiate(SubPrototype, contentRectTrans).GetComponent <RectTransform>());
        }
        while (Subs.Count > subCount)
        {
            Destroy(Subs[0].gameObject);
            Subs.RemoveAt(0);
        }

        for (int i = 0; i < Bars.Count; i++)
        {
            for (int j = 0; j < subdivide - 1; j++)
            {
                Subs[i * (subdivide - 1) + j].anchoredPosition = new Vector2(0, rectTrans.rect.height / visibleDuration * (i * beatDuration + (j + 1) * (beatDuration / subdivide)));
            }
        }
    }
コード例 #13
0
        public static async Task <bool> MergeFamilyInvoices(int parentID)
        {
            using (var context = new OverstagContext())
            {
                var parent = context.Accounts
                             .Include(g => g.Subscriptions).ThenInclude(i => i.Event)
                             .Include(h => h.Invoices).First(f => f.Id == parentID);

                var family = context.Families
                             .Include(g => g.Members).ThenInclude(h => h.Subscriptions).ThenInclude(i => i.Event)
                             .Include(g => g.Members).ThenInclude(h => h.Invoices)
                             .First(f => f.ParentID == parent.Id);

                if (family.Members.Count() == 0)
                {
                    return(true);
                }

                // event, (friendCount, consumptionTax)
                Dictionary <Event, (int, int)> Subs = new Dictionary <Event, (int, int)>();


                foreach (var member in family.Members)
                {
                    if (member.Invoices.Count(f => !f.Paid) == 0)
                    {
                        continue;
                    }

                    foreach (var invoice in member.Invoices.Where(f => !f.Paid))
                    {
                        List <Participate> participates = new List <Participate>();

                        foreach (int eventID in invoice.EventIDs.Split(',').Select(f => Convert.ToInt32(f)).ToList())
                        {
                            participates.Add(member.Subscriptions.First(f => f.EventID == eventID));
                        }

                        foreach (var part in participates)
                        {
                            if (Subs.ContainsKey(part.Event))
                            {
                                ValueTuple <int, int> values;
                                Subs.TryGetValue(part.Event, out values);

                                values.Item1    += (part.FriendCount + 1);
                                values.Item2    += part.AdditionsCost;
                                Subs[part.Event] = values;
                            }
                            else
                            {
                                Subs.Add(part.Event, (part.FriendCount, part.AdditionsCost));
                            }
                        }

                        context.Invoices.Remove(invoice);
                    }
                }

                if (Subs.Count() == 0)
                {
                    return(true);
                }

                List <Participate> existingSubscriptions = parent.Subscriptions.ToList();

                foreach (var sub in Subs)
                {
                    if (!existingSubscriptions.Any(f => f.EventID == sub.Key.Id))
                    {
                        parent.Subscriptions.Add(new Participate {
                            Event = sub.Key, FriendCount = (byte)sub.Value.Item1, AdditionsCost = sub.Value.Item2, Paid = true
                        });
                    }
                }

                await context.Invoices.AddAsync(new Invoice()
                {
                    AdditionsCost = Subs.Values.Sum(f => f.Item2),
                    EventIDs      = string.Join(',', Subs.Select(f => f.Key.Id)),
                    User          = parent,
                    Paid          = false,
                    Timestamp     = DateTime.Now,
                    InvoiceID     = Encryption.Random.rHash("INV" + DateTime.Now.ToLongTimeString()),
                    Amount        = (Subs.Sum(f => (f.Key.Cost * (1 + f.Value.Item1))) + Subs.Sum(f => f.Value.Item2))
                });

                context.Accounts.Update(parent);
                await context.SaveChangesAsync();



                return(true);
            }
        }
コード例 #14
0
ファイル: SubSet.cs プロジェクト: niilante/SubSet
        public async Task SetSubtitles()
        {
            if (Status != SubSetStatus.Idle)
            {
                throw new Exception();
            }
            await Task.Run(() =>
            {
                Status        = SubSetStatus.Analize;
                StatusMessage = "Analizing";
                var allFiles  = Directory.GetFiles("*.*", SearchOption.AllDirectories);

                RunStatic();

                foreach (var file in allFiles)
                {
                    if (MovieExtensions.Any(e => e == file.Extension))
                    {
                        Movies.Add(new FileMovie(file));
                    }
                    if (SubExtensions.Any(e => e == file.Extension))
                    {
                        Subs.Add(new FileSubtitle(file));
                    }
                    if (FontExtensions.Any(e => e == file.Extension))
                    {
                        Fonts.Add(new FileFont(file));
                    }
                }

                if (!Setting.SearchMovieInSubdir)
                {
                    Movies = Movies.Where(movie => movie.DirectoryPath == Directory.FullName).ToList();
                }
                if (!Setting.SearchSubInSubdir)
                {
                    Subs = Subs.Where(sub => sub.DirectoryPath == Directory.FullName).ToList();
                }

                StatusPercent = 10;

                foreach (var fontFile in Fonts)
                {
                    fontFile.Install();
                }
                StatusPercent = 20;
                SetEpizodes(Subs);
                StatusPercent = 50;
                SetEpizodes(Movies);
                StatusPercent = 80;
                foreach (var sub in Subs)
                {
                    sub.Movie = Movies.FirstOrDefault(m => m.Epizode == sub.Epizode && sub.Path.Contains(m.DirectoryPath));
                }
                StatusPercent = 90;
                StatusPercent = 0;
                Status        = SubSetStatus.SettingSub;
                StatusMessage = "RenamingSubs";
                for (int i = 0; i < Subs.Count; i++)
                {
                    var sub = Subs[i];
                    if (sub.Movie == null)
                    {
                        continue;
                    }
                    var subPath = Path.Combine(sub.Movie.DirectoryPath, sub.Movie.PureName + sub.Extension);
                    if (File.Exists(subPath))
                    {
                        continue;
                    }
                    sub.Info.MoveTo(subPath);
                    StatusPercent = (byte)(i * 100 / Subs.Count);
                }
                Status        = SubSetStatus.Completed;
                StatusPercent = 100;
                StatusMessage = "Completed";
            });
        }
コード例 #15
0
    public void StartGameTrack()
    {
        startClip(game_tracks[game_track_index]);

        game_track_index = Subs.Add(game_track_index, 0, game_tracks.Length);
    }