Esempio n. 1
0
    public void SetData(int level, Vector2Int logicPos, int typeInt)
    {
        gameObject.name = $"tile_{logicPos.x}_{logicPos.y}";

        //设置位置
        var levelData = ConfigDataHolder.levelDataDict[level];
        int matrixX   = levelData[0].Length;
        int matrixY   = levelData.Length;

        transform.position = PositionRelateMethods.CalcLevelBlockPosition(matrixX, matrixY, logicPos);

        this.level          = level;
        this.logicPos       = logicPos;
        this.tileType       = (TileType)(typeInt);
        spriteRender.sprite = GameMain.Instance.artResManager.FindTileSprite(typeInt);
        animator.runtimeAnimatorController = GameMain.Instance.artResManager.FindTileAnim(typeInt);
        if (this.tileType == TileType.RedEnd || this.tileType == TileType.YellowEnd)
        {
            fx = Instantiate(GameMain.Instance.receiveFx, this.transform);
            fx.SetActive(false);
            fx.transform.SetParent(this.transform);
        }
        if (this.tileType == TileType.Red)
        {
            fx = Instantiate(GameMain.Instance.paintFx, this.transform);
            fx.SetActive(false);
            fx.transform.SetParent(this.transform);
        }
    }
    private void SetData(int level, Vector2Int logicPos, int typeInt)
    {
        var objectType = (ObjectType)(typeInt);

        //设置位置
        var levelData = ConfigDataHolder.levelDataDict[level];
        int matrixX   = levelData[0].Length;
        int matrixY   = levelData.Length;

        transform.position = PositionRelateMethods.
                             CalcLevelBlockPosition(matrixX, matrixY, logicPos);

        this.level        = level;
        this.logicPos     = logicPos;
        this.initLogicPos = logicPos;
        this.objectType   = objectType;
    }