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)); } } } } } }
// Use this for initialization void Awake () { player = GameObject.FindGameObjectWithTag("Player"); playerControl = player.GetComponent<playerControl>(); som = gameObject.GetComponent<AudioSource>(); bala = gameObject.GetComponent<MeshRenderer>(); }
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; }
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); }
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()); }*/ } }
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 } }
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"); } }
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(); }
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 !" ); } //*/ }
void OnDrop (GameObject go) { if (onDrop && target != null) { target.SendMessage("OnDrop", go, SendMessageOptions.DontRequireReceiver); } }
//指定されたタグの中で最も近いものを取得 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; }
private GameObject AddBGLayer(GameObject layer) { GameObject newBackground = ObjectPooler.instance.GetObjectByName(layer.name, true); newBackground.GetComponent<ParallaxLayer>().setLastGenerated(true); AddLayerToList(newBackground.GetComponent<ParallaxLayer>()); return newBackground; }
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")); }
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); } } }
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; }
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) { } } }
//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; }
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)); }
public void ItWillHaveTheGameObjectSet() { GameObject go = new GameObject(); Component comp = new TestComponent(); go.AddComponent(comp); Assert.That(comp.gameObject, Is.SameAs(go)); }
// Use this for initialization void Start() { GlobalValues.statePc = pcMovement; timeSpent = 1.0f; camera = GameObject.Find ("Main Camera"); meatballPlane = GameObject.Find ("Meatball Plane"); }
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"); } }
public void ItWillBeSetToBeAPrefabIfTheGameObjectIsAPRefab() { GameObject go = new GameObject() { isPrefab = true }; Component comp = new TestComponent(); go.AddComponent(comp); Assert.That(comp.isPrefab, Is.EqualTo(go.isPrefab)); }
void Start() { player = GameObject.FindGameObjectWithTag("Player"); anim = GetComponent<Animator>(); charControl = GetComponent<CharacterController>(); }
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(); }
private static void OnCreate(GameObject sender, EventArgs args) { if (sender.Name.Contains("healingBuff")) { _healingBuffs.Add(sender); } }
// 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); }
public void onPickupClock(GameObject go, bool tr) { Interactable inter = go.GetComponent<Interactable>(); if(inter != null) { //TODO Start ticking sound inter.setPuzzleState("pickedUp"); } }
public void Open(GameObject goRoot, int nTimeDurationSec) { gameObject.SetActiveRecursively( true); m_goRoot = goRoot; _StartTime( nTimeDurationSec); }
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>()); } }
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; }
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); }
public ISpawner SetElement(GameObject element) { _element = element; return(this); }
// 트리거 클릭시 선택된 오브젝트가 있는지 점검// 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; } } } } } }
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(); }; }
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; }
// 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; } } } }