// Use this for initialization
    void Start()
    {
        Instance    = this;
        progress    = 0;
        ignoreFirst = true;
        target      = null;

        if (transitionMaterial == null)
        {
            transitionMaterial       = new Material(Shader.Find("Diffuse"));
            transitionMaterial.color = new Color(0, 0, 0);
        }
    }
    // Use this for initialization
    void Start()
    {
        Instance = this;
        progress = 0;
        ignoreFirst = true;
        target = null;

        if( transitionMaterial == null )
        {
            transitionMaterial = new Material( Shader.Find( "Diffuse" ) );
            transitionMaterial.color = new Color( 0,0,0 );
        }
    }
 private bool wholeBoardClick(TouchType eventtype, TouchRect touchbox, int x, int y, bool collide)
 {
     if (eventtype == TouchType.TouchDown)
     {
         if (State.Congrats && State.CardAnimationMotion.Completed)
         {
             Client.PlaySoundEffect(Assets.Sounds.Click);
             GameService.ClassicGameState.CharacterWon(State.CurrentChosenNumber.Character);
             ScreenTransitioner.ChangeToBoardCardSelectionScreen();
             return(false);
         }
     }
     return(true);
 }
        private bool passPress(TouchType eventtype, TouchRect touchbox, int x, int y, bool collide)
        {
            if (State.Congrats)
            {
                return(false);
            }
            if (GameService.ClassicGameState.Board.MoveToPosition != null)
            {
                return(false);
            }
            if (eventtype == TouchType.TouchDown)
            {
                Client.PlaySoundEffect(Assets.Sounds.Click);
                for (int i = State.Moves.Count - 1; i >= 0; i--)
                {
                    PlayerPosition undo = State.Moves[i];
                    undo.Character.Position.X = undo.X;
                    undo.Character.Position.Y = undo.Y;
                    undo.Character.Direction  = undo.Direction;
                }
                State.Moves.Clear();


                GameService.ClassicGameState.ChosenNumbers.Remove(State.CurrentChosenNumber);
                if (GameService.ClassicGameState.ChosenNumbers.Count == 0)
                {
                    ISquarePiece goal = GameService.ClassicGameState.Board.SquarePieces.First(a => a is GoalPiece && ((GoalPiece)a).Goal == GameService.ClassicGameState.CurrentGoal);

                    GameService.ClassicGameState.Board.SquarePieces.Remove(goal);

                    GameService.ClassicGameState.CharacterLost();
                    ScreenTransitioner.ChangeToBoardCardSelectionScreen();
                    return(false);
                }
                startTurn(GameService.ClassicGameState.ChosenNumbers[GameService.ClassicGameState.ChosenNumbers.Count - 1]);
            }
            return(false);
        }
        private void PlayerWon(GoalPiece goal)
        {
            Point pos = Positions.CharacterPositions[State.CurrentChosenNumber.Character.CharacterNumber];

            State.Congrats = true;
            IImage goalImage = GoalPiece.GetGoalImage(GameService.ClassicGameState.CurrentGoal);

            State.CardAnimationMotion = MotionManager.StartMotion(Positions.CongratsPosition.X, Positions.CongratsPosition.Y, new WaitMotion(200))
                                        .Motion(new AnimationMotion(pos.X + 0, pos.Y + BoardConstants.TopAreaHeight, 2000, AnimationEasing.BounceEaseOut))
                                        .OnRender((layer, posX, posY, animationIndex, percentDone) =>
            {
                MainLayer.Save();
                MainLayer.SetDrawingTransparency(1 - percentDone);
                MainLayer.DrawImage(goalImage, posX, posY, 220, 220, true);
                MainLayer.Restore();
            }).OnComplete(() =>
            {
                GameService.ClassicGameState.Board.SquarePieces.Remove(goal);

                GameService.ClassicGameState.CharacterWon(State.CurrentChosenNumber.Character);
                ScreenTransitioner.ChangeToBoardCardSelectionScreen();
            });
        }
 public BoardSlidingAreaLayout(GameService gameService, ScreenTransitioner screenTransitioner)
 {
     GameService        = gameService;
     ScreenTransitioner = screenTransitioner;
 }
Example #7
0
 public SettingsAreaLayout(GameService gameService, ScreenTransitioner screenManager)
 {
     this.screenManager = screenManager;
     GameService        = gameService;
 }
 public BoardCardSelectionAreaLayout(GameService gameService, ScreenTransitioner screenTransitioner)
 {
     GameService        = gameService;
     ScreenTransitioner = screenTransitioner;
 }
        private bool squareTouch(int boxX, int boxY, TouchType eventtype, TouchRect touchbox, int touchX, int touchY, bool collide)
        {
            if (State.ShowingTutorial > 0)
            {
                return(true);
            }

            switch (GameService.ClassicGameState.GameState)
            {
            case GameSelectionState.PlayerPlace:
                switch (eventtype)
                {
                case TouchType.TouchUp:

                    if (collide)
                    {
                        if (State.CurrentCharacter.X == -1)
                        {
                            return(false);
                        }
                        if (GameService.ClassicGameState.Board.getItemsOnBoard(null, State.CurrentCharacter.X, State.CurrentCharacter.Y).Any(a => a is SolidWallPiece || a is GoalPiece || a is PlayerPiece))
                        {
                            return(false);
                        }
                        Client.PlaySoundEffect(Assets.Sounds.Click);

                        State.CurrentCharacter.Selected = false;

                        GameService.ClassicGameState.Board.AddPlayer(State.CurrentCharacter.X, State.CurrentCharacter.Y, State.CurrentCharacter.CharacterNumber);

                        State.CurrentCharacter.Playing = true;

                        GameService.ClassicGameState.GameState = GameSelectionState.PlayerChoose;
                        State.CurrentPlayerChoosing++;
                        if (State.CurrentPlayerChoosing == GameService.ClassicGameState.NumberOfPlayers)
                        {
                            var cs = new List <Character>();
                            for (int i = 0; i < 6; i++)
                            {
                                while (true)
                                {
                                    int rx = RandomUtil.RandomInt(0, BoardConstants.SquareWidth);
                                    int ry = RandomUtil.RandomInt(0, BoardConstants.SquareHeight);
                                    if (!GameService.ClassicGameState.Board.getItemsOnBoard(null, rx, ry).Any(a => a is SolidWallPiece || a is GoalPiece || a is PlayerPiece))
                                    {
                                        foreach (Character chosenCharacter in GameService.ClassicGameState.Characters)
                                        {
                                            if (!chosenCharacter.Playing)
                                            {
                                                cs.Add(chosenCharacter);
                                                chosenCharacter.Playing = true;

                                                GameService.ClassicGameState.Board.AddPlayer(rx, ry, chosenCharacter.CharacterNumber);
                                                break;
                                            }
                                        }
                                        break;
                                    }
                                }
                            }
                            foreach (Character c in cs)
                            {
                                c.Selected = false;
                                c.Playing  = false;
                            }

                            GameService.ClassicGameState.GameState = GameSelectionState.PickCard;
                            ScreenTransitioner.ChangeToBoardCardSelectionScreen();
                        }
                    }

                    break;

                case TouchType.TouchMove:

                    if (
                        !GameService.ClassicGameState.Board.getItemsOnBoard(null, boxX, boxY)
                        .Any(a => a is SolidWallPiece || a is GoalPiece || a is PlayerPiece))
                    {
                        State.CurrentCharacter.X = boxX;
                        State.CurrentCharacter.Y = boxY;
                    }
                    break;
                }

                break;
            }
            return(false);
        }
Example #10
0
 public LandingAreaLayout(GameService gameService, ScreenTransitioner screenTransitioner)
 {
     _screenTransitioner = screenTransitioner;
     GameService         = gameService;
 }