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; // } }
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; } }
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; } } }
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"); } } }
// 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); }