public override void Init(BlockSaveData saveData) { base.Init(saveData); sortingOrder = (int)Block.SortingOrder.Idle; mapTiles = new List <MapTile>(); transform.SetParent(Map.Instance.blocks, false); transform.localPosition = saveData.tilePositions [0]; slot = GameObject.Instantiate <SlotBlock>(Map.Instance.slotBlockPrefab); slot.Init(saveData); if (saveData.hintPosition != saveData.slotPosition) { hint = GameObject.Instantiate <HintBlock> (Map.Instance.hintBlockPrefab); hint.Init(saveData); } transform.position = slot.transform.position; float minY = float.MaxValue; foreach (BlockTile blockTile in blockTiles) { minY = Mathf.Min(minY, blockTile.transform.position.y); } clickDeltaPosition = transform.position; clickDeltaPosition.y = Mathf.Abs(transform.position.y - minY); if (false == Map.Instance.enabled) { colliderSize = new Vector3(2.0f, 2.0f, 1.0f); } transform.localScale = slot.transform.localScale; initPosition = transform.position; mapTileCount = 0; if (true == Map.Instance.editMode && null != hint) { transform.position = hint.transform.position; transform.localScale = Vector3.one; initPosition = hint.transform.position; } }