コード例 #1
0
ファイル: WeightScenarioHelper.cs プロジェクト: yakoder/NRaas
        protected SimScenario GetNewScenario(StoryProgressionObject manager, SimDescription sim, SimDescription target)
        {
            if (mScenario == null)
            {
                return(null);
            }

            SimScenario simScenario = mScenario.Clone() as SimScenario;

            simScenario.Manager = manager;

            switch (mScenarioActor)
            {
            case PropagateBuffScenario.WhichSim.Actor:
                simScenario.Sim = sim;
                break;

            case PropagateBuffScenario.WhichSim.Target:
                simScenario.Sim = target;
                break;

            case PropagateBuffScenario.WhichSim.NotActor:
                simScenario.NotSim = sim;
                break;

            case PropagateBuffScenario.WhichSim.NotTarget:
                simScenario.NotSim = target;
                break;
            }

            DualSimScenario dualSimScenario = simScenario as DualSimScenario;

            if (dualSimScenario != null)
            {
                switch (mScenarioTarget)
                {
                case PropagateBuffScenario.WhichSim.Actor:
                    dualSimScenario.Target = sim;
                    break;

                case PropagateBuffScenario.WhichSim.Target:
                    dualSimScenario.Target = target;
                    break;

                case PropagateBuffScenario.WhichSim.NotActor:
                    dualSimScenario.NotTarget = sim;
                    break;

                case PropagateBuffScenario.WhichSim.NotTarget:
                    dualSimScenario.NotTarget = target;
                    break;
                }
            }

            return(simScenario);
        }
コード例 #2
0
            protected static void OnPerform(Scenario scenario, ScenarioFrame frame)
            {
                DualSimScenario s = scenario as DualSimScenario;

                ManagerRomance.AffairStory affairStory = ManagerRomance.AffairStory.All;

                OldFlirtScenario flirtScenario = scenario as OldFlirtScenario;

                if (flirtScenario != null)
                {
                    affairStory = flirtScenario.AffairStory;
                }

                scenario.Add(frame, new AffairScenario(s.Sim, s.Target, affairStory), ScenarioResult.Failure);
            }
コード例 #3
0
            public static void OnPerform(Scenario scenario, ScenarioFrame frame)
            {
                DualSimScenario s = scenario as DualSimScenario;

                if (s == null)
                {
                    return;
                }

                if (RandomUtil.CoinFlip())
                {
                    scenario.Add(frame, new EngagementGatheringScenario(s.Sim), ScenarioResult.Start);
                }
                else
                {
                    scenario.Add(frame, new EngagementGatheringScenario(s.Target), ScenarioResult.Start);
                }
            }
コード例 #4
0
ファイル: WeightScenarioHelper.cs プロジェクト: yakoder/NRaas
        public bool TestBeforehand(StoryProgressionObject manager, SimDescription sim, SimDescription target)
        {
            if (!mTestBeforehand)
            {
                return(true);
            }

            SimScenario scenario = GetNewScenario(manager, sim, target);

            if (scenario == null)
            {
                return(true);
            }

            if (scenario.GetAllowedSims().Count == 0)
            {
                return(false);
            }

            DualSimScenario dualScenario = scenario as DualSimScenario;

            if (dualScenario != null)
            {
                bool found = false;

                foreach (SimDescription actor in scenario.GetAllowedSims())
                {
                    if (dualScenario.GetAllowedTargets(actor).Count > 0)
                    {
                        found = true;
                        break;
                    }
                }

                if (!found)
                {
                    return(false);
                }
            }

            return(true);
        }
コード例 #5
0
ファイル: NewEnemyScenario.cs プロジェクト: yakoder/NRaas
 public NewEnemyScenario(DualSimScenario scenario)
     : this(scenario.Sim, scenario.Target)
 {
 }
コード例 #6
0
ファイル: NewEnemyScenario.cs プロジェクト: Robobeurre/NRaas
 public NewEnemyScenario(DualSimScenario scenario)
     : this(scenario.Sim, scenario.Target)
 { }
コード例 #7
0
ファイル: NewFriendScenario.cs プロジェクト: Robobeurre/NRaas
 public NewFriendScenario(DualSimScenario scenario)
     : this(scenario.Sim, scenario.Target)
 { }
コード例 #8
0
ファイル: NewFriendScenario.cs プロジェクト: yakoder/NRaas
 public NewFriendScenario(DualSimScenario scenario)
     : this(scenario.Sim, scenario.Target)
 {
 }