Beispiel #1
0
 // Use to process your families.
 protected override void onProcess(int familiesUpdateCount)
 {
     if (Input.GetMouseButtonDown(0))
     {
         // Only one GO could be under pointer
         GameObject boiler_go = boilers.First();
         if (boiler_go != null)
         {
             // Check if the hero is near to the boiler (only hero can produce this component thanks to Unity Physics layers)
             Triggered3D triggered = boiler_go.GetComponent <Triggered3D> ();
             if (triggered != null)
             {
                 ComponentMonitoring cm = boiler_go.GetComponent <ComponentMonitoring> ();
                 Boiler boiler          = boiler_go.GetComponent <Boiler> ();
                 if (boiler.isOn)
                 {
                     MonitoringManager.trace(cm, "turnOff", MonitoringManager.Source.PLAYER);
                 }
                 else
                 {
                     MonitoringManager.trace(cm, "turnOn", MonitoringManager.Source.PLAYER);
                 }
                 // Check if boiler is on OR boiler is not constrained OR the constraint is ok
                 if (boiler.isOn || boiler.constraint == null || boiler.constraint.activeInHierarchy)
                 {
                     Animator anim = boiler_go.GetComponent <Animator> ();
                     boiler.isOn = !boiler.isOn;
                     anim.SetBool("isOn", boiler.isOn);
                 }
             }
         }
     }
 }
Beispiel #2
0
 // Use to process your families.
 protected override void onProcess(int familiesUpdateCount)
 {
     if (Input.GetMouseButtonDown(0) && exit_GO.GetComponent <PointerOver>() != null)
     {
         ComponentMonitoring monitor = exit_GO.GetComponent <ComponentMonitoring> ();
         // Check if hero is near to exit (only hero can produce this component thanks to Unity Physics layers)
         Triggered3D triggered = exit_GO.GetComponent <Triggered3D> ();
         if (triggered != null)
         {
             MonitoringManager.trace(monitor, "perform", MonitoringManager.Source.PLAYER);
             GameObjectManager.setGameObjectState(endScreen_GO, true);
             foreach (FSystem sys in FSystemManager.fixedUpdateSystems())
             {
                 sys.Pause = true;
             }
             foreach (FSystem sys in FSystemManager.lateUpdateSystems())
             {
                 sys.Pause = true;
             }
             foreach (FSystem sys in FSystemManager.updateSystems())
             {
                 sys.Pause = true;
             }
         }
     }
 }
Beispiel #3
0
    private void onEnterRoom(GameObject go)
    {
        ComponentMonitoring monitor = go.GetComponent <ComponentMonitoring> ();

        MonitoringManager.trace(monitor, "turnOn", MonitoringManager.Source.PLAYER);
        id2GO.Add(go.GetInstanceID(), go);
    }
Beispiel #4
0
 // Use to process your families.
 protected override void onProcess(int familiesUpdateCount)
 {
     if (Input.GetMouseButtonDown(0))
     {
         // Only one GO is under pointer
         GameObject door_GO = doors.First();
         if (door_GO != null)
         {
             // Check if hero is near to the door (only hero can produce this component thanks to Unity Physics layers)
             Triggered3D triggered = door_GO.GetComponent <Triggered3D> ();
             if (triggered != null)
             {
                 Door door = door_GO.GetComponent <Door> ();
                 ComponentMonitoring monitor = door_GO.GetComponent <ComponentMonitoring> ();
                 if (door.isOpen)
                 {
                     MonitoringManager.trace(monitor, "turnOff", MonitoringManager.Source.PLAYER);
                 }
                 else
                 {
                     MonitoringManager.trace(monitor, "turnOn", MonitoringManager.Source.PLAYER);
                 }
                 // Check if the door is constrained
                 if (door.constraint == null || door.constraint.activeInHierarchy)
                 {
                     Animator anim = door_GO.GetComponentInParent <Animator> ();
                     door.isOpen = !door.isOpen;
                     anim.SetBool("isOpen", door.isOpen);
                 }
             }
         }
     }
 }
Beispiel #5
0
    private void onExitRoom(GameObject go)
    {
        ComponentMonitoring monitor = go.GetComponent <ComponentMonitoring> ();

        // We check this game object still contains a ComponentMonitoring
        if (monitor != null)
        {
            MonitoringManager.trace(monitor, "turnOff", MonitoringManager.Source.PLAYER);
        }
    }
Beispiel #6
0
    private void onExitRoom(int goId)
    {
        GameObject go;

        if (id2GO.TryGetValue(goId, out go))
        {
            ComponentMonitoring monitor = go.GetComponent <ComponentMonitoring> ();
            // We check this game object still contains a ComponentMonitoring
            if (monitor != null)
            {
                MonitoringManager.trace(monitor, "turnOff", MonitoringManager.Source.PLAYER);
            }
            id2GO.Remove(goId);
        }
    }
Beispiel #7
0
 public TemperatureManager()
 {
     if (Application.isPlaying)
     {
         temp_GO = temperature.First();
         if (temp_GO != null)
         {
             temp = temp_GO.GetComponent <Temperature> ();
         }
         else
         {
             Debug.Log("TemperatureManager: Warning!!! no temperature in this scene on start.");
         }
         boiler_GO = boilers.First();
         if (boiler_GO != null)
         {
             boiler = boiler_GO.GetComponent <Boiler> ();
         }
         else
         {
             Debug.Log("TemperatureManager: Warning!!! no boiler in this scene on start.");
         }
         iceCollider_GO = iceCollider.First();
         if (iceCollider_GO == null)
         {
             Debug.Log("TemperatureManager: Warning!!! no iceCollider in this scene on start.");
         }
         iceMonitor_GO = iceMonitor_F.First();
         if (iceMonitor_GO != null)
         {
             iceMonitor = iceMonitor_GO.GetComponent <ComponentMonitoring> ();
         }
         else
         {
             Debug.Log("TemperatureManager: Warning!!! no iceMonitor in this scene on start.");
         }
         puddle_GO = puddle.First();
         if (puddle_GO == null)
         {
             Debug.Log("TemperatureManager: Warning!!! no puddle in this scene on start.");
         }
     }
 }
Beispiel #8
0
    // Use to process your families.
    protected override void onProcess(int familiesUpdateCount)
    {
        if (Input.GetMouseButtonDown(0))
        {
            // Only one GO could be under the pointer

            // Check if player clics on a GameObject near to the hero
            GameObject go = inGameObjects.First();
            if (go != null)
            {
                Takable             item = go.GetComponent <Takable> ();
                ComponentMonitoring cm   = go.GetComponent <ComponentMonitoring> ();
                // move item to inventory
                GameObjectManager.setGameObjectState(item.linkedWith, true);
                GameObjectManager.setGameObjectState(go, false);
                // trace this action
                MonitoringManager.trace(cm, "perform", MonitoringManager.Source.PLAYER);
            }
        }
    }
Beispiel #9
0
 // Use to process your families.
 protected override void onProcess(int familiesUpdateCount)
 {
     if (Input.GetMouseButtonDown(0))
     {
         // Only one GO is under pointer
         GameObject focused_GO = inInventoryObjectsFocused.First();
         if (focused_GO != null)
         {
             bool alreadySelected = false;
             // Reset selected items, only one selection is possible
             GameObject item = itemSelected.First();
             if (item != null)
             {
                 GameObjectManager.removeComponent <CurrentSelection> (item);
                 // Get item monitor
                 ComponentMonitoring cmItem = item.GetComponent <ComponentMonitoring>();
                 if (item.GetInstanceID() == focused_GO.GetInstanceID())
                 {
                     alreadySelected = true;
                     // already selected => player deselect the item
                     MonitoringManager.trace(cmItem, "turnOff", MonitoringManager.Source.PLAYER);
                 }
                 else
                 {
                     // player select another item  => System action to storeback current item
                     MonitoringManager.trace(cmItem, "turnOff", MonitoringManager.Source.SYSTEM);
                 }
             }
             if (!alreadySelected)
             {
                 // Select current go
                 GameObjectManager.addComponent <CurrentSelection> (focused_GO);
                 // Get its monitor
                 ComponentMonitoring cm = focused_GO.GetComponent <ComponentMonitoring>();
                 // player select a new item
                 MonitoringManager.trace(cm, "turnOn", MonitoringManager.Source.PLAYER);
             }
         }
     }
 }