| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public enum PosType
- {
- Random,
- Left,
- LeftTop,
- LeftDown,
- Right,
- RightTop,
- RightDown,
- Top,
- Down,
- Rotate,
- }
- public enum MoveType
- {
- /// <summary>
- /// 随机位置静止
- /// </summary>
- Stay,
- /// <summary>
- /// 左右水平移动
- /// </summary>
- LeftToRight,
- /// <summary>
- /// 右左水平移动
- /// </summary>
- RightToLeft,
- /// <summary>
- /// 相对水平移动
- /// </summary>
- RelativeHor,
- /// <summary>
- /// 相对垂直移动
- /// </summary>
- RelativeVet,
- /// <summary>
- /// 同步斜向移动
- /// </summary>
- Diagonal,
- /// <summary>
- /// 同步W型移动
- /// </summary>
- W,
- /// <summary>
- /// 相对W型移动
- /// </summary>
- W2,
- /// <summary>
- /// 横排同步水平移动
- /// </summary>
- HOR,
- /// <summary>
- /// 垂直同步水平移动
- /// </summary>
- VET,
- /// <summary>
- /// 旋转移动
- /// </summary>
- ROT,
- }
-
- public class Order
- {
- /// <summary>
- /// 大靶数量
- /// </summary>
- public int Big;
- /// <summary>
- /// 中靶数量
- /// </summary>
- public int Middle;
- /// <summary>
- /// 小靶数量
- /// </summary>
- public int Small;
- /// <summary>
- /// 移动方式
- /// </summary>
- public MoveType MoveType;
- /// <summary>
- /// 出现时间
- /// </summary>
- public float ShowTime;
- /// <summary>
- /// 序列休息时间
- /// </summary>
- public float WaitTime;
- public Order(int big, int middle, int small, MoveType moveType, float showTime, float waitTime)
- {
- this.Big = big;
- this.Middle = middle;
- this.Small = small;
- this.MoveType = moveType;
- this.ShowTime = showTime;
- this.WaitTime = waitTime;
- }
- }
- public class Level
- {
- /// <summary>
- /// 游戏总时长
- /// </summary>
- public int TotalTime;
- /// <summary>
- /// 关卡数据
- /// </summary>
- public Order[] orders;
- }
- public static class Config
- {
- static Level[] _levels;
- public static Level[] levels
- {
- get
- {
- if (_levels == null)
- {
- _levels = new Level[] {
- new()
- {
- #if UNITY_EDITOR
- TotalTime = 150,
- #elif !UNITY_EDITOR
- TotalTime = 150,
- #endif
- orders = new Order[]
- {
- new Order(1, 0, 0, MoveType.Stay, 3, 1),
- new Order(2, 0, 0, MoveType.Stay, 6, 2),
- new Order(1, 1, 1, MoveType.Stay, 12, 3),
- new Order(1, 0, 0, MoveType.LeftToRight, 3, 1),
- new Order(0, 1, 0, MoveType.Stay, 4, 1),
- new Order(0, 1, 1, MoveType.Stay, 9, 2),
- new Order(0, 0, 2, MoveType.Stay, 10, 2),
- new Order(0, 1, 0, MoveType.RightToLeft, 4, 1),
- new Order(3, 0, 0, MoveType.Stay, 9, 3),
- new Order(0, 3, 0, MoveType.Stay, 12, 3),//10
- new Order(0, 2, 1, MoveType.Stay, 13, 3),
- new Order(2, 0, 0, MoveType.RelativeHor, 6, 2),
- new Order(0, 1, 2, MoveType.Stay, 14, 3),
- new Order(0, 0, 3, MoveType.Stay, 15, 3),
- },
- },
- new()
- {
- TotalTime = 135,
- orders = new Order[]
- {
- new Order(1, 0, 3, MoveType.Stay, 14, 4.8f),
- new Order(0, 2, 0, MoveType.Diagonal, 6, 2.4f),
- new Order(3, 0, 0, MoveType.Stay, 6, 3.6f),
- new Order(0, 3, 0, MoveType.Stay, 9, 3.6f),
- new Order(0, 0, 3, MoveType.Stay, 12, 3.6f),
- new Order(0, 2, 0, MoveType.W, 6, 2.4f),
- new Order(2, 2, 0, MoveType.Stay, 8, 4.8f),
- new Order(1, 3, 0, MoveType.Stay, 11, 4.8f),
- new Order(0, 1, 3, MoveType.Stay, 15, 4.8f),
- new Order(0, 3, 0, MoveType.W2, 9, 3.6f),
- },
- },
- new()
- {
- TotalTime = 96,
- orders = new Order[]
- {
- new Order(0, 3, 0, MoveType.HOR, 6, 4.5f),
- new Order(0, 0, 3, MoveType.VET, 9, 4.5f),
- new Order(0, 4, 0, MoveType.RelativeHor, 8, 6),
- new Order(0, 0, 4, MoveType.RelativeVet, 12, 6),
- new Order(0, 5, 0, MoveType.ROT, 10, 7.5f),
- new Order(0, 0, 5, MoveType.ROT, 15, 7.5f),
- },
- }
- };
- }
- return _levels;
- }
- }
- }
|