//private constructor //base instead of super, location also changes private XCmdToChangeScene(XApp app, XScene toScene, XScene returnScene) : base(app) { this.mFromScene = app.getScenarioMgr().getCurScene(); this.mToScene = toScene; this.mReturnScene = returnScene; }
//static method to construct and execute this command public static bool execute( XApp app, XScene toScene, XScene returnScene) { XCmdToChangeScene cmd = new XCmdToChangeScene(app, toScene, returnScene); return(cmd.execute()); }
public void setCurScene(XScene scene) { if (this.mCurScene != null) { this.mCurScene.wrapUp(); } scene.getReady(); this.mCurScene = scene; }
protected override string createLog() { //getClass().getSimpleName() => GetType().Name StringBuilder sb = new StringBuilder(); sb.Append(this.GetType().Name).Append("\t"); sb.Append(this.mFromScene.GetType().Name).Append("\t"); XScene curScene = this.mApp.getScenarioMgr().getCurScene(); sb.Append(curScene.GetType().Name).Append(" \t"); if (this.mReturnScene == null) { sb.Append("null"); } else { sb.Append(curScene.getReturnScene().GetType().Name); } return(sb.ToString()); }
//concrete methods protected void addScene(XScene scene) { this.mScenes.Add(scene); }