Unype Virtual World

From OpenSocial Directory

Jump to: navigation, search
Thumbnail
UnypeButtonSmaller.png
Application Details
Description Unype is a virtual world, like Second Life, that runs inside Google Earth. Socialize, chat, lead/follow, play games, mark your locations, insert 3D models, videos, voice chat or control your location from Twitter in Unype.
Publisher Holoscape
Author Murat Aktihanoglu
Code http://unype.com/opensocial/unype/unype.xml
Genre Games
Supports OpenSocial
Containers Ning

Image:Example.jpg==Reviews== Add a Review
Template:Unype Virtual World Reviews

[edit] Comments

Leave a comment

Your Name:
Heading:
Comment:


[edit] Code

View Code

  <?xml version="1.0" encoding="UTF-8" ?> 
  <Module>
  <ModulePrefs title="Unype Virtual World" description="Unype is a virtual world, like Second Life, that runs inside Google Earth. Socialize, chat, lead/follow, play games, mark your locations, insert 3D models, videos, voice chat or control your location from Twitter in Unype" author="Murat Aktihanoglu" author_email="muratak+unypevirtualworld@gmail.com" author_affiliation="Holoscape Inc." author_location="New York, NY, USA" thumbnail="http://unype.com/images/UnypeButtonSmaller.png" height="580">
  <Require feature="opensocial-0.5" /> 
  </ModulePrefs>
  <Content type="html">
  <![CDATA[ 
  
    <script type="text/javascript">
        function onAvatarChanged() 
        {
            var optionbox = document.getElementById('avatarChoice');
            var pic = document.getElementById('avatarPic');
            var newsrc = "http://unype.com/models/images/Man_Astronaut.png";
            
            var modelIndex = optionbox.selectedIndex;
            
            switch (modelIndex)
            {
                case 0: newsrc = "http://unype.com/models/images/Woman_Astronaut.png";break;
                case 1: newsrc = "http://unype.com/models/images/Man_Astronaut.png";break;
                case 2: newsrc = "http://unype.com/models/images/Woman_Jogging.png";break;
                case 3: newsrc = "http://unype.com/models/images/Man_Hat.png";break;
                case 4: newsrc = "http://unype.com/models/images/Woman_Standing.png";break;
                case 5: newsrc = "http://unype.com/models/images/Man_Standing.png";break;
                case 6: newsrc = "http://unype.com/models/images/Man_Walking.png";break;
                case 7: newsrc = "http://unype.com/models/images/Woman_WalkingGreen.png";break;
                case 8: newsrc = "http://unype.com/models/images/Man_Running.png";break;
                case 9: newsrc = "http://unype.com/models/images/Man_Waving.png";break;
                case 10: newsrc = "http://unype.com/models/images/Man_RunningBlue.png";break;
                case 11: newsrc = "http://unype.com/models/images/Man_RunningGreen.png";break;
                case 12: newsrc = "http://unype.com/models/images/Man_WalkingBlue.png";break;
                case 13: newsrc = "http://unype.com/models/images/Man_WalkingGreen.png";break;
                case 14: newsrc = "http://unype.com/models/images/Man_WalkingRed.png";break;
                case 15: newsrc = "http://unype.com/models/images/Man_WalkingYellow.png";break;
            }
            
            
            pic.src = newsrc;
        }
        function onImChanged() 
        {
            var optionbox = document.getElementById('imChoice');
            var pic = document.getElementById('imPic');
            var newsrc = "http://unype.com/models/logos/skype_logo.png";
            
            var modelIndex = optionbox.selectedIndex;
            
            switch (modelIndex)
            {
                case 0: newsrc = "http://unype.com/models/logos/skype_logo.png";break;
                case 1: newsrc = "http://unype.com/models/logos/yahoo_logo.gif";break;
                case 2: newsrc = "http://unype.com/models/logos/messenger_logo.gif";break;
                case 3: newsrc = "http://unype.com/models/logos/aim_logo.jpg";break;
                case 4: newsrc = "http://unype.com/models/logos/icq_logo.jpg";break;
                case 5: newsrc = "http://unype.com/models/logos/jabber_logo.jpg";break;
                case 6: newsrc = "http://unype.com/models/logos/googletalk_logo.gif";break;
            }
            pic.src = newsrc;
        }
    </script>
    
    <div id='main'/>
    </div>
    
    <script type="text/javascript">
        _IG_RegisterOnloadHandler(request);
            
        function request() {
            var req = opensocial.newDataRequest();

            var req_params = { 'PROFILE_DETAILS' : opensocial.DataRequest.ProfileDetailType.FULL}

            req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER), "viewer");
            req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.OWNER, req_params ), "owner");
            
            req.send(response);
        }

        function response(data) {
            // do something with the viewer data
            var viewer = data.get("viewer").getData();
            //if ( viewer.hadError() )
            //{
            //    alert(viewer.getError());
            //    return;
            //}
            var viewername = viewer.getDisplayName();

            var owner = data.get("owner").getData();
            //if ( owner.hadError() )
            //{
            //    alert(owner.getError());
            //    return;
            //}
            
            var ownername = owner.getDisplayName();
            
            // get the container's name with this hack
            var idPrefix = "or";
            var containerUrl = document.URL;
            if ( containerUrl.match("orkut.com") )
            {
                idPrefix = "or";
            }
            else if ( containerUrl.match("ning.com") )
            {
                idPrefix = "ni";
            }
            else if ( containerUrl.match("pulse.com") )
            {
                idPrefix = "pu";
            }
            else
            {
                // where are we??
                alert("where are we???");
            }
            
            var id = idPrefix + owner.getField(opensocial.Person.Field.ID);
            
            //same as display name 
            //var name = owner.getField(opensocial.Person.Field.NAME);
            
            var thumb = owner.getField(opensocial.Person.Field.THUMBNAIL_URL);
            var profile = owner.getField(opensocial.Person.Field.PROFILE_URL);
            profile = 'http://sandbox.orkut.com' + profile;

            //alert('ownername:' + ownername + ' - id:' + id + ' - thumb:'+ thumb + ' - profile:' + profile );

            var html = "<br>";
            
            if ( viewername != ownername )
            {
                // visitor content
                html += "<a href='http://sandbox.orkut.com/Application.aspx?appId=578411107783'><img src='http://www.unype.com/images/EnterUnype.png'><br>Add Unype</a> to enter the Virtual World!";
            }
            else
            {
                // owner content 
                
                if ( !ownername )
                {
                  ownername = id;
                }

                html+= 'You only need <a href="http://earth.google.com" target="_blank">Google Earth</a> to use Unype. More <a href="http://unype.com">help</a>.<br><form action="http://unype.com/unypeserver/fbgenerateuser.php" method="post">';
                html+= '<table> \
        <tr> \
        <td valign="middle"><center><img src="http://unype.com/images/pickavatar.png"></center></td> \
        <td valign="middle"><center><img src="http://unype.com/images/enterim.png"></center></td> \
        <td valign="middle"> \
            <center> \
                <input src="http://www.unype.com/images/EnterUnype.png" name="Enter Multi-user Google Earth" value="Enter Multi-user Google Earth" alt="Enter Multi-user Google Earth" type="image" title="Click here and open the incoming file in Google Earth!" /> \
            </center></td> \
    </tr> \
    <tr> \
        <td><center><img src="http://unype.com/models/images/Woman_Astronaut.png" title="Pick your avatar" id="avatarPic"></center></td> \
        <td valign="bottom"> \
            <center> \
                <img src="http://unype.com/images/optional.png"><br><img src="http://unype.com/models/logos/skype_logo.png" title="For voice chat" id="imPic"> \
                <br><input type="text" name="imname"> \
            </center> \
        </td> \
        <td></td> \
    </tr> \
    <tr> \
        <td> \
            <select name="avatar" onChange="onAvatarChanged();" id="avatarChoice"> \
                <option value="http://unype.com/models/Woman_Astronaut.dae" selected="selected">Woman astronaut</option> \
                <option value="http://unype.com/models/Man_Astronaut.dae">Man astronaut</option> \
                <option value="http://unype.com/models/Woman_Jogging.dae">Woman jogging</option> \
                <option value="http://unype.com/models/Man_Hat.dae">Man with hat</option> \
                <option value="http://unype.com/models/Woman_Standing.dae">Woman standing</option> \
                <option value="http://unype.com/models/Man_Standing.dae">Man standing</option> \
                <option value="http://unype.com/models/Man_Walking.dae">Man walking</option> \
                <option value="http://unype.com/models/Woman_WalkingGreen.dae">Green woman walking</option> \
                <option value="http://unype.com/models/Man_Running.dae">Man running</option> \
                <option value="http://unype.com/models/Man_Waving.dae">Man waving</option> \
                <option value="http://unype.com/models/Man_RunningBlue.dae">Blue man running</option> \
                <option value="http://unype.com/models/Man_RunningGreen.dae">Green man running</option> \
                <option value="http://unype.com/models/Man_RunningRed.dae">Red man running</option> \
                <option value="http://unype.com/models/Man_WalkingBlue.dae">Blue man walking</option> \
                <option value="http://unype.com/models/Man_WalkingGreen.dae">Green man walking</option> \
                <option value="http://unype.com/models/Man_WalkingRed.dae">Red man walking</option> \
                <option value="http://unype.com/models/Man_WalkingYellow.dae">Yellow man walking</option> \
            </select> \
        </td> \
        <td> \
            <center> \
            <select name="immode"  onChange="onImChanged();" id="imChoice"> \
                <option value="skype" selected="selected">Skype name</option> \
                <option value="yahoo">Yahoo name</option> \
                <option value="msn">MSN name</option> \
                <option value="aim">AIM name</option> \
                <option value="icq">ICQ number</option> \
                <option value="jabber">Jabber name</option> \
                <option value="gtalk">Google Talk name</option> \
            </select> \
            </center> \
        </td> \
        <td> \
            <center> \
                <a href="http://picasaweb.google.com/unype1/UnypeFacebookApplicationScreenshots/photo#s5113955105526755730" target="_ssfb" \
                title="See a slideshow about Unype">What is Unype?</a> \
            </center> \
        </td> \
    </tr> \
</table>';         


                html+= '<input type="hidden" name="id" value="' + id + '"/>';
                html+= '<input type="hidden" name="name" value="'+ ownername + '"/>';
                html+= '<input type="hidden" name="loc" value=""/>';
                html+= '<input type="hidden" name="pic" value="' + thumb + '"/>';
                html+= '<input type="hidden" name="sex" value=""/>';
                html+= '<input type="hidden" name="birthday" value=""/>';
                html+= '</form>';

                html+= '<iframe src ="http://unype.com/facebook/unypeonline/map.htm" frameborder="0" style="width: 500px; height: 320px"/>';
                
                html+= '<hr/><a href="http://unype.com">Download the Unype client</a> for more capabilities ( 200K - MS Windows only download )<br/>';
                
                // only publish activity if owner is looking at his/her page
                //NING doesn't support this for now...
                //writeActivity();
            }
            
            document.getElementById('main').innerHTML = html;
        }
    
        function writeActivity() {
          var streamTitle = 'Unype Virtual World';
          var stream_params = {'url': 'http://unype.com' };
          var stream = opensocial.newStream('', streamTitle, stream_params);
          
          var title = 'Playing inside Unype - Virtual World inside Google Earth';
          var link =  'http://unype.com';
          var activity_params = {'url' : link}
          var activity = opensocial.newActivity(stream, title, activity_params)
          opensocial.requestCreateActivity(activity, opensocial.CreateActivityPriority.HIGH, getActivities);
        }    
        
        // http://code.google.com/apis/opensocial/docs/javascript/index.html
        function getActivities() {
        }
    </script>

  

  ]]> 
  </Content>
  </Module>

Page Rating

Rating: 2.3/5 (10 votes cast)

Personal tools
communication