// Use this for initialization void Awake() { Debug.Log("<color=cyan>START GAME</color>"); if (startText == null) Debug.LogError("No <color=cyan>startText</color> assigned to:<color=cyan>"+gameObject.name+"</color>"); if (screen1 == null) Debug.LogError("No <color=cyan>screen1</color> assigned to:<color=cyan>"+gameObject.name+"</color>"); if (screen2 == null) Debug.LogError("No <color=cyan>screen2</color> assigned to:<color=cyan>"+gameObject.name+"</color>"); UIManager ui = UIManager.Instance; UIManager.ScreenChanged = notifyScreenChanged; ui.AddScreen(screen1); ui.AddScreen(screen2); ui.ActivateScreen(screen1.name); startText.SetActive(false); //localisation i18nManager = I18nManager.Instance; i18nManager.SetLanguage(lang); //add an empty main game GMGame game = new GMGame("TestGame"); gm = GameManager.Instance; ACondition falseCond = new FalseCondition(); ACondition trueCond = new TrueCondition(); ACondition relTimeCond = new TimerCondition(TimerType.Absolute, 8, game.TimeSource); //true after 1sec //this will only be fired, when both fireCondition is true at the same time ScriptTrigger<string> trigger3 = new ScriptTrigger<string>(); trigger3.Value = "TestGame"; trigger3.Function = TestScriptFunctionString; trigger3.Priority = 1; trigger3.Repeat = 1; //only fire once trigger3.FireCondition += trueCond.Check; //always true, but you can check sg extra here trigger3.FireCondition += relTimeCond.Check; //should fire only when time reached trigger3.DeleteCondition = falseCond.Check; //don't remove until repeating gm.Add (game); game.AddTrigger(trigger3); Debug.Log (" ----> AddTrigger 3"); gm.Start(game.Name); }
/// <summary> /// Creates Game1. /// </summary> public GMGame CreateGame1() { //create games and add triggers GMGame game = new GMGame("game1"); //create conditions ACondition cond1 = new TestCondition("Test-Cond-1", true); //ACondition cond2 = new TestCondition("Test-Cond-2", true); ACondition falseCond = new FalseCondition(); ACondition trueCond = new TrueCondition(); ACondition relTimeCond = new TimerCondition(TimerType.Relative, 1, game.TimeSource); //true after 1sec //create triggers ScriptTrigger<int> trigger1 = new ScriptTrigger<int>( 2, 500, trueCond.Check, null, TestScriptFunctionInt, 111); ScriptTrigger<int> trigger2 = new ScriptTrigger<int>(); trigger2.Value = 222; trigger2.Function = TestScriptFunctionInt; trigger2.Priority = 3; trigger2.Repeat = 3; trigger2.FireCondition = cond1.Check; //this will only be fired, when both fireCondition is true at the same time ScriptTrigger<string> trigger3 = new ScriptTrigger<string>(); trigger3.Value = "game2"; trigger3.Function = TestScriptFunctionString; trigger3.Priority = 1; trigger3.Repeat = 1; //only fire once trigger3.FireCondition += trueCond.Check; //always true, but you can check sg extra here trigger3.FireCondition += relTimeCond.Check; //should fire only when time reached trigger3.DeleteCondition = falseCond.Check; //don't remove until repeating game.AddTrigger(trigger1); game.AddTrigger(trigger2); Debug.Log ("Added trigger 3"); game.AddTrigger(trigger3); return game; }
/// <summary> /// Creates Game2. /// </summary> public GMGame CreateGame2() { //create conditions ACondition falseCond = new FalseCondition(); ACondition trueCond = new TrueCondition(); ScriptCondition<bool> scriptCond = new ScriptCondition<bool>(TestScriptConditionEvaulateBool, true); //create triggers ScriptTrigger<int> trigger1 = new ScriptTrigger<int>(2, 2, trueCond.Check, trueCond.Check, TestScriptFunctionInt, 1); ScriptTrigger<float> trigger2 = new ScriptTrigger<float>(5, 10, trueCond.Check, falseCond.Check, TestScriptFunctionFloat, 2.2f); ScriptTrigger<string> trigger3 = new ScriptTrigger<string>(1, 3, null, null, TestScriptFunctionString, "no conditions"); DialogTrigger trigger4 = new DialogTrigger(1, 3, scriptCond.Check, null, "myDialog"); //create games and add triggers GMGame game = new GMGame("game2"); game.AddTrigger(trigger1); game.AddTrigger(trigger2); game.AddTrigger(trigger3); game.AddTrigger(trigger4); return game; }
// Use this for initialization public virtual void Awake() { Log.Debug("__________________________________ AWAKE _____________________________"); parameters = new Dictionary<string, string>(); // if(useDBModule) // { // // StartCoroutine("xmlLoadRoutine"); // LoadAppConfigurationXml(); // } //testParameters instead of document.location.search // for testing Web Player: Variables in PHP are // $UserName and $SessionToken Log.Level = logLevel; Log.Info("Starting MainGame ... name "+this.name); ui = UIManager.Instance; ui.InitUI(gameObject); if (!GameManager.Instance.offline) GameManager.Instance.offline = offline; else offline = GameManager.Instance.offline; ui.ConfigResources = configResources; if(tooltip) ui.Tooltip = (UITooltip)Instantiate(tooltip, Vector3.zero, Quaternion.identity); //set ui camera to custom 2D camera Log.Assert(camera2D != null, "You have to assign a 2D camera in "+gameObject.name); UIManager.UICamera = camera2D; gm = GameManager.Instance; gm.mainGame = this; gm.debugMode = debug; gm.standaloneBetaMode = standaloneBeta; gm.standaloneSingleLevelMode = standaloneSingleLevel; gm.BalanceSheetAchievementMode = true; gm.muteSfx = muteSfx; if(gm.setTouch) gm.hidTouch = hidTouch; else hidTouch = gm.hidTouch; gm.muteSoundBackground = muteSoundBackground; //localisation i18n = I18nManager.Instance; i18n.LoadDbFile(localizatoinDB); if(i18n.Language == null || i18n.Language.Length == 0) { //first time set string lang = ""; switch(language) { case Languages.DE: lang = "DE"; break; case Languages.DEP: lang = "DEP"; break; case Languages.EN: lang = "EN"; break; case Languages.NL: lang = "NL"; break; } i18n.Language = lang; } else { //lang has already been set, //but better to set local game's language to avoid confusion switch(i18n.Language) { case "DE": language = Languages.DE; break; case "DEP": language = Languages.DEP; break; case "EN": language = Languages.EN; break; case "NL": language = Languages.NL; break; } I18nManager.Instance.SetLanguage(i18n.Language); } //Audio using localization db am = AudioManager.Instance; am.InitAudio(); try { // Log.Debug("---------- am:"+am); Log.Debug("---------- audioResources:"+audioResources); am.LoadResources("AUDIO", audioResources); am.MuteMusic = muteSoundBackground; am.MuteSfx = muteSfx; } catch { //TODO only hide when in editor mode //we hide error for now due to editor Log.Error("---------- audioResources:"+audioResources); } // DialogGame can be seen as a MainGame and a requirement GMGame game = new GMGame(this.name); gm.Add(game); gm.DialogGame = game; }
}//Add(gameName, Trigger) /// <summary> /// Adds the trigger. /// </summary> /// <param name="newTrigger">New trigger.</param> public void Add(GMGame newGame) { Log.Debug("Add game '"+newGame.Name+"' to GameManager."); //add new element try { if(newGame == null) Log.Error("You must pass a valid game object!"); gameList.Add(newGame.Name, newGame); } catch { string name = (newGame != null) ? newGame.Name : ""; Log.Warning("GMGame already exist:" + name); } }//Add()