示例#1
0
        public IScenarioHandler Create(IIterationControl iterationContext)
        {
            IScenario        scenarioInstance = _factory.Create(iterationContext.ThreadId);
            IScenarioHandler scenarioHandler  = new ScenarioHandler(_globalCounters, new NotThreadSafeIdGenerator(), scenarioInstance, iterationContext);

            return(scenarioHandler);
        }
示例#2
0
    // Use this for initialization
    void Awake()
    {
        if (!instance)
        {
            instance = this;
        }

        currScenario        = null;
        interactableGO      = new List <GameObject>();
        isScenarioActivated = false;
        scenarioContainer   = new Dictionary <string, ScenarioBase>();
        olEffect.enabled    = false;
        foreach (ScenarioBase sb in scenarioList)
        {
            // Deactivate scenarios on start up
            if (sb.gameObject.activeSelf)
            {
                sb.gameObject.SetActive(false);
            }
            // Add the scenario in
            if (!scenarioContainer.ContainsKey(sb.name))
            {
                scenarioContainer.Add(sb.name, sb);
            }
        }

        //testing
        //currScenario = scenarioContainer["sc"];
        //scenarioContainer["sc"].gameObject.SetActive(true);
        //isScenarioActivated = true;
    }
示例#3
0
        public void CtorWithPath_AddsScenariosToCollection()
        {
            var handler = new ScenarioHandler(testFilePath);

            var result = handler.GetScenarioNames();

            Assert.AreEqual(1, result.Count());
        }
示例#4
0
    void Start()
    {
        _gameController = this.GetComponent<GameController>();
        if (_gameController == null) {
            _gameController = this.GetComponentInChildren<GameController>();
        }

        scenarioHandler = GameObject.FindGameObjectWithTag("ScenarioHandler").GetComponent<ScenarioHandler>();
    }
示例#5
0
        public void AddScenario_AddsToCollection()
        {
            var name    = "scen-name";
            var handler = new ScenarioHandler();

            handler.AddScenario(name, new GameState());

            Assert.IsTrue(handler.GetScenarioNames().Any(a => a == name));
        }
示例#6
0
        public void AddScenario_AddsToCollection()
        {
            var name = "scen-name";
            var handler = new ScenarioHandler();

            handler.AddScenario( name, new GameState() );

            Assert.IsTrue( handler.GetScenarioNames().Any( a => a == name ) );
        }
示例#7
0
        public void AddScenario_DoesntDuplicateOnMultipleCalls()
        {
            var name = "scen-name";
            var handler = new ScenarioHandler();

            handler.AddScenario( name, new GameState() );
            handler.AddScenario( name, new GameState() );

            Assert.AreEqual( 1, handler.GetScenarioNames().Count( a => a == name ) );
        }
示例#8
0
        public void AddScenario_DoesntDuplicateOnMultipleCalls()
        {
            var name    = "scen-name";
            var handler = new ScenarioHandler();

            handler.AddScenario(name, new GameState());
            handler.AddScenario(name, new GameState());

            Assert.AreEqual(1, handler.GetScenarioNames().Count(a => a == name));
        }
示例#9
0
        public void ValidScenario_ReturnsTrueIfInCollection()
        {
            var name    = "scen-name";
            var handler = new ScenarioHandler();

            handler.AddScenario(name, new GameState());

            var result = handler.ValidScenario(name);

            Assert.IsTrue(result);
        }
示例#10
0
        public void CopyGameState_ReturnsCopyOfInitialGameState()
        {
            var name      = "scen-name";
            var gameState = this.GetGameState();

            var handler = new ScenarioHandler();

            handler.AddScenario(name, gameState);

            var result = handler.CopyGameState(name);

            Assert.AreNotSame(result, gameState, "Should be a copy, not the stored instance");
            result.ShouldBeEquivalentTo(gameState);
        }
示例#11
0
        public void CopyGameState_ReturnsCopyOfInitialGameState()
        {
            var name = "scen-name";
            var gameState = this.GetGameState();

            var handler = new ScenarioHandler();

            handler.AddScenario( name, gameState );

            var result = handler.CopyGameState( name );

            Assert.AreNotSame( result, gameState, "Should be a copy, not the stored instance" );
            result.ShouldBeEquivalentTo( gameState );
        }
    public override void ProcessFrame(Playable playable, FrameData info, object playerData)
    {
        ScenarioHandler handler = playerData as ScenarioHandler;

        if (handler == null)
        {
            return;
        }

        if (!launched)
        {
            handler.LaunchNextDialog();
            launched = true;
        }
    }
示例#13
0
        public void GetScenarioNames_ReturnsAll()
        {
            var handler = new ScenarioHandler();
            var names   = new List <string>()
            {
                "s1", "s2", "s3"
            };

            names.ForEach(a =>
            {
                handler.AddScenario(a, new GameState());
            });

            var result = handler.GetScenarioNames();

            CollectionAssert.AreEquivalent(names, result.ToList());
        }
示例#14
0
        // TODO: Redesign validator so it uses actual handlers.

        /// <summary>
        /// Validates ILoadTest scenario correctness by executing single test iteration
        /// from ScenarioSetup to ScenarioTearDown on the same thread.
        /// Exceptions are not handled on purpose to ease problem identification while developing.
        /// </summary>
        /// <param name="scenario">ILoadTestScenario object</param>
        /// <param name="threadId">TheardId to set in TestContext</param>
        /// <param name="threadIterationId">ThreadIterationId to set in TestContext</param>
        /// <param name="globalIterationId">GlobalIterationId to set in TestContext</param>
        /// <returns>Raw result from single iteration</returns>
        public static IterationResult Validate(this IScenario scenario, int threadId = 0, int threadIterationId = 0, int globalIterationId = 0)
        {
            ExecutionTimer    timer          = new ExecutionTimer();
            ThreadSafeCounter errorsCounter  = new ThreadSafeCounter();
            GlobalCounters    globalCounters = new GlobalCounters(errorsCounter, new MockedIdGenerator(globalIterationId));
            IIterationControl context        = new IterationContext(threadId, timer);

            ScenarioHandler handler = new ScenarioHandler(globalCounters, new MockedIdGenerator(threadIterationId), scenario, context);

            timer.Start();

            handler.Init();
            handler.PrepareNext();
            handler.Execute();

            IterationResult result = new IterationResult(context, new WorkerThreadStats());

            handler.Cleanup();

            timer.Stop();

            return(result);
        }
示例#15
0
    void Start()
    {
        enemies = new List<Entity>();
        players = new List<PlayerController>();

        PlayerController player = (Instantiate(Resources.Load("Player/PlayerObject")) as GameObject).GetComponent<PlayerController>();
        GameObject[] points = GameObject.FindGameObjectsWithTag("Waypoint");
        foreach (GameObject point in points) {
            if (point.transform.name.Contains("End")) {
                Vector3 targetPos = point.transform.position;
                targetPos.y += StartYPosition;
                player.transform.position = targetPos;
                break;
            }
        }
        players.Add(player);

        miniMapCam = GameObject.FindGameObjectWithTag("MiniMapCam");

        audioSources = new Dictionary<string, AudioSource>();

        addAudioSource("Background", BackgroundMusic);
        addAudioSource("Build", BuildMusic, 0.5f, true);
        addAudioSource("Combat", CombatMusic, 0.1f, true);

        qHandler = this.GetComponent<QuestionnaireHandler>();
        if (qHandler == null) {
            qHandler = this.GetComponentInChildren<QuestionnaireHandler>();
        }

        if (!qHandler.QuestionnaireEnabled) {
            CurrentGameState = GameState.MENU;
        }

        scenarioHandler = GameObject.FindGameObjectWithTag("ScenarioHandler").GetComponent<ScenarioHandler>();

        menuController = this.GetComponent<MenuController>();
        if (menuController == null) {
            menuController = this.GetComponentInChildren<MenuController>();
        }
    }
示例#16
0
    // Use this for initialization
    void Start()
    {
        _gameController = this.GetComponent<GameController>();
        screenWidth = Screen.width;
        screenHeight = Screen.height;

        float instructionsWidth = screenWidth * 0.9f,
        instructionsHeight = screenHeight * 0.9f;

        instructionsRect = new Rect((screenWidth/2f) - (instructionsWidth/2f), (screenHeight/2f) - (instructionsHeight/2f), instructionsWidth, instructionsHeight);

        scenarioHandler = GameObject.FindGameObjectWithTag("ScenarioHandler").GetComponent<ScenarioHandler>();
    }
示例#17
0
 // Start is called before the first frame update
 void Start()
 {
     scenario = FindObjectOfType <ScenarioHandler>();
 }
    void Start()
    {
        scenarioHandlerRef = this.GetComponent<ScenarioHandler>();

        if (bQuestionnaireEnabled)
        {
            googleManager = this.GetComponent<GoogleManager>();
            playerRef = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerController>();

            answersList = new Dictionary<string,string>();
            questionsList = new Dictionary<string,string>();
            helperTextList = new Dictionary<string, string>();

            FindAllQuestions();

            lastPage = scenarioHandlerRef.GetScenarioCount()+1;

            lastPage++;
            likertAnswers = new int[lastPage];
            wantBuildAnswers = new string[lastPage];
            commentAnswers = new string[lastPage];

            for (int i = 0; i < lastPage; i++)
            {
                likertAnswers[i] = 0;
                wantBuildAnswers[i] = "";
                commentAnswers[i] = "";
            }
            lastPage--;

            float screenWidth = Screen.width * 0.95f,
                screenHeight = Screen.height * 0.90f;
            qWidth = (screenWidth > qWidth) ? screenWidth : qWidth;
            qHeight = (screenHeight > qHeight) ? screenHeight : qHeight;

            questionnaireRect = new Rect((Screen.width/2f) - (qWidth/2f), (Screen.height/2f) - (qHeight/2f), qWidth, qHeight);

            windowStyle.normal.background = MakeColorTexture((int)qWidth+1, (int)qHeight+1, Color.black);
        }
    }
 private void Awake()
 {
     m_Instance = this;
 }
示例#20
0
        public void ValidScenario_ReturnsTrueIfInCollection()
        {
            var name = "scen-name";
            var handler = new ScenarioHandler();

            handler.AddScenario( name, new GameState() );

            var result = handler.ValidScenario( name );

            Assert.IsTrue( result );
        }
示例#21
0
    void Start()
    {
        screenWidth = Screen.width;
        screenHeight = Screen.height;
        unitsList = new List<Entity>();
        deadUnitsList = new List<Entity>();
        PlayerCam = this.GetComponentInChildren<Camera>();
        _gameController = GameObject.FindGameObjectWithTag("GameController").GetComponent<GameController>();
        SelectedUnits = new List<Entity>();

        scenarioHandler = GameObject.FindGameObjectWithTag("ScenarioHandler").GetComponent<ScenarioHandler>();

        gateRef = GameObject.FindGameObjectWithTag("GateOfLife").GetComponent<GateOfLife>();
    }
    /******************************************************
     **************** INITIALIZATION **********************
     ******************************************************/
    void Start()
    {
        if (!FindCamera("Main Camera"))
        {
            FindCamera("Camera");
        }

        this.gameObject.AddComponent(typeof(SaveScreenshots));
        mouseLookComponent = this.gameObject.GetComponent<MouseLook>();

        scenarioHandler = GameObject.Find("ScenarioHandlerBox").GetComponent<ScenarioHandler>();

        startPosition = this.transform.position;

        motorRef = this.GetComponent<CharacterMotor>();
    }
示例#23
0
    void Start()
    {
        if (QuestionnaireEnabled) {
            dbHandler = GameObject.FindGameObjectWithTag("ScenarioHandler").GetComponent<DatabaseHandler>();
            if (dbHandler == null) {
                dbHandler = GameObject.FindGameObjectWithTag("ScenarioHandler").GetComponentInChildren<DatabaseHandler>();
            }

            _gameController = this.GetComponent<GameController>();
            if (_gameController == null) {
                _gameController = this.GetComponentInChildren<GameController>();
            }

            answersDict = new Dictionary<string,string>();
            selectionDict = new Dictionary<string,int>();
            textDict = new Dictionary<string,string>();

            float width = 300f, height = 150f,
                screenWidth = Screen.width * 0.9f,
                screenHeight = Screen.height * 0.9f;

            width = screenWidth > width ? screenWidth : width;
            height = screenHeight > height ? screenHeight : height;

            questionnaireRect = new Rect((Screen.width/2f) - (width/2f), (Screen.height/2f) - (height/2f), width, height);

            CurrentState++;

            scenarioHandler = GameObject.FindGameObjectWithTag("ScenarioHandler").GetComponent<ScenarioHandler>();
        }

        if (scenarioHandler != null && scenarioHandler.DoneTesting) {
            QuestionnaireEnabled = false;
        }
    }
示例#24
0
        public void CtorWithPath_AddsScenariosToCollection()
        {
            var handler = new ScenarioHandler( testFilePath );

            var result = handler.GetScenarioNames();

            Assert.AreEqual( 1, result.Count() );
        }
示例#25
0
    void Start()
    {
        scenarioHandler = this.GetComponent<ScenarioHandler>();
        if (scenarioHandler == null) {
            scenarioHandler = this.GetComponentInChildren<ScenarioHandler>();
        }

        if (!scenarioHandler.DoneTesting) {
            if (questionsDict == null) {
                StartCoroutine(LoadQuestions());
            }

            answersForm = new WWWForm();
        }
    }
示例#26
0
        public void GetScenarioNames_ReturnsAll()
        {
            var handler = new ScenarioHandler();
            var names = new List<string>() { "s1", "s2", "s3" };

            names.ForEach( a =>
            {
                handler.AddScenario( a, new GameState() );
            } );

            var result = handler.GetScenarioNames();

            CollectionAssert.AreEquivalent( names, result.ToList() );
        }