コード例 #1
0
        /// <summary>
        /// ポジション、ロケーション初期設定
        /// </summary>
        private void SetPositionAndLocation()
        {
            //位置を設定
            if (this.AllocationId == 1)
            {
                //右に配置
                Position = MST_CARACTER_POSITION.Right;
            }
            else if (this.AllocationId == 2)
            {
                //真ん中に配置
                Position = MST_CARACTER_POSITION.Center;
            }
            else if (this.AllocationId == 3)
            {
                //左に配置
                Position = MST_CARACTER_POSITION.Left;
            }
            else
            {
                //司会位置に設定
                Position = MST_CARACTER_POSITION.Moderator;
            }

            //デフォルトY座標設定
            //this.LocationY = -2.05F;
            this.LocationY = -90;

            //モデルロケーションの設定
            this.ModelLocation = MODEL_POS.GetPosLive2d20(this.Position, this.LocationY);
        }
コード例 #2
0
        /// <summary>
        /// 方向モデルを取得する
        /// </summary>
        /// <returns></returns>
        public IfsLiplisModel GetDirectionModel(MST_CARACTER_POSITION Position)
        {
            //候補リスト
            List <IfsLiplisModel> CandidateModelList = new List <IfsLiplisModel>();

            //設定されたポジションから変更可能な方向を判断する。
            if (Position == MST_CARACTER_POSITION.Moderator)
            {
                //最右端 左向き禁止
                //変更候補検索
                foreach (var model in ModelList)
                {
                    //左向き以外を候補リストに追加
                    if (model.Direction != (int)MODELE_DIRECTION.LEFT)
                    {
                        CandidateModelList.Add(model);
                    }
                }
            }
            else if (Position == MST_CARACTER_POSITION.Left)
            {
                //最左端 右向き禁止
                //変更候補検索
                foreach (var model in ModelList)
                {
                    //左向き以外を候補リストに追加
                    if (model.Direction != (int)MODELE_DIRECTION.RIGNT)
                    {
                        CandidateModelList.Add(model);
                    }
                }
            }
            else
            {
                //それ以外はモデルリストすべて対象
                CandidateModelList.AddRange(ModelList);
            }

            //候補リストをシャッフルする
            CandidateModelList.Shuffle();

            //常に0番目を返す
            return(CandidateModelList[0]);
        }
コード例 #3
0
ファイル: WINDOW_POS.cs プロジェクト: kknet/LiplisMoonLight
 /// <summary>
 /// 位置取得
 /// </summary>
 /// <param name="position"></param>
 /// <param name="charLocationY"></param>
 /// <returns></returns>
 public static Vector3 GetPosDefault(MST_CARACTER_POSITION position)
 {
     //指定された位置から、配置すべき位置を示すベクターを返す
     if (position == MST_CARACTER_POSITION.Right)
     {
         //右配置
         return(new Vector3(LOCATION_X_RIGHT, LOCATION_Y, LOCATION_Z));
     }
     else if (position == MST_CARACTER_POSITION.Center)
     {
         //真ん中配置
         return(new Vector3(LOCATION_X_CENTER, LOCATION_Y, LOCATION_Z));
     }
     else if (position == MST_CARACTER_POSITION.Left)
     {
         //左配置
         return(new Vector3(LOCATION_X_LEFT, LOCATION_Y, LOCATION_Z));
     }
     else
     {
         //司会配置
         return(new Vector3(LOCATION_X_MODERATOR, LOCATION_Y, LOCATION_Z));
     }
 }
コード例 #4
0
 public static Vector3 GetPosLive2d30(MST_CARACTER_POSITION position, float charLocationY)
 {
     //指定された位置から、配置すべき位置を示すベクターを返す
     if (position == MST_CARACTER_POSITION.Right)
     {
         //右配置
         return(new Vector3(-0.9f, charLocationY, 100F));
     }
     else if (position == MST_CARACTER_POSITION.Center)
     {
         //真ん中配置
         return(new Vector3(-3.8F, charLocationY, 100F));
     }
     else if (position == MST_CARACTER_POSITION.Left)
     {
         //左配置
         return(new Vector3(-6.7F, charLocationY, 100F));
     }
     else
     {
         //司会配置
         return(new Vector3(6.6F, charLocationY, 100F));
     }
 }