Esempio n. 1
0
        private void MoveCharacter(Vector2 move)
        {
            var newTransform = CurrentGridLocation + move;

            if (mapController.CheckValid(newTransform, CharacterGuid))
            {
                var cost = mapController.CheckCost(newTransform);
                if (ActivityEnergy >= cost)
                {
                    ConsumeEnergy(cost);
                    mapController.Changeloc(CurrentGridLocation, newTransform);
                    transform.position  = new Vector3(newTransform.x, 0, newTransform.y);
                    CurrentGridLocation = new Vector2(newTransform.x, newTransform.y);
                }
            }
            else
            {
                OnFailedMove?.Invoke();
            }
        }