Esempio n. 1
0
        public TeamObject GetTeamsData(string teamcode, string leaguecode)
        {
            TeamObject Team = new TeamObject();

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(System.Configuration.ConfigurationManager.AppSettings["SDMUrl"]);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                //HttpResponseMessage response = await client.GetAsync("api/TeamsAPI/SelectTeams?Abbr=" + Abbr + "&Code="+Code);
                HttpResponseMessage response = client.GetAsync("/api/Team?id=" + teamcode + "&value=" + leaguecode + "&withoutEnvelope=True").Result;
                if (response.IsSuccessStatusCode)
                {
                    string result = response.Content.ReadAsStringAsync().Result;// ReadAsAsync<LeagueObject>();
                    if (result.ToLower() != "null")
                    {
                        Team = JsonConvert.DeserializeObject <TeamObject>(result);
                    }
                    return(Team);
                }
                else
                {
                    return(null);
                }
            }
        }
Esempio n. 2
0
        protected override void BuildingPlaced()
        {
            base.BuildingPlaced();

            objectsToReveal = Physics.OverlapSphere(transform.position, RevealRange);

            for (int i = 0; i < objectsToReveal.Length; i++)
            {
                workObject = objectsToReveal[i].gameObject;
                if ((workTeamObject = workObject.GetComponent <TeamObject>()) && workTeamObject is Ninja)
                {
                    (workTeamObject as Ninja).AddRevealingSource(this);
                }
            }

            if (previouslyRevealed != null)
            {
                for (int i = 0; i < previouslyRevealed.Length; i++)
                {
                    workCollider = previouslyRevealed[i];
                    if (workCollider && !objectsToReveal.Contains(workCollider))
                    {
                        workObject = workCollider.gameObject;
                        if ((workTeamObject = workObject.GetComponent <TeamObject>()) && workTeamObject is Ninja)
                        {
                            (workTeamObject as Ninja).RemoveRevealingSource(this);
                        }
                    }
                }
            }
            previouslyRevealed = objectsToReveal;
        }
Esempio n. 3
0
    private void OnTriggerEnter(Collider other)
    {
        if (END == true)
        {
            return;
        }

        if (other.gameObject.GetComponent <TeamObject>().TEAM_TYPE != casterCharacterTeam &&
            TEMP_OFF == false)
        {
            GameObject colObject   = other.gameObject;
            BaseObject actorObject = colObject.GetComponent <BaseObject>();

            TeamObject Target = other.gameObject.GetComponent <TeamObject>();
            casterActor.ThrowEvent(ConstValue.ActorData_SetTarget, Target);

            //스킬이 생성될 때 타켓을 정해주는데, throw이벤트로 타겟을 정해주는 것은 그 후임.
            SkillManager.Instance.makeSkill.TARGET = SkillManager.Instance.makeSkill.OWNER.GetData(ConstValue.ActorData_GetTarget) as BaseObject;


            if (actorObject != TARGET)
            {
                return;
            }

            TARGET.ThrowEvent(ConstValue.EventKey_Hit,
                              OWNER.GetData(ConstValue.ActorData_Character),
                              SKILL_TEMPLATE, casterActor.CUR_BUFF, casterActor.transform.rotation);
        }
    }
Esempio n. 4
0
        private void OnGUI()
        {
            //Debug.Log("mouse: " + m1.x);
            if (Input.GetMouseButton(0))
            {
                Utils.DrawScreenRectFilled(Utils.GetScreenRect(m1, Input.mousePosition), 1, darkBorder, fill);
            }

            if (seenUnseenFrustrum != null)
            {
                //Debug.Log(seenUnseenFrustrum.Length);
                for (int i = 0; i < seenUnseenFrustrum.Length; i++)
                {
                    if (IsWithinSelectionBounds(Vector2.zero, cam.ViewportToScreenPoint(new Vector3(1, 1)), seenUnseenFrustrum[i]))
                    {
                        if (e = seenUnseenFrustrum[i].GetComponent <Entity>())
                        {
                            c = e.GetComponent <Collider>();

                            workingVector = cam.WorldToScreenPoint(c.bounds.center);
                            GUI.Label(new Rect(new Vector2(workingVector.x - 15, Screen.height - workingVector.y - 40), GUI.skin.label.CalcSize(new GUIContent(e.Health.ToString()))), new GUIContent(e.Health.ToString()));
                        }
                    }
                }
            }
        }
Esempio n. 5
0
 public void Follow(GameObject g)
 {
     if (g != gameObject)
     {
         follow           = g;
         attackGameObject = null;
         attackObject     = null;
     }
 }
Esempio n. 6
0
        public void SetDestination(Vector3 dest)
        {
            //Debug.Log("Destination Set: " + dest);
            //for now, it can be used to set destination but we do not want that for this build
            return;

            points.Clear();
            points.Add(dest);
            attackGameObject = null;
            follow           = null;
            attackObject     = null;
        }
Esempio n. 7
0
        // GET api/Team/0/MLB
        public IEnumerable <dynamic> Get(string teams, string league)
        {
            string  vcode   = teams.Split('^')[0];
            string  hcode   = teams.Split('^')[1];
            var     ret     = new List <dynamic>();
            dynamic expando = new ExpandoObject();

            try
            {
                expando = new { ID = -1, Name = "NONE" };
                ret.Add(expando);
                //********* Following lines were comment out due to SDM integration  -- Start *****************//
                //int count = db.Sports.Where(s => s.ShortDisplay == league).Count();
                //if (count != 1)
                //{
                //    return ret;
                //}
                //expando = new { ID = 117, Name = "MIN" };
                //ret.Add(expando);
                //expando = new { ID = 1231, Name = "ATL" };
                //ret.Add(expando);

                //int sport = db.Sports.Where(s => s.ShortDisplay == league).SingleOrDefault().ID;
                //return ret.Concat(db.Teams.Where(t1 => t1.SportID == sport && (t1.Abbreviation == vcode || t1.Abbreviation == hcode)).Select(t => new
                //{
                //    t.ID,
                //    Name = t.Abbreviation//t.CityName + " " + t.Abbreviation //t.NickName
                //}));
                //********* Following lines were comment out due to SDM integration  -- Start *****************//
                TeamObject Vt = GetTeamsData(vcode, league);
                if (Vt != null)
                {
                    expando = new { ID = Vt.ID, Name = Vt.Abbreviation };
                    ret.Add(expando);
                }

                TeamObject Ht = GetTeamsData(hcode, league);
                if (Ht != null)
                {
                    expando = new { ID = Ht.ID, Name = Ht.Abbreviation };
                    ret.Add(expando);
                }



                return(ret);
            }
            catch
            {
                return(ret);
            }
        }
Esempio n. 8
0
        public int UpdateTeam(TeamObject team)
        {
            try
            {
                string Query = "UPDATE [dbo].[team_tbl] SET [teamName] = @TeamName, [classId] = @ClassId ,[minMember] = @MinMember,[maxMember] = @MaxMember, [createdBy] = @CreatedBy WHERE [teamId] = @TeamId";

                SqlParameter param1, param2, param3, param4, param5;

                param1       = new SqlParameter("@TeamName", SqlDbType.NVarChar, 50, "teamName");
                param1.Value = team.TeamName;

                param2       = new SqlParameter("@ClassId", SqlDbType.Int, int.MaxValue, "classId");
                param2.Value = team._Class.ClassId;

                param3       = new SqlParameter("@MinMember", SqlDbType.Int, int.MaxValue, "minMember");
                param3.Value = team.MinMember;

                param4       = new SqlParameter("@MaxMember", SqlDbType.Int, int.MaxValue, "maxMember");
                param4.Value = team.MaxMember;

                param5       = new SqlParameter("@CreatedBy", SqlDbType.NVarChar, 10, "createdBy");
                param5.Value = team.CreatedBy;

                param5       = new SqlParameter("@TeamId", SqlDbType.Int, int.MaxValue, "teamId");
                param5.Value = team.TeamId;

                if (team == null)
                {
                    throw new NullReferenceException();
                }
                else
                {
                    sqlParameters = new List <SqlParameter>();
                    sqlParameters.Add(param1);
                    sqlParameters.Add(param2);
                    sqlParameters.Add(param3);
                    sqlParameters.Add(param4);
                    sqlParameters.Add(param5);

                    instructorDataAccess = new DataAccess();

                    Task <int> task = Task.Run(() => instructorDataAccess.ExecuteCommandAsync(Query, CommandType.Text, sqlParameters));

                    return(task.Result);
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
    void placeObject(Vector3 position, GameObject prefab)
    {
        GameObject obj = (GameObject)Instantiate(prefab, position, prefab.transform.rotation);

        obj.transform.localScale *= 1.5f;
        Character character = (Character)obj.GetComponent <Character>();

        character.team = 1;
        //obj.tag = character.team + "";
        obj.GetComponent <TeamObject> ();
        TeamObject to = obj.GetComponent <TeamObject> ();

        to.team = 1;
    }
Esempio n. 10
0
        public void Attack(GameObject g)
        {
            //Debug.Log("Attack Set");
            if (g != gameObject)
            {
                if (g == null)
                {
                    return;
                }

                attackObject     = g.GetComponent <TeamObject>();
                attackGameObject = g;
                follow           = null;
            }
        }
Esempio n. 11
0
    private void OnTriggerEnter(Collider other)
    {
        if (END == true)
        {
            return;
        }

        if (other.gameObject.tag != "Obstacle")
        {
            if (other.gameObject.GetComponent <Actor>().TEMPLATE_KEY == "ENEMY_1")
            {
                other.gameObject.GetComponent <NonPlayer>().AI.IS_SKILL = false;
            }
        }

        if (other.gameObject.GetComponent <TeamObject>().TEAM_TYPE != casterCharacterTeam ||
            (bGiantEnemy &&
             other.gameObject.GetComponent <Actor>() != casterActor))
        {
            GameObject colObject   = other.gameObject;
            BaseObject actorObject = colObject.GetComponent <BaseObject>();

            TeamObject Target = other.gameObject.GetComponent <TeamObject>();
            casterActor.ThrowEvent(ConstValue.ActorData_SetTarget, Target);

            //스킬이 생성될 때 타켓을 정해주는데, throw이벤트로 타겟을 정해주는 것은 그 후임.
            SkillManager.Instance.makeSkill.TARGET = SkillManager.Instance.makeSkill.OWNER.GetData(ConstValue.ActorData_GetTarget) as BaseObject;


            if (actorObject != TARGET)
            {
                return;
            }


            //Destroy(other.gameObject);

            TARGET.ThrowEvent(ConstValue.EventKey_Hit,
                              OWNER.GetData(ConstValue.ActorData_Character),
                              SKILL_TEMPLATE, casterActor.CUR_BUFF, casterActor.transform.rotation);
        }
    }
Esempio n. 12
0
        protected override void ObjectDead()
        {
            if (previouslyRevealed != null)
            {
                for (int i = 0; i < previouslyRevealed.Length; i++)
                {
                    workCollider = previouslyRevealed[i];
                    if (workCollider)
                    {
                        workObject = workCollider.gameObject;
                        if ((workTeamObject = workObject.GetComponent <TeamObject>()) && workTeamObject is Ninja)
                        {
                            (workTeamObject as Ninja).RemoveRevealingSource(this);
                        }
                    }
                }
            }

            base.ObjectDead();
        }
Esempio n. 13
0
        public int AddTeam(TeamObject team)
        {
            try
            {
                string Query = "INSERT INTO [dbo].[team_tbl] ([teamName] ,[classId] ,[minMember] ,[maxMember] ,[createdBy]) VALUES(@TeamName, @ClassId, @MinMember, @MaxMember, @CreatedBy)";

                SqlParameter param1, param2, param3, param4, param5;

                param1       = new SqlParameter("@TeamName", SqlDbType.NVarChar, 50, "teamName");
                param1.Value = team.TeamName;

                param2       = new SqlParameter("@ClassId", SqlDbType.Int, int.MaxValue, "classId");
                param2.Value = team._Class.ClassId;

                param3       = new SqlParameter("@MinMember", SqlDbType.Int, int.MaxValue, "minMember");
                param3.Value = team.MinMember;

                param4       = new SqlParameter("@MaxMember", SqlDbType.Int, int.MaxValue, "maxMember");
                param4.Value = team.MaxMember;

                param5       = new SqlParameter("@CreatedBy", SqlDbType.NVarChar, 10, "createdBy");
                param5.Value = team.CreatedBy;

                if (team == null)
                {
                    throw new NullReferenceException();
                }
                else
                {
                    instructorDataAccess = new DataAccess();

                    Task <int> task = Task.Run(() => instructorDataAccess.ExecuteCommandAsync(Query, CommandType.Text, sqlParameters));

                    return(task.Result);
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Esempio n. 14
0
        public TeamObject ViewTeam(int teamId)
        {
            try
            {
                string sqlSelect = $"SELECT [teamId],[teamName],[classId],[minMember],[maxMember],[createdBy] FROM team_tbl WHERE teamId = @TeamId;";

                instructorDataAccess = new DataAccess();
                TeamObject teamObject = new TeamObject();
                parameters = new List <ParameterList>();

                parameters.Add(new ParameterList()
                {
                    Key = "@TeamId", Value = teamId
                });

                Task <DataTable> task = Task.Run(() => instructorDataAccess.GetDataAsync(sqlSelect, parameters));

                teamObject.TeamId           = Convert.ToInt32(task.Result.Columns["teamId"]);
                teamObject.TeamName         = task.Result.Columns["teamName"].ToString();
                teamObject.MinMember        = Convert.ToInt32(task.Result.Columns["minMember"]);
                teamObject.MaxMember        = Convert.ToInt32(task.Result.Columns["maxMember"]);
                teamObject._Class.ClassId   = Convert.ToInt32(task.Result.Columns["classId"]);
                teamObject.CreatedBy.UserId = task.Result.Columns["createdBy"].ToString();

                if (teamObject == null)
                {
                    throw new NullReferenceException();
                }
                else
                {
                    return(teamObject);
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
    private FieldCell GenerateFoodForAnimal(TeamObject animal, bool isInstantiationNeeded = true)
    {
        if (animal.gameObject.TryGetComponent <MovingAgent>(out var agent))
        {
            var coordinates         = agent.CurrentCell.Coordinates;
            var reachableCellsCount = m_SimulationSpeed * 5;

            //Получаем координаты для генерации еды с учётом максимального достижимого расстояния и размерности поля
            Vector2Int foodCoordinates;
            do
            {
                var newX = Random.Range(coordinates.x - reachableCellsCount, coordinates.x + reachableCellsCount);
                var newY = Random.Range(coordinates.y - reachableCellsCount, coordinates.y + reachableCellsCount);

                newX  = newX < 0 ? 0 : newX;
                newY  = newY < 0 ? 0 : newY;
                newX %= m_Field.FieldCells.Length;
                newY %= m_Field.FieldCells.Length;

                foodCoordinates = new Vector2Int(newY, newX);
            } while (foodCoordinates.Equals(coordinates) || m_Field.FieldCells[foodCoordinates.x][foodCoordinates.y].IsOccupiedByFood);

            GameObject foodObject;
            if (isInstantiationNeeded)
            {
                return(InstantiateFood(foodCoordinates, out foodObject, animal.Id));
            }

            foodObject = m_Food[animal.Id].gameObject;
            foodObject.transform.position = new Vector3(foodCoordinates.x, 0, foodCoordinates.y) + Vector3.up;
            foodObject.SetActive(true);
            return(m_Field.FieldCells[foodCoordinates.y][foodCoordinates.x]);
        }

        Debug.LogError("Отсутсвует компонент MovingAgent на префабе AnimalBase");
        return(null);
    }
 private void Awake()
 {
     rend = GetComponent <Renderer>();
     team = GetComponent <TeamObject>();
 }
Esempio n. 17
0
 public ReportObject ViewTeamReport(TeamObject teamId)
 {
     throw new NotImplementedException();
 }
Esempio n. 18
0
        // GET: /Game/Edit/5

        public ActionResult Edit(string id, string hiveprefix, int clientID)
        {
            FoxTickerEntities db = new FoxTickerEntities();
            spTICK_Games_GetByEntryID_Result Game;

            //if (id != 0)
            //{
            if (id == null)
            {
                return(View(new Game()));
            }

            ViewData["HiveID"]     = id;
            ViewData["HivePrefix"] = hiveprefix;
            ViewData["ClientID"]   = clientID;

            //null team
            Team newTeam = new Team();

            newTeam.ID = -1;

            newTeam.NickName = "NONE";

            //Task<List<TeamObject>> t = Topic();
            //List<TeamObject> lt = t.Result;

            //  List<Team> teams = new List<Team>();

            //List<TeamObject> to=new List<TeamObject>();
            //to.AddTopic(hiveprefix));

            //foreach (Note n in db.Notes.Where(n => n.GameID == id))
            //{
            //    int iSport = db.Teams.Where(t => t.ID == n.TeamID).FirstOrDefault().SportID;
            //    if (teams.Where(t => t.SportID == iSport).Count() == 0)
            //        teams.AddRange(db.Teams.Where(tw => tw.SportID == iSport).ToList());
            //}
            //  teams.AddRange(db.Teams.ToList());
            //  teams.AddRange(Topic(hiveprefix));

            TeamObject Team = new TeamObject();
            //using (var client = new HttpClient())
            //{
            //    client.BaseAddress = new Uri(System.Configuration.ConfigurationManager.AppSettings["SDMUrl"]);
            //    client.DefaultRequestHeaders.Accept.Clear();
            //    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            //    //HttpResponseMessage response = await client.GetAsync("api/TeamsAPI/SelectTeams?Abbr=" + Abbr + "&Code="+Code);
            //    HttpResponseMessage response = client.GetAsync("/api/team").Result;
            //    if (response.IsSuccessStatusCode)
            //    {
            //        List<TeamObject> listTeams = response.Content.ReadAsAsync<List<TeamObject>>().Result;

            //        TeamObject newTobj = new TeamObject();
            //        newTobj.ID = -1;
            //        newTobj.DisplayName = "NONE";

            //        listTeams.Add(newTobj);

            //        ViewData["Teams"] = listTeams;
            //    }
            //}

            // ViewData["Teams"] = Team;
            //if (Game.TeamID != null)
            //    if (Game.TeamID != -1 && Game.TeamID != 0)
            //        ViewData["SportID"] = db.Teams.Single(s => s.ID == Game.TeamID).SportID;
            List <TeamObject> listTeams = new List <TeamObject>();
            TeamObject        newTobj   = new TeamObject();

            newTobj.ID          = -1;
            newTobj.DisplayName = "NONE";

            listTeams.Add(newTobj);

            ViewData["Teams"] = listTeams;
            return(View());
        }
Esempio n. 19
0
 private void Start()
 {
     team       = GetComponent <TeamObject>();
     tmpHP.text = "HP: " + HP.ToString();
 }
Esempio n. 20
0
    /// <summary>
    /// Applies schedule components to main panel.
    /// </summary>
    public static void ApplyScheduleComponent(Schedule schedule)
    {
        GameManager gameManager = GameObject.Find("GameManager").GetComponent <GameManager>();

        //Remove remaining existing objects.
        for (int i = 0; i < gameManager.contentLayout.transform.childCount; ++i)
        {
            UnityEngine.Object.Destroy(gameManager.contentLayout.transform.GetChild(i).gameObject);
        }

        //Instantiate objects case by case.
        Schedule.ScheduleCategory cat = schedule.scheduleCategory;
        switch (cat)
        {
        case Schedule.ScheduleCategory.TESTING_WITHCOMPONENT:
        {
            GameObject textObject0 = UnityEngine.Object.Instantiate(gameManager.Schedule_text, gameManager.contentLayout.transform);
            textObject0.GetComponent <TextMeshProUGUI>().text = "This is a test text!";
            GameObject textObject1 = UnityEngine.Object.Instantiate(gameManager.Schedule_text, gameManager.contentLayout.transform);
            textObject1.GetComponent <TextMeshProUGUI>().text = "This is a test text!" + "\nHere's another line!";
        }
        break;

        case Schedule.ScheduleCategory.MATCHUP:
        {
            //Data structure for team object.
            Schedule_MatchUp scheduleMatchUp = (Schedule_MatchUp)schedule;

            //Get team.
            Team home = scheduleMatchUp.game.home;
            Team away = scheduleMatchUp.game.away;

            //Sets basic information.
            GameObject textObject0 = UnityEngine.Object.Instantiate(gameManager.Schedule_text, gameManager.contentLayout.transform);
            textObject0.GetComponent <TextMeshProUGUI>().text = "You have a match with " + scheduleMatchUp.enemy.teamData.GetData(TeamData.TP.NAME) + ".";
            GameObject matchupPanel = UnityEngine.Object.Instantiate(gameManager.matchUpPanel, gameManager.contentLayout.transform);
            TeamObject teamPanel0   = new TeamObject(matchupPanel.transform.GetChild(0).gameObject);
            teamPanel0.nameText.text    = home.teamData.GetData(TeamData.TP.NAME);
            teamPanel0.winLossText.text = home.teamStats.GetData(TeamStatistics.TS.WIN) + "W " + home.teamStats.GetData(TeamStatistics.TS.LOSS) + "L";
            TeamObject teamPanel1 = new TeamObject(matchupPanel.transform.GetChild(1).gameObject);
            teamPanel1.nameText.text    = away.teamData.GetData(TeamData.TP.NAME);
            teamPanel1.winLossText.text = away.teamStats.GetData(TeamStatistics.TS.WIN) + "W " + away.teamStats.GetData(TeamStatistics.TS.LOSS) + "L";

            //Sets color to point out which side is our team.
            if (Values.myTeam == scheduleMatchUp.game.home)
            {
                teamPanel0.homeAwayText.color = Colors.yellow;
            }
            else if (Values.myTeam == scheduleMatchUp.game.away)
            {
                teamPanel1.homeAwayText.color = Colors.yellow;
            }

            //Sets recentMatchPanel.
            for (int i = 0; i < teamPanel0.recentMatchesContent.transform.childCount; ++i)
            {
                UnityEngine.Object.Destroy(teamPanel0.recentMatchesContent.transform.GetChild(i).gameObject);
            }
            for (int i = 0; i < teamPanel1.recentMatchesContent.transform.childCount; ++i)
            {
                UnityEngine.Object.Destroy(teamPanel1.recentMatchesContent.transform.GetChild(i).gameObject);
            }

            List <Game> recentGames0 = Values.league.RecentMatches(3, home, Values.date);
            List <Game> recentGames1 = Values.league.RecentMatches(3, away, Values.date);

            for (int i = 0; i < recentGames0.Count; ++i)
            {
                GameObject        recentMatchObject = UnityEngine.Object.Instantiate(gameManager.recentMatchPanel, teamPanel0.recentMatchesContent.transform);
                RecentMatchObject matchObject       = new RecentMatchObject(recentMatchObject);
                matchObject.SetByGame(recentGames0[i], home);
            }
            for (int i = 0; i < recentGames1.Count; ++i)
            {
                GameObject        recentMatchObject = UnityEngine.Object.Instantiate(gameManager.recentMatchPanel, teamPanel1.recentMatchesContent.transform);
                RecentMatchObject matchObject       = new RecentMatchObject(recentMatchObject);
                matchObject.SetByGame(recentGames1[i], away);
            }

            //If there's no recent matches, notice that.
            if (recentGames0.Count == 0)
            {
                RecentMatchObject obj = new RecentMatchObject(UnityEngine.Object.Instantiate(gameManager.recentMatchPanel, teamPanel0.recentMatchesContent.transform));
                obj.SetNoGame();
            }
            if (recentGames1.Count == 0)
            {
                RecentMatchObject obj = new RecentMatchObject(UnityEngine.Object.Instantiate(gameManager.recentMatchPanel, teamPanel1.recentMatchesContent.transform));
                obj.SetNoGame();
            }


            //Sets keyPlayer.
            Player keyPlayer0 = home.GetKeyPlayer();
            Player keyPlayer1 = away.GetKeyPlayer();

            teamPanel0.keyPlayerObject.SetByPlayer(keyPlayer0);
            teamPanel1.keyPlayerObject.SetByPlayer(keyPlayer1);
        }
        break;

        default:
        {
            GameObject textObject0 = UnityEngine.Object.Instantiate(gameManager.Schedule_text, gameManager.contentLayout.transform);
            textObject0.GetComponent <TextMeshProUGUI>().text = "There is nothing to show.";
        }
        break;
        }
    }
Esempio n. 21
0
        protected override void ObjectLiving()
        {
            base.ObjectLiving();
            if (agent == null)
            {
                return;
            }
            dist = agent.remainingDistance;
            Movement();
            DetectUnits();

            if (attackObject != null)
            {
                sqrDst = (transform.position - attackObject.transform.position).sqrMagnitude;
            }

            AgressiveRangeCheck();

            /*if (meleCloseElements.Count != 0)
             *  Attack(meleCloseElements[0].gameObject);
             * else if (rangeCloseElements.Count != 0)
             *  Attack(rangeCloseElements[0].gameObject);*/
            if (elementsInAgroRange.Count > 0 && (attackObject == null || (attackObject != null && agent.remainingDistance > VisionRange && sqrDst > powVisionRange)))
            {
                if (elementsInAgroRange[0].gameObject)
                {
                    Attack(elementsInAgroRange[0].gameObject);
                }
            }
            else
            {
                if (!attackObject)
                {
                    if (team > 0)
                    {
                        Follow(castle);
                    }
                    else
                    {
                        if (camp)
                        {
                            Attack(camp);
                            sqrDst = (transform.position - attackObject.transform.position).sqrMagnitude;
                        }
                    }
                }
            }

            if (animator != null && attackObject != null)
            {
                if (attackObject is Ninja && (attackObject as Ninja).Stealthed)
                {
                    attackObject     = null;
                    attackGameObject = null;
                }

                if (rangedDamage > meleeDamage && sqrDst > powMelee && agent.remainingDistance > meleeRange)
                {
                    if (sqrDst <= powRanged && agent.remainingDistance <= rangedRange)
                    {
                        if (rangeCloseElements.Count > 0)
                        {
                            //Debug.Log("First true");
                            animator.SetBool("Attack", true);
                            canAttack = true;
                        }
                        else
                        {
                            animator.SetBool("Attack", false);
                            canAttack = false;
                        }
                    }
                    else
                    {
                        animator.SetBool("Attack", false);
                        canAttack = false;
                    }
                }
                else
                {
                    if (sqrDst <= powMelee && agent.remainingDistance <= meleeRange)
                    {
                        //Debug.Log("Second true");
                        animator.SetBool("Attack", true);
                        canAttack = true;
                    }
                    else
                    {
                        animator.SetBool("Attack", false);
                        canAttack = false;
                    }
                }
            }
        }
Esempio n. 22
0
 public void setTeam(TeamObject inTeam)
 {
     _team = inTeam;
 }