コード例 #1
6
	private static void FindMissingReferences(string context, GameObject[] objects)
	{
		foreach (var go in objects)
		{
			var components = go.GetComponents<Component>();

			foreach (var c in components)
			{
				if (!c)
				{
					Debug.LogError("Missing Component in GO: " + FullPath(go), go);
					continue;
				}

				SerializedObject so = new SerializedObject(c);
				var sp = so.GetIterator();

				while (sp.NextVisible(true))
				{
					if (sp.propertyType == SerializedPropertyType.ObjectReference)
					{
						if (sp.objectReferenceValue == null
						    && sp.objectReferenceInstanceIDValue != 0)
						{
							ShowError(context, go, c.GetType().Name, ObjectNames.NicifyVariableName(sp.name));
						}
					}
				}
			}
		}
	}
コード例 #2
4
	// Use this for initialization
	void Awake () 
    {
        player = GameObject.FindGameObjectWithTag("Player");
        playerControl = player.GetComponent<playerControl>();
        som = gameObject.GetComponent<AudioSource>();
        bala = gameObject.GetComponent<MeshRenderer>();
	}
コード例 #3
1
 private void Move(GameObject prefab)
 {
     //move object upwards over time * speed
     Vector2 pos = prefab.GetComponent<RectTransform>().anchoredPosition;
     pos.y += 1 * speed * Time.deltaTime;
     prefab.GetComponent<RectTransform>().anchoredPosition = pos;
 }
コード例 #4
1
 public void AfterInstantiatingANewObjectItExists()
 {
     Assert.Inconclusive("I am not sure if this is the correct behaviour...");
     GameObject obj = new GameObject();
     GameObject clone = (GameObject)GameObject.Instantiate(obj);
     Assert.That(Application.Find(clone.GetInstanceID()), Is.Not.Null);
 }
コード例 #5
1
ファイル: weaponSelection.cs プロジェクト: Quazwas/voidless
    void OnGUI()
    {
        if(!Network.isClient && !Network.isServer) {
            if(!bNodeSelected) {
                for(int i=0; i<length; i++) {
                    if(GUI.Button(new Rect(10, 300+i*30, 200, 30), "Node: "+i.ToString()+"  Type: "+nodeTypes[i].ToString())) {
                        selNode=i;
                        selNodeType=nodeTypes[i];
                        bNodeSelected=true;

                        highlight = Instantiate(highlightObject, nodes[i].transform.position, nodes[i].transform.rotation) as GameObject;
                    }
                }
            } else {
                for(int i=0; i<wepAmnt; i++) {
                    if(weaponObject.GetComponent<wepProperties>().weapons[i].nodeType == selNodeType) {
                        if(GUI.Button(new Rect(10, 300+i*30, 200, 30),  GetComponent<wepProperties>().weapons[i].name)){
                            wepLocs[selNode]=i;
                            updateNodes(selNode, i);
                            bNodeSelected=false;
                            Destroy(highlight);
                        }
                    }
                }
            }
            /*for(int i =0; i<wepLocs.Length; i++) {
                GUI.Label(new Rect(15, 500+i*30,300,30), wepLocs[i].ToString());
            }*/
        }
    }
コード例 #6
1
ファイル: LeanTest.cs プロジェクト: bobbyzhu/hugula
    public static void expect( bool didPass, string definition, string failExplaination = null)
    {
        float len = printOutLength(definition);
        int paddingLen = 40-(int)(len*1.05f);
        #if UNITY_FLASH
        string padding = padRight(paddingLen);
        #else
        string padding = "".PadRight(paddingLen,"_"[0]);
        #endif
        string logName = formatB(definition) +" " + padding + " [ "+ (didPass ? formatC("pass","green") : formatC("fail","red")) +" ]";
        if(didPass==false && failExplaination!=null)
            logName += " - " + failExplaination;
        Debug.Log(logName);
        if(didPass)
            passes++;
        tests++;

        // Debug.Log("tests:"+tests+" expected:"+expected);
        if(tests==expected && testsFinished==false){
            overview();
        }else if(tests>expected){
            Debug.Log(formatB("Too many tests for a final report!") + " set LeanTest.expected = "+tests);
        }

        if(timeoutStarted==false){
            timeoutStarted = true;
            GameObject tester = new GameObject();
            tester.name = "~LeanTest";
            LeanTester test = tester.AddComponent(typeof(LeanTester)) as LeanTester;
            test.timeout = timeout;
            #if !UNITY_EDITOR
            tester.hideFlags = HideFlags.HideAndDontSave;
            #endif
        }
    }
コード例 #7
1
	static public GameObject target; // the target that the camera should look at

	void Start () {
		if (target == null) 
		{
			target = this.gameObject;
			Debug.Log ("LookAtTarget target not specified. Defaulting to parent GameObject");
		}
	}
コード例 #8
1
    public void LoadResourceInsteadOfAwake()
    {
        if (m_bLoadResourceInsteadOfAwake)
            return;

        m_bLoadResourceInsteadOfAwake = true;

        m_myTransform = transform;
        FillFullNameData(m_myTransform);

        m_goFingerTailUIDrawRange = FindTransform("FingerTailUIDrawRange").gameObject;

        m_goFingerTailUIDrawPanel = FindTransform("FingerTailUIDrawPanel").gameObject;
        DontDestroyOnLoad(m_goFingerTailUIDrawPanel);
        ShowFingerTailUIDrawPanel(false);
        m_goFingerTailUIDrawPanel.transform.parent = null;
        m_goFingerTailUIDrawPanel.transform.localPosition = Vector3.zero;
        m_goFingerTailUIDrawPanel.transform.localScale = new Vector3(1, 1, 1);

        m_MFUIFingerTail = m_goFingerTailUIDrawRange.AddComponent<MFUIFingerTail>();
        m_MFUIFingerTail.UICamera = GameObject.Find("Camera").GetComponentsInChildren<Camera>(true)[0];
        m_MFUIFingerTail.GoTail = m_goFingerTailUIDrawPanel;
        m_MFUIFingerTail.TailWidth = 20;
        m_MFUIFingerTail.LoadResourceInsteadOfAwake();
    }
コード例 #9
1
ファイル: ViNoSceneSaveUtil.cs プロジェクト: Joon-min/wiper
    public static void SavePanelChildren( GameObject savedObj , ref List<SceneData.SceneNodeData> nodelist , ref ISpriteFactory spriteFact )
    {
        nodelist.Clear();

        // savedObj <== named "SavedLayer" GameObject and this is not serialized.
        int count = savedObj.transform.GetChildCount();
        if( count > 0 ){
            for(int i=0;i<count;i++){
                GameObject childObj =  savedObj.transform.GetChild( i ).gameObject;
                SaveDataRecursively( childObj ,ref nodelist , ref spriteFact );
            }
        }

        // TEST . TEXT BOX POSITION SAVE.
        /*
        SceneData.SceneNodeData dat = new SceneData.SceneNodeData();
        GameObject _TEXTBOX = GameObject.Find( "TextBox" );
        if( _TEXTBOX != null ){
            dat.nodeType = SceneNodeType.NODE;
            nodelist.Add( dat );
            spriteFact.SaveData( ref dat , _TEXTBOX );
        }
        else{
            ViNoDebugger.LogError( "TextBox Not Found !" );
        }
        //*/
    }
コード例 #10
1
	void OnDrop (GameObject go)
	{
		if (onDrop && target != null)
		{
			target.SendMessage("OnDrop", go, SendMessageOptions.DontRequireReceiver);
		}
	}
コード例 #11
1
ファイル: AI2.cs プロジェクト: chocomellon/BattleArms
    //指定されたタグの中で最も近いものを取得
    GameObject serchTag(GameObject nowObj,string tagName)
    {
        float tmpDis = 0;           //距離用一時変数
        float nearDis = 0;          //最も近いオブジェクトの距離
        //string nearObjName = "";    //オブジェクト名称
        GameObject targetObj = null; //オブジェクト

        //タグ指定されたオブジェクトを配列で取得する
        foreach (GameObject obs in  GameObject.FindGameObjectsWithTag(tagName)){
            //自身と取得したオブジェクトの距離を取得
            tmpDis = Vector3.Distance(obs.transform.position, nowObj.transform.position);

            //オブジェクトの距離が近いか、距離0であればオブジェクト名を取得
            //一時変数に距離を格納
            if (nearDis == 0 || nearDis > tmpDis){
                nearDis = tmpDis;
                //nearObjName = obs.name;
                targetObj = obs;
            }

        }
        //最も近かったオブジェクトを返す
        //return GameObject.Find(nearObjName);
        return targetObj;
    }
コード例 #12
1
 private GameObject AddBGLayer(GameObject layer)
 {
     GameObject newBackground = ObjectPooler.instance.GetObjectByName(layer.name, true);
     newBackground.GetComponent<ParallaxLayer>().setLastGenerated(true);
     AddLayerToList(newBackground.GetComponent<ParallaxLayer>());
     return newBackground;
 }
コード例 #13
1
    protected void OnCollisionWithEnemy(GameObject enemy, float power)
    {
        power *= WeaponPowerMiltiplier;
        enemyTransform = enemy.transform;
        enemyController = enemy.GetComponent<FightEnemyController>();

        if (power < MinForceToHit)
            return;

        // Blood
        newBloodParticle = Instantiate<GameObject>(BloodParticles);
        newBloodParticle.transform.position = enemyTransform.position;
        newBloodParticle.transform.up = (enemyTransform.position - selfTransform.position).normalized;
        Destroy(newBloodParticle, 1);

        // Do damage
        enemyController.DoDamage(Mathf.Clamp(power, MinForceToHit, MaxForceToHit));
        //print(WeaponTypeName + ": " + hitVelocityMagnitude.ToString());

        // Damage Text
        newDamageText = Instantiate<GameObject>(DamageText);
        newDamageTextText = newDamageText.GetComponent<Text>();
        newDamageTextText.rectTransform.SetParent(WorldCanvas, false);
        newDamageTextText.rectTransform.position = enemyTransform.position + new Vector3(0f, 0.5f, 0f); ;
        newDamageTextText.text = string.Format("{0}", power.ToString("F0"));
    }
コード例 #14
1
    protected void Spawn_Diamond(GameObject Tile, float Movement)
    {
        Spawn_Tile (Tile, Vector2.zero);
        for (int i = 0; i <= Movement; i++)
         		{
            Vector2 Spawn_Position = Vector.Up * i;
            for (int iSpawn = 0; iSpawn < i; iSpawn++)
            {
                Spawn_Position += Vector.Right;
                Spawn_Position += Vector.Down;
                Spawn_Tile(Tile, Spawn_Position);
            }

            for (int iSpawn = 0; iSpawn < i; iSpawn++)
            {
                Spawn_Position += Vector.Down;
                Spawn_Position += Vector.Left;
                Spawn_Tile(Tile, Spawn_Position);
            }

            for (int iSpawn = 0; iSpawn < i; iSpawn++)
            {
                Spawn_Position += Vector.Left;
                Spawn_Position += Vector.Up;
                Spawn_Tile(Tile, Spawn_Position);
            }

            for (int iSpawn = 0; iSpawn < i; iSpawn++)
            {
                Spawn_Position += Vector.Up;
                Spawn_Position += Vector.Right;
                Spawn_Tile(Tile, Spawn_Position);
            }
        }
    }
コード例 #15
1
 private void Spawn_Tile(GameObject Select_Tile, Vector2 Position)
 {
     GameObject Tile = Instantiate (Select_Tile);
     Tile.transform.parent = transform;
     Tile.transform.position = transform.position;
     Tile.transform.position += (Vector3)Position;
 }
コード例 #16
1
    public void updateAllBuildings()
    {
        // Ottengo il numero di costruzioni sulla cella
        GameManager gMgr = GameObject.Find("GameManager").GetComponent<GameManager>();
        // Ciclo su tutte le mini-celle della board principale
        for (int i = 0; i < 40; i++) {
            // Ottengo la cella corrente
            GameObject curCell = GameObject.FindGameObjectWithTag(i.ToString());
            try {
                // Ottengo il set di case incluse nella cella
                GameObject curSet = curCell.transform.Find("GlobalBuildings").gameObject;
                GameObject[] curBuildings = new GameObject[5];

                // Nascondo prima tutte le costruzioni
                for (int houseIndex = 0; houseIndex < 5; houseIndex++) {
                    // trovo la componente che ci serve
                    curBuildings[houseIndex] = curSet.transform.Find("b" + (houseIndex+1).ToString()).gameObject;
                    curBuildings[houseIndex].SetActiveRecursively(false);
                }

                int mBuildings = 0;
                try {
                    mBuildings = gMgr.Cells[i].getProperty().getNumberOfBuildings();
                } catch (ArgumentOutOfRangeException e) {
                    mBuildings = 0;
                }

                if (mBuildings > 0) {
                    // Aggiorno i valori della cella
                    setBuildings(mBuildings, curBuildings);
                }
            } catch (NullReferenceException e) {
            }
        }
    }
コード例 #17
1
ファイル: RaycastScript.cs プロジェクト: vinlasan/School
 //public string objectNarration;
 // Use this for initialization
 void Start()
 {
     playerCamera = GameObject.Find("First Person Controller/Main Camera");
     objectNarration = GameObject.Find("Object Narration");
     objectNarrationGUI = objectNarration.GetComponent<GUIText>();
     objectNarrationGUI.enabled = false;
 }
コード例 #18
1
 public void WeCanDoItWithJustItsType()
 {
     GameObject go = new GameObject();
     Component comp = go.AddComponent(typeof(TestComponent));
     Assert.That(comp, Is.Not.Null);
     Assert.That(comp.gameObject, Is.SameAs(go));
 }
コード例 #19
1
 public void ItWillHaveTheGameObjectSet()
 {
     GameObject go = new GameObject();
     Component comp = new TestComponent();
     go.AddComponent(comp);
     Assert.That(comp.gameObject, Is.SameAs(go));
 }
コード例 #20
1
ファイル: Movement.cs プロジェクト: hubbas/Arabic-Game-Jam
 // Use this for initialization
 void Start()
 {
     GlobalValues.statePc = pcMovement;
     timeSpent = 1.0f;
     camera = GameObject.Find ("Main Camera");
     meatballPlane = GameObject.Find ("Meatball Plane");
 }
コード例 #21
1
ファイル: AcoesJogadorAlvo.cs プロジェクト: Marcos1994/Luria
 public void OnMouseDown()
 {
     //pego a unidade selecionada atravez do controlador de jogo
     GameObject selecionado = gameObject.transform.parent.parent.parent.GetComponent<ControladorDeJogo>().objetoSelecionado;
     //Se tiver algum objeto selecionado, mando a unidade selecionada se mover para o objeto clicado
     if(selecionado != null)
     {//Se tiver alguma unidade selecionada
         if(tropaJogador == null)
         {//E se nao tiver nem uma unidade nesse alvo (unidade do jogador)
             //Defino que tem uma unidade vindo pra ca
             tropaJogador = selecionado;
             //Se a unidade que esta vindo estiver vindo de um outro alvo, limpo o alvo antigo
             if(tropaJogador.GetComponent<ComportamentoDeUnidade>().alvoAtual != null)
                 tropaJogador.GetComponent<ComportamentoDeUnidade>().alvoAtual.GetComponent<AcoesJogadorAlvo>().tropaJogador = null;
             //Mando a unidade se mover para o alvo atual
             tropaJogador.GetComponent<ComportamentoDeUnidade>().moverSoldados(gameObject);
             //E digo que esse alvo e o novo destino dele
             tropaJogador.GetComponent<ComportamentoDeUnidade>().alvoAtual = gameObject;
             //atualizar as cores do alvo
             atualizarCores();
         }
         else
             gameObject.transform.parent.parent.parent.GetComponent<ControladorDeJogo>().hud.GetComponent<ControladorDeInterface>().escreverMensagem("Nao pode haver dois grupos em um mesmo alvo");
     }
 }
コード例 #22
1
 public void ItWillBeSetToBeAPrefabIfTheGameObjectIsAPRefab()
 {
     GameObject go = new GameObject() { isPrefab = true };
     Component comp = new TestComponent();
     go.AddComponent(comp);
     Assert.That(comp.isPrefab, Is.EqualTo(go.isPrefab));
 }
コード例 #23
1
ファイル: ChasesPlayer.cs プロジェクト: DanStout/FablesOfSol
    void Start()
    {
        player = GameObject.FindGameObjectWithTag("Player");

        anim = GetComponent<Animator>();
        charControl = GetComponent<CharacterController>();
    }
コード例 #24
1
ファイル: CharaController.cs プロジェクト: yihengz/UnityBiped
    public CharaController(CharaConfiguration chara, Configuration config, GameObject[] objs, bool debug = false)
    {
        _chara = chara;
        _config = config;

        _objs = objs;
        _joints = new ConfigurableJoint[_objs.Length];
        _rigs = new Rigidbody[_objs.Length];
        _init_rot = new Quaternion[_objs.Length];
        _target_rot = new Quaternion[_objs.Length];
        _target_pos = new Vector3[_objs.Length];

        _debug = debug;

        for (int i = 0; i < _objs.Length; ++i) {
            _rigs[i] = _objs[i].GetComponent<Rigidbody>();
            /*
            if (_debug)
                _rigs[i].isKinematic = true;
                */
            _init_rot[i] = _objs[i].transform.localRotation;
            _target_rot[i] = _init_rot[i];

            _joints[i] = _objs[i].GetComponent<ConfigurableJoint>();
        }

        InitializeJoints();
    }
コード例 #25
1
ファイル: Cache.cs プロジェクト: Hyunabstar/Experimental
 private static void OnCreate(GameObject sender, EventArgs args)
 {
     if (sender.Name.Contains("healingBuff"))
     {
         _healingBuffs.Add(sender);
     }
 }
コード例 #26
1
    // Use this for initialization
    void Start()
    {
        //for the comp time leaderboard
        CompTimeColum1 = GameObject.Find ("CompTimeRow1");
        CompTimeColum2 = GameObject.Find ("CompTimeRow2");
        CompTimeColum3 = GameObject.Find ("CompTimeRow3");
        CompTimeLine2 = GameObject.Find ("CompTimeLine2");

        //for the enemies killed leaderboard
        EnemieskilledColum1 = GameObject.Find ("EnemiesKilledRow1");
        EnemieskilledColum2 = GameObject.Find ("EnemiesKilledRow2");
        EnemieskilledColum3 = GameObject.Find ("EnemiesKilledRow3");
        EnemieskilledLine2 = GameObject.Find ("EnemiesKilledLine2");

        //for the least damage leaderboard
        LeastDamageColum1 = GameObject.Find ("LeastDamageRow1");
        LeastDamageColum2 = GameObject.Find ("LeastDamageRow2");
        LeastDamageColum3 = GameObject.Find ("LeastDamageRow3");
        LeastDamageLine2 = GameObject.Find ("LeastDamageLine2");

        ReadFile.Load ("Assets/Data Files/Leaderboard.txt"); // the file that is loaded

        CompletionTime ();
        EnemiesKilled ();
        LeastDamage ();

        //not needed on the leaderboard for the main menu, but will be needed when accessed from the end of game
        CompTimeLine2.SetActive (false);
        EnemieskilledLine2.SetActive (false);
        LeastDamageLine2.SetActive (false);
    }
コード例 #27
1
	public void onPickupClock(GameObject go, bool tr) {
		Interactable inter = go.GetComponent<Interactable>();
		if(inter != null) {
			//TODO Start ticking sound
			inter.setPuzzleState("pickedUp");
		}
	}
コード例 #28
1
ファイル: AsPvpTimeDlg.cs プロジェクト: ftcaicai/ArkClient
	public void Open(GameObject goRoot, int nTimeDurationSec)
	{
		gameObject.SetActiveRecursively( true);
		m_goRoot = goRoot;
		
		_StartTime( nTimeDurationSec);
	}
コード例 #29
1
 void OnGUI()
 {
     GUILayout.Box("Legacy Effect Scale Editor", GUILayout.Width(295));
     EditorGUILayout.Space();
     Effect = (GameObject)EditorGUILayout.ObjectField("Legacy Effect", Effect, typeof(GameObject), true); 
     EditorGUILayout.Space();
     EditorGUILayout.Space();
     EditorGUILayout.Space();
     EditorGUILayout.Space();
     Scale = float.Parse(EditorGUILayout.TextField("Scale Change Value", Scale.ToString()));
     EditorGUILayout.Space();
     EditorGUILayout.Space();
     EditorGUILayout.Space();
     EditorGUILayout.Space();
     if (GUILayout.Button("Scale Apply", GUILayout.Height(70))) 
     {
         if (Effect.GetComponent<csLegacyEffectChanger>() != null)
             Effect.GetComponent<csLegacyEffectChanger>().LegacyEffectScaleChange(Scale);
         else
         {
             Effect.AddComponent<csLegacyEffectChanger>();
             Effect.GetComponent<csLegacyEffectChanger>().LegacyEffectScaleChange(Scale);
         }
         DestroyImmediate(Effect.GetComponent<csLegacyEffectChanger>());
     }
 }
コード例 #30
1
ファイル: SkillTreeDlg.cs プロジェクト: rogeryuan99/Hello
    public void cellClicked(GameObject go)
    {
        MusicManager.playEffectMusic("SFX_UI_button_tap_2a");
        // if(selectedCell != go)
        // {
        selectedCell = go;
        SkillTreeCell cell = selectedCell.GetComponent<SkillTreeCell>();

        if (SkillLearnedData.LearnedState.LEARNED == cell.learnedData.State)
        {
        //			cell.IsSelected = true;
        //			cell.updateOutlook();
        //	 		changeHeroSkillList(cell);
        //			changeSkillTreeCellBortherState(cell);
        //			UserInfo.instance.saveAllheroes();
            selectSkill(cell);
        }
        descDlg.DescIcon.spriteName = cell.icon.spriteName;
        descDlg.DescIcon.gameObject.SetActive(true);
        descDlg.DescIconBg.spriteName = cell.frame.spriteName;
        descDlg.DescIconBg.MakePixelPerfect();
        descDlg.DescIconBg.gameObject.SetActive(true);
        descDlg.Show(cell.skillDef);
        descDlg.SetTrainingBtnVisible(SkillLearnedData.LearnedState.UNLEARNED == cell.learnedData.State);
        descDlg.SetSkippingBtnVisible(SkillLearnedData.LearnedState.LEARNING  == cell.learnedData.State);
        descDlg.skillTrainTimeMask.fillAmount = 0;
        cell.OnFinished = OnFinishedLearning;
    }
コード例 #31
0
ファイル: ABGameWorld.cs プロジェクト: cerufra/msc_mix_int
	public void DecodeLevel(ABLevel currentLevel)  {
		
		ClearWorld();

		LevelHeight = ABConstants.LEVEL_ORIGINAL_SIZE.y;
		LevelWidth = (float)currentLevel.width * ABConstants.LEVEL_ORIGINAL_SIZE.x;

		Vector3 cameraPos = GameplayCam.transform.position;
		cameraPos.x = currentLevel.camera.x;
		cameraPos.y = currentLevel.camera.y;
		GameplayCam.transform.position = cameraPos;

		GameplayCam._minWidth = currentLevel.camera.minWidth;
		GameplayCam._maxWidth = currentLevel.camera.maxWidth;

		Vector3 landscapePos = ABWorldAssets.LANDSCAPE.transform.position;
		Vector3 backgroundPos = ABWorldAssets.BACKGROUND.transform.position;

		if (currentLevel.width > 1) {

			landscapePos.x -= LevelWidth / 4f;
			backgroundPos.x -= LevelWidth/ 4f;
		}

		for (int i = 0; i < currentLevel.width; i++) {

			GameObject landscape = (GameObject)Instantiate(ABWorldAssets.LANDSCAPE, landscapePos, Quaternion.identity);
			landscape.transform.parent = transform;

			float screenRate = currentLevel.camera.maxWidth / LevelHeight;
			if (screenRate > 2f) {

				for (int j = 0; j < (int)screenRate; j++) {
					
					Vector3 deltaPos = Vector3.down * (LevelHeight/1.5f + (j * 2f));
					Instantiate(ABWorldAssets.GROUND_EXTENSION, landscapePos + deltaPos, Quaternion.identity);
				}
			}

			landscapePos.x += ABConstants.LEVEL_ORIGINAL_SIZE.x - 0.01f;

			GameObject background = (GameObject)Instantiate(ABWorldAssets.BACKGROUND, backgroundPos, Quaternion.identity);
			background.transform.parent = GameplayCam.transform;
			backgroundPos.x += ABConstants.LEVEL_ORIGINAL_SIZE.x - 0.01f;
		}

		Vector2 slingshotPos = new Vector2 (currentLevel.slingshot.x, currentLevel.slingshot.y);
		_slingshot = (GameObject)Instantiate(ABWorldAssets.SLINGSHOT, slingshotPos, Quaternion.identity);
		_slingshot.name = "Slingshot";
		_slingshot.transform.parent = transform;

		foreach(BirdData gameObj in currentLevel.birds){

			AddBird(ABWorldAssets.BIRDS[gameObj.type], ABWorldAssets.BIRDS[gameObj.type].transform.rotation);
		}

		foreach (OBjData gameObj in currentLevel.pigs) {

			Vector2 pos = new Vector2 (gameObj.x, gameObj.y);
			Quaternion rotation = Quaternion.Euler (0, 0, gameObj.rotation);
			AddPig(ABWorldAssets.PIGS[gameObj.type], pos, rotation);
		}

		foreach(BlockData gameObj in currentLevel.blocks) {

			Vector2 pos = new Vector2 (gameObj.x, gameObj.y);
			Quaternion rotation = Quaternion.Euler (0, 0, gameObj.rotation);

			GameObject block = AddBlock(ABWorldAssets.BLOCKS[gameObj.type], pos,  rotation);

			MATERIALS material = (MATERIALS)System.Enum.Parse(typeof(MATERIALS), gameObj.material);
			block.GetComponent<ABBlock> ().SetMaterial (material);
		}

		foreach(PlatData gameObj in currentLevel.platforms) {
			
			Vector2 pos = new Vector2 (gameObj.x, gameObj.y);
			Quaternion rotation = Quaternion.Euler (0, 0, gameObj.rotation);

			AddPlatform(ABWorldAssets.PLATFORM, pos, rotation, gameObj.scaleX, gameObj.scaleY);
		}

		foreach(OBjData gameObj in currentLevel.tnts) {

			Vector2 pos = new Vector2 (gameObj.x, gameObj.y);
			Quaternion rotation = Quaternion.Euler (0, 0, gameObj.rotation);

			AddBlock(ABWorldAssets.TNT, pos, rotation);
		}
		
		StartWorld();
	}
    protected override void InitTempleteScale(GameObject uiTemplete)
    {
        if (mScaleType == ScaleType.FixBackground)
        {
            UISprite sp = uiTemplete.GetComponent<UISprite>();
            UITexture tex = null;

            if (null == sp)
            {
                tex = uiTemplete.GetComponent<UITexture>();
                if (null == tex)
                {
                    return;
                }
            }

            mViewFrame.panel.Update(); //必须刷新一次
            templeteWidth = Mathf.FloorToInt((mViewFrame.panel.finalClipRegion.z - (mItemGap * (mRowNum + 1))) / mRowNum);

            if (null != sp)
            {
                sp.width = templeteWidth;
            }
            else if (null != tex)
            {
                tex.width = templeteWidth;
            }
            else
            {
                return;
            }           
        }
        else if (mScaleType == ScaleType.FixObjectScale)
        {
            float preWidth = mViewFrame.panel.finalClipRegion.z;
            mViewFrame.panel.Update(); 
            float curWidth = mViewFrame.panel.finalClipRegion.z;
                    
            float scale = curWidth / preWidth;     
            Bounds b = NGUIMath.CalculateRelativeWidgetBounds(uiTemplete.transform, true);        
            templeteWidth = Mathf.FloorToInt(b.size.x * scale);

            uiTemplete.transform.localScale = scale * Vector3.one;

            //高度缩放
            itemSize = Mathf.FloorToInt(itemSize * scale);
         
            //间距也要缩放
            mItemGap = mItemGap * scale;
        }

        if (templeteWidth == 0)
        {
            return;
        }

        float center = mViewFrame.panel.finalClipRegion.x;
        float posX = 0;
        if (mRowNum % 2 == 0)
        {
            posX = center - (mRowNum / 2) * templeteWidth + templeteWidth / 2 - mItemGap / 2;
        }
        else
        {
            posX = center - (mRowNum / 2) * templeteWidth - mItemGap;
        }

        transform.localPosition = new Vector3(posX, itemSize / 2, transform.localPosition.z);
    }
コード例 #33
0
 public ISpawner SetElement(GameObject element)
 {
     _element = element;
     return(this);
 }
コード例 #34
0
    // 트리거 클릭시 선택된 오브젝트가 있는지 점검//
    void OnSelect()
    {

        if (GameObject.Find("TextBubble01") || GameObject.Find("TextBubble02") || GameObject.Find("QuestionPanel"))
        {
            //Debug.Log("UI 인터페이스가 활성화 되어있습니다.");
            return;
        }

        if (uAction == null)
        {
            Debug.Log("어떤 함수도 준비되지 않았습니다.");
            //Debug.Log("시나리오 넘버:"+ConstDataScript.scenarioNum +" ::멀티상태: "+ ConstDataScript.isMulti + " ::롤넘버: "+ ConstDataScript.roleNum + " ::액션넘버: "+ GameObject.Find("Characters/010_CrewA").GetComponent<ICT_Engine.MoveOnPathScript>().actionNum );


            //수동문열기를 하면 리턴을 하는 것이 아니라 아래 주석처리한 부분을 살려주어야 한다.
            //return;

            // 문을 여는 조건은 여기서 정해주어야 한다.//
            // 다른 시나리오 다른 캐릭터가 되면 또 그에 맞는 조건을 만들어주면 된다.//

            // 시나리오 1번(화재) 조건

            #region 수동 문열기 기능
            
            if (
                (ConstDataScript.scenarioNum == 1 && 
                ConstDataScript.isMulti == true && 
                ConstDataScript.roleNum == 10 && 
                GameObject.Find("Characters/010_CrewA").GetComponent<ICT_Engine.MoveOnPathScript>().actionNum == 10)
                ||
                // 시나리오 4번(거주구역화재)조건
                (ConstDataScript.scenarioNum == 4 && 
                ConstDataScript.isMulti == true && 
                (ConstDataScript.roleNum == 10 || ConstDataScript.roleNum == 13) && 
                GameObject.Find("Characters/010_CrewA").GetComponent<ICT_Engine.MoveOnPathScript>().actionNum == 10)
                )
            {
                Debug.Log("문을 열 수 있습니다.");
                //GameObject prop = pc.GetComponent<ICT_Engine.MoveOnPathScript>().TriggerEnterObj;
                //Debug.Log("선택된 프랍이 있습니다. ::: " + prop.name);

                //prop.GetComponent<Animation>().Play("DoorOpen");
                //return;
            }
            else
            {
                return;
            }
            
            #endregion
        }
        if (isOnSelect == true) return;
        isOnSelect = true;
        Transform characters = GameObject.Find("Characters").transform;
        for (int i = 0; i < characters.childCount; i++)
        {

            // 플레이어 캐릭터를 찾는다.
            if (characters.GetChild(i).name.Contains(ConstDataScript.roleNum.ToString()))
            {
                Debug.Log("Player Character!!");
                pc = characters.GetChild(i);
                // 플레이어 캐릭터는 찾았고...
                // PC에 붙어있는 MoveOnPathScript의 TriggerEnterObj에 오브젝트가 들어가 있는지 확인한다.
                // (오브젝트가 들어갔다는 것은 현재 컨트롤러가 오브젝트(프랍)를 가리키고 있다는 것이다).
                GameObject prop = pc.GetComponent<ICT_Engine.MoveOnPathScript>().TriggerEnterObj;
                Debug.Log("선택된 프랍이 있습니다. ::: " + prop.name);
                if(prop != null)
                {

                    // Null이 아니라면 현재 캐릭터와 프랍과 관련있는 것인지 알아본다.
                    // 프랍이 어떤 캐릭터와 관련이 있는지는 아래 배열변수의 내용을 보면 알 수 있다.
                    string[] rollNum = prop.GetComponent<ClickProp>().ConnectedRoll;

                    for(int j = 0; j<rollNum.Length; i++)
                    {
                        if (pc.name.Contains(rollNum[j]))
                        {
                            AnimationClip cp;
                            // 연결된 플레이어 넘버를 보여준다.
                            Debug.Log("J number: "+ j+ " :: 연결된 캐릭터: " + rollNum[j]);


                            #region 수동문열기(문인지 확인하는 부분).
                            
                            // 문을 여는 경우.
                            if (prop.tag.ToLower().Contains("door"))
                            {
                                //prop.GetComponent<Animation>().Play("DoorOpen");
                                //Debug.Log("애니메이션 이름: " + prop.GetComponent<Animation>().clip.name);

                                cp = prop.GetComponent<Animation>().GetClip("DoorOpen");
                                prop.GetComponent<Animation>().Play(cp.name);
                            }
                            // 다른 경우.(경우의 수가 많아지면 나중에 스위치를 이용하자.)
                            else
                            
                            #endregion
                            {
                                prop.GetComponent<Animation>().Play();
                                cp = prop.GetComponent<Animation>().clip;
                            }
                            Debug.Log("델리게이트 부를 준비1");
                            
                            float clpLength = 2f;
                            Debug.Log("ClpLength:: " + cp.length);
                            clpLength = cp.length;

                            // 여기서 이벤트를 삽입하여야 한다.
                            // 여기서 이벤트는 플레이어 캐릭터에 전달하거나 또는 그곳에서
                            // 바로 실행이 되어야 될 코드(함수)를 지칭한다.
                            Debug.Log("델리게이트 부를 준비2");
                            StartCoroutine(AfterMethod(clpLength, prop));
                            // 4 touchpadPosition::: (0.1, -1.0) - 터치패드 눌렀을 때.
                            // 4 grasped::: True - 옆구립 그립 눌렀을 때.
                            // 4 selectPressedAmount(Trigger)::: 0.1764706 - 앞쪽의 트리거 눌렀을 때.

                            break;

                        }
                    }
                }
            }
        }
    }
コード例 #35
0
	private void Awake()
	{
		IEnumerator enumerator = base.transform.GetEnumerator();
		try
		{
			while (enumerator.MoveNext())
			{
				object obj = enumerator.Current;
				Transform transform = (Transform)obj;
				if (transform.name == "L_BTN")
				{
					this.goLeft = transform.gameObject;
				}
				if (transform.name == "R_BTN")
				{
					this.goRight = transform.gameObject;
				}
				if (transform.name == "KNOB")
				{
					this.goKnob = transform.gameObject;
					this.colKnob = transform.gameObject.GetComponent<GUICollider>();
					IEnumerator enumerator2 = transform.GetEnumerator();
					try
					{
						while (enumerator2.MoveNext())
						{
							object obj2 = enumerator2.Current;
							Transform transform2 = (Transform)obj2;
							if (transform2.name == "NOW_NUM")
							{
								this.goNowVal = transform2.gameObject;
								this.nowValueFont = transform2.gameObject.GetComponent<GameStringsFont>();
							}
							if (transform2.name == "TAG")
							{
								this.goNowValTag = transform2.gameObject;
							}
						}
					}
					finally
					{
						IDisposable disposable;
						if ((disposable = (enumerator2 as IDisposable)) != null)
						{
							disposable.Dispose();
						}
					}
				}
				if (transform.name == "BAR")
				{
					this.NGSprbBar = transform.gameObject.GetComponent<UISprite>();
				}
				if (transform.name == "CUR_NUM")
				{
					this.curValueFont = transform.gameObject.GetComponent<GameStringsFont>();
				}
			}
		}
		finally
		{
			IDisposable disposable2;
			if ((disposable2 = (enumerator as IDisposable)) != null)
			{
				disposable2.Dispose();
			}
		}
		this.colKnob.onTouchBegan += delegate(Touch touch, Vector2 pos)
		{
			this.tpos = pos;
			this.KnobTouchBegan();
		};
		this.colKnob.onTouchMoved += delegate(Touch touch, Vector2 pos)
		{
			this.tpos = pos;
			this.KnobTouchMoved();
		};
		this.colKnob.onTouchEnded += delegate(Touch touch, Vector2 pos, bool flag)
		{
			this.tpos = pos;
			this.KnobTouchEnded();
		};
	}
コード例 #36
0
    public void InitFromLuaFile()
    {
        SLua.LuaTable _table;
        //Script prefix path: Assets/Scripts/Lua/
        //read file
        SLua.LuaSvr.getInstance().doFile("Items/" + m_LuaScript);

        //functions
        OnUse    += _CastFunc(SLua.LuaSvr.mainState["OnUse"]);
        OnUpdate += _CastFunc(SLua.LuaSvr.mainState["OnUpdate"]);
        OnHit    += _CastFunc(SLua.LuaSvr.mainState["OnHit"]);

        //load all the properties
        _table = (SLua.LuaTable)SLua.LuaSvr.mainState["properties"];

        //load mesh
        m_Prefab = (string)_table["Mesh"];
        GameObject _tmp = Resources.Load <GameObject>("Meshes/" + m_Prefab);

        _tmp = Instantiate(_tmp);
        gameObject.AddComponent <MeshFilter>();
        gameObject.AddComponent <MeshRenderer>();
        gameObject.GetComponent <MeshFilter>().mesh   = _tmp.GetComponent <MeshFilter>().mesh;
        gameObject.GetComponent <Renderer>().material = _tmp.GetComponent <Renderer>().material;
        gameObject.transform.localScale = _tmp.transform.localScale;
        GameObject.Destroy(_tmp);
        if (gameObject.GetComponent <Transceiver>() == null)
        {
            gameObject.AddComponent <Transceiver>();
        }
        gameObject.GetComponent <Transceiver>().AddResolver("Duplicate", OnDuplicate);


        //attributes
        m_ItemName    = (string)_table["Name"];
        m_Description = (string)_table["Description"];

        m_Type = (ItemType)System.Convert.ToInt32(_table["Type"]);
        switch (m_Type)
        {
        case ItemType.ITEM_WEAPON:
            m_WeaponType  = (WeaponType)System.Convert.ToInt32(_table["ShotType"]);
            m_AttackSpeed = System.Convert.ToSingle(_table["AttackSpeed"]);
            m_EnergyCost  = System.Convert.ToSingle(_table["EnergyCost"]);
            m_Damage      = System.Convert.ToSingle(_table["FirePower"]);
            break;

        case ItemType.ITEM_PARTS:
            m_Damage     = System.Convert.ToSingle(_table["Damage"]);
            m_Projectile = (string)_table["Ammo"];
            break;

        case ItemType.ITEM_ARMOR:
            m_Armor = System.Convert.ToSingle(_table["Armor"]);
            break;

        default:
            break;
        }
        m_Weight = System.Convert.ToSingle(_table["Weight"]);

        SLua.LuaTable _bonus = (SLua.LuaTable)_table["Bonus"];
        m_BonusList = new DAttributeBonus[_bonus.length()];
        for (int i = 1; i <= _bonus.length(); i++)
        {
            SLua.LuaTable _oneBonus = (SLua.LuaTable)_bonus[i];
            m_BonusList[i - 1] = new DAttributeBonus(
                (AttrType)System.Convert.ToInt32(_oneBonus[1]),
                System.Convert.ToSingle(_oneBonus[3]),
                System.Convert.ToBoolean(_oneBonus[2])
                );
        }

        m_bIfLoaded = true;
    }
コード例 #37
0
ファイル: CofreTrampa.cs プロジェクト: ClaudiaPC3/Crusade
    // Update is called once per frame
    void Update()
    {
        if (isServer)
        {
            anim.SetFloat("Estado", estado);
            if (personaje1 == null)
            {
                personaje1 = GameObject.Find("Main Camera");
            }

            if (proceso)
            {
                //cambiar
                if (NetworkServer.connections.Count == 2)
                {
                    jugadores    = GameObject.FindGameObjectsWithTag("jugador");
                    jugadoresNet = GameObject.FindGameObjectsWithTag("Autho");
                    jugadorNetC  = jugadoresNet[1];
                    jugadorS     = jugadores[0];
                    jugadorC     = jugadores[1];
                    if (idCast == 1)
                    {
                        jugadorCofre = jugadores[1];
                    }
                    else
                    {
                        jugadorCofre = jugadores[0];
                    }
                }

                if ((((jugadorS.GetComponent <Transform>().transform.position.x <= (posicion.position.x + 44) && jugadorS.GetComponent <Transform>().transform.position.x >= (posicion.position.x - 16)) && (jugadorS.GetComponent <Transform>().transform.position.y <= (posicion.position.y + 16) && jugadorS.GetComponent <Transform>().transform.position.y >= (posicion.position.y - 42)))) && activo)
                {
                    estado = 2;
                    if (Input.GetKeyUp(KeyCode.E) && idCast == 2)
                    {
                        GlobalData.EnCofre = true;
                        estado             = 3;
                        activo             = false;
                    }
                }
                else
                {
                    if (activo)
                    {
                        estado = 1;
                    }
                }
                if (((jugadorC.GetComponent <Transform>().transform.position.x <= (posicion.position.x + 44) && jugadorC.GetComponent <Transform>().transform.position.x >= (posicion.position.x - 16)) && (jugadorC.GetComponent <Transform>().transform.position.y <= (posicion.position.y + 16) && jugadorC.GetComponent <Transform>().transform.position.y >= (posicion.position.y - 42))) && activo)
                {
                    jugadoresNet = GameObject.FindGameObjectsWithTag("Autho");
                    jugadorNetC  = jugadoresNet[1];
                    estado       = 2;
                    bool isE = jugadorNetC.GetComponent <JugadorNet>().isE;
                    Debug.Log("Entro al cofre serv  " + isE);

                    if (jugadorNetC.GetComponent <JugadorNet>().isE&& idCast == 1)
                    {      //posiblemente el servidor esta entrando aqui
                        Debug.Log("Presiono E");
                        estado = 3;
                        activo = false;
                    }
                }

                /*else
                 * {
                 *  if (activo)
                 *  {
                 *      estado = 1;
                 *  }
                 * }*/
                if (!activo)
                {
                    currentTime = Time.deltaTime + currentTime;
                    if (currentTime >= 4.0f)
                    {
                        currentTime        = 0.0f;
                        activo             = true;
                        estado             = 1;
                        GlobalData.EnCofre = false;
                        Destroy(me);
                    }
                }
            }
        }
        else
        {
            if (personaje1 == null)
            {
                personaje1 = GameObject.Find("Main Camera");
            }

            if (proceso)
            {
                //cambiar
                jugadores    = GameObject.FindGameObjectsWithTag("jugador");
                jugadoresNet = GameObject.FindGameObjectsWithTag("Autho");
                jugadorNetC  = jugadoresNet[0];
                jugadorS     = jugadores[0];
                jugadorC     = jugadores[1];


                if ((((jugadorS.GetComponent <Transform>().transform.position.x <= (posicion.position.x + 44) && jugadorS.GetComponent <Transform>().transform.position.x >= (posicion.position.x - 16)) && (jugadorS.GetComponent <Transform>().transform.position.y <= (posicion.position.y + 16) && jugadorS.GetComponent <Transform>().transform.position.y >= (posicion.position.y - 42))) || (jugadorC.GetComponent <Transform>().transform.position.x <= (posicion.position.x + 44) && jugadorC.GetComponent <Transform>().transform.position.x >= (posicion.position.x - 16)) && (jugadorC.GetComponent <Transform>().transform.position.y <= (posicion.position.y + 16) && jugadorC.GetComponent <Transform>().transform.position.y >= (posicion.position.y - 42))) && activo)
                {
                    if (Input.GetKeyUp(KeyCode.E) && idCast == 1)
                    {
                        estado             = 3;
                        GlobalData.EnCofre = true;
                        activo             = false;
                    }

                    bool isE = jugadorNetC.GetComponent <JugadorNet>().isE;

                    if (isE && idCast == 2)
                    {
                        activo = false;
                        estado = 3;
                    }
                }


                if (!activo)
                {
                    currentTime = Time.deltaTime + currentTime;
                    if (currentTime >= 3.5f)
                    {
                        currentTime        = 0.0f;
                        GlobalData.EnCofre = false;
                        activo             = true;
                        GlobalData.EnCofre = false;
                        // Destroy(me);
                    }
                }
                else
                {
                    GlobalData.EnCofre = false;
                }
            }
        }
    }