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; }
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; }
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; }
public CharSelectPacket(CharModel charModel) { operation = (int)UserOperation.CREATECHAR; this.charModel = charModel; }
/* 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 (); }
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; }
public RosePlayer( Vector3 position ) { charModel = new CharModel (); charModel.pos = position; LoadPlayer (charModel); }
public RosePlayer(CharModel charModel) { this.charModel = charModel; LoadPlayer (charModel); }
public RosePlayer(GenderType gender) { charModel = new CharModel (); charModel.gender = gender; LoadPlayer (charModel); }
public RosePlayer() { charModel = new CharModel (); LoadPlayer (charModel); }
private void LoadPlayerSkeleton( CharModel charModel) { LoadPlayerSkeleton( charModel.gender, charModel.weapon, charModel.rig, charModel.equip.weaponID, charModel.equip.chestID, charModel.equip.handID, charModel.equip.footID, charModel.equip.hairID, charModel.equip.faceID, charModel.equip.backID, charModel.equip.capID, charModel.equip.shieldID); }
private void LoadPlayer(CharModel charModel) { // Get the correct resources bool male = (charModel.gender == GenderType.MALE); rm = ResourceManager.Instance; player = new GameObject(charModel.name); LoadPlayerSkeleton (charModel); // Set layer to Players player.layer = LayerMask.NameToLayer("Players"); //add PlayerController script PlayerController controller = player.AddComponent<PlayerController>(); controller.rosePlayer = this; controller.playerInfo.tMovS = charModel.stats.movSpd; //add Character controller Vector3 center = skeleton.transform.FindChild("b1_pelvis").localPosition; center.y = 0.95f; float height = 1.7f; float radius = Math.Max(playerBounds.extents.x, playerBounds.extents.y) / 2.0f; CharacterController charController = player.AddComponent<CharacterController>(); charController.center = center; charController.height = height; charController.radius = radius; //add collider CapsuleCollider c = player.AddComponent<CapsuleCollider>(); c.center = center; c.height = height; c.radius = radius; c.direction = 1; // direction y /* //add event trigger EventTrigger eventTrigger = player.AddComponent<EventTrigger>(); EventTrigger.Entry entry = new EventTrigger.Entry(); entry.eventID = EventTriggerType.PointerClick; BaseEventData eventData = new BaseEventData(eventSystem); eventData.selectedObject entry.callback.AddListener( (eventData) => { controller.}) */ player.transform.position = charModel.pos; controller.SetAnimationStateMachine(charModel.rig, charModel.state); }