Ejemplo n.º 1
0
    public void Enter()
    {
        unit.aimmingControl.Stop();
        unit.unitDriver.Stop(true);

        if (!BattleConfig.DEAD_UNIT_COLLISION)
        {
            unit.gridCorrect.ClearSlefGrid();
        }

        RenderHelper.ChangeWholeModelColor(unit.gameObject, Color.gray);
        unit.gameObject.GetComponent <TankSpineAttach> ().Deattach();

        if (BattleGame.instance.mapCamera.cameraControl.IsPointInsideCamera(unit.transform.position))
        {
            BattleGame.instance.mapCamera.cameraControl.Shake();
        }

        AudioGroup.Play(unit.GetComponent <AudioGroup> ().dead, unit.gameObject);

        GameObject explode = ResourceHelper.Load(AppConfig.FOLDER_PROFAB_EFFECT_EXPLODE + "Tank_Destroy");

        explode.transform.position = unit.transform.position;
//		BattleFactory.AddUnitToLayer (explode, BattleConfig.LAYER.EFFECT);

        //
        unit.unitDriver.engine.StopEffect();
    }
Ejemplo n.º 2
0
    private void Shoot()
    {
        if (subTargetName != "")
        {
            AudioElement element    = targetSpace.GetElementByName(targetName);
            int          sequenceId = element.GetIDByKey(subTargetName);
            element.sequence.SetTo(sequenceId);
        }

        switch (type)
        {
        case AudioActionType.Stop:
            targetSpace.Stop(targetName);
            break;

        case AudioActionType.Reset:
            targetSpace.GetElementByName(targetName).sequence.Reset();
            break;

        case AudioActionType.SetTo:
            targetSpace.GetElementByName(targetName).sequence.SetTo(intValue);
            break;

        case AudioActionType.SelfDestruct:
            break;

        case AudioActionType.Play:
        default:
            targetSpace.Play(targetName);
            break;
        }

        Die();
    }
Ejemplo n.º 3
0
    private void CreateEffect()
    {
        AudioGroup.Play(GetComponent <AudioGroup> ().hit, gameObject);

        if (BattleGame.instance.mapCamera.cameraControl.IsPointInsideCamera(gameObject.transform.position))
        {
            BattleGame.instance.mapCamera.cameraControl.Shake();
        }

        GameObject effectObj = GameObject.Instantiate(explode) as GameObject;

        RenderHelper.ChangeWholeModelColor(effectObj, Color.red);
        effectObj.transform.position = new Vector3(transform.position.x, 1, transform.position.z);
    }
Ejemplo n.º 4
0
    protected virtual void ShootBegan()
    {
        startPosition = GetShootPos();
        targetOffset  = GetTargetOffset();

        this.transform.position = startPosition;
        transform.rotation      = _shoot.attacker.launcher.transform.rotation;
        lastPosition            = startPosition;


        AudioGroup audioGroup = GetComponent <AudioGroup> ();

        if (audioGroup != null)
        {
            AudioGroup.Play(audioGroup.fire, gameObject);
        }
    }
Ejemplo n.º 5
0
    protected virtual void ShootEnd()
    {
        Assert.assert(!_isOver);
        _isOver = true;

//		Unit unit = _attackTank.GetComponent<Unit> ();
//		unit.DeleteBulletReference ();

        /*
         * if (_shoot.isMiss) {
         *      Assert.assert(_shoot.damage == 0);
         * }
         *
         * new BulletDamage (_attackTank, _shoot);
         * if (!_shoot.isMiss) {
         *      GameObject targetTank = UnitHelper.GetTank (_shoot.target);
         *      CreateEffect (targetTank);
         * }
         */

        CreateEffect();

        CalcDamage();


        if (_shoot.isMiss)
        {
            AudioGroup audioGroup = GetComponent <AudioGroup> ();
            if (audioGroup != null)
            {
                AudioGroup.Play(audioGroup.miss, gameObject);
            }
        }
        else
        {
            AudioGroup audioGroup = GetComponent <AudioGroup> ();
            if (audioGroup != null)
            {
                AudioGroup.Play(audioGroup.hit, gameObject);
            }
        }


        DestroyImmediate(this.gameObject);
    }
Ejemplo n.º 6
0
    public void UpdateBattle()
    {
        long  battleEndTimeStamp = TimeHelper.GetCurrentTimestampScaled();
        float battleUsedSeconds  = (float)(battleEndTimeStamp - battleStartTimeStamp) / 1000.0f;

        battleUsedSeconds = battleUsedSeconds;

        if (InstancePlayer.instance.battle.IsPlayerWin())
        {
            battleResult = RESULT.WIN;

            AudioGroup.Play(GetComponent <AudioGroup> ().win, _camera, AudioGroup.TYPE.MUSIC);
        }
        else if (InstancePlayer.instance.battle.IsPlayerLoss())
        {
            battleResult = RESULT.LOSS;

            AudioGroup.Play(GetComponent <AudioGroup> ().loss, _camera, AudioGroup.TYPE.MUSIC);
        }
        else if (battleUsedSeconds >= 1000 * BATTLE_DURATION_SEC)
        {
            battleResult = RESULT.NOTIME;

            AudioGroup.Play(GetComponent <AudioGroup> ().loss, _camera, AudioGroup.TYPE.MUSIC);
        }

        if (battleResult != RESULT.UNKNOWN)
        {
            SwitchState(STATE.OVER);

            if (battleResult != RESULT.NOTIME)
            {
                List <Unit> units = _unitGroup.allUnits;
                foreach (Unit unit in units)
                {
                    if (!unit.isDead)
                    {
                        unit.WinAndExit();
                    }
                }
            }
        }
    }
Ejemplo n.º 7
0
    public void Init(Vector3 worldPosition, Vector3 mousePos)
    {
        _worldPosition = worldPosition;
        _mousePos      = mousePos;

        MapCamera mapCamera         = BattleGame.instance.mapCamera;
        float     expectScreenWidth = mapCamera.cameraControl.sizeControl.expectScreenWidth2 * 2;
        float     ratio             = _mousePos.x / Screen.width;

        float offsetX1 = -(expectScreenWidth * ratio) - OFFSET;
        float offsetX2 = expectScreenWidth * (1 - ratio) + OFFSET;

        _startPosition = worldPosition + new Vector3(offsetX1, SkillBombBase.HEIGHT, 0);
        _endPosition   = worldPosition + new Vector3(offsetX2, SkillBombBase.HEIGHT, 0);

        transform.position = _startPosition;

        AudioGroup.Play(GetComponent <AudioGroup> ().move, gameObject);
    }
Ejemplo n.º 8
0
    // Use this for initialization
    void Start()
    {
        Assert.assert(_instance == null);
        _instance = this;

        if (AppConfig.DEBUGGING)
        {
            new MyTest();
        }

        CreateBattleData();         // SceneBattle

        _camera = GameObject.FindGameObjectWithTag(AppConfig.TAB_MAIN_CAMERA);

        //todo, use define in mission
        _unitGroup = new UnitGroup();
        _mapGrid   = new MapGrid(InstancePlayer.instance.battle.dataMap);
        _mapAStar  = new MapAStar(_mapGrid);
        _mapCamera = new MapCamera();

        _gameEntering = new BattleGameEntering(this);

        _mouseContorl = new MouseControl(this);

        _gameSkill        = new GameSkill();
        _gameSkillControl = new GameSkillControl(this);

//		MapAStar.PATH path = _mapAStar.Calc (5, 2, 15, 2);
//		_mapGrid.AddPath (path);

        AudioGroup.Play(GetComponent <AudioGroup> ().music, _camera, AudioGroup.TYPE.MUSIC);

        UnitTrackControl.ClearTrackTiles();

        BattleGameHelper.PreloadAssets();
    }