Esempio n. 1
0
        private static StateMachine?ReflectSM(IParseQueue q)
        {
            string method = q.Scan();

            if (method == "file")
            {
                q.Advance();
                return(StateMachineManager.FromName(q.Next()));
            }
            else if (method == "null")
            {
                q.Advance();
                return(null);
            }
            else if (method == "stall")
            {
                q.Advance();
                return(WaitForPhaseSM);
            }
            else
            {
                var line = q.GetLastLine();
                try {
                    return(StateMachine.Create(q));
                } catch (Exception ex) {
                    throw new SMException($"Nested StateMachine construction starting on line {line} failed.", ex);
                }
            }
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ActorUnitTestingRuntime"/> class.
        /// </summary>
        internal ActorUnitTestingRuntime(Configuration configuration, Type actorType, IRandomValueGenerator valueGenerator)
            : base(configuration, valueGenerator)
        {
            if (!actorType.IsSubclassOf(typeof(Actor)))
            {
                this.Assert(false, "Type '{0}' is not an actor.", actorType.FullName);
            }

            var id = new ActorId(actorType, null, this);

            this.Instance = ActorFactory.Create(actorType);
            IActorManager actorManager;

            if (this.Instance is StateMachine stateMachine)
            {
                actorManager = new StateMachineManager(this, stateMachine, Guid.Empty);
            }
            else
            {
                actorManager = new ActorManager(this, this.Instance, Guid.Empty);
            }

            this.ActorInbox = new EventQueue(actorManager);
            this.Instance.Configure(this, id, actorManager, this.ActorInbox);
            this.Instance.SetupEventHandlers();

            this.LogWriter.LogCreateActor(this.Instance.Id, null, null);

            this.IsActorWaitingToReceiveEvent = false;
        }
Esempio n. 3
0
 private void Create()
 {
     this.remote = (Remote)AppDomain.CurrentDomain.GetData("remote");
     this.SM     = StateMachineManager.CreateSMSec(this.Instance, this.testConfig, this.Tracer);
     AppDomain.CurrentDomain.UnhandledException += this.CurrentDomain_UnhandledException;
     AppDomain.CurrentDomain.DomainUnload       += this.Ad_DomainUnload;
 }
Esempio n. 4
0
 static void ExportAllStateMachine()
 {
     foreach (var st in GameObject.FindObjectsOfType <StateMachine> ())
     {
         StateMachineManager.ExportStateMachine(st, "Export/StateMachine/StateMachine_" + st.name + ".bytes");
     }
 }
Esempio n. 5
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            Page.Validate();
            if (!this.Page.IsValid)
            {
                return;
            }

            MetaObject mo = null;

            if (StateId > 0)
            {
                mo = StateMachineManager.GetState(ClassName, StateId);
                mo.Properties["FriendlyName"].Value = txtFriendlyName.Text;
                mo.Save();
            }
            else
            {
                StateMachineManager.AddState(ClassName, txtName.Text, txtFriendlyName.Text);
            }


            // Closing window
            if (RefreshButton == String.Empty)
            {
                CHelper.CloseItAndRefresh(Response);
            }
            else              // Dialog Mode
            {
                CHelper.CloseItAndRefresh(Response, RefreshButton);
            }
        }
Esempio n. 6
0
        public override void DataBind()
        {
            object bindObject = DataBinder.GetDataItem(this.Parent);
            string retVal     = "";

            if (bindObject != null && bindObject is MetaObject)
            {
                string argumentType = ((MetaObject)bindObject).Properties["ArgumentType"].Value.ToString();
                string argumentData = ((MetaObject)bindObject).Properties["ArgumentData"].Value.ToString();

                Type   objType = Mediachase.Ibn.Data.AssemblyUtil.LoadType(argumentType);
                object obj     = McXmlSerializer.GetObject(objType, argumentData);
                if (obj != null)
                {
                    PropertyInfo pinfo = objType.GetProperty("CurrentState");
                    if (pinfo != null)
                    {
                        object curState = pinfo.GetValue(obj, null);
                        if (curState is State)
                        {
                            retVal = String.Format("<b>{0}:</b>&nbsp;{1}",
                                                   CHelper.GetResFileString("{IbnFramework.TimeTracking:_mc_State}"),
                                                   CHelper.GetResFileString(StateMachineManager.GetState("TimeTrackingBlock", ((State)curState).Name).Properties["FriendlyName"].Value.ToString()));
                        }
                    }
                }
                if (String.IsNullOrEmpty(retVal))
                {
                    retVal = CHelper.GetEventResourceString((MetaObject)bindObject);
                }

                lblStateValue.Text = retVal;
            }
            base.DataBind();
        }
        private void BindState()
        {
            string savedValue = ddlState.SelectedValue;

            ddlState.Items.Clear();

            int stateMachineId = int.Parse(ddlStateMachine.SelectedValue);

            sm = new Mediachase.Ibn.Data.Services.StateMachine(mc, stateMachineId);

            grdMain.Visible = true;
            if (sm.States.Count == 0)
            {
                grdMain.Visible = false;
                return;
            }

            foreach (State state in sm.States)
            {
                MetaObject mo = StateMachineManager.GetState(mc, state.Name);

                ListItem li = new ListItem(CHelper.GetResFileString(mo.Properties["FriendlyName"].Value.ToString()), mo.PrimaryKeyId.Value.ToString());
                ddlState.Items.Add(li);
            }

            if (savedValue != null)
            {
                CHelper.SafeSelect(ddlState, savedValue);
            }

            GenerateStructure();
        }
Esempio n. 8
0
        private void BindData()
        {
            if (SMId > 0)
            {
                Mediachase.Ibn.Data.Services.StateMachine sm = StateMachineManager.GetStateMachine(ClassName, SMId);
                txtName.Text = sm.Name;

                foreach (State state in sm.States)
                {
                    MetaObject mo = StateMachineManager.GetState(ClassName, state.Name);
                    lstSelectedStates.Items.Add(new ListItem(CHelper.GetResFileString(mo.Properties["FriendlyName"].Value.ToString()), state.Name));
                }

                foreach (MetaObject mo in StateMachineManager.GetAvailableStates(ClassName))
                {
                    string   sName = mo.Properties["Name"].Value.ToString();
                    ListItem item  = lstSelectedStates.Items.FindByValue(sName);
                    if (item == null)
                    {
                        lstAvailableStates.Items.Add(new ListItem(CHelper.GetResFileString(mo.Properties["FriendlyName"].Value.ToString()), mo.Properties["Name"].Value.ToString()));
                    }
                }
            }
            else
            {
                foreach (MetaObject mo in StateMachineManager.GetAvailableStates(ClassName))
                {
                    lstAvailableStates.Items.Add(new ListItem(CHelper.GetResFileString(mo.Properties["FriendlyName"].Value.ToString()), mo.Properties["Name"].Value.ToString()));
                }
            }
        }
Esempio n. 9
0
        private static void GetCurrentAndPrevStateIdByTimeTrackingBlock(TimeTrackingBlock block, out int curStateId, out int prevStateId)
        {
            curStateId  = -1;
            prevStateId = -1;

            StateMachineService stateMachine = block.GetService <StateMachineService>();

            if (stateMachine == null || stateMachine.StateMachine.States.Count == 0 || stateMachine.CurrentState == null)
            {
                return;
            }

            EventService eventService = block.GetService <EventService>();

            if (eventService != null)
            {
                // Detects that state is changed, find moFromStateName, toStateName
                MetaObject[] events = eventService.LoadEvents(TriggerContext.Current.TransactionId);
                StateMachineEventServiceArgs args = StateMachine.GetStateChangedEventArgs(events);
                if (args != null)
                {
                    curStateId  = StateMachineManager.GetState(TimeTrackingBlock.GetAssignedMetaClass(), args.CurrentState.Name).PrimaryKeyId.Value;
                    prevStateId = StateMachineManager.GetState(TimeTrackingBlock.GetAssignedMetaClass(), args.PrevState.Name).PrimaryKeyId.Value;
                }
            }
        }
        public async Task ApplyTransition_NextStateKeyOverride()
        {
            // Arrange
            var context = new TestCaseContext();
            var sut     = new StateMachineManager(
                context.OptionsService,
                context.Logger,
                context.DataService);

            Mock.Get(context.DataService).Setup(
                m => m.RunOnTransitionScript(context.InitialState, context.Transition, It.IsAny <CancellationToken>()))
            .ReturnsAsync(new OnTransitionOutput {
                NextStateKeyOverride = context.State2Key
            });

            // Act
            await sut.SetInitialState();

            await sut.ApplyTransition(context.TransitionKey);

            var currentState = sut.GetCurrentState();

            // Assert
            Assert.Same(context.State2, currentState);

            Mock.Get(context.DataService).Verify(
                m => m.RunOnTransitionScript(context.InitialState, context.Transition, It.IsAny <CancellationToken>()),
                Times.Once);
            Mock.Get(context.DataService).Verify(
                m => m.RunOnLeaveStateScript(context.InitialState, It.IsAny <CancellationToken>()),
                Times.Once);
            Mock.Get(context.DataService).Verify(
                m => m.RunOnEnterStateScript(context.State2, It.IsAny <CancellationToken>()),
                Times.Once);
        }
        public async Task SetCurrentState(bool leaveCurrentState)
        {
            // Arrange
            var context = new TestCaseContext();
            var sut     = new StateMachineManager(
                context.OptionsService,
                context.Logger,
                context.DataService);

            // Act
            await sut.SetInitialState();

            await sut.SetCurrentState(context.State1Key, leaveCurrentState);

            var currentState = sut.GetCurrentState();

            // Assert
            Assert.Same(context.State1, currentState);
            var times = leaveCurrentState ? Times.Once() : Times.Never();

            Mock.Get(context.DataService).Verify(
                m => m.RunOnLeaveStateScript(context.InitialState, It.IsAny <CancellationToken>()),
                times);
            Mock.Get(context.DataService).Verify(
                m => m.RunOnEnterStateScript(context.State1, It.IsAny <CancellationToken>()),
                Times.Once);
        }
    void OnWizardCreate()
    {
        var go = Selection.activeGameObject;
        var st = go.GetComponent <StateMachine> ();

        StateMachineManager.CreateStateNode(st, name);
    }
Esempio n. 13
0
 public void OnStateEnter(Animator animator, AnimatorStateInfo animatorStateInfo, int layerIndex)
 {
     _stateManager = StateMachineManager.Instance;
     SoundManager.Instance.PlayMusic(clipMusic, 0.051f);
     SoundManager.Instance.SetSpeaker(soundButtonImage);
     SoundManager.Instance.SetQuaver(musicButtonImage);
 }
Esempio n. 14
0
        public static void LocalReset()
        {
            //AudioTrackService.ClearAllAudio();
            SFXService.ClearConstructed();
            Events.Event0.DestroyAll();
            ETime.Slowdown.RevokeAll(MultiOp.Priority.CLEAR_SCENE);
            ETime.Timer.DestroyAll();
            BehaviorEntity.DestroyAllSummons();
            PublicDataHoisting.DestroyAll();
            FiringCtx.ClearNames();
            ReflWrap.ClearWrappers();
            StateMachineManager.ClearCachedSMs();
            BulletManager.ClearPoolControls();
            BulletManager.ClearEmpty();
            BulletManager.ClearAllBullets();
            BulletManager.DestroyCopiedPools();
            InstanceData.CampaignDataUpdated.Proc();
#if UNITY_EDITOR || ALLOW_RELOAD
            Events.LocalReset.Proc();
#endif
            //Ordered last so cancellations from HardCancel will occur under old data
            Instance = new InstanceData(InstanceMode.NULL);
            Debug.Log($"Reloading level: {Difficulty.Describe()} is the current difficulty");
            UIManager.UpdateTags();
        }
Esempio n. 15
0
    public void Start()
    {
        inputManager        = GetComponent <InputManager>();
        uiController        = GetComponent <UIController>();
        stateMachineManager = GetComponent <StateMachineManager>();
        gameMath            = GetComponent <GameMath>();
        timeCalculations    = GetComponent <TimeCalculations>();
        save      = GetComponent <Save>();
        load      = GetComponent <Load>();
        player    = GetComponent <Player>();
        resetGame = GetComponent <ResetGame>();

        if (PlayerPrefs.GetInt("CheckIfGameIsSaved") == 1)
        {
            load.LoadGameState();
            uiController.UIControllerUpdate();
            gameMath.GetingGameState();
            gameMath.CalculateLoadGameState();
            CallingGameMathForHungerAndHappienessLoss();
        }

        if (PlayerPrefs.GetInt("OrginalStartBool") == 1)
        {
            load.LoadOrignalGameDate();
        }

        if (PlayerPrefs.GetInt("CheckIfGameIsSaved") != 1)
        {
            SetGameStart();
        }
    }
Esempio n. 16
0
 /**
  *
  */
 public static StateMachineManager GetStateMachineManager()
 {
     if (inst == null)
     {
         inst = new StateMachineManager();
     }
     return(inst);
 }
Esempio n. 17
0
        private void BindStates()
        {
            ddState.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.Global:_mc_All}"), "0"));

            foreach (MetaObject mo in StateMachineManager.GetAvailableStates(TimeTrackingBlock.GetAssignedMetaClass()))
            {
                ddState.Items.Add(new ListItem(CHelper.GetResFileString(mo.Properties["FriendlyName"].Value.ToString()), mo.Properties["FriendlyName"].Value.ToString()));
            }
        }
Esempio n. 18
0
    public void Update()
    {
        string currentState = StateMachineManager.GetStateMachineManager().GetCurrentState();

        if (currentState == "gameplay" || currentState == "alert")
        {
            //hpText.text = "Score: " + ((int)ScoreManager.GetScoreManager().GetScore()).ToString();
        }
    }
Esempio n. 19
0
 public void DecreaseScoreOnCollision()
 {
     score += COLLISION_D;
     if (score < 0)
     {
         score = 0;
         StateMachineManager.GetStateMachineManager().MakeTransition("defeat");
         GUIManager.GetGUIManager().ArrangeGUI();
     }
 }
Esempio n. 20
0
 private void BindData()
 {
     if (StateId > 0)
     {
         MetaObject mo = StateMachineManager.GetState(ClassName, StateId);
         txtName.Text         = mo.Properties["Name"].Value.ToString();
         txtName.ReadOnly     = true;
         txtFriendlyName.Text = mo.Properties["FriendlyName"].Value.ToString();
     }
 }
Esempio n. 21
0
        void Awake()
        {
            StateMachineManager.AddMachine(this);
            BuildLayerDict();

            foreach (StateLayer layer in layers)
            {
                layer.OnAwake();
            }
        }
Esempio n. 22
0
        private void GenerateStructure()
        {
            foreach (State toState in sm.States)
            {
                string stateName = toState.Name;

                if (stateName == FromState)
                {
                    continue;
                }

                MetaObject mo = StateMachineManager.GetState(ClassName, stateName);

                HtmlTableRow tr = new HtmlTableRow();
                tr.Style.Add(HtmlTextWriterStyle.Height, "25px");

                HtmlTableCell td1 = new HtmlTableCell();
                HtmlTableCell td2 = new HtmlTableCell();
                td1.NoWrap = true;

                CheckBox cb = new CheckBox();
                cb.ID = String.Format("chk{0}", stateName);

                TextBox txt = new TextBox();
                txt.ID    = String.Format("txt{0}", stateName);
                txt.Width = Unit.Percentage(100);


                if (!IsPostBack)
                {
                    cb.Text = CHelper.GetResFileString(mo.Properties["FriendlyName"].Value.ToString());

                    StateTransition st = sm.FindTransition(FromState, stateName);
                    if (st != null)
                    {
                        cb.Checked = true;
                        txt.Text   = st.Name;
                    }
                    else
                    {
                        txt.Text = mo.Properties["FriendlyName"].Value.ToString();
                        txt.Style.Add(HtmlTextWriterStyle.Display, "none");
                    }
                }

                td1.Controls.Add(cb);
                td2.Controls.Add(txt);
                tr.Cells.Add(td1);
                tr.Cells.Add(td2);
                tblMain.Rows.Add(tr);

                cb.Attributes.Add("onclick", String.Format("ShowHide('{0}', '{1}')", cb.ClientID, txt.ClientID));
            }
        }
Esempio n. 23
0
        public void GetNextStatesTest()
        {
            // Arrange
            StateMachineManager.Register(new [] { typeof(BasicTests).Assembly });

            // Act
            var nextStates = StateMachineManager.GetNextStates(AuthenticationState.Unauthenticated);

            // Assert
            Assert.Equal(AuthenticationState.Authenticated, nextStates.Last());
        }
Esempio n. 24
0
    static void ExportStateMachine()
    {
        var st = Selection.activeGameObject != null?Selection.activeGameObject.GetComponent <StateMachine> () : null;

        if (st == null)
        {
            Debug.LogWarningFormat("State Machine not selected");
            return;
        }
        StateMachineManager.ExportStateMachine(st, "Export/StateMachine/StateMachine_" + st.name + ".bytes");
    }
Esempio n. 25
0
 void Awake()
 {
     if (Singleton == null)
     {
         Singleton = this;
         DontDestroyOnLoad(gameObject);
     }
     else
     {
         Destroy(gameObject);
     }
 }
Esempio n. 26
0
        protected void Page_Load(object sender, EventArgs e)
        {
            sm = StateMachineManager.GetStateMachine(ClassName, SMId);

            GenerateStructure();

            if (!IsPostBack)
            {
                MetaObject mo = StateMachineManager.GetState(ClassName, FromState);
                lblFrom.Text = CHelper.GetResFileString(mo.Properties["FriendlyName"].Value.ToString());
            }
        }
        public async Task ApplyTransition_NoState_Throws()
        {
            // Arrange
            var context = new TestCaseContext();
            var sut     = new StateMachineManager(
                context.OptionsService,
                context.Logger,
                context.DataService);

            // Act + Assert
            await Assert.ThrowsAsync <InvalidOperationException>(
                () => sut.ApplyTransition(context.TransitionKey));
        }
Esempio n. 28
0
    public void OnStateEnter(Animator animator, AnimatorStateInfo animatorStateInfo, int layerIndex)
    {
        string _PauseState = "Pause State";

        if (animator.GetCurrentAnimatorStateInfo(0).IsName(_PauseState))
        {
            return;
        }
        _stateManager = StateMachineManager.Instance;
        SetLevel();
        staticClips = audioClips;
        SoundManager.Instance.PlayMusic(audioClips[0], 0.051f);
    }
Esempio n. 29
0
 void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
     else
     {
         Destroy(this.gameObject);
         return;
     }
     DontDestroyOnLoad(this);
     SaveLoad.Load();
 }
Esempio n. 30
0
        public MqttClient(string clientId, IMqttClient client)
        {
            if (clientId.Length < 1 || clientId.Length > 23)
            {
                throw new ArgumentException("Client identifier must be between 1 and 23 charascters.");
            }

            _clientState = ClientState.Disconnected;
            ClientId     = clientId;
            _client      = client;
            _client.OnMessageReceived     += ClientOnMessageReceived;
            _client.OnNetworkDisconnected += ClientOnOnNetworkDisconnected;
            _manager = new StateMachineManager(_client);
        }
	void OnDestroy() {
		instance = null;
	}