Пример #1
0
 public void ActivateSeamonsterState()
 {
     print ("ActivateSeamonsterState");
     gameState = GameState.SeaMonster;
     seaMonsterSideGoal = FloorSide.NoSide;
     //		if (sideTracker.GetFullFloorSide() != FloorSide.Right) {
     //			floorController.SendMessage ("RaiseRight");
     //			seaMonsterSideGoal = FloorSide.Right;
     //		} else if (sideTracker.GetFullFloorSide() != FloorSide.Left) {
     //			floorController.SendMessage ("RaiseLeft");
     //			seaMonsterSideGoal = FloorSide.Left;
     //		}
 }
Пример #2
0
    void OnRightSideStartEvent(object sender, EventArgs e)
    {
        print("STARTED RIGHT SIDE");
        switch (gameState) {

            case GameState.RightUpOutside:
                floorController.SendMessage("LevelDown");
                gameState = GameState.Calm;
                Resume();
                break;
            case GameState.SeaMonster:
                if (seaMonsterSideGoal == FloorSide.Right) {
                    seaMonsterTiltCount++;
                    if (seaMonsterTiltCount == seaMonsterTiltGoal) {
                        // Spit out boat here
                        floorController.SendMessage("LevelDown");
                        gameState = GameState.Calm;
                    } else {
                        LeanTween.delayedCall(1f,()=>{
                            floorController.SendMessage("RaiseLeft");
                            AudioManager.Main.PlayNewSound("BoatTilt");

                        });

                    }

                    if (this.StomachHitEvent != null) {
                        this.StomachHitEvent(this, EventArgs.Empty);
                    }
                    seaMonsterSideGoal = FloorSide.Left;
                }
                break;
        }
    }
Пример #3
0
 void fireFloorSideEvents(FloorSide newFloorSide, FloorSide oldFloorSide)
 {
     if (newFloorSide != oldFloorSide) {
         switch (oldFloorSide) {
             case FloorSide.Left:
                 if (this.LeftSideEndEvent != null) {
                     this.LeftSideEndEvent(this, EventArgs.Empty);
                 }
                 break;
             case FloorSide.Right:
                 if (this.RightSideEndEvent != null) {
                     this.RightSideEndEvent(this, EventArgs.Empty);
                 }
                 break;
             case FloorSide.NoSide:
                 if (this.NoSideEndEvent != null) {
                     this.NoSideEndEvent(this, EventArgs.Empty);
                 }
                 break;
         }
         switch (newFloorSide) {
             case FloorSide.Left:
                 if (this.LeftSideStartEvent != null) {
                     this.LeftSideStartEvent(this, EventArgs.Empty);
                 }
                 break;
             case FloorSide.Right:
                 if (this.RightSideStartEvent != null) {
                     this.RightSideStartEvent(this, EventArgs.Empty);
                 }
                 break;
             case FloorSide.NoSide:
                 if (this.NoSideStartEvent != null) {
                     this.NoSideStartEvent(this, EventArgs.Empty);
                 }
                 break;
         }
     }
 }
Пример #4
0
 public void UpdateSeaMonsterStart()
 {
     if (gameState == GameState.SeaMonster && seaMonsterSideGoal == FloorSide.NoSide) {
         if (sideTracker.GetFullFloorSide() == FloorSide.Right) {
             seaMonsterSideGoal = FloorSide.Left;
             floorController.SendMessage("RaiseLeft");
             AudioManager.Main.PlayNewSound("BoatTilt");
         } else if (sideTracker.GetFullFloorSide() == FloorSide.Left) {
             seaMonsterSideGoal = FloorSide.Right;
             floorController.SendMessage("RaiseRight");
             AudioManager.Main.PlayNewSound("BoatTilt");
         }
     }
 }
Пример #5
0
    // Update is called once per frame
    void Update()
    {
        FloorSide oldFloorSide = this.floorSide;
        if (platform == Platform.MakeyMakey) {
            if (Input.GetKey(leftKey) && !Input.GetKey(rightKey)) {
                this.floorSide = FloorSide.Left;

            } else if (Input.GetKey(rightKey) && !Input.GetKey(leftKey)) {
                this.floorSide = FloorSide.Right;

            } else {
                this.floorSide = FloorSide.NoSide;

            }

            if (Input.GetKeyDown (leftKey)) {
                if (this.LeftSideOnBoardEvent != null) {
                    this.LeftSideOnBoardEvent(this, EventArgs.Empty);
                }
            }

            if (Input.GetKeyDown (rightKey)) {
                if (this.RightSideOnBoardEvent != null) {
                    this.RightSideOnBoardEvent(this, EventArgs.Empty);
                }
            }

        }
        else if (platform == Platform.PSMove)
        {
            int rightCount = 0;
            int leftCount = 0;
            int totCount = 0;
            for(int i=0; i<PSMoveInput.MAX_MOVE_NUM; i++)
            {

                MoveController moveController = PSMoveInput.MoveControllers[i];
                if(moveController.Connected) {
                    totCount++;
                    MoveData moveData = moveController.Data;
                    if(moveData.Position.x >= 0){
                        rightCount++;
                    }
                    else{
                        leftCount++;
                    }

                }
            }

            print("totCount :" + totCount + " left: "+leftCount + " right: "+rightCount);

            if (leftCount == totCount)  {
                this.floorSide = FloorSide.Left;

            } else if (rightCount == totCount) {
                this.floorSide = FloorSide.Right;

            } else {
                this.floorSide = FloorSide.NoSide;
            }

            if (leftCount == 1) {
                if (this.LeftSideOnBoardEvent != null) {
                    this.LeftSideOnBoardEvent(this, EventArgs.Empty);
                }
            }

            if (rightCount == 1) {
                if (this.RightSideOnBoardEvent != null) {
                    this.RightSideOnBoardEvent(this, EventArgs.Empty);
                }
            }
        }

        fireFloorSideEvents(this.floorSide, oldFloorSide);
    }