Пример #1
0
        private ChangeSetHistory ReadExportFile()
        {
            _tracking = new MovementTracker();
            var result = new List <ChangeSet>();

            using (var reader = XmlReader.Create(_logFile))
            {
                while (reader.Read())
                {
                    if (reader.IsStartElement("logentry"))
                    {
                        ParseLogEntry(reader, result);
                    }
                }
            }

            // First item is latest commit because we got the by ordering
            Debug.Assert(result.First().Date >= result.Last().Date);

            Warnings = _tracking.Warnings;
            var history = new ChangeSetHistory(result);

            history.CleanupHistory();
            return(history);
        }
Пример #2
0
        public void ItemSeenFirst_GetsUniqueId([Values(
                                                    KindOfChange.Add,
                                                    KindOfChange.Rename,
                                                    KindOfChange.Delete,
                                                    KindOfChange.Edit
                                                    )]
                                               KindOfChange kind)
        {
            var tracker = new MovementTracker();

            var previousServerPath = kind == KindOfChange.Rename ? "previous_path" : null;

            tracker.BeginChangeSet(new ChangeSet());

            var ci = new ChangeItem
            {
                ServerPath     = "current_path",
                FromServerPath = previousServerPath,
                Kind           = kind
            };

            tracker.BeginChangeSet(new ChangeSet());
            tracker.TrackId(ci);
            tracker.ApplyChangeSet(new List <ChangeItem>());

            var id = ci.Id;

            Assert.NotNull(id);
            Assert.IsTrue(Guid.TryParse(id, out var uuid)); // Is a uuid
        }
Пример #3
0
        private void UpdateHistory()
        {
            var log = _gitCli.Log();

            var parser = new Parser(_mapper, null);

            parser.WorkItemRegex = _workItemRegex;
            var history = parser.ParseLogString(log);

            // Update Ids for files
            var tracker = new MovementTracker();

            foreach (var cs in history.ChangeSets)
            {
                tracker.BeginChangeSet(cs);
                foreach (var item in cs.Items)
                {
                    tracker.TrackId(item);
                }

                cs.Items.Clear();
                tracker.ApplyChangeSet(cs.Items);
            }

            Warnings = tracker.Warnings;

            // Write history file
            var json = JsonConvert.SerializeObject(history, Formatting.Indented);

            File.WriteAllText(_gitHistoryExportFile, json, Encoding.UTF8);

            // For information
            File.WriteAllText(Path.Combine(_cachePath, @"git_full_history.txt"), log);
        }
Пример #4
0
        public MovementTrackerControl(MovementTracker movementTracker) : this()
        {
            mPlugin               = movementTracker;
            mPlugin.TimeChanged  += new Action(mPlugin_TimeChanged);
            mPlugin.StateChanged += new Action(mPlugin_StateChanged);

            stateLabel.Text = "State: " + movementTracker.ExperimentState;
        }
Пример #5
0
        public void TestLargeEnoughToChange()
        {
            var movementTracker = new MovementTracker();

            float[] testFloats = { 1f, 1f, 2f, 2f, 0f, 0f, 0f, 0f, 0f, 0f };

            movementTracker.GetAgentMemory(new Vector3(1, 1, 1));
            Assert.AreEqual(testFloats, movementTracker.GetAgentMemory(new Vector3(2, 1, 2)));
        }
        public Task <Turn> PlayTurn(PlayTurnRequest request)
        {
            var avoidCombat = false;

            return(Strategic());

            Task <Turn> Strategic()
            {
                return(request.IsCombat ? StrategicCombat() : StrategicNonCombat());
            }

            Task <Turn> StrategicCombat()
            {
                if (!request.IsCombat)
                {
                    return(Task.FromResult(new Turn(TurnAction.Attack)));
                }

                if (HealthChecker.NeedsToChug(request.PartyMember) && request.PossibleActions.Contains(TurnAction.DrinkPotion))
                {
                    return(Task.FromResult(new Turn(TurnAction.DrinkPotion)));
                }

                return(Task.FromResult(new Turn(TurnAction.Attack, Targeter.GetPriorityTarget(request.PossibleTargets))));
            }

            Task <Turn> StrategicNonCombat()
            {
                if (request.PossibleActions.Contains(TurnAction.Attack) && _random.NextDouble() > 0.5)
                {
                    return(StrategicCombat());
                }

                var movements = MovementTracker.GetMovementActions();

                if (request.PossibleActions.Contains(TurnAction.Loot))
                {
                    return(Task.FromResult(new Turn(TurnAction.Loot)));
                }

                if (request.PossibleActions.Contains(TurnAction.Open))
                {
                    return(Task.FromResult(new Turn(TurnAction.Open)));
                }

                var movementoptions =
                    request.PossibleActions.Where(s => movements.Contains(s));

                var direction = movetracker.GetNextDirection(movementoptions.ToList(), request.PartyLocation);

                Debug.WriteLine(direction);

                return(Task.FromResult(new Turn(direction)));
            }
        }
Пример #7
0
        public void TestInitialFloatArray()
        {
            var movementTracker = new MovementTracker();
            var testFloats      = new float[10];

            for (var i = 0; i < 2; i++)
            {
                testFloats[i] = 1;
            }
            Assert.AreEqual(testFloats, movementTracker.GetAgentMemory(new Vector3(1, 1, 1)));
        }
Пример #8
0
 private void Start()
 {
     if (instance == null)
     {
         instance = this;
     }
     else if (instance != this)
     {
         Debug.LogError("Multiple instances of MovementTracker!");
     }
 }
Пример #9
0
        public void TestTooSmallToChange()
        {
            var movementTracker = new MovementTracker();
            var testFloats      = new float[10];

            for (var i = 0; i < 2; i++)
            {
                testFloats[i] = 1;
            }
            movementTracker.GetAgentMemory(new Vector3(1, 1, 1));
            Assert.AreEqual(testFloats, movementTracker.GetAgentMemory(new Vector3(1, 1, 0.5f)));
        }
Пример #10
0
        public void TestFullList()
        {
            var movementTracker = new MovementTracker();

            float[] testFloats = { 1f, 1f, 2f, 2f, 3f, 3f, 4f, 4f, 5f, 5f };

            movementTracker.GetAgentMemory(new Vector3(1, 1, 1));
            movementTracker.GetAgentMemory(new Vector3(2, 1, 2));
            movementTracker.GetAgentMemory(new Vector3(3, 1, 3));
            movementTracker.GetAgentMemory(new Vector3(4, 1, 4));
            Assert.AreEqual(testFloats, movementTracker.GetAgentMemory(new Vector3(5, 1, 5)));
        }
Пример #11
0
        public void InvalidArguments_RenameHasNoPreviousServerPath()
        {
            var tracker = new MovementTracker();

            var ci = new ChangeItem
            {
                Kind = KindOfChange.Rename
            };

            StartChangeSet();
            Assert.Throws <ArgumentException>(() => tracker.TrackId(ci));
            EndChangeSet();
        }
Пример #12
0
        public void InvalidArguments_NonRenameHasPreviousServerPath()
        {
            var tracker = new MovementTracker();

            var ci = new ChangeItem
            {
                Kind           = KindOfChange.Edit,
                FromServerPath = "unexpected"
            };

            StartChangeSet();
            Assert.Throws <ArgumentException>(() => tracker.TrackId(ci));
            EndChangeSet();
        }
 public ScaleGesture(Game game, MovementTracker tracker)
     : base(game)
 {
     _tracker = tracker;
 }
 public TranslationGesture(Game game, MovementTracker tracker, JointID cursor = JointID.HandRight)
     : base(game)
 {
     _cursor = cursor;
     _tracker = tracker;
 }
Пример #15
0
 protected override void Awake()
 {
     base.Awake();
     _movementTracker         = new MovementTracker(Quarry, _trackingInterval);
     _movementTracker.enabled = Quarry != null;
 }
Пример #16
0
 public void SetUp()
 {
     _tracker = new MovementTracker();
 }
 public RotateGesture(Game game, MovementTracker tracker)
     : base(game)
 {
     _tracker = tracker;
     _matrix = Matrix.Identity;
 }
Пример #18
0
 protected override void Awake()
 {
     base.Awake();
     _movementTracker         = new MovementTracker(Menace, _trackingInterval);
     _movementTracker.enabled = Menace != null;
 }
Пример #19
0
 private void Start()
 {
     instance      = this;
     this.hexNodes = new List <HexNode>();
     this.movementLineRenderer.positionCount = 0;
 }