Наследование: MonoBehaviour
Пример #1
0
    // Use this for initialization
    void Start()
    {
        spriteDict = new Dictionary<string, Sprite>();
        loadSprites();

        rm = new RoomManager();
    }
 void Start()
 {
     im = GlobalVars.interact_mode;
     rm = GlobalVars.room_manager;
     dia = GlobalVars.description_ui;
     dm = GlobalVars.dialogue_manager;
 }
Пример #3
0
    public Dungeon MakeDungeon()
    {
        roomManager = GameObject.FindGameObjectWithTag("RoomManager").transform;

        if(roomManager == null)
        {
            Debug.LogError("There is no RoomManager in the scene. Level can't be built.");
        }
        else
        {
            roomManagerScript = roomManager.GetComponent<RoomManager>();

            if (roomManagerScript == null) Debug.LogError("No RoomManager script attached to the RoomManager");
        }

        dun = this.dFactory.createDungeon(gridWidth, gridHeight, linearProb);

        List<ConcreteRoom> rooms = dun.getDungeonRooms();

        foreach(ConcreteRoom cRoom in dun.getDungeonRooms())
        {
            cRoom.setRoomPrefab(roomManagerScript);
            cRoom.setWallPrefab(roomManagerScript);
        }

        spawnRooms(dun.getDungeonRooms());

        return dun;
    }
Пример #4
0
 public static RoomManager getInstance()
 {
     if (instance == null) {
         instance = new RoomManager();
     }
     return instance;
 }
Пример #5
0
 public override void setWallPrefab(RoomManager roomManagerScript)
 {
     this.leftWallPrefab = roomManagerScript.getRoomWall();
     this.rightWallPrefab = roomManagerScript.getRoomWall();
     this.topWallPrefab = roomManagerScript.getRoomWall();
     this.bottomWallPrefab = roomManagerScript.getRoomWall();
 }
    public void Start()
    {
        PlayerVariables.bPlayingOnServer = true;

        _RoomCreatorGUI = new RoomCreatorGUI(0, 0);
        _RoomManager    = new RoomManager();
        _RoomViewGUI    = new RoomViewGUI(200, 0);

        _RoomCreatorGUI.OnCreateGameCallback(delegate(string roomName, string roomPassword) {
            Application.LoadLevel("SetupAGame");
            networkView.RPC("CreateRoom", RPCMode.Server, roomName, roomPassword, Network.player);
        });

        _RoomCreatorGUI.OnRefreshCallback(delegate {
            RefreshRoomList();
        });

        _RoomViewGUI.OnEnterRoomCallback(delegate(int roomIndex) {
            networkView.RPC("RequestEnterRoom", RPCMode.Server, Network.player, roomIndex);
        });

        _RoomViewGUI.SetRoomManager(_RoomManager);

        RefreshRoomList();
    }
Пример #7
0
 void Awake()
 {
     if (it != this)
     {
         it = this;
         Init();
     }
 }
 void Awake()
 {
     _rectTransform = GetComponent<RectTransform>();
     _roomManager = GameObject.FindGameObjectWithTag(Tags.ROOMMANAGER).GetComponent<RoomManager>();
     for (int i = 0; i < transform.childCount; i++) {
         _myChildren.Add(transform.GetChild(i).gameObject);
     }
 }
Пример #9
0
    public void Awake()
    {
        if (Instance != null)
        {
            Destroy(gameObject);
            return;
        }

        Instance = this;
    }
Пример #10
0
    // Use this for initialization
    public void Fill()
    {
        cible.Clear ();
        ratioMax = 0;
        ratioX = 0;
        ratioY = 0;
        ratio = 0;

        GameManager = GameObject.FindGameObjectWithTag ("Manager");
        Grid = GameManager.GetComponent<GridManager> ();
        RoomLists = GameManager.GetComponent<RoomManager> ();

        for (int x = 0; x < Grid.DungeonLength; x++) {

            for (int y = 0; y < Grid.DungeonWidth; y++) {

                if (Grid._Dungeon [x, y] != null)

                {

                    ratioX = 11 - x;
                    ratioY = 11 - y;
                    ratio = ratioX + ratioY;

                    if (ratio < 0) {
                        ratioX = x-11;
                        ratioY = y-11;
                        ratio = ratioX + ratioY;
                    }

                    if (ratio == ratioMax) {

                        cible.Add(Grid._Dungeon[x,y]);

                        } else { if (ratio > ratioMax) {

                                    ratioMax = ratio;
                                    cible.Clear();
                                    cible.Add(Grid._Dungeon[x,y]);

                                }
                        }

                }
            }
        }

        foreach (GameObject room in cible) {

            GameObject EndRoom = Instantiate (End) as GameObject;
            EndRoom.transform.position = room.transform.position;

        }
    }
Пример #11
0
    void Start()
    {
        _workflow = GetComponentInParent<RoomWorkflow>();
        _roomManager = GetComponentInParent<RoomManager>();
        if (_roomManager == null)
        {
            Debug.LogError("Expected exitdoorway to have a room manager parent");
        }

        InitExitSet();
    }
Пример #12
0
    // Use this for initialization
    void Start()
    {
        instance = this;
        roomScript = GetComponent<RoomManager>();
        InitGame();

        this.player = PlayerController.instance;
        this.camera = CameraController.instance;

        this.roomWidth = this.roomScript.columns;
        this.roomHeight = this.roomScript.rows;

        this.numRooms = this.roomScript.roomSide;
    }
    void Start()
    {
        im = GlobalVars.interact_mode;
        rm = GlobalVars.room_manager;
        dia = GlobalVars.dialogue_box;

        /*
        GameObject camera = GameObject.Find ("Main Camera");
        if(camera)
            di = camera.GetComponent<DrawInventory>();
        else
            di = null;
            */
    }
Пример #14
0
    void Start()
    {
        collider.isTrigger = false;
        //if (renderer != null) renderer.material.color = Color.grey;

        _roomManager = GetComponentInParent<RoomManager>();
        if (_roomManager == null)
        {
            Debug.LogError("Expected exitdoorway to have a room manager parent");
        }

        if (StartsActive)
        {
            Activate();
        }
    }
Пример #15
0
 // Use this for initialization
 void Start()
 {
     this.roomManager = world.GetComponent<RoomManager> ();
     this.rt = this.GetComponent<RectTransform> ();
 }
 void Start()
 {
     rm = GlobalVars.room_manager;
 }
Пример #17
0
        public Game(int conns)
        {
            this.ClientManager = new GameClientManager(conns);
            if (GoldTree.GetConfig().data["client.ping.enabled"] == "1")
            {
                this.ClientManager.method_10();
            }
            DateTime arg_45_0 = DateTime.Now;

            Logging.smethod_0("Connecting to database...");
            using (DatabaseClient adapter = GoldTree.GetDatabase().GetClient())
            {
                Logging.WriteLine("completed!");
                GoldTree.Class3_0 = this;
                this.method_17(adapter);
                this.BanManager           = new ModerationBanManager();
                this.RoleManager          = new RoleManager();
                this.HelpTool             = new HelpTool();
                this.Catalog              = new Catalog();
                this.Navigator            = new Navigator();
                this.ItemManager          = new ItemManager();
                this.RoomManager          = new RoomManager();
                this.AdvertisementManager = new AdvertisementManager();
                this.PixelManager         = new PixelManager();
                this.AchievementManager   = new AchievementManager();
                this.ModerationTool       = new ModerationTool();
                this.BotManager           = new BotManager();
                this.Marketplace          = new Marketplace();
                this.QuestManager         = new QuestManager();
                this.class8_0             = new GoldTreeEnvironment();
                this.Groups = new Groups();
                GoldTreeEnvironment.smethod_0(adapter);
                this.BanManager.method_0(adapter);
                LicenseTools.String_5 = "FB3A78763D7819F39D79781F6F8DFCCD";
                this.RoleManager.method_0(adapter);
                this.HelpTool.method_0(adapter);
                this.HelpTool.method_3(adapter);
                this.ModerationTool.method_1(adapter);
                this.ModerationTool.method_2(adapter);
                LicenseTools.String_5 = "B8AC48FA7DB791129E59CBA4BC2CC5DD";
                this.ItemManager.method_0(adapter);
                LicenseTools.String_5 = "7866151A40EEB2379D61F640B26ED23B";
                this.Catalog.method_0(adapter);
                this.Catalog.method_1();
                this.Navigator.method_0(adapter);
                LicenseTools.String_5 = LicenseTools.String_6;
                this.RoomManager.method_8(adapter);
                this.RoomManager.method_0();
                this.class276_0 = new NavigatorCache();
                this.AdvertisementManager.method_0(adapter);
                this.BotManager.method_0(adapter);
                LicenseTools.String_5 = LicenseTools.String_3;
                LicenseTools.String_5 = LicenseTools.String_6.Length.ToString();
                AchievementManager.smethod_0(adapter);
                this.PixelManager.method_0();
                ChatCommandHandler.smethod_0(adapter);
                LicenseTools.String_5 = LicenseTools.String_3.Length.ToString();
                this.QuestManager.method_0();
                Groups.smethod_0(adapter);
                this.method_0(adapter, 1);
            }
            this.task_0 = new Task(new Action(LowPriorityWorker.smethod_0));
            this.task_0.Start();
        }
Пример #18
0
 // Use this for initialization
 void Start()
 {
     curPos = transform.position;
     roomManager = (RoomManager)GameObject.Find("Left4").GetComponent(typeof(RoomManager));
 }
Пример #19
0
 private void Start()
 {
     lvManager     = GetComponentInParent <LevelManager>();
     myRoomManager = GetComponentInParent <RoomManager>();
 }
Пример #20
0
 /// <summary>
 /// 绑定房间状态
 /// </summary>
 public void BindRoomState()
 {
     this.dlRoomState.DataSource = RoomManager.GetAllRoomsByTypeId(0);
     this.dlRoomState.DataBind();
 }
Пример #21
0
        public override Result Process()
        {
            var result = new ValueResult <IEnumerable <Room> >(RoomManager.GetEmptyRooms());

            return(result);
        }
    // Use this for initialization
    void Start()
    {
        Cursor.lockState = CursorLockMode.Locked;

        gameObject.transform.position = new Vector3(9.5f, -1.5f, 1.1f);
        //cam1.transform.position = new Vector3(-12.591f, 3.0f, -4.65f);
        //cam2.transform.position = new Vector3(-17.47f, 3.0f, 17.7f);

        //load in our cameras
        totalCamera.Add(cam1);
        totalCamera.Add(cam2);
        totalCamera.Add(cam3);
        totalCamera.Add(cam4);
        totalCamera.Add(cam5);
        totalCamera.Add(cam6);
        totalCamera.Add(cam7);
        totalCamera.Add(cam8);
        totalCamera.Add(cam9);
        totalCamera.Add(cam10);
        totalCamera.Add(cam11);
        totalCamera.Add(cam12);
        totalCamera.Add(cam13);
        totalCamera.Add(cam14);
        totalCamera.Add(cam15);

        //original rotations to reset to
        ogRotation.Add(cam1.transform.rotation.eulerAngles);
        ogRotation.Add(cam2.transform.rotation.eulerAngles);
        ogRotation.Add(cam3.transform.rotation.eulerAngles);
        ogRotation.Add(cam4.transform.rotation.eulerAngles);
        ogRotation.Add(cam5.transform.rotation.eulerAngles);
        ogRotation.Add(cam6.transform.rotation.eulerAngles);
        ogRotation.Add(cam7.transform.rotation.eulerAngles);
        ogRotation.Add(cam8.transform.rotation.eulerAngles);
        ogRotation.Add(cam9.transform.rotation.eulerAngles);
        ogRotation.Add(cam10.transform.rotation.eulerAngles);
        ogRotation.Add(cam11.transform.rotation.eulerAngles);
        ogRotation.Add(cam12.transform.rotation.eulerAngles);
        ogRotation.Add(cam13.transform.rotation.eulerAngles);
        ogRotation.Add(cam14.transform.rotation.eulerAngles);
        ogRotation.Add(cam15.transform.rotation.eulerAngles);

        if (OverID == 1)
        {
            if (camChoice)
            {
                totalCamera[3].GetComponentInChildren <Camera>().enabled = true;
            }
            else
            {
                totalCamera[3].GetComponentInChildren <Camera>().enabled = false;
            }

            for (int i = 0; i < 3; i++)
            {
                totalCamera[i].GetComponentInChildren <Camera>().enabled = false;
            }

            for (int i = 4; i < totalCamera.Count; i++)
            {
                totalCamera[i].GetComponentInChildren <Camera>().enabled = false;
            }
            camRoomName = "Room4";
            trapSelect  = 4;
        }
        else if (OverID == 2)
        {
            if (camChoice)
            {
                totalCamera[11].GetComponentInChildren <Camera>().enabled = true;
            }
            else
            {
                totalCamera[11].GetComponentInChildren <Camera>().enabled = false;
            }

            for (int i = 0; i < 11; i++)
            {
                totalCamera[i].GetComponentInChildren <Camera>().enabled = false;
            }

            for (int i = 12; i < totalCamera.Count; i++)
            {
                totalCamera[i].GetComponentInChildren <Camera>().enabled = false;
            }
            camRoomName = "Room12";
            trapSelect  = 12;
        }

        theRoomManager = GameObject.FindGameObjectWithTag("RoomManager").GetComponent <RoomManager>();
    }
Пример #23
0
        public ActionResult Research()
        {
            // En premier lieu, je récupère les informations envoyées par le formulaire (sauf le nombre de personnes)
            string   location  = Request["location"].ToString();
            DateTime dateStart = Convert.ToDateTime(Request["checkIn"]);
            DateTime dateEnd   = Convert.ToDateTime(Request["checkOut"]);
            int      category  = Convert.ToInt16(Request["category"]);

            // Pour les checkboxes, j'effectue un test de ce qu'elles retournent pour leur affecter la bonne valeur
            Boolean hasWifi, hasParking, hasTV, hasHairDryer;

            if (Convert.ToString(Request["wifi"]) == "wifi")
            {
                hasWifi = true;
            }
            else
            {
                hasWifi = false;
            }

            if (Convert.ToString(Request["parking"]) == "parking")
            {
                hasParking = true;
            }
            else
            {
                hasParking = false;
            }

            if (Convert.ToString(Request["tv"]) == "tv")
            {
                hasTV = true;
            }
            else
            {
                hasTV = false;
            }

            if (Convert.ToString(Request["hairDryer"]) == "hairDryer")
            {
                hasHairDryer = true;
            }
            else
            {
                hasHairDryer = false;
            }


            // D'abord, je récupère la liste des hôtels correspondant à la recherche (test pour savoir si elle est avancée)
            List <Hotel> hotels = new List <Hotel>();

            if (category.Equals(0) && hasWifi.Equals(false) && hasParking.Equals(false))
            {
                hotels = HotelManager.GetAllHotelsSimple(location);
            }
            else
            {
                hotels = HotelManager.GetAllHotelsAdvanced(location, category, hasWifi, hasParking);
            }


            // Je récupère, pour chaque hôtel, la liste de toutes les photos qui lui correspondent
            // Puis, pour chaque hôtel, je vais rechercher la liste de toutes ses chambres
            // Je vais également rechercher la liste des chambres correspondant à la recherche (test pour savoir si elle est avancée)
            // Tout cela est effectué sur la base du ViewModel "HotelsWithRoomsVM"
            List <HotelsWithRoomsVM> list = new List <HotelsWithRoomsVM>();

            if (hotels != null)
            {
                foreach (var item in hotels)
                {
                    // Ici, je récupère toutes les photos liées à un hôtel
                    // La fonction DISTINCT est utilisée puisque beaucoup d'URL dans la BDD sont identiques
                    IEnumerable <Picture> pics = PictureManager.GetAllPictures(item.IdHotel);
                    List <string>         urls = pics.Select(pic => pic.Url).Distinct().ToList();


                    // Je récupère toutes les chambres qui sont liées à l'hôtel
                    List <Room> rooms       = RoomManager.GetAllRooms(item.IdHotel);
                    decimal     totalPrice  = 0;
                    int         numberRooms = rooms.Count();

                    foreach (var element in rooms)
                    {
                        totalPrice += element.Price;
                    }

                    // Je calcule un prix moyen pour l'hôtel, en fonction de toutes les chambres
                    int avgPrice = (int)(Math.Round((totalPrice / numberRooms), 0));


                    // Je récupère une liste de chambres occupées et une liste de chambres disponibles
                    List <Room> occupiedRooms  = RoomManager.GetOccupiedRooms(item.IdHotel, dateStart, dateEnd);
                    List <Room> availableRooms = new List <Room>();

                    // Les chambres disponibles sont recherchées en fonction de la recherche simple ou avancée
                    if (hasTV.Equals(false) && hasHairDryer.Equals(false))
                    {
                        availableRooms = RoomManager.GetSearchedRoomsSimple(item.IdHotel, dateStart, dateEnd);
                    }
                    else
                    {
                        availableRooms = RoomManager.GetSearchedRoomsAdvanced(item.IdHotel, dateStart, dateEnd, hasTV, hasHairDryer);
                    }


                    // Pour chaque chambre disponible, je vais rechercher ses photos
                    List <AvailableRoomVM> roomsList = new List <AvailableRoomVM>();

                    if (availableRooms != null)
                    {
                        foreach (var room in availableRooms)
                        {
                            IEnumerable <Picture> roomPics = PictureManager.GetRoomPictures(room.IdRoom);
                            List <string>         roomUrls = roomPics.Select(pic => pic.Url).Distinct().ToList();

                            AvailableRoomVM availableRoom = new AvailableRoomVM
                            {
                                IdRoom       = room.IdRoom,
                                Number       = room.Number,
                                Description  = room.Description,
                                Type         = room.Type,
                                Price        = room.Price,
                                HasTV        = room.HasTV,
                                HasHairDryer = room.HasHairDryer,
                                PicturesUrls = roomUrls
                            };

                            roomsList.Add(availableRoom);
                        }
                    }


                    // Je calcule ensuite le taux d'occupation de l'hôtel selon la période sélectionnée par l'utilisateur
                    var calcul = 0.0;
                    if (occupiedRooms != null)
                    {
                        calcul = (double)((occupiedRooms.Count() * 100) / rooms.Count());
                    }
                    int rate = (int)(Math.Round(calcul, 0));


                    // Je crée ensuite, selon le ViewModel HotelsWithRoomsVM, chaque hôtel et je l'ajoute à la liste
                    HotelsWithRoomsVM hotelWithRooms = new HotelsWithRoomsVM
                    {
                        IdHotel        = item.IdHotel,
                        Name           = item.Name,
                        Description    = item.Description,
                        Location       = item.Location,
                        Category       = item.Category,
                        HasWifi        = item.HasWifi,
                        HasParking     = item.HasParking,
                        Phone          = item.Phone,
                        Email          = item.Email,
                        Website        = item.Website,
                        PicturesUrls   = urls,
                        Rooms          = rooms,
                        AvailableRooms = roomsList,
                        OccupiedRooms  = occupiedRooms,
                        Occupation     = rate,
                        AveragePrice   = avgPrice
                    };

                    list.Add(hotelWithRooms);
                }
            }


            // Le dernier paramètre à tester est le nombre de personnes sélectionné
            // Si la capacité totale des chambres disponibles est inférieure au choix, la liste ne sera pas affichée
            int total = 0;

            foreach (var element in list)
            {
                if (element.AvailableRooms != null)
                {
                    foreach (var item in element.AvailableRooms)
                    {
                        total = total + item.Type;
                    }
                }
            }

            string personsString = Convert.ToString(Request["numberPersons"]);
            List <HotelsWithRoomsVM> emptyList = new List <HotelsWithRoomsVM>();

            if (personsString.Equals("10+"))
            {
                if (total < 11)
                {
                    list = emptyList;
                }
            }
            else
            {
                int persons = Convert.ToInt16(Request["numberPersons"]);
                if (total < persons)
                {
                    list = emptyList;
                }
            }


            // Passage des informations de dates dans des variables "session" pour pouvoir les passer à la confirmation de réservation
            Session["dateStart"] = dateStart;
            Session["dateEnd"]   = dateEnd;
            Session["duration"]  = (dateEnd - dateStart).Days;


            // Je retourne la liste, désormais complète, à la vue
            return(View(list));
        }
Пример #24
0
        void Initiate(object sender, EventArgs e)
        {
            this.listView1.Clear();
            this.listView1.View      = View.Details;
            this.listView1.GridLines = true;

            this.listView1.Columns.Add("房间名称",
                                       listView1.Width / 5, HorizontalAlignment.Center);
            this.listView1.Columns.Add("房间类型",
                                       listView1.Width / 5, HorizontalAlignment.Center);
            this.listView1.Columns.Add("房间状态",
                                       listView1.Width / 5, HorizontalAlignment.Center);
            this.listView1.Columns.Add("房间日消费",
                                       listView1.Width / 5, HorizontalAlignment.Center);
            this.listView1.Columns.Add("房间押金",
                                       listView1.Width / 5, HorizontalAlignment.Center);

            ArrayList rooms = new RoomManager().GetAllRooms();

            foreach (Room r in rooms)
            {
                ListViewItem lvi = new ListViewItem();

                lvi.Text = r.Name;
                switch (r.Type)
                {
                case 0:
                    lvi.SubItems.Add("单人间");
                    break;

                case 1:
                    lvi.SubItems.Add("双人间");
                    break;

                case 2:
                    lvi.SubItems.Add("三人间");
                    break;

                case 3:
                    lvi.SubItems.Add("客房");
                    break;
                }

                switch (r.State)
                {
                case 0:
                    lvi.SubItems.Add("空客房");
                    break;

                case 1:
                    lvi.SubItems.Add("满客房");
                    break;

                case 2:
                    lvi.SubItems.Add("脏客房");
                    break;

                case 3:
                    lvi.SubItems.Add("维修中");
                    break;

                case 4:
                    lvi.SubItems.Add("已到时");
                    break;
                }

                lvi.SubItems.Add(r.DayCount.ToString());
                lvi.SubItems.Add(r.Deposit.ToString());
                listView1.Items.Add(lvi);
            }
        }
Пример #25
0
 public void Save()
 {
     RoomManager.SaveCurrentRoom();
 }
 private void Start()
 {
     RoomManager = FindObjectOfType <RoomManager>();
 }
Пример #27
0
 void Awake()
 {
     Instance = this;
 }
Пример #28
0
        //private Dictionary<string, ChatRoom> _rooms;

        public ChatHub(RoomManager roomManager)
        {
            _roomManager = roomManager;
        }
Пример #29
0
	void Awake () {

        // singleton code
        // ensures that only one instance of the RoomManager will ever exist in the Unity scene
	    if(instance == null)
        {
            instance = this;
        }
        else if(instance != this)
        {
            Destroy(gameObject);
        }

        // get reference to player
        player = GameObject.FindGameObjectWithTag("Player");

        // this object persists on reload
        DontDestroyOnLoad(gameObject);

        // populate tileset dictionary
        tileset = new Dictionary<int, GameObject>()
        {
            {0, floor },
            {1, wall },
            {2, door }
        };

        // build a new level layout
        ResetLevel();
        BuildLayout();

        // pick a random room for the player to start in
        currentRoom = level[(int)Random.Range(0, level.Count - 1)];

        // use the centre of the room as the player start position
        playerPos = new Vector3(currentRoom.width * tileOffset / 2, currentRoom.height * tileOffset / 2, 0);
        player.transform.position = playerPos;

        // BuildRoom creates the tile layout for each room in the level
        foreach(var room in level)
        {
            BuildRoom(room);
        }

        // finally we draw the current room on the screen
        DrawRoom(currentRoom);
	}
Пример #30
0
    private void CreateDungeon()
    {
        rooms.Add(Instantiate(roomPrefabs[0]).GetComponent <RoomManager>());
        RoomManager currentRoom = rooms[0];

        this.currentRoom      = currentRoom;
        currentRoom.name      = "Room 0";
        currentRoom.Completed = true;
        Vector2 currentPosition = new Vector2(0, 0);
        int     currentNumRooms = 1;
        Dictionary <Vector2, RoomManager> map = new Dictionary <Vector2, RoomManager>
        {
            { new Vector2(0, 0), currentRoom }
        };

        /*Dictionary<RoomManager, Vector2> inverseMap = new Dictionary<RoomManager, Vector2>
         * {
         *  { currentRoom, new Vector2(0, 0) }
         * };
         * while (currentNumRooms < numRooms)
         * {
         *  RoomManager randomRoom = rooms[UnityEngine.Random.Range(0, rooms.Count - 1)];
         *  currentPosition = inverseMap[randomRoom];
         *  Direction? dir = GetRandomEmptyDirection(randomRoom);
         *  Debug.Log(randomRoom + " | " + dir);
         *  if (dir != null)
         *  {
         *      Direction randomDir = (Direction)dir;
         *      if (map.ContainsKey(currentPosition + DirectionToVec2(randomDir)))
         *      {
         *          ConnectRooms(currentRoom, randomDir, map[currentPosition + DirectionToVec2(randomDir)]);
         *          currentRoom = currentRoom[randomDir];
         *      }
         *      else
         *      {
         *          RoomManager newRoom = Instantiate(roomPrefabs[0]).GetComponent<RoomManager>();
         *          rooms.Add(newRoom);
         *          map.Add(currentPosition + DirectionToVec2(randomDir), newRoom);
         *          inverseMap.Add(newRoom, currentPosition + DirectionToVec2(randomDir));
         *          newRoom.name = "Room " + currentNumRooms;
         *
         *          ConnectRooms(currentRoom, randomDir, newRoom);
         *          MoveRoomRelativeTo(newRoom, randomDir, currentRoom);
         *
         *          currentRoom = newRoom;
         *          currentNumRooms++;
         *      }
         *      currentPosition += DirectionToVec2(randomDir);
         *  }
         * }*/
        // weighted random algorithm
        while (currentNumRooms < numRooms)
        {
            Direction randomDir = GetRandomDirection(currentPosition);
            //Debug.Log(currentPosition + DirectionToVec2(randomDir));
            if (currentRoom.neighbors.ContainsKey(randomDir))
            {
                currentRoom = currentRoom.neighbors[randomDir];
            }
            else if (map.ContainsKey(currentPosition + DirectionToVec2(randomDir)))
            {
                ConnectRooms(currentRoom, randomDir, map[currentPosition + DirectionToVec2(randomDir)]);
                currentRoom = currentRoom.neighbors[randomDir];
            }
            else
            {
                RoomManager newRoom = Instantiate(roomPrefabs[1]).GetComponent <RoomManager>();
                rooms.Add(newRoom);
                map.Add(currentPosition + DirectionToVec2(randomDir), newRoom);
                newRoom.name = "Room " + currentNumRooms;

                ConnectRooms(currentRoom, randomDir, newRoom);
                MoveRoomRelativeTo(newRoom, randomDir, currentRoom);

                currentRoom = newRoom;
                currentNumRooms++;

                //enemies.CreateEnemy(currentPosition);
            }
            currentPosition += DirectionToVec2(randomDir);
            //Debug.Log(currentPosition);
        }

        // Build boss room
        Direction?direction = GetRandomEmptyDirection(currentRoom);

        while (direction == null)
        {
            currentPosition += DirectionToVec2(GetRandomDirection(currentPosition));
            currentRoom      = map[currentPosition];
            direction        = GetRandomEmptyDirection(currentRoom);
        }
        RoomManager bossRoom = Instantiate(roomPrefabs[0]).GetComponent <RoomManager>();

        rooms.Add(bossRoom);
        map.Add(currentPosition + DirectionToVec2((Direction)direction), bossRoom);
        bossRoom.name = "Boss Room";

        ConnectRooms(currentRoom, (Direction)direction, bossRoom);
        MoveRoomRelativeTo(bossRoom, (Direction)direction, currentRoom);
    }
 void Start()
 {
     roomManager = GameObject.Find ("RoomManager").GetComponent<RoomManager> ();
     roomManager.RegisterWithMouseActions (this);
 }
Пример #32
0
 public static void OnTimer()
 {
     CheckPing();
     RoomManager.Update();
 }
Пример #33
0
        public IEnumerator WalkForwardTransition(Vector3 targetDirection, Transform destination, RoomManager newRoom = null, RoomManager oldRoom = null)
        {
            var targetEndpoint = destination.position;

            iTween.MoveTo(gameObject, iTween.Hash("position", transform.position + (targetDirection * 5f), "time", .5f, "easetype", iTween.EaseType.linear));
            yield return new WaitForSeconds(.25f);
            yield return StartCoroutine(CameraManager.Instance.DoWipeOut(.5f));
            yield return new WaitForSeconds(.5f);
            //CameraManager.Instance.GetCameraRig().position = targetEndpoint;
            transform.position = targetEndpoint;
            iTween.MoveTo(gameObject, iTween.Hash("position", destination.position + destination.forward *1f, "time", 1f, "easetype", iTween.EaseType.linear));
            yield return new WaitForSeconds(.75f);
            if (newRoom != null)
            {
                newRoom.OnRoomEnter();
            }
            if (oldRoom != null)
            {
                oldRoom.OnRoomExit();
            }
            yield return StartCoroutine(CameraManager.Instance.DoWipeIn(.5f));
        }
Пример #34
0
        private void Init(string[] args)
        {
            m_NameHandleCallback = this.OnNameHandleChanged;
            m_MsgCallback        = this.OnMessage;
            m_CmdCallback        = this.OnCommand;
            m_MsgResultCallback  = this.OnMessageResult;
            CenterClientApi.Init("roomserver", args.Length, args, m_NameHandleCallback, m_MsgCallback, m_MsgResultCallback, m_CmdCallback);

            Console.WriteLine("begin init roomserver...");
            HomePath.InitHomePath();

            bool ret = LogSys.Init("./config/logconfig.xml");

            System.Diagnostics.Debug.Assert(ret);

            last_tick_time_          = TimeUtility.GetServerMilliseconds();
            last_send_roominfo_time_ = last_tick_time_;
            is_continue_register_    = true;
            channel_ = new PBChannel(MessageMapping.Query, MessageMapping.Query);
            channel_.DefaultServiceName = "Lobby";
            lobby_connector_            = new Connector(channel_);

            server_ip_   = "127.0.0.1";
            server_port_ = 9528;

            StringBuilder sb = new StringBuilder(256);

            if (CenterClientApi.GetConfig("name", sb, 256))
            {
                room_server_name_ = sb.ToString();
            }
            if (CenterClientApi.GetConfig("ServerIp", sb, 256))
            {
                server_ip_ = sb.ToString();
            }
            if (CenterClientApi.GetConfig("ServerPort", sb, 256))
            {
                server_port_ = uint.Parse(sb.ToString());
            }
            if (CenterClientApi.GetConfig("Debug", sb, 256))
            {
                int debug = int.Parse(sb.ToString());
                if (debug != 0)
                {
                    GlobalVariables.Instance.IsDebug = true;
                }
            }

            GlobalVariables.Instance.IsClient = false;

            FileReaderProxy.RegisterReadFileHandler((string filePath) =>
            {
                byte[] buffer = null;
                try
                {
                    buffer = File.ReadAllBytes(filePath);
                }
                catch (Exception e)
                {
                    LogSys.Log(LOG_TYPE.ERROR, "Exception:{0}\n{1}", e.Message, e.StackTrace);
                    return(null);
                }
                return(buffer);
            }, (string filepath) => { return(File.Exists(filepath)); });
            LogSystem.OnOutput += (Log_Type type, string msg) =>
            {
                switch (type)
                {
                case Log_Type.LT_Debug:
                    LogSys.Log(LOG_TYPE.DEBUG, msg);
                    break;

                case Log_Type.LT_Info:
                    LogSys.Log(LOG_TYPE.INFO, msg);
                    break;

                case Log_Type.LT_Warn:
                    LogSys.Log(LOG_TYPE.WARN, msg);
                    break;

                case Log_Type.LT_Error:
                case Log_Type.LT_Assert:
                    LogSys.Log(LOG_TYPE.ERROR, msg);
                    break;
                }
            };

            LoadData();

            LogSys.Log(LOG_TYPE.DEBUG, "room server init ip: {0}  port: {1}", server_ip_, server_port_);

            ret = Serialize.Init();
            if (!ret)
            {
                LogSys.Log(LOG_TYPE.DEBUG, "Serialize init error !!!");
            }
            else
            {
                LogSys.Log(LOG_TYPE.DEBUG, "Serialize init OK.");
            }

            thread_count_          = 16;
            per_thread_room_count_ = 20;
            uint tick_interval = 50;

            room_mgr_ = new RoomManager(thread_count_, per_thread_room_count_,
                                        tick_interval, lobby_connector_);
            room_mgr_.Init();
            IOManager.Instance.Init((int)server_port_);
            room_mgr_.StartRoomThread();
            AiViewManager.Instance.Init();
            SceneLogicViewManager.Instance.Init();
            ImpactViewManager.Instance.Init();

            ServerSkillSystem.StaticInit();
            ServerStorySystem.StaticInit();
            DashFire.GmCommands.GmStorySystem.StaticInit();

            channel_.Register <Msg_LR_ReplyRegisterRoomServer>(HandleReplyRegisterRoomServer);
            room_mgr_.RegisterMsgHandler(channel_);

            LogSys.Log(LOG_TYPE.DEBUG, "room server init ok.");
        }
Пример #35
0
 private void OnApplicationQuit()
 {
     _instance = null;
 }
Пример #36
0
 private void Awake()
 {
     Instance         = this;
     maxAmountOfRooms = maxAmountOfRoomsThisTime;
 }
Пример #37
0
 public JoinRoomHandler(IServiceProvider services)
 {
     _roomManager  = services.GetService <RoomManager>();
     _userDatabase = services.GetService <UserDatabase>();
 }
Пример #38
0
 public ActionResult Details(int id)
 {
     return(View(RoomManager.GetById(id)));
 }
Пример #39
0
        void Initiate(object sender, EventArgs e)
        {
            this.listView1.Clear();
            this.listView1.View = View.Details;
            this.listView1.GridLines = true;

            this.listView1.Columns.Add("房间名称",
                listView1.Width / 5, HorizontalAlignment.Center);
            this.listView1.Columns.Add("房间类型",
                 listView1.Width / 5, HorizontalAlignment.Center);
            this.listView1.Columns.Add("房间状态",
                listView1.Width / 5, HorizontalAlignment.Center);
            this.listView1.Columns.Add("房间日消费",
                listView1.Width / 5, HorizontalAlignment.Center);
            this.listView1.Columns.Add("房间押金",
                listView1.Width / 5, HorizontalAlignment.Center);

            ArrayList rooms=new RoomManager().GetAllRooms();

            foreach(Room r in rooms)
            {
                ListViewItem lvi = new ListViewItem();

                lvi.Text =r.Name ;
                switch (r.Type )
                {
                    case 0:
                        lvi.SubItems.Add("单人间");
                        break;
                    case 1:
                        lvi.SubItems.Add("双人间");
                        break;
                    case 2:
                        lvi.SubItems.Add("三人间");
                        break;
                    case 3:
                        lvi.SubItems.Add("客房");
                        break;
                }

                switch (r.State )
                {
                    case 0:
                        lvi.SubItems.Add("空客房");
                        break;
                    case 1:
                        lvi.SubItems.Add("满客房");
                        break;
                    case 2:
                        lvi.SubItems.Add("脏客房");
                        break;
                    case 3:
                        lvi.SubItems.Add("维修中");
                        break;
                    case 4:
                        lvi.SubItems.Add("已到时");
                        break;
                }

                lvi.SubItems.Add(r.DayCount .ToString ());
                lvi.SubItems.Add(r.Deposit.ToString());
                listView1.Items.Add(lvi);
            }
        }
Пример #40
0
    // Use this for initialization
    void Start()
    {
        this.playerHealth = PlayerController.instance.Health;
        startingMaxHealth = this.playerHealth.maxHealth;

        this.inventory = new GameObject ();
        this.inventory.transform.parent = this.gameObject.transform;

        this.resolution = this.GetComponent<CanvasScaler> ().referenceResolution;
        this.resolution.y -= 3;

        if (this.font == null) {
            this.font = Resources.GetBuiltinResource<Font> ("Arial.ttf");
        }

        this.roomManager = this.world.GetComponent<RoomManager> ();

        this.mapTexture = this.CreateMap ();
        this.map.GetComponent<Image> ().sprite = Sprite.Create(this.mapTexture, new Rect(0, 0, this.mapTexture.width, this.mapTexture.height), new Vector2 ());
    }
Пример #41
0
 private void Awake()
 {
     instance = this;
 }
Пример #42
0
 public void setRoomManager(RoomManager roomManager)
 {
     myRoomManager = roomManager;
 }
Пример #43
0
    void Awake()
    {
        if (instance == null)
            instance = this;
        else if (instance != this)
            Destroy(gameObject);

        if (player == null)
        {
            player = GetComponent<Player>();
        }
        _roomManager = GetComponent<RoomManager>();
        DontDestroyOnLoad(gameObject);
        DontDestroyOnLoad(player);
        DontDestroyOnLoad(boardManager);
        DontDestroyOnLoad(uiManager);
        DontDestroyOnLoad(uiManager.pauseMenu);

        //currentBoard = new Board();
        LoadLevel("Rooms/room_132_ini");
    }
Пример #44
0
 private void Awake()
 {
     roomManager = FindObjectOfType <RoomManager>();
 }
Пример #45
0
 void Awake()
 {
     _manager = GetComponentInParent<RoomManager>();
 }
Пример #46
0
    // Use this for initialization
    void InitGame() {
		enemies.Clear();
		roomScript = GetComponent<RoomManager>();
    }
Пример #47
0
    public void ChangeRoom(DoorBehaviour door)
    {
        if (door.doorLocation == DoorLocation.Top)
        {
            GameObject _newRoom = null;

            //disable player script
            pB.enabled = false;

            //check if there's not already a room on top of this one
            bool _roomAlreadyThere = false;

            for (int i = 0; i < gm.spawnedRooms.Count; i++)
            {
                if (gm.spawnedRooms[i].transform.position == transform.position + new Vector3(0, 20, 0))
                {
                    _roomAlreadyThere = true;
                    _newRoom          = gm.spawnedRooms[i];
                    _newRoom.SetActive(true);
                    RoomManager nrRM = _newRoom.GetComponent <RoomManager>();
                    nrRM.doorOn      = false;
                    nrRM.justEntered = true;
                    nrRM.StartCoroutine(nrRM.doorCooldown());
                }
            }

            //spawn room on top of this one with a bottom door
            if (!_roomAlreadyThere)
            {
                int          randomRoomType      = Random.Range(0, 8);
                GameObject[] randomRoomTypeArray = gm.topRooms[randomRoomType];
                int          randomRoom          = Random.Range(0, randomRoomTypeArray.Length);

                _newRoom = Instantiate(randomRoomTypeArray[randomRoom], transform.position + new Vector3(0, 20, 0), Quaternion.identity, transform.parent);
                gm.spawnedRooms.Add(_newRoom);

                gm.AddNewGridGraph(transform.position + new Vector3(0, 20, 0));
            }


            //update camera
            mainCamera.transform.position += new Vector3(0, 20, 0);

            //move player to bottom door of new room (with offset)
            pB.transform.position = _newRoom.GetComponent <RoomManager>().downEntrance.transform.position + new Vector3(0, 0.5f, 0);

            //enable player script
            pB.enabled = true;
        }
        else if (door.doorLocation == DoorLocation.Right)
        {
            GameObject _newRoom = null;

            //disable player script
            pB.enabled = false;

            //check if there's not already a room on top of this one
            bool _roomAlreadyThere = false;

            for (int i = 0; i < gm.spawnedRooms.Count; i++)
            {
                if (gm.spawnedRooms[i].transform.position == transform.position + new Vector3(13, 0, 0))
                {
                    _roomAlreadyThere = true;
                    _newRoom          = gm.spawnedRooms[i];
                    _newRoom.SetActive(true);
                    RoomManager nrRM = _newRoom.GetComponent <RoomManager>();
                    nrRM.doorOn      = false;
                    nrRM.justEntered = true;
                    nrRM.StartCoroutine(nrRM.doorCooldown());
                }
            }

            //spawn room on top of this one with a bottom door
            if (!_roomAlreadyThere)
            {
                int          randomRoomType      = Random.Range(0, 8);
                GameObject[] randomRoomTypeArray = gm.rightRooms[randomRoomType];
                int          randomRoom          = Random.Range(0, randomRoomTypeArray.Length);

                _newRoom = Instantiate(randomRoomTypeArray[randomRoom], transform.position + new Vector3(13, 0, 0), Quaternion.identity, transform.parent);
                gm.spawnedRooms.Add(_newRoom);

                gm.AddNewGridGraph(transform.position + new Vector3(13, 0, 0));
            }

            //update camera
            mainCamera.transform.position += new Vector3(13, 0, 0);

            //move player to bottom door of new room (with offset)
            pB.transform.position = _newRoom.GetComponent <RoomManager>().leftEntrance.transform.position + new Vector3(0.5f, 0, 0);

            //enable player script
            pB.enabled = true;
        }
        else if (door.doorLocation == DoorLocation.Bottom)
        {
            GameObject _newRoom = null;

            //disable player script
            pB.enabled = false;

            //check if there's not already a room on top of this one
            bool _roomAlreadyThere = false;

            for (int i = 0; i < gm.spawnedRooms.Count; i++)
            {
                if (gm.spawnedRooms[i].transform.position == transform.position + new Vector3(0, -20, 0))
                {
                    _roomAlreadyThere = true;
                    _newRoom          = gm.spawnedRooms[i];
                    _newRoom.SetActive(true);
                    RoomManager nrRM = _newRoom.GetComponent <RoomManager>();
                    nrRM.doorOn      = false;
                    nrRM.justEntered = true;
                    nrRM.StartCoroutine(nrRM.doorCooldown());
                }
            }

            //spawn room on top of this one with a bottom door
            if (!_roomAlreadyThere)
            {
                int          randomRoomType      = Random.Range(0, 8);
                GameObject[] randomRoomTypeArray = gm.bottomRooms[randomRoomType];
                int          randomRoom          = Random.Range(0, randomRoomTypeArray.Length);

                _newRoom = Instantiate(randomRoomTypeArray[randomRoom], transform.position + new Vector3(0, -20, 0), Quaternion.identity, transform.parent);
                gm.spawnedRooms.Add(_newRoom);

                gm.AddNewGridGraph(transform.position + new Vector3(0, -20, 0));
            }

            //update camera
            mainCamera.transform.position += new Vector3(0, -20, 0);

            //move player to bottom door of new room (with offset)
            pB.transform.position = _newRoom.GetComponent <RoomManager>().topEntrance.transform.position + new Vector3(0, -0.5f, 0);

            //enable player script
            pB.enabled = true;
        }
        else if (door.doorLocation == DoorLocation.Left)
        {
            GameObject _newRoom = null;

            //disable player script
            pB.enabled = false;

            //check if there's not already a room on top of this one
            bool _roomAlreadyThere = false;

            for (int i = 0; i < gm.spawnedRooms.Count; i++)
            {
                if (gm.spawnedRooms[i].transform.position == transform.position + new Vector3(-13, 0, 0))
                {
                    _roomAlreadyThere = true;
                    _newRoom          = gm.spawnedRooms[i];
                    _newRoom.SetActive(true);
                    RoomManager nrRM = _newRoom.GetComponent <RoomManager>();
                    nrRM.doorOn      = false;
                    nrRM.justEntered = true;
                    nrRM.StartCoroutine(nrRM.doorCooldown());
                }
            }

            //spawn room on top of this one with a bottom door
            if (!_roomAlreadyThere)
            {
                int          randomRoomType      = Random.Range(0, 8);
                GameObject[] randomRoomTypeArray = gm.leftRooms[randomRoomType];
                int          randomRoom          = Random.Range(0, randomRoomTypeArray.Length);

                _newRoom = Instantiate(randomRoomTypeArray[randomRoom], transform.position + new Vector3(-13, 0, 0), Quaternion.identity, transform.parent);
                gm.spawnedRooms.Add(_newRoom);

                gm.AddNewGridGraph(transform.position + new Vector3(-13, 0, 0));
            }

            //update camera
            mainCamera.transform.position += new Vector3(-13, 0, 0);

            //move player to bottom door of new room (with offset)
            pB.transform.position = _newRoom.GetComponent <RoomManager>().rightEntrance.transform.position + new Vector3(-0.5f, 0, 0);

            //enable player script
            pB.enabled = true;
        }

        //gameObject.SetActive(false);
    }
Пример #48
0
 public override Result Valdate()
 {
     return(RoomManager.IsInRoom(Player)
         ? new Result("You are in room")
         : Result.Ok);
 }
Пример #49
0
        /// <summary>
        /// Checks whether or not conditinos are met to change the state, if they are met, it changes the state
        /// </summary>
        public static void UpdateState()
        {
            //will change when we get the menu created

            switch (state)
            {
            case States.Menu:
                //if button pressed -> state = States.Round;
                break;

            case States.Round:
                //SpawnEnemies();
                if (!createdRound)
                {
                    NextRound();
                    createdRound = true;
                }
                if (!doneSpawning)
                {
                    SpawnEnemies();
                }
                if (p1.HP <= 0 || p2.HP <= 0)
                {
                    state = States.GameOver;
                }
                if (doneSpawning && EnemiesP1.Count <= 0)
                {
                    RoomManager.ChangeDoorState(Players.Player1, DoorState.Open);
                    state = States.P1Shop;
                    p1.HP = p1.MaxHP;

                    Shop.LoadUpShop();
                }
                if (doneSpawning && EnemiesP2.Count <= 0)
                {
                    RoomManager.ChangeDoorState(Players.Player2, DoorState.Open);
                    state = States.P2Shop;
                    p2.HP = p2.MaxHP;

                    Shop.LoadUpShop();
                }

                if (Input.GetKey(Microsoft.Xna.Framework.Input.Keys.Tab))
                {
                    JoshWinsTheGameBuyCheating();
                }
                //Console.WriteLine(EnemiesP1.Count);
                break;

            case States.P1Shop:
                //Console.WriteLine("PLAYER 1 IS IN SHOP!");
                if (!p1ShopOpen)
                {
                    p1ShopOpen = true;
                }
                if (p2.HP <= 0)
                {
                    state = States.GameOver;
                }
                if (doneSpawning && EnemiesP2.Count == 0)
                {
                    state      = States.BothShop;
                    p2ShopOpen = true;
                    p2.HP      = p2.MaxHP;
                    RoomManager.ChangeDoorState(Players.Player2, DoorState.Open);
                    SecondsLeftInShop = MAX_SECONDS_IN_SHOP;
                }
                else if (!roundRewardGiven)
                {
                    p1.Gold         += 50;
                    roundRewardGiven = true;
                }
                break;

            case States.P2Shop:
                //Console.WriteLine("PLAYER 2 IS IN SHOP!");
                if (!p2ShopOpen)
                {
                    p2ShopOpen = true;
                }
                if (p1.HP <= 0)
                {
                    state = States.GameOver;
                }
                if (doneSpawning && EnemiesP1.Count == 0)
                {
                    state      = States.BothShop;
                    p1ShopOpen = true;
                    p1.HP      = p1.MaxHP;
                    RoomManager.ChangeDoorState(Players.Player1, DoorState.Open);
                    SecondsLeftInShop = MAX_SECONDS_IN_SHOP;
                }
                else if (!roundRewardGiven)
                {
                    p2.Gold         += 50;
                    roundRewardGiven = true;
                }
                break;

            case States.BothShop:
                roundRewardGiven = false;
                //Console.WriteLine("SHOPPING TIME!");
                if (SecondsLeftInShop <= 0)
                {
                    //Console.WriteLine("START THE F*****G ROUND!");
                    createdRound     = false;
                    roundRewardGiven = false;
                    state            = States.Round;

                    RoomManager.ChangeDoorState(Players.Player1, DoorState.Closed);
                    RoomManager.ChangeDoorState(Players.Player2, DoorState.Closed);
                    p1.Position = new Vector2(250, 400);
                    p2.Position = new Vector2(800, 400);
                    break;
                }
                SecondsLeftInShop -= Time.DeltaTime;
                break;

            case States.GameOver:
                while (EnemiesP1.Count > 0)
                {
                    EnemiesP1[0].Destroy();
                    EnemiesP1.RemoveAt(0);
                }
                while (EnemiesP2.Count > 0)
                {
                    EnemiesP2[0].Destroy();
                    EnemiesP2.RemoveAt(0);
                }
                break;
            }
        }
Пример #50
0
Файл: Game.cs Проект: dm5wg/Yupi
        /// <summary>
        ///     Initializes a new instance of the <see cref="Game" /> class.
        /// </summary>
        /// <param name="conns">The conns.</param>
        internal Game(int conns)
        {
            //Console.WriteLine();
            Writer.WriteLine(@"Starting up Yupi Emulator for " + Environment.MachineName + "...", @"Yupi.Boot");
            //Console.WriteLine();

            _clientManager = new GameClientManager();
            using (IQueryAdapter commitableQueryReactor = Yupi.GetDatabaseManager().GetQueryReactor())
            {
                AbstractBar bar = new AnimatedBar();
                const int   wait = 15, end = 5;

                uint itemsLoaded;
                uint navigatorLoaded;
                uint roomModelLoaded;
                uint achievementLoaded;
                uint pollLoaded;

                Progress(bar, wait, end, "Cleaning dirty in database...");
                DatabaseCleanup(commitableQueryReactor);

                Progress(bar, wait, end, "Loading Bans...");
                _banManager = new ModerationBanManager();
                _banManager.LoadBans(commitableQueryReactor);

                Progress(bar, wait, end, "Loading Roles...");
                _roleManager = new RoleManager();
                _roleManager.LoadRights(commitableQueryReactor);

                Progress(bar, wait, end, "Loading Items...");
                _itemManager = new ItemManager();
                _itemManager.LoadItems(commitableQueryReactor, out itemsLoaded);

                Progress(bar, wait, end, "Loading Catalog...");
                _catalog = new CatalogManager();

                Progress(bar, wait, end, "Loading Targeted Offers...");
                _targetedOfferManager = new TargetedOfferManager();

                Progress(bar, wait, end, "Loading Clothing...");
                _clothingManager = new ClothingManager();
                _clothingManager.Initialize(commitableQueryReactor);

                Progress(bar, wait, end, "Loading Rooms...");
                _roomManager = new RoomManager();
                _roomManager.LoadModels(commitableQueryReactor, out roomModelLoaded);

                Progress(bar, wait, end, "Loading NavigatorManager...");
                _navigatorManager = new HotelBrowserManager();
                _navigatorManager.Initialize(commitableQueryReactor, out navigatorLoaded);

                Progress(bar, wait, end, "Loading Groups...");
                _groupManager = new GroupManager();
                _groupManager.InitGroups();

                Progress(bar, wait, end, "Loading PixelManager...");
                _pixelManager = new ExchangeManager();

                Progress(bar, wait, end, "Loading HotelView...");
                _hotelView = new HotelLandingManager();

                Progress(bar, wait, end, "Loading Hall Of Fame...");
                _hallOfFame = new HallOfFame();

                Progress(bar, wait, end, "Loading ModerationTool...");
                _moderationTool = new ModerationTool();
                _moderationTool.LoadMessagePresets(commitableQueryReactor);
                _moderationTool.LoadPendingTickets(commitableQueryReactor);

                Progress(bar, wait, end, "Loading Bots...");
                _botManager = new BotManager();

                Progress(bar, wait, end, "Loading Events...");
                _events = new RoomEvents();

                Progress(bar, wait, end, "Loading Talents...");
                _talentManager = new TalentManager();
                _talentManager.Initialize(commitableQueryReactor);

                Progress(bar, wait, end, "Loading Pinata...");
                _pinataHandler = new PinataHandler();
                _pinataHandler.Initialize(commitableQueryReactor);

                Progress(bar, wait, end, "Loading Crackable Eggs...");
                _crackableEggHandler = new CrackableEggHandler();
                _crackableEggHandler.Initialize(commitableQueryReactor);

                Progress(bar, wait, end, "Loading Polls...");
                _pollManager = new PollManager();
                _pollManager.Init(commitableQueryReactor, out pollLoaded);

                Progress(bar, wait, end, "Loading Achievements...");
                _achievementManager = new AchievementManager(commitableQueryReactor, out achievementLoaded);

                Progress(bar, wait, end, "Loading StaticMessages ...");
                StaticMessagesManager.Load();

                Progress(bar, wait, end, "Loading Guides ...");
                _guideManager = new GuideManager();

                Progress(bar, wait, end, "Loading and Registering Commands...");
                CommandsManager.Register();

                CacheManager.StartProcess();

                //Progress(bar, wait, end, "Loading ServerMutantManager...");
                //this.ServerMutantManager = new ServerMutantManager();

                Console.Write("\r".PadLeft(Console.WindowWidth - Console.CursorLeft - 1));
            }
        }
Пример #51
0
 private void Start()
 {
     PlayerManager.Initialize();
     RoomManager.Initialize();
     ChatManager.Initialize();
 }
        public Game()
        {
            this._packetManager  = new PacketManager();
            this._clientManager  = new GameClientManager();
            this._modManager     = new ModerationManager();
            this._moderationTool = new ModerationTool();

            this._itemDataManager = new ItemDataManager();
            this._itemDataManager.Init();

            this._catalogFrontPageManager = new CatalogFrontPage();
            this._catalogManager          = new CatalogManager();
            this._catalogManager.Init(this._itemDataManager);

            this._televisionManager = new TelevisionManager();
            this._crackableManager  = new CrackableManager();
            this._crackableManager.Initialize(QuasarEnvironment.GetDatabaseManager().GetQueryReactor());
            this._furniMaticRewardsManager = new FurniMaticRewardsManager();
            this._furniMaticRewardsManager.Initialize(QuasarEnvironment.GetDatabaseManager().GetQueryReactor());

            this._craftingManager = new CraftingManager();
            this._craftingManager.Init();

            this._navigatorManager   = new NavigatorManager();
            this._roomManager        = new RoomManager();
            this._chatManager        = new ChatManager();
            this._groupManager       = new GroupManager();
            this._questManager       = new QuestManager();
            this._achievementManager = new AchievementManager();
            this._talentManager      = new TalentManager();
            this._talentManager.Initialize();
            this._talentTrackManager = new TalentTrackManager();

            this._landingViewManager = new LandingViewManager();
            this._gameDataManager    = new GameDataManager();

            this._globalUpdater = new ServerStatusUpdater();
            this._globalUpdater.Init();

            //this._languageLocale = new LanguageLocale();
            this._antiMutant = new AntiMutant();
            this._botManager = new BotManager();

            this._cacheManager  = new CacheManager();
            this._rewardManager = new RewardManager();

            this._badgeManager = new BadgeManager();
            this._badgeManager.Init();

            this.forummanager = new GroupForumManager();

            TraxSoundManager.Init(); // Added
            GetHallOfFame.getInstance().Load();

            this._permissionManager = new PermissionManager();
            this._permissionManager.Init();

            this._subscriptionManager = new SubscriptionManager();
            this._subscriptionManager.Init();

            HelperToolsManager.Init();

            this._targetedoffersManager = new TargetedOffersManager();
            this._targetedoffersManager.Initialize(QuasarEnvironment.GetDatabaseManager().GetQueryReactor());

            this._calendarManager = new CalendarManager();
            this._calendarManager.Init();
        }
Пример #53
0
    // Use this for initialization
    void Start()
    {
        this.playerHealth = PlayerController.instance.Health;
        startingMaxHealth = this.playerHealth.maxHealth;

        this.inventory = new GameObject ();
        this.inventory.transform.parent = this.gameObject.transform;

        this.resolution = this.GetComponent<CanvasScaler> ().referenceResolution;
        this.resolution.y -= 3;

        if (this.font == null) {
            this.font = Resources.GetBuiltinResource<Font> ("Arial.ttf");
        }

        this.roomManager = this.world.GetComponent<RoomManager> ();

        this.CreateMapTexture();
    }
Пример #54
0
	// Use this for initialization
	public void Fill () {
		
		cible.Clear ();
		ratioMax = 0;
		ratioX = 0;
		ratioY = 0;
		ratio = 0;

		GameManager = GameObject.FindGameObjectWithTag ("Manager");
		Grid = GameManager.GetComponent<GridManager> ();
		RoomLists = GameManager.GetComponent<RoomManager> ();

		for (int x = 0; x < Grid.DungeonLength; x++) {

			for (int y = 0; y < Grid.DungeonWidth; y++) {



				if (Grid._Dungeon [x, y] != null) {

					ratioX = 11 - x;
					ratioY = 11 - y;
					ratio = ratioX + ratioY;

					if (ratio < 0) {
						ratioX = x - 11;
						ratioY = y - 11;
						ratio = ratioX + ratioY;
					}

					if (ratio == ratioMax) { 
						 
						cible.Add (Grid._Dungeon [x, y]);

					} else {
						if (ratio > ratioMax) {

							ratioMax = ratio;
							cible.Clear ();
							cible.Add (Grid._Dungeon [x, y]);

						}
					}
																					
				}
			}
		}

		foreach (GameObject room in cible) {

			GameObject EndRoom = Instantiate (End) as GameObject;
			EndRoom.transform.position = room.transform.position;

		}



		for (int c = 0; c < Grid.DungeonLength; c++) {


			for (int d = 0; d < Grid.DungeonWidth; d++) {


				if (Grid._Dungeon [c, d] != null) {

					if (Grid._Dungeon [c, d] != Grid._Dungeon [11, 11]) 
					{
						cibleCoins.Add (Grid._Dungeon [c, d]);
					}
					
				
				}


			}


		}
		foreach (GameObject item in cible) {
			cibleCoins.Remove (item);
			
		}

		foreach (GameObject room in cibleCoins) {
			
		
			int _random = Random.Range (0, 10);

				switch (_random) {

				case 0:
					coinRoom = Instantiate (RoomLists._coins [0]) as GameObject;
					coinRoom.transform.position = room.transform.position;
					break;
				case 1:
					coinRoom = Instantiate (RoomLists._coins [0]) as GameObject;
					coinRoom.transform.position = room.transform.position;
					break;
				case 2:
					coinRoom = Instantiate (RoomLists._coins [0]) as GameObject;
					coinRoom.transform.position = room.transform.position;
					break;

				case 3:
					coinRoom = Instantiate (RoomLists._coins [1]) as GameObject;
					coinRoom.transform.position = room.transform.position;
					break;

				case 4:
					coinRoom = Instantiate (RoomLists._coins [2]) as GameObject;
					coinRoom.transform.position = room.transform.position;
					break;

				case 5:
					coinRoom = Instantiate (RoomLists._coins [3]) as GameObject;
					coinRoom.transform.position = room.transform.position;
					break;
				case 6:
					coinRoom = Instantiate (RoomLists._coins [3]) as GameObject;
					coinRoom.transform.position = room.transform.position;
					break;
				case 7:
					coinRoom = Instantiate (RoomLists._coins [3]) as GameObject;
					coinRoom.transform.position = room.transform.position;
					break;

				case 8:
					coinRoom = Instantiate (RoomLists._coins [4]) as GameObject;
					coinRoom.transform.position = room.transform.position;
					break;

				case 9:
					coinRoom = Instantiate (RoomLists._coins [5]) as GameObject;
					coinRoom.transform.position = room.transform.position;
					break;

				default:
					break;
				}

			}

		cible.Clear ();
		cibleCoins.Clear ();

	}
Пример #55
0
 public override void setRoomPrefab(RoomManager roomManagerScript)
 {
     this.roomPrefab = roomManagerScript.getRandomInitialRoom();
 }
Пример #56
0
 public virtual void setRoomPrefab(RoomManager roomManagerScript)
 {
     this.roomPrefab = roomManagerScript.getRandomRegularRoom();
 }
 public static RoomManager init(int width, int height)
 {
     instance = new RoomManager(width, height);
     return(instance);
 }
Пример #58
0
        //public static string GenerateInvoiceExcelReport(DateTime startPeriod, DateTime endPeriod, int clientId, bool showRemote, ExternalInvoiceHeader orgItem, string subFolder, bool deleteWorkDir, ref string alert)
        //{
        //    ExternalInvoiceManager mgr = new ExternalInvoiceManager(orgItem.AccountID, startPeriod, endPeriod, showRemote);
        //    string result = GenerateInvoiceExcelReport(mgr, clientId, orgItem, subFolder, deleteWorkDir, ref alert);
        //    return result;
        //}

        public static string MakeSpreadSheet(int accountId, string invoiceNumber, string deptRef, string orgName, int currentUserClientId, DateTime startPeriod, DateTime endPeriod)
        {
            var dtAddress = DataCommand.Create()
                            .Param("Action", "ByAccount")
                            .Param("AccountID", accountId)
                            .FillDataTable("dbo.Address_Select");

            // get client data
            // using All is hackish. It was ByOrg, but this caused a problem with remote users
            // the other option is to select for each client, but that is probably even less efficient
            var dtClient = DataCommand.Create()
                           .Param("Action", "All")
                           .Param("sDate", startPeriod)
                           .Param("eDate", endPeriod)
                           .FillDataTable("dbo.Client_Select");

            dtClient.PrimaryKey = new[] { dtClient.Columns["ClientID"] };

            // NOTE: all reports here are for external users
            DataRow   drUsage;
            DataTable dtUsage = new DataTable();

            dtUsage.Columns.Add("Descrip", typeof(string));
            dtUsage.Columns.Add("Quantity", typeof(double));
            dtUsage.Columns.Add("Cost", typeof(double));

            DataRow   cdr;
            DataTable dtAggCost;

            string[]  costType = { "Room", "StoreInv", "Tool", "Misc" };
            Compile   mCompile = new Compile();
            DataTable dtClientWithCharges;
            double    capCost;
            object    temp;
            double    totalCharges;

            //2009-01 this for loop will loop through different Cost types, so when added code for each specific type, remember to distinguish each CostType
            for (int i = 0; i < costType.Length; i++)
            {
                dtAggCost = mCompile.CalcCost(costType[i], string.Empty, "AccountID", accountId, startPeriod, 0, 0, Compile.AggType.CliAcct);
                //dtAggCost is the main table that contains chargeable items
                //0 ClientID
                //1 AccountID
                //2 RoomID
                //3 TotalCalcCost
                //4 TotalEntries
                //5 TotalHours

                //Only Room costtype will execute the code below
                if (costType[i] == "Room")
                {
                    //******** The code below handles the cost of NAP rooms, because at this point, all NAP rooms access data have total cost of zero****
                    //Get all active NAP Rooms with their costs, all chargetypes are returned
                    DataTable dtNAPRoomForAllChargeType = RoomManager.GetAllNAPRoomsWithCosts(startPeriod);

                    //filter out the chargetype so that we only have Internal costs with each NAP room
                    DataRow[] dtdrsNAPRoomForExternal = dtNAPRoomForAllChargeType.Select(string.Format("ChargeTypeID = {0}", AccountDA.GetChargeType(accountId)));

                    //Loop through each room and find out this specified month's apportionment data.
                    foreach (DataRow dr1 in dtdrsNAPRoomForExternal)
                    {
                        DataTable dtApportionData = RoomApportionDataManager.GetNAPRoomApportionDataByPeriod(startPeriod, endPeriod, dr1.Field <int>("RoomID"));

                        foreach (DataRow dr2 in dtApportionData.Rows)
                        {
                            DataRow[] drs = dtAggCost.Select(String.Format("ClientID = {0} AND AccountID = {1} AND RoomID = {2}", dr2["ClientID"], dr2["AccountID"], dr2["RoomID"]));

                            if (drs.Length == 1)
                            {
                                //2008-06-19 Sandrine requested all monthly room should have charge of the same across all organizations
                                //so if a guy works for two diferent companies, he should be charged full amount for both companeis on all monthly rooms.
                                //the only exception is when the apportionment percentage is 0 for this organization.  When it's 0 percent, we simply
                                //cannot charge this organizaiton at all
                                if (dr2.Field <double>("Percentage") > 0)
                                {
                                    drs[0]["TotalCalcCost"] = dr1["RoomCost"];
                                }
                            }
                        }
                    }

                    //2009-01 remember not to charge clean/chem room usage for less than x amount of minutes
                    int cleanRoomMinMinutes = int.Parse(ConfigurationManager.AppSettings["CleanRoomMinTimeMinute"]);
                    int chemRoomMinMinutes  = int.Parse(ConfigurationManager.AppSettings["ChemRoomMinTimeMinute"]);

                    //we simply set totalCalcCost to 0.0 at this point, then those 0.0 charges items will not be published to excel report
                    foreach (DataRow drAggCost in dtAggCost.Rows)
                    {
                        if (drAggCost.Field <LabRoom>("RoomID") == LabRoom.CleanRoom)
                        {
                            if (drAggCost.Field <double>("TotalHours") < cleanRoomMinMinutes / 60)
                            {
                                drAggCost.SetField("TotalCalcCost", 0.0);
                            }
                        }
                        else if (drAggCost.Field <LabRoom>("RoomID") == LabRoom.ChemRoom)
                        {
                            if (drAggCost.Field <double>("TotalHours") < chemRoomMinMinutes / 60)
                            {
                                drAggCost.SetField("TotalCalcCost", 0.0);
                            }
                        }
                    }
                }

                if (costType[i] != "Misc")
                {
                    dtClientWithCharges = mCompile.GetTable(1);
                    capCost             = mCompile.CapCost;

                    foreach (DataRow drCWC in dtClientWithCharges.Rows)
                    {
                        temp = dtAggCost.Compute("SUM(TotalCalcCost)", string.Format("ClientID = {0}", drCWC["ClientID"]));
                        if (temp == null || temp == DBNull.Value)
                        {
                            totalCharges = 0.0;
                        }
                        else
                        {
                            totalCharges = Convert.ToDouble(temp);
                        }

                        //BUG FIX: I have to exclude StoreInv charge here since the CapCost for it is always 0
                        if (totalCharges > capCost && costType[i] != "StoreInv")
                        {
                            DataRow[] fdr = dtAggCost.Select(string.Format("ClientID = {0}", drCWC["ClientID"]));
                            for (int j = 0; j < fdr.Length; j++)
                            {
                                fdr[j].SetField("TotalCalcCost", fdr[j].Field <double>("TotalCalcCost") * capCost / totalCharges);
                            }
                        }
                    }
                }

                foreach (DataRow drAggCost in dtAggCost.Rows)
                {
                    cdr = dtClient.Rows.Find(drAggCost.Field <int>("ClientID"));

                    drUsage = dtUsage.NewRow();
                    if (costType[i] == "Misc")
                    {
                        drUsage["Descrip"]  = drAggCost["Description"];
                        drUsage["Quantity"] = drAggCost["Quantity"];
                        drUsage["Cost"]     = drAggCost["UnitCost"];
                    }
                    else
                    {
                        drUsage["Descrip"]  = string.Format("{0} usage for {1}. {2}", costType[i].Substring(0, 5), cdr["FName"].ToString().Substring(0, 1), cdr["LName"]);
                        drUsage["Quantity"] = 1;
                        drUsage["Cost"]     = drAggCost["TotalCalcCost"];
                    }
                    dtUsage.Rows.Add(drUsage);
                }
            }

            // Write to excel
            using (var mgr = NewExcelManager())
            {
                string fileName = Utility.GetRequiredAppSetting("Invoice_Template");
                mgr.OpenWorkbook(GetTemplatePath(fileName));
                mgr.SetActiveWorksheet("Invoice");

                // show invoice date
                mgr.SetCellTextValue("F4", DateTime.Now.ToShortDateString());

                int startRow;
                int useRow = 0;
                foreach (DataRow drAddr in dtAddress.Rows)
                {
                    if (drAddr["AddrType"].ToString() == "Billing")
                    {
                        startRow = 7;
                    }
                    else
                    {
                        startRow = 13;
                    }

                    FillField(mgr, "C", startRow, orgName, ref useRow);
                    FillField(mgr, "C", 0, drAddr.Field <string>("InternalAddress"), ref useRow);
                    FillField(mgr, "C", 0, drAddr.Field <string>("StrAddress1"), ref useRow);
                    FillField(mgr, "C", 0, drAddr.Field <string>("StrAddress2"), ref useRow);
                    FillField(mgr, "C", 0, drAddr.Field <string>("City") + ", " + drAddr.Field <string>("State") + " " + drAddr.Field <string>("Zip"), ref useRow);
                }

                // invoice number that needs to be entered
                mgr.SetCellTextValue("E12", invoiceNumber);
                mgr.SetCellTextValue("I14", deptRef);

                int    rowRef = 21;
                string rowCell;

                // now print charges
                foreach (DataRow dr in dtUsage.Rows)
                {
                    if (dr.Field <double>("Cost") != 0)
                    {
                        rowCell = "C" + rowRef.ToString();
                        mgr.SetCellTextValue(rowCell, startPeriod.ToString("MM/yyyy"));

                        rowCell = "D" + rowRef.ToString();
                        mgr.SetCellTextValue(rowCell, dr["Descrip"]);

                        rowCell = "H" + rowRef.ToString();
                        mgr.SetCellNumberValue(rowCell, dr["Quantity"]);

                        rowCell = "I" + rowRef.ToString();
                        mgr.SetCellNumberValue(rowCell, dr["Cost"]);

                        rowRef += 1;
                    }
                }

                string workFilePath = Path.Combine(GetWorkPath(currentUserClientId), orgName + Path.GetExtension(fileName));
                mgr.SaveAs(workFilePath);

                return(workFilePath);
            }
        }
Пример #59
0
 // Use this for initialization
 void Start()
 {
     roomManager = GameObject.Find("GM").GetComponent<RoomManager>();
 }
Пример #60
0
 // Start is called before the first frame update
 void Start()
 {
     _roomManager = GameObject.Find("RoomManager").GetComponent <RoomManager>();
 }