void Awake() { enemyLogic = this.gameObject.GetComponent<EnemyLogic>(); enemyData = this.gameObject.GetComponent<EnemyData>(); playerData = GameObject.Find("Player").GetComponent<PlayerData>(); gameStateData = GameObject.Find("GameState").GetComponent<GameStateData>(); }
/* * initialize enemy actor with enemy param */ public void Initialize(EnemyData.Param p, EnemyDatabase db, ItemDatabase itemdb) { //tk2dSpriteAnimation m_sprite.Library = db.GetAnimationFromName(p.graphic); id = p.id; charName = p.name; hp = p.hpMax; hpMax = p.hpMax; hunger = 0; hungerMax = 0; agility = (float)p.agility; doesGetHungry = false; for(int i =0; i < (int)ElementType.ET_MAX; ++i) { ap[i] = (float)p.ApMax[i]; apMax[i] = (float)p.ApMax[i]; def[i] = (float)p.DpMax[i]; defMax[i] = (float)p.DpMax[i]; } canDie = true; race = Race.Creature; level = p.level; exp = p.exp; earnExp = p.earnExp; attackEffect = p.attackEffect; // TODO: item }
void readEnemy() { EnemyInfo = new Dictionary<string, EnemyData>(); TextAsset textAsset = (TextAsset)Resources.Load(GameConfig.DatabasePathEnemyInfo); string[] temp = textAsset.text.Split('\n'); int lenght = temp.Length; for (int i = 1; i < lenght - 1; i++) { if (temp[i].Equals("")) break; EnemyData data = new EnemyData(); string[] s = temp[i].Split(';'); data.Name = s[1].Replace('\"', ' ').ToString().Trim(); data.Region = s[3].Replace('\"', ' ').ToString().Trim(); data.Branch = s[4].Replace('\"', ' ').ToString().Trim(); data.HP = (int)float.Parse(s[5]); data.Speed = float.Parse(s[7]); data.DEF = int.Parse(s[9]); data.Coin = (float.Parse(s[10].ToString()) - (int)(float.Parse(s[10].ToString())) >= 0.5) ? (int)(float.Parse(s[10].ToString())) + 1 : (int)(float.Parse(s[10].ToString())); data.Level = int.Parse(s[11]); data.Scale = int.Parse(s[16]); data.EXP = int.Parse(s[17]); string[] tempState = s[13].Split('-'); string[] tempTimeFrame = s[14].Split('-'); string[] tempEvent = s[15].Split(','); for (int k1 = 0; k1 < tempState.Length; k1++) { AnimationEventState animationState = new AnimationEventState(); animationState.TimeFrame = float.Parse(tempTimeFrame[k1]); for (int k2 = 0; k2 < tempEvent.Length; k2++) { if (tempEvent[k2] != "") { string[] ss = tempEvent[k2].Split('-'); if (tempState[k1].Equals(ss[0])) { for (int k3 = 1; k3 < ss.Length; k3++) animationState.listKeyEventFrame.Add(ss[k3]); break; } } } data.States.Add(tempState[k1].ToUpper(), animationState); } EnemyInfo.Add(data.Name.ToString().Trim(), data); } }
public void SetStart(EnemyData ed, BossState bs) { switch (bs) { case BossState.StartBattle: StartBattle(ed); break; case BossState.Lost: break; case BossState.Win: break; } }
public void Init(EnemyData data, BattleController battleController, int battleID) { Name = data.name; BattleID = battleID; Allegiance = CombatantAllegiance.ENEMY; HP = data.maxHp; MaxHP = data.maxHp; Strength = data.strength; Agility = data.agility; behaviour = EnemyBehaviours.GetBehaviour(data.behaviourIndex); CalmAbilities = data.calmAbilities; StrifeAbilities = data.strifeAbilities; this.battleController = battleController; ActiveAuraCasterPairs = new List <KeyValuePair <CombatantController, AuraData> >(); }
private void HandleMoveEditWindow(GameObject hit) { _selectedObject = hit.GetComponent <EnemyData>(); _enemyInfoUI.SetActive(false); _enemyInfoUI.SetActive(true); var pos = new Vector3(hit.transform.position.x + _xOffset, hit.transform.position.y + _yOffset, 0f); pos = Canvas.transform.InverseTransformPoint(pos); pos = new Vector3(pos.x, pos.y, 0f); _enemyInfoUI.GetComponent <RectTransform>().anchoredPosition = pos; }
private void SpawnEnemy(EnemyAsset asset) { EnemyView view = Object.Instantiate(asset.ViewPrefab); view.transform.position = new Vector3( m_Grid.GetStartNode().Position.x, view.transform.position.y, m_Grid.GetStartNode().Position.z); EnemyData data = new EnemyData(asset); data.AttachView(view); view.CreateMovementAgent(m_Grid); Game.Player.EnemySpawned(data); }
public EnemyData UpgradeEnemy(EnemyData enemyData, int times, float percentIncrease = 100) { //EnemyData enemyData = GetEnemyDataByID(enemyID); EnemyData enemyDataWithUpgrade = new EnemyData(); enemyDataWithUpgrade.EnemyID = enemyData.EnemyID; enemyDataWithUpgrade.EnemyName = enemyData.EnemyName; enemyDataWithUpgrade.Health = Master.IncreaseValues(enemyData.Health, times, IncreaseStatsPerLevel.health * (percentIncrease / 100)); enemyDataWithUpgrade.Damage = Master.IncreaseValues(enemyData.Damage, times, IncreaseStatsPerLevel.damage * (percentIncrease / 100)); enemyDataWithUpgrade.MoveSpeed = Master.IncreaseValues(enemyData.MoveSpeed, times, IncreaseStatsPerLevel.moveSpeed * (percentIncrease / 100)); enemyDataWithUpgrade.AttackSpeed = Master.IncreaseValues(enemyData.AttackSpeed, times, IncreaseStatsPerLevel.attackSpeed * (percentIncrease / 100)); enemyDataWithUpgrade.Range = enemyData.Range; enemyDataWithUpgrade.CoinDrop = enemyData.CoinDrop; return(enemyDataWithUpgrade); }
public EnemyView SpawnEnemy(EnemyData data, Vector3 origin, Quaternion rotation) { var es = Instantiate(enemySheet, origin, rotation, transform); es.SetData(data); es.mover.Mobilize(es.mover.transform.position, goal.position, es.enemyData.speed); arrangeSortingLayer.CheckandReorder(); onSpawned.Invoke(es); enemies.Add(es); es.onDestroy.AddListener(OnEnemyDestroyed); return(es); }
IEnumerator ScheduleEnemyDeploy(EnemyData enemyData, Vector3 posMin, Vector3 posMax, float offset) { float minTime = enemyData.MinSpawnWaitTime; float maxTime = enemyData.MaxSpawnWaitTime; if (enemyData.AffectedByDifficultyLevel) { minTime /= _difficultyLevel; maxTime /= _difficultyLevel; } yield return(Wait(Random.Range(minTime, maxTime))); DeployEnemy(enemyData.Pool.GetObject(), posMin, posMax, offset); }
// Start is called before the first frame update private void Start() { eData = GetComponent <EnemyData>(); playerMask = LayerMask.GetMask("Player"); groundMask = LayerMask.GetMask("Ground"); animator = GetComponent <Animator>(); //cho phép player và entity đi xuyên qua nhau Physics2D.IgnoreLayerCollision(LayerMask.NameToLayer("Player"), LayerMask.NameToLayer("Entity")); //cho phép entity đi xuyên qua nhau Physics2D.IgnoreLayerCollision(LayerMask.NameToLayer("Entity"), LayerMask.NameToLayer("Entity")); healthCanvas = transform.GetComponentInChildren <Canvas>(); healthCanvas.enabled = false; }
// EnemyData 설정, 인덱스값을 받아옴 public void GeneratorSetUp(EnemyData enemyData, Coordinates coordinates) { power = enemyData.dameg; maxHealth = enemyData.healt; health = enemyData.healt; attackRange = enemyData.attackRange; startTurnCounter = enemyData.turnCounter; firstAttack = enemyData.firstAttack; escape = enemyData.escape; escapeHp = enemyData.escapeHp; seeRange = enemyData.seeRange; this.coordinates = coordinates; healthBar.fillAmount = health / maxHealth; shieldBar.fillAmount = 0; }
private GameObject SpawnEnemy(EnemyData data) { GameObject enemyObj = Instantiate(robotPrefab); Vector3 position = spawnPositions[data.row].position; position.x = cameraBounds.activeCamera.transform.position.x + (data.offset * (cameraBounds.cameraHalfWidth + 1)); enemyObj.transform.position = position; if (data.type == EnemyType.Robot) { enemyObj.GetComponent <Robot>().SetColor(data.color); } enemyObj.GetComponent <Enemy>().RegisterEnemy(); return(enemyObj); }
public IEnumerator Execute(EnemyData enemyData) { healthComponent.Init(enemyData.health); while (IsDead == false) { yield return(null); } animator.SetTrigger("die"); audioSource.clip = deadClip; audioSource.Play(); yield return(new WaitForSeconds(animator.GetCurrentAnimatorClipInfo(0).Length)); yield return(StartCoroutine(meshFader.FadeOut())); }
/// <summary> /// This method is called as soon as the match is loaded /// </summary> public override void Run() { Console.WriteLine("Run"); Enemy = new EnemyData(); _stateManagerTop = new StateManagerScript(new SeekState(this)); _stateManagerBottom = new StateManagerScript(new WanderState(this)); while (true) { _stateManagerTop.FrameCheck(); _stateManagerBottom.FrameCheck(); Execute(); OldEnemy = Enemy; } }
// Start is called before the first frame update void Awake() { rb = GetComponent <Rigidbody>(); enemy = GetComponent <Enemy>().data; enemyDeath = GetComponent <EnemyDeath>(); enemyController = GetComponent <EnemyController>(); playerEnemy = enemy.playerEnemy; player = GameObject.FindObjectOfType <Player>(); playerHealth = FindObjectOfType <PlayerHealth>(); camRig = GameObject.Find("CameraRig").GetComponent <CameraRig>(); SetNewLocation(0); }
void OnTriggerStay(Collider coll)//いるとき { if (coll.tag == "NomalEnemy" || coll.tag == "AirEnemy" || coll.tag == "HideEnemy") { /*死亡処理*/ e_data = coll.gameObject.GetComponent <EnemyData>(); if (GameObject.Find(coll.gameObject.name) == null || e_data.Now_HP <= 0)//HPが0なら { //Debug.Log(coll.gameObject.name); if (coll.tag == "NomalEnemy" && colList_nomal.Contains(coll.gameObject)) { colList_nomal.Remove(coll.gameObject); } if (coll.tag == "AirEnemy" && colList_Air.Contains(coll.gameObject)) { colList_Air.Remove(coll.gameObject); } if (coll.tag == "HideEnemy" && colList_Hide.Contains(coll.gameObject)) { colList_Hide.Remove(coll.gameObject); } //OnColl = false; } else if (e_data.Now_HP > 0)//リスト追加処理 { if (coll.tag == "NomalEnemy" && !colList_nomal.Contains(coll.gameObject)) { Nomal = true; colList_nomal.Add(coll.gameObject); } if (coll.tag == "AirEnemy" && !colList_Air.Contains(coll.gameObject)) { Air = true; colList_Air.Add(coll.gameObject); } if (coll.tag == "HideEnemy" && !colList_Hide.Contains(coll.gameObject)) { Hide = true; colList_Hide.Add(coll.gameObject); } } } }
// Update is called once per frame void Update() { if (random) { RandSpawn(); } else if (i < fases.Count) { infoFase = fases[i]; if (Time.time >= nextFire) { if (j < infoFase.Count) { actualEnemy = infoFase[j++]; var navenemy = (GameObject)Instantiate( enemies[actualEnemy.GetEnemy()], spawns[actualEnemy.GetSpawn()].position, this.transform.rotation); float vida = navenemy.GetComponent <LifeEnemy>().life; float minimun = vida - (vida * actualEnemy.GetLive()); float maximun = vida + (vida * actualEnemy.GetLive()); navenemy.GetComponent <LifeEnemy>().life = (float)Random.Range(minimun, maximun); navenemy.GetComponent <EnemyShoot>().fireRatio = actualEnemy.GetFireRatio(); nextFire = Time.time + actualEnemy.GetTime(); } else if (!GameObject.Find("enemy_simple(Clone)")) { //Aquí cambio de fase Debug.Log("Cambio de fase"); changeStage.SetActive(true); StartCoroutine(FinFase()); nextFire = Time.time + 7.0f; i++; j = 0; } } } else { Debug.Log("hemos entrado donde no debíamos"); //Fin del nivel finisLevel.SetActive(true); StartCoroutine(FinLevel()); } }
public override void InitAppearanceData(Monster m, EnemyData data) { if (OldTemplate != null) { OldTemplate.InitAppearanceData(m, data); } bool changed = false; if (Animation != null) { data.SetAnimation(Animation, "prefabs/animation/" + Animation + "/", SpriteSize); changed = true; } else if (Sprite != null) { if (GameSession.loadExternalGraphics) { Sprite spr = CustomGraphics.LoadSprite("monsters/" + Sprite, 500, 500); if (spr != null) { data.SetSprite(spr, SpriteSize); changed = true; } else { data.SetSprite("prefabs/entity/CustomCell/" + Sprite, SpriteSize); changed = true; } } else { data.SetSprite("prefabs/entity/CustomCell/" + Sprite, SpriteSize); changed = true; } } if (Mass > 0) { data.SetMass(Mass); changed = true; } if (changed) { data.UpdateCollider(name_turret); } }
public override bool Use(Player player) { foreach (Ability effect in player.abilities) { effect.OnConsumeItem(player, this); } Vector2i tilePos = MapManager.instance.GetMapTileAtPoint(player.Position); EnemyData data = new EnemyData(tilePos.x, tilePos.y, enemyType); Enemy spawn = MapManager.instance.AddEnemyEntity(data); spawn.SetHostility(Hostility.Friendly); return(true); //player.Inventory.RemoveItem(index); }
/// <summary> /// Returns all enemy data where the enemy has the given enemyID. Throws an ArgumentException if the enemy could not be found. Throws an Exception otherwise. /// </summary> /// <param name="enemyID">The ID of the enemy to find.</param> /// <returns></returns> public EnemyData GetEnemyDataByID(int enemyID) { DataTable table = ReadQuery("GetEnemyByID @enemyID", new DALParameters(enemyID, "@enemyID")); if (table.Rows.Count > 0) { int creatorID = (int)table.Rows[0]["UserID"]; int difficulty = (int)table.Rows[0]["Difficulty"]; string name = (string)table.Rows[0]["Name"]; EnemyData returnStruct = new EnemyData(creatorID, difficulty, enemyID, name); return(returnStruct); } throw new ArgumentException("An enemy with the given ID (" + enemyID + ") does not exist."); }
public void SummonEnemy() { if (enemyName != "" && roadName != "") { EnemyData ed = EnemyDataManage.getInstance().GetEnemyData(enemyName); if (gc.playerMoney >= ed.cost) { GameObject enemy = ObjectPool.getInstance().GetObj("Enemy", enemyName); enemy.GetComponent <NavMeshAgent>().Warp(EnemyStartPoint.transform.localPosition); enemy.transform.parent = EnemyStartPoint.transform; enemy.GetComponent <Enemy>().InitData(ed, roadName); gc.ReduceMoney(ed.cost); } } }
public EnemyData UpgradeEnemy(string enemyID, int times) { EnemyData enemyData = GetEnemyDataByID(enemyID); EnemyData enemyDataWithUpgrade = new EnemyData(); enemyDataWithUpgrade.EnemyID = enemyData.EnemyID; enemyDataWithUpgrade.EnemyName = enemyData.EnemyName; enemyDataWithUpgrade.Health = Master.IncreaseValues(enemyData.Health, times, IncreaseStatsPerLevel.health); enemyDataWithUpgrade.Damage = Master.IncreaseValues(enemyData.Damage, times, IncreaseStatsPerLevel.damage); enemyDataWithUpgrade.MoveSpeed = Master.IncreaseValues(enemyData.MoveSpeed, times, IncreaseStatsPerLevel.moveSpeed); //enemyDataWithUpgrade.MoveSpeed = enemyData.MoveSpeed; enemyDataWithUpgrade.AttackSpeed = Master.IncreaseValues(enemyData.AttackSpeed, times, IncreaseStatsPerLevel.attackSpeed); enemyDataWithUpgrade.Range = enemyData.Range; enemyDataWithUpgrade.CoinDrop = enemyData.CoinDrop; return(enemyDataWithUpgrade); }
private void EnemyCollision(ref EnemyData _enemyData, Translation _targetPos, ref Translation _bulletPos, ref RenderBounds _bounds, ref BulletData _bullet) { float3 bound = _bounds.Value.Extents; if (_bulletPos.Value.x - bound.x <= _targetPos.Value.x && _targetPos.Value.x <= _bulletPos.Value.x + bound.x && _bulletPos.Value.y - bound.y <= _targetPos.Value.y && _targetPos.Value.y <= _bulletPos.Value.y + bound.y && _bulletPos.Value.z - bound.z <= _targetPos.Value.z && _targetPos.Value.z <= _bulletPos.Value.z + bound.z) { // バレットを消すように見せかける Debug.Log($"EnemyHit\nRange ({_bulletPos.Value.x -bound.x}, {_bulletPos.Value.x +bound.x})\n({_bulletPos.Value.y -bound.y}, {_bulletPos.Value.y +bound.y})\n({_bulletPos.Value.z -bound.z}, {_bulletPos.Value.z +bound.z})\n"); _bulletPos.Value.x = GameConst.SCREEN_WIDTH; _bulletPos.Value.z = GameConst.SCREEN_HEIGHT; _enemyData.HP -= _bullet.Damage; _bullet.IsCollide = true; } }
public EnemyData GetEnemyData(uint id) { if (id == 0 || enemyTable == null) { return(null); } EnemyData enemyData = enemyTable.Get(id); if (enemyData == null) { Log.TableError(this, id); enemyData = new EnemyData(); enemyData.name = Log.NON_DATA_NAME; } return(enemyData); }
void OnGUI() { GUI.Label(new Rect(20, 20, 300, 50), "Enemies"); for (int i = 0; i < m_gameData.m_enemies.Count; i++) { EnemyData enemy = m_gameData.m_enemies[i]; GUI.Label(new Rect(40, 60 + i * 60, 300, 50), enemy.ToString()); } GUI.Label(new Rect(420, 20, 300, 50), "Items"); for (int i = 0; i < m_gameData.m_items.Count; i++) { ItemData item = m_gameData.m_items[i]; GUI.Label(new Rect(440, 60 + i * 60, 300, 50), item.ToString()); } }
public void Activate() { // 一定間隔ごとに生成していくだけ var createTime = TimeSpan.FromSeconds(this._enemySettings.GenerateInterval); this._createDisposable = Observable.Interval(createTime).Subscribe(_ => { var pointIndex = UnityRandom.Range(0, this._spawnPoints.Length); Vector2 point = this._spawnPoints[pointIndex]; var enemyID = UnityRandom.Range(0, this._maxEnemyID); var enemyData = new EnemyData { EnemyID = (EnemyID)enemyID, SpawnPoint = (SpawnPoint)pointIndex }; this._ecsBoostrap.CreateEnemy(point, enemyData); }); }
void Start() { healthData = GetComponent <Health>(); enemyData = GetComponent <EnemyData>(); moverData = GetComponent <MoverData>(); Vector3[] randomPath = GetRandomPath(); if (randomPath == null) { return; } transform.position = randomPath[0]; iTween.MoveTo(gameObject, iTween.Hash("path", randomPath, "speed", moverData.speed, "easetype", iTween.EaseType.linear, "oncomplete", "OnComplete")); enemyData.tweenInfo.tween = GetComponent <iTween>(); enemyData.tweenInfo.startTime = Time.time; }
public void Create(LevelConfig levelConfig) { Reset(); foreach (var configEnemyInfo in levelConfig.enemyInfos) { var enemyData = new EnemyData(configEnemyInfo.enemyConfig); var spawnCoordinates = new Vector3(configEnemyInfo.startPosition.x, 0, configEnemyInfo.startPosition.y); signalBus.Fire(new SpawnEnemiesSignal(enemyData, spawnCoordinates)); enemyData.IsDead.Where(isDead => isDead == true) .Subscribe(_ => { OnDestroyEnemy(enemyData); }); enemies.Add(enemyData); } }
//初期化 public void Init() { if (enemyManager != null) { EnemyData data = enemyManager.FindData(enemy); bodyRenderer.material.color = data.imageColor; crown.SetActive(data.IsCrown); if (data.IsDead) { this.GetComponent <Animator>().Play("Down"); this.GetComponent <Collider>().enabled = false; } this.gameObject.SetActive(data.IsOpen); } }
public void Init_Server(EnemyData data) { if (entity.IsOwner()) { _data = data; state.Health = data.health; _health = new SKU.ResourceAttribute(_data.health, _data.health, 1, 0.5f); _health.AddOnValueChangedListener(UpdateHealth_Server); AttributeManager attributeManager = gameObject.AddComponent <AttributeManager>(); attributeManager.Add(AttributeType.Health, _health); var movement = gameObject.AddComponent <EnemyMovement>(); movement.Init_Server(_data.speed); } }
public void initAttackObjects ( EnemyComponent.HandleAttackExecuted callBackWhenAttackExecuted, EnemyData enemyAttacked, CharacterData attackingCharacter = null ) { _callBackWhenAttackExecuted = callBackWhenAttackExecuted; _enemyAttacked = enemyAttacked; _characterAttacking = attackingCharacter; _startProgressBar = true; if ((( GameGlobalVariables.CURRENT_GAME_PART == GameGlobalVariables.RESCUE && GlobalVariables.TUTORIAL_MENU ) || GameGlobalVariables.CURRENT_GAME_PART == GameGlobalVariables.MINING && MNGlobalVariables.TUTORIAL_MENU ) /*====Daves Edit=====*/&& (LevelControl.LEVEL_ID == 2)/*====Daves Edit=====*/ &&( TutorialsManager.getInstance ().getCurrentTutorialStep ().type != TutorialsManager.TUTORIAL_OBJECT_TYPE_DESTROY_OBJECTS )) { if ( LevelControl.LEVEL_ID != 16 ) { _tutorialHandInstant = ( GameObject ) Instantiate ( _tutorialHandPrefab, transform.position + Vector3.right * 1f + Vector3.up * 1f + Vector3.back * 2f, transform.rotation ); _tutorialHandInstant.transform.parent = transform; } } }
public void SetEnemySpawnProbability(EnemyData _enemy, float _newProbability) { if (currentEnemies.Count <= 1) { return; } float i_difference = 0f; float i_otherTotal = 0; foreach (WaveEnemy wep in currentEnemies) { if (_enemy.name == wep.enemyType.name) { i_difference = _newProbability - wep.probability; wep.probability = _newProbability; } else { i_otherTotal += wep.probability; } } //Reduce or improve all the other probabilities (So it keep a maximum of 1) foreach (WaveEnemy wep in currentEnemies) { if (_enemy.name != wep.enemyType.name) { if (i_difference > 0) { if (i_otherTotal != 0) { float force = wep.probability / i_otherTotal; wep.probability -= force * i_difference; } } else { if ((float)(currentEnemies.Count - 1) - i_otherTotal != 0) { float force = (1f - wep.probability) / ((float)(currentEnemies.Count - 1) - i_otherTotal); wep.probability -= force * i_difference; } } } wep.probability = Mathf.Clamp(wep.probability, 0f, 1f); } }
void RefreshWithGlobalControls() { _player.transform.position = GlobalControl.Instance.playerData.currentPlayerPosition; for (int index = 0; index < GlobalControl.Instance.enemyData.Length; index++) { EnemyData enemyData = GlobalControl.Instance.enemyData [index]; GameObject enemy = enemies [index]; Enemy enemyBehavior = enemy.GetComponent <Enemy> (); // is a moving Enemy if (!enemyBehavior) { Transform childEnemy = enemy.transform.GetChild(0); enemyBehavior = childEnemy.gameObject.GetComponent <Enemy> (); childEnemy.position = enemyData.childPosition; enemy.transform.position = enemyData.currentPosition; } else { enemy.transform.position = enemyData.currentPosition; } if (enemyData.isStunned) { enemyBehavior.Stunned(); } /* if (enemyData.movingPlatformIndex >= 0) { * SetObjectToChildOfPlatform (enemy, platforms [enemyData.movingPlatformIndex]); * } */ } for (int index = 0; index < GlobalControl.Instance.coinData.Length; index++) { CoinData coinData = GlobalControl.Instance.coinData [index]; GameObject coin = coins [index]; coin.SetActive(coinData.doesExist); } for (int index = 0; index < GlobalControl.Instance.platformsData.Length; index++) { MovingPlatformData platformData = GlobalControl.Instance.platformsData [index]; GameObject platform = platforms [index]; platform.transform.position = platformData.currentPosition; } }
public void UpdateGlobalControls() { GlobalControl.Instance.playerData.movingPlatformIndex = IndexOfMovingPlatform(_player); GlobalControl.Instance.playerData.currentPlayerPosition = _player.transform.position; for (int index = 0; index < enemies.Length; index++) { EnemyData enemyData = GlobalControl.Instance.enemyData [index]; GameObject enemy = enemies [index]; Enemy enemyBehavior = enemy.GetComponent <Enemy> (); // is a moving Enemy if (!enemyBehavior) { Transform childEnemy = enemy.transform.GetChild(0); enemyBehavior = childEnemy.gameObject.GetComponent <Enemy> (); enemyData.isStunned = enemyBehavior.isStunned; enemyData.childPosition = childEnemy.position; enemyData.currentPosition = enemy.transform.position; enemyData.isMovingEnemy = true; } else { enemyData.isStunned = enemyBehavior.isStunned; enemyData.currentPosition = enemy.transform.position; enemyData.isMovingEnemy = false; } } for (int index = 0; index < coins.Length; index++) { CoinData coinData = GlobalControl.Instance.coinData [index]; GameObject coin = coins [index]; coinData.doesExist = coin.activeSelf; } for (int index = 0; index < platforms.Length; index++) { GameObject platform = platforms [index]; MovingPlatformData platformData = GlobalControl.Instance.platformsData [index]; platformData.currentPosition = platform.transform.position; PlatformMover platformMover = platform.GetComponent <PlatformMover> (); platformMover.myWaypointIndex = platformData.waypointIndex; } }
IEnumerator BulletsPump(EnemyData ed) { if (ed.iBulCount <= 0) yield break; List<GameObject> lstBu = new List<GameObject>(); Transform buTrans = transform.Find("bullet1"); lstBu.Add(buTrans.gameObject); buTrans = transform.Find("bullet2"); lstBu.Add(buTrans.gameObject); float maxBiTime = 0; while(true) // 必须一方死 //foreach(BulletItem item in ed.bullets) { BulletItem item = ed.bullets[Random.Range(0, ed.bullets.Count)]; GameObject obj = null; if (item.bCanRebound) obj = lstBu[0]; else obj = lstBu[1]; GameObject tmp = GameObject.Instantiate(obj) as GameObject; tmp.transform.parent = transform.parent.Find("Bullets"); tmp.transform.localScale = Vector3.one; tmp.transform.localRotation = Quaternion.identity; tmp.transform.position = obj.transform.position; tmp.SetActive(true); tmp.name = "bullet"; GUIItem gi = tmp.AddComponent<GUIItem>(); gi.GameProperty = item; float dst = tmp.transform.localPosition.y - 640f; float time = 640f / item.speed; EndDestory end = tmp.AddComponent<EndDestory>(); TweenPosition tp = TweenPosition.Begin(tmp, time, new Vector3(tmp.transform.localPosition.x, dst, 0)); tp.SetOnFinished(end.OnFinish); if (time > maxBiTime) { maxBiTime = time; } yield return new WaitForSeconds(ed.interval); } //yield return new WaitForSeconds(maxBiTime - ed.interval); //BattleManager.Inst.IsOver(true); }
public List<EnemyData> QueryEnemyDataList(){ SQLiteDB sqliteDB = OpenDatabase (); string sql = "select * from " + ENEMY_DATA_LIST_TABLE + ";"; Debug.Log("sql = "+ sql); SQLiteQuery sqliteQuery = new SQLiteQuery (sqliteDB, sql); List<EnemyData> enemyDataList = new List<EnemyData>(); while(sqliteQuery.Step()){ EnemyData enemyData = new EnemyData (); enemyData.Id = sqliteQuery.GetInteger (EnemyDataField.ID); enemyData.Name = sqliteQuery.GetString (EnemyDataField.NAME); enemyData.Description = sqliteQuery.GetString (EnemyDataField.DESCRIPTION); enemyData.Atack = sqliteQuery.GetInteger (EnemyDataField.ATACK); enemyDataList.Add(enemyData); } CloseDatabase(sqliteDB,sqliteQuery); return enemyDataList; }
// 敵人設置 void SetEnemyData(string stageName, int hard) { // 該關卡擁有敵人取得 List < string > haveEnemy = db.DataReturn("StageData", "StageName", stageName); haveEnemy.RemoveAt(0); // 敵人資料 List<string>[] enemy = db.DataReturn("EnemyData", "Name", haveEnemy.ToArray()); EnemyData[] enemyData = new EnemyData[enemy.Length]; for (int i = 0; i < enemy.Length; i++) { enemy[i][0] = "" + hard; enemyData[i] = new EnemyData(enemy[i]); enemyData[i].SetSkillData = db.DataReturn("SkillData", "Name", enemyData[i].skillName); } // 資料傳送 BattleUI._Initialze().SetEnemyData = enemyData; }
public void Init(int enemyID) { data = DataManager.Instance.GetEnemyDataSet ().GetEnemyData (enemyID).Clone(); enemyData = data as EnemyData; isEnemy = true; UIEvent = this.GetComponent<BattleObjectUIEvent>(); UIEvent.Init(enemyData.imageID); UIEvent.InitEnemyHPBar(maxHP, data.battleType); currentHP = maxHP; AI = this.GetComponent<EnemyAI>(); AI.InitAI(enemyData.aiID); for(int i = 0; i < data.bornBuffs.Count; i++) { AddBuff(data.bornBuffs[i], -1);//添加固有BUFF } SkillHelper.CheckWeaponBuff(this); MessageEventArgs args = new MessageEventArgs(); args.AddMessage("Object", this); EventManager.Instance.PostEvent(BattleEvent.OnEnemySpawn, args); }
public void Add(EnemyData enemy){ database.Add(enemy); }
void SetEnemyData (EnemyData enemyData) { mEnemyData = enemyData; }
void Start() { tf = GetComponent<Transform>(); data = GetComponent<EnemyData>(); movingLeft = true; }
void Awake() { var text = File.ReadAllText(Application.dataPath + RESOURCE_PATH + JSON_PATH); JsonNode json = JsonNode.Parse(text); var enemies = json["Enemies"]; Dictionary<int, Attribute> enemy_attribute_table = new Dictionary<int, Attribute>(); enemy_attribute_table.Add(0, Attribute.ANIME); enemy_attribute_table.Add(1, Attribute.IDOL); enemy_attribute_table.Add(2, Attribute.GAME); enemy_attribute_table.Add(3, Attribute.VOCALOID); enemy_attribute_table.Add(4, Attribute.ROBOT); for (var i = 0; i < enemies.Count; ++i) { EnemyData enemy_data = new EnemyData(); var enemy = enemies[i]; enemy_data._name = enemy["Name"].Get<string>(); enemy_data._id = (int)enemy["ID"].Get<long>(); enemy_data._hp = (int)enemy["HP"].Get<long>(); enemy_data._attacK_power = (float)enemy["AttackPower"].Get<double>(); enemy_data._attack_speed = (float)enemy["AttackSpeed"].Get<double>(); enemy_data._interval_pop_time = (float)enemy["IntervalPopTime"].Get<double>(); var enemy_attribute_num = (int)enemy["Attribute"].Get<long>(); enemy_data._attribute = enemy_attribute_table[enemy_attribute_num]; _enemy_table.Add(enemy_data._name.GetHashCode(), enemy_data); _enemy_name_table.Add(enemy_data._id, enemy_data._name); } }
void itemInit() { _hero.iBood = 5; _hero.iMoveSpeed = 210f; _data.jqName = "level1JQ"; FruitData fd = new FruitData(); fd.name = "order1"; fd.interval = 0.4f; fd.minGet = 7; FruitItem fi = new FruitItem(); fi.name = "fruit1"; fi.weight = 1; fi.speed = 100; for(int i = 0; i < 11; ++i) fd.fruits.Add(fi); _data.fruit = fd; EnemyData ed = new EnemyData(); ed.iBoold = 8; ed.moveSpeed = 160; ed.interval = 1f; ed.iBulCount = 12; for (int i = 0; i < ed.iBulCount; ++i) { BulletItem bd = new BulletItem(); int range = Random.Range(0, 2); bd.bCanRebound = range == 0 ? false : true; bd.weight = 1; bd.speed = 100; ed.bullets.Add(bd); } _data.enemy = ed; }
private void InsertHistoryData(EnemyData enemyData){ }
void StartBattle(EnemyData ed) { StartCoroutine(AdjustMove(ed.moveSpeed)); StartCoroutine(BulletsPump(ed)); }
public Controler01(EnemyData edt, bool _left = false) { showleft = _left; enemydata = edt; enemydata.Speed = 100; direction = enemydata.Direction; position = enemydata.Position; direction.X = 0; direction.Y = -1; TCset speeddown = new TCset(0, 120); //0-120帧行走直线切弧线行走(速度逐渐衰减) speeddown.Name = "speeddown"; commands.Add(speeddown); TCset rotate01 = new TCset(60, 120); //弧线所需的角度变换 rotate01.Name = "rotate01"; commands.Add(rotate01); TCset speedup01 = new TCset(150, 210, "speedup01"); //停顿30帧后进入加速阶段 commands.Add(speedup01); TCset rotate02 = new TCset(180, 280, "rotate02"); //反向弧度旋转,最终呈正向运动 rotate02.Name = "rotate02"; commands.Add(rotate02); }
public void Remove(EnemyData enemy){ database.Remove (enemy); }
Particle.BreakPointsParticles breakParticle; //击破后的溅射粒子 public Enemy02_2(TextureManager _texturemanager, float x, float y, bool _turnleft = false) { name = "Stage1Enemy02_2"; texturemanager = _texturemanager; Position.X = x; Position.Y = y; enemybody = new DarkBlueLittleSprite(texturemanager); //皮肤选择为DarkBlueLittleSprite enemybody.multiSprite.State = 0; //一开始先重置为一般状态 hp = 1500; enemydata = new EnemyData(Position, Direction, Scale, 100); //建立一个敌人数据,用于传递给行为控制器使用 turnleft = _turnleft; /////添加控制器处////// controler = new Stage1.Controler02_02(enemydata,_turnleft); //建立一个专属的行为控制器 renderlevel = 0; //在敌人列表中置于最底层 /////添加动画爆炸处//// Break_ani = new BreakOut_Blue(_texturemanager, Position, 20, 16, 64); //爆炸动画 breakParticle = new Particle.BreakPointsParticles(_texturemanager, 0); //溅射粒子 breakParticle.EnableVisibleLenth(true, 5); TCset fire01 = new TCset(1, 51); //200-500帧第一阶段释放子弹 fire01.Name = "fire01"; commands.Add(fire01); }
void Start() { mCharacter = (CharacterController)GetComponent<CharacterController>(); mSprite = (exSprite)GetComponent<exSprite>(); mSelectedSkills = new List<Skill>(); mEnemy = new EnemyData(1, mSelectedSkills); mCombatantType = CombatantType.ENEMY; mMoveVelocity = new Vector3(0,0,0); mHealth = mEnemy.MaxHealth; mEnergy = mEnemy.MaxEnergy; mXViewRange = 700.0f; mYViewRange = 300.0f; mCurrentSkill = 0; mIsDead = false; mIsHostile = false; mIsWandering = false; mIsIdle = true; mIsAirborne = true; if (mPath.Count > 1) { mNextNode = 1; } else { mNextNode = 0; } Skill icepick = new Skill(1, "Icepick", "Description", 20.0f, this, 1.5f, 0.5f, 0.3f, 3.0f, 1.0f, "Icepick"); mSelectedSkills.Add(icepick); gameObject.AddComponent("EnemyAI"); }
private void Load(XmlElement xElement) { if (xElement == null) return; if (xElement.Name != StateData.c_root) return; if (!xElement.HasChildNodes) return; if (this.m_enemys == null) this.m_enemys = new List<EnemyData>(); XmlElement canvas = null; XmlElement enemys = null; foreach (XmlNode child in xElement.ChildNodes) { if (child.Name == "canvas") { if (canvas == null) canvas = (XmlElement)child; } else if (child.Name == "enemy") { if (enemys == null) enemys = (XmlElement)child; } } if (canvas != null) this.m_canvas = new CanvasData(canvas); if (enemys != null) { string sTank = ""; string sBonus = ""; string sType = ""; foreach (XmlNode enemyChild in enemys.ChildNodes) { if (enemyChild.Name == "tank") { sTank = enemyChild.InnerText; } else if (enemyChild.Name == "bonus") { sBonus = enemyChild.InnerText; } else if (enemyChild.Name == "type") { sType = enemyChild.InnerText; } } short[] iTank = this.GetValueList(sTank); short[] iBonus = this.GetValueList(sBonus); short[] iType = this.GetValueList(sType); if (iTank != null) { for (int i = 0; i < iTank.Length; i++) { short num1 = 0; short num2 = 0; if ((iBonus != null) && (iBonus.Length > i)) { num1 = iBonus[i]; } if ((iType != null) && (iType.Length > i)) { num2 = iType[i]; } EnemyData data = new EnemyData(iTank[i], num1, num2); this.m_enemys.Add(data); } } } }
private void generateEnemyData() { //use basic data to generate the enemy datas System.Array.Resize<int>(ref enemyNumbers, enemyWave); for (int i = 0; i < enemyWave; i++) { //factor from the animation curve float factor = wave_number.Evaluate((float)i / enemyWave); float enemyNumber = factor * maxNumberPerWave; // random ajust use 20 persent enemyNumbers[i] = (int)(enemyNumber*(1+(Random.value-0.50f)*0.20f)); } //create a jaggedArray for enemydatas and initialize EnemyData[][] enemyCollection = new EnemyData[enemyWave][]; for (int i = 0; i < enemyWave; i++) {//initial the jagged data enemyCollection[i] = new EnemyData[enemyNumbers[i]]; } for (int i = 0; i < enemyWave; i++) { for (int j = 0; j < enemyNumbers[i]; j++) { //create the data int maxHp =(int) (enemyBasicHp*(1+(Random.value-0.50f)*0.1f)); int attackPt = (int)(enemyBasicAp* (int)(1+(Random.value-0.50f)*0.1f)); float attackTime = enemyBasicAttackTime*(1.0f+(Random.value-0.50f)*0.1f); //put enemydata into datas enemyCollection[i][j] = new EnemyData(maxHp, attackPt, attackTime); } } this.enemyDatas = enemyCollection;//update the enemy collections }
public void SetData(EnemyData eData){ m_eData = eData; }
public Controler03(EnemyData edt, bool _left = false) { showleft = _left; enemydata = edt; enemydata.Speed = 150; direction = enemydata.Direction; position = enemydata.Position; if (_left) { position.X = -200; position.Y = 350; direction.X = 1; direction.Y = 0; } else { position.X = 200; position.Y = 350; direction.X = -1; direction.Y = 0; } commands.Add(new TCset(20, 120, "speeddown")); //减速 commands.Add(new TCset(0, 120, "rotate1")); //1阶段旋转[旋转至转轴点] commands.Add(new TCset(121, 121, "rotate2")); //2阶段旋转[一次性固定旋转],两次旋转呈勾状运动 commands.Add(new TCset(122, 150, "speedup")); //旋转完成后进入加速(弹射效果) }
/* ============================================================================ Init functions ============================================================================ */ public void Init() { // first init languages languages = new LanguageData(); statusValues = new StatusValueData(); elements = new ElementData(); races = new RaceData(); sizes = new SizeData(); areaNames = new AreaNameData(); armors = new ArmorData(); cameraPositions = new CameraPositionData(); attacks = new BaseAttackData(); characters = new CharacterData(); classes = new ClassData(); colors = new ColorData(); dialoguePositions = new DialoguePositionData(); battleAIs = new BattleAIData(); enemies = new EnemyData(); equipParts = new EquipmentPartData(); formulas = new FormulaData(); gameSettings = new GameSettingsData(); items = new ItemData(); itemTypes = new ItemTypeData(); loadSaveHUD = new LoadSaveHUDData(); mainMenu = new MainMenuData(); skillTypes = new SkillTypeData(); effects = new StatusEffectData(); skills = new SkillData(); weapons = new WeaponData(); music = new MusicData(); huds = new HUDData(); recipes = new ItemRecipeData(); fonts = new FontData(); globalEvents = new GlobalEventData(); teleports = new TeleportData(); difficulties = new DifficultyData(); // battle system battleAnimations = new BattleAnimationData(); battleSystem = new BattleSystemData(); }
public Controler02_02(EnemyData edt, bool _left = false) { showleft = _left; enemydata = edt; enemydata.Speed = 150; direction = enemydata.Direction; position = enemydata.Position; //此控制器中控制运动轨迹的是额外的Direction,而非原组件(原组件的direction用来控制自身旋转等操作) if (_left) { position.X = -200; position.Y = 350; direction.X = 1; direction.Y = 0; } else { position.X = 200; position.Y = 350; direction.X = -1; direction.Y = 0; } TCset rotate1 = new TCset(0, 130,"rotate1"); commands.Add(rotate1); }
public void Reload() { var obj = this.filePath.Deserialize<EnemyData>(); this.EnemyData = obj.ValueOrNew(); if (this.RemoveDuplicate()) this.Save(); }
List<TCset> commands = new List<TCset>(); //命令列表 public Controler03_02(EnemyData edt) { enemydata = edt; enemydata.Speed = 100; direction = enemydata.Direction; position = enemydata.Position; direction.X = 0; direction.Y = -1; TCset speeddown = new TCset(60, 160, "speeddown"); //速度逐渐衰减 speeddown.Name = "speeddown"; commands.Add(speeddown); TCset speedup01 = new TCset(480, 600, "speedup"); //进入加速阶段 commands.Add(speedup01); }