示例#1
0
        public override void Init(string additionalData)
        {
            base.Init(additionalData);


            _turnmodule = ModuleManager.getInstance.GetModule <BattleTurnsModule>();
            _turnmodule.Notifications += OnNextTurn;

            var emitterObj = Node.transform.Find("laser_cube/emitter");

            _laserEmitter = emitterObj.GetComponent <LaserEmitter>();

            if (_laserEmitter == null)
            {
                _laserEmitter = emitterObj.gameObject.AddComponent <LaserEmitter>();
            }

            _laserEmitter.AddBlockTileType(typeof(BlockTile));
            _laserEmitter.AddBlockTileType(typeof(LockTile));
            _laserEmitter.AddBlockTileType(typeof(GemTile));
            _laserEmitter.AddBlockTileType(typeof(BombTile));

            _laserEmitter.AddBlockTileType(typeof(LaserTile));
            _laserEmitter.AddBlockTileType(typeof(DiskTile));

            _laserEmitter.AddBlockTileType(typeof(UpDirectTile));
            _laserEmitter.AddBlockTileType(typeof(DownDirectTile));
            _laserEmitter.AddBlockTileType(typeof(LeftDirectTile));
            _laserEmitter.AddBlockTileType(typeof(RightDirectTile));

            switch (additionalData)
            {
            case "up":
            {
                _dir = new Vector2Int(0, -1);
                _laserEmitter.transform.localEulerAngles = new Vector3(0, 0, 0);
            }
            break;

            case "down":
            {
                _dir = new Vector2Int(0, 1);
                _laserEmitter.transform.localEulerAngles = new Vector3(0, 0, 180);
            }
            break;

            case "left":
            {
                _dir = new Vector2Int(-1, 0);
                _laserEmitter.transform.localEulerAngles = new Vector3(0, 0, 90);
            }
            break;

            case "right":
            {
                _dir = new Vector2Int(1, 0);
                _laserEmitter.transform.localEulerAngles = new Vector3(0, 0, -90);
            }
            break;
            }
        }