// You need to call this followed by the init() for your selected mode protected CameraMode SetMode(CamModeID modeID) { CameraMode newMode = null; switch (modeID) { case CamModeID.kNormal: newMode = new ModeNormal(); break; case CamModeID.kMoveToPos: newMode = new ModeMovingToPos(); break; case CamModeID.kMoveToTarget: newMode = new ModeMovingToTarget(); break; case CamModeID.kOrbit: newMode = new ModeOrbit(); break; case CamModeID.kBikeView: newMode = new ModeBikeView(); break; case CamModeID.kOverheadView: newMode = new ModeOverheadView(); break; case CamModeID.kEnemyView: newMode = new ModeEnemyView(); break; } if (newMode != null) { if (_curMode != null) { _curMode.end(); } _curMode = newMode; _curModeID = modeID; } return(newMode); }
public void StartBikeMode(GameObject targetBike) { ModeBikeView mode = (ModeBikeView)SetMode(CamModeID.kBikeView); mode.init(this, targetBike); }