Exemplo n.º 1
0
        public Team CreateTeam(List <Detective> detectives, iActivityPlace start)
        {
            Agency     agency     = Agency.GetInstantiate();
            GameObject teamFolder = agency.teamFolder;

            if (teamFolder == null && agency.transform.Find("Teams"))
            {
                teamFolder        = agency.transform.Find("Teams").gameObject;
                agency.teamFolder = teamFolder;
            }
            if (teamFolder == null)
            {
                teamFolder = new GameObject("Teams");
                teamFolder.transform.parent = agency.transform;
                agency.teamFolder           = teamFolder;
            }
            GameObject goTeam = new GameObject(string.Format("Team_{0}", detectives[0].characterName));

            goTeam.transform.parent = teamFolder.transform;
            Team team = goTeam.AddComponent <Team>();

            team.detectives = detectives;
            team.startPlace = start;
            team.CreateLineRenderer();
            agency.teams.Add(team);
            return(team);
        }
Exemplo n.º 2
0
 public void GoTo(iActivityPlace target, WayType wayType, bool colorWay)
 {
     curTarget = target;
     ResetWayColor();
     curWay  = MapManager.GetInstantiate().pathfinder.GetWay(wayType, startPlace.GetPoint(), target.GetPoint(), transform);
     showWay = colorWay;
     ChangeActivity(DetectiveActivity.IN_WAY, curWay.pointsAndPaths[0]);
 }
Exemplo n.º 3
0
        public void GoToAction(iActivityPlace target, float relativeTime)
        {
            Timeline   timeline = Timeline.GetInstantiate();
            GameObject goAction = new GameObject(string.Format("TimelineAction_TeamGoTo"));

            goAction.transform.parent = timeline.transform;
            TimelineAction action = goAction.AddComponent <TimelineAction>();

            action.actionType    = TimelineActionType.TEAM_GO_TO;
            action.team          = this;
            action.activityPlace = target;
            action.timer         = timeline.GetTime() + relativeTime; //выплата через неделю.
            timeline.RegistrateAction(action);
        }
Exemplo n.º 4
0
        public void TeamOnTarget(List <Detective> detectives, iActivityPlace target, List <QuestTask> questTasks = null, iActivityPlace start = null)
        {
            Agency agency = Agency.GetInstantiate();

            if (start == null)
            {
                start = agency.GetOffice();
            }
            Team team = CreateTeam(detectives, start);

            if (target is QuestEvent)
            {
                team.targetTasks = questTasks;
            }
            team.GoTo(target, WayType.MAINSTREET, true);
        }
Exemplo n.º 5
0
 public void ChangeActivity(DetectiveActivity newActivity, iActivityPlace newPlace)
 {
     if (activity != newActivity)
     {
         if (activity == DetectiveActivity.IN_WAY)
         {
             lineRenderer.positionCount = 0;
             timeInWay = 0;
         }
         else if (activity == DetectiveActivity.IN_EVENT)
         {
             ((QuestEvent)startPlace).RemoveTeam(this);
         }
         activity = newActivity;
         foreach (Detective detective in detectives)
         {
             detective.ChangeActivity(newActivity, newPlace);
         }
         if (activity == DetectiveActivity.IN_WAY)
         {
             timeInWay = 0;
         }
         else if (activity == DetectiveActivity.IN_EVENT)
         {
             startPlace = newPlace;
             ((QuestEvent)newPlace).AddTeam(this);
             StartTask();
         }
         else if (activity == DetectiveActivity.IN_OFFICE)
         {
             destroy = true;
         }
         else if (activity == DetectiveActivity.IN_HOME)
         {
             startPlace = detectives[0].home;
             GoToAction(Agency.GetInstantiate().GetOffice(), 10);
         }
         InterfaceManager.GetInstantiate().detectiveRow.ResetRow();
     }
     else if (detectives[0].activityPlace != newPlace)
     {
         foreach (Detective detective in detectives)
         {
             detective.activityPlace = newPlace;
         }
     }
 }
Exemplo n.º 6
0
 public void ChangeActivity(DetectiveActivity newActivity, iActivityPlace newPlace)
 {
     if (activity != newActivity)
     {
         Office office = Agency.GetInstantiate().GetOffice();
         if (activity == DetectiveActivity.IN_OFFICE)
         {
             office.detectivesInOffice.Remove(this);
         }
         else if (activity == DetectiveActivity.IN_HOME)
         {
             home.characterInHome = false;
             checkGoHome          = false;
         }
         else if (activity == DetectiveActivity.IN_WAY)
         {
         }
         activity = newActivity;
         if (activity == DetectiveActivity.IN_OFFICE)
         {
             office.detectivesInOffice.Add(this);
             activityPlace = office;
         }
         else if (activity == DetectiveActivity.IN_HOME)
         {
             home.characterInHome = true;
             activityPlace        = home;
         }
         else if (activity == DetectiveActivity.IN_WAY)
         {
             activityPlace = newPlace;
         }
         else if (activity == DetectiveActivity.IN_EVENT)
         {
             activityPlace = newPlace;
         }
     }
 }