Beispiel #1
0
 public void PurifyInfluenceKind(Person person, Influence i, Applier applier, int applierID, bool excludePersonal)
 {
     if (this.Type == InfluenceType.个人 && !excludePersonal)
     {
         PurifyInfluenceKind(person);
     }
     if (this.Type == InfluenceType.战斗 || this.Type == InfluenceType.建筑战斗)
     {
         ApplyingTroop t = new ApplyingTroop(person.LocationTroop, applier, applierID);
         if (person.LocationTroop != null && i.appliedTroop.Contains(t))
         {
             i.appliedTroop.Remove(t);
             PurifyInfluenceKind(person.LocationTroop, i, applier, applierID);
         }
     }
     if (this.Type == InfluenceType.建筑 || this.Type == InfluenceType.建筑战斗)
     {
         ApplyingArchitecture t = new ApplyingArchitecture(person.LocationArchitecture, applier, applierID);
         if (person.LocationTroop != null && i.appliedArch.Contains(t))
         {
             i.appliedArch.Remove(t);
             PurifyInfluenceKind(person.LocationArchitecture, i, applier, applierID);
         }
     }
 }
 public void DirectlyPurifyInfluence(Troop troop, Applier applier, int applierID)
 {
     foreach (Influence influence in this.Influences.Values)
     {
         influence.PurifyInfluence(troop, applier, applierID);
     }
 }
Beispiel #3
0
 public void PurifyInfluenceKind(Troop troop, Influence i, Applier applier, int applierID)
 {
     if (this.Type == InfluenceType.战斗 || this.Type == InfluenceType.建筑战斗)
     {
         PurifyInfluenceKind(troop);
     }
 }
 public void DirectlyPurifyInfluence(Troop troop, Applier applier, int applierID)
 {
     foreach (Influence influence in this.Influences.Values)
     {
         influence.PurifyInfluence(troop, applier, applierID);
     }
 }
Beispiel #5
0
 internal void PaySuccess(string payAccount, string payTradeNo, PayInterface payInterface, PayAccountType payAccountType, DateTime payTime, string channelTradeNo)
 {
     Tradement.PaySuccess(payAccount, payTradeNo, payInterface, payAccountType, channelTradeNo);
     Applier.TradeSuccess(payTime);
     Applier.Owner.Account = payAccount;
     Accepter.TradeSuccess(payTime);
 }
Beispiel #6
0
 public void ApplyInfluenceKind(Architecture architecture, Influence i, Applier applier, int applierID)
 {
     if (this.Type == InfluenceType.建筑 || this.Type == InfluenceType.建筑战斗)
     {
         ApplyInfluenceKind(architecture);
     }
     else if (this.Type == InfluenceType.个人)
     {
         foreach (Person p in architecture.Persons)
         {
             ApplyingPerson a = new ApplyingPerson(p, applier, applierID);
             if (!i.appliedPerson.Contains(a))
             {
                 i.appliedPerson.Add(a);
                 ApplyInfluenceKind(p, i, applier, applierID, false);
             }
         }
         foreach (Person p in architecture.MovingPersons)
         {
             ApplyingPerson a = new ApplyingPerson(p, applier, applierID);
             if (!i.appliedPerson.Contains(a))
             {
                 i.appliedPerson.Add(a);
                 ApplyInfluenceKind(p, i, applier, applierID, false);
             }
         }
     }
 }
Beispiel #7
0
        /// <summary>
        /// 基本代换班
        /// </summary>
        public void SwapingForTerm(Pair <Guid> agentPair, Pair <long?> assignmentPair, bool isLaborRule)
        {
            ReSet();
            _attendanceRepository.Clear();
            GetSwapingDate(assignmentPair);
            Initialize(agentPair, isLaborRule);

            Applier.InitializeSwapingForTerm(assignmentPair.Applier);
            Replier.InitializeSwapingForTerm(assignmentPair.Replier);
            if (Applier.Term != null)
            {
                Replier.TimeOff = Replier.TimeBox.SpecificTerm <TimeOff>().CollideTerms(Applier.Term).FirstOrDefault();
            }
            if (Replier.Term != null)
            {
                Applier.TimeOff = Applier.TimeBox.SpecificTerm <TimeOff>().CollideTerms(Replier.Term).FirstOrDefault();
            }
            //删除班
            DeleteTerm();
            //设置TimeOff
            SetTimeOff();
            //交换班表
            SwapSpecificTerm();
            SwapSpecificSubEvents();
            //验证交换信息
            VaildateSwapMessage();
        }
        void TickFetchTask()
        {
            if (fetchTask == null)
            {
                return;
            }
            fetchTask.Tick();
            UpdateFetchProgress();
            if (!fetchTask.Completed)
            {
                return;
            }

            if (!fetchTask.Success)
            {
                view.statusText = "&cFailed to fetch update";
                UpdateStatus();
            }
            else
            {
                Applier.ExtractUpdate(fetchTask.ZipFile);
                game.ShouldExit   = true;
                game.ShouldUpdate = true;
            }
            fetchTask = null;
        }
Beispiel #9
0
 /// <summary>
 /// 指定班互换
 /// </summary>
 protected void SwapSpecificTermIsNeedSeat()
 {
     //在申请方上新增回复方的班
     Applier.CreateTermWithSeat(Replier.Term, Applier.Term.Seat);
     //在回复方上新增申请方的班
     Replier.CreateTermWithSeat(Applier.Term, Replier.Term.Seat);
 }
 public void ApplyInfluenceKind(Faction faction, Influence i, Applier applier, int applierID)
 {
     if (this.Type == InfluenceType.势力)
     {
         ApplyInfluenceKind(faction);
         foreach (Architecture a in faction.Architectures)
         {
             ApplyingArchitecture z = new ApplyingArchitecture(a, applier, applierID);
             if (!i.appliedArch.Contains(z))
             {
                 i.appliedArch.Add(z);
                 ApplyInfluenceKind(a, i, applier, applierID);
             }
         }
         foreach (Troop t in faction.Troops)
         {
             ApplyingTroop a = new ApplyingTroop(t, applier, applierID);
             if (!i.appliedTroop.Contains(a))
             {
                 i.appliedTroop.Add(a);
                 ApplyInfluenceKind(t, i, applier, applierID);
             }
         }
     }
 }
 public void ApplyInfluenceKind(Architecture architecture, Influence i, Applier applier, int applierID)
 {
     if (this.Type == InfluenceType.建筑 || this.Type == InfluenceType.建筑战斗)
     {
         ApplyInfluenceKind(architecture);
     } 
     else if (this.Type == InfluenceType.个人)
     {
         foreach (Person p in architecture.Persons)
         {
             ApplyingPerson a = new ApplyingPerson(p, applier, applierID);
             if (!i.appliedPerson.Contains(a))
             {
                 i.appliedPerson.Add(a);
                 ApplyInfluenceKind(p, i, applier, applierID, false);
             }
         }
         foreach (Person p in architecture.MovingPersons)
         {
             ApplyingPerson a = new ApplyingPerson(p, applier, applierID);
             if (!i.appliedPerson.Contains(a))
             {
                 i.appliedPerson.Add(a);
                 ApplyInfluenceKind(p, i, applier, applierID, false);
             }
         }
     }
 }
Beispiel #12
0
 public void ApplyInfluenceKind(Person person, Influence i, Applier applier, int applierID, bool excludePersonal)
 {
     if (this.Type == InfluenceType.个人 && !excludePersonal)
     {
         ApplyInfluenceKind(person);
     }
     if (this.Type == InfluenceType.战斗 || this.Type == InfluenceType.建筑战斗)
     {
         if (person.LocationTroop != null)
         {
             ApplyingTroop z = new ApplyingTroop(person.LocationTroop, applier, applierID);
             if (!i.appliedTroop.Contains(z))
             {
                 i.appliedTroop.Add(z);
                 person.LocationTroop.InfluencesApplying.Add(i);
                 ApplyInfluenceKind(person.LocationTroop, i, applier, applierID);
             }
         }
     }
     if (this.Type == InfluenceType.建筑 || this.Type == InfluenceType.建筑战斗)
     {
         if (person.LocationArchitecture != null)
         {
             ApplyingArchitecture z = new ApplyingArchitecture(person.LocationArchitecture, applier, applierID);
             if (!i.appliedArch.Contains(z))
             {
                 i.appliedArch.Add(z);
                 ApplyInfluenceKind(person.LocationArchitecture, i, applier, applierID);
             }
         }
     }
 }
Beispiel #13
0
        /// <summary>
        /// 多日代换班
        /// </summary>
        public void SwapingForMultiDay(Pair <Guid> agentPair, DateRange dateRange, bool isLaborRule)
        {
            ReSet();
            _attendanceRepository.Clear();
            Applier.SwapingDate = Replier.SwapingDate = dateRange;
            Initialize(agentPair, isLaborRule);

            Applier.InitializeSwapingForMultiDay();
            Replier.InitializeSwapingForMultiDay();
            //是否存在TimeOff
            ValidateHasTimeOff();
            //是否存在AbsentEvent
            ValidateHasAbsentEvent();
            //是否存在锁
            ValidateHasLocked();
            //删除班表
            DeleteTerms(new Pair <IList <Term> >(Applier.CurrentTerms, Replier.CurrentTerms));
            //删除DayOff
            DeleteTerms(new Pair <IList <Term> >(Applier.DayOffs, Replier.DayOffs));
            //交换班表
            SwapTerms(new Pair <IList <Term> >(Applier.CurrentTerms, Replier.CurrentTerms));
            SwapTerms(new Pair <IList <Term> >(Applier.LevelOnes, Replier.LevelOnes));
            SwapTerms(new Pair <IList <Term> >(Applier.LevelTwos, Replier.LevelTwos));
            SwapTerms(new Pair <IList <Term> >(Applier.LevelThrees, Replier.LevelThrees));
            //验证交换信息
            VaildateSwapMessage();
        }
 public void ApplyInfluence(Architecture architecture, Applier applier, int applierID)
 {
     foreach (Influence influence in this.Influences.Values)
     {
         influence.ApplyInfluence(architecture, applier, applierID);
     }
 }
 public void ApplyInfluence(Faction faction, Applier applier, int applierID)
 {
     foreach (Influence influence in this.Influences.Values)
     {
         influence.ApplyInfluence(faction, applier, applierID);
     }
 }
 public void ApplyInfluence(Faction faction, Applier applier, int applierID)
 {
     foreach (Influence influence in this.Influences.Values)
     {
         influence.ApplyInfluence(faction, applier, applierID);
     }
 }
 public void ApplyInfluence(Architecture architecture, Applier applier, int applierID)
 {
     foreach (Influence influence in this.Influences.Values)
     {
         influence.ApplyInfluence(architecture, applier, applierID);
     }
 }
Beispiel #18
0
 public void PurifyInfluenceKind(Person person, Influence i, Applier applier, int applierID, bool excludePersonal)
 {
     if (this.Type == InfluenceType.个人)
     {
         if (i.appliedPerson.Remove(new ApplyingPerson(person, applier, applierID)))
         {
             PurifyInfluenceKind(person);
         }
         if (this.combat && person.LocationTroop != null)
         {
             person.LocationTroop.InfluencesApplying.Remove(i);
         }
     }
     if (this.Type == InfluenceType.战斗 || this.Type == InfluenceType.建筑战斗)
     {
         if (person.LocationTroop != null)
         {
             PurifyInfluenceKind(person.LocationTroop, i, applier, applierID);
         }
     }
     if (this.Type == InfluenceType.建筑 || this.Type == InfluenceType.建筑战斗)
     {
         if (person.LocationArchitecture != null)
         {
             PurifyInfluenceKind(person.LocationArchitecture, i, applier, applierID);
         }
     }
 }
Beispiel #19
0
 public void ApplyInfluenceKind(Faction faction, Influence i, Applier applier, int applierID)
 {
     if (this.Type == InfluenceType.势力)
     {
         if (i.appliedFaction.Add(new ApplyingFaction(faction, applier, applierID)))
         {
             ApplyInfluenceKind(faction);
         }
     }
     if (this.Type == InfluenceType.建筑 || this.Type == InfluenceType.建筑战斗)
     {
         foreach (Architecture a in faction.Architectures)
         {
             ApplyInfluenceKind(a, i, applier, applierID);
         }
     }
     if (this.Type == InfluenceType.战斗 || this.Type == InfluenceType.建筑战斗)
     {
         foreach (Troop t in faction.Troops)
         {
             ApplyInfluenceKind(t, i, applier, applierID);
         }
     }
     if (this.Type == InfluenceType.个人)
     {
         foreach (Person p in faction.Persons)
         {
             ApplyInfluenceKind(p, i, applier, applierID, false);
             if (this.combat && p.LocationTroop != null)
             {
                 p.LocationTroop.InfluencesApplying.Add(i);
             }
         }
     }
 }
        public void ApplyInfluence(Person person, Applier applier, int applierID)
        {
            bool flag  = false;
            bool flag2 = false;

            foreach (Influence influence in this.Influences.Values)
            {
                if ((influence.Type != InfluenceType.前提) && (influence.Type != InfluenceType.多选一))
                {
                    if (!flag || flag2)
                    {
                        influence.ApplyInfluence(person, applier, applierID);
                    }
                    continue;
                }
                if (!(flag || (influence.Type != InfluenceType.多选一)))
                {
                    flag = true;
                }
                if (influence.IsVaild(person))
                {
                    if (influence.Type == InfluenceType.多选一)
                    {
                        flag2 = true;
                        continue;
                    }
                }
                else if (influence.Type == InfluenceType.前提)
                {
                    break;
                }
            }
        }
Beispiel #21
0
 public void PurifyInfluenceKind(Person person, Influence i, Applier applier, int applierID)
 {
     if (this.Type == InfluenceType.个人)
     {
         PurifyInfluenceKind(person);
     }
     if (this.Type == InfluenceType.战斗 || this.Type == InfluenceType.建筑战斗)
     {
         ApplyingTroop t = new ApplyingTroop(person.LocationTroop, applier, applierID);
         if (person.LocationTroop != null && i.appliedTroop.Contains(t))
         {
             i.appliedTroop.RemoveWhere((a2) => { return(t.Equals(a2)); });
             PurifyInfluenceKind(person.LocationTroop, i, applier, applierID);
         }
     }
     if (this.Type == InfluenceType.建筑 || this.Type == InfluenceType.建筑战斗)
     {
         ApplyingArchitecture t = new ApplyingArchitecture(person.LocationArchitecture, applier, applierID);
         if (person.LocationTroop != null && i.appliedArch.Contains(t))
         {
             i.appliedArch.RemoveWhere((a2) => { return(t.Equals(a2)); });
             PurifyInfluenceKind(person.LocationArchitecture, i, applier, applierID);
         }
     }
 }
 public void ApplyInfluence(Person person, Applier applier, int applierID)
 {
     bool flag = false;
     bool flag2 = false;
     foreach (Influence influence in this.Influences.Values)
     {
         if ((influence.Type != InfluenceType.前提) && (influence.Type != InfluenceType.多选一))
         {
             if (!flag || flag2)
             {
                 influence.ApplyInfluence(person, applier, applierID);
             }
             continue;
         }
         if (!(flag || (influence.Type != InfluenceType.多选一)))
         {
             flag = true;
         }
         if (influence.IsVaild(person))
         {
             if (influence.Type == InfluenceType.多选一)
             {
                 flag2 = true;
                 continue;
             }
         }
         else if (influence.Type == InfluenceType.前提)
         {
             break;
         }
     }
 }
Beispiel #23
0
 public void ApplyInfluenceKind(Faction faction, Influence i, Applier applier, int applierID)
 {
     if (this.Type == InfluenceType.势力)
     {
         ApplyInfluenceKind(faction);
         foreach (Architecture a in faction.Architectures)
         {
             ApplyingArchitecture z = new ApplyingArchitecture(a, applier, applierID);
             if (!i.appliedArch.Contains(z))
             {
                 i.appliedArch.Add(z);
                 ApplyInfluenceKind(a, i, applier, applierID);
             }
         }
         foreach (Troop t in faction.Troops)
         {
             ApplyingTroop a = new ApplyingTroop(t, applier, applierID);
             if (!i.appliedTroop.Contains(a))
             {
                 i.appliedTroop.Add(a);
                 ApplyInfluenceKind(t, i, applier, applierID);
             }
         }
     }
 }
 public void PurifyInfluence(Person p, Applier applier, int applierID)
 {
     foreach (Influence influence in this.Influences.Values)
     {
         influence.PurifyInfluence(p, applier, applierID);
     }
 }
Beispiel #25
0
 /// <summary>
 /// 时段代换班
 /// </summary>
 public void SwapingForDateRange(Pair <Guid> agentPair, Pair <DateRange> dateRange, bool isLaborRule)
 {
     ReSet();
     _attendanceRepository.Clear();
     Applier.SwapingDate = Replier.SwapingDate = dateRange.Applier.GetSwapingDate(dateRange.Applier, dateRange.Replier);
     Initialize(agentPair, isLaborRule);
     Applier.InitializeSwapingForDateRange(Applier.SwapingDate);
     Replier.InitializeSwapingForDateRange(Replier.SwapingDate);
     //删除请假
     DeleteTerms(new Pair <IList <Term> >(Applier.AbsentEvents, Replier.AbsentEvents));
     //删除班表
     DeleteTerms(new Pair <IList <Term> >(Applier.TempTerms, Replier.TempTerms));
     if (dateRange.Applier == dateRange.Replier)
     {
         Applier.DealWithDateRange(Replier, dateRange.Applier);
         Replier.DealWithDateRange(Applier, dateRange.Replier);
     }
     else
     {
         Applier.DealWithDateRange(Replier, dateRange);
         Replier.DealWithDateRange(Applier, new Pair <DateRange>(dateRange.Replier, dateRange.Applier));
     }
     //验证交换信息
     VaildateSwapMessage();
 }
Beispiel #26
0
 public void PurifyInfluence(Person p, Applier applier, int applierID, bool excludePersonal)
 {
     foreach (Influence influence in this.Influences.Values)
     {
         influence.PurifyInfluence(p, applier, applierID, excludePersonal);
     }
 }
Beispiel #27
0
        /// <summary>
        /// 离线代换班
        /// </summary>
        public void SwapingForSubEvent(Pair <Guid> agentPair, Pair <long> assignmentPair)
        {
            _attendanceRepository.Clear();
            Applier.Term = _attendanceRepository.Get <Term>(assignmentPair.Applier);
            Replier.Term = _attendanceRepository.Get <Term>(assignmentPair.Replier);
            var dateA = new DateRange(Applier.Term.Start, Applier.Term.End);
            var dateB = new DateRange(Replier.Term.Start, Replier.Term.End);

            _attendanceRepository.Clear();
            //初始化班表信息
            Applier.InitializeTimeBox(agentPair.Applier, dateA);
            Replier.InitializeTimeBox(agentPair.Replier, dateB);
            Applier.InitializeSwapingForSubEvent(new Pair <DateRange>(dateA, dateB), assignmentPair.Applier);
            Replier.InitializeSwapingForSubEvent(new Pair <DateRange>(dateB, dateA), assignmentPair.Replier);
            //验证
            ValidateTermGapHasMatched();
            //保存日志
            SaveLog();
            //删除班
            DeleteTerm();
            //交换班表
            SwapSpecificTermIsNeedSeat();
            //验证交换信息
            VaildateSwapMessage();
        }
        void UpdateBuild(bool release, bool dx)
        {
            DateTime last  = release ? view.LastStable : view.LastDev;
            Build    build = release ? stable : dev;

            if (last == DateTime.MinValue || build.DirectXSize < 50000 ||
                build.OpenGLSize < 50000)
            {
                return;
            }

            view.gameOpen = CheckClientInstances();
            view.SetWarning();
            LauncherWidget widget = widgets[view.statusIndex];

            game.ClearArea(widget.X, widget.Y, widget.Width, widget.Height);
            RedrawWidget(widgets[view.statusIndex]);
            if (view.gameOpen)
            {
                return;
            }

            string path = dx ? build.DirectXPath : build.OpenGLPath;

            Utils.LogDebug("Updating to: " + path);
            Applier.PatchTime = build.TimeBuilt;
            Applier.FetchUpdate(path);
            game.ShouldExit   = true;
            game.ShouldUpdate = true;
        }
        public ActionResult _Login(string email, string password)
        {
            //sende password ned med Hashing!!!
            Applier applier = client.Login(email, password);

            Session["applier"] = applier;
            return(RedirectToAction("Index"));
        }
Beispiel #30
0
        public void CanComposeFunction()
        {
            Device   device = new Device(testContext);
            string   code   = @"function (I) -> (O) {
                                O = I * I;
                            }";
            Function f      = new Function(testContext, code);

            Assert.True(f.IsAllocated);
            DeviceTensor i = new DeviceTensor(device, new Compiler.PlaidML.Shape(testContext, PlaidmlDatatype.PLAIDML_DATA_INT32, 6),
                                              "I");
            DeviceTensor o = new DeviceTensor(device, new Compiler.PlaidML.Shape(testContext, PlaidmlDatatype.PLAIDML_DATA_INT32, 6),
                                              "O");

            Int32[] input_data = { 0, 1, 3, 4, 5, 6 };
            i.CreateView <Int32>(MemoryMapType.Discard).CopyFromAndFree(input_data);
            var v = i.CreateView <Int32>(MemoryMapType.Retain);

            Assert.Equal(3, v[2]);
            Invoker <int> inv1 = new Invoker <int>(testContext, f, o, i);

            Assert.True(inv1.IsAllocated);
            Invocation <int> k = inv1.Invoke();

            Assert.True(k.IsAllocated);
            DeviceTensorView <Int32> R = o.CreateView <Int32>(MemoryMapType.Retain);

            Assert.Equal(6, R.ElementCount);
            Assert.Equal(9, R[2]);


            DeviceTensor co = new DeviceTensor(device, new Compiler.PlaidML.Shape(testContext, PlaidmlDatatype.PLAIDML_DATA_INT32, 6),
                                               "O");
            Composer c = new Composer(testContext);
            Applier  a = new Applier(testContext, f);

            a.AddInputValue(i);
            var fo = a.AddOutputValue("O");

            Assert.True(fo.IsAllocated);
            Assert.True(c.AddInputPlaceholder("I", i.DimensionCount));
            Assert.True(c.AddOutputValue(co));
            Assert.True(c.AddDependency(a));
            Assert.True(c.AddUpdate(co, fo));
            Function gf = c.BuildFunction();

            Assert.True(gf.IsAllocated);
            Invoker <int> gi = new Invoker <int>(testContext, gf, co, i);

            Assert.True(gi.IsAllocated);

            Invocation <int> inv = gi.Invoke();

            Assert.True(inv.IsAllocated);
            R = co.CreateView <Int32>(MemoryMapType.Retain);
            Assert.Equal(6, R.ElementCount);
            Assert.Equal(9, R[2]);
        }
        public ActionResult _CurrentUser()
        {
            Applier applier = new Applier();

            //Mangler fagterm.
            applier = Session["applier"] as Applier;

            return(PartialView(applier));
        }
Beispiel #32
0
 public FunctionInfo(String name, MethodInfo methodInfo, Applier applier, Signature signature, bool isSerious)
 {
     this.name            = name.ToUpper();
     this.methodInfo      = methodInfo;
     this.applier         = applier;
     this.signature       = signature;
     functions[this.name] = this;             // For Funsheet
     this.isSerious       = isSerious;
 }
 public void PurifyInfluenceKind(Architecture architecture, Influence i, Applier applier, int applierID)
 {
     PurifyInfluenceKind(architecture);
     foreach (Person p in architecture.Persons)
     {
         i.appliedPerson.RemoveWhere((p2) => { return(p2.Equals(new ApplyingPerson(p, applier, applierID))); });
         PurifyInfluenceKind(p, i, applier, applierID);
     }
 }
Beispiel #34
0
 public void PurifyInfluenceKind(Troop troop, Influence i, Applier applier, int applierID)
 {
     if (this.Type == InfluenceType.战斗 || this.Type == InfluenceType.建筑战斗)
     {
         if (i.appliedTroop.Remove(new ApplyingTroop(troop, applier, applierID)))
         {
             PurifyInfluenceKind(troop);
         }
     }
 }
Beispiel #35
0
        protected Dictionary <Guid, Dictionary <string, bool> > SetValidates()
        {
            var results = new Dictionary <Guid, Dictionary <string, bool> >
            {
                { Applier.TimeBox.Id, Applier.SetValidate() },
                { Replier.TimeBox.Id, Replier.SetValidate() }
            };

            return(results);
        }
Beispiel #36
0
 public void SaveLogs()
 {
     foreach (var assignment in Applier.CurrentTerms)
     {
         Applier.SaveLog(assignment);
     }
     foreach (var assignment in Replier.CurrentTerms)
     {
         Replier.SaveLog(assignment);
     }
 }
Beispiel #37
0
 public void ApplyInfluence(Faction faction, Applier applier, int applierID)
 {
     ApplyingFaction a = new ApplyingFaction(faction, applier, applierID);
     if (appliedFaction.Contains(a)) return;
     appliedFaction.Add(a);
     this.Kind.InitializeParameter(this.Parameter);
     this.Kind.InitializeParameter2(this.Parameter2);
     try
     {
         this.Kind.ApplyInfluenceKind(faction, this, applier, applierID);
     }
     catch
     {
     }
 }
Beispiel #38
0
 public void ApplyInfluence(Architecture architecture, Applier applier, int applierID)
 {
     ApplyingArchitecture a = new ApplyingArchitecture(architecture, applier, applierID);
     if (appliedArch.Contains(a)) return;
     appliedArch.Add(a);
     this.Kind.InitializeParameter(this.Parameter);
     this.Kind.InitializeParameter2(this.Parameter2);
     try
     {
         this.Kind.ApplyInfluenceKind(architecture, this, applier, applierID);
     }
     catch
     {
     }
 }
Beispiel #39
0
 public void ApplyInfluence(Troop troop, Applier applier, int applierID)
 {
     ApplyingTroop a = new ApplyingTroop(troop, applier, applierID);
     if (appliedTroop.Contains(a) && (this.ID < 390 || this.ID > 399 && (this.ID != 720 && this.ID != 721))) return;
     appliedTroop.Add(a);
     troop.InfluencesApplying.Add(this);
     this.Kind.InitializeParameter(this.Parameter);
     this.Kind.InitializeParameter2(this.Parameter2);
     try
     {
         this.Kind.ApplyInfluenceKind(troop, this, applier, applierID);
     }
     catch
     {
     }
 }
Beispiel #40
0
 public void ApplyInfluence(Person person, Applier applier, int applierID, bool excludePersonal)
 {
     ApplyingPerson a = new ApplyingPerson(person, applier, applierID);
     if (appliedPerson.Contains(a) && 
         (person.LocationTroop == null || appliedTroop.Contains(new ApplyingTroop(person.LocationTroop, applier, applierID)) 
             || this.Type != InfluenceType.战斗)) return;
     appliedPerson.Add(a);
     this.Kind.InitializeParameter(this.Parameter);
     this.Kind.InitializeParameter2(this.Parameter2);
     try
     {
         this.Kind.ApplyInfluenceKind(person, this, applier, applierID, excludePersonal);
     }
     catch
     {
     }
 }
 public void ApplyInfluenceKind(Faction faction, Influence i, Applier applier, int applierID)
 {
     if (this.Type == InfluenceType.势力)
     {
         ApplyInfluenceKind(faction);
     }
     if (this.Type == InfluenceType.建筑 || this.Type == InfluenceType.建筑战斗)
     {
         foreach (Architecture a in faction.Architectures)
         {
             ApplyingArchitecture z = new ApplyingArchitecture(a, applier, applierID);
             if (!i.appliedArch.Contains(z))
             {
                 i.appliedArch.Add(z);
                 ApplyInfluenceKind(a, i, applier, applierID);
             }
         }
     }
     if (this.Type == InfluenceType.战斗 || this.Type == InfluenceType.建筑战斗)
     {
         foreach (Troop t in faction.Troops)
         {
             ApplyingTroop a = new ApplyingTroop(t, applier, applierID);
             if (!i.appliedTroop.Contains(a))
             {
                 i.appliedTroop.Add(a);
                 t.InfluencesApplying.Add(i);
                 ApplyInfluenceKind(t, i, applier, applierID);
             }
         }
     }
     if (this.Type == InfluenceType.个人)
     {
         foreach (Person p in faction.Persons)
         {
             ApplyingPerson a = new ApplyingPerson(p, applier, applierID);
             if (!i.appliedPerson.Contains(a))
             {
                 i.appliedPerson.Add(a);
                 ApplyInfluenceKind(p, i, applier, applierID, false);
             }
         }
     }
 }
Beispiel #42
0
 public void PurifyInfluence(Person person, Applier applier, int applierID, bool excludePersonal)
 {
     ApplyingPerson a = new ApplyingPerson(person, applier, applierID);
     if (!appliedPerson.Contains(a)) return;
     appliedPerson.Remove(a);
     this.Kind.InitializeParameter(this.Parameter);
     this.Kind.InitializeParameter2(this.Parameter2);
     try
     {
         this.Kind.PurifyInfluenceKind(person, this, applier, applierID, excludePersonal);
     }
     catch
     {
     }
 }
 public ApplyingArchitecture(Architecture a, Applier p, int i)
 {
     this.arch = a;
     this.applier = p;
     this.applierID = i;
 }
 public void PurifyInfluenceKind(Troop troop, Influence i, Applier applier, int applierID)
 {
     if (this.Type == InfluenceType.战斗 || this.Type == InfluenceType.建筑战斗)
     {
         PurifyInfluenceKind(troop);
     }
 }
 public void PurifyInfluenceKind(Person person, Influence i, Applier applier, int applierID, bool excludePersonal)
 {
     if (this.Type == InfluenceType.个人 && !excludePersonal)
     {
         PurifyInfluenceKind(person);
     }
     if (this.Type == InfluenceType.战斗 || this.Type == InfluenceType.建筑战斗)
     {
         ApplyingTroop t = new ApplyingTroop(person.LocationTroop, applier, applierID);
         if (person.LocationTroop != null && i.appliedTroop.Contains(t))
         {
             i.appliedTroop.Remove(t);
             PurifyInfluenceKind(person.LocationTroop, i, applier, applierID);
         }
     }
     if (this.Type == InfluenceType.建筑 || this.Type == InfluenceType.建筑战斗)
     {
         ApplyingArchitecture t = new ApplyingArchitecture(person.LocationArchitecture, applier, applierID);
         if (person.LocationTroop != null && i.appliedArch.Contains(t))
         {
             i.appliedArch.Remove(t);
             PurifyInfluenceKind(person.LocationArchitecture, i, applier, applierID);
         }
     }
 }
Beispiel #46
0
 public void PurifyInfluence(Person person, Applier applier, int applierID)
 {
     ApplyingPerson a = new ApplyingPerson(person, applier, applierID);
     if (!appliedPerson.Contains(a)) return;
     appliedPerson.RemoveWhere((x) => { return x.Equals(a); });
     this.Kind.InitializeParameter(this.Parameter);
     this.Kind.InitializeParameter2(this.Parameter2);
     try
     {
         this.Kind.PurifyInfluenceKind(person, this, applier, applierID);
     }
     catch
     {
     }
 }
Beispiel #47
0
 public void PurifyInfluence(Troop troop, Applier applier, int applierID)
 {
     ApplyingTroop a = new ApplyingTroop(troop, applier, applierID);
     if (!appliedTroop.Contains(a)) return;
     appliedTroop.RemoveWhere((x) => { return x.Equals(a) || x.troop.Destroyed; });
     this.Kind.InitializeParameter(this.Parameter);
     this.Kind.InitializeParameter2(this.Parameter2);
     try
     {
         this.Kind.PurifyInfluenceKind(troop, this, applier, applierID);
     }
     catch
     {
     }
 }
Beispiel #48
0
		public CGComparison(CGExpr[] es, Applier applier) : base(es, applier) { }
Beispiel #49
0
 private Function(String name, int fixity, Applier applier)
     : this(name, applier, fixity: fixity)
 {
 }
 public void ApplyInfluenceKind(Person person, Influence i, Applier applier, int applierID, bool excludePersonal)
 {
     if (this.Type == InfluenceType.个人 && !excludePersonal)
     {
         ApplyInfluenceKind(person);
     }
     if (this.Type == InfluenceType.战斗 || this.Type == InfluenceType.建筑战斗)
     {
         if (person.LocationTroop != null)
         {
             ApplyingTroop z = new ApplyingTroop(person.LocationTroop, applier, applierID);
             if (!i.appliedTroop.Contains(z))
             {
                 i.appliedTroop.Add(z);
                 person.LocationTroop.InfluencesApplying.Add(i);
                 ApplyInfluenceKind(person.LocationTroop, i, applier, applierID);
             }
         }
     }
     if (this.Type == InfluenceType.建筑 || this.Type == InfluenceType.建筑战斗)
     {
         if (person.LocationArchitecture != null)
         {
             ApplyingArchitecture z = new ApplyingArchitecture(person.LocationArchitecture, applier, applierID);
             if (!i.appliedArch.Contains(z))
             {
                 i.appliedArch.Add(z);
                 ApplyInfluenceKind(person.LocationArchitecture, i, applier, applierID);
             }
         }
     }
 }
 public void PurifyInfluenceKind(Faction faction, Influence i, Applier applier, int applierID)
 {
     if (this.Type == InfluenceType.势力)
     {
         PurifyInfluenceKind(faction);
         foreach (Architecture a in faction.Architectures)
         {
             i.appliedArch.Remove(new ApplyingArchitecture(a, applier, applierID));
             PurifyInfluenceKind(a, i, applier, applierID);
         }
         foreach (Troop t in faction.Troops)
         {
             PurifyInfluenceKind(t, i, applier, applierID);
         }
     }
 }
Beispiel #52
0
		public CGArithmetic1(CGExpr[] es, Applier applier) : base(es, applier) { }
 public ApplyingTroop(Troop a, Applier p, int i)
 {
     this.troop = a;
     this.applier = p;
     this.applierID = i;
 }
 public void PurifyInfluenceKind(Person person, Influence i, Applier applier, int applierID)
 {
     if (this.Type == InfluenceType.个人)
     {
         PurifyInfluenceKind(person);
     }
     if (this.Type == InfluenceType.战斗 || this.Type == InfluenceType.建筑战斗)
     {
         ApplyingTroop t = new ApplyingTroop(person.LocationTroop, applier, applierID);
         if (person.LocationTroop != null && i.appliedTroop.Contains(t))
         {
             i.appliedTroop.RemoveWhere((a2) => { return t.Equals(a2); });
             PurifyInfluenceKind(person.LocationTroop, i, applier, applierID);
         }
     }
     if (this.Type == InfluenceType.建筑 || this.Type == InfluenceType.建筑战斗)
     {
         ApplyingArchitecture t = new ApplyingArchitecture(person.LocationArchitecture, applier, applierID);
         if (person.LocationTroop != null && i.appliedArch.Contains(t))
         {
             i.appliedArch.RemoveWhere((a2) => { return t.Equals(a2); });
             PurifyInfluenceKind(person.LocationArchitecture, i, applier, applierID);
         }
     }
 }
 public void PurifyInfluence(Person p, Applier applier, int applierID)
 {
     foreach (Influence influence in this.Influences.Values)
     {
         influence.PurifyInfluence(p, applier, applierID);
     }
 }
Beispiel #56
0
 // Used by the SDF machinery to update a placeholder function
 public void UpdateApplier(Applier applier, bool isVolatile)
 {
     Debug.Assert(IsPlaceHolder);
       this.Applier = applier;
       this.IsPlaceHolder = false;
       this.isVolatile = isVolatile;
 }
Beispiel #57
0
		public CGStrictOperation(CGExpr[] es, Applier applier)
			: base(es) {
			this.applier = applier;
		}
Beispiel #58
0
   internal Function(String name, Applier applier, int fixity = 0,
 bool placeHolder = false, bool isVolatile = false)
   {
       this.name = name;
         this.Applier = applier;
         this.fixity = fixity;
         this.IsPlaceHolder = placeHolder;
         this.isVolatile = isVolatile;
         table[name] = this;  // For Funsheet
   }
 public void PurifyInfluenceKind(Architecture architecture, Influence i, Applier applier, int applierID)
 {
     if (this.Type == InfluenceType.建筑 || this.Type == InfluenceType.建筑战斗)
     {
         PurifyInfluenceKind(architecture);
     }
     else if (this.Type == InfluenceType.个人)
     {
         foreach (Person p in architecture.Persons)
         {
             i.appliedPerson.Remove(new ApplyingPerson(p, applier, applierID));
             PurifyInfluenceKind(p, i, applier, applierID, false);
         }
     }
 }
Beispiel #60
0
 public void PurifyInfluence(Architecture architecture, Applier applier, int applierID)
 {
     ApplyingArchitecture a = new ApplyingArchitecture(architecture, applier, applierID);
     if (!appliedArch.Contains(a)) return;
     appliedArch.RemoveWhere((x) => { return x.Equals(a); });
     this.Kind.InitializeParameter(this.Parameter);
     this.Kind.InitializeParameter2(this.Parameter2);
     try
     {
         this.Kind.PurifyInfluenceKind(architecture, this, applier, applierID);
     }
     catch
     {
     }
 }