상속: MonoBehaviour
예제 #1
0
 public static CraftZoneManager get() {
   if(_instance == null) {
     Logger.Log("CraftZoneManager::get was badly initialized", Logger.Level.WARN);
     _instance = GameObject.Find(gameObjectName).GetComponent<CraftZoneManager>();
   }
   return _instance;
 }
예제 #2
0
    public static AvailableDisplayedBioBrick Create(
        Transform parentTransform,
        Vector3 localPosition,
        string spriteName,
        BioBrick biobrick
        )
    {
        string nullSpriteName = (spriteName != null)?"":"(null)";
        Object prefab         = Resources.Load(_prefabURIAvailable);

        if (craftZoneManager == null)
        {
            craftZoneManager = CraftZoneManager.get();
        }

        Logger.Log("DisplayedBioBrick::Create(parentTransform=" + parentTransform
                   + ", localPosition=" + localPosition
                   + ", spriteName=" + spriteName + nullSpriteName
                   + ", biobrick=" + biobrick
                   , Logger.Level.DEBUG
                   );

        AvailableDisplayedBioBrick result = (AvailableDisplayedBioBrick)DisplayedBioBrick.Create(
            parentTransform
            , localPosition
            , spriteName
            , biobrick
            , prefab
            );

        return(result);
    }
  public static AvailableDisplayedBioBrick Create(
   Transform parentTransform,
   Vector3 localPosition,
   string spriteName,
   BioBrick biobrick
   )
  {
    string nullSpriteName = (spriteName!=null)?"":"(null)";
    Object prefab = Resources.Load(_prefabURIAvailable);
    if(craftZoneManager == null) {
      craftZoneManager = CraftZoneManager.get();
    }

    Logger.Log("DisplayedBioBrick::Create(parentTransform="+parentTransform
      + ", localPosition="+localPosition
      + ", spriteName="+spriteName+nullSpriteName
      + ", biobrick="+biobrick
      , Logger.Level.DEBUG
      );

    AvailableDisplayedBioBrick result = (AvailableDisplayedBioBrick)DisplayedBioBrick.Create(
      parentTransform
      ,localPosition
      ,spriteName
      ,biobrick
      ,prefab
      );

    return result;
 }
예제 #4
0
 private void OnPress(bool isPressed)
 {
     if (isPressed && CraftZoneManager.isOpenable())
     {
         Logger.Log("ToCraftButton::OnPress()", Logger.Level.INFO);
         GUITransitioner.get().GoToScreen(GUITransitioner.GameScreen.screen3);
     }
 }
예제 #5
0
 public static CraftZoneManager get()
 {
     if (_instance == null)
     {
         Logger.Log("CraftZoneManager::get was badly initialized", Logger.Level.WARN);
         _instance = GameObject.Find(gameObjectName).GetComponent <CraftZoneManager>();
     }
     return(_instance);
 }
 protected override void OnPress(bool isPressed) {
   if(isPressed) {
     Logger.Log("AvailableDisplayedBioBrick::OnPress _id="+_id, Logger.Level.INFO);
     if(craftZoneManager == null) {
       craftZoneManager = CraftZoneManager.get();
     }
     craftZoneManager.replaceWithBioBrick(_biobrick);
   }
 }
예제 #7
0
 protected override void OnPress(bool isPressed)
 {
     Logger.Log("ListedDevice::OnPress(" + isPressed + ")", Logger.Level.INFO);
     setPressed(isPressed);
     if (isPressed)
     {
         //ask craft zone to display biobricks associated to this device
         CraftZoneManager.get().setDevice(_device);
     }
 }
예제 #8
0
 protected override void OnPress(bool isPressed)
 {
     if (isPressed)
     {
         Logger.Log("AvailableDisplayedBioBrick::OnPress _id=" + _id, Logger.Level.INFO);
         if (craftZoneManager == null)
         {
             craftZoneManager = CraftZoneManager.get();
         }
         craftZoneManager.replaceWithBioBrick(_biobrick);
     }
 }
예제 #9
0
 void Start()
 {
   _craftZoneManager = CraftZoneManager.get();
 }
예제 #10
0
    // Update is called once per frame
    void Update()
    {
        if (isShortcutKeyDown(KeyCode.X))
        {
            Logger.Log("pressed shortcut to teleport Cellia to the pursuit", Logger.Level.INFO);
            CellControl.get().teleport(new Vector3(500, 0, 637));
        }
        else if (isShortcutKeyDown(KeyCode.V))
        {
            Logger.Log("pressed shortcut to teleport Cellia to the GFP BioBrick", Logger.Level.INFO);
            CellControl.get().teleport(new Vector3(168, 0, 724));
        }
        else if (isShortcutKeyDown(KeyCode.W))
        {
            Logger.Log("pressed shortcut to teleport Cellia to the end of the game", Logger.Level.INFO);
            CellControl.get().teleport(new Vector3(-150, 0, 1110));
        }

        switch (_gameState)
        {
        case GameState.Start:

            endWindow.SetActive(false);
            mainMenu.setNewGame();
            if (GameConfiguration.RestartBehavior.GAME == MemoryManager.get().configuration.restartBehavior)
            {
                leaveMainMenu();
            }
            else
            {
                goToMainMenuFrom(GameState.Game);
            }
            break;

        case GameState.MainMenu:
            if (Input.GetKeyUp(KeyCode.UpArrow))
            {
                mainMenu.selectPrevious();
            }
            else if (Input.GetKeyUp(KeyCode.DownArrow))
            {
                mainMenu.selectNext();
            }
            else if (Input.GetKeyUp(KeyCode.Return) || Input.GetKeyUp(KeyCode.KeypadEnter))
            {
                mainMenu.getCurrentItem().click();
            }
            else if (Input.GetKeyDown(KeyCode.Escape))
            {
                mainMenu.escape();
            }
            break;

        case GameState.Game:

            prepareGameLevelIfNecessary();

            //pause
            if (isShortcutKeyDown(_pauseKey))
            {
                Logger.Log("GameStateController::Update - Escape/Pause key pressed", Logger.Level.DEBUG);
                ModalManager.setModal(pauseIndicator, false);
                changeState(GameState.Pause);
            }
            //main menu
            else if (Input.GetKeyDown(KeyCode.Escape))
            {
                goToMainMenuFrom(GameState.Game);
            }
            //inventory
            //TODO add DNA damage accumulation management when player equips/unequips too often
            else if (isShortcutKeyDown(_inventoryKey) && Inventory.isOpenable())
            {
                Logger.Log("GameStateController::Update inventory key pressed", Logger.Level.INFO);
                gUITransitioner.GoToScreen(GUITransitioner.GameScreen.screen2);
            }
            //crafting
            else if (isShortcutKeyDown(_craftingKey) && CraftZoneManager.isOpenable())
            {
                Logger.Log("GameStateController::Update craft key pressed", Logger.Level.INFO);
                gUITransitioner.GoToScreen(GUITransitioner.GameScreen.screen3);
            }

            /*
             * else if(isShortcutKeyDown(_sandboxKey))
             * {
             *  Logger.Log("GameStateController::Update sandbox key pressed from scene="+MemoryManager.get ().configuration.getSceneName(), Logger.Level.INFO);
             *  goToOtherGameMode();
             * }*/
            //TODO fix this feature

            /*
             * else if(isShortcutKeyDown(_forgetDevicesKey))
             * {
             *  Inventory.get ().switchDeviceKnowledge();
             * }*/
            break;

        case GameState.Pause:
            if (Input.GetKeyDown(KeyCode.Escape))
            {
                goToMainMenuFrom(GameState.Pause);
            }
            else
            {
                GameStateTarget newState = ModalManager.manageKeyPresses();
                if (GameStateTarget.NoAction != newState)
                {
                    if (
                        GameStateTarget.NoTarget != newState &&
                        GameStateTarget.Pause != newState
                        )
                    {
                        changeState(getStateFromTarget(newState));
                    }
                }
                else
                {
                    switch (gUITransitioner._currentScreen)
                    {
                    case GUITransitioner.GameScreen.screen1:
                        break;

                    case GUITransitioner.GameScreen.screen2:
                        if (isShortcutKeyDown(_inventoryKey) || Input.GetKeyDown(KeyCode.Escape) || Input.GetKeyDown(KeyCode.Return))
                        {
                            Logger.Log("GameStateController::Update out of inventory key pressed", Logger.Level.INFO);
                            gUITransitioner.GoToScreen(GUITransitioner.GameScreen.screen1);
                        }
                        else if (isShortcutKeyDown(_craftingKey) && CraftZoneManager.isOpenable())
                        {
                            Logger.Log("GameStateController::Update inventory to craft key pressed", Logger.Level.INFO);
                            gUITransitioner.GoToScreen(GUITransitioner.GameScreen.screen3);
                        }
                        break;

                    case GUITransitioner.GameScreen.screen3:
                        if (isShortcutKeyDown(_inventoryKey) && Inventory.isOpenable())
                        {
                            Logger.Log("GameStateController::Update craft to inventory key pressed", Logger.Level.INFO);
                            gUITransitioner.GoToScreen(GUITransitioner.GameScreen.screen2);
                        }
                        else if (isShortcutKeyDown(_craftingKey) || Input.GetKeyDown(KeyCode.Return) || Input.GetKeyUp(KeyCode.KeypadEnter))
                        {
                            Logger.Log("GameStateController::Update out of craft key pressed", Logger.Level.INFO);
                            gUITransitioner.GoToScreen(GUITransitioner.GameScreen.screen1);
                        }
                        break;

                    default:
                        Logger.Log("GameStateController::Update unknown screen " + gUITransitioner._currentScreen, Logger.Level.WARN);
                        break;
                    }
                }
            }
            break;

        case GameState.End:
            if (Input.GetKeyDown(KeyCode.Escape))
            {
                goToMainMenuFrom(GameState.End);
            }
            break;

        default:
            break;
        }
    }
예제 #11
0
 void OnEnable()
 {
     CraftZoneManager.get().setDevice(null);
 }
예제 #12
0
 void Start()
 {
     _craftZoneManager = CraftZoneManager.get();
 }
 protected override void OnPress(bool isPressed)
 {
     Logger.Log("CraftZoneDisplayedBioBrick::OnPress _id=" + _id + ", isPressed=" + isPressed, Logger.Level.INFO);
     CraftZoneManager.get().removeBioBrick(_biobrick);
     TooltipManager.displayTooltip();
 }
예제 #14
0
 void Awake()
 {
     Logger.Log("CraftZoneManager::Awake", Logger.Level.DEBUG);
     _instance = this;
 }
예제 #15
0
    //public Camera _uicamera;


    // Use this for initialization
    void Awake()
    {
        //shortcut
        CraftZoneManager    craftZoneManager    = CraftZoneManager.get();
        GameStateController gameStateController = GameStateController.get();
        //CraftFinalizer _craftfinalizer = craftFinalizer;
        GUITransitioner           guiTransitioner           = GUITransitioner.get();
        DevicesDisplayer          devicesDisplayer          = DevicesDisplayer.get();
        InfoWindowManager         infoWindowManager         = InfoWindowManager.get();
        AvailableBioBricksManager availableBioBricksManager = AvailableBioBricksManager.get();
        TooltipManager            tooltipManager            = TooltipManager.get();
        ModalManager modalManager        = ModalManager.get();
        GameObject   mediumInfoPanelCell = GameObject.Find("MediumInfoPanelCell");

        //GUITransitioner
        guiTransitioner.celliaGraph = mediumInfoPanelCell.transform.Find("CellMediumInfoBackgroundSprite").gameObject
                                      .GetComponent <VectrosityPanel>();
        guiTransitioner.roomGraph = GameObject.Find("MediumInfoPanelRoom").transform.Find("RoomMediumInfoBackgroundSprite").gameObject
                                    .GetComponent <VectrosityPanel>();
        guiTransitioner.animator    = GameObject.Find("WorldEquipButton").GetComponent <InventoryAnimator>();
        guiTransitioner.worldScreen = GameObject.Find("WorldScreensPanel");
        guiTransitioner.craftScreen = craftScreenPanel;

        ContinueButton  cb  = okButton1.GetComponent <ContinueButton>();
        StartGameButton sgb = okButton2.GetComponent <StartGameButton>();

        //GameStateController
        gameStateController.intro = introduction1;
        gameStateController.introContinueButton = cb;
        gameStateController.fadeSprite          = fade;
        gameStateController.endWindow           = end;
        EndMainMenuButton emmb = endMainMenuButton.GetComponent <EndMainMenuButton>();

        gameStateController.endMainMenuButton = emmb;
        gameStateController.mainMenu          = mainMenu;

        //TODO should be done in gameStateController instead
        tutorialPanels.SetActive(true);
        introduction1.SetActive(false);
        introduction2.SetActive(false);
        end.SetActive(false);
        pauseIndicator.SetActive(false);
        genericModalWindow.SetActive(false);

        craftScreenPanel.SetActive(false);

        mainMenu.open();

        gameStateController.pauseIndicator = pauseIndicator;

        //initialization of intro panels
        cb.nextInfoPanel         = introduction2;
        cb.nextInfoPanelContinue = sgb;

        //CraftFinalizer
        craftFinalizer.ToCraftZoneManager = craftZoneManager;

        //CraftZoneManager
        craftZoneManager.GetComponent <CraftZoneManager>().craftFinalizer = craftFinalizer;

        //CraftFinalizer _craftFinalizer2 = CraftZoneManager.get().GetComponent<CraftZoneManager>().craftFinalizer;
        if (null == craftFinalizer.craftFinalizationButton)
        {
            craftFinalizer.craftFinalizationButton = GameObject.Find("CraftButton").GetComponent <CraftFinalizationButton>();
        }

        craftZoneManager.displayedBioBrick      = craftZoneDisplayedBioBrickPrefab;
        craftZoneManager.lastHoveredInfoManager = lastHoveredInfo.GetComponent <LastHoveredInfoManager>();
        craftZoneManager.assemblyZonePanel      = craftScreenPanel.transform.FindChild("TopPanel").transform.FindChild("AssemblyZonePanel").gameObject;


        //DevicesDisplayer

        devicesDisplayer.equipPanel           = equipedDevicesSlotsPanel;
        devicesDisplayer.inventoryPanel       = inventoryDevicesSlotsPanel;
        devicesDisplayer.listedInventoryPanel = craftScreenPanel.transform.FindChild("BottomPanel").transform.FindChild("DevicesPanel").GetComponent <UIPanel>();

        devicesDisplayer.graphMoleculeList = mediumInfoPanelCell.GetComponent <GraphMoleculeList>() as GraphMoleculeList;

        devicesDisplayer.equipedDevice  = equipedDeviceButtonPrefabPos;
        devicesDisplayer.equipedDevice2 = equipedDeviceButtonPrefabPos2;

        devicesDisplayer.inventoryDevice       = inventoryDevicePrefab;
        devicesDisplayer.listedInventoryDevice = listedDevicePrefab;


        //InfoWindowManager
        infoWindowManager.infoPanel        = genericInfoWindow;
        infoWindowManager.titleLabel       = genericInfoWindow.transform.FindChild("TitleLabel").GetComponent <UILocalize>();
        infoWindowManager.subtitleLabel    = genericInfoWindow.transform.FindChild("SubtitleLabel").GetComponent <UILocalize>();
        infoWindowManager.explanationLabel = genericInfoWindow.transform.FindChild("ExplanationLabel").GetComponent <UILocalize>();
        infoWindowManager.bottomLabel      = genericInfoWindow.transform.FindChild("BottomLabel").GetComponent <UILocalize>();
        infoWindowManager.infoSprite       = genericInfoWindow.transform.FindChild("InfoSprite").GetComponent <UISprite>();

        //ModalManager
        modalManager.modalBackground               = modalBackground;
        modalManager.genericModalWindow            = genericModalWindow;
        modalManager.titleLabel                    = genericModalWindow.transform.FindChild("TitleLabel").GetComponent <UILocalize>();
        modalManager.explanationLabel              = genericModalWindow.transform.FindChild("ExplanationLabel").GetComponent <UILocalize>();
        modalManager.infoSprite                    = genericModalWindow.transform.FindChild("InfoSprite").GetComponent <UISprite>();
        modalManager.genericValidateButton         = genericModalWindow.transform.FindChild("ValidateButton").gameObject;
        modalManager.genericCenteredValidateButton = genericModalWindow.transform.FindChild("CenteredValidateButton").gameObject;
        modalManager.genericCancelButton           = genericModalWindow.transform.FindChild("CancelButton").gameObject;


        //DeviceInventory
        Inventory.get().animator = GameObject.Find("WorldEquipButton").GetComponent <InventoryAnimator>();
        Inventory.get().animator.tutorialArrowAnimation = tutorialArrow.GetComponent <ArrowAnimation>();

        //BiobrickInventory

        //AvailableBioBricksManager.get().bioBricksPanel = GameObject.Find("BiobricksPanel");
        availableBioBricksManager.bioBricksPanel    = craftScreenPanel.transform.FindChild("BottomPanel").transform.FindChild("BiobricksPanel").gameObject;
        availableBioBricksManager.availableBioBrick = availableBioBricksManager.bioBricksPanel.transform.FindChild("AvailableDisplayedBioBrickPrefab").gameObject;
        //AvailableBioBricksManager.get ().availableBioBrick = GameObject.Find ("AvailableDisplayedBioBrickPrefab");

        //TooltipManager
        tooltipManager.bioBrickTooltipPanel = biobrickTooltipPanel;
        tooltipManager.deviceTooltipPanel   = deviceTooltipPanel;
        tooltipManager.uiCamera             = GameObject.Find("Camera").GetComponent <Camera>();

        Logger.get().loggerGUIComponent = loggerGUIComponent;
    }
예제 #16
0
 void Awake()
 {
   Logger.Log("CraftZoneManager::Awake", Logger.Level.DEBUG);
   _instance = this;
 }