public void LoadTrapObject() { string trapName = string.Empty; for (int i = 0; i < 3; i++) { trapName = obstacleNames [i]; GDB.getTrapObjectDB.LoadData(trapName, delegate(int stair, int floor, float count, int level) { GameObject newObstacleObject = Instantiate(Resources.Load(trapAddress + trapName)) as GameObject; newObstacleObject.name = trapName; ObstacleCharacter TrapCtrl = newObstacleObject.GetComponent <ObstacleCharacter>(); newObstacleObject.transform.parent = GM.getStageController(stair).TrsByPos(floor); newObstacleObject.transform.SetAsFirstSibling(); //TrapCtrl.InitializeTrap((int)count); }); } }
void OnTriggerEnter(Collider hit) { string hit_tag = hit.gameObject.tag; if (hit_tag.Equals("Exit")) { gameObject.SetActive(false); } else if (hit_tag.Equals("P_Attack")) { Weapon weaponStat = hit.gameObject.GetComponent <Weapon>(); if (weaponStat.Archery && stat_name.Equals("Kastral")) { } else { float damage = weaponStat.damage; DamageCharacter(damage); } } else if (hit_tag.Equals("Obstacle") && !stat_name.Equals("Ishark")) { float damage = 0; if (hit.gameObject.name.Equals("Effect")) { obs_Object = hit.transform.parent.GetComponent <ObstacleCharacter>(); DamageByObstacleFunc(obs_Object.obs_damage); } else if (hit.gameObject.name.Equals("Spike")) { speed = initSpeed * 0.7f; obs_Object = hit.gameObject.GetComponent <ObstacleCharacter>(); StartCoroutine("DamageByObstacle", obs_Object.obs_damage); } } else if (hit_tag.Equals("Ghost") || hit_tag.Equals("Starter")) { if (hit_tag.Equals("Ghost")) { hit.gameObject.GetComponent <BoxCollider>().enabled = false; } isEnemyFace = false; StopCoroutine("AttackProcess"); StartCoroutine("MoveSpriteAnimation"); } else if (hit_tag.Equals("Stair")) { GM.ChangeAttackTrsByLevel(this.gameObject, ++currentStair); //Update Pos GM.updateEnemyStatus(gameObject.name, gameObject.tag, currentStair, unique_id, 0.0f, hp); CharacterPositionSet(); } if ((hit_tag.Equals("Alias") || hit_tag.Equals("Player"))) { // StartCoroutine("KnockBack"); isEnemyFace = true; StopCoroutine("MoveSpriteAnimation"); if (!stat_name.Equals("Illene")) { StartCoroutine("AttackProcess"); } } if (hit_tag.Equals("Enemy") || hit_tag.Equals("SuperEnemy")) { Attacker otherAttacker = hit.transform.parent.GetComponent <Attacker> (); if (stat_name.Equals("Archer") && !otherAttacker.getStatName.Equals("Archer") && !isEnemyFace) { isEnemyFace = true; StopCoroutine("MoveSpriteAnimation"); StartCoroutine("AttackProcess"); } } if (hit.gameObject.name.Equals("Heal")) { DamageCharacter(-1 * hit.gameObject.GetComponent <AttackerHealGS>().GetHealAmount); } }
void ButtonProcess(GameObject go) { StageController _currentStageCtrl = GM.currenetStageController; if (go.name.Equals("Back")) { GM.PopUpOpen("Close"); } else { if (go.tag.Equals("Alias")) { string mosnter_type = go.name; if (TempStaticMemory.gold < GM.getPrice(go.name, "install", go.tag)) { GM.SendToAlert(AlertDialog.NotGold, (GM.getPrice(go.name, "install", go.tag)).ToString("0")); } else { string current_monster_name = GM.getMonsterName(mosnter_type, GM.LoadLevelData(mosnter_type) - 1, true); GameObject CreateMonster = Instantiate(Resources.Load(aliasAddress + current_monster_name)) as GameObject; CreateMonster.name = go.name; PlayerCharacter CreateMonsterInfo = CreateMonster.GetComponent <PlayerCharacter>(); GM.installObject(go.name, go.tag, _currentStageCtrl.StairNumber, installPos, GM.LoadLevelData(current_monster_name)); CreateMonsterInfo.StageCntl = _currentStageCtrl; CreateMonster.transform.parent = _currentStageCtrl.TrsByPos(installPos); CreateMonster.transform.SetAsFirstSibling(); CreateMonsterInfo.AliasPosNumber = installPos; CreateMonsterInfo.isBossMonster = false; CreateMonsterInfo.CharacterStatus(); TempStaticMemory.gold -= GM.getPrice(go.name, "install", go.tag); if (PlayerPrefs.GetInt("GameCount", 0) == 1) { TempStaticMemory.isTutoProcessOn = true; } } } else if (go.tag.Equals("Obstacle")) { if (!_currentStageCtrl.isTrapInstall(go.name)) { } else if (TempStaticMemory.gold < GM.getPrice(go.name, "install", go.tag)) { GM.SendToAlert(AlertDialog.NotGold, (GM.getPrice(go.name, "install", go.tag)).ToString("0")); } else { //실제로 함정 사는 부분 GameObject CreateTrap = Instantiate(Resources.Load(trapAddress + go.name)) as GameObject; CreateTrap.name = go.name; ObstacleCharacter TrapControl = CreateTrap.GetComponent <ObstacleCharacter>(); TrapControl.StageCntl = _currentStageCtrl; CreateTrap.transform.parent = _currentStageCtrl.TrsByPos(installPos); CreateTrap.transform.SetAsFirstSibling(); TrapControl.setTrapStair = _currentStageCtrl.StairNumber; TrapControl.setTrapPos = installPos; TrapControl.Initialize(); _currentStageCtrl.OccupyPos(installPos, 1); _currentStageCtrl.trapInstall(go.name, true); GM.installObject(go.name, go.tag, _currentStageCtrl.StairNumber, installPos, GM.LoadLevelData(go.name)); TempStaticMemory.gold -= GM.getPrice(go.name, "install", go.tag); if (PlayerPrefs.GetInt("GameCount", 0) == 1) { TempStaticMemory.isTutoProcessOn = true; } } } GM.PopUpOpen("Close"); } _currentStageCtrl.SendMessage("ArrowDisappear", SendMessageOptions.DontRequireReceiver); Time.timeScale = 1.0f; installPos = -1; }