Esempio n. 1
0
    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;
        }
    }