ubiBuilding

Fri Jan 27 19:17:36 KST 2006

ubiBuilding ActionScript

 

var socket:XMLSocket = new XMLSocket();

socket.connect("127.0.0.1", 3001);

fscommand("fullscreen", true);

 

/** Default Setting */

Default_Event = function()

{

            _root.F1SeminarRoom_Projector._visible = false;                    

            _root.F1SeminarRoom_Board._visible = false;

            _root.F2MeetingRoom_Board._visible = false;            

            _root.F2Room206_Play._visible = false;

            _root.F4Room401_Play._visible = false;

            _root.F5Room501_Play._visible = false;

            _root.F5Room502_Play._visible = false;                      

            _root.F2Room206_Monitor._visible = false;

            _root.F4Room401_Monitor._visible = false;

            _root.F5Room501_Monitor._visible = false;

            _root.F5Room502_Monitor._visible = false;                

}

Default_Light =  function()

{

             _root.F1Aisle_Light._alpha = 10;

             _root.F1SeminarRoom_Light._alpha = 10;

             _root.F1Toilet_Light._alpha = 10;

             _root.F2MeetingRoom_Light._alpha = 10;

             _root.F2Aisle_Light._alpha = 10;

             _root.F2Room206_Light._alpha = 10;

             _root.F3ExperimentalRoom_Light._alpha = 10;

             _root.F4Room401_Light._alpha = 10;

             _root.F5Room501_Light._alpha = 10;

             _root.F5Room502_Light._alpha = 10;

}

 

/** Erase Person Symbols */

RemoveMobieClip = function(from, to)

{         

            for(j=from; j<to; j++)   _root["Standing_m_F"+j].removeMovieClip();

            for(j=from; j<to; j++)   _root["Sitting_m_R"+j].removeMovieClip();    

            for(j=from; j<to; j++)   _root["Sitting_m_L"+j].removeMovieClip();     

            for(j=from; j<to; j++)   _root["Sitting_m_F"+j].removeMovieClip();     

            for(j=from; j<to; j++)   _root["Sitting_m_F2"+j].removeMovieClip();   

            for(j=from; j<to; j++)   _root["Walking_m_R"+j].removeMovieClip(); 

            for(j=from; j<to; j++)   _root["Running_m_L"+j].removeMovieClip();  

}

 

/** Draw Person Symbols (Max. = 100 persons [1~100, 101~200, ...]) */

DrawPerson = function(activity, origin, id, xpos, ypos)              

{

            this.attachMovie(activity, activity+id, id);

            this[activity+id]._x = xpos+(10*(id-origin));

            this[activity+id]._y = ypos;

}

 

/** Draw one Person Symbol in the current location */

DrawOnePerson = function(Location, Action, origin, id, xpos, ypos)

{

            if(Action == "UnLock")         DrawPerson("Standing_m_F", origin, id, xpos, ypos);       //First Entrance, Default: Standing (Gender = Male)                  

            else if(Action == "Sitting")

            {

                        if(Location == "F1Aisle")                                   DrawPerson("Sitting_m_F", 1, 1, 250, 704);            //Specific Pose for Sitting

                        else if(Location == "Toilet")                              DrawPerson("Sitting_m_F", 201, 201, 898, 704);

                        else if(Location == "F2Aisle")                           DrawPerson("Sitting_m_F", 401, 401, 496, 510);

                        else if(Location == "ExperimentalRoom")         DrawPerson("Sitting_m_L", 601, 601, 365, 370);

                        else                                                                DrawPerson("Sitting_m_R", origin, id, xpos, ypos);

            }

            else if(Action == "Walking")       DrawPerson("Walking_m_R", origin, id, xpos, ypos);   

            else if(Action == "Running")      DrawPerson("Running_m_L", origin, id, xpos, ypos);

            else if(Action == "Standing")     DrawPerson("Standing_m_F", origin, id, xpos, ypos);               

 

}

 

/** Draw the last Person Symbol in the previous location */

DrawLastOnePerson = function(Location, Action, origin, id, xpos, ypos)

{

            if(Action == "Sitting")

            {

                        if(Location == "F1Aisle")                                   DrawPerson("Sitting_m_F", 1, 1, 250, 704);

                        else if(Location == "Toilet")                              DrawPerson("Sitting_m_F", 201, 201, 898, 704);

                        else if(Location == "F2Aisle")                           DrawPerson("Sitting_m_F", 401, 401, 496, 510);

                        else if(Location == "ExperimentalRoom")         DrawPerson("Sitting_m_L", 601, 601, 365, 370);                    

                        else                                                                DrawPerson("Sitting_m_R", origin, id, xpos, ypos);

            }

            else if(Action == "Walking")       DrawPerson("Walking_m_R", origin, id, xpos, ypos);   

            else if(Action == "Running")      DrawPerson("Running_m_L", origin, id, xpos, ypos);

            else if(Action == "Standing")     DrawPerson("Standing_m_F", origin, id, xpos, ypos);               

}

 

/** Draw two Person Symbols in the specific position */

DrawTwoPerson = function(Location, Action1, Action2, origin, id1, xpos1, ypos1, id2, xpos2, ypos2)

{                                             

            if(Action1 == "Sitting")

            {

                        if(Location == "F1Aisle")                                   DrawPerson("Sitting_m_F", 1, 2, 230, 704);                

                        else if(Location == "SeminarRoom")                DrawPerson("Sitting_m_F2", 101, 102, 382, 693);

                        else if(Location == "Toilet")                              DrawPerson("Sitting_m_F", 201, 202, 878, 704);

                        else if(Location == "MeetingRoom")                 DrawPerson("Sitting_m_L", 301, 302, 345, 500);

                        else if(Location == "F2Aisle")                           DrawPerson("Sitting_m_F", 401, 402, 476, 510);

                        else if(Location == "ExperimentalRoom")         DrawPerson("Sitting_m_L", 601, 602, 345, 370);                    

                        else                                                                DrawPerson("Sitting_m_R", origin, id2, xpos2, ypos2);

            }

            else if(Action1 == "Walking")     DrawPerson("Walking_m_R", origin, id2, xpos2, ypos2);

            else if(Action1 == "Running")    DrawPerson("Running_m_L", origin, id2, xpos2, ypos2);

            else if(Action1 == "Standing")   DrawPerson("Standing_m_F", origin, id2, xpos2, ypos2);

            else if(Action1 == "UnLock")     DrawPerson("Standing_m_F", origin, id2, xpos2, ypos2);

 

            if(Action2 == "Sitting")

            {

                        if(Location == "F1Aisle")                                   DrawPerson("Sitting_m_F", 1, 1, 250, 704);                

                        else if(Location == "Toilet")                              DrawPerson("Sitting_m_F", 201, 201, 898, 704);

                        else if(Location == "F2Aisle")                           DrawPerson("Sitting_m_F", 401, 401, 496, 510);

                        else if(Location == "ExperimentalRoom")         DrawPerson("Sitting_m_L", 601, 601, 365, 370);                    

                        else                                                                DrawPerson("Sitting_m_R", origin, id1, xpos1, ypos1);                                                                 

            }

            else if(Action2 == "Walking")     DrawPerson("Walking_m_R", origin, id1, xpos1, ypos1);

            else if(Action2 == "Running")    DrawPerson("Running_m_L", origin, id1, xpos1, ypos1);

            else if(Action2 == "Standing")   DrawPerson("Standing_m_F", origin, id1, xpos1, ypos1);

                                                                       

}

 

/** Initialization */

Default_Light();

Default_Event();

 

 

socket.onData = function(data)

{

            /** To express previous intention in pre_in_txt */

            pre_in_txt.text = in_txt.text;

           

            /** yoosoo wants-to control lighting as 7 in Room206 (Behavior) 1.0 (No_Of_Person) (preLocation) (pre_No_Of_Person) (PrevActivity) */

            var input = data.split(" ", 14);

           

            /** Automatic Control by Environment */

            if(input[0] == "Environment")

            {

                        /** To adjust current location */

                        if(input[7] == "F1Aisle")

                        {

                                    _root.F1Aisle_Default._visible = false;

                                    Control(input[3], _root.F1Aisle_Light, _root.F1Aisle_Heater1, _root.F1Aisle_Heater2, input[5], _root.F1Door1_Lock, _root.F1Door1_UnLock);     

                          

                        }         

                        else if(input[7] == "SeminarRoom")      

                        {

                                    _root.F1SeminarRoom_Default._visible = false;

                                    Control(input[3], _root.F1SeminarRoom_Light, _root.F1SeminarRoom_Heater1, _root.F1SeminarRoom_Heater2, input[5], _root.F1Door1_Lock, _root.F1Door1_UnLock);              

 

                        }

                        else if(input[7] == "Toilet")                                            //F1Toilet

                        {

                                    _root.F1Toilet_Default._visible = false;

                                    Control(input[3], _root.F1Toilet_Light, _root.F1Toilet_Heater1, _root.F1Toilet_Heater2, input[5], _root.F1Door2_Lock, _root.F1Door2_UnLock);

 

                        }         

                        else if(input[7] == "MeetingRoom")                               //F2MeetingRoom

                        {

                                    _root.F2MeetingRoom_Default._visible = false;

                                    Control(input[3], _root.F2MeetingRoom_Light, _root.F2MeetingRoom_Heater1, _root.F2MeetingRoom_Heater2, input[5], _root.F2Door1_Lock, _root.F2Door1_UnLock);

 

                        }

                        else if(input[7] == "F2Aisle")

                        {

                                    _root.F2Aisle_Default._visible = false;

                                    Control(input[3], _root.F2Aisle_Light, _root.F2Aisle_Heater1, _root.F2Aisle_Heater2, input[5], _root.F2Door1_Lock, _root.F2Door1_UnLock);

 

                        }

                        else if(input[7] == "Room206")

                        {

                                    _root.F2Room206_Default._visible = false;

                                    Control(input[3], _root.F2Room206_Light, _root.F2Room206_Heater1, _root.F2Room206_Heater2, input[5], _root.F2Door2_Lock, _root.F2Door2_UnLock);       

              

                        }

                        else if(input[7] == "ExperimentalRoom")                        //F3ExperimentalRoom

                        {

                                    _root.F3ExperimentalRoom_Default._visible = false;

                                    Control(input[3], _root.F3ExperimentalRoom_Light, _root.F3ExperimentalRoom_Heater1, _root.F3ExperimentalRoom_Heater2, input[5], _root.F3Door1_Lock, _root.F3Door1_UnLock);                   

 

                        }

                        else if(input[7] == "Room401")            

                        {

                                    _root.F4Room401_Default._visible = false;

                                    Control(input[3], _root.F4Room401_Light, _root.F4Room401_Heater1, _root.F4Room401_Heater2, input[5], _root.F4Door1_Lock, _root.F4Door1_UnLock);                     

 

                        }

                        else if(input[7] == "Room501")            

                        {

                                    _root.F5Room501_Default._visible = false;

                                    Control(input[3], _root.F5Room501_Light, _root.F5Room501_Heater1, _root.F5Room501_Heater2, input[5], _root.F5Door2_Lock, _root.F5Door2_UnLock);                     

 

                        }         

                        else if(input[7] == "Room502")            

                        {

                                    _root.F5Room502_Default._visible = false;

                                    Control(input[3], _root.F5Room502_Light, _root.F5Room502_Heater1, _root.F5Room502_Heater2, input[5], _root.F5Door1_Lock, _root.F5Door1_UnLock);                     

 

                        }                                 

            }

            /** Explicit Control by a user */

            else

            {

                        /** Event Control */

                        Event(input[3], input[7]);

                       

                        /** To adjust current location */

                        if(input[7] == "F1Aisle")

                        {

                                    _root.F1Aisle_Default._visible = false;

                                    var N_person = Number(input[10]);                

                                   

                                    Control(input[3], _root.F1Aisle_Light, _root.F1Aisle_Heater1, _root.F1Aisle_Heater2, input[5], _root.F1Door1_Lock, _root.F1Door1_UnLock);

                                               

                                    if(N_person == 0)                                //No person

                                    {

                                                _root.F1Aisle_Default._visible = true;               //Default Setting

                                                _root.F1Door1_UnLock._visible = false;           //Door Locking

                                                _root.F1Door1_Lock._visible = true;                                      

 

                                                RemoveMobieClip(1, 101);                              //Initialization

                                    }

                                    else if(N_person == 1)             //One person

                                    {

                                                RemoveMobieClip(2, 101);

                                                DrawOnePerson(input[7], input[5], 1, 1, 250, 695);     

                                    }

                                    else if(N_person == 2)             //Two persons 

                                    {

                                                RemoveMobieClip(3, 101);     

                                                DrawTwoPerson(input[7], input[5], input[13], 1, 1, 250, 695, 2, 230, 695);    

                                    }

                                    else if (N_person > 2)               //Two more persons                 

                                    {

                                                RemoveMobieClip(3, 101);     

                                                for(k=3; k<(N_person+1); k++)          DrawPerson("Standing_m_F", 1, k, 170, 695);

                                    }                                                                                                         

                        }         

                        else if(input[7] == "SeminarRoom")      

                        {

                                    _root.F1SeminarRoom_Default._visible = false;

                                    var N_person = Number(input[10]);                

                                   

                                    Control(input[3], _root.F1SeminarRoom_Light, _root.F1SeminarRoom_Heater1, _root.F1SeminarRoom_Heater2, input[5], _root.F1Door1_Lock, _root.F1Door1_UnLock);              

                                                                       

                                    if(N_person == 0)                                                                   

                                    {

                                                _root.F1SeminarRoom_Default._visible = true;            

                                                _root.F1Door1_UnLock._visible = false;         

                                                _root.F1Door1_Lock._visible = true;                          

                                                _root.F1SeminarRoom_Projector._visible = false;

                                                _root.F1SeminarRoom_Board._visible = false;

 

                                                RemoveMobieClip(101, 201); 

                                    }

                                    else if(N_person == 1)

                                    {

                                                RemoveMobieClip(102, 201);

                                                DrawOnePerson(input[7], input[5], 101, 101, 339, 695);                                             

                                    }

                                    else if(N_person == 2)

                                    {

                                                RemoveMobieClip(103, 201); 

                                                DrawTwoPerson(input[7], input[5], input[13], 101, 101, 339, 695, 102, 383, 695);    

                                    }

                                    else if (N_person > 2)              

                                    {

                                                RemoveMobieClip(103, 201); 

                                                for(k=3; k<(N_person+1); k++)          DrawPerson("Standing_m_F", 101, (k+100), 630, 695);

                                    }                                                                     

                        }

                        else if(input[7] == "Toilet")           //F1Toilet

                        {

                                    _root.F1Toilet_Default._visible = false;

                                    var N_person = Number(input[10]);                

                                   

                                    Control(input[3], _root.F1Toilet_Light, _root.F1Toilet_Heater1, _root.F1Toilet_Heater2, input[5], _root.F1Door2_Lock, _root.F1Door2_UnLock);

                                                                                               

                                    if(N_person == 0)                                                                   

                                    {

                                                _root.F1Toilet_Default._visible = true;             

                                                _root.F1Door2_UnLock._visible = false;         

                                                _root.F1Door2_Lock._visible = true;                          

           

                                                RemoveMobieClip(201, 301); 

                                    }

                                    else if(N_person == 1)

                                    {

                                                RemoveMobieClip(202, 301);

                                                DrawOnePerson(input[7], input[5], 201, 201, 898, 695);                                             

                                    }

                                    else if(N_person == 2)

                                    {

                                                RemoveMobieClip(203, 301); 

                                                DrawTwoPerson(input[7], input[5], input[13], 201, 201, 898, 695, 202, 878, 695);    

                                    }

                                    else if (N_person > 2)              

                                    {

                                                RemoveMobieClip(203, 301); 

                                                for(k=3; k<(N_person+1); k++)          DrawPerson("Standing_m_F", 201, (k+200), 838, 695);

                                    }                                                                     

                        }         

                        else if(input[7] == "MeetingRoom")          //F2MeetingRoom

                        {

                                    _root.F2MeetingRoom_Default._visible = false;

                                    var N_person = Number(input[10]);                

                                   

                                    Control(input[3], _root.F2MeetingRoom_Light, _root.F2MeetingRoom_Heater1, _root.F2MeetingRoom_Heater2, input[5], _root.F2Door1_Lock, _root.F2Door1_UnLock);

           

                                    if(N_person == 0)                                                                   

                                    {

                                                _root.F2MeetingRoom_Default._visible = true;                                                

                                                _root.F2Door1_UnLock._visible = false;         

                                                _root.F2Door1_Lock._visible = true;                          

                                                _root.F2MeetingRoom_Board._visible = false;

 

                                                RemoveMobieClip(301, 401); 

                                    }

                                    else if(N_person == 1)

                                    {

                                                RemoveMobieClip(302, 401);

                                                DrawOnePerson(input[7], input[5], 301, 301, 213, 500);                                             

                                    }