Beispiel #1
0
 public void StartSpawnCostLoop()
 {
     gameManager = GameManager.Instance;
     playerStats = PlayerStats.Instance;
     slime       = GetComponent <Slime>().GetSlimeClass();
     InvokeRepeating("SpawningCost", 0, slime.actionCoolDown);
 }
Beispiel #2
0
    void Start()
    {
        _transform = transform;
        //Build up the slime class with Name
        slimeClass = new SlimeClass(slimeName);
        photonView = GetComponent <PhotonView>();
        gm         = GameManager.Instance;
        //Join team list
        JoinTeamList();
        //PathFinding config
        move = GetComponent <SlimeMovement>();
        if (move != null)
        {
            move.SetUpNavMeshAgent(slimeClass);
        }
        //Slime Health Display config
        SlimeHealth health = GetComponent <SlimeHealth>();

        if (health != null)
        {
            health.SetUpSlimeHealth(slimeClass);
        }

        if (!photonView.isMine && !slimeClass.canSpawnInBattle)
        {
            DisplaySlime(false, true);
        }
        else if (slimeClass.canSpawnInBattle)
        {
            Invoke("SlimeComponentEnable", 0.3f);
        }
    }
Beispiel #3
0
    public void StartSummonLoop()
    {
        gameManager = GameManager.Instance;
        slime       = GetComponent <Slime>().GetSlimeClass();
        agentPos    = GetComponent <Slime>().GetAgent().position;

        InvokeRepeating("Summon", 1f, slime.actionCoolDown);
    }
Beispiel #4
0
 void Start()
 {
     photonView  = GetComponent <PhotonView>();
     slime       = GetComponent <Slime>().GetSlimeClass();
     agent       = GetComponent <Slime>().GetAgent();
     movement    = GetComponent <SlimeMovement>();
     health      = GetComponent <SlimeHealth>();
     gameManager = GameManager.Instance;
 }
Beispiel #5
0
    public void SetUpSlimeHealth(SlimeClass _slime)
    {
        slime          = _slime;
        healthBarGroup = gameManager.healthBarParent;
        GeneratePlayerHealthBar(agent);

        startHealth   = slime.startHealth;
        currentHealth = startHealth;
    }
Beispiel #6
0
    void Start()
    {
        Slime s = transform.root.GetComponent <Slime>();

        model       = s.GetModel();
        agent       = s.GetAgent();
        slime       = s.GetSlimeClass();
        photonView  = GetComponent <PhotonView>();
        gameManager = GameManager.Instance;
    }
Beispiel #7
0
    public void SetUpNavMeshAgent(SlimeClass _slime)
    {
        this.slime   = _slime;
        navMeshAgent = agent.GetComponent <NavMeshAgent>();
        //agent.baseOffset = 0.9f;	//fix slime float on the ground problem
        navMeshAgent.speed            = slime.movemonetSpeed;
        navMeshAgent.acceleration     = slime.movemonetSpeed;
        navMeshAgent.stoppingDistance = 1.5f;         //previous (1.5f)

        enemies = gm.GetEnemies(_transform);
    }
 private void CallTargetSearching(List <Transform> team)
 {
     for (int i = 0; i < team.Count; i++)
     {
         SlimeClass s = team[i].root.GetComponent <Slime>().GetSlimeClass();
         if (!s.isHealing && !s.isSummoner)
         {
             team[i].root.GetComponent <SlimeMovement>().FindTheTargetAgain();
         }
     }
 }
Beispiel #9
0
 void Start()
 {
     s      = transform.parent.GetComponent <Slime>();
     health = transform.parent.GetComponent <SlimeHealth>();
     model  = s.GetModel();
     agent  = s.GetAgent();
     slime  = s.GetSlimeClass();
     GetComponent <SphereCollider>().radius = slime.detectRadius;
     enemyTag    = (transform.parent.tag == "Team_RED") ? "Team_BLUE" : "Team_RED";
     photonView  = transform.parent.GetComponent <PhotonView>();
     gameManager = GameManager.Instance;
 }
Beispiel #10
0
    public void SetupSlimeProperties()
    {
        if (slime == null)
        {
            slime = new SlimeClass(name);
        }

        health         = slime.startHealth;
        attackDamage   = slime.attackDamage;
        actionCoolDown = slime.actionCoolDown;
        movemonetSpeed = slime.movemonetSpeed;
        actionRange    = slime.actionRange;
        castTime       = slime.castTime;
    }
    void OnTriggerEnter(Collider other)
    {
        Slime s = other.transform.root.GetComponent <Slime>();

        if (s == null)
        {
            return;
        }

        Transform  targetSlime = other.transform.root;
        SlimeClass slimeClass  = s.GetSlimeClass();

        if (targetSlime.tag == rootObject.tag && !slimeClass.isBuilding)
        {
            SlimeHealth h = targetSlime.GetComponent <SlimeHealth>();
            buffList.Add(h);
            h.buffIndex++;
            h.SetDamageReduced(guardian.GetDamageReducedPercentage());
        }
    }
    void OnTriggerExit(Collider other)
    {
        Slime s = other.transform.root.GetComponent <Slime>();

        if (s == null)
        {
            return;
        }

        Transform  targetSlime = other.transform.root;
        SlimeClass slimeClass  = s.GetSlimeClass();

        if (targetSlime.tag == rootObject.tag && !slimeClass.isBuilding)
        {
            SlimeHealth h = targetSlime.GetComponent <SlimeHealth>();
            h.buffIndex--;
            if (h.buffIndex == 0)
            {
                buffList.Remove(h);
                h.SetupDefaultDamageReduced();
            }
        }
    }
Beispiel #13
0
 public void SpellingGuardianBuff(SlimeClass _slime)
 {
     slime = _slime;
     sphereCollider.enabled = true;
     sphereCollider.radius  = slime.areaEffectRadius;
 }
Beispiel #14
0
 public void SetUpBuilding(SlimeClass _slime)
 {
     slime = _slime;
     InvokeRepeating("FindTheTarget", Random.Range(0.1f, 0.5f), 0.5f);
 }