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
{
///
/// 随机位置静止
///
Stay,
///
/// 左右水平移动
///
LeftToRight,
///
/// 右左水平移动
///
RightToLeft,
///
/// 相对水平移动
///
RelativeHor,
///
/// 相对垂直移动
///
RelativeVet,
///
/// 同步斜向移动
///
Diagonal,
///
/// 同步W型移动
///
W,
///
/// 相对W型移动
///
W2,
///
/// 横排同步水平移动
///
HOR,
///
/// 垂直同步水平移动
///
VET,
///
/// 旋转移动
///
ROT,
}
public class Order
{
///
/// 大靶数量
///
public int Big;
///
/// 中靶数量
///
public int Middle;
///
/// 小靶数量
///
public int Small;
///
/// 移动方式
///
public MoveType MoveType;
///
/// 出现时间
///
public float ShowTime;
///
/// 序列休息时间
///
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
{
///
/// 游戏总时长
///
public int TotalTime;
///
/// 关卡数据
///
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;
}
}
}