/// <summary> /// 対象のアイコンをすべて削除 /// </summary> /// <param name="iconType"></param> public void RemoveIcons(BattleMapIconType iconType) { List <BattleMapIcon> iconList = BattleMapIcons.GetList(iconType); foreach (BattleMapIcon bmIcon in iconList) { Destroy(bmIcon.GameObject); } BattleMapIcons.Remove(iconType); }
/// <summary> /// 取得 /// </summary> /// <param name="iconType"></param> /// <param name="x"></param> /// <param name="y"></param> /// <returns></returns> private List <BattleMapIcon> Get(BattleMapIconType iconType, int x, int y) { string key = CreateKey(iconType, x, y); if (battleMapIcons.ContainsKey(key)) { return(battleMapIcons[key]); } return(new List <BattleMapIcon>()); }
/// <summary> /// iconTypeのリストを取得 /// </summary> /// <param name="iconType"></param> /// <returns></returns> public List <BattleMapIcon> GetList(BattleMapIconType iconType) { List <BattleMapIcon> list = new List <BattleMapIcon>(); foreach (KeyValuePair <string, List <BattleMapIcon> > kvp in battleMapIcons) { foreach (BattleMapIcon icon in kvp.Value) { if (icon.BattleMapIconType == iconType) { list.Add(icon); } } } return(list); }
/// <summary> /// アイコンを設定 /// </summary> /// <param name="bmt"></param> /// <param name="iconType"></param> /// <param name="iconGo"></param> private void InstallIcon(BattleMapTile bmt, BattleMapIconType iconType, GameObject iconGo) { BattleMapIcon icon = new BattleMapIcon(); icon.BattleMapIconType = iconType; icon.X = bmt.X; icon.Y = bmt.Y; Vector3 pos = bmt.GameObject.transform.position; iconGo.transform.position = pos; icon.GameObject = iconGo; BattleMapIcons icons = holder.BattleMapIcons; icons.Add(icon); }
/// <summary> /// 該当アイコンタイプをすべて削除 /// </summary> /// <param name="icon"></param> public void Remove(BattleMapIconType iconType) { string iconTypeStr = iconType.ToString(); // 削除対象キーのリスト List <string> removeKeyList = new List <string>(); foreach (KeyValuePair <string, List <BattleMapIcon> > kvp in battleMapIcons) { // キーがタイプの文字列始まりなら削除 if (kvp.Key.StartsWith(iconTypeStr)) { removeKeyList.Add(kvp.Key); } } foreach (string key in removeKeyList) { battleMapIcons.Remove(key); } }
/// <summary> /// 取得、1タイル1アイコンであることを期待 /// </summary> /// <param name="iconType"></param> /// <param name="x"></param> /// <param name="y"></param> /// <returns></returns> public BattleMapIcon GetSingle(BattleMapIconType iconType, int x, int y) { string key = CreateKey(iconType, x, y); return(battleMapIcons[key][0]); }
private string CreateKey(BattleMapIconType iconType, int x, int y) { return(iconType.ToString() + "_" + x + "_" + y); }
/// <summary> /// 削除 /// </summary> /// <param name="iconType"></param> /// <param name="bmt"></param> public void Remove(BattleMapIconType iconType, BattleMapTile bmt) { Remove(iconType, bmt.X, bmt.Y); }
/// <summary> /// 取得、1タイル1アイコンであることを期待 /// </summary> /// <param name="iconType"></param> /// <param name="bmt"></param> /// <returns></returns> public BattleMapIcon GetSingle(BattleMapIconType iconType, BattleMapTile bmt) { return(GetSingle(iconType, bmt.X, bmt.Y)); }
/// <summary> /// 取得 /// </summary> /// <param name="iconType"></param> /// <param name="bmt"></param> /// <returns></returns> public List <BattleMapIcon> Get(BattleMapIconType iconType, BattleMapTile bmt) { return(Get(iconType, bmt.X, bmt.Y)); }
/// <summary> /// 削除 /// </summary> /// <param name="iconType"></param> /// <param name="x"></param> /// <param name="y"></param> public void Remove(BattleMapIconType iconType, int x, int y) { string key = CreateKey(iconType, x, y); battleMapIcons.Remove(key); }