Ejemplo n.º 1
0
 private void MovementListSelectionChange()
 {
     lock (instanceMutationLock) {
         selectedMovementStep      = ((LevelEntityMovementStep)movementFrameList.SelectedItem);
         travelTimeField.Value     = (decimal)selectedMovementStep.TravelTime;
         smoothingCheckbox.Checked = selectedMovementStep.SmoothTransition;
         if (!ignoreStepChanges)
         {
             EditorToolbar.SetEntityMovementStep(editTarget, selectedMovementStep);
         }
     }
 }
 public void AddMovementStep(LevelEntityMovementStep step, LevelEntityMovementStep insertAfterTarget = null)
 {
     lock (instanceMutationLock) {
         if (insertAfterTarget != null)
         {
             int index = movementSteps.IndexOf(insertAfterTarget);
             movementSteps.Insert(index + 1, step);
         }
         else
         {
             movementSteps.Add(step);
         }
     }
 }
Ejemplo n.º 3
0
 public void ReplaceSelectedMovementStep(LevelEntityMovementStep newLems)
 {
     lock (instanceMutationLock) {
         ignoreStepChanges = true;
         editTarget.ReplaceMovementStep(selectedMovementStep, newLems);
     }
     Invoke(new Action(() => {
         UpdateMovementData();
         movementFrameList.SelectedItem = newLems;
     }));
     lock (instanceMutationLock) {
         ignoreStepChanges = false;
     }
 }
Ejemplo n.º 4
0
        private void AddMovementFrame()
        {
            var selectedStep = movementFrameList.SelectedItem as LevelEntityMovementStep;

            if (selectedStep == null)
            {
                selectedStep = editTarget.InitialMovementStep;
            }
            LevelEntityMovementStep newStep = new LevelEntityMovementStep(selectedStep.Transform, 1f, false);

            editTarget.AddMovementStep(newStep, movementFrameList.SelectedItem as LevelEntityMovementStep);
            UpdateMovementData();
            movementFrameList.SelectedItem = newStep;
        }
Ejemplo n.º 5
0
        private void TravelTimeOrSmoothingChanged()
        {
            var selectedStep = movementFrameList.SelectedItem as LevelEntityMovementStep;

            if (selectedStep == null)
            {
                movementFrameList.SelectedIndex = 0;
                return;
            }
            LevelEntityMovementStep replacement = new LevelEntityMovementStep(selectedStep.Transform, (float)travelTimeField.Value, smoothingCheckbox.Checked);

            editTarget.ReplaceMovementStep(selectedStep, replacement);
            UpdateMovementData();
            movementFrameList.SelectedItem = replacement;
        }
Ejemplo n.º 6
0
        private void DeleteMovementFrame()
        {
            if (editTarget.IsStatic)
            {
                MessageBox.Show(this, "Can not delete the last movement step.");
                return;
            }
            LevelEntityMovementStep selectedStep = movementFrameList.SelectedItem as LevelEntityMovementStep;

            if (selectedStep == null)
            {
                MessageBox.Show(this, "Please select a movement step first.");
                return;
            }
            var dialogResult = MessageBox.Show(this, "Are you sure you wish to delete the selected movement frame?", "Delete movement frame", MessageBoxButtons.OKCancel);

            if (dialogResult == DialogResult.Cancel)
            {
                return;
            }
            editTarget.RemoveMovementStep(selectedStep);
            UpdateMovementData();
            movementFrameList.SelectedIndex = 0;
        }
 public void ReplaceMovementStep(LevelEntityMovementStep existing, LevelEntityMovementStep replacement)
 {
     lock (instanceMutationLock) {
         movementSteps.Replace(existing, replacement);
     }
 }
 public void RemoveMovementStep(LevelEntityMovementStep step)
 {
     lock (instanceMutationLock) {
         movementSteps.Remove(step);
     }
 }
 public LevelGeometryEntity(LevelDescription parentLevel, string tag, LevelGeometry geom, LevelMaterial mat, int id, LevelEntityMovementStep movementStep = null)
 {
     Tag              = tag;
     geomID           = geom.ID;
     matID            = mat.ID;
     ID               = id;
     this.ParentLevel = parentLevel;
     AddMovementStep(movementStep ?? new LevelEntityMovementStep(Transform.DEFAULT_TRANSFORM, 0f, false));
     alternatingMovementDirection = false;
     initialDelay = 0f;
     texPan       = Vector2.ZERO;
 }