예제 #1
0
        public void Step(Token keyword, Token name)
        {
            string stepText   = string.Format("{0} {1}", keyword.Content, name.Content);
            var    stringStep = new StringStep(stepText, file, keyword.LineInFile.Line);

            events.Enqueue(new StepEvent(stepText, e => StepEvent.Invoke(this, new EventArgs <StringStep>(stringStep))));
        }
예제 #2
0
        private void HandleStep(StepEvent stepEvent)
        {
            _engine.Events.StepCompleted(_mainThread);
            logger.Trace("Stepping: {0}:{1}", stepEvent.Method.Name, stepEvent.Location);

            isStepping = false;
        }
예제 #3
0
 private void OnStep(StepEvent stepEvent)
 {
     Trace("OnStep event");
     stepEvent.Request.Disable();
     _requestWaitingForResponse = null;
     OnVMGotSuspended(stepEvent);
 }
예제 #4
0
 private void Worker_DoWork(object sender, DoWorkEventArgs e)
 {
     while (!stopWorking)
     {
         Thread.Sleep(GameCore.EnumsAndConstant.GameConstants.PauseBetweenSteps);
         StepEvent?.Invoke();
     }
 }
예제 #5
0
        private void OnDestroy()
        {
            Event = null;

            //Debug.Log( "EventView OnDestroy" );
            UnbindFromPicker();

            TimelineViewBehaviour.StepPicker.Hide();
        }
예제 #6
0
    private void OnTriggerEnter(Collider other)
    {
        StepEvent temp = other.GetComponent <StepEvent>();

        if (temp != null)
        {
            temp.zone = zone;
        }
    }
        private void AddEventView(StepEvent @event)
        {
            var eventViewGo = Instantiate(EventViewPrefab);
            var eventView   = eventViewGo.GetComponent <TimelineEventViewBehaviour>();

            eventView.RectTransform.SetParent(EventAttachmentPoint, false);

            EventViews.Add(eventView);

            eventView.Event = @event;
        }
예제 #8
0
        public static Color GetEventColor(StepEvent @event)
        {
            if (EventsToColors.ContainsKey(@event))
            {
                return(EventsToColors[@event]);
            }

            var color = Instance.EventColors[EventColorsUsed++ % Instance.EventColors.Count];

            EventsToColors.Add(@event, color);

            return(color);
        }
예제 #9
0
 void Handle(StepEvent e)
 {
     constraint.ForEachGameObject((egoComponent, sfx, actor) =>
     {
         if (actor.guid == e.actorGuid && Time.time - sfx.timeOfLastStepSound > sfx.stepSoundRate)
         {
             int index = Random.Range(0, sfx.footSounds.Length - 1);
             sfx.footSounds[index].pitch = Random.Range(0.9f, 1.1f);
             sfx.footSounds[index].Play();
             sfx.timeOfLastStepSound = Time.time;
         }
     });
 }
예제 #10
0
        public void Update()
        {
            /*
             * Dictionary<object, object> dict = Program.state.GetTableDict(_);
             * foreach(var kv in dict)
             * {
             *  Debug.Log(kv.Key.ToString() + " => " + kv.Value.ToString());
             * }
             */

            Position += Velocity;
            StepEvent?.Invoke(this);
        }
예제 #11
0
        private void HandleStep(StepEvent stepEvent)
        {
            if (currentStepRequest != null)
            {
                currentStepRequest.Enabled = false;
                currentStepRequest         = null;
            }

            _engine.Callback.StepCompleted(_mainThread);
            logger.Trace("Stepping: {0}:{1}", stepEvent.Method.Name, stepEvent.Location);

            isStepping = false;
        }
예제 #12
0
        private void HandleStep(StepEvent stepEvent)
        {
            DebugHelper.TraceEnteringMethod();
            if (currentStepRequest != null)
            {
                currentStepRequest.Enabled = false;
                currentStepRequest         = null;
            }

            _engine.Callback.StepCompleted(GetThread(stepEvent));
            logger.Trace("Stepping: {0}:{1}", stepEvent.Method.Name, stepEvent.Location);

            _isStepping = false;
        }
예제 #13
0
        private void RemoveEventView(StepEvent @event)
        {
            var eventView = EventViews.FirstOrDefault(view => view.Event == @event);

            if (eventView == null)
            {
                return;
            }

            EventViews.Remove(eventView);

            eventView.Shutdown();

            Destroy(eventView.gameObject);
        }
예제 #14
0
 private void _stepController_StepEvent(object sender, StepEvents stepEvents)
 {
     stepEvents.EndTime = stepEvents.StartTime.AddMinutes(_totalDuration);
     _logItem.LogItemStepEvents(stepEvents);
     StepEvent?.Invoke(sender, stepEvents);
 }
예제 #15
0
    public override void FixedUpdate()
    {
        // For each GameObject that fits the constraint...
        constraint.ForEachGameObject((egoComponent, rigidbody, input, movement, actor) =>
        {
            //movement.onGround = false;
            //movement.onPassThrough = false;

            //Collider[] hitColliders = Physics.OverlapSphere(rigidbody.position+(Vector3.down*0.4f), 0.2f);
            //int i = 0;
            //while (i < hitColliders.Length)
            //{
            //    if (hitColliders[i].GetComponent<EgoComponent>().HasComponents<JumpOffable>())
            //    {
            //        SetOnGround(movement);
            //    }
            //    if (hitColliders[i].GetComponent<EgoComponent>().HasComponents<PassThrough>())
            //    {
            //        movement.onPassThrough = true;
            //    }
            //    i++;
            //}

            Vector3 intendedVector = new Vector3(input.horizontalAxis * movement.xSpeed, input.verticalAxis * movement.ySpeed, 0f);
            movement.velocity.x    = Mathf.Lerp(movement.velocity.x, intendedVector.x, Time.fixedDeltaTime);


            if (!movement.onGround)
            {
                if (intendedVector.y < 0)
                {
                    Dive(movement, intendedVector);
                }
                if (intendedVector.y >= 0)
                {
                    Fall(movement);
                }
                movement.velocity.x = Mathf.Lerp(movement.velocity.x, 0f, Time.fixedDeltaTime * movement.windResistance);
            }
            if (movement.onPassThrough)
            {
                if (intendedVector.y < 0)
                {
                    rigidbody.MovePosition(rigidbody.position - (Vector3.up));
                }
            }
            if (movement.onGround)
            {
                if (Mathf.Abs(movement.velocity.x) > 3f)
                {
                    var e = new StepEvent(actor.guid);
                    EgoEvents <StepEvent> .AddEvent(e);
                }
                BecomeStationary(movement);
                if (intendedVector.y < 0)
                {
                    movement.crouched = true;
                }
                if (intendedVector.y >= 0)
                {
                    movement.crouched = false;
                }
            }
            if (input.jumpKeyPressed)
            {
                TryJump(movement, rigidbody, actor);
                input.jumpKeyPressed = false;
            }
            if (input.dashKeyPressed)
            {
                TryDash(movement, actor);
                input.dashKeyPressed = false;
            }

            SetVelocity(rigidbody, movement);
        });
    }
예제 #16
0
파일: Form1.cs 프로젝트: duurt/tcx-editor
 private void RaiseStepEvent(int step)
 {
     StepEvent?.Invoke(this, new StepEventArgs(step));
 }
예제 #17
0
 internal float?InvokeStepEvent(float inc, float inc_per)
 {
     return(StepEvent?.Invoke(inc, inc_per));
 }
예제 #18
0
파일: GuiStub.cs 프로젝트: duurt/tcx-editor
 public void RaiseStepEvent(int step) => StepEvent.Invoke(this, new StepEventArgs(step));
예제 #19
0
 private void _updateTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
 {
     _stepEvent.TimeLeft = _stepEvent.StartTime.AddMinutes(_stepEvent.Duration) - DateTime.Now;
     StepEvent?.Invoke(this, _stepEvent);
 }