public void Init() { systems = new List <IGameSystem>(); achievementSystem = new AchievementSystem(); campSystem = new CampSystem(); CharacterSystem = new CharacterSystem(); EnergySystem = new EnergySystem(); EventSystem = new GameEventSystem(); StageSystem = new StageSystem(); CampInfoUI = new CampInfoUI(); gamePauseUI = new GamePauseUI(); GameStateInfoUI = new GameStateInfoUI(); soldierInfoUI = new SoldierInfoUI(); systems.Add(achievementSystem); systems.Add(campSystem); systems.Add(CharacterSystem); systems.Add(EnergySystem); systems.Add(EventSystem); systems.Add(StageSystem); systems.Add(CampInfoUI); systems.Add(gamePauseUI); systems.Add(GameStateInfoUI); systems.Add(soldierInfoUI); systems.ForEach(s => s.Init()); var memento = CareTaker.RetrieveMemento(); //取回备忘录 achievementSystem.RestoreMemento(memento); //根据备忘录,恢复成就系统 }
public MainWindow() { InitializeComponent(); AchievementSystem.Load(); // which window size is used? /* * if (Styles.WindowSizeGenerator.windowSize == "Maximum") * { * this.WindowState = WindowState.Maximized; * this.ResizeMode = System.Windows.ResizeMode.NoResize; * this.WindowStyle = System.Windows.WindowStyle.None; * //this.Topmost = true; * } * else * { * this.WindowState = WindowState.Normal; * }*/ /* * this.MinHeight = Styles.WindowSizeGenerator.mainWindowMinHeight; * this.MinWidth = Styles.WindowSizeGenerator.mainWindowMinWidth; * this.Height = this.MinHeight; * this.Width = this.MinWidth; */ // show navigation page first NavigationPage firstPage = new NavigationPage(); firstPage.holderWin = this; this.Navigate(firstPage); }
// 初始P-BaseDefense遊戲相關設定 public void Initinal() { // 場景狀態控制 m_bGameOver = false; // 遊戲系統 m_GameEventSystem = new GameEventSystem(this); // 遊戲事件系統 m_CampSystem = new CampSystem(this); // 兵營系統 m_StageSystem = new StageSystem(this); // 關卡系統 m_CharacterSystem = new CharacterSystem(this); // 角色管理系統 m_ApSystem = new APSystem(this); // 行動力系統 m_AchievementSystem = new AchievementSystem(this); // 成就系統 // 界面 m_CampInfoUI = new CampInfoUI(this); // 兵營資訊 m_SoldierInfoUI = new SoldierInfoUI(this); // Soldier資訊 m_GameStateInfoUI = new GameStateInfoUI(this); // 遊戲資料 m_GamePauseUI = new GamePauseUI (this); // 遊戲暫停 // 注入到其它系統 EnemyAI.SetStageSystem( m_StageSystem ); // 載入存檔 LoadData(); // 註冊遊戲事件系統 ResigerGameEvent(); }
//最好先Awake, 再Init. Awake中初始化数据, Init中再new对象之类的 //不然部分new对象比较分散的,就不好给System初始化进行排序,有耦合。比如EventSubject public void Init() { m_AchievementSystem = new AchievementSystem(); m_CampSystem = new CampSystem(); m_CharactorSystem = new CharacterSystem(); m_EnergySystem = new EnergySystem(); m_GameEventSystem = new GameEventSystem(); m_StageSystem = new StageSystem(); m_FileDataSystem = new FileDataSystem(); m_CampInfoUI = new CampInfoUI(); m_GamePauseUI = new GamePauseUI(); m_GameStateInfoUI = new GameStateInfoUI(); m_SolderInfoUI = new SoldierInfoUI(); m_FileDataSystem.Init(); m_AchievementSystem.Init(); m_CampSystem.Init(); m_CharactorSystem.Init(); m_EnergySystem.Init(); m_GameEventSystem.Init(); m_StageSystem.Init(); m_CampInfoUI.Init(); m_GamePauseUI.Init(); m_GameStateInfoUI.Init(); m_SolderInfoUI.Init(); LoadMemento(); }
// 初始P-BaseDefense游戏相关设定 public void Initinal() { // 场景状态控制 m_bGameOver = false; // 游戏系统 m_GameEventSystem = new GameEventSystem(this); // 游戏事件系统 m_CampSystem = new CampSystem(this); // 兵营系统 m_StageSystem = new StageSystem(this); // 关卡系统 m_CharacterSystem = new CharacterSystem(this); // 角色管理系统 m_ApSystem = new APSystem(this); // 行动力系统 m_AchievementSystem = new AchievementSystem(this); // 成就系统 // 界面 m_CampInfoUI = new CampInfoUI(this); // 兵营信息 m_SoldierInfoUI = new SoldierInfoUI(this); // Soldier信息 m_GameStateInfoUI = new GameStateInfoUI(this); // 游戏资料 m_GamePauseUI = new GamePauseUI(this); // 游戏暂停 // 注入到其它系统 EnemyAI.SetStageSystem(m_StageSystem); // 载入存档 LoadData(); // 注册游戏事件系统 ResigerGameEvent(); }
public void Init() { mCampSystem = new CampSystem(); mCharacterSystem = new CharacterSystem(); mEnergySystem = new EnergySystem(); mGameEventSystem = new GameEventSystem(); mStageSystem = new StageSystem(); mArchievementSystem = new AchievementSystem(); mCampInfoUI = new CampInfoUI(); mGamePauseUI = new GamePauseUI(); mGameStateInfoUI = new GameStateInfoUI(); mSoldierInfoUI = new SoldierInfoUI(); mCampSystem.Init(); mCharacterSystem.Init(); mEnergySystem.Init(); mGameEventSystem.Init(); mStageSystem.Init(); mArchievementSystem.Init(); mCampInfoUI.Init(); mGamePauseUI.Init(); mGameStateInfoUI.Init(); mSoldierInfoUI.Init(); LoadMemento();//加载快照数据 }
/// <summary> /// 生成新游戏 /// </summary> /// <param name="user">用户名</param> /// <param name="controller">控制器</param> /// <param name="withItem">是否启用道具</param> /// <returns></returns> public TetrisGame NewGame(string user = "", IController controller = null, bool withItem = true) { var id = games.Count; ITetrisFactory factory; if (withItem) { factory = new CacheFactory(Square.Styles(styles), ran); (factory as TetrisItemFactory).GenSpecialBlock = true; } else { factory = new TetrisFactory(Square.Styles(styles), ran); } // use AdvancedGUI.Styles.WindowSizeGenerator to set the game size! shuo han int gameWidth = AdvancedGUI.Styles.WindowSizeGenerator.gameWidth; int gameHeight = AdvancedGUI.Styles.WindowSizeGenerator.gameHeight; var game = new TetrisGame(id, Square.Styles(styles), _engine, factory, gameWidth, gameHeight, Settings.Default.DefaultSpeed); game.SetController(controller); ItemSystem.Bind(game); ScoreSystem.Bind(game); AchievementSystem.Bind(game, user); games[id] = game; return(game); }
private void OnSceneLoaded(Scene scene, LoadSceneMode mode) { Debug.Log("Scene was loaded: " + SceneManager.GetActiveScene().name); if (IsExitOutro()) // If the level is about to exit, nothing of the normal stuff should happen { fade_obj.SetActive(false); exit_outro = false; GameObject.Find("MainMenu").GetComponent <GUI>().MenuIntro(); Destroy(gameObject); return; } character = GameObject.Find("Character"); c_script = character.GetComponent <CharacterControllerScript>(); elevator_level = (character.GetComponent <Rigidbody>().position.y > 0.5f) ? 1 : 0; elevators = GameObject.FindGameObjectsWithTag("Elevator"); if (IsResetFade()) { return; // If a reset is in progress, all fading and intro stuff is aborted } level_intro = true; transition_progress = 0; fade_script = fade_obj.GetComponent <Fade>(); fade_obj.SetActive(true); fade_script.StartFade(INTRO_FADE_SPEED, -1); achievement_script = achievement.GetComponent <AchievementSystem>(); }
// 初始P-BaseDefense遊戲相關設定 public void Initinal() { // 場景狀態控制 m_bGameOver = false; // 遊戲系統 m_GameEventSystem = new GameEventSystem(this); // 遊戲事件系統 m_CampSystem = new CampSystem(this); // 兵營系統 m_StageSystem = new StageSystem(this); // 關卡系統 m_CharacterSystem = new CharacterSystem(this); // 角色管理系統 m_ApSystem = new APSystem(this); // 行動力系統 m_AchievementSystem = new AchievementSystem(this); // 成就系統 // 界面 m_CampInfoUI = new CampInfoUI(this); // 兵營資訊 m_SoldierInfoUI = new SoldierInfoUI(this); // Soldier資訊 m_GameStateInfoUI = new GameStateInfoUI(this); // 遊戲資料 m_GamePauseUI = new GamePauseUI(this); // 遊戲暫停 // 注入到其它系統 EnemyAI.SetStageSystem(m_StageSystem); // 載入存檔 LoadData(); // 註冊遊戲事件系統 ResigerGameEvent(); }
public void Initinal() { isGameOver = false; apSystem = new APSystem(this); campSystem = new CampSystem(this); stageSystem = new StageSystem(this); gameEventSystem = new GameEventSystem(this); characterSystem = new CharacterSystem(this); achievementSystem = new AchievementSystem(this); }
// Start is called before the first frame update void Start() { game_master_script = GameObject.Find("GameMaster").GetComponent <GameMasterScript>(); achievement_script = achievement.GetComponent <AchievementSystem>(); CheckSteps(); fade_obj = game_master_script.fade_obj; fade_script = fade_obj.GetComponent <Fade>(); fade_obj.SetActive(false); quit_to_menu = false; }
// Load Highest Records private void highest_Loaded(object sender, RoutedEventArgs e) { // read the achievements from AchievementSystem AchievementSystem.UpdateHighest(); HighestScore.Content = AchievementSystem.AchievementState.HighestScoreGlobal; MostTotalClearBar.Content = AchievementSystem.AchievementState.HighestTotalClearBarGlobal; var hsname = AchievementSystem.AchievementState.HighestScoreUser.Aggregate("", (current, str) => current + str + " "); var htcbname = AchievementSystem.AchievementState.HighestTotalClearBarUser.Aggregate("", (current, str) => current + str + " "); HighestScoreName.Content = hsname; MostTotalClearBarName.Content = htcbname; }
public void Show(AchievementScriptable achievement, bool showDescription = false) { AchievementModel fillInfo = achievement.Data; if (!showDescription) { fillInfo.Description = string.Empty; } achievementIcon = achievement.Icon; Initialize(); AchievementSystem.ShowNotification(this, fillInfo); }
private System.Collections.IEnumerator Start() { MidGameSaver.Initialize(); ScoreCounter.Initialize(); AchievementSystem.Initialize(); Pause.Initialize(); DOTween.Init(); Destroy(gameObject); yield break; }
public AchievementGump(PlayerMobile pm, PlayerMobile subject) : base(pm, 50, 50) { pm.CloseGump(typeof(AchievementGump)); Subject = subject; SearchName = "Search"; Profile = subject != null?AchievementSystem.GetProfile(subject) : AchievementSystem.GetProfile(pm); Index = Profile.GetTypeIndex(Profile.FilterType); }
public static void Initialize() { if (Instance == null) { Instance = new AchievementSystem(); Instance.AddAchievementsHere(); Instance.LoadAchievements(); // Temp test //Instance.ResetAchievements(); } }
/// <summary> /// 初始化 /// </summary> public void Initinal() { //场景状态控制 m_bGameOver = false; //游戏系统 m_GameEventSystem = new GameEventSystem(this); m_CampSystem = new CampSystem(this); m_StageSystem = new StageSystem(this); m_CharacterSystem = new CharacterSystem(this); m_ApSystem = new APSystem(this); m_AchievementSystem = new AchievementSystem(this); //... }
private void Awake() { if (instance != null && instance != this) { Destroy(this.gameObject); return; } else { instance = this; } DontDestroyOnLoad(this.gameObject); }
public void TestPerfectGroup_ReturnsTrue_WhenAllGroupMatchesAndBothQualifiersAreCorrect() { string userBet = @"[stage-one] winners = [ [ ""Germany"", ""Algerie"",], ] "; string actualResults = @"[stage-one] winners = [ [ ""Brasil"", ""Mexico"",], ] "; var user = new Results(userBet.ParseAsToml()); var actual = new Results(actualResults.ParseAsToml()); var a = new AchievementSystem(user, actual); }
public void TestAchievements_ShouldContainBronse_WhenBronseFinalWinnerIsCorrect() { string userBet = @"[finals] bronse-final = ""Brasil"" "; string actualResults = @"[finals] bronse-final = ""Brasil"" "; var user = new Results(userBet.ParseAsToml()); var actual = new Results(actualResults.ParseAsToml()); var a = new AchievementSystem(user, actual); a.Achievements.ShouldContain(a.AchievementRepo[AchievementTypes.Bronze]); }
public void TestAchievements_ShouldContainGold_WhenFinalWinnerIsCorrect() { string userBet = @"[finals] final = ""Tyskland"" "; string actualResults = @"[finals] final = ""Tyskland"" "; var user = new Results(userBet.ParseAsToml()); var actual = new Results(actualResults.ParseAsToml()); var a = new AchievementSystem(user, actual); a.Achievements.ShouldContain(a.AchievementRepo[AchievementTypes.Gold]); }
private void UnlocksTooltip(Achievement achievement) { var lines = new string[achievement.Unlocks.Length + 1]; lines[0] = "Unlocks:"; for (int i = 0; i < achievement.Unlocks.Length; i++) { var locked = AchievementSystem.GetAchievement(achievement.Unlocks[i]); lines[i + 1] = locked != null?locked.Name.ToString() : string.Empty; } AddTooltip(lines); }
public void TestAchievements_ShouldContainSweet16_WhenEveryRound16WinnerIsCorrect() { string userBet = @"[stage-two] round-of-16 = [ ""Brasil"", ""Nederland"", ""Colombia"", ] "; string actualResults = @"[stage-two] round-of-16 = [ ""Brasil"", ""Nederland"", ""Colombia"", ] "; var user = new Results(userBet.ParseAsToml()); var actual = new Results(actualResults.ParseAsToml()); var a = new AchievementSystem(user, actual); a.Achievements.ShouldContain(a.AchievementRepo[AchievementTypes.Sweet16]); }
public void TestAchievements_ShouldNotContainQuarterback_WhenAtLeastOneQuarterFinalWinnerIsWrong() { string userBet = @"[stage-two] quarter-final = [ ""Brasil"", ""Nederland"", ""Tyskland"", ""Frankrike"",] "; string actualResults = @"[stage-two] quarter-final = [ ""Brasil"", ""Nederland"", ""Tyskland"", ""Argentina"",] "; var user = new Results(userBet.ParseAsToml()); var actual = new Results(actualResults.ParseAsToml()); var a = new AchievementSystem(user, actual); a.Achievements.ShouldNotContain(a.AchievementRepo[AchievementTypes.Quarterback]); }
void CreateBetterlist(List <string> betters, ISubmittedBets sb, IResults actual) { foreach (var better in betters) { var score = new ScoringSystem(sb.GetSingleBet(better), actual); var bet = new Better() { Name = better, Score = score.GetTotal() }; var achievements = new AchievementSystem(sb.GetSingleBet(better), actual); bet.Achievements = achievements.Achievements; bet.RowClass = "normal"; Betters.Add(bet); } }
void CreateBetterlist(List <string> betters, ISubmittedBets sb, IResultCollection rc) { foreach (var better in betters) { var score = new ScoringSystem(sb.GetSingleBet(better), rc.Current); var oldscore = new ScoringSystem(sb.GetSingleBet(better), rc.Previous); var bet = new Better() { Name = better, Score = score.GetTotal(), OldScore = oldscore.GetTotal() }; var achievements = new AchievementSystem(sb.GetSingleBet(better), rc.Current); bet.Achievements = achievements.Achievements; bet.RowClass = "normal"; Betters.Add(bet); } }
public void TestAchivements_ShouldNotContainFullPot_WhenScoreIsLessThanMax() { string userBet = @"[stage-one] winners = [ [ ""Germany"", ""Algerie"",], ] results = [ [ ] ] "; string actualResults = @"[stage-one] winners = [ [ ""Mexico"", ""Algerie"",], ] results = [ [ ] ] "; var user = new Results(userBet.ParseAsToml()); var actual = new Results(actualResults.ParseAsToml()); var a = new AchievementSystem(user, actual); a.Achievements.ShouldNotContain(a.AchievementRepo[AchievementTypes.FullPot]); }
public void Initial() { bGameOver = false; //游戏系统 gameEventSystem = new GameEventSystem(this); campSystem = new CampSystem(this); stageSystem = new StageSystem(this); characterSystem = new CharacterSystem(this); apSystem = new APSystem(this); achievementSystem = new AchievementSystem(this); //界面 campInfoUI = new CampInfoUI(this); soldierInfoUI = new SoldierInfoUI(this); gameStateInfoUI = new GameStateInfoUI(this); }
public void TestAchievements_ShouldNotContainNotEvenClose_WhenStageOneIsNotComplete() { string userBet = @"[stage-two] semi-final = [ ""Spania"", ""Italia"",] "; string actualResults = @"[stage-one] results = [ [ ""h"", ""h"", ""u"", ""b"", ""b"", ""b"",], [ ""b"", ""h"", ""b"", ""b"", ""b"", ""h"",], [ ""h"", ""h"", ""h"", ""u"", ""-"", ""-"",], [ ""b"", ""b"", ""h"", ""b"", ""b"", ""u"",], [ ""h"", ""h"", ""b"", ""b"", ""b"", ""u"",], [ ""h"", ""u"", ""h"", ""h"", ""b"", ""h"",], [ ""h"", ""b"", ""u"", ""u"", ""b"", ""h"",], [ ""h"", ""u"", ""h"", ""b"", ""b"", ""u"",],] winners = [ [ ""Brasil"", ""Mexico"",], [ ""Nederland"", ""Chile"",], [ ""Colombia"", ""Hellas"",], ] [stage-two] "; var user = new Results(userBet.ParseAsToml()); var actual = new Results(actualResults.ParseAsToml()); var a = new AchievementSystem(user, actual); a.Achievements.ShouldNotContain(a.AchievementRepo[AchievementTypes.NotEvenClose]); }
public void TestAchievements_ShouldContainDoubleRainbow_WhenAtLeastOneGroupWithBothQualifiers() { string userBet = @"[stage-one] winners = [ [ ""Brasil"", ""Algerie"",], [ ""Spania"", ""Nederland"",], ] results = [ [ ] ] "; string actualResults = @"[stage-one] winners = [ [ ""Brasil"", ""Mexico"",], [ ""Spania"", ""Nederland"",], ] results = [ [ ] ] "; var user = new Results(userBet.ParseAsToml()); var actual = new Results(actualResults.ParseAsToml()); var a = new AchievementSystem(user, actual); a.Achievements.ShouldContain(a.AchievementRepo[AchievementTypes.DoubleRainbow]); }
// Init RTSGame. public void Initinal() { // Scene Control. m_bGameOver = false; // Game System. m_GameEventSystem = new GameEventSystem(this); m_CampSystem = new CampSystem(this); m_StageSystem = new StageSystem(this); m_CharacterSystem = new CharacterSystem(this); m_APSystem = new APSystem(this); m_AchievementSystem = new AchievementSystem(this); // UI m_CampInfoUI = new CampInfoUI(this); m_GamePauseUI = new GamePauseUI(this); m_GameStateInfoUI = new GameStateInfoUI(this); m_SoldierInfoUI = new SoldierInfoUI(this); }
private void PlayAchievementClip(object sender, AchievementSystem.AchievementEventArgs e) { _audio.Play(AudioStorage.instance.achievement); }
public EnemyKilledObserverAchievement(AchievementSystem AchievementSystem) { m_AchievementSystem = AchievementSystem; }
public NewStageObserverAchievement(AchievementSystem AchievementSystem) { m_AchievementSystem = AchievementSystem; }
public SoldierKilledObserverAchievement(AchievementSystem AchievementSystem) { m_AchievementSystem = AchievementSystem; }