Inheritance: IPointerClickHandler
Exemple #1
0
        public void onNew()
        {
            // Do nothing if we already reached the max number of chars
            if (players.Count >= 5)
            {
                return;
            }

            // If a character has been selected already, make them sit the f**k down
            if (currentPlayer != null)
            {
                currentPlayer.setAnimationState(States.SIT);
            }

            // Bring up the new char panel
            newCharPanel.SetActive(true);

            // Generate a default player
            CharModel charModel = new CharModel();

            charModel.rig   = RigType.CHARSELECT;
            charModel.state = States.HOVERING;
            RosePlayer player = new RosePlayer(charModel);


            // Put new player in front of the new player camera and facing it
            Transform newCharCam = GameObject.Find("NewCharCam").transform;

            player.player.transform.position = new Vector3(0.0f, -1.2f, 3.0f);
            player.player.transform.Rotate(new Vector3(0, 180, 0));
            //player.player.transform.LookAt(newCharCam);
            currentPlayer = player;
        }
Exemple #2
0
        // Cancel char creation
        public void onCancel()
        {
            // Destroy the temporary char
            players.Remove(currentPlayer);
            currentPlayer.Destroy();
            currentPlayer = players.Keys.ElementAt(players.Count - 1);

            // Hide the new char panel
            newCharPanel.SetActive(false);
        }
Exemple #3
0
        // Cancel char creation
        public void onCancel()
        {
            // Destroy the temporary char
            players.Remove(currentPlayer);
            currentPlayer.Destroy();
            currentPlayer = players.Keys.ElementAt(players.Count - 1);

            // Hide the new char panel
            newCharPanel.SetActive(false);
        }
Exemple #4
0
 // Delete the current player
 public void onDelete()
 {
     if (currentPlayer != null)
     {
         // Tell the server
         NetworkManager.Send(new CharSelectPacket(UserOperation.DELETECHAR, currentPlayer.charModel.name));
         // Destroy the current player
         players.Remove(currentPlayer);
         currentPlayer.Destroy();
         currentPlayer = (players.Count > 0) ? players.Keys.ElementAt(players.Count - 1) : null;
     }
 }
Exemple #5
0
 // Delete the current player
 public void onDelete()
 {
     if (currentPlayer != null)
     {
         // Tell the server
         NetworkManager.Send(new CharSelectPacket(UserOperation.DELETECHAR, currentPlayer.charModel.name));
         // Destroy the current player
         players.Remove(currentPlayer);
         currentPlayer.Destroy();
         currentPlayer = (players.Count > 0) ? players.Keys.ElementAt(players.Count - 1) : null;
     }
 }
Exemple #6
0
        void OnPointerDoubleClick(Transform clickedTransform)
        {
            PlayerController controller = clickedTransform.gameObject.GetComponent <PlayerController>();

            if (controller != null)
            {
                RosePlayer clickedPlayer = controller.rosePlayer;
                if (clickedPlayer != currentPlayer)
                {
                    clickedPlayer.setAnimationState(States.SELECT);
                    currentPlayer.setAnimationState(States.SIT);
                    currentPlayer = clickedPlayer;
                }
            }
        }
Exemple #7
0
        public void onLoad(CharModel charModel)
        {
            // Do nothing if we already reached the max number of chars
            if (players.Count >= 5)
                return;

            // Generate a default player
            charModel.rig = RigType.CHARSELECT;
            charModel.state = States.SITTING;
            RosePlayer player = new RosePlayer(charModel);
            int id = players.Count;
            Vector3 altarPos = playerPositions[id].position;
            player.player.transform.position = new Vector3(altarPos.x, altarPos.y + 2.1f, altarPos.z);
            player.player.transform.LookAt(Camera.main.transform);
            players.Add(player, id);
            currentPlayer = player;
        }
Exemple #8
0
        public void onLoad(CharModel charModel)
        {
            // Do nothing if we already reached the max number of chars
            if (players.Count >= 5)
            {
                return;
            }

            // Generate a default player
            charModel.rig   = RigType.CHARSELECT;
            charModel.state = States.SITTING;
            RosePlayer player   = new RosePlayer(charModel);
            int        id       = players.Count;
            Vector3    altarPos = playerPositions[id].position;

            player.player.transform.position = new Vector3(altarPos.x, altarPos.y + 2.1f, altarPos.z);
            player.player.transform.LookAt(Camera.main.transform);
            players.Add(player, id);
            currentPlayer = player;
        }
    /*
    private RosePatch ImportPatch(string inputDir, Transform terrainParent, Transform objectsParent)
    {
        // Patch consists of the following elements:
        //	- .HIM file specifying the heighmap of the terrain: 65x65 image of floats
        //	- .TIL file specifying the texture tileset: 16x16 tiles, containing ID's that index into .ZON.Tiles, which returns index into .ZON.Textures
        //  - TODO: add other fileTypes here after researching

        bool success = true;

        Debug.Log ("Importing patch from " + inputDir + "...");

        RosePatch patch = new RosePatch(new DirectoryInfo(inputDir));

        success &= patch.Load();
        success &= patch.Import(terrainParent, objectsParent);

        if(success)
            Debug.Log ("Patch Import complete");
        else
            Debug.Log ("!Patch Import failed");

        return patch;
    }
    */
    void OnGUI()
    {
        // Need to do the following:
        // - Specify a specific map to load (path + directory browser?)
        // - Specify an output directory (path + directory browser?)
        // - Button to begin conversion
        // - add any extra settings here ...

        // ----------------Example GUI elements-----------------------
        // GUILayout.Label ("Settings", EditorStyles.boldLabel);
        // myBool = EditorGUILayout.Toggle ("Toggle", myBool);
        // myFloat = EditorGUILayout.Slider ("Slider", myFloat, -3, 3);
        // -----------------------------------------------------------

        //=================== MAP =======================

        EditorGUILayout.BeginToggleGroup("Map", true);
        m_inputDir = EditorGUILayout.TextField ("Input dir: ", m_inputDir);

        /*
        if(GUILayout.Button("Import"))
        {
            STB stb = new STB(m_inputDir);
            // STL:
            //		  row		  col   row
            //Entries[0-62]  Rows[0-5][0-61]
            //LZON001  korean "Canyon City of Zant" korean korean korean
            //LZON002  korean "City of Junon Polis" korean korean korean
            //LZON003  korean "Junon Cartel" ...
            //...

            int x=1;
        }
        */

        if(GUILayout.Button("Import"))
        {
            // Several options based on the given path
            // 1. 3DDATA/MAPS/						-> convert rose universe
            // 2. 3DDATA/MAPS/JUNON					-> convert rose planet
            // 3. 3DDATA/MAPS/JUNON/JPT01			-> convert rose map
            // 4. 3DDATA/MAPS/JUNON/JTP01/30_30		-> convert rose patch
            // 5. Some/invalid/path
            bool notFound = false;
            DirectoryInfo inDirInfo = new DirectoryInfo(m_inputDir);
            switch (inDirInfo.Name.ToLower())
            {
            case "maps": 						// 1.
                ImportGalaxy();
                break;
            case "junon": 						// 2.
            case "eldeon":
            case "lunar":
                // TODO: add any new planets here...
                ImportPlanet();
                break;
            default:
                notFound = true;
                break;
            } // switch

            if(notFound)
            {
                switch (inDirInfo.Parent.Name.ToLower())
                {
                case "junon":				// 3.
                case "eldeon":
                case "lunar":
                    // TODO: add any new planets here...
                    ImportMap(inDirInfo.Name.ToLower());
                    break;
                default:
                    GameObject terrain = new GameObject();
                    terrain.name = "Terrain";

                    GameObject terrainObjects = new GameObject();
                    terrainObjects.name = "Terrain Objects";
                    //ImportPatch(m_inputDir, terrain.transform, terrainObjects.transform);			// 4. (LoadPatch will handle 5. properly)
                    break;
                }	// switch
            } // if
        } // if

        EditorGUILayout.EndToggleGroup ();
        // ======================== OBJECT ==========================
        EditorGUILayout.BeginToggleGroup("Animated Object", true);
        m_szcPath = EditorGUILayout.TextField ("ZSC: ", m_szcPath);
        objID = EditorGUILayout.IntField ("ID: ", objID);
        bodyPart = EditorGUILayout.IntField ("Body Part: ", bodyPart);
        transform = EditorGUILayout.ObjectField ("Transform: ", transform, typeof(Transform), true) as Transform;
        if (GUILayout.Button ("Create")) {
            if(transform != null)
                player = new RosePlayer (transform.position); // Note: Player reference is lost after hitting play.  Must create new after that.
            else
                player = new RosePlayer();
        }

        if (GUILayout.Button("Create Char Select"))
        {
            CharModel model = new CharModel();
            model.rig = RigType.CHARSELECT;
            model.state = States.HOVERING;

            if(transform != null)
                model.pos = transform.position;

            player = new RosePlayer(model); // Note: Player reference is lost after hitting play.  Must create new after that.

        }

        if (GUILayout.Button("Equip"))
        {
            if( player != null )
                player.equip( (BodyPartType)bodyPart, objID );

            //RosePlayer player = new RosePlayer(GenderType.MALE, WeaponType.THSWORD);
            //ResourceManager.Instance.GenerateAnimationAsset(GenderType.MALE, WeaponType.EMPTY);
            //ResourceManager.Instance.GenerateAnimationAssets();
            //GenerateCharSelectAnimations();

        }

        if (GUILayout.Button("GenerateAnimations"))
        {
            //RosePlayer player = new RosePlayer(GenderType.MALE, WeaponType.THSWORD);
            //ResourceManager.Instance.GenerateAnimationAsset(GenderType.MALE, WeaponType.EMPTY);
            //ResourceManager.Instance.GenerateAnimationAssets();
            GenerateCharSelectAnimations();
        }

        EditorGUILayout.EndToggleGroup ();
    }
Exemple #10
0
 void OnPointerDoubleClick(Transform clickedTransform)
 {
     PlayerController controller = clickedTransform.gameObject.GetComponent<PlayerController>();
     if (controller != null)
     {
         RosePlayer clickedPlayer = controller.rosePlayer;
         if (clickedPlayer != currentPlayer)
         {
             clickedPlayer.setAnimationState(States.SELECT);
             currentPlayer.setAnimationState(States.SIT);
             currentPlayer = clickedPlayer;
         }
     }
 }
Exemple #11
0
        public void onNew()
        {
            // Do nothing if we already reached the max number of chars
            if (players.Count >= 5)
                return;

            // If a character has been selected already, make them sit the f**k down
            if (currentPlayer != null)
                currentPlayer.setAnimationState(States.SIT);

            // Bring up the new char panel
            newCharPanel.SetActive(true);

            // Generate a default player
            CharModel charModel = new CharModel();
            charModel.rig = RigType.CHARSELECT;
            charModel.state = States.HOVERING;
            RosePlayer player = new RosePlayer(charModel);

            // Put new player in front of the new player camera and facing it
            Transform newCharCam = GameObject.Find("NewCharCam").transform;
            player.player.transform.position = new Vector3(0.0f, -1.2f, 3.0f);
            player.player.transform.Rotate(new Vector3(0, 180, 0));
            //player.player.transform.LookAt(newCharCam);
            currentPlayer = player;
        }
Exemple #12
0
    /*
     * private RosePatch ImportPatch(string inputDir, Transform terrainParent, Transform objectsParent)
     * {
     *      // Patch consists of the following elements:
     *      //	- .HIM file specifying the heighmap of the terrain: 65x65 image of floats
     *      //	- .TIL file specifying the texture tileset: 16x16 tiles, containing ID's that index into .ZON.Tiles, which returns index into .ZON.Textures
     *      //  - TODO: add other fileTypes here after researching
     *
     *
     *      bool success = true;
     *
     *      Debug.Log ("Importing patch from " + inputDir + "...");
     *
     *      RosePatch patch = new RosePatch(new DirectoryInfo(inputDir));
     *
     *      success &= patch.Load();
     *      success &= patch.Import(terrainParent, objectsParent);
     *
     *
     *      if(success)
     *              Debug.Log ("Patch Import complete");
     *      else
     *              Debug.Log ("!Patch Import failed");
     *
     *      return patch;
     * }
     */

    void OnGUI()
    {
        // Need to do the following:
        // - Specify a specific map to load (path + directory browser?)
        // - Specify an output directory (path + directory browser?)
        // - Button to begin conversion
        // - add any extra settings here ...

        // ----------------Example GUI elements-----------------------
        // GUILayout.Label ("Settings", EditorStyles.boldLabel);
        // myBool = EditorGUILayout.Toggle ("Toggle", myBool);
        // myFloat = EditorGUILayout.Slider ("Slider", myFloat, -3, 3);
        // -----------------------------------------------------------

        //=================== MAP =======================

        EditorGUILayout.BeginToggleGroup("Map", true);
        m_inputDir = EditorGUILayout.TextField("Input dir: ", m_inputDir);

        /*
         * if(GUILayout.Button("Import"))
         * {
         *      STB stb = new STB(m_inputDir);
         *      // STL:
         *      //		  row		  col   row
         *      //Entries[0-62]  Rows[0-5][0-61]
         *      //LZON001  korean "Canyon City of Zant" korean korean korean
         *      //LZON002  korean "City of Junon Polis" korean korean korean
         *      //LZON003  korean "Junon Cartel" ...
         *      //...
         *
         *
         *      int x=1;
         * }
         */


        if (GUILayout.Button("Import"))
        {
            // Several options based on the given path
            // 1. 3DDATA/MAPS/						-> convert rose universe
            // 2. 3DDATA/MAPS/JUNON					-> convert rose planet
            // 3. 3DDATA/MAPS/JUNON/JPT01			-> convert rose map
            // 4. 3DDATA/MAPS/JUNON/JTP01/30_30		-> convert rose patch
            // 5. Some/invalid/path
            bool          notFound  = false;
            DirectoryInfo inDirInfo = new DirectoryInfo(m_inputDir);
            switch (inDirInfo.Name.ToLower())
            {
            case "maps":                                                        // 1.
                ImportGalaxy();
                break;

            case "junon":                                                       // 2.
            case "eldeon":
            case "lunar":
                // TODO: add any new planets here...
                ImportPlanet();
                break;

            default:
                notFound = true;
                break;
            }             // switch

            if (notFound)
            {
                switch (inDirInfo.Parent.Name.ToLower())
                {
                case "junon":                                           // 3.
                case "eldeon":
                case "lunar":
                    // TODO: add any new planets here...
                    ImportMap(inDirInfo.Name.ToLower());
                    break;

                default:
                    GameObject terrain = new GameObject();
                    terrain.name = "Terrain";

                    GameObject terrainObjects = new GameObject();
                    terrainObjects.name = "Terrain Objects";
                    //ImportPatch(m_inputDir, terrain.transform, terrainObjects.transform);			// 4. (LoadPatch will handle 5. properly)
                    break;
                } // switch
            }     // if
        }         // if

        EditorGUILayout.EndToggleGroup();
        // ======================== OBJECT ==========================
        EditorGUILayout.BeginToggleGroup("Animated Object", true);
        m_szcPath = EditorGUILayout.TextField("ZSC: ", m_szcPath);
        objID     = EditorGUILayout.IntField("ID: ", objID);
        bodyPart  = EditorGUILayout.IntField("Body Part: ", bodyPart);
        transform = EditorGUILayout.ObjectField("Transform: ", transform, typeof(Transform), true) as Transform;
        if (GUILayout.Button("Create"))
        {
            if (transform != null)
            {
                player = new RosePlayer(transform.position);                  // Note: Player reference is lost after hitting play.  Must create new after that.
            }
            else
            {
                player = new RosePlayer();
            }
        }

        if (GUILayout.Button("Create Char Select"))
        {
            CharModel model = new CharModel();
            model.rig   = RigType.CHARSELECT;
            model.state = States.HOVERING;

            if (transform != null)
            {
                model.pos = transform.position;
            }

            player = new RosePlayer(model); // Note: Player reference is lost after hitting play.  Must create new after that.
        }

        if (GUILayout.Button("Equip"))
        {
            if (player != null)
            {
                player.equip((BodyPartType)bodyPart, objID);
            }

            //RosePlayer player = new RosePlayer(GenderType.MALE, WeaponType.THSWORD);
            //ResourceManager.Instance.GenerateAnimationAsset(GenderType.MALE, WeaponType.EMPTY);
            //ResourceManager.Instance.GenerateAnimationAssets();
            //GenerateCharSelectAnimations();
        }

        if (GUILayout.Button("GenerateAnimations"))
        {
            //RosePlayer player = new RosePlayer(GenderType.MALE, WeaponType.THSWORD);
            //ResourceManager.Instance.GenerateAnimationAsset(GenderType.MALE, WeaponType.EMPTY);
            //ResourceManager.Instance.GenerateAnimationAssets();
            GenerateCharSelectAnimations();
        }

        EditorGUILayout.EndToggleGroup();
    }     // OnGui()