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(); }
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(); }
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); }
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); } }
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); }
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(); } } } } }
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); }
// 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(); }