/// <summary> /// シーケンスの遷移処理 /// 各タスクに指示を出す /// </summary> private void DoChangeSequence() { switch (NextSQID.Value) { case SQID.EnmAutoMove: int Index = EnmData.GetNextMoveEnmIndex(); if (Index == -1) { //Skip処理 SendMessage(MessageType.EnmNonMove, -1); break; } EnmData.Telegram_EnmAutoMoveSelectIndex = Index; break; default: break; } Debug.Log(_NowSQID.Value.ToString() + "->" + _NextSQID.Value.ToString()); // 更新 // 各タスクにイベントが飛ぶ _NowSQID.Value = _NextSQID.Value; }
/// <summary> /// EnmDataが移動可能か判定 /// </summary> public static bool IsEnmMoveOK(int X, int Y) { FloorObjectData[] datas = GetOnFloorObject(X, Y); foreach (FloorObjectData data in datas) { if (data is PlyData) { return(false); } if (data is EnmData) { EnmData enm = data as EnmData; if (enm.IsHide() == false) { return(false); } } if (data is SetObjectData) { SetObjectData setObj = data as SetObjectData; if (setObj.IsRideOK() == false) { return(false); } } } return(true); }