protected override void Execute(List <GameEntity> entities)
    {
        foreach (var entity in entities)
        {
            var pos = entity.position.value;

            if (entity.position.smooth)
            {
                entity.AddCoroutine(SmoothMovement(entity), null);
            }
            else
            {
                entity.view.gameObject.transform.position = (Vector2)pos;
            }

            // TODO: what entities should create actions?
            if (entity.isTurnBased && !entity.isInit)
            {
                var action    = context.CreateEntity();
                var eventArgs = new MoveArgs()
                {
                    source = entity
                };
                action.AddAction(ActionType.MOVE, eventArgs);
            }
        }
    }
Пример #2
0
 public MoveArgsDialog(MoveArgs args)
 {
     InitializeComponent();
     startIndexTextBox.Text  = Convert.ToString(args.StartIndex);
     lengthTextBox.Text      = Convert.ToString(args.Length);
     insertIndexTextBox.Text = Convert.ToString(args.InsertIndex);
 }
Пример #3
0
 public override void MoveAxis(MoveArgs args)
 {
     if (nullifyHitPos)
     {
         firstHitPosition = args.pos;
     }
     args.pos = firstHitPosition;
     transform.parent.GetComponent <IVirgisEntity>().MoveAxis(args);
     nullifyHitPos = false;
 }
Пример #4
0
        public void CharacterMove(Mobile sender, MoveArgs args)
        {
            UpdatePositionRelativeToOwner(sender);

            // update relative screen position for everything else.
            foreach (IGameContent content in contents)
            {
                UpdateScreenPosition(content);
            }
        }
Пример #5
0
        public void CharacterMove(Mobile sender, MoveArgs args)
        {
            UpdatePositionRelativeToOwner(sender);

            // update relative screen position for everything else.
            foreach (IGameContent content in contents)
            {
                UpdateScreenPosition(content);
            }
        }
Пример #6
0
 private static void Move(MoveArgs args)
 {
     if (args.Rings == 1)
     {
         _moves.Add(new Move(args.From, args.To));
         return;
     }
     Move(new MoveArgs { Rings = args.Rings - 1, From = args.From, To = args.Via, Via = args.To });
     Move(new MoveArgs { Rings = 1, From = args.From, To = args.To, Via = args.Via });
     Move(new MoveArgs { Rings = args.Rings - 1, From = args.Via, To = args.To, Via = args.From });
 }
Пример #7
0
    private void HandleMove(MoveArgs args)
    {
        var source = args.source;

        if (!source.hasEnergy)
        {
            source.AddEnergy(0);
        }

        source.ReplaceEnergy(source.stats.movementSpeed + source.energy.energyCost);
    }
        private void marian_Move(Mobile sender, MoveArgs args)
        {
            foreach (Npc npc in npcs)
            {
                collisionDetection.Perform(marian, npc);
            }

            foreach (Item item in items)
            {
                collisionDetection.Perform(marian, item);
            }
        }
        private void marian_Move(Mobile sender, MoveArgs args)
        {
            foreach (Npc npc in npcs)
            {
                collisionDetection.Perform(marian, npc);
            }

            foreach (Item item in items)
            {
                collisionDetection.Perform(marian, item);
            }
        }
Пример #10
0
        private void Update(Field sender, MoveArgs e)
        {
            switch (e.Move)
            {
            case Move.Flag:
                NumFlags++;
                NumHidden--;
                break;

            case Move.Unflag:
                NumFlags--;
                NumHidden++;
                break;

            case Move.Reveal:
                NumOpen++;
                NumHidden--;
                break;
            }
        }
Пример #11
0
 public override void MoveTo(MoveArgs args)
 {
     transform.parent.SendMessage("Translate", args);
 }
Пример #12
0
 private void SetVal(Field sender, MoveArgs e)
 {
     Data[e.Row, e.Col].Value = e.Value;
 }
Пример #13
0
 public void OnMobileMoved(Mobile sender, MoveArgs args)
 {
     UpdateScreenPosition(sender);
 }
Пример #14
0
 public MoveControl(StringArgs args)
 {
     InitializeComponent();
     MyArgs = args as MoveArgs;
 }
Пример #15
0
 public virtual void OnMove(MoveArgs args)
 {
     Move?.Invoke(this, args);
 }
Пример #16
0
 public override void MoveTo(MoveArgs args)
 {
     if (BlockMove)
     {
         if (args.translate != Vector3.zero)
         {
             transform.Translate(args.translate, Space.World);
             transform.parent.SendMessage("Translate", args);
         }
     }
     else
     {
         if (args.translate != Vector3.zero)
         {
             MeshFilter mf             = GetComponent <MeshFilter>();
             Mesh       mesh           = mf.sharedMesh;
             Vector3    localTranslate = transform.InverseTransformVector(args.translate);
             Vector3d   target         = mesh.vertices[selectedVertex] + localTranslate;
             if (AppState.instance.editScale > 2)
             {
                 if (n != AppState.instance.editScale)
                 {
                     n = AppState.instance.editScale;
                     //
                     // first we need to find the n-ring of vertices
                     //
                     // first get 1-ring
                     nRing = new List <int>();
                     List <Int32> inside = new List <int>();
                     nRing.Add(selectedVertex);
                     for (int i = 0; i < n; i++)
                     {
                         int[] working = nRing.ToArray();
                         nRing.Clear();
                         foreach (int v in working)
                         {
                             if (!inside.Contains(v))
                             {
                                 foreach (int vring in dmesh.VtxVerticesItr(v))
                                 {
                                     if (!inside.Contains(vring))
                                     {
                                         nRing.Add(vring);
                                     }
                                 }
                             }
                             inside.Add(v);
                         }
                     }
                 }
                 //
                 // create the deformer
                 // set the constraint that the selected vertex is moved to position
                 // set the contraint that the n-ring remains stationary
                 //
                 LaplacianMeshDeformer deform = new LaplacianMeshDeformer(dmesh);
                 deform.SetConstraint(selectedVertex, target, 1, false);
                 foreach (int v in nRing)
                 {
                     deform.SetConstraint(v, dmesh.GetVertex(v), 10, false);
                 }
                 deform.SolveAndUpdateMesh();
                 newDmesh = deform.Mesh;
             }
             else
             {
                 dmesh.SetVertex(selectedVertex, target);
             }
             //
             // reset the Unity meh
             //
             if (sphere != null)
             {
                 sphere.transform.localPosition = (Vector3)dmesh.GetVertex(selectedVertex);
             }
             List <Vector3> vtxs = new List <Vector3>();
             foreach (int v in newDmesh.VertexIndices())
             {
                 vtxs.Add((Vector3)newDmesh.GetVertex(v));
             }
             mesh.vertices = vtxs.ToArray();
             mesh.RecalculateBounds();
             mesh.RecalculateNormals();
         }
     }
 }
Пример #17
0
 public MoveDialog(StringArgs args)
 {
     InitializeComponent();
     myArgs = args as MoveArgs;
     MainListView.ItemsSource = Destination;
 }
 private void npc_Move(Mobile sender, MoveArgs args)
 {
     collisionDetection.Perform(marian, (Npc)sender);
 }
 private void npc_Move(Mobile sender, MoveArgs args)
 {
     collisionDetection.Perform(marian, (Npc)sender);
 }
Пример #20
0
 public void OnMobileMoved(Mobile sender, MoveArgs args)
 {
     UpdateScreenPosition(sender);
 }