Example #1
0
 void Awake()
 {
     Subject.addObserver(new Observer("details", (message) => {
         //難易度変更
         if (message.isMemberOf("difficultButton"))
         {
             if (mMusicData == null)
             {
                 return;
             }
             changeDifficult(EnumParser.parse <ScoreDifficult>(message.name));
             return;
         }
         //音声再生位置変更
         if (message.name == "playPositionListButtonPushed")
         {
             playMusic();
             return;
         }
         //難易度初期設定
         if (message.name == "initialDifficult")
         {
             mDifficultToggle.memberPushed(message.getParameter <ScoreDifficult>("difficult").ToString());
             return;
         }
     }));
 }
Example #2
0
 static public KeyCode convertToCode(string s)
 {
     if (s == " ")
     {
         return(KeyCode.Space);
     }
     else
     {
         return(EnumParser.parse <KeyCode>(s.ToString()));
     }
 }
Example #3
0
 public override void getMessage(Message aMessage)
 {
     if (aMessage.name == "hittedNote" || aMessage.name == "missedNote")//タイピングの評価
     {
         productHit(aMessage.getParameter <Note>("note"), aMessage.getParameter <TypeEvaluation.Evaluation>("evaluation"));
         displayTimeDifference(aMessage.getParameter <Note>("note"), aMessage.getParameter <float>("difference"));
         return;
     }
     if (aMessage.name == "practiceButtonPushed") //練習ボタン
     {
         parent.changeState(new PracticeState(parent));
         return;
     }
     if (aMessage.name == "difficultButtonPushed") //難易度ボタン
     {
         MusicScoreData.mSelectedDifficult = EnumParser.parse <ScoreDifficult>(aMessage.getParameter <string>("selected"));
         parent.mScore.resetBars();
         return;
     }
 }
Example #4
0
 public override void getMessage(Message aMessage)
 {
     if (aMessage.name == "endButtonPushed")//終了ボタン
     {
         MySceneManager.changeScene("selection");
         return;
     }
     if (aMessage.name == "practiceButtonPushed")//練習ボタン
     {
         parent.changeState(new PracticePlayState(parent));
         return;
     }
     if (aMessage.name == "difficultButtonPushed")//難易度ボタン
     {
         MusicScoreData.mSelectedDifficult = EnumParser.parse <ScoreDifficult>(aMessage.getParameter <string>("selected"));
         parent.mScore.resetBars();
         return;
     }
     if (aMessage.name == "clickNote" || aMessage.name == "clickLyrics") //譜面クリック
     {
         parent.mScore.mCurrentQuarterBeat = aMessage.getParameter <float>("time");
         return;
     }
 }
Example #5
0
        public static Mas create(Arg aData)
        {
            switch (aData.get <string>("type"))
            {
            case "land":
                Land tLand = new Land();
                tLand.mType    = MasStatus.MasType.land;
                tLand.position = aData.get <Vector2>("position");
                tLand.mName    = aData.get <string>("name");
                tLand.mValue   = aData.get <int>("value");
                List <string> tAttribute = aData.get <List <string> >("attribute");
                tLand.mAttribute1 = EnumParser.parse <LandMasStatus.LandAttribute>(tAttribute[0]);
                tLand.mAttribute2 = EnumParser.parse <LandMasStatus.LandAttribute>(tAttribute[1]);
                return(tLand);

            case "start":
                Start tStart = new Start();
                tStart.mType    = MasStatus.MasType.start;
                tStart.position = aData.get <Vector2>("position");
                return(tStart);

            case "heart":
            case "bat":
            case "god":
            case "gear":
            case "question":
                Accident tAccident = new Accident();
                tAccident.mType         = MasStatus.MasType.accident;
                tAccident.position      = aData.get <Vector2>("position");
                tAccident.mAccidentType = aData.get <string>("type");
                return(tAccident);

            default:
                throw new System.Exception("StageData-Mas : 不正なマスタイプ「" + aData.get <string>("type") + "」");
            }
        }
 /// <summary>文字列からFlagItemを生成</summary>
 static public MyFlagItem create(string a)
 {
     if (a == "")
     {
         return(null);
     }
     if (a.StartsWith("<", System.StringComparison.Ordinal))
     {
         MyTag tTag = new MyTag(a);
         if (tTag.mTagName == "and")
         {
             MyFlagAndItems andItem = new MyFlagAndItems();
             andItem.mItems = new MyFlagSingleItem[tTag.mArguments.Length];
             for (int i = 0; i < tTag.mArguments.Length; ++i)
             {
                 andItem.mItems[i] = (MyFlagSingleItem)create(tTag.mArguments[i]);
             }
             return(andItem);
         }
         else if (tTag.mTagName == "or")
         {
             MyFlagOrItems orItem = new MyFlagOrItems();
             orItem.mItems = new MyFlagSingleItem[tTag.mArguments.Length];
             for (int i = 0; i < tTag.mArguments.Length; ++i)
             {
                 orItem.mItems[i] = (MyFlagSingleItem)create(tTag.mArguments[i]);
             }
             return(orItem);
         }
         else
         {
             throw new System.Exception("MyFlagItem : FlagItemの生成失敗「" + a + "」");
         }
     }
     else
     {
         string[] tElements = a.Split(':');
         //bool
         if (tElements[1] == "true" || tElements[1] == "True")
         {
             MyFlagBoolItem bItem = new MyFlagBoolItem();
             bItem.mPath  = tElements[0];
             bItem.mValue = true;
             return(bItem);
         }
         if (tElements[1] == "false" || tElements[1] == "False")
         {
             MyFlagBoolItem bItem = new MyFlagBoolItem();
             bItem.mPath  = tElements[0];
             bItem.mValue = false;
             return(bItem);
         }
         //float
         if (tElements.Length == 3)
         {
             MyFlagFloatItem fItem = new MyFlagFloatItem();
             fItem.mPath    = tElements[0];
             fItem.mValue   = float.Parse(tElements[1]);
             fItem.mCompare = EnumParser.parse <MyFlagFloatItem.Compare>(tElements[2]);
             return(fItem);
         }
         //string
         MyFlagStringItem sItem = new MyFlagStringItem();
         sItem.mPath  = tElements[0];
         sItem.mValue = tElements[1];
         return(sItem);
     }
 }