//最好先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() { 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); //根据备忘录,恢复成就系统 }
// 初始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(); }
private SoldierInfoUI m_SoldierInfoUI; //战士信息 public void Init() { m_ArchievementSystem = new ArchievementSystem(); m_CampSystem = new CampSystem(); m_CharacterSystem = new CharacterSystem(); m_EnergySystem = new EnergySystem(); m_GameEventSystem = new GameEventSystem(); m_StageSystem = new StageSystem(); m_CampInfoUI = new CampInfoUI(); m_GamePauseUI = new GamePauseUI(); m_GameStateInfoUI = new GameStateInfoUI(); m_SoldierInfoUI = new SoldierInfoUI(); m_ArchievementSystem.Init(); m_CampSystem.Init(); m_CharacterSystem.Init(); m_EnergySystem.Init(); m_GameEventSystem.Init(); m_StageSystem.Init(); m_CampInfoUI.Init(); m_GamePauseUI.Init(); m_GameStateInfoUI.Init(); m_SoldierInfoUI.Init(); }
// 初始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() { mArchievementSystem = new ArchievementSystem(); mCampSystem = new CampSystem(); mCharacterSystem = new CharacterSystem(); mEnergySystem = new EnergySystem(); mGameEventSystem = new GameEventSystem(); mStageSystem = new StageSystem(); mCampInfoUI = new CampInfoUI(); mGamePauseUI = new GamePauseUI(); mGameStateInfoUI = new GameStateInfoUI(); mSoldierInfoUI = new SoldierInfoUI(); mArchievementSystem.Init(); mCampSystem.Init(); mCharacterSystem.Init(); mEnergySystem.Init(); mGameEventSystem.Init(); mStageSystem.Init(); mCampInfoUI.Init(); mGamePauseUI.Init(); mGameStateInfoUI.Init(); mSoldierInfoUI.Init(); LoadMemento(); }
public void OnUpdate() { ArchievementSystem.OnUpdate(); CampSystem.OnUpdate(); CharacterSystem.OnUpdate(); EnergySystem.OnUpdate(); GameEventSystem.OnUpdate(); StageSystem.OnUpdate(); UISystem.OnUpdate(); }
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); }
static bool CheckTargetType(Character cha, Character target, SkillTargetType type) { switch (type) { case SkillTargetType.All: return(true); case SkillTargetType.Enemy: { if (CampSystem.IsEnemy(cha, target)) { return(true); } break; } case SkillTargetType.Friend: { if (CampSystem.IsFriend(cha, target)) { return(true); } break; } case SkillTargetType.FriendDead: { if (CampSystem.IsFriend(cha, target)) { return(true); } break; } case SkillTargetType.Neutral: { if (!CampSystem.IsEnemy(cha, target) && !CampSystem.IsFriend(cha, target)) { return(true); } break; } case SkillTargetType.Self: { if (cha == target) { return(true); } break; } } return(false); }
public void OnRelease() { this.CreateMemento(); ArchievementSystem.OnRelease(); CampSystem.OnRelease(); CharacterSystem.OnRelease(); EnergySystem.OnRelease(); GameEventSystem.OnRelease(); StageSystem.OnRelease(); UISystem.OnRelease(); }
/// <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); //... }
void UnitTest_CampSystem() { theCampSystem = new CampSystem(null); theCampSystem.Initialize(); // 執行訓練 theCampSystem.UTTrainSoldier(ENUM_Soldier.Rookie); theCampSystem.UTTrainSoldier(ENUM_Soldier.Rookie); theCampSystem.UTTrainSoldier(ENUM_Soldier.Rookie); theCampSystem.UTTrainSoldier(ENUM_Soldier.Captain); theCampSystem.UTTrainSoldier(ENUM_Soldier.Captain); theCampSystem.UTTrainSoldier(ENUM_Soldier.Captain); }
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); }
// 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); }
/// <summary> /// 初始化 /// </summary> public void Initinal() { //辅助系统 m_TipsSystem = new TipsSystem(this); m_SwitchSystem = new SwitchSystem(this); m_arsenalSystem = new ArsenalSystem(this); //界面 m_tipsPanel = new TipsPanel(); m_TipsSystem.Initialize(); m_arsenalSystem.Initialize(); //第一次打开才进行加载以下界面 if (m_player == null) { m_mainPanel = new MainPanel(this); m_mainMenuPanel = new MainMenuPanel(this); m_mainMenuRightPanel = new MainMenuRightPanel(this); m_readAssetPanel = new ReadAssetPanel(this); m_readAssetRightPanel = new ReadAssetRightPanel(this); m_ChooseRolePanel = new ChooseRolePanel(this); m_gameMenuRightPanel = new GameMenuRightPanel(this); //界面状态系统初始化 m_SwitchSystem.Initialize(); //注册界面状态 AddUIState(); //主界面初始化 m_mainPanel.Begin(); } else { //进入游戏后加载兵营系统 以及 UI m_campSystem = new CampSystem(this); m_statePanel = new GameStatePanel(this); //初始化 m_campSystem.Initialize(); m_statePanel.Begin(); } }
private void FixedUpdate() { Player mainPlayer = GameController.mMainPlayer; if (mainPlayer == null) { return; } UpdateBarActive(UIHpBarType.Self, mainPlayer == Owner); UpdateBarActive(UIHpBarType.Friend, CampSystem.IsFriend(mainPlayer, Owner)); UpdateBarActive(UIHpBarType.Enemy, CampSystem.IsEnemy(mainPlayer, Owner)); int maxHP = Owner.GetAtb(AtbType.MaxHP); if (maxHP > 0) { float t = (float)Owner.HP / (float)maxHP; mCurHpBar.fillAmount = t; } }
public GameFacade OnInit() { UISystem = new UISystem(); ArchievementSystem = new ArchievementSystem(); CampSystem = new CampSystem(); CharacterSystem = new CharacterSystem(); EnergySystem = new EnergySystem(); GameEventSystem = new GameEventSystem(); StageSystem = new StageSystem(); UISystem.OnInit(); CampSystem.OnInit(); CharacterSystem.OnInit(); EnergySystem.OnInit(); GameEventSystem.OnInit(); StageSystem.OnInit(); ArchievementSystem.OnInit(); this.LoadMemento(); return(this); }
public static SkillResult UseSkill(SkillHandle handle) { if (handle.caster == null || handle.caster.IsCannotFlag(CannotFlag.CannotSkill)) { return(SkillResult.InvalidCaster); } Skill lastSkill = handle.caster.GetSkill(); if (lastSkill != null) { SkillStage stage = lastSkill.mCurStage; if (stage != null) { if (SkillStage.IsStageTrait(SkillStageTrait.WaitBreakStage, stage.mStageInfo)) { if (stage.mStageEnd == null) { WaitBreakStage onStageEnd = new WaitBreakStage(); onStageEnd.nextSkillHandle = handle; stage.SetBreak(SkillBreakType.OtherSkill, false, onStageEnd.OnStageEnd); } return(SkillResult.CannotBreak); } if (!SkillStage.IsStageTrait(SkillStageTrait.BreakSelf, stage.mStageInfo) && lastSkill.SkillID == handle.skillID) { return(SkillResult.CannotBreak); } if (!SkillStage.IsStageTrait(SkillStageTrait.SkillBreak, stage.mStageInfo)) { return(SkillResult.CannotBreak); } } } excel_skill_list skillExcel = excel_skill_list.Find(handle.skillID); if (skillExcel == null) { return(SkillResult.ExcelNotExist); } Character target = handle.caster.mScene.FindCharacter(handle.skillTargetID); SkillTargetType targetType = (SkillTargetType)skillExcel.targetType; if (targetType != SkillTargetType.All) { if (target == null) { return(SkillResult.InvalidTarget); } if (targetType == SkillTargetType.Enemy && !CampSystem.IsEnemy(handle.caster, target)) { return(SkillResult.InvalidTarget); } if (targetType == SkillTargetType.Friend && !CampSystem.IsFriend(handle.caster, target)) { return(SkillResult.InvalidTarget); } } if (target == null && skillExcel.maxDistance > 0.0f) { return(SkillResult.InvalidTarget); } SkillContext context = new SkillContext(); context.mSkillID = handle.skillID; context.mOwner = handle.caster; context.SkillTargetID = handle.skillTargetID; if (!handle.autoTargetPos) { context.TargetPos = handle.targetPos; } else { context.TargetPos = target == null ? Vector3.zero : target.Position; } Skill skill = new Skill(handle.skillID, context); handle.caster.SetSkill(skill); skill.mSkillEnd = handle.skillEndMethod; ReqSkill notifyMsg = new ReqSkill(); notifyMsg.skillID = handle.skillID; notifyMsg.casterID = handle.caster.gid; notifyMsg.targetID = handle.skillTargetID; notifyMsg.autoTargetPos = handle.autoTargetPos; notifyMsg.targetPos = Vector3Packat.FromVector3(handle.targetPos); notifyMsg.position = Vector3Packat.FromVector3(handle.caster.Position); notifyMsg.direction = Vector3Packat.FromVector3(handle.caster.Direction); for (int i = 0; i < handle.caster.mScene.GetPlayerCount(); ++i) { Player player = handle.caster.mScene.GetPlayerByIndex(i); NetWork.NotifyMessage(player.UserID, STC.STC_SkillNotify, notifyMsg); } return(SkillResult.Success); }
public EnemyKilledObserverCaptiveCamp(CampSystem theCampSystem) { m_CampSystem = theCampSystem; }
public EnemyKilledObserverCaptiveCamp(CampSystem theCampSystem) { m_CampSystem = theCampSystem; }
void UnitTest_CampSystem() { theCampSystem =new CampSystem(null); theCampSystem.Initialize(); // 執行訓練 theCampSystem.UTTrainSoldier( ENUM_Soldier.Rookie ); theCampSystem.UTTrainSoldier( ENUM_Soldier.Rookie ); theCampSystem.UTTrainSoldier( ENUM_Soldier.Rookie ); theCampSystem.UTTrainSoldier( ENUM_Soldier.Captain ); theCampSystem.UTTrainSoldier( ENUM_Soldier.Captain ); theCampSystem.UTTrainSoldier( ENUM_Soldier.Captain ); }