Example #1
0
        public void LoadStageMaster(StageID id, Action <StageMaster> onLoad)
        {
            var path   = $"{MasterDirPath}/{id}";
            var master = Resources.Load(path) as StageMaster;

            onLoad.SafeCall(master);
        }
Example #2
0
    // 화면 페이드하면서 스테이지를 바꾸고 플레이어 위치를 스테이지 시작지점으로 이동
    IEnumerator Change(StageID stageID, Transform stagePoint)
    {
        CameraController.Fade(1, false);

        yield return(new WaitForSeconds(1.5f));

        // 현재 스테이지가 있으면 비활성화
        if (_currentStage != null)
        {
            _currentStage.gameObject.SetActive(false);
        }

        // 매개변수로 들어온 다음 스테이지ID에 맞는 스테이지를 리스트에서 찾아 현재스테이지에 저장 후 활성화
        _currentStage = _stageList[(int)stageID];
        _currentStage.gameObject.SetActive(true);

        // 플레이어 트랜스폼 정보를 글로벌에서 가져옴
        Transform playerTransfom = Global.shared <Player>().transform.parent;

        // 매개변수로 넘어온 포인트가 널이고 스테이지 시작 지점은 존재할때 스테이지 시작지점으로 플레이어 위치 이동
        if (stagePoint == null && _currentStage.GetStartPoint() != null)
        {
            playerTransfom.position = _currentStage.GetStartPoint().position;
        }
        // 매개변수로 넘어온 포인트가 존재할때 포인트로 플레이어 이동
        else if (stagePoint != null)
        {
            playerTransfom.position = stagePoint.position;
        }

        // 가지고 있는 파편 초기화
        _currentFragment = 0;

        CameraController.Fade(1, true);
    }
Example #3
0
        ///--------------------------------------------------------------------------------
        /// <summary>This method determines whether or not any metadata is
        /// different between the input instance and the current instance.</summary>
        ///
        /// <param name="inputStep">The step to compare metadata.</param>
        ///--------------------------------------------------------------------------------
        public bool IsIdenticalMetadata(Step inputStep)
        {
            if (StepName.GetString() != inputStep.StepName.GetString())
            {
                return(false);
            }
            if (StageID.GetGuid() != inputStep.StageID.GetGuid())
            {
                return(false);
            }
            if (Order.GetInt() != inputStep.Order.GetInt())
            {
                return(false);
            }
            if (IsAutoUpdated.GetBool() != inputStep.IsAutoUpdated.GetBool())
            {
                return(false);
            }
            if (Description.GetString() != inputStep.Description.GetString())
            {
                return(false);
            }

            #region protected
            #endregion protected

            return(true);
        }
Example #4
0
 public void OpenMessage(StageID ID)
 {
     stageID = ID;
     WritingGuide(ID);
     massge.SetActive(true);
     returnBase = false;
 }
Example #5
0
 private void SetDefaultStage(StageID DefaultID)
 {
     if (Stages_.ContainsKey(DefaultID))
     {
         DefaultStage_ = Stages_[DefaultID];
     }
 }
Example #6
0
    public void WritingGuide(StageID ID)
    {
        switch (ID)
        {
        case StageID.Stage0:
            guideText.text = "1";
            break;

        case StageID.Stage1:
            guideText.text = "平原:敵部隊の殲滅\n報酬:1500 出撃可能数:3\n平原に現れた敵部隊を殲滅せよ!";
            break;

        case StageID.Stage2:
            guideText.text = "都市:敵部隊の殲滅\n報酬:1500 出撃可能数:5\n都市部の敵部隊を殲滅せよ!";
            break;

        case StageID.Stage3:
            guideText.text = "森林地帯:森林横断任務\n報酬:2000 出撃可能数:4\n森林地帯を占拠する敵部隊の防衛を突破せよ!";
            break;

        case StageID.Stage4:
            guideText.text = "山岳基地:起動兵器ギガントの破壊\n報酬:5000 出撃可能数:5\n山岳基地を守る起動兵器ギガントを破壊せよ!";
            break;

        case StageID.Stage5:
            guideText.text = "平原:戦車部隊の撃滅\n報酬:2000 出撃可能数:4\n平原に敵の重戦車部隊が確認された、これを全て破壊せよ!";
            break;

        case StageID.Stage6:
            guideText.text = "平原:平原横断任務\n報酬:3000 出撃可能数:3\n平原に展開する敵部隊の包囲網を突破せよ!";
            break;

        case StageID.Stage7:
            guideText.text = "都市:対空砲装備部隊の撃滅\n報酬:3000 出撃可能数:5\n都市部にて対空砲装備部隊が確認された、これを全て破壊せよ!";
            break;

        case StageID.Stage8:
            guideText.text = "都市:敵重装部隊の殲滅\n報酬:1000 出撃可能数:4\n都市部に展開する敵重装甲部隊を殲滅せよ!";
            break;

        case StageID.Stage9:
            guideText.text = "森林地帯:敵部隊の殲滅\n報酬:2000 出撃可能数:4\n森林地帯で敵部隊に囲まれた、これを返り討ちにせよ!";
            break;

        case StageID.Stage10:
            guideText.text = "森林地帯:敵重装甲部隊の撃滅\n報酬:3000 出撃可能数:5\n森林地帯にて重装甲部隊が確認された、これを全て破壊せよ!";
            break;

        case StageID.Stage11:
            guideText.text = "山岳基地:大型起動兵器迎撃作戦\n報酬:1000 出撃可能数:4\n山岳基地にて大型起動兵器の襲撃を確認!迎撃せよ!";
            break;

        case StageID.Stage12:
            guideText.text = "山岳基地:基地からの脱出\n報酬:1000 出撃可能数:4\n山岳基地より脱出せよ!";
            break;

        default:
            break;
        }
    }
        /// <summary>
        /// Makes the result.
        /// </summary>
        /// <param name='exp'>
        /// 獲得経験値
        /// </param>
        public void MakeResult(int exp, StageID thisStageId)
        {
            if(Global.isClear){
                Label_1.Text = "Stage Cleared!";
                Label_1.TextColor = new UIColor(247f / 255f, 255f / 255f, 0f / 255f, 255f / 255f);
                Global.isStageOpened[(int)thisStageId + 1] = true;
            }else{
                Label_1.Text = "Stage Failed...";
                Label_1.TextColor = new UIColor(255f / 255f, 10f / 255f, 10f / 255f, 255f / 255f);
            }

            var newExp = Global.characterExp + exp;
            Label_3.Text = ""+exp;

            if(Global.characterLevel < Global.maxLevel){
                if(newExp >= Global.expTable[Global.characterLevel+1]){
                    while(newExp >= Global.expTable[Global.characterLevel+1]){
                        Global.characterExp = newExp - Global.expTable[Global.characterLevel+1];
                        Global.characterLevel++;
                        if(Global.characterLevel == Global.maxLevel){
                            Global.characterExp = 0;
                            break;
                        }
                    }
                    Label_4.Text = "レベルアップ!";
                }else{
                        Global.characterExp = newExp;
                        Label_4.Text = "";

                }
                FileIO.SaveData();
            }
        }
Example #8
0
 public void AddStage(IStage Stage, StageID NextStageID)
 {
     if (!Stages_.ContainsKey(Stage.GetStageID()))
     {
         Stages_.Add(Stage.GetStageID(), Stage);
         Stage.SetNextStageID(NextStageID);
     }
 }
        public Result(int exp, StageID thisStageId)
            : base(null, null)
        {
            InitializeWidget();
            MakeResult(exp,thisStageId);

            this.Button_1.TouchEventReceived += new EventHandler<TouchEventArgs>(dialogClose);
        }
Example #10
0
        /// <summary>
        /// Obtains the pointers for a specific stage's start/ending/bragging positions to override with the custom
        /// defined ones.
        /// </summary>
        /// <param name="stageId">The individual stage index to get the information for.</param>
        public static StageInfo GetStageInfo(StageID stageId)
        {
            // Categorize the individual stage and decide if to take 1P or 2P path.
            StageTags.StageTag stageTags = StageTags.CategorizeStage((int)stageId);
            StageInfo          stageInfo = new StageInfo();

            // Check if 2 player to perform or 1 player.
            if (stageTags.HasFlag(StageTags.StageTag.TwoPlayer))
            {
                #region Get Multiplayer Start
                for (int x = 0; x < Pointers.MULTI_PLAYER_START_ENTRY_LENGTH; x++)
                {
                    if (Pointers.MultiPlayerStartPointer[x].StageID == stageId)
                    {
                        stageInfo.MultiPlayerStartPointer = &Pointers.MultiPlayerStartPointer[x];
                        break;
                    }
                }
                #endregion

                #region Get Multiplayer Brag
                for (int x = 0; x < Pointers.MULTI_PLAYER_BRAG_ENTRY_LENGTH; x++)
                {
                    if (Pointers.MultiPlayerBragPointer[x].StageID == stageId)
                    {
                        stageInfo.MultiPlayerBragPointer = &Pointers.MultiPlayerBragPointer[x];
                        break;
                    }
                }
                #endregion
            }
            else
            {
                #region Get Singleplayer Start
                for (int x = 0; x < Pointers.SINGLE_PLAYER_START_ENTRY_LENGTH; x++)
                {
                    if (Pointers.SinglePlayerStartPointer[x].StageID == stageId)
                    {
                        stageInfo.SinglePlayerStartPointer = &Pointers.SinglePlayerStartPointer[x];
                        break;
                    }
                }
                #endregion
            }

            #region Find Ending Position
            for (int x = 0; x < Pointers.BOTH_PLAYER_END_ENTRY_LENGTH; x++)
            {
                if (Pointers.BothPlayerEndPointer[x].StageID == stageId)
                {
                    stageInfo.BothPlayerEndPointer = &Pointers.BothPlayerEndPointer[x];
                    break;
                }
            }
            #endregion

            return(stageInfo);
        }
 /// <summary>
 /// Method the same as SceneManager.LoadScene() but with ability to adjust InjectBox, clear resources and call garbage collector.
 /// </summary>
 /// <param name="stageId"></param>
 /// <param name="mode"></param>
 public static void LoadStage(StageID stageId, LoadSceneMode mode = LoadSceneMode.Single)
 {
     InjectBox.ClearNonGlobalInjectables();
     InjectBox.Get <PoolManager>().ClearPools();
     EventManager.UnsubscribeAllEvents();
     SceneManager.LoadScene(stageId.ToString(), mode);
     Resources.UnloadUnusedAssets();
     GC.Collect();
 }
Example #12
0
 public static StageID NextStage(StageID cleared)
 {
     if (cleared.stage == 1 && cleared.number == 1)
     {
         return new StageID {
                    stage = 1, number = 2
         }
     }
     ;
     return(StageID.None);
 }
Example #13
0
 private void TranslateTo(StageID NextID)
 {
     if (Stages_.ContainsKey(NextID))
     {
         DstStage_ = Stages_[NextID];
     }
     else
     {
         TranslateTo(StageID.Error);
     }
 }
Example #14
0
 public StageInformation()
 {
     ID = 0;
     StageName = "No Name";
     Discription = "No Discription";
     Difficulty = 99;
     DataFileName = "";
     StartPosition = Vector3.zero;
     StartRotation = Quaternion.identity;
     TimeLimit = 60;
 }
Example #15
0
    public int GetEnemyNumber(StageID ID)
    {
        int i = 0;

        switch (ID)
        {
        case StageID.Stage0:
            break;

        case StageID.Stage1:
            break;

        case StageID.Stage2:
            break;

        case StageID.Stage3:
            break;

        case StageID.Stage4:
            break;

        case StageID.Stage5:
            break;

        case StageID.Stage6:
            break;

        case StageID.Stage7:
            break;

        case StageID.Stage8:
            break;

        case StageID.Stage9:
            break;

        case StageID.Stage10:
            break;

        case StageID.Stage11:
            break;

        case StageID.Stage12:
            break;

        default:
            break;
        }
        return(i);
    }
Example #16
0
        public void GoToStage(StageID newStageID, ILootLockerStageData stageData)
        {
            Stage stage = stages.Find(s => s.stageID == newStageID);

            activeStage = stage;

            foreach (Stage loopStage in stages)
            {
                loopStage.stageObject?.GetComponent <ScreenCloser>()?.Close();
            }
            //update the screen with data
            stage.stageObject?.GetComponent <ILootLockerStageOwner>()?.UpdateScreenData(stageData);
            stage.stageObject?.GetComponent <ScreenOpener>()?.Open();
        }
Example #17
0
 public static StageID StageMove(StageID now, Way way)
 {
     if (now.stage == 1 && now.number == 1)
     {
         if ((way == Way.down) || (way == Way.right))
         {
             return(new StageID {
                 stage = 1, number = 2
             });
         }
     }
     else if (now.stage == 1 && now.number == 2)
     {
         if ((way == Way.up) || (way == Way.left))
         {
             return(new StageID {
                 stage = 1, number = 1
             });
         }
     }
     return(StageID.None);
 }
 private void LoadStageMaster(StageID id, Action <StageMaster> onLoad)
 {
     _stageSelect.LoadStageMaster(id, onLoad);
 }
Example #19
0
 public bool GetStageFlag(StageID ID)
 {
     return(false);
 }
Example #20
0
        private void SetupStage(StageID stageID)
        {
            Enemies = new List <CharacterController>();

            CreatePlayer();
        }
 public PanelStage(StageID stageID)
 {
     stageId = stageID;
     InitializeWidget(stageID);
     this.Button_1.TouchEventReceived += new EventHandler<TouchEventArgs>(ChangeToGameScene);
 }
Example #22
0
 public void SetStageID(StageID ID)
 {
     StageCode = ID;
     StartChange(5);
 }
Example #23
0
    public string GetStageName(StageID ID)
    {
        string name = "";

        switch (ID)
        {
        case StageID.Stage0:
            name = "訓練場";
            break;

        case StageID.Stage1:
            name = "平原";
            break;

        case StageID.Stage2:
            name = "都市";
            break;

        case StageID.Stage3:
            name = "森林地帯";
            break;

        case StageID.Stage4:
            name = "山岳基地";
            break;

        case StageID.Stage5:
            name = "平原";
            break;

        case StageID.Stage6:
            name = "平原";
            break;

        case StageID.Stage7:
            name = "都市";
            break;

        case StageID.Stage8:
            name = "都市";
            break;

        case StageID.Stage9:
            name = "森林地帯";
            break;

        case StageID.Stage10:
            name = "森林地帯";
            break;

        case StageID.Stage11:
            name = "山岳基地";
            break;

        case StageID.Stage12:
            name = "山岳基地";
            break;

        default:
            break;
        }
        return(name);
    }
Example #24
0
 public void WritingGuide(StageID ID)
 {
     dataGuide.WritingGuide(ID);
 }
Example #25
0
        /// <summary>
        /// ステージの説明を表示させる
        /// </summary>
        /// <param name="typeName"></param>
        private void DiscriptStage(StageID id)
        {
            Text nameText = StageDiscriptionPanel.FindChild("StageNameText").GetComponent<Text>();
            InputField discriptionField = StageDiscriptionPanel.FindChild("DiscriptionField").GetComponent<InputField>();
            StageInformation info = StageScript.GetInformation(id);
            nameText.text = info.StageName;
            discriptionField.text = info.Discription;

            SetDifficulty(info.Difficulty);
        }
Example #26
0
    public int GetPlayerNumber(StageID ID)
    {
        int i = 0;

        switch (ID)
        {
        case StageID.Stage0:
            i = 3;
            break;

        case StageID.Stage1:
            i = 3;
            break;

        case StageID.Stage2:
            i = 5;
            break;

        case StageID.Stage3:
            i = 4;
            break;

        case StageID.Stage4:
            i = 5;
            break;

        case StageID.Stage5:
            i = 4;
            break;

        case StageID.Stage6:
            i = 3;
            break;

        case StageID.Stage7:
            i = 5;
            break;

        case StageID.Stage8:
            i = 4;
            break;

        case StageID.Stage9:
            i = 4;
            break;

        case StageID.Stage10:
            i = 5;
            break;

        case StageID.Stage11:
            i = 4;
            break;

        case StageID.Stage12:
            i = 4;
            break;

        default:
            break;
        }
        return(i);
    }
Example #27
0
        public void ReadINIConfig(string FileName)
        {
            StartPositions = new List <StartPositionEntry>();
            EndPositions   = new List <EndPositionEntry>();
            BragPositions  = new List <EndPositionEntry>();

            StartPositionEntry SonicStartPosition   = new StartPositionEntry();
            StartPositionEntry DarkStartPosition    = new StartPositionEntry();
            StartPositionEntry RoseStartPosition    = new StartPositionEntry();
            StartPositionEntry ChaotixStartPosition = new StartPositionEntry();
            StartPositionEntry ForeditStartPosition = new StartPositionEntry();

            EndPositionEntry SonicEndPosition   = new EndPositionEntry();
            EndPositionEntry DarkEndPosition    = new EndPositionEntry();
            EndPositionEntry RoseEndPosition    = new EndPositionEntry();
            EndPositionEntry ChaotixEndPosition = new EndPositionEntry();
            EndPositionEntry ForeditEndPosition = new EndPositionEntry();

            EndPositionEntry SonicBragPosition   = new EndPositionEntry();
            EndPositionEntry DarkBragPosition    = new EndPositionEntry();
            EndPositionEntry RoseBragPosition    = new EndPositionEntry();
            EndPositionEntry ChaotixBragPosition = new EndPositionEntry();
            EndPositionEntry ForeditBragPosition = new EndPositionEntry();

            string[] ConfigFile = File.ReadAllLines(FileName);

            if (ConfigFile[0] != "HEROES_MOD_LOADER_LEVEL_CONFIG_FILE")
            {
                throw new Exception("Error: unsupported file.");
            }

            string seename;

            if (ConfigFile[1].Contains("LEVEL_FLAG"))
            {
                seename = ConfigFile[1].Split('=')[1];
            }
            else
            {
                throw new Exception("Error: unsupported file.");
            }

            currentID = StageID.Null;

            foreach (StageID i in Enum.GetValues(typeof(StageID)))
            {
                if (i.ToString() == seename)
                {
                    currentID = i;
                    break;
                }
            }
            if (currentID == StageID.Null)
            {
                throw new Exception("Error: unsupported file.");
            }

            for (int x = 2; x < ConfigFile.Length; x++)
            {
                string Value = ConfigFile[x].Substring(ConfigFile[x].IndexOf("=") + 1);

                if (ConfigFile[x].StartsWith("SONIC_"))
                {
                    if (ConfigFile[x].Contains("START_"))
                    {
                        if (ConfigFile[x].Contains("POSITIONX"))
                        {
                            SonicStartPosition.PositionX = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONY"))
                        {
                            SonicStartPosition.PositionY = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONZ"))
                        {
                            SonicStartPosition.PositionZ = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("PITCH"))
                        {
                            SonicStartPosition.Pitch = Convert.ToUInt16(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("MODE"))
                        {
                            SonicStartPosition.Mode = (GenericStageInjectionCommon.Structs.Enums.StartPositionMode)Convert.ToByte(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("RUNNING"))
                        {
                            SonicStartPosition.HoldTime = Convert.ToInt32(Value); continue;
                        }
                    }
                    else if (ConfigFile[x].Contains("END_"))
                    {
                        if (ConfigFile[x].Contains("POSITIONX"))
                        {
                            SonicEndPosition.PositionX = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONY"))
                        {
                            SonicEndPosition.PositionY = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONZ"))
                        {
                            SonicEndPosition.PositionZ = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("PITCH"))
                        {
                            SonicEndPosition.Pitch = Convert.ToUInt16(Value); continue;
                        }
                    }
                    else if (ConfigFile[x].Contains("BRAG_"))
                    {
                        if (ConfigFile[x].Contains("POSITIONX"))
                        {
                            SonicBragPosition.PositionX = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONY"))
                        {
                            SonicBragPosition.PositionY = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONZ"))
                        {
                            SonicBragPosition.PositionZ = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("PITCH"))
                        {
                            SonicBragPosition.Pitch = Convert.ToUInt16(Value); continue;
                        }
                    }
                }
                else if (ConfigFile[x].StartsWith("DARK_"))
                {
                    if (ConfigFile[x].Contains("START_"))
                    {
                        if (ConfigFile[x].Contains("POSITIONX"))
                        {
                            DarkStartPosition.PositionX = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONY"))
                        {
                            DarkStartPosition.PositionY = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONZ"))
                        {
                            DarkStartPosition.PositionZ = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("PITCH"))
                        {
                            DarkStartPosition.Pitch = Convert.ToUInt16(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("MODE"))
                        {
                            DarkStartPosition.Mode = (GenericStageInjectionCommon.Structs.Enums.StartPositionMode)Convert.ToByte(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("RUNNING"))
                        {
                            DarkStartPosition.HoldTime = Convert.ToInt32(Value); continue;
                        }
                    }
                    else if (ConfigFile[x].Contains("END_"))
                    {
                        if (ConfigFile[x].Contains("POSITIONX"))
                        {
                            DarkEndPosition.PositionX = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONY"))
                        {
                            DarkEndPosition.PositionY = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONZ"))
                        {
                            DarkEndPosition.PositionZ = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("PITCH"))
                        {
                            DarkEndPosition.Pitch = Convert.ToUInt16(Value); continue;
                        }
                    }
                    else if (ConfigFile[x].Contains("BRAG_"))
                    {
                        if (ConfigFile[x].Contains("POSITIONX"))
                        {
                            DarkBragPosition.PositionX = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONY"))
                        {
                            DarkBragPosition.PositionY = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONZ"))
                        {
                            DarkBragPosition.PositionZ = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("PITCH"))
                        {
                            DarkBragPosition.Pitch = Convert.ToUInt16(Value); continue;
                        }
                    }
                }
                else if (ConfigFile[x].StartsWith("ROSE_"))
                {
                    if (ConfigFile[x].Contains("START_"))
                    {
                        if (ConfigFile[x].Contains("POSITIONX"))
                        {
                            RoseStartPosition.PositionX = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONY"))
                        {
                            RoseStartPosition.PositionY = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONZ"))
                        {
                            RoseStartPosition.PositionZ = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("PITCH"))
                        {
                            RoseStartPosition.Pitch = Convert.ToUInt16(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("MODE"))
                        {
                            RoseStartPosition.Mode = (GenericStageInjectionCommon.Structs.Enums.StartPositionMode)Convert.ToByte(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("RUNNING"))
                        {
                            RoseStartPosition.HoldTime = Convert.ToInt32(Value); continue;
                        }
                    }
                    else if (ConfigFile[x].Contains("END_"))
                    {
                        if (ConfigFile[x].Contains("POSITIONX"))
                        {
                            RoseEndPosition.PositionX = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONY"))
                        {
                            RoseEndPosition.PositionY = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONZ"))
                        {
                            RoseEndPosition.PositionZ = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("PITCH"))
                        {
                            RoseEndPosition.Pitch = Convert.ToUInt16(Value); continue;
                        }
                    }
                    else if (ConfigFile[x].Contains("BRAG_"))
                    {
                        if (ConfigFile[x].Contains("POSITIONX"))
                        {
                            RoseBragPosition.PositionX = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONY"))
                        {
                            RoseBragPosition.PositionY = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONZ"))
                        {
                            RoseBragPosition.PositionZ = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("PITCH"))
                        {
                            RoseBragPosition.Pitch = Convert.ToUInt16(Value); continue;
                        }
                    }
                }
                else if (ConfigFile[x].StartsWith("CHAOTIX_"))
                {
                    if (ConfigFile[x].Contains("START_"))
                    {
                        if (ConfigFile[x].Contains("POSITIONX"))
                        {
                            ChaotixStartPosition.PositionX = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONY"))
                        {
                            ChaotixStartPosition.PositionY = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONZ"))
                        {
                            ChaotixStartPosition.PositionZ = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("PITCH"))
                        {
                            ChaotixStartPosition.Pitch = Convert.ToUInt16(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("MODE"))
                        {
                            ChaotixStartPosition.Mode = (GenericStageInjectionCommon.Structs.Enums.StartPositionMode)Convert.ToByte(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("RUNNING"))
                        {
                            ChaotixStartPosition.HoldTime = Convert.ToInt32(Value); continue;
                        }
                    }
                    else if (ConfigFile[x].Contains("END_"))
                    {
                        if (ConfigFile[x].Contains("POSITIONX"))
                        {
                            ChaotixEndPosition.PositionX = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONY"))
                        {
                            ChaotixEndPosition.PositionY = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONZ"))
                        {
                            ChaotixEndPosition.PositionZ = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("PITCH"))
                        {
                            ChaotixEndPosition.Pitch = Convert.ToUInt16(Value); continue;
                        }
                    }
                    else if (ConfigFile[x].Contains("BRAG_"))
                    {
                        if (ConfigFile[x].Contains("POSITIONX"))
                        {
                            ChaotixBragPosition.PositionX = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONY"))
                        {
                            ChaotixBragPosition.PositionY = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONZ"))
                        {
                            ChaotixBragPosition.PositionZ = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("PITCH"))
                        {
                            ChaotixBragPosition.Pitch = Convert.ToUInt16(Value); continue;
                        }
                    }
                }
                else if (ConfigFile[x].StartsWith("FOREDIT_"))
                {
                    if (ConfigFile[x].Contains("START_"))
                    {
                        if (ConfigFile[x].Contains("POSITIONX"))
                        {
                            ForeditStartPosition.PositionX = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONY"))
                        {
                            ForeditStartPosition.PositionY = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONZ"))
                        {
                            ForeditStartPosition.PositionZ = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("PITCH"))
                        {
                            ForeditStartPosition.Pitch = Convert.ToUInt16(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("MODE"))
                        {
                            ForeditStartPosition.Mode = (GenericStageInjectionCommon.Structs.Enums.StartPositionMode)Convert.ToByte(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("RUNNING"))
                        {
                            ForeditStartPosition.HoldTime = Convert.ToInt32(Value); continue;
                        }
                    }
                    else if (ConfigFile[x].Contains("END_"))
                    {
                        if (ConfigFile[x].Contains("POSITIONX"))
                        {
                            ForeditEndPosition.PositionX = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONY"))
                        {
                            ForeditEndPosition.PositionY = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONZ"))
                        {
                            ForeditEndPosition.PositionZ = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("PITCH"))
                        {
                            ForeditEndPosition.Pitch = Convert.ToUInt16(Value); continue;
                        }
                    }
                    else if (ConfigFile[x].Contains("BRAG_"))
                    {
                        if (ConfigFile[x].Contains("POSITIONX"))
                        {
                            ForeditBragPosition.PositionX = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONY"))
                        {
                            ForeditBragPosition.PositionY = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("POSITIONZ"))
                        {
                            ForeditBragPosition.PositionZ = Convert.ToSingle(Value); continue;
                        }
                        else if (ConfigFile[x].Contains("PITCH"))
                        {
                            ForeditBragPosition.Pitch = Convert.ToUInt16(Value); continue;
                        }
                    }
                }
            }

            StartPositions.Add(SonicStartPosition);
            StartPositions.Add(DarkStartPosition);
            StartPositions.Add(RoseStartPosition);
            StartPositions.Add(ChaotixStartPosition);
            StartPositions.Add(ForeditStartPosition);
            StartPositions[0].NewColor(Color.Blue.ToVector3());
            StartPositions[1].NewColor(Color.Red.ToVector3());
            StartPositions[2].NewColor(Color.HotPink.ToVector3());
            StartPositions[3].NewColor(Color.Green.ToVector3());
            StartPositions[4].NewColor(Color.Orange.ToVector3());

            EndPositions.Add(SonicEndPosition);
            EndPositions.Add(DarkEndPosition);
            EndPositions.Add(RoseEndPosition);
            EndPositions.Add(ChaotixEndPosition);
            EndPositions.Add(ForeditEndPosition);
            EndPositions[0].NewColor(Color.LightBlue.ToVector3());
            EndPositions[1].NewColor(Color.IndianRed.ToVector3());
            EndPositions[2].NewColor(Color.Pink.ToVector3());
            EndPositions[3].NewColor(Color.LightGreen.ToVector3());
            EndPositions[4].NewColor(Color.Yellow.ToVector3());

            BragPositions.Add(SonicBragPosition);
            BragPositions.Add(DarkBragPosition);
            BragPositions.Add(RoseBragPosition);
            BragPositions.Add(ChaotixBragPosition);
            BragPositions.Add(ForeditBragPosition);
            BragPositions[0].NewColor(Color.DarkBlue.ToVector3());
            BragPositions[1].NewColor(Color.DarkRed.ToVector3());
            BragPositions[2].NewColor(Color.DarkMagenta.ToVector3());
            BragPositions[3].NewColor(Color.DarkGreen.ToVector3());
            BragPositions[4].NewColor(Color.DarkOrange.ToVector3());

            ComboLevelConfig.SelectedItem = currentID;
            ComboBoxTeam.SelectedIndex    = 0;
        }
Example #28
0
        /// <summary>
        /// This method is quite ugly. The quality of it is the same as the edginess of this class.
        /// </summary>
        public static string GetDescription(StageID stageId, CurrentMission mission)
        {
            switch (stageId)
            {
            // 100
            case StageID.Westopolis:
                return(Westopolis.GetDescription(mission));

            // 200
            case StageID.DigitalCircuit:
                return(DigitalCircuit.GetDescription(mission));

            case StageID.GlyphicCanyon:
                return(GlyphicCanyon.GetDescription(mission));

            case StageID.LethalHighway:
                return(LethalHighway.GetDescription(mission));

            // 300
            case StageID.CrypticCastle:
                return(CrypticCastle.GetDescription(mission));

            case StageID.PrisonIsland:
                return(PrisonIsland.GetDescription(mission));

            case StageID.CircusPark:
                return(CircusPark.GetDescription(mission));

            // 400
            case StageID.CentralCity:
                return(CentralCity.GetDescription(mission));

            case StageID.TheDoom:
                return(TheDoom.GetDescription(mission));

            case StageID.SkyTroops:
                return(SkyTroops.GetDescription(mission));

            case StageID.MadMatrix:
                return(MadMatrix.GetDescription(mission));

            case StageID.DeathRuins:
                return(DeathRuins.GetDescription(mission));

            // 500
            case StageID.TheARK:
                return(TheArk.GetDescription(mission));

            case StageID.AirFleet:
                return(AirFleet.GetDescription(mission));

            case StageID.IronJungle:
                return(IronJungle.GetDescription(mission));

            case StageID.SpaceGadget:
                return(SpaceGadget.GetDescription(mission));

            case StageID.LostImpact:
                return(LostImpact.GetDescription(mission));

            // 600
            case StageID.GUNFortress:
                return(GunFortress.GetDescription(mission));

            case StageID.BlackComet:
                return(BlackComet.GetDescription(mission));

            case StageID.LavaShelter:
                return(LavaShelter.GetDescription(mission));

            case StageID.CosmicFall:
                return(CosmicFall.GetDescription(mission));

            case StageID.FinalHaunt:
                return(FinalHaunt.GetDescription(mission));
            }

            return("");
        }
Example #29
0
        private void ReadJSONConfig(string fileName)
        {
            GenericStageInjectionCommon.Shared.Config c = GenericStageInjectionCommon.Shared.Config.ParseConfig(fileName);

            StartPositions.Clear();
            EndPositions.Clear();
            BragPositions.Clear();

            if (c.StartPositions != null)
            {
                foreach (PositionStart s in c.StartPositions)
                {
                    StartPositions.Add(new StartPositionEntry()
                    {
                        PositionX = s.Position.X,
                        PositionY = s.Position.Y,
                        PositionZ = s.Position.Z,
                        HoldTime  = s.HoldTime,
                        Mode      = s.Mode,
                        Pitch     = s.Pitch
                    });
                }
            }

            while (StartPositions.Count < 5)
            {
                StartPositions.Add(new StartPositionEntry());
            }
            while (StartPositions.Count > 5)
            {
                StartPositions.RemoveAt(StartPositions.Count - 1);
            }

            if (c.EndPositions != null)
            {
                foreach (PositionEnd s in c.EndPositions)
                {
                    EndPositions.Add(new EndPositionEntry()
                    {
                        PositionX = s.Position.X,
                        PositionY = s.Position.Y,
                        PositionZ = s.Position.Z,
                        Pitch     = s.Pitch
                    });
                }
            }

            while (EndPositions.Count < 5)
            {
                EndPositions.Add(new EndPositionEntry());
            }
            while (EndPositions.Count > 5)
            {
                EndPositions.RemoveAt(EndPositions.Count - 1);
            }

            if (c.BragPositions != null)
            {
                foreach (PositionEnd s in c.BragPositions)
                {
                    BragPositions.Add(new EndPositionEntry()
                    {
                        PositionX = s.Position.X,
                        PositionY = s.Position.Y,
                        PositionZ = s.Position.Z,
                        Pitch     = s.Pitch
                    });
                }
            }

            while (BragPositions.Count < 5)
            {
                BragPositions.Add(new EndPositionEntry());
            }
            while (BragPositions.Count > 5)
            {
                BragPositions.RemoveAt(BragPositions.Count - 1);
            }

            StartPositions[0].NewColor(Color.Blue.ToVector3());
            StartPositions[1].NewColor(Color.Red.ToVector3());
            StartPositions[2].NewColor(Color.HotPink.ToVector3());
            StartPositions[3].NewColor(Color.Green.ToVector3());
            StartPositions[4].NewColor(Color.Orange.ToVector3());

            EndPositions[0].NewColor(Color.LightBlue.ToVector3());
            EndPositions[1].NewColor(Color.IndianRed.ToVector3());
            EndPositions[2].NewColor(Color.Pink.ToVector3());
            EndPositions[3].NewColor(Color.LightGreen.ToVector3());
            EndPositions[4].NewColor(Color.Yellow.ToVector3());

            BragPositions[0].NewColor(Color.DarkBlue.ToVector3());
            BragPositions[1].NewColor(Color.DarkRed.ToVector3());
            BragPositions[2].NewColor(Color.DarkMagenta.ToVector3());
            BragPositions[3].NewColor(Color.DarkGreen.ToVector3());
            BragPositions[4].NewColor(Color.DarkOrange.ToVector3());

            currentID = c.StageId;
            ComboLevelConfig.SelectedItem = currentID;
        }
Example #30
0
 public IStage(Updater Updater, StageID StageID)
 {
     StageID_     = StageID;
     Updater_     = Updater;
     NextStageID_ = StageID.Error;
 }
        public void Update(StageID stageID)
        {
            Button_1.Text = ""+stageId;
            Label_1.Text = ""+stageId;

            if(Global.isStageOpened[(int)stageID]){
                if(stageID == StageID.Stage1){
                    ImageBox_1.Image = new ImageAsset("/Application/assets/statusbg.jpg");
                    Label_2.Text = "市街地ステージ";
                }
            }else{
                ImageBox_1.Image = new ImageAsset(new Image(ImageMode.Rgba,new ImageSize(960,544),new ImageColor(0,0,0,255))); ;
                Button_1.Enabled = false;
                Label_2.Text = "Stage " + ((int)stageId-1) + "クリアで開放";

            }
        }
Example #32
0
 /// <summary>
 /// gにidで指定されたStageのScriptをアタッチする
 /// </summary>
 /// <param name="id"></param>
 /// <param name="g"></param>
 public static void AttachInstance(StageID id, GameObject g)
 {
     switch(id)
     {
         case StageID.TestStage:
             g.AddComponent<TestStageScript>();
             break;
         case StageID.Tutorial:
             g.AddComponent<TutorialStageScript>();
             break;
     }
 }
        private void InitializeWidget(LayoutOrientation orientation, StageID stageID)
        {
            ImageBox_1 = new ImageBox();
            ImageBox_1.Name = "ImageBox_1";
            Button_1 = new Button();
            Button_1.Name = "Button_1";
            Panel_1 = new Panel();
            Panel_1.Name = "Panel_1";
            Label_1 = new Label();
            Label_1.Name = "Label_1";
            Label_2 = new Label();
            Label_2.Name = "Label_2";

            // ImageBox_1
            ImageBox_1.ImageScaleType = ImageScaleType.Center;

            // Button_1
            Button_1.TextColor = new UIColor(255f / 255f, 255f / 255f, 255f / 255f, 255f / 255f);
            Button_1.TextFont = new UIFont(FontAlias.System, 25, FontStyle.Regular);

            // Panel_1
            Panel_1.BackgroundColor = new UIColor(153f / 255f, 153f / 255f, 153f / 255f, 255f / 255f);
            Panel_1.Clip = true;
            Panel_1.AddChildLast(ImageBox_1);
            Panel_1.AddChildLast(Button_1);

            // Label_1
            Label_1.TextColor = new UIColor(255f / 255f, 255f / 255f, 255f / 255f, 255f / 255f);
            Label_1.Font = new UIFont(FontAlias.System, 80, FontStyle.Bold);
            Label_1.LineBreak = LineBreak.Character;
            Label_1.HorizontalAlignment = HorizontalAlignment.Center;
            Label_1.TextShadow = new TextShadowSettings()
            {
                Color = new UIColor(128f / 255f, 128f / 255f, 128f / 255f, 127f / 255f),
                HorizontalOffset = 2f,
                VerticalOffset = 2f,
            };

            // Label_2
            Label_2.TextColor = new UIColor(255f / 255f, 255f / 255f, 255f / 255f, 255f / 255f);
            Label_2.Font = new UIFont(FontAlias.System, 50, FontStyle.Bold);
            Label_2.LineBreak = LineBreak.Character;
            Label_2.HorizontalAlignment = HorizontalAlignment.Center;
            Label_2.TextShadow = new TextShadowSettings()
            {
                Color = new UIColor(128f / 255f, 128f / 255f, 128f / 255f, 127f / 255f),
                HorizontalOffset = 2f,
                VerticalOffset = 2f,
            };

            // PanelStage
            this.BackgroundColor = new UIColor(153f / 255f, 153f / 255f, 153f / 255f, 255f / 255f);
            this.Clip = true;
            this.AddChildLast(Panel_1);
            this.AddChildLast(Label_1);
            this.AddChildLast(Label_2);

            SetWidgetLayout(orientation);

            Update(stageID);
        }
Example #34
0
        public static StageInformation GetInformation(StageID id)
        {
            switch(id)
            {
                case StageID.Tutorial:
                    return TutorialStageScript.Information;
                case StageID.TestStage:
                    return TestStageScript.Information;
                case StageID.TestStage1:
                    return TestStageScript.Information;
                case StageID.TestStage2:
                    return TestStage2.Information;
                case StageID.TestStage3:
                    return TestStage3.Information;
                case StageID.NFStage:
                    return NFStageScript.Information;
            }

            return null;
        }
Example #35
0
        /// <summary>
        /// ゲームを開始するメソッド
        /// </summary>
        /// <param name='stageId'>
        /// 開始するステージID
        /// </param>
        public static void StartGame(StageID stageId)
        {
            Scenes.sceneOnGame.Cleanup();

            // 背景テクスチャをロード
            backGroundTexture = new Texture2D("Application/resourses/background1.jpg", false);
            backGroundTextureInfo = new Sce.PlayStation.HighLevel.GameEngine2D.Base.TextureInfo(backGroundTexture);
            // 自機テクスチャをロード
            myShipTexture = new Texture2D("Application/resourses/myCharacter.gif", false);
            myShipTextureInfo = new Sce.PlayStation.HighLevel.GameEngine2D.Base.TextureInfo(myShipTexture);

            // スプライト作成
            backGroundSprite = new SpriteUV(){TextureInfo = backGroundTextureInfo};
            backGroundSprite.Quad.S = backGroundTextureInfo.TextureSizef;

            myShipSprite = new SpriteUV(){TextureInfo = myShipTextureInfo};
            myShipSprite.Quad.S = myShipTextureInfo.TextureSizef;
            myShipSprite.Scale = new Vector2(0.8f,0.8f);

            // スプライトの中心をテクスチャの中心に設定

            backGroundSprite.CenterSprite();
            myShipSprite.CenterSprite();

            // スプライトの表示位置をカメラの中央に配置
            backGroundSprite.Position = Scenes.sceneOnGame.Camera.CalcBounds().Center;

            myShipSprite.Position = new Vector2(100,272);

            // シーンの子要素としてスプライトを追加

            Scenes.sceneOnGame.AddChild(backGroundSprite);
            Scenes.sceneOnGame.AddChild(myShipSprite);

            Enemy.InitEnemy();
            MyBullet.InitMyBullet();
            EnemyBullet.InitEnemyBullet();
            Item.InitItem();
            Rayer.InitRayer();

            // 乱数発生インスタンスを生成
            random = new Random();

            // 削除待ちキュー作成
            myBulletDeleteQueue = new ArrayList();
            enemyBulletDeleteQueue = new ArrayList();
            enemyDeleteQueue = new ArrayList();
            itemDeleteQueue = new ArrayList();

            Global.characterStack = 4;
            Global.characterActive = true;
            Global.score = 0;
            Global.skillPoint = 0;
            Global.isClear = false;
            Global.isGameOver = false;
            Rayer.UpdateScore(0);
            Rayer.UpdateCharacterStack(0);
            Rayer.UpdateSkillPoint(0);
            time = 0;
            tickCount = 0;
            playingStageId = stageId;
            SkillTimeCount = 0.0f;
            defaultSkillInTime = false;

            Stage.StartStage1();

            Director.Instance.Update ();
            Scenes.sceneOnGame.RegisterDisposeOnExitRecursive();
            Scheduler.Instance.Schedule(Scenes.sceneOnGame,Tick,0.01f,false);
        }
Example #36
0
 // 스테이지를 바꾸는 코루틴 호출 함수
 public static void ChangeStage(StageID stageID, Transform stagePoint = null)
 {
     Instance.StartCoroutine(Instance.Change(stageID, stagePoint));
 }
 private void InitializeWidget(StageID stageID)
 {
     InitializeWidget(LayoutOrientation.Horizontal, stageID);
 }
Example #38
0
    public int GetReward(StageID ID)
    {
        int reward = 0;

        switch (ID)
        {
        case StageID.Stage0:
            reward = 500;
            break;

        case StageID.Stage1:
            reward = 1500;
            break;

        case StageID.Stage2:
            reward = 1500;
            break;

        case StageID.Stage3:
            reward = 2000;
            break;

        case StageID.Stage4:
            reward = 5000;
            break;

        case StageID.Stage5:
            reward = 2000;
            break;

        case StageID.Stage6:
            reward = 3000;
            break;

        case StageID.Stage7:
            reward = 3000;
            break;

        case StageID.Stage8:
            reward = 1000;
            break;

        case StageID.Stage9:
            reward = 2000;
            break;

        case StageID.Stage10:
            reward = 3000;
            break;

        case StageID.Stage11:
            reward = 1000;
            break;

        case StageID.Stage12:
            reward = 1000;
            break;

        default:
            break;
        }
        return(reward);
    }
Example #39
0
 public void SetNextStageID(StageID NextStageID)
 {
     NextStageID_ = NextStageID;
 }