Ejemplo n.º 1
0
    public static void GenerateDungeon()
    {
        DungeonGenerator.GetInstance().CompleteDungeon(Stage_Manager.GetInstance().GetNextFloorRoomNumber());
        List <IRoom> rooms = DungeonGenerator.GetInstance().allrooms;

        foreach (IRoom room in rooms)
        {
            using (Packet packet = new Packet((int)ServerPackets.generate_IRoom))
            {
                packet.Write(room.RoomObject.name);
                packet.Write(room.RoomObject.transform.position);
                packet.Write(room.Tiles_number_x);
                packet.Write(room.Tiles_number_z);
                packet.Write(room.Category);
                packet.Write(room.Type);
                SendTcpDataToAll(packet);
            }

            foreach (GameObject tile in room.Instantiated_Tiles)
            {
                string     tile_name     = tile.name.Replace("(Clone)", "");
                Vector3    tile_position = tile.transform.position;
                Quaternion tile_rotation = tile.transform.rotation;
                using (Packet packet = new Packet((int)ServerPackets.generate_Tile))
                {
                    packet.Write(tile_name);
                    packet.Write(tile_position);
                    packet.Write(tile_rotation);
                    SendTcpDataToAll(packet);
                }
            }
        }
    }
Ejemplo n.º 2
0
    private int playerMeanMastery = 10; //TODO implement a player leveling system.

    /// <summary>
    /// Calculates the floor's difficulty factor depending on the floor number, player mastery and a standard factor.
    /// </summary>
    public void CalculateNewDifficultyFactor()
    {
        float floorNumberPercent   = 30f;
        float playerMasteryPercent = 60f;
        float standardPercent      = 10f;

        difficultyFactor = (Stage_Manager.GetInstance().GetFloorNumber() / Stage_Manager.GetInstance().GetMaxFloorNumber() * floorNumberPercent) + (playerMeanMastery / 100 * playerMasteryPercent) + standardPercent;
    }
Ejemplo n.º 3
0
 private Stage_Manager()
 {
     instance           = this;
     startingRoomNumber = 10;
     maxRoomNumber      = 50;
     floorNumber        = 1;
     maxFloorNumber     = 100;
 }
Ejemplo n.º 4
0
    private void Start()
    {
        //Cache
        _myCharacterMovement = FindObjectOfType <Character_Movement>();
        _myStageManager      = FindObjectOfType <Stage_Manager>();

        InstantiateTheChracterMesh();
        InstantiateTheFirstStackOfCharacter();
        _CanInteract = true;
    }
 private void Start()
 {
     _myCharacterMovement = GetComponent <Character_Movement>();
     _myStageManager      = FindObjectOfType <Stage_Manager>();
 }
Ejemplo n.º 6
0
 // Start is called before the first frame update
 void Start()
 {
     DungeonGenerator.GetInstance().CompleteDungeon(Stage_Manager.GetInstance().GetNextFloorRoomNumber());
 }
Ejemplo n.º 7
0
 public void ProceedNextStage()
 {
     StartCoroutine(Stage_Manager.GetInstance().ChangeFloor());
 }