コード例 #1
0
ファイル: GameManager.cs プロジェクト: BarArbel/YARR
    public bool TrackObjLocation()
    {
        const int itemLayer   = 10;
        const int enemyLayer  = 11;
        const int playerLayer = 9;
        float     posX;
        float     posY;

        GameObject[] gameObjects = FindObjectsOfType <GameObject>();
        for (int i = 0; i < gameObjects.Length; i++)
        {
            switch (gameObjects[i].layer)
            {
            case itemLayer:
                Treasure item = gameObjects[i].GetComponent <Treasure>();
                posX = item.transform.position.x;
                posY = item.transform.position.y;
                if (item.GetIsPickedUp())
                {
                    DataTransformer.sendTracker(Time.realtimeSinceStartup, Event.takenItemLoc, item.GetCarrierID(), posX, posY, item.GetID(), 0, (int)GetMode());
                }
                else
                {
                    DataTransformer.sendTracker(Time.realtimeSinceStartup, Event.itemLoc, -1, posX, posY, item.GetID(), 0, (int)GetMode());
                }
                break;

            case enemyLayer:
                Enemy enemy = gameObjects[i].GetComponent <Enemy>();
                posX = enemy.transform.position.x;
                posY = enemy.transform.position.y;
                DataTransformer.sendTracker(Time.realtimeSinceStartup, Event.enemyLoc, -1, posX, posY, 0, enemy.GetID(), (int)GetMode());
                break;

            case playerLayer:
                Player   player = gameObjects[i].GetComponent <Player>();
                ItemSink sink   = GameObject.Find("ItemSink").GetComponent <ItemSink>();
                DataTransformer.sendTracker(Time.realtimeSinceStartup, Event.playerLocHealth, player, player.GetHealth(), sink.GetPlayerScore(player.GetID()), (int)GetMode());

                // Send click count in the past 5 sec
                DataTransformer.sendTracker(Time.realtimeSinceStartup, Event.playerClickCount, player, player.GetClickCounter(), 0, (int)GetMode());

                // Reset clicks
                player.ResetClickCounter();
                break;

            default:
                break;
            }
        }

        return(true);
    }
コード例 #2
0
ファイル: UI.cs プロジェクト: BarArbel/YARR
    public void SetScore()
    {
        ItemSink sink = GameObject.Find("ItemSink").GetComponent <ItemSink>();

        GameObject[] playerObjs = GameObject.FindGameObjectsWithTag("Player");
        if (Mode == GameManager.GameMode.Competitive && playerObjs.Length != 0)
        {
            for (int i = 0; i < NumberOfPlayers; i++)
            {
                ScoresIdicators[i].GetComponentInChildren <Text>().text = sink.GetPlayerScore(playerObjs[i]).ToString();
            }
        }
        else
        {
            ScoresIdicators[0].GetComponentInChildren <Text>().text = sink.GetScoreSum().ToString();
        }
    }
コード例 #3
0
ファイル: TestServers.cs プロジェクト: stuarthillary/Sage-1
        public void TestServerBasics()
        {
            m_noAdmitCount = 0;
            m_admitCount   = 0;

            m_model = new Model();
            ((Model)m_model).RandomServer = new Randoms.RandomServer(54321, 100);

            ItemSource patientFactory  = CreatePatientGenerator("Patient_", 500, 5.0, 3.0);
            IServer    receiving       = CreateProcessStep("Receiving", 3.0, 5.0, 8.0);
            ISplitter  evaluation      = CreateBranch("Evaluation", 0.20);
            IServer    admit           = CreateProcessStep("Admit", 3.0, 5.0, 9.0);
            IServer    inPatientTreat  = CreateProcessStep("InPatientTreat", 300.0, 2160.0, 7200.0);
            IServer    discharge       = CreateProcessStep("Discharge", 3.0, 5.0, 8.0);
            IServer    outPatientTreat = CreateProcessStep("OutPatientTreat", 300.0, 2160.0, 7200.0);
            IJoiner    toStreet        = new PushJoiner(m_model, "Push Joiner", Guid.NewGuid(), 2);
            ItemSink   street          = new ItemSink(m_model, "Street", Guid.NewGuid());


            ConnectorFactory.Connect(patientFactory.Output, receiving.Input);
            ConnectorFactory.Connect(receiving.Output, evaluation.Input);
            ConnectorFactory.Connect(evaluation.Outputs[0], admit.Input);
            ConnectorFactory.Connect(admit.Output, inPatientTreat.Input);
            ConnectorFactory.Connect(inPatientTreat.Output, discharge.Input);
            ConnectorFactory.Connect(discharge.Output, toStreet.Inputs[0]);
            ConnectorFactory.Connect(evaluation.Outputs[1], outPatientTreat.Input);
            ConnectorFactory.Connect(outPatientTreat.Output, toStreet.Inputs[1]);
            ConnectorFactory.Connect(toStreet.Output, street.Input);


            evaluation.Outputs[0].PortDataPresented += new PortDataEvent(Admit_Patient);           // Count admitted.
            evaluation.Outputs[1].PortDataPresented += new PortDataEvent(NoAdmit_Patient);         // Count not-admitted.

            inPatientTreat.ServiceBeginning += new ServiceEvent(Server_ServiceBeginning);
            inPatientTreat.ServiceCompleted += new ServiceEvent(Server_ServiceCompleted);

            outPatientTreat.ServiceBeginning += new ServiceEvent(Server_ServiceBeginning);
            outPatientTreat.ServiceCompleted += new ServiceEvent(Server_ServiceCompleted);

            m_model.Start();

            Console.WriteLine("NoAdmit = " + m_noAdmitCount + ", and admitted = " + m_admitCount);
        }