public void Destroy()
 {
     if (_target == null)
     {
         return;
     }
     if (_target.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_Emotion_Latitia_Gift)) is BattleUnitBuf_Emotion_Latitia_Gift Gift)
     {
         Gift.Destroy();
     }
 }
Example #2
0
        public static void Main(string[] args)
        {
            var me  = Person.GetByReference("me");
            var you = Person.GetByReference("you");

            while (me.DoThinkAbout(you))
            {
                if (Calendar.Today.CelebratedProfession == you.Profession)
                {
                    try
                    {
                        Collection <Skill> myMainSkill = me
                                                         .Skills
                                                         .OrderByDescending(s => s.Profficency)
                                                         .First();

                        Collection <Feeling> myMotivation = me.GetFeelings(you);

                        Gift myGift = GiftFactory
                                      .CreateGiftAsync(me, myMainSkill, myMotivation)
                                      .Result;

                        bool giftAccepted = myGift
                                            .SendToAsync(you)
                                            .Result;

                        if (giftAccepted)
                        {
                            foreach (var feeling in me.GetFeelings(you))
                            {
                                // TODO: remove validation
                                if (!feeling.IsRated)
                                {
                                    Console.WriteLine(feeling);
                                }
                            }
                        }
                        else
                        {
                            myGift.Destroy();
                        }
                    } // Do I need to explain what I mean with "available"?
                    catch (PersonNotAvailableException ex)
                    {
                        // May throw InvalidOperationException
                        me.Ideas
                        .RemoveAll(i => i.Contains(you));
                    }
                }
            }
        }