//----------------------------------------------------- /// <summary> /// マップデータをロードする /// </summary> /// <param name="map_id"></param> /// <returns>List<MapChip></returns> //----------------------------------------------------- public static List <MapChip> LoadMap(int map_id) { MapData md = SaveData.GetClass <MapData>(KEY + map_id, new MapData()); // セーブデータが存在しない場合nullを返す if (md == null) { return(null); } List <string> maps = md.mapchips; List <MapChip> mapchips = new List <MapChip>(); if (maps == null) { return(null); } foreach (string list in maps) { MapChip mp = JsonUtility.FromJson <MapChip>(list); mapchips.Add(mp); } return(mapchips); }
public static void Static_IsAutoTileNumberTest(int id, bool isAutoTileNumber) { var result = MapChip.IsAutoTileNumber(id); // フラグが一致すること Assert.AreEqual(result, isAutoTileNumber); }
public static void ImplicitFromIntTest(int id, bool isError) { var errorOccured = false; MapChip instance = MapChip.Default; try { instance = id; } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); if (errorOccured) { return; } // インスタンスの値と設定値が一致すること Assert.AreEqual((int)instance, id); }
GameObject LoadMapChipPrefab(string in_read_chip_type) { GameObject result = null; MapChip parse_map_name = (MapChip)Enum.Parse(typeof(MapChip), in_read_chip_type); switch (parse_map_name) { case MapChip.PanelNone: result = prefabPanelNone; break; case MapChip.PanelJumpUp: result = prefabPanelJumpUp; break; case MapChip.PanelGoal: result = prefabPanelGoal; break; case MapChip.PanelStart: result = prefabPanelStart; break; case MapChip.PanelFloor: // @todo delete... result = prefabPanelFloor; break; case MapChip.PanelMax: default: Debug.LogError("不正なチップ名が指定されています chip_name : " + parse_map_name); result = prefabPanelError; break; } return(result); }
/// <summary> /// マップチップ生成 /// </summary> /// <param name="posX">X位置</param> /// <param name="posY">Y位置</param> private void MapChipCreate(int posX, int posY) { MapChip mc = Instantiate(mapChip); mc.SetMapPosition(new Vector2(posX, posY)); mc.SetMapChipType(mapNumbers[posY, posX]); mc.Positioning(mapChipSize); SetPlayerPosition(posX, posY); mapChips[posY, posX] = mc; }
void ChipTap(GameObject c) { //マップチップを選択していたら処理する if (c.tag != "MapChip") { return; } if (GameController.Gcon.GameSide != Side.Player) { return; } MapChip chip = c.gameObject.GetComponent <MapChip>(); chip.ChipTap(); }
public MapChipParameter(MapChip Parent, MapChipHP Hp) { parent = Parent; hp = Hp; }
public static void SetChipTest(int x, int y, MapChip chip, bool isError) { var layer = new Layer { Chips = new MapChipList(GenerateTestChipsData(20, 15)) }; var changedPropertyList = new List <string>(); layer.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var changedChipsPropertyList = new List <string>(); layer.Chips.PropertyChanged += (sender, args) => { changedChipsPropertyList.Add(args.PropertyName); }; var changedChipsCollectionList = new List <NotifyCollectionChangedEventArgs>(); layer.Chips.CollectionChanged += (sender, args) => { changedChipsCollectionList.Add(args); }; var changedChipColumnsPropertyList = new List <string>(); var changedChipColumnsCollectionList = new List <NotifyCollectionChangedEventArgs>(); layer.Chips.ForEach(chipColumn => { chipColumn.PropertyChanged += (sender, args) => { changedChipColumnsPropertyList.Add(args.PropertyName); }; chipColumn.CollectionChanged += (sender, args) => { changedChipColumnsCollectionList.Add(args); }; }); var errorOccured = false; try { layer.Chips[x][y] = chip; } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラー発生フラグが一致すること Assert.AreEqual(errorOccured, isError); if (!errorOccured) { // チップ番号値が指定した値になっていること var result = layer.Chips[x][y]; Assert.AreEqual((int)result, (int)chip); } // 意図したとおりプロパティ変更通知が発火していること Assert.AreEqual(changedPropertyList.Count, 0); Assert.AreEqual(changedChipsPropertyList.Count, 0); Assert.AreEqual(changedChipsCollectionList.Count, 0); if (errorOccured) { Assert.AreEqual(changedChipColumnsPropertyList.Count, 0); Assert.AreEqual(changedChipColumnsCollectionList.Count, 0); } else { Assert.AreEqual(changedChipColumnsPropertyList.Count, 1); Assert.IsTrue(changedChipColumnsPropertyList[0].Equals(ListConstant.IndexerName)); Assert.AreEqual(changedChipColumnsCollectionList.Count, 1); Assert.IsTrue(changedChipColumnsCollectionList[0].Action == NotifyCollectionChangedAction.Replace); } }
private static MapChip[,] findGate(MapChip[,] array) { for (int x = 0; x < array.GetLength(0); x++) { for (int y = 0; y < array.GetLength(1); y++) { if (array[x, y] == MapChip.Road) { if (array[x - 1, y] == MapChip.Room || array[x + 1, y] == MapChip.Room || array[x, y - 1] == MapChip.Room || array[x, y + 1] == MapChip.Room) { array[x, y] = MapChip.Gate; } } } } return array; }
public MapChip[,] ToArray() { var array = new MapChip[Width, Height]; for (int x = 0; x < Width; x++) { for (int y = 0; y < Height; y++) { array[x, y] = (MapChip)_values[ToIdx(x, y)]; } } return array; }