public void PreserveViewModels([NotNull] IDataContext context) { Should.NotBeNull(context, "context"); context.Remove(ViewModelState); if (ItemsSource.Count == 0) { return; } var states = new StateList { State = new List <IDataContext>() }; for (int index = 0; index < ItemsSource.Count; index++) { var viewModel = ItemsSource[index]; states.State.Add(ViewModelProvider.PreserveViewModel(viewModel, DataContext.Empty)); if (ReferenceEquals(viewModel, SelectedItem)) { context.AddOrUpdate(SelectedIndex, index); } } if (states.State.Count != 0) { context.AddOrUpdate(ViewModelState, states); } }
public CommandViewModel() { this.StateList = new ObservableCollection <StateViewModel>(); CurrentStateNum = 0; DeleteStateCommand = new RelayCommand <StateViewModel>((state) => { StateList.Remove(state); }); AddSuccessStateCommand = new RelayCommand(() => { var vm = new SuccessStateViewModel(); vm.Name = "State" + GetStateMaxNum(); this.StateList.Add(vm); }); AddScriptStateCommand = new RelayCommand(() => { var vm = new ScriptStateViewModel(); vm.Name = "State" + GetStateMaxNum(); this.StateList.Add(vm); }); AddProtocolStateCommand = new RelayCommand(() => { var vm = new ProtocolStateViewModel(); vm.Name = "State" + GetStateMaxNum(); this.StateList.Add(vm); }); UniqueId = Guid.NewGuid().ToString(); }
private void GetCurrentRess() { Ress = new StateList <Res>(); if (_excellent == null) { _excellent = new Excellent(); _excellent.DateCreated = DateTime.Now.AddHours(-TrainSettings.Instance.Timezone); } foreach (Res item in _excellent.Ress) { Ress.Add(item); } //foreach (Res titem in _excellent.TempAddRess.Keys) //{ // if (_excellent.TempAddRess[titem] == "add") // { // Ress.Add(titem); // } // else // { // Ress.Remove(titem); // } //} //Ress = _excellent.Ress; }
/** * Initialize combo box values */ private void MainForm_Load(object sender, EventArgs e) { try { _presenter = new OrganizationSearchPresenter(this); pdgvResults.PagedDataProvider = _presenter; OrganizationTypeList orgTypes = _presenter.GetOrganizationTypes().Result; cmbOrgType.Items.Add("All Organization Types"); foreach (OrganizationType orgType in orgTypes.OrganizationTypes) { cmbOrgType.Items.Add(orgType); } cmbOrgType.SelectedIndex = 0; StateList states = _presenter.GetStates().Result; cmbState.Items.Add("All States"); foreach (State state in states.States) { cmbState.Items.Add(state); } cmbState.SelectedIndex = 0; } catch (AggregateException aex) { HandleAggregateException(aex); } catch (Exception ex) { HandleGeneralException(ex); } }
public List<string> LoadContactStatesFromString(StateList contactStates, string dataString) { List<string> errorMsg = new List<string>(); char[] separator = new char[] { ' ', '\n', '\r', '\t' }; string[] strArray = dataString.Split(separator, StringSplitOptions.RemoveEmptyEntries); this.ContactStates.Clear(); try { foreach (string str in strArray) { State gameObject = contactStates.GetGameObject(int.Parse(str)) as State; if (gameObject != null) { this.ContactStates.Add(gameObject); } else { errorMsg.Add("州域ID" + str + "不存在"); } } } catch { errorMsg.Add("连接州域一栏应为半型空格分隔的州域ID"); } return errorMsg; }
/// <summary> /// Initialize a new quality table which contains all game stats. /// </summary> public QualityTable() { this.Epsilon = 0.2; this.Alpha = 0.1; this.Gamma = 0.1; this.StateList = new List <State>(); //fill state list for hard hands for (int playerValue = 4; playerValue <= 22; playerValue++) { for (int dealerValue = 2; dealerValue <= 22; dealerValue++) { StateList.Add(new State(playerValue, dealerValue, false)); } } //fill state list for soft hands for (int playerValue = 12; playerValue <= 22; playerValue++) { for (int dealerValue = 2; dealerValue <= 22; dealerValue++) { StateList.Add(new State(playerValue, dealerValue, true)); } } }
public SummaryFilterInfo() { var stateList = new StateList(); States = new List <State>(); StateSelection = stateList.GetAllStates(); }
public void LoadData() { DeptList = SharedPreference.Instance.DeptList; RankList = SharedPreference.Instance.RankList; StaffName = SharedPreference.Instance.SelectedStaff.STAFF_NAME; StaffAddress = SharedPreference.Instance.SelectedStaff.STAFF_ADDRESS; StaffTel = SharedPreference.Instance.SelectedStaff.STAFF_TEL; StaffJoinDayStr = SharedPreference.Instance.SelectedStaff.STAFF_JOIN_DAY; StaffJoinDay = DateTime.ParseExact(StaffJoinDayStr, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); if ((SharedPreference.Instance.SelectedStaff.STAFF_RETIREMENT_DAY != "" || SharedPreference.Instance.SelectedStaff.STAFF_RETIREMENT_DAY.Length != 0) && SharedPreference.Instance.SelectedStaff.STAFF_RETIREMENT_DAY != null) { StaffRetirementDayStr = SharedPreference.Instance.SelectedStaff.STAFF_RETIREMENT_DAY; StaffRetirementDay = DateTime.ParseExact(StaffRetirementDayStr, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); } StaffState = SharedPreference.Instance.SelectedStaff.STAFF_STATE; var deptList = SharedPreference.Instance.DeptList.Where(p => p.DEPT_CODE == SharedPreference.Instance.SelectedStaff.STAFF_DEPT).FirstOrDefault(); SelectedDeptIndex = SharedPreference.Instance.DeptList.IndexOf(deptList); var rankList = SharedPreference.Instance.RankList.Where(p => p.RANK_CODE == SharedPreference.Instance.SelectedStaff.STAFF_RANK).FirstOrDefault(); SelectedRankIndex = SharedPreference.Instance.RankList.IndexOf(rankList); var stateList = StateList.Where(p => p == SharedPreference.Instance.SelectedStaff.STAFF_STATE).FirstOrDefault(); StateIndex = StateList.IndexOf(stateList); }
/// <summary> /// Adds the new state. /// </summary> /// <param name="stateName">Name of the state.</param> /// <param name="stateIdentifier">The state identifier.</param> /// <returns></returns> public virtual IStateMachineStateBuilder AddNewState(string stateName, object stateIdentifier) { var newState = new StateMachineState(this, stateName, stateIdentifier); StateList.Add(newState); return(newState); }
public override StateList Simulate(StateList world, StateList goal) { StateList simulated = (StateList)world.Clone(); simulated.SetState("IsPatrolling", 1.0f); return(simulated); }
protected void StateBind() { List <WMGoodState> list = WMGoodState.GetList(); StateList.DataSource = list; StateList.DataBind(); }
public CombatGameState(FusionGame game) : base(game) { InitializeComponent(); _gameState = StateList.Countdown; _wave = 1; _playerLives = 3; _countdownTimer = 5000; var graphics = (GraphicsDeviceManager) game.Services.GetService(typeof (IGraphicsDeviceManager)); _playerShip = new PlayerShip(game.Services); _playerShip.Initialize(); _playerShip.X = graphics.GraphicsDevice.Viewport.TitleSafeArea.Width/2.0F; _playerShip.Y = graphics.GraphicsDevice.Viewport.TitleSafeArea.Height - 200; Components.Add(_playerShip); var input = (InputManager) game.Services.GetService(typeof (IInputService)); input.GetKeyboard().KeyPressed += KeyPressed; input.GetKeyboard().KeyReleased += KeyReleased; _combatPlayerDialog.SetPlayerLives(_playerLives); }
/// <summary> /// Transition to a new state /// </summary> /// <param name="transition"></param> protected virtual void ExecuteTransition(Transition transition) { // Default checking, if this is a valid transition. if (CurrentState.StateName != transition.SourceStateName) { var message = string.Format( "Transition has wrong source state {0}, when system is in {1}", transition.SourceStateName, CurrentState.StateName); RaiseStateMachineSystemEvent( "State machine: Default guard execute transition.", message); return; } if (StateList.ContainsKey(transition.TargetStateName) == false) { var message = string.Format( "Transition has wrong target state {0}, when system is in {1}. State not in global state list", transition.SourceStateName, CurrentState.StateName); RaiseStateMachineSystemEvent( "State machine: Default guard execute transition.", message); return; } // Run all exit actions of the old state CurrentState.ExitActions.ForEach(a => a.Execute()); // Run all guards of the transition transition.GuardList.ForEach(g => g.Execute()); string info = transition.GuardList.Count + " guard actions executed!"; RaiseStateMachineSystemEvent( "State machine: ExecuteTransition", info); // Run all actions of the transition transition.TransitionActionList.ForEach(a => a.Execute()); ////////////////// // Stage change ////////////////// info = transition.TransitionActionList.Count + " transition actions executed!"; RaiseStateMachineSystemEvent( "State machine: Begin state change!", info); // First resolve the target state with the help of its name var targetState = GetStateFromStateList(transition.TargetStateName); // Transition successful - Change state PreviousState = CurrentState; CurrentState = targetState; // Run all entry actions of new state CurrentState.EntryActions.ForEach(a => a.Execute()); RaiseStateMachineSystemEvent( "State machine: State change completed successfully!", $"Previous state: {PreviousState.StateName} - New state = {CurrentState.StateName}"); }
public EmployeeInfoViewModel(EmployeeInformationEdit employeeInfo) { Employee = employeeInfo; IsEditing = false; States = StateList.GetStateList(); }
///-------------------------------------------------------------------------------- /// <summary>This method disposes of resources in the model.</summary> ///-------------------------------------------------------------------------------- protected override void OnDispose() { if (ReverseInstance != null) { ReverseInstance.Dispose(); ReverseInstance = null; } if (ForwardInstance != null) { ForwardInstance.Dispose(); ForwardInstance = null; } Entity = null; Solution = null; if (_stateList != null) { foreach (State item in StateList) { item.Dispose(); } StateList.Clear(); StateList = null; } #region protected #endregion protected base.OnDispose(); }
public EventHandler(IForm form, Image image) { figureManager = new VectorEditorCore.FigureManager(form, image); stateContainer = new StateContainer(); stateList = new StateList(stateContainer, figureManager); command = new Command(stateList, stateContainer, figureManager); }
public List <string> LoadStatesFromString(StateList states, string dataString) { List <string> errorMsg = new List <string>(); char[] separator = new char[] { ' ', '\n', '\r', '\t' }; string[] strArray = dataString.Split(separator, StringSplitOptions.RemoveEmptyEntries); this.States.Clear(); try { foreach (string str in strArray) { State gameObject = states.GetGameObject(int.Parse(str)) as State; if (gameObject != null) { this.States.Add(gameObject); gameObject.LinkedRegion = this; } else { errorMsg.Add("州域ID" + str + "不存在"); } } } catch { errorMsg.Add("州域一栏应为半型空格分隔的州域ID"); } return(errorMsg); }
public override IEnumerable DoAction(StateList world, StateList goal, GameObject actor) { // Find the nearest patrol point int nextPatrolIdx = 0; float closestPatrolDistance = Mathf.Infinity; for (int i = 0; i < PatrolPositions.Length; ++i) { float sqDist = Vector3.Distance(actor.transform.position, PatrolPositions[i]); if (sqDist < closestPatrolDistance) { closestPatrolDistance = sqDist; nextPatrolIdx = i; } } while (goal.GetState("IsPatrolling") != 0.0f) { // Walk to the next patrol point in order Vector3 position = PatrolPositions[nextPatrolIdx]; actor.GetComponent <NavMeshAgent>().SetDestination(position); yield return(new WaitUntil(() => goal.GetState("IsPatrolling") != 0.0f || actor.GetComponent <NavMeshAgent>().remainingDistance < 1.0f)); } yield return(null); }
/// <summary> /// コンストラクタ /// 使用するステートクラスをここで先に生成しておき、最初のステートを設定する /// (unityで複数のオブジェクトにアタッチされることを考慮して、シングルトンを使用せずに実装) /// </summary> public Character() { StateList.Add(new leftState()); StateList.Add(new rightState()); ChangeState(StateList[(int)EState.EState_leftState]); }
/// <summary> /// MExchangeテーブルの設定内容で初期化する /// </summary> public void InitializeExchange() { // 初期化 // 資産情報 CollateralList = InitializeDictionary(CollateralList); // 注文情報 ParentOrderList = InitializeDictionary(ParentOrderList); ChildOrderList = InitializeDictionary(ChildOrderList); // 建玉情報 PositionList = InitializeDictionary(PositionList); // 取引所状態情報 StateList = InitializeDictionary(StateList); // テクニカル管理 TechnicalList = InitializeDictionary(TechnicalList); // クライアント Client = InitializeDictionary(Client); // パラメータ読み込み using (var db = new MExchangeDbContext(DbContextOptions)) { // データを取得 var mExchange = db.MExchange; foreach (var item in mExchange) { if (item.Enabled == Enabled) { // 資産情報 CollateralList.Add(item.Id, new Collateral(new RawCollateral())); // 注文情報 ParentOrderList.Add(item.Id, new List <Order>()); ChildOrderList.Add(item.Id, new List <Order>()); // 建玉情報 PositionList.Add(item.Id, new List <Position>()); // 取引所状態情報 StateList.Add(item.Id, new RawBoardState()); // テクニカル管理生成 Dictionary <int, PubnubManager> pubnub = null; if (PubnubList.ContainsKey(item.Id)) { pubnub = PubnubList[item.Id]; } TechnicalList.Add(item.Id, new TechnicalManager(item.Id, pubnub, TimeScaleList, DbContextOptions, TechnicalList)); // 通信用クライアント生成 Client.Add(item.Id, new BitflyerClient(item.Id, DbContextOptions)); } } } }
// Use this for initialization void Start() { if (instance != this) { Destroy(instance); } instance = this; }
public StateChange(StateListItem fromS, StateListItem toS, StateList li, bool a) { if (fromS.name == "" || toS.name == "") throw new Exception("cannot change to empty states"); fromState = fromS; toState = toS; list = li; allowed = a; }
public HumanStateMachine(AbsEntity entity) : base(entity) { StateList.Add(new IdleState(this)); StateList.Add(new MoveState(this)); StateList.Add(new SkillState(this)); StateList.Add(new SpecialState(this)); StateList.Add(new DeadState(this)); }
private void InitStateMachine() { PreviouState = _initialState; var state = StateList.FirstOrDefault(t => t.Value.IsDefaultState); CurrenState = state.Value; RaiseStateMachineSystemCommand("OnInit", "StateMachineInitialized"); }
public void ReplaceAt(UInt32 tag, WireType wireType, IReader reader, bool shouldNotify) { switch (tag) { case 0: this.LogEntries = this.MaybeNotify(0, StateList <Byte> .Deserialize(reader, this.Path.GetNested(0)), this.LogEntries, OnLogEntriesUpdate, shouldNotify); break; default: reader.SkipField(wireType); break; } }
public void ReplaceAt(UInt16 tag, WireType wireType, Reader reader, bool shouldNotify) { switch (tag) { case 0: this.LogEntries = this.Notify(StateList <Byte> .Deserialize(reader.Nested(), this.Path.Nested(0)), this.LogEntries, shouldNotify, logEntriesListeners); break; default: reader.SkipWireTyped(wireType); break; } }
public override void SetUpImages() { //StateList.Add(0,StaticSpriteCache.sprites[17]); //StateList.Add(1,StaticSpriteCache.sprites[19]); //StateList.Add(2,StaticSpriteCache.sprites[18]); StateList.Add(0, StaticSpriteCache.sprites[75]); StateList.Add(1, StaticSpriteCache.sprites[77]); StateList.Add(2, StaticSpriteCache.sprites[79]); }
// Use this for initialization void Start() { //Утсановка параметров для актера acterManager = GetComponent <ActerManager>(); raycastManager = GetComponent <RaycastManager>(); acterManager.SetSpeed = speed; state = StateList.inactivity; StartCoroutine(StateRandom()); }
public void ReplaceAt(UInt16 tag, WireType wireType, Reader reader, bool shouldNotify) { switch (tag) { case 0: this.Numbers = this.Notify(StateList <Int32> .Deserialize(reader.Nested(), this.Path.Nested(0)), this.Numbers, shouldNotify, numbersListeners); break; case 1: this.Others = this.Notify(FixedList <Int32> .Deserialize(reader.Nested(), this.Path.Nested(1)), this.Others, shouldNotify, othersListeners); break; default: reader.SkipWireTyped(wireType); break; } }
public ActionResult GetStateList(StateList model) { try { return(Json((new StateModel()).GetStateList(model), JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { error = ex.Message }, JsonRequestBehavior.AllowGet)); } }
public ActionResult BuildPaganationStateList(StateList model) { try { return(Json(new { NOP = (new StateModel()).BuildPaganationStateList(model) }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { error = ex.Message }, JsonRequestBehavior.AllowGet)); } }
public int FindStateIndex(int att, int phase) { for (int i = 0; i < StateList.Count(); i++) { if (StateList[i].Att == att && StateList[i].Phase == phase) { return(i); } } return(-1); }
public void ReplaceAt(UInt32 tag, WireType wireType, IReader reader, bool shouldNotify) { switch (tag) { case 0: this.Numbers = this.MaybeNotify(0, StateList <Int32> .Deserialize(reader, this.Path.GetNested(0)), this.Numbers, OnNumbersUpdate, shouldNotify); break; case 1: this.Others = this.MaybeNotify(1, Vector <Int32> .Deserialize(reader, this.Path.GetNested(1)), this.Others, OnOthersUpdate, shouldNotify); break; default: reader.SkipField(wireType); break; } }
// Update is called once per frame void OnTriggerEnter(Collider _oth) { if (_oth.CompareTag("Player") == true && State != StateList.Picked) { State = StateList.Picked; Player pl = _oth.GetComponent<Player>(); pl.lootStack(stackValue); pl._levMan.tools.lootStack(stackValue); pl._levMan.tools.checkLevelCompletion(); pl.triggerNotification(stackValue * 1); Fade(); } }
public void LoadStatesFromString(StateList states, string dataString) { char[] separator = new char[] { ' ', '\n', '\r' }; string[] strArray = dataString.Split(separator, StringSplitOptions.RemoveEmptyEntries); this.States.Clear(); foreach (string str in strArray) { State gameObject = states.GetGameObject(int.Parse(str)) as State; if (gameObject != null) { this.States.Add(gameObject); gameObject.LinkedRegion = this; } } }
public void checkFloor() { if (currFloor != null) { if (currFloor.objOnFloor.Contains(_plr.gameObject)) { State = StateList.Chasing; target = _levman.plr.transform.position; } else { State = StateList.Patrolling; target = Vector3.zero; } } }
internal static StateList[][] ReturnRectangularStateListArray(int Size1, int Size2) { StateList[][] Array; if (Size1 > -1) { Array = new StateList[Size1][]; if (Size2 > -1) { for (int Array1 = 0; Array1 < Size1; Array1++) { Array[Array1] = new StateList[Size2]; } } } else Array = null; return Array; }
public StateListItem (string n, StateList l) { name = n; list = l; }
private void Respawn() { if (this != null) { State = StateList.Unpicked; GetComponent<BoxCollider>().enabled = true; spr.alpha = 1f; spr.speed = 1f; spr.looping = true; spr.Play("static"); } }
void setRun() { stopTimer = 0; State = StateList.Running; maxSpeed = 4f; Anims.Play("run"); Parts.Play(); }
void setStop() { stopTimer = 0; State = StateList.Stopped; maxSpeed = 0f; Anims.Play("idle"); Parts.Stop(); Recovering = true; }
public State(string name, string itemName) { list = StateList.GetList (name); myState = list.Item (itemName); }
public State(string name) { list = StateList.GetList (name); myState = list.First (); }
void setWalk() { stopTimer = 0; State = StateList.Walking; maxSpeed = 2f; Anims.Play("walk"); Parts.Play(); }
private void GameOver() { State = StateList.CutScene; CancelInvoke("randomSpawn"); }
internal StateListNode(State q, StateList sl) { this.q = q; this.Sl = sl; if (sl.Size++ == 0) { sl.First = sl.Last = this; } else { sl.Last.Next = this; Prev = sl.Last; sl.Last = this; } }
/// <summary> /// Minimizes the given automaton using Hopcroft's algorithm. /// </summary> public static void MinimizeHopcroft(Automaton a) { a.Determinize(); if (a.Initial.numTransitions == 1) { Transition t = a.Initial.TransitionsArray[0]; if (t.To == a.Initial && t.Min_Renamed == Character.MIN_CODE_POINT && t.Max_Renamed == Character.MAX_CODE_POINT) { return; } } a.Totalize(); // initialize data structures int[] sigma = a.StartPoints; State[] states = a.NumberedStates; int sigmaLen = sigma.Length, statesLen = states.Length; List<State>[,] reverse = new List<State>[statesLen, sigmaLen]; HashSet<State>[] partition = new HashSet<State>[statesLen]; List<State>[] splitblock = new List<State>[statesLen]; int[] block = new int[statesLen]; StateList[,] active = new StateList[statesLen, sigmaLen]; StateListNode[,] active2 = new StateListNode[statesLen, sigmaLen]; LinkedList<IntPair> pending = new LinkedList<IntPair>(); BitArray pending2 = new BitArray(sigmaLen * statesLen); BitArray split = new BitArray(statesLen), refine = new BitArray(statesLen), refine2 = new BitArray(statesLen); for (int q = 0; q < statesLen; q++) { splitblock[q] = new List<State>(); partition[q] = new HashSet<State>(); for (int x = 0; x < sigmaLen; x++) { active[q, x] = new StateList(); } } // find initial partition and reverse edges for (int q = 0; q < statesLen; q++) { State qq = states[q]; int j = qq.accept ? 0 : 1; partition[j].Add(qq); block[q] = j; for (int x = 0; x < sigmaLen; x++) { //List<State>[] r = reverse[qq.Step(sigma[x]).number]; var r = qq.Step(sigma[x]).number; if (reverse[r, x] == null) { reverse[r, x] = new List<State>(); } reverse[r, x].Add(qq); } } // initialize active sets for (int j = 0; j <= 1; j++) { for (int x = 0; x < sigmaLen; x++) { foreach (State qq in partition[j]) { if (reverse[qq.number, x] != null) { active2[qq.number, x] = active[j, x].Add(qq); } } } } // initialize pending for (int x = 0; x < sigmaLen; x++) { int j = (active[0, x].Size <= active[1, x].Size) ? 0 : 1; pending.AddLast(new IntPair(j, x)); pending2.Set(x * statesLen + j, true); } // process pending until fixed point int k = 2; while (pending.Count > 0) { IntPair ip = pending.First.Value; pending.RemoveFirst(); int p = ip.N1; int x = ip.N2; pending2.Set(x * statesLen + p, false); // find states that need to be split off their blocks for (StateListNode m = active[p, x].First; m != null; m = m.Next) { List<State> r = reverse[m.q.number, x]; if (r != null) { foreach (State s in r) { int i = s.number; if (!split.Get(i)) { split.Set(i, true); int j = block[i]; splitblock[j].Add(s); if (!refine2.Get(j)) { refine2.Set(j, true); refine.Set(j, true); } } } } } // refine blocks for (int j = Number.NextSetBit(refine, 0); j >= 0; j = Number.NextSetBit(refine, j + 1)) { List<State> sb = splitblock[j]; if (sb.Count < partition[j].Count) { HashSet<State> b1 = partition[j]; HashSet<State> b2 = partition[k]; foreach (State s in sb) { b1.Remove(s); b2.Add(s); block[s.number] = k; for (int c = 0; c < sigmaLen; c++) { StateListNode sn = active2[s.number, c]; if (sn != null && sn.Sl == active[j, c]) { sn.Remove(); active2[s.number, c] = active[k, c].Add(s); } } } // update pending for (int c = 0; c < sigmaLen; c++) { int aj = active[j, c].Size, ak = active[k, c].Size, ofs = c * statesLen; if (!pending2.Get(ofs + j) && 0 < aj && aj <= ak) { pending2.Set(ofs + j, true); pending.AddLast(new IntPair(j, c)); } else { pending2.Set(ofs + k, true); pending.AddLast(new IntPair(k, c)); } } k++; } refine2.Set(j, false); foreach (State s in sb) { split.Set(s.number, false); } sb.Clear(); } refine.SetAll(false); } // make a new state for each equivalence class, set initial state State[] newstates = new State[k]; for (int n = 0; n < newstates.Length; n++) { State s = new State(); newstates[n] = s; foreach (State q in partition[n]) { if (q == a.Initial) { a.Initial = s; } s.accept = q.accept; s.number = q.number; // select representative q.number = n; } } // build transitions and set acceptance for (int n = 0; n < newstates.Length; n++) { State s = newstates[n]; s.accept = states[s.number].accept; foreach (Transition t in states[s.number].Transitions) { s.AddTransition(new Transition(t.Min_Renamed, t.Max_Renamed, newstates[t.To.number])); } } a.ClearNumberedStates(); a.RemoveDeadTransitions(); }
private void GetCurrentRess() { Ress = new StateList<Res>(); if (_excellent == null) { _excellent = new Excellent(); _excellent.DateCreated = DateTime.Now.AddHours(-TrainSettings.Instance.Timezone); } foreach (Res item in _excellent.Ress) { Ress.Add(item); } //foreach (Res titem in _excellent.TempAddRess.Keys) //{ // if (_excellent.TempAddRess[titem] == "add") // { // Ress.Add(titem); // } // else // { // Ress.Remove(titem); // } //} //Ress = _excellent.Ress; }
private void SetSectionAIDetail_OLD() { Faction faction; int num2; int threat; GameObjectList sectionNoOrientationAutoAIDetailsByConditions; int num5; GameObjectList list5; if (this.SectionCount <= 1) { num5 = ((this.FirstSection.ArchitectureScale / 2) - (this.FirstSection.ArchitectureCount / 2)) + 1; if (this.ArmyScale < (num5 * 6)) { if (!this.Capital.IsOK()) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionAIDetailsByConditions(SectionOrientationKind.无, true, false, false, false, false); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { this.FirstSection.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; } } else { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionNoOrientationAutoAIDetailsByConditions(false, true); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { this.FirstSection.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; } } return; } if (this.ArmyScale < (num5 * 12)) { if (!this.Capital.IsOK()) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionAIDetailsByConditions(SectionOrientationKind.无, true, false, false, false, false); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { this.FirstSection.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; } } else { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionNoOrientationAutoAIDetailsByConditions(false, true); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { this.FirstSection.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; } } return; } if (this.ArmyScale < (num5 * 20)) { if (!this.Capital.IsOK()) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionAIDetailsByConditions(SectionOrientationKind.无, true, false, false, false, false); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { this.FirstSection.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; } } else { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionNoOrientationAutoAIDetailsByConditions(true, true); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { this.FirstSection.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; } } return; } if (this.ArmyScale >= (num5 * 30)) { if (!this.Capital.IsGood()) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionNoOrientationAutoAIDetailsByConditions(true, false); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { this.FirstSection.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; } return; } faction = null; num2 = -2147483648; foreach (Faction faction2 in base.Scenario.Factions.GetRandomList()) { if (((faction2 != this) && !this.IsFriendly(faction2)) && (faction2.Capital != null)) { threat = this.GetThreat(faction2); if ((threat > num2) || GameObject.Chance(20)) { num2 = threat; faction = faction2; } } } if ((faction != null) && (this.FirstSection.OrientationFaction != faction)) { foreach (Architecture architecture in this.Architectures) { if (architecture.HasFactionInClose(faction, 1)) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionAIDetailsByConditions(SectionOrientationKind.势力, true, true, true, false, true); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { this.FirstSection.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; this.FirstSection.OrientationFaction = faction; } break; } } } list5 = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionAIDetailsByConditions(SectionOrientationKind.州域, true, true, true, false, true); if (list5.Count > 0) { this.FirstSection.AIDetail = list5[GameObject.Random(list5.Count)] as SectionAIDetail; if (this.Capital.LocationState.GetFactionScale(this) < 100) { this.FirstSection.OrientationState = this.Capital.LocationState; } else { this.FirstSection.OrientationState = this.Capital.LocationState.ContactStates[GameObject.Random(this.Capital.LocationState.ContactStates.Count)] as State; } } return; } if (!this.Capital.IsGood()) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionNoOrientationAutoAIDetailsByConditions(true, false); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { this.FirstSection.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; } return; } faction = null; num2 = -2147483648; foreach (Faction faction2 in this.GetUnderZeroDiplomaticRelationFactions().GetRandomList()) { threat = this.GetThreat(faction2); if ((threat > num2) || GameObject.Chance(20)) { num2 = threat; faction = faction2; } } if ((faction != null) && (this.FirstSection.OrientationFaction != faction)) { foreach (Architecture architecture in this.Architectures) { if (architecture.HasFactionInClose(faction, 1)) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionAIDetailsByConditions(SectionOrientationKind.势力, true, true, true, false, true); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { this.FirstSection.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; this.FirstSection.OrientationFaction = faction; } break; } } } } else { int num = (this.ArmyScale / 60) - (int)this.Leader.StrategyTendency; if (num <= 0) { foreach (Section section in this.Sections) { if (section.AIDetail.OrientationKind == SectionOrientationKind.无) { Section section2; num5 = this.FirstSection.ArchitectureScale - (this.FirstSection.ArchitectureCount / 2); if (section.GetHostileScale() > 0) { if (section.ArmyScale > (num5 * 6)) { foreach (Architecture architecture in section.Architectures) { section2 = null; if (architecture.HasOffensiveSectionInClose(out section2, 1)) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionAIDetailsByConditions(SectionOrientationKind.军区, true, false, false, true, true); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { section.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; section.OrientationSection = section2; } break; } } if (section.OrientationSection == null) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionNoOrientationAutoAIDetailsByConditions(true, true); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { this.FirstSection.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; } } } else { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionNoOrientationAutoAIDetailsByConditions(false, true); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { this.FirstSection.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; } } } else if ((section.GetFrontScale() > 0) && (section.ArmyScale < (num5 * 6))) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionNoOrientationAutoAIDetailsByConditions(true, false); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { this.FirstSection.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; } } else { foreach (Architecture architecture in section.Architectures) { section2 = null; if (architecture.HasOffensiveSectionInClose(out section2, 1)) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionAIDetailsByConditions(SectionOrientationKind.军区, true, false, false, false, false); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { section.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; section.OrientationSection = section2; } break; } } if (section.OrientationSection == null) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionNoOrientationAutoAIDetailsByConditions(false, false); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { this.FirstSection.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; } } } } } return; } faction = null; num2 = -2147483648; int num3 = 0; foreach (Faction faction2 in this.GetUnderZeroDiplomaticRelationFactions().GetRandomList()) { threat = this.GetThreat(faction2); if ((threat > num2) || GameObject.Chance(20)) { num2 = threat; faction = faction2; } } GameObjectList list = this.Sections.GetList(); list.PropertyName = "ArmyScale"; list.IsNumber = true; list.ReSort(); if (faction != null) { foreach (Section section in list) { if (section.ArmyScale < 0x19) { break; } foreach (Architecture architecture in section.Architectures) { if (architecture.HasFactionInClose(faction, 1)) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionAIDetailsByConditions(SectionOrientationKind.势力, true, true, true, false, true); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { section.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; section.OrientationFaction = faction; num3++; } break; } } if (num3 >= num) { break; } } return; } if (this.Capital.LocationState.GetFactionScale(this) < 100) { foreach (Section section in list) { if (section.ArmyScale < 0x19) { break; } if (this.Capital.LocationState.GetSectionScale(section) >= 60) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionAIDetailsByConditions(SectionOrientationKind.州域, true, true, true, false, true); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { section.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; section.OrientationState = this.Capital.LocationState; num3++; } if (num3 >= num) { break; } } } return; } if (this.Capital.LocationState.LinkedRegion.GetFactionScale(this) < 100) { foreach (Section section in list) { if (section.ArmyScale < 0x19) { break; } if (this.Capital.LocationState.LinkedRegion.GetSectionScale(section) >= 60) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionAIDetailsByConditions(SectionOrientationKind.州域, true, true, true, false, true); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { section.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; foreach (Architecture architecture in section.Architectures) { if (architecture.LocationState.LinkedRegion == this.Capital.LocationState.LinkedRegion) { section.OrientationState = architecture.LocationState; break; } } num3++; } if (num3 >= num) { break; } } } return; } StateList list3 = new StateList(); foreach (State state in this.Capital.LocationState.LinkedRegion.States) { foreach (State state2 in state.ContactStates) { if ((state2.LinkedRegion != this.Capital.LocationState.LinkedRegion) && (state2.GetFactionScale(this) < 100)) { list3.Add(state2); } } } if (list3.Count > 0) { foreach (Section section in list) { if (section.ArmyScale < 0x19) { break; } if (this.Capital.LocationState.LinkedRegion.GetSectionScale(section) >= 60) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionAIDetailsByConditions(SectionOrientationKind.州域, true, true, true, false, true); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { section.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; section.OrientationState = list3[GameObject.Random(list3.Count)] as State; num3++; } if (num3 >= num) { break; } } } } if (num3 < num) { foreach (Section section in list) { if (section.ArmyScale < 0x19) { return; } if (this.Capital.LocationState.LinkedRegion.GetSectionScale(section) <= 0) { Architecture maxPopulationArchitecture = section.MaxPopulationArchitecture; if (maxPopulationArchitecture != null) { StateList list4 = new StateList(); foreach (State state3 in maxPopulationArchitecture.LocationState.ContactStates) { if ((state3.LinkedRegion != this.Capital.LocationState.LinkedRegion) && (state3.GetFactionScale(this) < 100)) { list4.Add(state3); } } if (list4.Count > 0) { sectionNoOrientationAutoAIDetailsByConditions = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionAIDetailsByConditions(SectionOrientationKind.州域, true, true, true, false, true); if (sectionNoOrientationAutoAIDetailsByConditions.Count > 0) { section.AIDetail = sectionNoOrientationAutoAIDetailsByConditions[GameObject.Random(sectionNoOrientationAutoAIDetailsByConditions.Count)] as SectionAIDetail; section.OrientationState = list4[GameObject.Random(list4.Count)] as State; num3++; } if (num3 >= num) { return; } } } } } } return; } list5 = base.Scenario.GameCommonData.AllSectionAIDetails.GetSectionAIDetailsByConditions(SectionOrientationKind.州域, true, true, true, false, true); if (list5.Count > 0) { this.FirstSection.AIDetail = list5[GameObject.Random(list5.Count)] as SectionAIDetail; if (this.Capital.LocationState.GetFactionScale(this) < 100) { this.FirstSection.OrientationState = this.Capital.LocationState; } else { this.FirstSection.OrientationState = this.Capital.LocationState.ContactStates[GameObject.Random(this.Capital.LocationState.ContactStates.Count)] as State; } } }
public void PreserveViewModels([NotNull] IDataContext context) { Should.NotBeNull(context, nameof(context)); context.Remove(ViewModelState); if (ItemsSource.Count == 0) return; var states = new StateList { State = new List<IDataContext>() }; for (int index = 0; index < ItemsSource.Count; index++) { var viewModel = ItemsSource[index]; states.State.Add(ViewModelProvider.PreserveViewModel(viewModel, DataContext.Empty)); if (ReferenceEquals(viewModel, SelectedItem)) context.AddOrUpdate(SelectedIndex, index); } if (states.State.Count != 0) context.AddOrUpdate(ViewModelState, states); }
private void UpdateGameState(GameTime gametime) { switch(_gameState) { case StateList.Countdown: _countdownTimer -= gametime.ElapsedGameTime.Milliseconds; if(_countdownTimer <= 0) { _gameState = StateList.Action; } break; case StateList.Action: break; case StateList.Shop: break; case StateList.Pause: break; } }