//Log Dir http://docs.unity3d.com/Manual/LogFiles.html using UnityEngine; using System.Collections; using System.Collections.Generic; using System; using System.Runtime.InteropServices; public class WebScript : MonoBehaviour { public string hover; public Texture play, stop, repeat, fast, slow, box, menu, captions, captionsActive, captionsInactive, resize, resolucao; public float initVarX, initVarY; public float hSliderValue; Boolean isCaptionsActive = false; string alfabeto = "0123456789,ABCDEFGHIJKLMNOPQRSTUVWXYZ"; string stringPre; string[] stringPos; string aniName = ""; AnimationClip aniClip; string GetCurrentPlayingAnimationClip( ){ if(isCaptionsActive){ foreach(AnimationState anim in GetComponent()){ //Debug.Log(anim.name); if( GetComponent().IsPlaying( anim.name ) ){ if(anim.name.Split(' ')[0].Equals("_default")) return null; return anim.name.Split(' ')[0]; // return anim.name.Split(' '); } }//foreach } return null; } void loadIcons(){ captions = (Texture) Resources.Load("buttons/Subtitle", typeof(Texture)); //play = (Texture) Resources.Load("buttons/Play", typeof(Texture)); repeat = (Texture) Resources.Load("buttons/Repeat", typeof(Texture)); stop = (Texture) Resources.Load("buttons/Stop", typeof(Texture)); fast = (Texture) Resources.Load("buttons/Fast", typeof(Texture)); slow = (Texture) Resources.Load("buttons/Slow", typeof(Texture)); box = (Texture) Resources.Load("buttons/_Barra", typeof(Texture)); menu = (Texture) Resources.Load("buttons/MenuConfig", typeof(Texture)); captions = (Texture) Resources.Load("buttons/Subtitle", typeof(Texture)); resize = (Texture) Resources.Load("buttons/Resolution", typeof(Texture)); resolucao = (Texture) Resources.Load("buttons/Resolucao", typeof(Texture)); captionsActive = (Texture) Resources.Load("buttons/CaptionsActive", typeof(Texture)); captionsInactive = (Texture) Resources.Load("buttons/CaptionsInactive", typeof(Texture)); initVarX = ((Screen.width/2)-(box.width/2)); initVarY = ((Screen.height)-(box.height)-10); } void Start( ){ hSliderValue = 1.7f; loadIcons(); addAlpha( ); Application.ExternalCall("onLoadPlayer"); } void addAlpha( ){ foreach( char letter in alfabeto ){ aniClip = Resources.Load ("alpha/"+letter); if( aniClip ) GetComponent().AddClip(aniClip, ""+letter); else Debug.Log("Anim "+aniName+" not found"); } }//addAlpha void animStop( ){ GetComponent().Stop( ); aniClip = Resources.Load("anims/_default"); GetComponent().CrossFadeQueued("_default", 0.6F, QueueMode.CompleteOthers, PlayMode.StopAll ); } void updateGuiElements(){ initVarX = ((Screen.width/2)-(box.width/2)); initVarY = ((Screen.height)-(box.height)-10); } void Update( ){ // if( hover == "play" ) // Debug.Log( hover ); updateGuiElements(); foreach(AnimationState anim in GetComponent()) anim.speed = hSliderValue; } public string glosa; public void catchGlosa( String glosa ){ animStop( ); this.glosa = " _default "+glosa+" _default "; playFromWEB(); } void playFromWEB(){ Debug.Log( "Running on "+Application.platform ); //if( Application.platform == RuntimePlatform.OS ) GetComponent().Stop( ); stringPos = glosa.Split(' '); foreach( string aniName in stringPos ){ aniClip = Resources.Load("anims/"+aniName); if( aniClip ){ GetComponent().AddClip(aniClip, aniName); GetComponent().CrossFadeQueued( aniName, 0.6F, QueueMode.CompleteOthers );//0.4 GetComponent().RemoveClip( aniName ); }else foreach(char letter in aniName) GetComponent().CrossFadeQueued(""+letter, 0.6F, QueueMode.CompleteOthers); }//foreach string aniName aniClip = Resources.Load("anims/_default"); GetComponent().AddClip(aniClip, "_default"); } void OnGUI() { /* GUI.backgroundColor = Color.clear; */ /* Box onde ficarao os botoes; */ GUI.Box( new Rect ( initVarX, initVarY, box.width, box.height), box, "" ); if( GUI.Button (new Rect(initVarX+(box.height/4)+10 , initVarY+(repeat.width/2), repeat.width, repeat.height), new GUIContent("", repeat, "repeat"), "" )){ playFromWEB(); } //hover = GUI.tooltip; if( GUI.Button ( new Rect( initVarX+(box.height)+15, initVarY+(stop.width/2), stop.height, stop.height ), stop, "" ) ) animStop( ); { //INIT_SPEED GUI.DrawTexture(new Rect( initVarX+(box.height)*2, initVarY+(slow.width/2), slow.height, slow.height ), slow); hSliderValue = GUI.HorizontalSlider ( new Rect( initVarX+(box.height)*2+(slow.width)+5, initVarY+(slow.width/2)+(slow.width/3), box.height*3.5f, box.height/4 ), hSliderValue, 0.0F, 2.0F ); GUI.DrawTexture(new Rect( initVarX+(box.height)*6+15, initVarY+(fast.width/2), fast.height, fast.height ), fast); } //FINISH_SPEED /** * * BOTAO DE LEGENDA * **/ if (GUI.Button(new Rect(initVarX+(box.height)*7, initVarY+(slow.width/2), captions.width, captions.height), captions, "")){ isCaptionsActive = !isCaptionsActive; } { //INIT_CAPTIONS GUIStyle myLabelStyle = new GUIStyle(GUI.skin.label); myLabelStyle.fontSize = 30; myLabelStyle.alignment = TextAnchor.UpperCenter; ShadowAndOutline.DrawOutline( new Rect(0, initVarY-35, Screen.width, Screen.height), GetCurrentPlayingAnimationClip( ), myLabelStyle, Color.black, Color.yellow, 3); } //FINISH_CAPTIONS //if( GUI.Button ( new Rect( 10, 10, 100, 100 ), "DEBUGGER" ) ){//BOTAO DE TESTE }//BOTAO DE TESTE }//onGui void OnApplicationQuit() { } }