Пример #1
0
    public void SetScenarion(List <Scenarion> stageScenations, List <int> removeScenaronList)
    {
        m_RemoveScenarionList = removeScenaronList;
        m_StageOpenScenarion  = null;
        m_StageClearScenarion = null;
        m_StageScenarions.Clear();
        for (int i = 0; i < stageScenations.Count; i++)
        {
            if (m_RemoveScenarionList.Contains(stageScenations[i].scenarionId))
            {
                continue;
            }
            switch (stageScenations[i].scenarionType)
            {
            case ScenarionType.Openning:
                m_StageOpenScenarion = stageScenations[i];
                break;

            case ScenarionType.Event:
                m_StageScenarions.Add(stageScenations[i]);
                break;

            case ScenarionType.StageClear:
                m_StageClearScenarion = stageScenations[i];
                break;
            }
        }
    }
Пример #2
0
		private static void MainJustScenarion(String fname)
		{
			var file = new FileInfo(Path.Combine(Application.StartupPath, fname));
			var scenarion = new Scenarion
			                	{
			                		Text = string.Format(file.Name),
			                		Scenario = new ScenarioDepot {Vault = VaultApi.OpenZip(file.FullName)},
			                	};
			Application.Run(scenarion);
		}
Пример #3
0
 public bool SetAfterShopScenarion()
 {
     for (int i = 0; i < m_StageScenarions.Count; i++)
     {
         Scenarion scenarion = m_StageScenarions[i];
         if (scenarion.scenarionType.Equals(ScenarionType.Event) && scenarion.scenarionConditionType.Equals(ScenarionConditionType.AfterShop))
         {
             m_RunningScenarion = scenarion;
             break;
         }
     }
     return(m_IsScenarionRunning);
 }
Пример #4
0
 public bool SetAfterScenarion(int enemyID, HexCoord hex)
 {
     for (int i = 0; i < m_StageScenarions.Count; i++)
     {
         Scenarion scenarion = m_StageScenarions[i];
         if (scenarion.scenarionConditionType.Equals(ScenarionConditionType.AfterBattle) && ComparePlayerID(scenarion.enemyPlayer, enemyID))
         {
             m_RunningScenarion = scenarion;
             m_RunningScenarion.battleAfterEvent = hex;
             break;
         }
     }
     return(m_IsScenarionRunning);
 }
Пример #5
0
		private static void MainImmediatelyActivatePreviewWithPoorPerformance(String fname)
		{
			var mydocs = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
			var file = new FileInfo(Path.Combine(mydocs, fname));

			var scenarion = new Scenarion {Text = string.Format(file.Name), Scenario = new ScenarioDepot {Vault = VaultApi.OpenZip(file.FullName)}};
			var vpath = @"\Scenario\Particular\a55eafda_7d4f_4e8d_98f9_6e0619b80e8d\92f6c511_91c0_4b0b_9917_ddb8a10f1693\1127d0c9_b2a1_4e29_8983_b79eaf1e0d49\458ca441_53fa_4c70_93be_8a98ab81f923";
			var branch = scenarion.Scenario.Vault.GetBranch(vpath).AssertNotNull();

			var allNodes = scenarion.treeScenario.Nodes.Cast<TreeNode>().Select(
				tn => tn.Flatten(tn2 => tn2.Nodes.Cast<TreeNode>())).Flatten();
			var node = allNodes.Single(tn => tn.Tag == branch);

			scenarion.treeScenario.SelectedNode = node;
			var @lock = 0;
			scenarion.AfterAfterSelect += (o, e) => { if (@lock++ == 0) scenarion.tabControlBranchOptions.SelectedTab = scenarion.previewTab; };

			Application.Run(scenarion);
		}
Пример #6
0
 public bool SetClearScenarion()
 {
     m_RunningScenarion = m_StageClearScenarion;
     m_IsEnding         = true;
     return(m_IsScenarionRunning);
 }
Пример #7
0
 public bool SetOpenScenarion()
 {
     m_RunningScenarion = m_StageOpenScenarion;
     return(m_IsScenarionRunning);
 }
Пример #8
0
    private bool SetScenarionAction()
    {
        m_ControlPlayer = null;
        bool isToLight = m_ToDark;

        m_ToDark  = false;
        m_ToLight = false;
        if (m_RunningScenarion.scenarionActionStep < m_RunningScenarion.scenarionActions.Count)
        {
            ScenarionAction scenarioAction = m_RunningScenarion.scenarionActions[m_RunningScenarion.scenarionActionStep];
            m_ToDark = scenarioAction.isToDark;
            if (m_RunningScenarion.scenarionActionStep.Equals(0) && m_RunningScenarion.scenarionType == ScenarionType.Openning)
            {
                m_PlayerManager.HidePlayers();
                m_GameUIManager.m_ScreenControlUI.SetPlayerUIShow(false);
            }

            switch (scenarioAction.scenarionActionType)
            {
            case ScenarionActionType.Dialog:
                m_GameUIManager.SetDialog(scenarioAction.dialogName, scenarioAction.dialogText);
                m_IsWaitAction = true;
                break;

            case ScenarionActionType.CreateActor:
                m_PlayerManager.GenetareActionPlayer(scenarioAction.createActors);
                break;

            case ScenarionActionType.ControlActor:
                m_ControlPlayer = m_PlayerManager.MoveActorToTarget(scenarioAction.actorId, scenarioAction.targetMoveTile, scenarioAction.actorPivot);
                break;

            case ScenarionActionType.SetCamera:
                Vector3 tilePos = m_StageMapManager.GetMapTile(scenarioAction.setCameraPos).HexTilePos();
                m_GameUIManager.m_ScreenControlUI.MoveCameraPos(tilePos, scenarioAction.isToDark, scenarioAction.waitTime, scenarioAction.waitTimeDark);
                m_ToDark = scenarioAction.isToDark;
                break;

            case ScenarionActionType.ControlCamera:
                Vector3 moveCaremaPos = m_StageMapManager.GetMapTile(scenarioAction.targetMoveTile).HexTilePos();
                m_GameUIManager.m_ScreenControlUI.MoveCameraPos(moveCaremaPos, scenarioAction.isToDark, scenarioAction.waitTime, scenarioAction.waitTimeDark);
                m_ToDark = scenarioAction.isToDark;
                break;

            case ScenarionActionType.AddUserPlayer:
                break;

            case ScenarionActionType.AddEnemyPlayer:
                break;
            }
            //currentWaitingTime = 0;
            //isToDark = scenarioAction.isToDark;
            //waitingTime = scenarioAction.waitTime;
            m_ToLight = scenarioAction.isToLight;
            if (scenarioAction.isToLight)
            {
                m_ToDark = false;
                m_GameUIManager.m_BlackFrontUI.SetToLight();
            }
            m_RunningScenarion.scenarionActionStep++;
        }
        else
        {
            //Scenario is end
            //EnableGroup(mapController);
            m_IsWaitAction = false;
            if (m_RunningScenarion.scenarionType == ScenarionType.Openning)
            {
                m_IsOpening = true;
            }
            if (m_RunningScenarion.scenarionConditionType == ScenarionConditionType.BeforeBattle)
            {
                if (m_RunningScenarion.battleAfterEvent.HasValue)
                {
                    GameManager.m_Instance.AttackWithCurrentPlayer(m_RunningScenarion.battleAfterEvent.Value);
                }
            }
            if (m_RunningScenarion.isOnceEvent)
            {
                m_RemoveScenarionList.Add(m_RunningScenarion.scenarionId);
                SetScenarion(m_StageScenarions, m_RemoveScenarionList);
            }
            m_RunningScenarion = null;
        }
        isToLight &= m_RunningScenarion == null;
        if (isToLight)
        {
            m_GameUIManager.m_BlackFrontUI.SetToLight();
        }
        return(m_IsScenarionRunning);
    }
Пример #9
0
		private static void MainImmediatelyActivatePreviewWithInvalidÏËÒ(String fname)
		{
			var mydocs = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
			var file = new FileInfo(Path.Combine(mydocs, fname));

			var scenarion = new Scenarion {Text = string.Format(file.Name), Scenario = new ScenarioDepot {Vault = VaultApi.OpenZip(file.FullName)}};
			var vpath = @"\Scenario\Particular\a55eafda_7d4f_4e8d_98f9_6e0619b80e8d\c9f41723_4c0a_4774_ab23_def3bb07d9db\c0c4493e_bb13_425c_94e5_34611983db32\21d23925_d3ff_41cb_9097_46e86dcfaa35\4a82c26f_2047_4777_81b2_0f25af1199e8";
			var branch = scenarion.Scenario.Vault.GetBranch(vpath).AssertNotNull();

			var v2 = @"\Scenario\Particular\a55eafda_7d4f_4e8d_98f9_6e0619b80e8d\94b5624f_e6dc_4e23_b277_5f8e8db84b2e\847fb140_8919_47f8_8b29_a5d13429099d\_sourceValueDeclarations\3ba83618_f29e_4578_a809_a3b32129f756";
			var b2 = scenarion.Scenario.Vault.GetBranch(v2).AssertNotNull();

			var allNodes = scenarion.treeScenario.Nodes.Cast<TreeNode>().Select(
				tn => tn.Flatten(tn2 => tn2.Nodes.Cast<TreeNode>())).Flatten();
			var node = allNodes.Single(tn => tn.Tag == branch);

			scenarion.treeScenario.SelectedNode = node;
			var @lock = 0;
			scenarion.AfterAfterSelect += (o, e) => { if (@lock++ == 0) scenarion.tabControlBranchOptions.SelectedTab = scenarion.previewTab; };

			Application.Run(scenarion);
		}
Пример #10
0
		private static void MainImmediatelyActivatePreviewWithTestFormulaeScenario(String fname)
		{
			var mydocs = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
			var file = new FileInfo(Path.Combine(mydocs, fname));

			var scenarion = new Scenarion {Text = string.Format(file.Name), Scenario = new ScenarioDepot {Vault = VaultApi.OpenZip(file.FullName)}};
			var vpath = @"\Scenario\Common\62f0bf38_fd59_4ca6_b57d_5318bf59a82d";
			var branch = scenarion.Scenario.Vault.GetBranch(vpath).AssertNotNull();

			var allNodes = scenarion.treeScenario.Nodes.Cast<TreeNode>().Select(
				tn => tn.Flatten(tn2 => tn2.Nodes.Cast<TreeNode>())).Flatten();
			var node = allNodes.Single(tn => tn.Tag == branch);

			scenarion.treeScenario.SelectedNode = node;
			var @lock = 0;
			scenarion.AfterAfterSelect += (o, e) => { if (@lock++ == 0) scenarion.tabControlBranchOptions.SelectedTab = scenarion.previewTab; };

			Application.Run(scenarion);
		}