StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo> ApplyEffects(ActionKey action, StateEntityKey originalStateEntityKey) { var originalState = m_StateDataContext.GetStateData(originalStateEntityKey); var originalStateObjectBuffer = originalState.TraitBasedObjects; // effect params var originalAgentObject = originalStateObjectBuffer[action[k_AgentIndex]]; var originalRoomObject = originalStateObjectBuffer[action[k_RoomIndex]]; var newState = m_StateDataContext.CopyStateData(originalState); var newLocalizedBuffer = newState.LocalizedBuffer; var newTraitBasedObjectIdsBuffer = newState.TraitBasedObjectIds; // Action effects { var @Localized = newLocalizedBuffer[originalAgentObject.LocalizedIndex]; var @TraitBasedObjectId = newTraitBasedObjectIdsBuffer[action[k_RoomIndex]]; @Localized.Location = @TraitBasedObjectId.Id; newLocalizedBuffer[originalAgentObject.LocalizedIndex] = @Localized; } var reward = Reward(originalState, action, newState); var StateTransitionInfo = new StateTransitionInfo { Probability = 1f, TransitionUtilityValue = reward }; var resultingStateKey = m_StateDataContext.GetStateDataKey(newState); return(new StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo>(originalStateEntityKey, action, resultingStateKey, StateTransitionInfo)); }
protected override IEnumerator Transition([CanBeNull] StateTransitionInfo transitionInfo) { m_ui.onContinueClick = null; yield return(m_ui.CloseCoroutine()); m_ui.get_gameObject().SetActive(false); }
StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo> ApplyEffects(ActionKey action, StateEntityKey originalStateEntityKey) { var originalState = m_StateDataContext.GetStateData(originalStateEntityKey); var originalStateObjectBuffer = originalState.TraitBasedObjects; var originalNPCObject = originalStateObjectBuffer[action[k_NPCIndex]]; var originalWayPointObject = originalStateObjectBuffer[action[k_WayPointIndex]]; var newState = m_StateDataContext.CopyStateData(originalState); var newLocationBuffer = newState.LocationBuffer; { var @Location = newLocationBuffer[originalNPCObject.LocationIndex]; @Location.Position = newLocationBuffer[originalWayPointObject.LocationIndex].Position; newLocationBuffer[originalNPCObject.LocationIndex] = @Location; } var reward = Reward(originalState, action, newState); var StateTransitionInfo = new StateTransitionInfo { Probability = 1f, TransitionUtilityValue = reward }; var resultingStateKey = m_StateDataContext.GetStateDataKey(newState); return(new StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo>(originalStateEntityKey, action, resultingStateKey, StateTransitionInfo)); }
StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo> ApplyEffects(ActionKey action, StateEntityKey originalStateEntityKey) { var originalState = m_StateDataContext.GetStateData(originalStateEntityKey); var originalStateObjectBuffer = originalState.TraitBasedObjects; var originalNPCObject = originalStateObjectBuffer[action[k_NPCIndex]]; var newState = m_StateDataContext.CopyStateData(originalState); var newBaggageBuffer = newState.BaggageBuffer; { var @Baggage = newBaggageBuffer[originalNPCObject.BaggageIndex]; @Baggage.@HasItem = true; newBaggageBuffer[originalNPCObject.BaggageIndex] = @Baggage; } newState.RemoveTraitBasedObjectAtIndex(action[k_ItemIndex]); var reward = Reward(originalState, action, newState); var StateTransitionInfo = new StateTransitionInfo { Probability = 1f, TransitionUtilityValue = reward }; var resultingStateKey = m_StateDataContext.GetStateDataKey(newState); return(new StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo>(originalStateEntityKey, action, resultingStateKey, StateTransitionInfo)); }
protected override IEnumerator Transition(StateTransitionInfo transitionInfo) { onTransition?.Invoke(); yield return(m_ui.CloseUI()); yield return(_003C_003En__0(transitionInfo)); }
StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo> ApplyEffects(ActionKey action, StateEntityKey originalStateEntityKey) { var originalState = m_StateDataContext.GetStateData(originalStateEntityKey); var originalStateObjectBuffer = originalState.TraitBasedObjects; var originalMoverObject = originalStateObjectBuffer[action[k_MoverIndex]]; var originalDestinationObject = originalStateObjectBuffer[action[k_DestinationIndex]]; var newState = m_StateDataContext.CopyStateData(originalState); var newLocationBuffer = newState.LocationBuffer; var newRobotBuffer = newState.RobotBuffer; { var @Location = newLocationBuffer[originalMoverObject.LocationIndex]; @Location.Position = newLocationBuffer[originalDestinationObject.LocationIndex].Position; newLocationBuffer[originalMoverObject.LocationIndex] = @Location; } { var @Robot = newRobotBuffer[originalMoverObject.RobotIndex]; @Robot.@Battery -= 10; newRobotBuffer[originalMoverObject.RobotIndex] = @Robot; } var reward = Reward(originalState, action, newState); var StateTransitionInfo = new StateTransitionInfo { Probability = 1f, TransitionUtilityValue = reward }; var resultingStateKey = m_StateDataContext.GetStateDataKey(newState); return(new StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo>(originalStateEntityKey, action, resultingStateKey, StateTransitionInfo)); }
StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo> ApplyEffects(ActionKey action, StateEntityKey originalStateEntityKey) { var originalState = m_StateDataContext.GetStateData(originalStateEntityKey); var originalStateObjectBuffer = originalState.TraitBasedObjects; var originalAgentObject = originalStateObjectBuffer[action[k_AgentIndex]]; var originalCollectibleObject = originalStateObjectBuffer[action[k_CollectibleIndex]]; var newState = m_StateDataContext.CopyStateData(originalState); var newAgentBuffer = newState.AgentBuffer; var newCollectibleBuffer = newState.CollectibleBuffer; { var @Agent = newAgentBuffer[originalAgentObject.AgentIndex]; @Agent.Health += newCollectibleBuffer[originalCollectibleObject.CollectibleIndex].Amount; newAgentBuffer[originalAgentObject.AgentIndex] = @Agent; } var reward = Reward(originalState, action, newState); var StateTransitionInfo = new StateTransitionInfo { Probability = 1f, TransitionUtilityValue = reward }; var resultingStateKey = m_StateDataContext.GetStateDataKey(newState); return(new StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo>(originalStateEntityKey, action, resultingStateKey, StateTransitionInfo)); }
StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo> ApplyEffects(ActionKey action, StateEntityKey originalStateEntityKey) { var originalState = m_StateDataContext.GetStateData(originalStateEntityKey); var originalStateObjectBuffer = originalState.TraitBasedObjects; var originalGameObject = originalStateObjectBuffer[action[k_GameIndex]]; var newState = m_StateDataContext.CopyStateData(originalState); var newGameBuffer = newState.GameBuffer; { var @Game = newGameBuffer[originalGameObject.GameIndex]; @Game.@MoveCount += 1; newGameBuffer[originalGameObject.GameIndex] = @Game; } { new CustomSwapEffect().ApplyCustomActionEffectsToState(originalState, action, newState); } var reward = Reward(originalState, action, newState); var StateTransitionInfo = new StateTransitionInfo { Probability = 1f, TransitionUtilityValue = reward }; var resultingStateKey = m_StateDataContext.GetStateDataKey(newState); return(new StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo>(originalStateEntityKey, action, resultingStateKey, StateTransitionInfo)); }
protected override IEnumerator Transition([CanBeNull] StateTransitionInfo transitionInfo) { m_ui.onCloseClick = null; yield return(m_ui.CloseCoroutine()); onStateClosed?.Invoke(); }
protected override IEnumerator Transition(StateTransitionInfo transitionInfo) { if (transitionInfo == null || transitionInfo.get_stateContext() == null) { yield break; } if (transitionInfo.get_stateContext() is LoginStateDemo) { yield return(m_ui.CloseCoroutine()); } else { if (!(transitionInfo.get_stateContext() is FightState)) { yield break; } m_startLoadingTime = Time.get_time(); while ((int)transitionInfo.get_stateContext().get_loadState() != 2) { yield return(null); if (transitionInfo.get_stateContext() == null) { yield break; } } while (Time.get_time() - m_startLoadingTime < 3f) { yield return(null); } yield return(m_ui.GotoFightAnim()); } }
StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo> ApplyEffects(ActionKey action, StateEntityKey originalStateEntityKey) { var originalState = m_StateDataContext.GetStateData(originalStateEntityKey); var originalStateObjectBuffer = originalState.TraitBasedObjects; var originalItemObject = originalStateObjectBuffer[action[k_ItemIndex]]; var originalCharacterObject = originalStateObjectBuffer[action[k_CharacterIndex]]; var newState = m_StateDataContext.CopyStateData(originalState); var newCarriableBuffer = newState.CarriableBuffer; var newCarrierBuffer = newState.CarrierBuffer; { var @Carriable = newCarriableBuffer[originalItemObject.CarriableIndex]; @Carriable.@CarriedBy = originalState.GetTraitBasedObjectId(originalCharacterObject); newCarriableBuffer[originalItemObject.CarriableIndex] = @Carriable; } { var @Carrier = newCarrierBuffer[originalCharacterObject.CarrierIndex]; @Carrier.@Carried = originalState.GetTraitBasedObjectId(originalItemObject); newCarrierBuffer[originalCharacterObject.CarrierIndex] = @Carrier; } var reward = Reward(originalState, action, newState); var StateTransitionInfo = new StateTransitionInfo { Probability = 1f, TransitionUtilityValue = reward }; var resultingStateKey = m_StateDataContext.GetStateDataKey(newState); return(new StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo>(originalStateEntityKey, action, resultingStateKey, StateTransitionInfo)); }
StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo> ApplyEffects(ActionKey action, StateEntityKey originalStateEntityKey) { var originalState = m_StateDataContext.GetStateData(originalStateEntityKey); var originalStateObjectBuffer = originalState.TraitBasedObjects; var originalRobotObject = originalStateObjectBuffer[action[k_RobotIndex]]; var newState = m_StateDataContext.CopyStateData(originalState); var newCleanlinessBuffer = newState.CleanlinessBuffer; { var @Cleanliness = newCleanlinessBuffer[originalRobotObject.CleanlinessIndex]; @Cleanliness.@DirtCount -= 1; newCleanlinessBuffer[originalRobotObject.CleanlinessIndex] = @Cleanliness; } newState.RemoveTraitBasedObjectAtIndex(action[k_DirtIndex]); var reward = Reward(originalState, action, newState); var StateTransitionInfo = new StateTransitionInfo { Probability = 1f, TransitionUtilityValue = reward }; var resultingStateKey = m_StateDataContext.GetStateDataKey(newState); return(new StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo>(originalStateEntityKey, action, resultingStateKey, StateTransitionInfo)); }
void WriteEdgeToState(TStateKey precedingStateKey, TActionKey actionKey, StateTransitionInfo stateTransitionInfo, TStateKey resultingStateKey) { var stateActionPair = new StateActionPair <TStateKey, TActionKey>(precedingStateKey, actionKey); ActionLookup.Add(precedingStateKey, actionKey); ActionInfoLookup.TryAdd(stateActionPair, default); ResultingStateLookup.Add(stateActionPair, resultingStateKey); StateTransitionInfoLookup.TryAdd(new StateTransition <TStateKey, TActionKey>(stateActionPair, resultingStateKey), stateTransitionInfo); PredecessorGraph.Add(resultingStateKey, precedingStateKey); }
// Token: 0x0600154D RID: 5453 RVA: 0x000551AC File Offset: 0x000533AC public static TransientErrorInfo ConstructFromPersisted(TransientErrorInfoPersisted errorInfo) { TransientErrorInfo transientErrorInfo = new TransientErrorInfo(); transientErrorInfo.m_currentErrorState = StateTransitionInfo.ConvertErrorTypeFromSerializable(errorInfo.CurrentErrorState); transientErrorInfo.m_lastErrorState = transientErrorInfo.m_currentErrorState; DateTimeHelper.ParseIntoDateTimeIfPossible(errorInfo.LastSuccessTransitionUtc, ref transientErrorInfo.m_lastSuccessTransitionUtc); DateTimeHelper.ParseIntoDateTimeIfPossible(errorInfo.LastFailureTransitionUtc, ref transientErrorInfo.m_lastFailureTransitionUtc); return(transientErrorInfo); }
StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo> ApplyEffects(ActionKey action, StateEntityKey originalStateEntityKey) { var originalState = m_StateDataContext.GetStateData(originalStateEntityKey); var originalStateObjectBuffer = originalState.TraitBasedObjects; var newState = m_StateDataContext.CopyStateData(originalState); var originalObjectIds = originalState.TraitBasedObjectIds; // Action effects var oldKeyIndex = action[k_KeyIndex]; var newCarriableBuffer = newState.CarriableBuffer; var newCarrierBuffer = newState.CarrierBuffer; { if (oldKeyIndex >= 0) { newCarriableBuffer[oldKeyIndex] = new Carriable() { Carrier = ObjectId.None } } ; } { newCarriableBuffer[originalStateObjectBuffer[action[k_KeyIndex]].CarriableIndex] = new Carriable() { Carrier = originalObjectIds[action[k_AgentIndex]].Id }; } { newCarrierBuffer[originalStateObjectBuffer[action[k_AgentIndex]].CarrierIndex] = new Carrier() { CarriedObject = originalObjectIds[action[k_KeyIndex]].Id }; } var reward = Reward(originalState, action, newState); var StateTransitionInfo = new StateTransitionInfo { Probability = 1f, TransitionUtilityValue = reward }; var resultingStateKey = m_StateDataContext.GetStateDataKey(newState); return(new StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo>(originalStateEntityKey, action, resultingStateKey, StateTransitionInfo)); } float Reward(StateData originalState, ActionKey action, StateData newState) { return(-1f); }
protected override IEnumerator Transition(StateTransitionInfo transitionInfo) { while (transitionInfo.get_stateContext() != null && (int)transitionInfo.get_stateContext().get_loadState() != 2) { yield return(null); } if (null != m_ui) { yield return(m_ui.CloseCoroutine()); } }
StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo> CreateResultingState(StateEntityKey originalStateEntityKey, ActionKey action, ColorValue roomColor, float probability, float reward, bool endRoom) { var originalState = m_StateDataContext.GetStateData(originalStateEntityKey); var originalStateObjectBuffer = originalState.TraitBasedObjects; var newState = m_StateDataContext.CopyStateData(originalState); var newObjectBuffer = newState.TraitBasedObjects; var newDomainIdBuffer = newState.TraitBasedObjectIds; var newLockableBuffer = newState.LockableBuffer; var newColoredBuffer = newState.ColoredBuffer; var newLocalizedBuffer = newState.LocalizedBuffer; var newEndBuffer = newState.EndBuffer; // Action effects newState.AddTraitBasedObject(s_RoomTypes, out var newRoom, out _); var newRoomIndex = newState.GetTraitBasedObjectIndex(newRoom); var newRoomLockable = newState.GetTraitOnObject <Lockable>(newRoom); newRoomLockable.Locked = true; newState.SetTraitOnObjectAtIndex(newRoomLockable, newRoomIndex); var newRoomColor = newState.GetTraitOnObject <Colored>(newRoom); newRoomColor.Color = roomColor; newState.SetTraitOnObjectAtIndex(newRoomColor, newRoomIndex); { newLockableBuffer[newObjectBuffer[action[k_RoomIndex]].LockableIndex] = new Lockable { Locked = false }; newLocalizedBuffer[newObjectBuffer[action[k_AgentIndex]].LocalizedIndex] = new Localized { Location = newDomainIdBuffer[newRoomIndex].Id }; } if (endRoom) { newEndBuffer.Add(new End()); newRoom.EndIndex = (byte)(newEndBuffer.Length - 1); newObjectBuffer[newObjectBuffer.Length - 1] = newRoom; } var StateTransitionInfo = new StateTransitionInfo { Probability = probability, TransitionUtilityValue = reward }; var resultingStateKey = m_StateDataContext.GetStateDataKey(newState); return(new StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo>(originalStateEntityKey, action, resultingStateKey, StateTransitionInfo)); }
protected override IEnumerator Transition(StateTransitionInfo transitionInfo) { DisableUIEvents(); onTransition?.Invoke(); if (transitionInfo != null && transitionInfo.get_stateContext() != null && transitionInfo.get_stateContext() is UIPVPLoadingState) { yield return(m_ui.PlayTransitionToVersusAnimation()); } else { yield return(m_ui.PlayCloseAnimation()); } yield return(_003C_003En__0(transitionInfo)); }
protected override IEnumerator Transition(StateTransitionInfo transitionInfo) { m_modifications.Unregister(); float timeOutStart = Time.get_realtimeSinceStartup(); if (m_modifications.hasModifications) { m_resultReceived = false; m_frame.SendSelectDecksAndWeapon(m_modifications.selectedWeapon, m_modifications.selectedDecksPerWeapon); while (!m_resultReceived && Time.get_realtimeSinceStartup() - timeOutStart < 1f) { yield return(null); } } yield return(m_ui.CloseUI()); m_ui.UnloadAsset(); }
StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo> ApplyEffects(ActionKey action, StateEntityKey originalStateEntityKey) { var originalState = m_StateDataContext.GetStateData(originalStateEntityKey); var originalStateObjectBuffer = originalState.TraitBasedObjects; var newState = m_StateDataContext.CopyStateData(originalState); newState.RemoveTraitBasedObjectAtIndex(action[k_DirtIndex]); var reward = Reward(originalState, action, newState); var StateTransitionInfo = new StateTransitionInfo { Probability = 1f, TransitionUtilityValue = reward }; var resultingStateKey = m_StateDataContext.GetStateDataKey(newState); return(new StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo>(originalStateEntityKey, action, resultingStateKey, StateTransitionInfo)); }
StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo> ApplyEffects(ActionKey action, StateEntityKey originalStateEntityKey) { var originalState = m_StateDataContext.GetStateData(originalStateEntityKey); var originalStateObjectBuffer = originalState.TraitBasedObjects; var originalAgentObject = originalStateObjectBuffer[action[k_AgentIndex]]; var originalItemObject = originalStateObjectBuffer[action[k_ItemIndex]]; var newState = m_StateDataContext.CopyStateData(originalState); var newAgentBuffer = newState.AgentBuffer; var newLocationBuffer = newState.LocationBuffer; var newItemBuffer = newState.ItemBuffer; { var @Agent = newAgentBuffer[originalAgentObject.AgentIndex]; @Agent.@HasWeapon = true; newAgentBuffer[originalAgentObject.AgentIndex] = @Agent; } { var @Location = newLocationBuffer[originalAgentObject.LocationIndex]; @Location.Position = newLocationBuffer[originalItemObject.LocationIndex].Position; newLocationBuffer[originalAgentObject.LocationIndex] = @Location; } { var @Item = newItemBuffer[originalItemObject.ItemIndex]; @Item.@CarriedBy = originalState.GetTraitBasedObjectId(originalAgentObject); newItemBuffer[originalItemObject.ItemIndex] = @Item; } { var @Agent = newAgentBuffer[originalAgentObject.AgentIndex]; @Agent.@Timeline += 1; newAgentBuffer[originalAgentObject.AgentIndex] = @Agent; } var reward = Reward(originalState, action, newState); var StateTransitionInfo = new StateTransitionInfo { Probability = 1f, TransitionUtilityValue = reward }; var resultingStateKey = m_StateDataContext.GetStateDataKey(newState); return(new StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo>(originalStateEntityKey, action, resultingStateKey, StateTransitionInfo)); }
StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo> ApplyEffects(ActionKey action, StateEntityKey originalStateEntityKey) { var originalState = m_StateDataContext.GetStateData(originalStateEntityKey); var originalStateObjectBuffer = originalState.TraitBasedObjects; var originalCharacterObject = originalStateObjectBuffer[action[k_CharacterIndex]]; var originalToObject = originalStateObjectBuffer[action[k_ToIndex]]; var originalFromObject = originalStateObjectBuffer[action[k_FromIndex]]; var newState = m_StateDataContext.CopyStateData(originalState); var newCharacterBuffer = newState.CharacterBuffer; var newWaypointBuffer = newState.WaypointBuffer; { var @Character = newCharacterBuffer[originalCharacterObject.CharacterIndex]; @Character.@Waypoint = originalState.GetTraitBasedObjectId(originalToObject); newCharacterBuffer[originalCharacterObject.CharacterIndex] = @Character; } { var @Waypoint = newWaypointBuffer[originalToObject.WaypointIndex]; @Waypoint.@Occupied = true; newWaypointBuffer[originalToObject.WaypointIndex] = @Waypoint; } { var @Waypoint = newWaypointBuffer[originalFromObject.WaypointIndex]; @Waypoint.@Occupied = false; newWaypointBuffer[originalFromObject.WaypointIndex] = @Waypoint; } { var @Waypoint = newWaypointBuffer[originalToObject.WaypointIndex]; @Waypoint.@Visited += 1; newWaypointBuffer[originalToObject.WaypointIndex] = @Waypoint; } var reward = Reward(originalState, action, newState); var StateTransitionInfo = new StateTransitionInfo { Probability = 1f, TransitionUtilityValue = reward }; var resultingStateKey = m_StateDataContext.GetStateDataKey(newState); return(new StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo>(originalStateEntityKey, action, resultingStateKey, StateTransitionInfo)); }
StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo> ApplyEffects(ActionKey action, StateEntityKey originalStateEntityKey) { var originalState = m_StateDataContext.GetStateData(originalStateEntityKey); var originalStateObjectBuffer = originalState.TraitBasedObjects; var originalCoverObject = originalStateObjectBuffer[action[k_CoverIndex]]; var originalAgentObject = originalStateObjectBuffer[action[k_AgentIndex]]; var newState = m_StateDataContext.CopyStateData(originalState); var newCoverBuffer = newState.CoverBuffer; var newLocationBuffer = newState.LocationBuffer; var newAgentBuffer = newState.AgentBuffer; { var @Cover = newCoverBuffer[originalCoverObject.CoverIndex]; @Cover.@SpotTaken = true; newCoverBuffer[originalCoverObject.CoverIndex] = @Cover; } { var @Location = newLocationBuffer[originalAgentObject.LocationIndex]; @Location.Position = newLocationBuffer[originalCoverObject.LocationIndex].Position; newLocationBuffer[originalAgentObject.LocationIndex] = @Location; } { var @Agent = newAgentBuffer[originalAgentObject.AgentIndex]; @Agent.@Safe = true; newAgentBuffer[originalAgentObject.AgentIndex] = @Agent; } { var @Agent = newAgentBuffer[originalAgentObject.AgentIndex]; @Agent.@Timeline += 1; newAgentBuffer[originalAgentObject.AgentIndex] = @Agent; } var reward = Reward(originalState, action, newState); var StateTransitionInfo = new StateTransitionInfo { Probability = 1f, TransitionUtilityValue = reward }; var resultingStateKey = m_StateDataContext.GetStateDataKey(newState); return(new StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo>(originalStateEntityKey, action, resultingStateKey, StateTransitionInfo)); }
StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo> ApplyEffects(ActionKey action, StateEntityKey originalStateEntityKey) { var originalState = m_StateDataContext.GetStateData(originalStateEntityKey); var originalStateObjectBuffer = originalState.TraitBasedObjects; var originalGameStateObject = originalStateObjectBuffer[action[k_GameStateIndex]]; var originalNPCObject = originalStateObjectBuffer[action[k_NPCIndex]]; var originalGateObject = originalStateObjectBuffer[action[k_GateIndex]]; var newState = m_StateDataContext.CopyStateData(originalState); var newGateSwitchBuffer = newState.GateSwitchBuffer; var newBaggageBuffer = newState.BaggageBuffer; { var @GateSwitch = newGateSwitchBuffer[originalGameStateObject.GateSwitchIndex]; @GateSwitch.@OpenCount += 1; newGateSwitchBuffer[originalGameStateObject.GateSwitchIndex] = @GateSwitch; } { var @Baggage = newBaggageBuffer[originalNPCObject.BaggageIndex]; @Baggage.@HasItem = false; newBaggageBuffer[originalNPCObject.BaggageIndex] = @Baggage; } { var @Baggage = newBaggageBuffer[originalGateObject.BaggageIndex]; @Baggage.@HasItem = true; newBaggageBuffer[originalGateObject.BaggageIndex] = @Baggage; } var reward = Reward(originalState, action, newState); var StateTransitionInfo = new StateTransitionInfo { Probability = 1f, TransitionUtilityValue = reward }; var resultingStateKey = m_StateDataContext.GetStateDataKey(newState); return(new StateTransitionInfoPair <StateEntityKey, ActionKey, StateTransitionInfo>(originalStateEntityKey, action, resultingStateKey, StateTransitionInfo)); }
protected override IEnumerator Transition(StateTransitionInfo transitionInfo) { yield return(m_ui.Unload()); }
protected override IEnumerator Transition([CanBeNull] StateTransitionInfo transitionInfo) { yield return(m_ui.CloseCoroutine()); }
protected override IEnumerator Transition(StateTransitionInfo transitionInfo) { yield return(m_ui.CloseTo(base.toSide)); }