Ejemplo n.º 1
0
    void Start()
    {
        //create gameobject so we can have access to a tranform thats position is Vector3.zero
        GameObject goMat = new GameObject("VisualPath", typeof(VisualPath));
        GameObject go;

        tileSpriteController = new TileSpriteController(world);
        tileSpriteController.Render();
        characterSpriteController = new CharacterSpriteController(world);
        furnitureSpriteController = new FurnitureSpriteController(world);
        jobSpriteController       = new JobSpriteController(world, furnitureSpriteController);
        inventorySpriteController = new InventorySpriteController(world, inventoryUI);
        buildModeController       = new BuildModeController();
        if (Settings.getSettingAsBool("DevTools_enabled", false))
        {
            spawnInventoryController = new SpawnInventoryController();
        }
        mouseController    = new MouseController(buildModeController, furnitureSpriteController, circleCursorPrefab);
        keyboardController = new KeyboardController(buildModeController, Instance);
        questController    = new QuestController();
        cameraController   = new CameraController();

        //Initialising controllers
        GameObject Controllers = GameObject.Find("Controllers");

        Instantiate(Resources.Load("UIController"), Controllers.transform);

        GameObject Canvas = GameObject.Find("Canvas");

        go      = Instantiate(Resources.Load("UI/ContextMenu"), Canvas.transform.position, Canvas.transform.rotation, Canvas.transform) as GameObject;
        go.name = "ContextMenu";
    }
Ejemplo n.º 2
0
    public void Start()
    {
        // Create gameobject so we can have access to a tranform thats position is "Vector3.zero".
        GameObject mat = new GameObject("VisualPath", typeof(VisualPath));
        GameObject go;

        tileSpriteController = new TileSpriteController(World);
        tileSpriteController.Render();
        characterSpriteController = new CharacterSpriteController(World);
        furnitureSpriteController = new FurnitureSpriteController(World);
        jobSpriteController       = new JobSpriteController(World, furnitureSpriteController);
        inventorySpriteController = new InventorySpriteController(World, inventoryUI);
        buildModeController       = new BuildModeController();
        spawnInventoryController  = new SpawnInventoryController();
        mouseController           = new MouseController(buildModeController, furnitureSpriteController, circleCursorPrefab);
        keyboardController        = new KeyboardController(buildModeController, Instance);
        questController           = new QuestController();
        cameraController          = new CameraController();

        // Hiding Dev Mode spawn inventory controller if devmode is off.
        spawnInventoryController.SetUIVisibility(Settings.GetSettingAsBool("DialogBoxSettings_developerModeToggle", false));

        // Initialising controllers.
        GameObject controllers = GameObject.Find("Controllers");

        Instantiate(Resources.Load("UIController"), controllers.transform);

        GameObject canvas = GameObject.Find("Canvas");

        go      = Instantiate(Resources.Load("UI/ContextMenu"), canvas.transform.position, canvas.transform.rotation, canvas.transform) as GameObject;
        go.name = "ContextMenu";
    }
Ejemplo n.º 3
0
    public List <GameObject> HandleDragVisual(MouseController.DragParameters parameters, Transform parent)
    {
        List <GameObject> objects = new List <GameObject>();

        if (parameters.EndX != parameters.StartX)
        {
            // We should NEVER reach here, the disable dragging means that this should NEVER be true
            throw new ArgumentException("Parameters Start X/Y values should Equal End X/Y values, this is taken care by the DisableDragging = true property.");
        }

        Tile t = WorldController.Instance.World.GetTileAt(parameters.StartX, parameters.StartY, WorldController.Instance.CameraController.CurrentLayer);

        if (t != null)
        {
            // Show generic visuals
            GameObject go = new GameObject();
            go.transform.SetParent(parent);
            go.transform.position = new Vector3(parameters.StartX, parameters.StartY);

            if (t.Furniture == null && (t.Inventory == null || t.Inventory.Type == InventoryToBuild) && t.Type != TileType.Empty)
            {
                InventorySpriteController.SetSprite(go, CurrentInventory).color = Color.green; // = new Color(0.5f, 1f, 0.5f, 0.25f);
            }
            else
            {
                InventorySpriteController.SetSprite(go, CurrentInventory).color = Color.red; // new Color(1f, 0.5f, 0.5f, 0.25f);
            }

            objects.Add(go);
        }

        return(objects);
    }
Ejemplo n.º 4
0
        protected override void OnChanged(Character character)
        {
            // Make sure the furniture's graphics are correct.
            GameObject     inventoryGo = objectGameObjectMap[character].transform.GetChild(0).gameObject;
            SpriteRenderer inventorySR = inventoryGo.GetComponent <SpriteRenderer>();

            // Important to set the characters SortOrder first.
            int charSortOrder = character.Animation.SetAndGetSortOrder();

            if (character.Inventory != null)
            {
                inventorySR = InventorySpriteController.SetSprite(inventoryGo, character.Inventory);
                inventorySR.sortingOrder = charSortOrder + 1;
            }
            else
            {
                inventorySR.sprite = null;
                if (inventoryGo.transform.childCount > 0)
                {
                    // Inventory should only ever have one child to destroy.
                    GameObject.Destroy(inventoryGo.transform.GetChild(0).gameObject);
                }
            }

            if (objectGameObjectMap.ContainsKey(character) == false)
            {
                UnityDebugger.Debugger.LogError("CharacterSpriteController", "OnCharacterChanged -- trying to change visuals for character not in our map.");
                return;
            }

            GameObject char_go = objectGameObjectMap[character];

            char_go.transform.position = new Vector3(character.X, character.Y, character.Z);
        }
Ejemplo n.º 5
0
    void Start()
    {
        GameObject go;

        tileSpriteController = new TileSpriteController(world);
        tileSpriteController.Render();
        characterSpriteController = new CharacterSpriteController(world);
        furnitureSpriteController = new FurnitureSpriteController(world);
        jobSpriteController       = new JobSpriteController(world, furnitureSpriteController);
        inventorySpriteController = new InventorySpriteController(world, inventoryUI);
        buildModeController       = new BuildModeController();
        if (Settings.getSettingAsBool("DevTools_enabled", false))
        {
            spawnInventoryController = new SpawnInventoryController();
        }
        mouseController    = new MouseController(buildModeController, furnitureSpriteController, circleCursorPrefab);
        keyboardController = new KeyboardController(buildModeController, Instance);

        //Initialising controllers
        GameObject Controllers = GameObject.Find("Controllers");

        Instantiate(Resources.Load("UIController"), Controllers.transform);

        GameObject Canvas = GameObject.Find("Canvas");

        go      = Instantiate(Resources.Load("UI/ContextMenu"), Canvas.transform.position, Canvas.transform.rotation, Canvas.transform) as GameObject;
        go.name = "ContextMenu";
    }
Ejemplo n.º 6
0
    public void Start()
    {
        // Create GameObject so we can have access to a transform which has a position of "Vector3.zero".
        new GameObject("VisualPath", typeof(VisualPath));
        GameObject go;

        tileSpriteController      = new TileSpriteController(World);
        characterSpriteController = new CharacterSpriteController(World);
        furnitureSpriteController = new FurnitureSpriteController(World);
        utilitySpriteController   = new UtilitySpriteController(World);
        jobSpriteController       = new JobSpriteController(World, furnitureSpriteController, utilitySpriteController);
        inventorySpriteController = new InventorySpriteController(World, inventoryUI);
        shipSpriteController      = new ShipSpriteController(World);

        buildModeController      = new BuildModeController();
        spawnInventoryController = new SpawnInventoryController();
        mouseController          = new MouseController(buildModeController, furnitureSpriteController, utilitySpriteController, circleCursorPrefab);
        questController          = new QuestController();
        cameraController         = new CameraController();
        TradeController          = new TradeController();
        autosaveManager          = new AutosaveManager();

        dialogBoxManager = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();

        // Register inputs actions
        KeyboardManager.Instance.RegisterInputAction("DevMode", KeyboardMappedInputType.KeyDown, ChangeDevMode);

        // Hiding Dev Mode spawn inventory controller if devmode is off.
        spawnInventoryController.SetUIVisibility(Settings.GetSetting("DialogBoxSettingsDevConsole_developerModeToggle", false));

        cameraController.Initialize();
        cameraController.Moved += this.World.OnCameraMoved;

        // Initialising controllers.
        GameObject canvas = GameObject.Find("Canvas");

        go      = Instantiate(Resources.Load("UI/ContextMenu"), canvas.transform.position, canvas.transform.rotation, canvas.transform) as GameObject;
        go.name = "ContextMenu";

        GameController.Instance.IsModal = false;

        GameObject devConsole = (GameObject)Instantiate(Resources.Load("UI/Console/DevConsole"));

        // This is just to make sure it isn't null (the static thing shouldn't destroy this copy but in some edge cases it might decide to).
        if (devConsole != null)
        {
            devConsole.name = "DevConsole-Spawned";
            devConsole.transform.SetParent(canvas.transform, false);
            devConsole.transform.SetAsLastSibling();
            devConsole.SetActive(true);
            DeveloperConsole.DevConsole.Close();
        }
    }
        protected override void OnChanged(Character character)
        {
            // Make sure the furniture's graphics are correct.
            GameObject     inventoryGo = objectGameObjectMap[character].transform.GetChild(0).gameObject;
            SpriteRenderer inventorySR = inventoryGo.GetComponent <SpriteRenderer>();

            // Important to set the characters SortOrder first.
            int charSortOrder = character.Animation.SetAndGetSortOrder();

            if (character.Inventory != null)
            {
                inventorySR = InventorySpriteController.SetSprite(inventoryGo, character.Inventory);
                inventorySR.sortingOrder = charSortOrder + 1;
            }
            else
            {
                inventorySR.sprite = null;
                if (inventoryGo.transform.childCount > 0)
                {
                    // Inventory should only ever have one child to destroy.
                    GameObject.Destroy(inventoryGo.transform.GetChild(0).gameObject);
                }
            }

            GameObject char_go;

            if (objectGameObjectMap.TryGetValue(character, out char_go) == false)
            {
                UnityDebugger.Debugger.LogError("CharacterSpriteController", "OnCharacterChanged -- trying to change visuals for character not in our map.");
                return;
            }

            char_go.transform.position = new Vector3(character.X, character.Y, character.Z);

            if (character.IsSelected)
            {
                VisualPath path = char_go.GetComponentInChildren <VisualPath>();
                if (path == null)
                {
                    path = GameObject.Instantiate <VisualPath>(Resources.Load <VisualPath>("UI/VisualPath"), char_go.transform);
                }

                path.SetVisualPoints(character.Path);
            }
        }
        protected override void OnChanged(GameCharacter character)
        {
            // Make sure the furniture's graphics are correct.
            GameObject     inventoryGo = objectGameObjectMap[character].transform.GetChild(0).gameObject;
            SpriteRenderer inventorySR = inventoryGo.GetComponent <SpriteRenderer>();


            // Important to set the characters SortOrder first.
            int charSortOrder = character.Animation.SetAndGetSortOrder();

            if (character.Inventory != null)
            {
                inventorySR = InventorySpriteController.SetSprite(inventoryGo, character.Inventory);
                inventorySR.sortingOrder = charSortOrder + 1;
            }
            else
            {
                inventorySR.sprite = null;
                if (inventoryGo.transform.childCount > 0)
                {
                    // Inventory should only ever have one child to destroy.
                    GameObject.Destroy(inventoryGo.transform.GetChild(0).gameObject);
                }
            }

            if (objectGameObjectMap.ContainsKey(character) == false)
            {
                UnityDebugger.Debugger.LogError("CharacterSpriteController", "OnCharacterChanged -- trying to change visuals for character not in our map.");
                return;
            }

            GameObject char_go = objectGameObjectMap[character];

            char_go.transform.position = new Vector3(character.X, character.Y, character.Z);
            UpdatePosition(character.Tile, char_go);

            /* Debug.DrawLine(char_go.transform.position, Utils.TwoDToIso(character.Tile.Vector3), Color.red, 1);
             * Debug.DrawLine(Utils.TwoDToIso(character.Tile.X-0.5f, character.Tile.Y- 0.5f, character.Tile.Z), Utils.TwoDToIso(character.Tile.X + 0.5f, character.Tile.Y + 0.5f, character.Tile.Z), Color.blue, 1);
             * Debug.DrawLine(Utils.TwoDToIso(character.Tile.X - 0.5f, character.Tile.Y + 0.5f, character.Tile.Z), Utils.TwoDToIso(character.Tile.X + 0.5f, character.Tile.Y - 0.5f, character.Tile.Z), Color.blue, 1);*/
            GameObject tile_go = WorldController.Instance.TileSpriteController.GetGOForTile(character.Tile);

            tile_go.GetComponent <SpriteRenderer>().color = new Color(0.5f, 1f, 0.5f, 0.75f);
        }
Ejemplo n.º 9
0
    void Start()
    {
        tileSpriteController = new TileSpriteController(world);
        tileSpriteController.Render();
        characterSpriteController = new CharacterSpriteController(world);
        furnitureSpriteController = new FurnitureSpriteController(world);
        jobSpriteController       = new JobSpriteController(world, furnitureSpriteController);
        inventorySpriteController = new InventorySpriteController(world, inventoryUI);
        buildModeController       = new BuildModeController();
        if (Settings.getSettingAsBool("DevTools_enabled", false))
        {
            spawnInventoryController = new SpawnInventoryController();
        }
        mouseController = new MouseController(buildModeController, furnitureSpriteController, circleCursorPrefab);

        //Initialising controllers
        GameObject Controllers = GameObject.Find("Controllers");

        Instantiate(Resources.Load("UIController"), Controllers.transform);
    }
Ejemplo n.º 10
0
    public void Start()
    {
        // Create GameObject so we can have access to a transform which has a position of "Vector3.zero".
        new GameObject("VisualPath", typeof(VisualPath));
        GameObject go;

        tileSpriteController      = new TileSpriteController(World);
        characterSpriteController = new CharacterSpriteController(World);
        furnitureSpriteController = new FurnitureSpriteController(World);
        utilitySpriteController   = new UtilitySpriteController(World);
        jobSpriteController       = new JobSpriteController(World, furnitureSpriteController, utilitySpriteController);
        inventorySpriteController = new InventorySpriteController(World, inventoryUI);
        shipSpriteController      = new ShipSpriteController(World);

        buildModeController      = new BuildModeController();
        spawnInventoryController = new SpawnInventoryController();
        mouseController          = new MouseController(buildModeController, furnitureSpriteController, utilitySpriteController, circleCursorPrefab);
        questController          = new QuestController();
        cameraController         = new CameraController();
        TradeController          = new TradeController();
        autosaveManager          = new AutosaveManager();

        dialogBoxManager = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();

        // Register inputs actions
        KeyboardManager.Instance.RegisterInputAction("DevMode", KeyboardMappedInputType.KeyDown, ChangeDevMode);

        // Hiding Dev Mode spawn inventory controller if devmode is off.
        spawnInventoryController.SetUIVisibility(Settings.GetSetting("DialogBoxSettings_developerModeToggle", false));

        cameraController.Initialize();
        cameraController.Moved += this.World.OnCameraMoved;

        // Initialising controllers.
        GameObject canvas = GameObject.Find("Canvas");

        go      = Instantiate(Resources.Load("UI/ContextMenu"), canvas.transform.position, canvas.transform.rotation, canvas.transform) as GameObject;
        go.name = "ContextMenu";

        GameController.Instance.IsModal = false;
    }
Ejemplo n.º 11
0
    // Use this for initialization
    void Start()
    {
        Instance = this;
        // Instantiate our dictionary that tracks which GameObject is rendering which Tile data.
        inventoryGameObjectMap = new Dictionary <Inventory, GameObject>();

        // Register our callback so that our GameObject gets updated whenever
        // the tile's type changes.
        world.inventoryManager.RegisterInventoryCreated(OnInventoryCreated);
        //world.inventoryManager.RegisterInventoryRemoved(OnInventoryRemoved);

        // Check for pre-existing inventory, which won't do the callback.
        foreach (string objectType in world.inventoryManager.inventories.Keys)
        {
            foreach (Inventory inv in world.inventoryManager.inventories[objectType])
            {
                OnInventoryCreated(inv);
            }
        }


        //c.SetDestination( world.GetTileAt( world.Width/2 + 5, world.Height/2 ) );
    }
Ejemplo n.º 12
0
    public void Start()
    {
        // Create GameObject so we can have access to a transform which has a position of "Vector3.zero".
        new GameObject("VisualPath", typeof(VisualPath));
        GameObject go;

        tileSpriteController      = new TileSpriteController(World);
        characterSpriteController = new CharacterSpriteController(World);
        furnitureSpriteController = new FurnitureSpriteController(World);
        jobSpriteController       = new JobSpriteController(World, furnitureSpriteController);
        inventorySpriteController = new InventorySpriteController(World, inventoryUI);

        buildModeController      = new BuildModeController();
        spawnInventoryController = new SpawnInventoryController();
        mouseController          = new MouseController(buildModeController, furnitureSpriteController, circleCursorPrefab);
        keyboardManager          = KeyboardManager.Instance;
        questController          = new QuestController();
        cameraController         = new CameraController();
        TradeController          = new TradeController();
        timeManager     = new TimeManager();
        autosaveManager = new AutosaveManager();

        keyboardManager.RegisterInputAction("Pause", KeyboardMappedInputType.KeyUp, () => { IsPaused = !IsPaused; });

        // Hiding Dev Mode spawn inventory controller if devmode is off.
        spawnInventoryController.SetUIVisibility(Settings.GetSetting("DialogBoxSettings_developerModeToggle", false));

        // Initialising controllers.
        GameObject controllers = GameObject.Find("Controllers");

        Instantiate(Resources.Load("UIController"), controllers.transform);

        GameObject canvas = GameObject.Find("Canvas");

        go      = Instantiate(Resources.Load("UI/ContextMenu"), canvas.transform.position, canvas.transform.rotation, canvas.transform) as GameObject;
        go.name = "ContextMenu";
    }
Ejemplo n.º 13
0
    public void Start()
    {
        // Create GameObject so we can have access to a transform which has a position of "Vector3.zero".
        new GameObject("VisualPath", typeof(VisualPath));
        GameObject go;

        tileSpriteController      = new TileSpriteController(World);
        characterSpriteController = new CharacterSpriteController(World);
        furnitureSpriteController = new FurnitureSpriteController(World);
        utilitySpriteController   = new UtilitySpriteController(World);
        jobSpriteController       = new JobSpriteController(World, furnitureSpriteController, utilitySpriteController);
        inventorySpriteController = new InventorySpriteController(World, inventoryUI);
        shipSpriteController      = new ShipSpriteController(World);

        buildModeController      = new BuildModeController();
        spawnInventoryController = new SpawnInventoryController();
        mouseController          = new MouseController(buildModeController, furnitureSpriteController, utilitySpriteController, circleCursorPrefab);
        questController          = new QuestController();
        cameraController         = new CameraController();
        TradeController          = new TradeController();
        autosaveManager          = new AutosaveManager();

        // Register inputs actions
        KeyboardManager.Instance.RegisterInputAction("DevMode", KeyboardMappedInputType.KeyDown, ChangeDevMode);

        // Hiding Dev Mode spawn inventory controller if devmode is off.
        spawnInventoryController.SetUIVisibility(Settings.GetSetting("DialogBoxSettingsDevConsole_developerModeToggle", false));

        cameraController.Initialize();
        cameraController.Moved += this.World.OnCameraMoved;

        // Initialising controllers.
        GameObject canvas = GameObject.Find("Canvas");

        go      = Instantiate(Resources.Load("UI/ContextMenu"), canvas.transform.position, canvas.transform.rotation, canvas.transform) as GameObject;
        go.name = "ContextMenu";

        GameController.Instance.IsModal = false;

        // Settings UI is a 'dialog box' (kinda), so it comes here.
        // Where as DevConsole is a constant menu item (it can appear 'anywhere' so it appears after)
        GameObject settingsMenu = (GameObject)Instantiate(Resources.Load("UI/SettingsMenu/SettingsMenu"));

        if (settingsMenu != null)
        {
            settingsMenu.name = "Settings Menu";
            settingsMenu.transform.SetParent(canvas.transform, false);
            settingsMenu.SetActive(true);
        }

        // This will place it after context menu (and the inventory menu) and settings menu
        dialogBoxManager = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();
        dialogBoxManager.transform.SetAsLastSibling();

        GameObject devConsole = (GameObject)Instantiate(Resources.Load("UI/Console/DevConsole"));

        if (devConsole != null)
        {
            devConsole.name = "DevConsole-Spawned";
            devConsole.transform.SetParent(canvas.transform, false);
            devConsole.transform.SetAsLastSibling();
            devConsole.SetActive(true);
            DeveloperConsole.DevConsole.Close();
        }
    }
Ejemplo n.º 14
0
    public void Start()
    {
        // Create GameObject so we can have access to a transform which has a position of "Vector3.zero".
        GameObject go;

        TileSpriteController      = new TileSpriteController(World);
        CharacterSpriteController = new CharacterSpriteController(World);
        FurnitureSpriteController = new FurnitureSpriteController(World);
        UtilitySpriteController   = new UtilitySpriteController(World);
        JobSpriteController       = new JobSpriteController(World, FurnitureSpriteController, UtilitySpriteController);
        InventorySpriteController = new InventorySpriteController(World, inventoryUI);
        ShipSpriteController      = new ShipSpriteController(World);

        BuildModeController      = new BuildModeController();
        SpawnInventoryController = new SpawnInventoryController();
        MouseController          = new MouseController();
        QuestController          = new QuestController();
        CameraController         = new CameraController();
        TradeController          = new TradeController();
        AutosaveManager          = new AutosaveManager();

        MouseController.RegisterModeHandler(MouseMode.BUILD, BuildModeController);
        MouseController.RegisterModeHandler(MouseMode.INVENTORY, SpawnInventoryController);

        // Register inputs actions
        KeyboardManager.Instance.RegisterInputAction("DevMode", KeyboardMappedInputType.KeyDown, ChangeDevMode);

        // Hiding Dev Mode spawn inventory controller if devmode is off.
        SpawnInventoryController.SetUIVisibility(SettingsKeyHolder.DeveloperMode);

        CameraController.Initialize();

        // Initialising controllers.
        GameObject canvas = GameObject.Find("Canvas");

        go      = Instantiate(Resources.Load("UI/ContextMenu"), canvas.transform.position, canvas.transform.rotation, canvas.transform) as GameObject;
        go.name = "ContextMenu";

        GameObject timeScale = Instantiate(Resources.Load("UI/TimeScale"), GameObject.Find("TopRight").transform, false) as GameObject;

        timeScale.name = "TimeScale";

        GameObject dateTimeDisplay = Instantiate(Resources.Load("UI/DateTimeDisplay"), canvas.transform, false) as GameObject;

        dateTimeDisplay.name = "DateTimeDisplay";

        GameController.Instance.IsModal = false;

        // Settings UI is a 'dialog box' (kinda), so it comes here.
        // Where as DevConsole is a constant menu item (it can appear 'anywhere' so it appears after)
        GameObject settingsMenu = (GameObject)Instantiate(Resources.Load("UI/SettingsMenu/SettingsMenu"));

        if (settingsMenu != null)
        {
            settingsMenu.name = "Settings Menu";
            settingsMenu.transform.SetParent(canvas.transform, false);
            settingsMenu.SetActive(true);
        }

        // This will place it after context menu (and the inventory menu) and settings menu
        DialogBoxManager = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();
        DialogBoxManager.transform.SetAsLastSibling();

        GameObject devConsole = (GameObject)Instantiate(Resources.Load("UI/Console/DevConsole"));

        if (devConsole != null)
        {
            devConsole.name = "DevConsole-Spawned";
            devConsole.transform.SetParent(canvas.transform, false);
            devConsole.transform.SetAsLastSibling();
            devConsole.SetActive(true);
            DeveloperConsole.DevConsole.Close();
        }
    }