Example #1
0
    private void ResetGame()
    {
        // Debug.Log("Game Reseted My PlayerID: " + _localPlayerIndex);
        _lockStepTurnID = firstLockStepTurnID;
        _pendingActions.Reset();
        _confirmedActions.Reset();
        _actionsToSend.Clear();

        _gameTurnSW.Reset();
        _currentGameFrameRuntime = 0;
        if (_networkRollingAverage == null)
        {
            _networkRollingAverage = new RollingAverage(_numberOfPlayers, _initialLockStepTurnLength);
        }
        else
        {
            _networkRollingAverage.Reset();
        }
        if (_runtimeRollingAverage == null)
        {
            _runtimeRollingAverage = new RollingAverage(_numberOfPlayers, _initialLockStepTurnLength);
        }
        else
        {
            _runtimeRollingAverage.Reset();
        }
    }
Example #2
0
 public LockTumblerLiftingStage(string label, Toolkit toolkit, Tumbler tgtTumbler, AngleAxisProvider oProvider = null)
     : base(label, toolkit, Tumbler.PinMoveTarget, oProvider)
 {
     Log.Debug("Lockpicking|TumblerLifting", $"Lifting {label}");
     AngleRateOfChange = new RollingAverage <float>(5, 0f);
     tumblerUnderway   = tgtTumbler;
 }
Example #3
0
            public TumblerFindingStage(string label, Toolkit toolkit, Tumbler tgtTumbler, AngleAxisProvider provider) : base(label)
            {
                Kit           = toolkit;
                targetTumbler = tgtTumbler;

                AttitudeProvider = provider;
                SetUpProvider(AttitudeProvider, allowProviderToPersist: true);

                LastAngle = Angle = AttitudeProvider.Angle;
                Log.Debug("TumblerStage|Ctor", $"Initial angle: {Angle}");
                TargetAngle       = tgtTumbler.Angle;
                RequiredDirection = tgtTumbler.Direction;
                // Certain special tumblers - like ResetToZero - have a designated direction of zero, meaning "opposite to current setting."
                if (tgtTumbler.Direction == 0)
                {
                    RequiredDirection = -1 * Math.Sign(provider.Angle);
                }

                // CurrentDirection is based on AngleTrend.
                AngleTrend = new RollingAverage <double>(5);

                InterimInterval = TimeSpan.FromMilliseconds(20);

                Activate();
            }
        public void GetAverageTest4()
        {
            RollingAverage target   = new RollingAverage();
            double         expected = 0F;
            double         actual;

            actual = target.GetAverage();
            Assert.AreEqual(expected, actual);
        }
Example #5
0
        public void Awake()
        {
            this.timeAwake = System.DateTime.Now;
            this.Log("Awake at {0}", this.timeAwake);

            this.avgUpdate      = new RollingAverage();
            this.avgLateUpdate  = new RollingAverage();
            this.avgFixedUpdate = new RollingAverage();
        }
        public void GetAverageTest1()
        {
            RollingAverage target   = new RollingAverage();
            double         expected = 2F;
            double         actual;

            target.Add(1);
            target.Add(2);
            target.Add(3);
            actual = target.GetAverage();
            Assert.AreEqual(expected, actual);
        }
Example #7
0
 public override void AgentReset()
 {
     if (_bodyManager == null)
     {
         _bodyManager = GetComponent <BodyManager002>();
     }
     _bodyManager.OnAgentReset();
     _episodeMaxDistance = 0f;
     if (rollingAverage == null)
     {
         rollingAverage = new RollingAverage(100);
     }
 }
Example #8
0
        public void Add_N_Values_Returns_Average(double expectedaverage, params int[] sampleset)
        {
            var average = new RollingAverage(10);

            foreach (int value in sampleset)
            {
                average.Add(value);
            }

            var result = average.CurrentAverage;

            Assert.Equal(expectedaverage, result);
        }
        public void GetAverageTest3()
        {
            RollingAverage target   = new RollingAverage(16);
            double         expected = 100F;
            double         actual;

            for (int i = 0; i < 10000; i++)
            {
                target.Add(100F);
            }
            actual = target.GetAverage();
            Assert.AreEqual(expected, actual);
        }
Example #10
0
    void Start()
    {
        _rb       = GetComponent <Rigidbody>();
        _indexStr = Index.ToString();

        _trajectoryPlane     = Instantiate(TrajectoryPlanePrefab);
        _trajectoryPlaneMesh = _trajectoryPlane.GetComponentInChildren <MeshRenderer>();
        _trajectoryPlane.SetActive(false);

        _averageInteractStickLength = new RollingAverage();
        _averageInteractStickLength.Create(10);
        _averageInteractDirection = new RollingAverage();
        _averageInteractDirection.Create(6);
    }
Example #11
0
 public override void AgentReset()
 {
     if (!_hasLazyInitialized)
     {
         _bodyManager            = GetComponent <BodyManager002>();
         _bodyManager.BodyConfig = MarathonManAgent.BodyConfig;
         _bodyManager.OnInitializeAgent();
         _hasLazyInitialized = true;
     }
     _isDone = true;
     _bodyManager.OnAgentReset();
     _episodeMaxDistance = 0f;
     if (rollingAverage == null)
     {
         rollingAverage = new RollingAverage(100);
     }
 }
    public void PrepGameStart()
    {
        log.Debug("GameStart called. My PlayerID: " + Network.player.ToString());
        LockStepTurnID   = FirstLockStepTurnID;
        numberOfPlayers  = gameSetup.NumberOfPlayers;
        pendingActions   = new PendingActions(this);
        confirmedActions = new ConfirmedActions(this);
        actionsToSend    = new Queue <Action>();

        gameTurnSW = new Stopwatch();
        currentGameFrameRuntime = 0;
        networkAverage          = new RollingAverage(numberOfPlayers, initialLockStepTurnLength);
        runtimeAverage          = new RollingAverage(numberOfPlayers, initialGameFrameTurnLength);

        InitGameStartLists();

        nv.RPC("ReadyToStart", RPCMode.AllBuffered, Network.player.ToString());
    }
Example #13
0
    void Start()
    {
        _players    = new PlayerController[2];
        _players[0] = GameObject.Find("Player 0").GetComponent <PlayerController>();
        _players[1] = GameObject.Find("Player 1").GetComponent <PlayerController>();

        _indexStrings = new string[2] {
            "0", "1"
        };

        _defaultPlayerMaterials    = new Material[2];
        _defaultPlayerMaterials[0] = _players[0].GetComponent <Renderer>().material;
        _defaultPlayerMaterials[1] = _players[1].GetComponent <Renderer>().material;

        RollingAverage p1a = new RollingAverage();

        p1a.Create(8);
        RollingAverage p2a = new RollingAverage();

        p2a.Create(8);
        _playerStickAvgs = new RollingAverage[2] {
            p1a, p2a
        };

        _outputTransformsStartRot = new Quaternion[OutputTransforms.Length];
        for (int i = 0; i < OutputTransforms.Length; ++i)
        {
            _outputTransformsStartRot[i] = OutputTransforms[i].rotation;
        }
        _startingRot = transform.rotation;

        if (StartCW)
        {
            _lastInteractCW = 1;
        }
        else
        {
            _lastInteractCW = -1;
        }

        // Start fully cooled-down
        _secondsSinceAction = _turnPathMatCoolDown;
    }
 public AveragingStage(string Label) : base(Label)
 {
     Averager = new RollingAverage <T>();
 }
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Debug.WriteLine("Window Loaded");

            // Look through all sensors and start the first connected one.
            // This requires that a Kinect is connected at the time of app startup.
            // To make your app robust against plug/unplug,
            // it is recommended to use KinectSensorChooser provided in Microsoft.Kinect.Toolkit
            foreach (var potentialSensor in KinectSensor.KinectSensors)
            {
                if (potentialSensor.Status == KinectStatus.Connected)
                {
                    this.sensor = potentialSensor;
                    break;
                }
            }

            if (null != this.sensor)
            {
                // Turn on the depth stream to receive depth frames
                this.sensor.DepthStream.Enable(DepthImageFormat.Resolution640x480Fps30);

                // Allocate space to put the depth pixels we'll receive
                this.depthPixels = new short[this.sensor.DepthStream.FramePixelDataLength];

                // Allocate space to put the color pixels we'll create
                this.colorPixels = new byte[this.sensor.DepthStream.FramePixelDataLength * sizeof(int)];

                // This is the bitmap we'll display on-screen
                this.colorBitmap = new WriteableBitmap(this.sensor.DepthStream.FrameWidth, this.sensor.DepthStream.FrameHeight, 96.0, 96.0, PixelFormats.Bgr32, null);

                // Set the image we display to point to the bitmap where we'll put the image data
                //this.Image.Source = this.colorBitmap;

                // Add an event handler to be called whenever there is new depth frame data
                this.sensor.DepthFrameReady += this.SensorDepthFrameReady;

                this.sensor.DepthStream.Range = DepthRange.Near;
                xPositionAverage = new RollingAverage(5);

                // Start the sensor!
                try
                {
                    this.sensor.Start();
                }
                catch (IOException)
                {
                    this.sensor = null;
                    Debug.WriteLine("no kinect");
                    MessageBox.Show("Kinect Error");
                }
            }
            else
                MessageBox.Show("No Kinect");

            intAirAct = IAIntAirAct.New();
            intAirAct.Start();
        }
 public void RollingAverageConstructorTest()
 {
     int            capacity = -1;
     RollingAverage target   = new RollingAverage(capacity);
 }
Example #17
0
 public void Add_One_Value_Over_maxCapacity_Average_RollsOver()
 {
     var average = new RollingAverage(3);
 }
Example #18
0
    public void PrepGameStart()
    {
        log.Debug ("GameStart called. My PlayerID: " + Network.player.ToString());
        LockStepTurnID = FirstLockStepTurnID;
        numberOfPlayers = gameSetup.NumberOfPlayers;
        pendingActions = new PendingActions(this);
        confirmedActions = new ConfirmedActions(this);
        actionsToSend = new Queue<Action>();

        gameTurnSW = new Stopwatch();
        currentGameFrameRuntime = 0;
        networkAverage = new RollingAverage(numberOfPlayers, initialLockStepTurnLength);
        runtimeAverage = new RollingAverage(numberOfPlayers, initialGameFrameTurnLength);

        InitGameStartLists();

        nv.RPC ("ReadyToStart", RPCMode.AllBuffered, Network.player.ToString());
    }