public void Init(Vector3 navDestination, DefenseMonsterData data, TestFence fence, Material mat)
    {
        this.navDestination = navDestination;

        this.data          = data;
        this.hp            = data.maxHp;
        this.fence         = fence;
        this.whiteMaterial = mat;

        if (monsterAttackEvent == null)
        {
            this.monsterAttackEvent = this.gameObject.transform.GetChild(0).gameObject.AddComponent <MonsterAttackEvent>();
        }

        this.isTargetedByBomber = false;

        if (model == null)
        {
            this.model = this.transform.GetChild(0).gameObject;
        }
        this.model.transform.localPosition = Vector3.zero;

        if (agent == null)
        {
            this.agent = this.gameObject.AddComponent <NavMeshAgent>();
        }
        if (animator == null)
        {
            this.animator = this.gameObject.GetComponentInChildren <Animator>();
        }
        if (boxCollider == null)
        {
            this.boxCollider           = this.gameObject.AddComponent <BoxCollider>();
            this.boxCollider.size      = new Vector3(1, 3, 1);
            this.boxCollider.center    = new Vector3(0, 1.2f, 0);
            this.boxCollider.isTrigger = true;
        }
        this.gameObject.layer = LayerMask.NameToLayer("Monster"); //레이어를 몬스터로

        this.skinnedMeshRenderer = this.gameObject.GetComponentInChildren <SkinnedMeshRenderer>();
        this.defaultMaterial     = this.skinnedMeshRenderer.material;

        this.CheckHp();
    }
Exemple #2
0
    IEnumerator Defend(float time)
    {
        yield return(new WaitForSeconds(time));

        MonsterAttackEvent.monsterAttack(Angriff());
    }