private void UpdateRange(int newIndex) { int newFirstRealized = Math.Max(newIndex - HalfRealizedCount, 0); int newLastRealized = Math.Min(newIndex + HalfRealizedCount, imageList.Count - 1); if (lastRealized < newFirstRealized || firstRealized > newLastRealized) { visualModel.Children.Clear(); coverList.Clear(); } else if (firstRealized < newFirstRealized) { for (int i = firstRealized; i < newFirstRealized; i++) { RemoveCover(i); } } else if (newLastRealized < lastRealized) { for (int i = lastRealized; i > newLastRealized; i--) { RemoveCover(i); } } for (int i = newFirstRealized; i <= newLastRealized; i++) { if (!coverList.ContainsKey(i)) { ICover cover = coverFactory.NewCover(imageList[i].Host, imageList[i].Path, i, newIndex); coverList.Add(i, cover); } } firstRealized = newFirstRealized; lastRealized = newLastRealized; }
public ICover[] AllCovers() { List <ICover> covers = new List <ICover>(); foreach (IMemorableItem item in objs) { ICover cover = item.target as ICover; if (cover != null) { covers.Add(cover); } } return(covers.ToArray()); }
public override Status Update() { if (!memory) { return(Status.Error); } ICover nearstCover = NearstCover(); if (nearstCover == null) { return(Status.Failure); } agent.SetDestination(nearstCover.pos); agent.Resume(); return(Status.Running); }
public void Test_11_Cover() { SimpleExpression <SymbolicValue> SymbolicSE = new SymbolicExpression("symbolic_exspression"); Money <SymbolicValue> moneyFromSymbolicExpression = new Money <SymbolicValue>(SymbolicSE, Currency.GBP); LimitSpecification <MoneyValue <SymbolicValue> > moneyFromSymbolicExpressionPayoutSpec = new LimitSpecification <MoneyValue <SymbolicValue> >(moneyFromSymbolicExpression); Limit <MoneyValue <SymbolicValue> > moneyFromSymbolicExpressionPayout = new Limit <MoneyValue <SymbolicValue> >(moneyFromSymbolicExpressionPayoutSpec, 1); SimpleExpression <NumericValue> NumericSE = new NumericExpression(3.4); Attachment <NumericValue> NumericSEAttachment = new Attachment <NumericValue>(NumericSE); NumericExpression n = new NumericExpression(6.7); Percentage <NumericValue> numPerc = new Percentage <NumericValue>(n); Ratio <NumericValue> percNumRatio = new Ratio <NumericValue>(numPerc); Participation <NumericValue> percNumRatioParticipation = new Participation <NumericValue>(percNumRatio); Cover <NumericValue, MoneyValue <SymbolicValue>, NumericValue> coverNumSymbNum = new Cover <NumericValue, MoneyValue <SymbolicValue>, NumericValue>( percNumRatioParticipation, moneyFromSymbolicExpressionPayout, NumericSEAttachment); string str = "COVER \n{\n\tShare: PARTICIPATION(RATIO(6.7%))\n\t_Limit: PAYOUT(PAYOUTEXPRESSION((symbolic_exspression*20) GBP), Occurrence)\n\t_Attachment: XS(3.4, Occurrence, IsItFranchise=False)\n}"; Assert.AreEqual(str, coverNumSymbNum.ToString(), "Error in Cover<NumericValue, MoneyValue<SymbolicValue>, NumericValue> Constructor."); ICover <Value, Value, Value> cNSN = (ICover <Value, Value, Value>)coverNumSymbNum; SymbolicExpression ident = new SymbolicExpression("symbolic"); Ratio <SymbolicValue> symbolicRatio = new Ratio <SymbolicValue>(ident); Participation <SymbolicValue> symbolicRatioParticipation = new Participation <SymbolicValue>(symbolicRatio); Cover <SymbolicValue> coverNumShareNumPayout = new Cover <SymbolicValue>(symbolicRatioParticipation, "\"MyCoverLabel\""); str = "COVER \"MyCoverLabel\"\n{\n\tShare: PARTICIPATION(RATIO(symbolic))\n\t_Limit: \n\t_Attachment: \n}"; Assert.AreEqual(str, coverNumShareNumPayout.ToString(), "Error in Cover<SymbolicValue> Constructor."); }
public static void Assign(IConfig config, ISettings settings, IThemes themes, IBackgroundMusic backgroundMusic, IDrawing draw, IGraphics graphics, IFonts fonts, ILanguage language, IGame game, IProfiles profiles, IRecording record, ISongs songs, IVideo video, ISound sound, ICover cover, IDataBase dataBase, IControllers controller, IPlaylist playlist) { Config = config; Settings = settings; Themes = themes; BackgroundMusic = backgroundMusic; Drawing = draw; Graphics = graphics; Fonts = fonts; Language = language; Game = game; Profiles = profiles; Record = record; Songs = songs; Video = video; Sound = sound; Cover = cover; DataBase = dataBase; Controller = controller; Playlist = playlist; }
static void Main(string[] args) { //double a = 43.52; //double b = 40000566.78234234; //double max; //Stopwatch sw = Stopwatch.StartNew(); //sw.Restart(); //max = SergeysBitwiseMax(a, b); //sw.Stop(); //Console.WriteLine("SergeysBitwiseMax(" + a + ", " + b + ") = " + max + " took " + ElapsedNanoSeconds(sw) + " ns!"); //sw.Restart(); //max = Math.Max(a, b); //sw.Stop(); //Console.WriteLine("Math.Max(" + a + ", " + b + ") = " + max + " took " + ElapsedNanoSeconds(sw) + " ns!"); SymbolicExpression ident = new SymbolicExpression("symbolic"); Console.WriteLine(ident); SimpleExpression <SymbolicValue> SymbolicSE = new SymbolicExpression("symbolic_exspression"); Console.WriteLine(SymbolicSE.GetValue()); SymbolicValue sv = new SymbolicValue("sv"); IValue <AValue> sive = sv; dynamic dsv = new SymbolicValue("sv"); object osv = new SymbolicValue("sv"); Console.WriteLine(sv.Equals(dsv)); Console.WriteLine(dsv.Equals(sv)); Console.WriteLine(dsv.Equals(sive)); Console.WriteLine(osv.Equals(dsv)); Console.WriteLine(sv.Equals(osv)); Console.WriteLine(osv.Equals(sv)); Console.WriteLine(osv.Equals(sive)); Console.WriteLine(sive.Equals(osv)); IExpression <IValue <AValue> > sSV = SymbolicSE; List <IExpression <IValue <AValue> > > aivL = new List <IExpression <IValue <AValue> > >(); aivL.Add(sSV); aivL.Add(SymbolicSE); NumericExpression n = new NumericExpression(6.7); Console.WriteLine(n.GetValue()); SimpleExpression <NumericValue> NumericSE = new NumericExpression(3.4); Console.WriteLine(NumericSE.GetValue()); FunctionInvocation <int> f = new FunctionInvocation <int>( delegate(object[] parameters) { int sum = 0; foreach (object parameter in parameters) { sum += (int)parameter; } return(new NumericValue(sum)); }, 5, 7, 8); Console.WriteLine("!! FunctionInvocation !! " + f.GetValue()); // money Money <SymbolicValue> moneyFromSymbolicValue = new Money <SymbolicValue>(ident, Currency.GBP); Console.WriteLine(moneyFromSymbolicValue.GetValue()); Money <SymbolicValue> moneyFromSymbolicExpression = new Money <SymbolicValue>(SymbolicSE, Currency.GBP); Console.WriteLine(moneyFromSymbolicExpression.GetValue()); Money <NumericValue> moneyFromNumericValue = new Money <NumericValue>(n, Currency.GBP); Console.WriteLine(moneyFromNumericValue.GetValue()); Money <NumericValue> moneyFromNumericExpression = new Money <NumericValue>(NumericSE, Currency.GBP); Console.WriteLine(moneyFromNumericExpression.GetValue()); // percentage Percentage <SymbolicValue> symSEPerc = new Percentage <SymbolicValue>(SymbolicSE); Console.WriteLine(symSEPerc); Percentage <NumericValue> numPerc = new Percentage <NumericValue>(n); Console.WriteLine(numPerc); // Ratio Ratio <SymbolicValue> symbolicRatio = new Ratio <SymbolicValue>(ident); Console.WriteLine(symbolicRatio); Ratio <Value> funcInvRatio = new Ratio <Value>(f); Console.WriteLine(funcInvRatio); Ratio <NumericValue> percNumRatio = new Ratio <NumericValue>(numPerc); Console.WriteLine(percNumRatio); // participation Participation <SymbolicValue> symbolicRatioParticipation = new Participation <SymbolicValue>(symbolicRatio); Console.WriteLine(symbolicRatioParticipation); Participation <Value> funcInvRatioParticipation = new Participation <Value>(funcInvRatio); Console.WriteLine(funcInvRatioParticipation); Participation <NumericValue> percNumRatioParticipation = new Participation <NumericValue>(percNumRatio); Console.WriteLine(percNumRatioParticipation); // _Limit specification LimitSpecification <MoneyValue <SymbolicValue> > moneyFromSymbolicExpressionPayoutSpec = new LimitSpecification <MoneyValue <SymbolicValue> >(moneyFromSymbolicExpression); Console.WriteLine(moneyFromSymbolicExpressionPayoutSpec); LimitSpecification <MoneyValue <NumericValue> > moneyFromNumericValuePayoutSpec = new LimitSpecification <MoneyValue <NumericValue> >(moneyFromNumericValue, true); Console.WriteLine(moneyFromNumericValuePayoutSpec); LimitSpecification <NumericValue> numPercPayoutSpec = new LimitSpecification <NumericValue>(numPerc, true); Console.WriteLine(numPercPayoutSpec); // _Limit Limit <MoneyValue <SymbolicValue> > moneyFromSymbolicExpressionPayout = new Limit <MoneyValue <SymbolicValue> >(moneyFromSymbolicExpressionPayoutSpec, 1); // _Attachment Attachment <NumericValue> NumericSEAttachment = new Attachment <NumericValue>(NumericSE); // cover Cover <NumericValue, MoneyValue <SymbolicValue>, NumericValue> coverNumSymbNum = new Cover <NumericValue, MoneyValue <SymbolicValue>, NumericValue>(percNumRatioParticipation, moneyFromSymbolicExpressionPayout, NumericSEAttachment); Console.WriteLine(coverNumSymbNum); ICover <Value, Value, Value> cNSN = (ICover <Value, Value, Value>)coverNumSymbNum; Cover <SymbolicValue> coverNumShareNumPayout = new Cover <SymbolicValue>(symbolicRatioParticipation, "\"MyCoverLabel\""); Console.WriteLine(coverNumShareNumPayout); Console.ReadKey(); }