private GameObject checkIfHitHand(Transform hand) { foreach (Collider collider in Physics.OverlapSphere(hand.GetComponent <SphereCollider>().transform.position, 31f)) { if (collider.transform.root.tag == "Player") { GameObject gameObject = collider.transform.root.gameObject; TITAN_EREN te = gameObject.GetComponent <TITAN_EREN>(); if (te != null) { if (!te.isHit) { te.hitByTitan(); } return(gameObject); } HERO he = gameObject.GetComponent <HERO>(); if ((he != null) && !he.isInvincible()) { return(gameObject); } } } return(null); }
// TITAN_EREN.netPlayAnimation public static bool IsAnimationPlayValid(TITAN_EREN eren, PhotonMessageInfo info) { if (IN_GAME_MAIN_CAMERA.Gametype != GameType.Multiplayer || (info != null && eren.photonView.ownerId == info.sender.Id)) { return(true); } Mod.Logger.Error($"'TITAN_EREN.netPlayAnimation' from #{(info == null ? "?" : info.sender.Id.ToString())}."); if (info.sender != null && !FengGameManagerMKII.IgnoreList.Contains(info.sender.Id)) { FengGameManagerMKII.IgnoreList.Add(info.sender.Id); } return(false); }
public ErenSkin(TITAN_EREN tit, string skin) : base(tit.gameObject, new string[] { skin }) { }
private void Update() { if (this.launched) { this.baseT.Rotate(this.r); this.v -= (Vector3)((20f * Vector3.up) * Time.deltaTime); this.baseT.position += this.v * Time.deltaTime; if ((IN_GAME_MAIN_CAMERA.gametype == GAMETYPE.SINGLE) || this.basePV.isMine) { LayerMask mask = ((int)1) << LayerMask.NameToLayer("Ground"); LayerMask mask2 = ((int)1) << LayerMask.NameToLayer("Players"); LayerMask mask3 = ((int)1) << LayerMask.NameToLayer("EnemyAABB"); LayerMask mask4 = (mask2 | mask) | mask3; foreach (RaycastHit hit in Physics.SphereCastAll(this.baseT.position, 2.5f * this.baseT.lossyScale.x, this.baseT.position - this.oldP, Vector3.Distance(this.baseT.position, this.oldP), mask4)) { Collider collider = hit.collider; if (!(collider == null)) { GameObject gameObject = collider.gameObject; if (!(gameObject == null)) { GameObject gameObject2 = gameObject.transform.root.gameObject; if (!(gameObject2 == null)) { switch (gameObject.layer) { case 8: case 13: if (gameObject2.tag.NullFix() == "Player") { MONO component = gameObject2.GetComponent <MONO>(); if (!(component == null)) { if (component.species == SPECIES.Hero) { HERO hero = component as HERO; if (!hero.HasDied() && !hero.isInvincible()) { this.hitPlayer(gameObject2, hero); } } else if (component.species == SPECIES.TitanEren) { TITAN_EREN titan_EREN = component as TITAN_EREN; if (!titan_EREN.isHit) { titan_EREN.hitByTitan(); } } } } break; case 9: this.explore(); break; case 11: { TITAN component2 = gameObject2.GetComponent <TITAN>(); if (component2 != null && !component2.hasDie) { Vector3 position = this.baseT.position; if (IN_GAME_MAIN_CAMERA.gametype == GAMETYPE.SINGLE) { component2.hitAnkle(); } else { PhotonView photonView = PhotonView.Find(this.viewID); if (photonView != null) { Vector3 position2 = photonView.transform.position; } component2.photonView.RPC("hitAnkleRPC", PhotonTargets.All, new object[0]); } } this.explore(); break; } } } } } } this.oldP = this.baseT.position; // if (LayerMask.LayerToName(hit.collider.gameObject.layer) == "EnemyAABB") // { // GameObject gameObject = hit.collider.gameObject.transform.root.gameObject; // if ((gameObject.GetComponent<TITAN>() != null) && !gameObject.GetComponent<TITAN>().hasDie) // { // gameObject.GetComponent<TITAN>().hitAnkle(); // Vector3 position = this.baseT.position; // if (IN_GAME_MAIN_CAMERA.gametype == GAMETYPE.SINGLE) // { // gameObject.GetComponent<TITAN>().hitAnkle(); // } // else // { // if ((this.baseT.root.gameObject.GetComponent<EnemyfxIDcontainer>() != null) && (PhotonView.Find(this.baseT.root.gameObject.GetComponent<EnemyfxIDcontainer>().myOwnerViewID) != null)) // { // position = PhotonView.Find(this.baseT.root.gameObject.GetComponent<EnemyfxIDcontainer>().myOwnerViewID).transform.position; // } // gameObject.GetComponent<HERO>().photonView.RPC("hitAnkleRPC", PhotonTargets.All, new object[0]); // } // } // this.explore(); // } // else if (LayerMask.LayerToName(hit.collider.gameObject.layer) == "Players") // { // GameObject hero = hit.collider.gameObject.transform.root.gameObject; // if (hero.GetComponent<TITAN_EREN>() != null) // { // if (!hero.GetComponent<TITAN_EREN>().isHit) // { // hero.GetComponent<TITAN_EREN>().hitByTitan(); // } // } // else if ((hero.GetComponent<HERO>() != null) && !hero.GetComponent<HERO>().isInvincible()) // { // this.hitPlayer(hero); // } // } // else if (LayerMask.LayerToName(hit.collider.gameObject.layer) == "Ground") // { // this.explore(); // } //} //this.oldP = this.baseT.position; } } }
private void Update() { if (!launched) { return; } base.transform.Rotate(r); v -= 20f * Vector3.up * Time.deltaTime; base.transform.position += v * Time.deltaTime; if (IN_GAME_MAIN_CAMERA.Gametype == GameType.Multiplayer && !PhotonNetwork.isMasterClient) { return; } LayerMask mask = 1 << LayerMask.NameToLayer("Ground"); LayerMask mask2 = 1 << LayerMask.NameToLayer("Players"); LayerMask mask3 = 1 << LayerMask.NameToLayer("EnemyAABB"); LayerMask mask4 = (int)mask2 | (int)mask | (int)mask3; Vector3 position = base.transform.position; Vector3 lossyScale = base.transform.lossyScale; RaycastHit[] array = Physics.SphereCastAll(position, 2.5f * lossyScale.x, base.transform.position - oldP, Vector3.Distance(base.transform.position, oldP), mask4); for (int i = 0; i < array.Length; i++) { RaycastHit raycastHit = array[i]; switch (LayerMask.LayerToName(raycastHit.collider.gameObject.layer)) { case "EnemyAABB": GameObject gameObject = raycastHit.collider.gameObject.transform.root.gameObject; TITAN titan = gameObject.GetComponent <TITAN>(); if (titan != null && !titan.hasDie) { titan.hitAnkle(); if (IN_GAME_MAIN_CAMERA.Gametype == GameType.Multiplayer) { titan.photonView.RPC("hitAnkleRPC", PhotonTargets.Others, titan.photonView.ownerId); } } explode(); break; case "Players": GameObject gameObject2 = raycastHit.collider.gameObject.transform.root.gameObject; TITAN_EREN eren = gameObject2.GetComponent <TITAN_EREN>(); if (eren != null) { if (!eren.isHit) { eren.hitByTitan(); } } else { HERO hero = gameObject2.GetComponent <HERO>(); if (hero != null && !hero.HasDied() && !hero.IsInvincible() && !hero.isGrabbed) { if (IN_GAME_MAIN_CAMERA.Gametype == GameType.Singleplayer) { hero.Die(v.normalized * 1000f + Vector3.up * 50f, isBite: false); } else if (IN_GAME_MAIN_CAMERA.Gametype == GameType.Multiplayer) { hero.MarkDead(); int num = -1; string text = "Rock"; EnemyfxIDcontainer efxIDContainer = base.transform.root.gameObject.GetComponent <EnemyfxIDcontainer>(); if (efxIDContainer != null) { num = efxIDContainer.myOwnerViewID; text = efxIDContainer.titanName; } hero.photonView.RPC("netDie", PhotonTargets.All, v.normalized * 1000f + Vector3.up * 50f, false, num, text, true); } } } break; case "Ground": explode(); break; } } oldP = base.transform.position; }
public void RemoveET(TITAN_EREN hero) { eren = null; }
public void AddET(TITAN_EREN hero) { eren = hero; }
private void Update() { if (this.launched) { baseT.Rotate(this.r); this.v -= (Vector3)((20f * Vector3.up) * Time.deltaTime); baseT.position += (Vector3)(this.v * Time.deltaTime); if ((IN_GAME_MAIN_CAMERA.gametype != GAMETYPE.MULTIPLAYER) || PhotonNetwork.isMasterClient) { LayerMask mask = ((int)1) << LayerMask.NameToLayer("Ground"); LayerMask mask2 = ((int)1) << LayerMask.NameToLayer("Players"); LayerMask mask3 = ((int)1) << LayerMask.NameToLayer("EnemyAABB"); LayerMask mask4 = (mask2 | mask) | mask3; foreach (RaycastHit hit in Physics.SphereCastAll(baseT.position, 2.5f * baseT.lossyScale.x, baseT.position - this.oldP, Vector3.Distance(baseT.position, this.oldP), (int)mask4)) { string namelayer = LayerMask.LayerToName(hit.collider.gameObject.layer); if (namelayer == "EnemyAABB") { GameObject gameObject = hit.collider.gameObject.transform.root.gameObject; TITAN titan = gameObject.GetComponent <TITAN>(); if ((titan != null) && !titan.hasDie) { titan.hitAnkle(); Vector3 position = baseT.position; if (IN_GAME_MAIN_CAMERA.gametype == GAMETYPE.SINGLE) { titan.hitAnkle(); } else { EnemyfxIDcontainer fx = baseT.root.gameObject.GetComponent <EnemyfxIDcontainer>(); PhotonView viev = PhotonView.Find(fx.myOwnerViewID); if ((fx != null) && (viev != null)) { Vector3 vector2 = viev.transform.position; } gameObject.GetComponent <HERO>().photonView.RPC("hitAnkleRPC", PhotonTargets.All, new object[0]); } } this.explore(); } else if (namelayer == "Players") { GameObject hero = hit.collider.gameObject.transform.root.gameObject; TITAN_EREN te = hero.GetComponent <TITAN_EREN>(); HERO hr = null; if (te != null) { if (!te.isHit) { te.hitByTitan(); } } else if (((hr = hero.GetComponent <HERO>()) != null) && !hr.isInvincible()) { this.hitPlayer(hr); } } else if (namelayer != "Leave") { this.explore(); } } this.oldP = baseT.position; } } }