Ejemplo n.º 1
0
        private void SelectCharacter(int index)
        {
            if (index >= 0 && index < this.Characters.Length)
            {
                Vector3             position  = new Vector3();
                Character.Direction direction = Character.Direction.Right;
                if (this.selectedCharacter != null)
                {
                    // Remove previous character
                    position  = this.selectedCharacter.transform.position;
                    direction = this.selectedCharacter.CurrentDirection;
                    GameObject.Destroy(this.selectedCharacter.gameObject);
                }
                else if (this.SpawnPlayerPoint != null)
                {
                    position = this.SpawnPlayerPoint.position;
                }

                // Spawn new character
                this.selectedCharacter = Character.Create(this.Characters[this.selectedIndex], direction, position);

                // Add some floating text to show the character name
                Vector3 titlePosition = this.selectedCharacter.transform.position + (Vector3.up * 1f);
                string  text          = this.selectedCharacter.name.Replace("_", " ").Replace("(Clone)", "");
                FloatingText.Create(this.Title, this.UICanvas, titlePosition, text);

                SimpleFollowCamera cam = Camera.main.GetComponent <SimpleFollowCamera>();
                if (cam != null)
                {
                    cam.FollowTarget = this.selectedCharacter.transform;
                }
            }
        }
Ejemplo n.º 2
0
    private void MoveBox(Character.Direction dir)
    {
        if (dir == Direction.Left)
        {
            if (displayPos.x > -3.3)
            {
                displayPos.x = displayPos.x - 1.3f;
            }
        }
        else if (dir == Direction.Right)
        {
            if (displayPos.x < 4.45)
            {
                displayPos.x = displayPos.x + 1.3f;
            }
        }

        if (GameController.currentPhase == GameController.Phase.Two)
        {
            if (displayPos.x < -3.3)
            {
                displayPos.x = -3.3f;
            }
            else if (displayPos.x > 4.45)
            {
                displayPos.x = 4.45f;
            }
        }

        UpdatePosition();
    }
Ejemplo n.º 3
0
 public string get(Character.Direction direction)
 {
     if (animated)
     {
         return(baseTex + " " + getSide(direction) + " " + frame);
     }
     else
     {
         return(baseTex + " " + getSide(direction));
     }
 }
 // Simplification for keyboard input handler
 public void PlayerMoveToDirection(Character.Direction direction)
 {
     if (!paused)
     {
         gameControl.DefinePathsForSkeletons();
         gameControl.Player.Dir = direction;
         gameControl.PlayerMove();
         gameControl.GrabLoot();
         gameControl.GetSkeletonInfo();
     }
 }
Ejemplo n.º 5
0
        public string getSide(Character.Direction direction)
        {
            switch (direction)
            {
            case Character.Direction.Left: return("side");

            case Character.Direction.Right: return("side");

            case Character.Direction.Forward: return("forward");

            case Character.Direction.Back: return("back");

            default: return("side");
            }
        }
Ejemplo n.º 6
0
    protected override void CalculateMovement(Character character)
    {
        var move = _inputMaster.Player.Move.ReadValue <Vector2>();

        if (Vector3.Distance(_player.transform.position, Target.position) <= .05f)
        {
            Character.Direction directionToMove = character.direction;
            if (move.x > 0)
            {
                directionToMove = Character.Direction.East;
            }
            if (move.x < 0)
            {
                directionToMove = Character.Direction.West;
            }
            if (move.y < 0)
            {
                directionToMove = Character.Direction.South;
            }
            if (move.y > 0)
            {
                directionToMove = Character.Direction.North;
            }


            if (directionToMove == character.direction)
            {
                if (Mathf.Abs(move.x) > 0f)
                {
                    Target.position += new Vector3(move.x > 0f ? 1 : -1, 0f, 0f);
                }
                else if (Mathf.Abs(move.y) > 0f)
                {
                    Target.position += new Vector3(0f, move.y > 0f ? 1 : -1, 0f);
                }
            }

            character.direction = directionToMove;
        }
    }
Ejemplo n.º 7
0
 public Texture2D getTexture(Character.Direction direction)
 {
     return(TextureManager.Get(get(direction)));
 }