Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        if (m_AI == null)
        {
            m_AI   = Target.GetComponent <AITaskManager>();
            m_Task = Target.GetComponent <AITaskManager>();
        }

        string disp = "";

        if (m_AI.m_currentGoal == null || m_Task.m_currentTask == null)
        {
            return;
        }

        disp += "G: " + m_AI.m_currentGoal.name + " \nE: " + m_Task.debugLastEvent + "\n";
        disp += "TR: " + m_Task.debugLastTransition + " \ntsk: " + m_Task.m_currentTask.name + "\n";
        disp += m_Task.m_currentTask.debugExtraInfo();
        //disp += "EX: " + m_AI.m_currentGoal.outputDebugString();

        if (m_lastDisplayedString != disp)
        {
            DispText.text         = disp;
            m_lastDisplayedString = disp;
        }
    }
Ejemplo n.º 2
0
Archivo: Zone.cs Proyecto: sdasd30/TSSG
 public void OnRemoveChar(AITaskManager aic)
 {
     if (OverlapCharacters.Contains(aic))
     {
         aic.OnExitZone(this);
         OverlapCharacters.Remove(aic);
     }
 }
Ejemplo n.º 3
0
Archivo: Zone.cs Proyecto: sdasd30/TSSG
 public void OnAddChar(AITaskManager aic)
 {
     if (!OverlapCharacters.Contains(aic))
     {
         aic.OnEnterZone(this);
         OverlapCharacters.Add(aic);
     }
 }
Ejemplo n.º 4
0
 public static bool IsHaveObject(AITaskManager aic, string zone)
 {
     if (m_instance.m_registeredZones.ContainsKey(zone))
     {
         return(m_instance.m_registeredZones[zone].IsHaveObject(aic));
     }
     return(false);
 }
Ejemplo n.º 5
0
 void Awake()
 {
     m_taskManager = GetComponent <AITaskManager>();
     ReloadGoals();
     if (GetComponent <PersistentItem>() != null)
     {
         GetComponent <PersistentItem>().InitializeSaveLoadFuncs(storeData, loadData);
     }
 }
Ejemplo n.º 6
0
        public void Update()
        {
            if (_pause || _gameover)
            {
                return;
            }

            if (_pendingStart)
            {
                TechList.Clear();
                GeneralList.Clear();
                ListeningDevList.Clear();
                TechList.AddRange(GameObject.FindGameObjectsWithTag("Player"));
                GeneralList.AddRange(GameObject.FindGameObjectsWithTag("General"));
                ListeningDevList.AddRange(GameObject.FindGameObjectsWithTag("ListeningDevice"));
                CurrentObjective = GameObject.FindObjectOfType <Objective>();
                ActiveTech       = TechList[0];
                SoundManager.Instance().Camera      = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <Camera>();
                SoundManager.Instance().MusicSource = SoundManager.Instance().Camera.gameObject.AddComponent <AudioSource>();
                _fundingText = GameObject.FindGameObjectsWithTag("FundingText")[0].GetComponent <Text>();
                AITaskManager.GeneralsAwaitingConversation.Clear();
                _pendingStart = false;
            }

            if (ActiveTech == null && TechList.Count > 0)
            {
                ActiveTech = TechList[0];
            }

            InputManager.Instance().Update();
            AITaskManager.Instance().Update(GeneralList);
            CurrentObjective.pevent = Objective.Event;
            CurrentObjective.pplace = Objective.Place;
            CurrentObjective.ptime  = Objective.Time;

            if (_dailyManager.TransitioningDay == false && Timer.Instance().GetRemainingTime() <= 0)
            {
                _dailyManager.EndDay();
                //CallGameover();
                displayGameover();
            }

            if (Input.GetKeyUp(KeyCode.Tab) && _usingDesk == false)
            {
                CycleTech();
            }

            if (FundingAmount < 0)
            {
                FundingAmount = 0;
            }
        }
Ejemplo n.º 7
0
        private void SatisfyRest(NeedStatus need)
        {
            // Chance to sleep increases as rest gets low
            float chanceToSleep = (float)_randomGenerator.NextDouble();

            if (chanceToSleep > need.Status)
            {
                AITaskManager.GoToBed(this.gameObject, need);
                need.SetPendingRelief();
            }
            else
            {
                AITaskManager.SitDown(this.gameObject, need);
                need.SetPendingRelief();
            }
        }
Ejemplo n.º 8
0
 private void SatisfyEntertainment(NeedStatus need)
 {
     AITaskManager.LookAtArt(this.gameObject, need);
     need.SetPendingRelief();
 }
Ejemplo n.º 9
0
 private void SatisfySocial(NeedStatus need)
 {
     AITaskManager.LookForConversation(this.gameObject, need);
     need.SetPendingRelief();
 }
Ejemplo n.º 10
0
 private void SatisfyBladder(NeedStatus need)
 {
     AITaskManager.GoToToilet(this.gameObject, need);
     need.SetPendingRelief();
 }
Ejemplo n.º 11
0
Archivo: Zone.cs Proyecto: sdasd30/TSSG
 public bool IsHaveObject(AITaskManager aic)
 {
     return(OverlapCharacters.Contains(aic));
 }
Ejemplo n.º 12
0
 private void AwakeSingletonManagers()
 {
     SoundManager.Instance();
     InputManager.Instance();
     AITaskManager.Instance();
 }
Ejemplo n.º 13
0
Archivo: Goal.cs Proyecto: sdasd30/TSSG
 public void SetMasterAI(AITaskManager master)
 {
     m_masterAI = master;
 }