Example #1
0
    //-----------------------------------------------------
    /// <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);
    }
Example #2
0
        public static void Static_IsAutoTileNumberTest(int id, bool isAutoTileNumber)
        {
            var result = MapChip.IsAutoTileNumber(id);

            // フラグが一致すること
            Assert.AreEqual(result, isAutoTileNumber);
        }
Example #3
0
        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);
        }
Example #4
0
    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);
    }
Example #5
0
    /// <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;
    }
Example #6
0
    void ChipTap(GameObject c)
    {
        //マップチップを選択していたら処理する
        if (c.tag != "MapChip")
        {
            return;
        }
        if (GameController.Gcon.GameSide != Side.Player)
        {
            return;
        }
        MapChip chip = c.gameObject.GetComponent <MapChip>();

        chip.ChipTap();
    }
Example #7
0
 public MapChipParameter(MapChip Parent, MapChipHP Hp)
 {
     parent = Parent;
     hp     = Hp;
 }
Example #8
0
        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);
            }
        }
 public MapChipParameter(MapChip Parent, MapChipHP Hp)
 {
     parent = Parent;
     hp = Hp;
 }
Example #10
0
 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;
 }
Example #11
0
        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;
        }