Ejemplo n.º 1
0
    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);
            });
        }
    }
Ejemplo n.º 2
0
    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);
        }
    }
Ejemplo n.º 3
0
    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;
    }