示例#1
0
文件: GameView.cs 项目: jimu/pbem001
        void DisplayMove(Bopper.Unit unit, int prevCoord, int prevLayer, string message)
        {
            StopAnimator(); // this was supposed to fix stacking problem but it didn't

            HexCoordinates startHcoord = HexCoordinates.FromRivets(prevCoord);
            HexCoordinates destHcoord  = HexCoordinates.FromRivets(unit.coord);

            Unit counter = idToUnit[unit.id];

            Vector3 startPos = hexGrid.HexCoordinatesToPosition(startHcoord);
            Vector3 endPos   = hexGrid.HexCoordinatesToPosition(destHcoord);

            hexGrid.RemoveUnitInCell(startHcoord, unit.id);
            hexGrid.AddUnitToCell(destHcoord, counter, unit.layer);
            endPos = counter.transform.position;
            Debug.Log($"DisplayMove: endPos is {endPos}");
            //counter.transform.position = startPos; // try to prevent flash

            counter.GetComponent <MoveCommandAnimation>().Init(startPos, endPos);
            StartAnimator(counter.GetComponent <Animator>(), "Moving");
            SetStatusMessage(message);
        }