Here are the examples of the csharp api UnityEngine.Vector3.Distance(UnityEngine.Vector3, UnityEngine.Vector3) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
226 Examples
19
Source : SpringLayout.cs
with Apache License 2.0
from activey
with Apache License 2.0
from activey
private void CalculateRepulsion(GraphSceneComponents sceneComponents)
{
sceneComponents.AcceptNode (v => {
SpringLayoutData layoutData = GetLayoutData (v);
double dx = 0;
double dy = 0;
double dz = 0;
sceneComponents.AcceptNode (v2 => {
float vx = v.GetPosition().x - v2.GetPosition().x;
float vy = v.GetPosition().y - v2.GetPosition().y;
float vz = v.GetPosition().z - v2.GetPosition().z;
double distanceSq = Mathf.Sqrt(Vector3.Distance(v.GetPosition(), v2.GetPosition()));
if (distanceSq == 0) {
System.Random random = new System.Random();
dx += random.NextDouble();
dy += random.NextDouble();
dz += random.NextDouble();
} else if (distanceSq < repulsion_range_sq) {
float factor = 0.1F;
dx += factor * vx / distanceSq;
dy += factor * vy / distanceSq;
dz += factor * vz / distanceSq;
}
});
double dlen = dx*dx + dy*dy + dz*dz;
if (dlen > 0) {
dlen = System.Math.Sqrt(dlen) / 20;
layoutData.xRepulsion += dx / dlen;
layoutData.yRepulsion += dy / dlen;
layoutData.zRepulsion += dz / dlen;
}
});
}
19
Source : GraphLineCurver.cs
with Apache License 2.0
from activey
with Apache License 2.0
from activey
void Start()
{
LineRenderer line = GetComponent<LineRenderer> ();
if (line == null) {
return;
}
Vector3 startPosition = line.GetPosition (0);
Vector3 endPosition = line.GetPosition (1);
float distance = Vector3.Distance (startPosition, endPosition);
Vector3 middlePosition = Vector3.MoveTowards (startPosition, endPosition, distance / 4);
//middlePosition.y = middlePosition.y + 20;
Vector3[] arrayToCurve = new Vector3[3]{startPosition, middlePosition, endPosition};
/*List<Vector3> points;
List<Vector3> curvedPoints;
int pointsLength = 0;
int curvedLength = 0;
if(smoothness < 1.0f) smoothness = 1.0f;
pointsLength = arrayToCurve.Length;
curvedLength = (pointsLength*Mathf.RoundToInt(smoothness))-1;
curvedPoints = new List<Vector3>(curvedLength);
float t = 0.0f;
for(int pointInTimeOnCurve = 0;pointInTimeOnCurve < curvedLength+1;pointInTimeOnCurve++){
t = Mathf.InverseLerp(0,curvedLength,pointInTimeOnCurve);
points = new List<Vector3>(arrayToCurve);
for(int j = pointsLength-1; j > 0; j--){
for (int i = 0; i < j; i++){
points[i] = (1-t)*points[i] + t*points[i+1];
}
}
curvedPoints.Add(points[0]);
}
line.numPositions = curvedPoints.Count;
for (int index = 0; index < curvedPoints.Count; index++) {
line.SetPosition (index, curvedPoints [index]);
}*/
for (int index = 0; index < arrayToCurve.Length; index++) {
line.SetPosition (index, arrayToCurve [index]);
}
}
19
Source : RacingMovingObject.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
public override void Launch()
{
IsActive = true;
//Explanation by Sadico
//we execute the Distance function just one to initialize the moltiplier and don't need to do the calculation anymore
//instead we do a more simple math calculation, get_perc at each frame that just cap and cycle a counter
time_moltiplier = this.Speed / Vector3.Distance(this.startPosition, this.endPosition);
percentage_position = 0;
}
19
Source : RacingMovingObject.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void Update()
{
if(isLaunched == false)
{
return;
}
if (toEnd)
{
CachedTransform.position = Vector3.MoveTowards(CachedTransform.position, endPosition, Speed * Time.deltaTime);
if (Vector3.Distance(CachedTransform.position, endPosition) < 2f)
{
this.toEnd = false;
}
}
else
{
CachedTransform.position = Vector3.MoveTowards(CachedTransform.position, startPosition, Speed * Time.deltaTime);
if (Vector3.Distance(CachedTransform.position, startPosition) < 2f)
{
this.toEnd = true;
}
}
}
19
Source : MovingScript.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void Initialize()
{
areaMultipliers = new float[Areas.Count];
for(int i = 0; i < areaMultipliers.Length; i++)
{
areaMultipliers[i] = Areas[i].Speed / Vector3.Distance(Areas[i].StartPosition, Areas[i].TargetPosition);
}
lowerBorder = 0f;
upperBorder = 1f;
stage = 1;
path = 0f;
pathMultiplier = 1f;
movementPercentage = 0f;
MovingScriptArea area = Areas[0];
cachedTransform.position = area.StartPosition;
cachedTransform.rotation = area.StartRotation;
currentBeginPoint = area.StartPosition;
currentTargetPoint = area.TargetPosition;
currentBeginRotation = area.StartRotation;
currentTargetRotation = area.TargetRotation;
movementMultiplier = areaMultipliers[0];
waitTime = area.Delay;
}
19
Source : AHSSShotGunCollider.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void OnTriggerStay(Collider other)
{
if (!isLocal)
{
return;
}
if (this.active_me)
{
switch (other.gameObject.tag)
{
case "playerHitbox":
if (!FengGameManagerMKII.Level.PVPEnabled)
{
return;
}
float num = 1f - Vector3.Distance(other.gameObject.transform.position, baseT.position) * 0.05f;
num = Mathf.Min(1f, num);
HitBox component = other.gameObject.GetComponent<HitBox>();
if (component != null && component.transform.root != null)
{
if (component.transform.root.GetComponent<HERO>().myTeam == this.myTeam)
{
return;
}
if (!component.transform.root.GetComponent<HERO>().IsInvincible())
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!component.transform.root.GetComponent<HERO>().IsGrabbed)
{
component.transform.root.GetComponent<HERO>().Die((component.transform.root.transform.position - baseT.position).normalized * num * 1000f + Vectors.up * 50f, false);
}
}
else if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer && !component.transform.root.GetComponent<HERO>().HasDied() && !component.transform.root.GetComponent<HERO>().IsGrabbed)
{
component.transform.root.GetComponent<HERO>().MarkDie();
component.transform.root.GetComponent<HERO>().BasePV.RPC("netDie", PhotonTargets.All, new object[]
{
(component.transform.root.position - baseT.position).normalized * num * 1000f + Vectors.up * 50f,
false,
this.viewID,
this.ownerName,
false
});
}
}
}
break;
case "replacedanneck":
HitBox component2 = other.gameObject.GetComponent<HitBox>();
if (component2 != null && this.checkIfBehind(component2.transform.root.gameObject) && !this.currentHits.Contains(component2))
{
component2.hitPosition = (baseT.position + component2.transform.position) * 0.5f;
this.currentHits.Add(component2);
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (component2.transform.root.GetComponent<replacedAN>() && !component2.transform.root.GetComponent<replacedAN>().hasDie)
{
int num2 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num2 = Mathf.Max(10, num2);
FengGameManagerMKII.FGM.netShowDamage(num2);
if ((float)num2 > component2.transform.root.GetComponent<replacedAN>().myLevel * 100f)
{
component2.transform.root.GetComponent<replacedAN>().Die();
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num2)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num2, component2.transform.root.gameObject, 0.02f);
}
FengGameManagerMKII.FGM.PlayerKillInfoSingleUpdate(num2);
}
}
}
else if (!PhotonNetwork.IsMasterClient || !component2.transform.root.GetComponent<PhotonView>().BasePV.IsMine)
{
if (component2.transform.root.GetComponent<replacedAN>())
{
if (!component2.transform.root.GetComponent<replacedAN>().hasDie)
{
int num3 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num3 = Mathf.Max(10, num3);
if ((float)num3 > component2.transform.root.GetComponent<replacedAN>().myLevel * 100f)
{
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num3)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num3, component2.transform.root.gameObject, 0.02f);
component2.transform.root.GetComponent<replacedAN>().asClientLookTarget = false;
}
component2.transform.root.GetComponent<replacedAN>().BasePV.RPC("replacedanGetHit", component2.transform.root.GetComponent<replacedAN>().BasePV.owner, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num3
});
}
}
}
else if (component2.transform.root.GetComponent<FEMALE_replacedAN>())
{
int num4 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num4 = Mathf.Max(10, num4);
if (!component2.transform.root.GetComponent<FEMALE_replacedAN>().hasDie)
{
component2.transform.root.GetComponent<FEMALE_replacedAN>().BasePV.RPC("replacedanGetHit", component2.transform.root.GetComponent<FEMALE_replacedAN>().BasePV.owner, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num4
});
}
}
else if (component2.transform.root.GetComponent<COLOSSAL_replacedAN>() && !component2.transform.root.GetComponent<COLOSSAL_replacedAN>().hasDie)
{
int num5 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num5 = Mathf.Max(10, num5);
component2.transform.root.GetComponent<COLOSSAL_replacedAN>().BasePV.RPC("replacedanGetHit", component2.transform.root.GetComponent<COLOSSAL_replacedAN>().BasePV.owner, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num5
});
}
}
else if (component2.transform.root.GetComponent<replacedAN>())
{
if (!component2.transform.root.GetComponent<replacedAN>().hasDie)
{
int num6 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num6 = Mathf.Max(10, num6);
if ((float)num6 > component2.transform.root.GetComponent<replacedAN>().myLevel * 100f)
{
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num6)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num6, component2.transform.root.gameObject, 0.02f);
}
component2.transform.root.GetComponent<replacedAN>().replacedanGetHit(baseT.root.gameObject.GetPhotonView().viewID, num6);
}
}
}
else if (component2.transform.root.GetComponent<FEMALE_replacedAN>())
{
if (!component2.transform.root.GetComponent<FEMALE_replacedAN>().hasDie)
{
int num7 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num7 = Mathf.Max(10, num7);
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num7)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num7, null, 0.02f);
}
component2.transform.root.GetComponent<FEMALE_replacedAN>().replacedanGetHit(baseT.root.gameObject.GetPhotonView().viewID, num7);
}
}
else if (component2.transform.root.GetComponent<COLOSSAL_replacedAN>() && !component2.transform.root.GetComponent<COLOSSAL_replacedAN>().hasDie)
{
int num8 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num8 = Mathf.Max(10, num8);
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num8)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num8, null, 0.02f);
}
component2.transform.root.GetComponent<COLOSSAL_replacedAN>().replacedanGetHit(baseT.root.gameObject.GetPhotonView().viewID, num8);
}
this.showCriticalHitFX(other.gameObject.transform.position);
}
break;
case "erenHitbox":
if (this.dmg > 0 && !other.gameObject.transform.root.gameObject.GetComponent<replacedAN_EREN>().ireplaced)
{
other.gameObject.transform.root.gameObject.GetComponent<replacedAN_EREN>().hitByreplacedan();
}
break;
case "replacedaneye":
if (!this.currentHits.Contains(other.gameObject))
{
this.currentHits.Add(other.gameObject);
GameObject gameObject = other.gameObject.transform.root.gameObject;
if (gameObject.GetComponent<FEMALE_replacedAN>())
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!gameObject.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject.GetComponent<FEMALE_replacedAN>().hitEye();
}
}
else if (!PhotonNetwork.IsMasterClient || !gameObject.GetPhotonView().IsMine)
{
if (!gameObject.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject.GetComponent<FEMALE_replacedAN>().BasePV.RPC("hitEyeRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID
});
}
}
else if (!gameObject.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject.GetComponent<FEMALE_replacedAN>().hitEyeRPC(baseT.root.gameObject.GetPhotonView().viewID);
}
}
else if (gameObject.GetComponent<replacedAN>().abnormalType != AbnormalType.Crawler)
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!gameObject.GetComponent<replacedAN>().hasDie)
{
gameObject.GetComponent<replacedAN>().HitEye();
}
}
else if (!PhotonNetwork.IsMasterClient || !gameObject.GetPhotonView().IsMine)
{
if (!gameObject.GetComponent<replacedAN>().hasDie)
{
gameObject.GetComponent<replacedAN>().BasePV.RPC("hitEyeRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID
});
}
}
else if (!gameObject.GetComponent<replacedAN>().hasDie)
{
gameObject.GetComponent<replacedAN>().hitEyeRPC(baseT.root.gameObject.GetPhotonView().viewID);
}
this.showCriticalHitFX(other.gameObject.transform.position);
}
}
break;
case "replacedanankle":
if (currentHits.Contains(other.gameObject))
{
return;
}
this.currentHits.Add(other.gameObject);
GameObject gameObject2 = other.gameObject.transform.root.gameObject;
int num9 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - gameObject2.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num9 = Mathf.Max(10, num9);
if (gameObject2.GetComponent<replacedAN>() && gameObject2.GetComponent<replacedAN>().abnormalType != AbnormalType.Crawler)
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!gameObject2.GetComponent<replacedAN>().hasDie)
{
gameObject2.GetComponent<replacedAN>().HitAnkle();
}
}
else
{
if (!PhotonNetwork.IsMasterClient || !gameObject2.GetPhotonView().IsMine)
{
if (!gameObject2.GetComponent<replacedAN>().hasDie)
{
gameObject2.GetComponent<replacedAN>().BasePV.RPC("hitAnkleRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID
});
}
}
else if (!gameObject2.GetComponent<replacedAN>().hasDie)
{
gameObject2.GetComponent<replacedAN>().HitAnkle();
}
this.showCriticalHitFX(other.gameObject.transform.position);
}
}
else if (gameObject2.GetComponent<FEMALE_replacedAN>())
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (other.gameObject.name == "ankleR")
{
if (gameObject2.GetComponent<FEMALE_replacedAN>() && !gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().hitAnkleR(num9);
}
}
else if (gameObject2.GetComponent<FEMALE_replacedAN>() && !gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().hitAnkleL(num9);
}
}
else if (other.gameObject.name == "ankleR")
{
if (!PhotonNetwork.IsMasterClient)
{
if (!gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().BasePV.RPC("hitAnkleRRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num9
});
}
}
else if (!gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().hitAnkleRRPC(baseT.root.gameObject.GetPhotonView().viewID, num9);
}
}
else if (!PhotonNetwork.IsMasterClient)
{
if (!gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().BasePV.RPC("hitAnkleLRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num9
});
}
}
else if (!gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().hitAnkleLRPC(baseT.root.gameObject.GetPhotonView().viewID, num9);
}
this.showCriticalHitFX(other.gameObject.transform.position);
}
break;
}
}
}
19
Source : COLOSSAL_TITAN.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
public void Update()
{
this.healthTime -= Time.deltaTime;
UpdateLabel();
if (this.state == "null")
{
return;
}
if (this.state == "wait")
{
this.waitTime -= Time.deltaTime;
if (this.waitTime <= 0f)
{
baseT.position = new Vector3(30f, 0f, 784f);
//UnityEngine.Object.Instantiate(CacheResources.Load("FX/ThunderCT"), baseT.position + Vectors.up * 350f, Quaternion.Euler(270f, 0f, 0f));
Pool.Enable("FX/ThunderCT", baseT.position + Vectors.up * 350f, Quaternion.Euler(270f, 0f, 0f));
IN_GAME_MAIN_CAMERA.MainCamera.flashBlind();
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
this.idle();
}
else if ((!FengGameManagerMKII.LAN) ? BasePV.IsMine : base.networkView.isMine)
{
this.idle();
}
else
{
this.state = "null";
}
}
}
else
{
if (this.state == "idle")
{
if (this.attackPattern == -1)
{
this.slap("r1");
this.attackPattern++;
}
else if (this.attackPattern == 0)
{
this.attack_sweep(string.Empty);
this.attackPattern++;
}
else if (this.attackPattern == 1)
{
this.steam();
this.attackPattern++;
}
else if (this.attackPattern == 2)
{
this.kick();
this.attackPattern++;
}
else
{
if (this.isSteamNeed || this.hasDie)
{
this.steam();
this.isSteamNeed = false;
return;
}
if (this.myHero == null)
{
this.findNearestHero();
}
else
{
Vector3 vector = this.myHero.transform.position - baseT.position;
float current = -Mathf.Atan2(vector.z, vector.x) * 57.29578f;
float f = -Mathf.DeltaAngle(current, baseGT.rotation.eulerAngles.y - 90f);
this.myDistance = Mathf.Sqrt((this.myHero.transform.position.x - baseT.position.x) * (this.myHero.transform.position.x - baseT.position.x) + (this.myHero.transform.position.z - baseT.position.z) * (this.myHero.transform.position.z - baseT.position.z));
float num = this.myHero.transform.position.y - baseT.position.y;
if (this.myDistance < 85f && UnityEngine.Random.Range(0, 100) < 5)
{
this.steam();
return;
}
if (num > 310f && num < 350f)
{
if (Vector3.Distance(this.myHero.transform.position, baseT.Find("APL1").position) < 40f)
{
this.slap("l1");
return;
}
if (Vector3.Distance(this.myHero.transform.position, baseT.Find("APL2").position) < 40f)
{
this.slap("l2");
return;
}
if (Vector3.Distance(this.myHero.transform.position, baseT.Find("APR1").position) < 40f)
{
this.slap("r1");
return;
}
if (Vector3.Distance(this.myHero.transform.position, baseT.Find("APR2").position) < 40f)
{
this.slap("r2");
return;
}
if (this.myDistance < 150f && Mathf.Abs(f) < 80f)
{
this.attack_sweep(string.Empty);
return;
}
}
if (num < 300f && Mathf.Abs(f) < 80f && this.myDistance < 85f)
{
this.attack_sweep("_vertical");
return;
}
int num2 = UnityEngine.Random.Range(0, 7);
if (num2 == 0)
{
this.slap("l1");
}
else if (num2 == 1)
{
this.slap("l2");
}
else if (num2 == 2)
{
this.slap("r1");
}
else if (num2 == 3)
{
this.slap("r2");
}
else if (num2 == 4)
{
this.attack_sweep(string.Empty);
}
else if (num2 == 5)
{
this.attack_sweep("_vertical");
}
else if (num2 == 6)
{
this.steam();
}
}
}
return;
}
if (this.state == "attack_sweep")
{
if (this.attackCheckTimeA != 0f && ((base.animation["attack_" + this.attackAnimation].normalizedTime >= this.attackCheckTimeA && base.animation["attack_" + this.attackAnimation].normalizedTime <= this.attackCheckTimeB) || (!this.attackChkOnce && base.animation["attack_" + this.attackAnimation].normalizedTime >= this.attackCheckTimeA)))
{
if (!this.attackChkOnce)
{
this.attackChkOnce = true;
}
foreach (RaycastHit raycastHit in this.checkHitCapsule(this.checkHitCapsuleStart.position, this.checkHitCapsuleEnd.position, this.checkHitCapsuleR))
{
GameObject gameObject = raycastHit.collider.gameObject;
if (gameObject.CompareTag("Player"))
{
this.killPlayer(gameObject);
}
if (gameObject.CompareTag("erenHitbox") && this.attackAnimation == "combo_3" && IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer && ((!FengGameManagerMKII.LAN) ? PhotonNetwork.IsMasterClient : Network.isServer))
{
gameObject.transform.root.gameObject.GetComponent<replacedAN_EREN>().hitByFTByServer(3);
}
}
foreach (RaycastHit raycastHit2 in this.checkHitCapsule(this.checkHitCapsuleEndOld, this.checkHitCapsuleEnd.position, this.checkHitCapsuleR))
{
GameObject gameObject2 = raycastHit2.collider.gameObject;
if (gameObject2.CompareTag("Player"))
{
this.killPlayer(gameObject2);
}
}
this.checkHitCapsuleEndOld = this.checkHitCapsuleEnd.position;
}
if (base.animation["attack_" + this.attackAnimation].normalizedTime >= 1f)
{
this.sweepSmokeObject.GetComponent<ParticleSystem>().enableEmission = false;
this.sweepSmokeObject.GetComponent<ParticleSystem>().Stop();
if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer)
{
if (!FengGameManagerMKII.LAN)
{
BasePV.RPC("stopSweepSmoke", PhotonTargets.Others, new object[0]);
}
}
this.findNearestHero();
this.idle();
this.playAnimation("idle");
}
}
else if (this.state == "kick")
{
if (!this.attackChkOnce && base.animation[this.actionName].normalizedTime >= this.attackCheckTime)
{
this.attackChkOnce = true;
this.door_broken.SetActive(true);
this.door_closed.SetActive(false);
if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer)
{
if (!FengGameManagerMKII.LAN)
{
BasePV.RPC("changeDoor", PhotonTargets.OthersBuffered, new object[0]);
}
}
if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer)
{
if (FengGameManagerMKII.LAN)
{
Network.Instantiate(CacheResources.Load("FX/boom1_CT_KICK"), baseT.position + baseT.Forward() * 120f + baseT.right * 30f, Quaternion.Euler(270f, 0f, 0f), 0);
Network.Instantiate(CacheResources.Load("rock"), baseT.position + baseT.Forward() * 120f + baseT.right * 30f, Quaternion.Euler(0f, 0f, 0f), 0);
}
else
{
Optimization.Caching.Pool.NetworkEnable("FX/boom1_CT_KICK", baseT.position + baseT.Forward() * 120f + baseT.right * 30f, Quaternion.Euler(270f, 0f, 0f), 0);
Optimization.Caching.Pool.NetworkEnable("rock", baseT.position + baseT.Forward() * 120f + baseT.right * 30f, Quaternion.Euler(0f, 0f, 0f), 0);
}
}
else
{
Pool.Enable("FX/boom1_CT_KICK", baseT.position + baseT.Forward() * 120f + baseT.right * 30f, Quaternion.Euler(270f, 0f, 0f));
//UnityEngine.Object.Instantiate(CacheResources.Load("FX/boom1_CT_KICK"), baseT.position + baseT.Forward() * 120f + baseT.right * 30f, Quaternion.Euler(270f, 0f, 0f));
Pool.Enable("rock", baseT.position + baseT.Forward() * 120f + baseT.right * 30f, Quaternion.Euler(0f, 0f, 0f));
}
}
if (base.animation[this.actionName].normalizedTime >= 1f)
{
this.findNearestHero();
this.idle();
this.playAnimation("idle");
}
}
else if (this.state == "slap")
{
if (!this.attackChkOnce && base.animation["attack_slap_" + this.attackAnimation].normalizedTime >= this.attackCheckTime)
{
this.attackChkOnce = true;
GameObject gameObject3;
if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer)
{
if (FengGameManagerMKII.LAN)
{
gameObject3 = (GameObject)Network.Instantiate(CacheResources.Load("FX/boom1"), this.checkHitCapsuleStart.position, Quaternion.Euler(270f, 0f, 0f), 0);
}
else
{
gameObject3 = Optimization.Caching.Pool.NetworkEnable("FX/boom1", this.checkHitCapsuleStart.position, Quaternion.Euler(270f, 0f, 0f), 0);
}
if (gameObject3.GetComponent<EnemyfxIDcontainer>())
{
gameObject3.GetComponent<EnemyfxIDcontainer>().replacedanName = base.name;
}
}
else
{
gameObject3 = Pool.Enable("FX/boom1", this.checkHitCapsuleStart.position, Quaternion.Euler(270f, 0f, 0f));//(GameObject)UnityEngine.Object.Instantiate(CacheResources.Load("FX/boom1"), this.checkHitCapsuleStart.position, Quaternion.Euler(270f, 0f, 0f));
}
gameObject3.transform.localScale = new Vector3(5f, 5f, 5f);
}
if (base.animation["attack_slap_" + this.attackAnimation].normalizedTime >= 1f)
{
this.findNearestHero();
this.idle();
this.playAnimation("idle");
}
}
else if (this.state == "steam")
{
if (!this.attackChkOnce && base.animation[this.actionName].normalizedTime >= this.attackCheckTime)
{
this.attackChkOnce = true;
if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer)
{
if (FengGameManagerMKII.LAN)
{
Network.Instantiate(CacheResources.Load("FX/colossal_steam"), baseT.position + baseT.Up() * 185f, Quaternion.Euler(270f, 0f, 0f), 0);
Network.Instantiate(CacheResources.Load("FX/colossal_steam"), baseT.position + baseT.Up() * 303f, Quaternion.Euler(270f, 0f, 0f), 0);
Network.Instantiate(CacheResources.Load("FX/colossal_steam"), baseT.position + baseT.Up() * 50f, Quaternion.Euler(270f, 0f, 0f), 0);
}
else
{
Optimization.Caching.Pool.NetworkEnable("FX/colossal_steam", baseT.position + baseT.Up() * 185f, Quaternion.Euler(270f, 0f, 0f), 0);
Optimization.Caching.Pool.NetworkEnable("FX/colossal_steam", baseT.position + baseT.Up() * 303f, Quaternion.Euler(270f, 0f, 0f), 0);
Optimization.Caching.Pool.NetworkEnable("FX/colossal_steam", baseT.position + baseT.Up() * 50f, Quaternion.Euler(270f, 0f, 0f), 0);
}
}
else
{
Pool.Enable("FX/colossal_steam", baseT.position + baseT.Forward() * 185f, Quaternion.Euler(270f, 0f, 0f));
Pool.Enable("FX/colossal_steam", baseT.position + baseT.Forward() * 303f, Quaternion.Euler(270f, 0f, 0f));
Pool.Enable("FX/colossal_steam", baseT.position + baseT.Forward() * 50f, Quaternion.Euler(270f, 0f, 0f));
//UnityEngine.Object.Instantiate(CacheResources.Load("FX/colossal_steam"), baseT.position + baseT.Forward() * 185f, Quaternion.Euler(270f, 0f, 0f));
//UnityEngine.Object.Instantiate(CacheResources.Load("FX/colossal_steam"), baseT.position + baseT.Forward() * 303f, Quaternion.Euler(270f, 0f, 0f));
//UnityEngine.Object.Instantiate(CacheResources.Load("FX/colossal_steam"), baseT.position + baseT.Forward() * 50f, Quaternion.Euler(270f, 0f, 0f));
}
}
if (base.animation[this.actionName].normalizedTime >= 1f)
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer)
{
if (FengGameManagerMKII.LAN)
{
Network.Instantiate(CacheResources.Load("FX/colossal_steam_dmg"), baseT.position + baseT.Up() * 185f, Quaternion.Euler(270f, 0f, 0f), 0);
Network.Instantiate(CacheResources.Load("FX/colossal_steam_dmg"), baseT.position + baseT.Up() * 303f, Quaternion.Euler(270f, 0f, 0f), 0);
Network.Instantiate(CacheResources.Load("FX/colossal_steam_dmg"), baseT.position + baseT.Up() * 50f, Quaternion.Euler(270f, 0f, 0f), 0);
}
else
{
GameObject gameObject4 = Optimization.Caching.Pool.NetworkEnable("FX/colossal_steam_dmg", baseT.position + baseT.Up() * 185f, Quaternion.Euler(270f, 0f, 0f), 0);
if (gameObject4.GetComponent<EnemyfxIDcontainer>())
{
gameObject4.GetComponent<EnemyfxIDcontainer>().replacedanName = base.name;
}
gameObject4 = Optimization.Caching.Pool.NetworkEnable("FX/colossal_steam_dmg", baseT.position + baseT.Up() * 303f, Quaternion.Euler(270f, 0f, 0f), 0);
if (gameObject4.GetComponent<EnemyfxIDcontainer>())
{
gameObject4.GetComponent<EnemyfxIDcontainer>().replacedanName = base.name;
}
gameObject4 = Optimization.Caching.Pool.NetworkEnable("FX/colossal_steam_dmg", baseT.position + baseT.Up() * 50f, Quaternion.Euler(270f, 0f, 0f), 0);
if (gameObject4.GetComponent<EnemyfxIDcontainer>())
{
gameObject4.GetComponent<EnemyfxIDcontainer>().replacedanName = base.name;
}
}
}
else
{
Pool.Enable("FX/colossal_steam_dmg", baseT.position + baseT.Forward() * 185f, Quaternion.Euler(270f, 0f, 0f));
Pool.Enable("FX/colossal_steam_dmg", baseT.position + baseT.Forward() * 303f, Quaternion.Euler(270f, 0f, 0f));
Pool.Enable("FX/colossal_steam_dmg", baseT.position + baseT.Forward() * 50f, Quaternion.Euler(270f, 0f, 0f));
//UnityEngine.Object.Instantiate(CacheResources.Load("FX/colossal_steam_dmg"), baseT.position + baseT.Forward() * 185f, Quaternion.Euler(270f, 0f, 0f));
//UnityEngine.Object.Instantiate(CacheResources.Load("FX/colossal_steam_dmg"), baseT.position + baseT.Forward() * 303f, Quaternion.Euler(270f, 0f, 0f));
//UnityEngine.Object.Instantiate(CacheResources.Load("FX/colossal_steam_dmg"), baseT.position + baseT.Forward() * 50f, Quaternion.Euler(270f, 0f, 0f));
}
if (this.hasDie)
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
UnityEngine.Object.Destroy(baseG);
}
else if (FengGameManagerMKII.LAN)
{
if (base.networkView.isMine)
{
}
}
else if (PhotonNetwork.IsMasterClient)
{
PhotonNetwork.Destroy(BasePV);
}
FengGameManagerMKII.FGM.GameWin();
}
this.findNearestHero();
this.idle();
this.playAnimation("idle");
}
}
else if (this.state == string.Empty)
{
}
}
}
19
Source : EnemyCheckCollider.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void OnTriggerStay(Collider other)
{
if ((IN_GAME_MAIN_CAMERA.GameType == GameType.Single || base.transform.root.gameObject.GetPhotonView().IsMine) && this.active_me)
{
if (other.gameObject.tag == "playerHitbox")
{
float b = 1f - Vector3.Distance(other.gameObject.transform.position, base.transform.position) * 0.05f;
b = Mathf.Min(1f, b);
HitBox component = other.gameObject.GetComponent<HitBox>();
if (component != null && component.transform.root != null)
{
if (this.dmg == 0)
{
Vector3 vector = component.transform.root.transform.position - base.transform.position;
float num2 = 0f;
if (base.gameObject.GetComponent<SphereCollider>() != null)
{
num2 = base.transform.localScale.x * base.gameObject.GetComponent<SphereCollider>().radius;
}
if (base.gameObject.GetComponent<CapsuleCollider>() != null)
{
num2 = base.transform.localScale.x * base.gameObject.GetComponent<CapsuleCollider>().height;
}
float num3 = 5f;
if (num2 > 0f)
{
num3 = Mathf.Max(5f, num2 - vector.magnitude);
}
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
component.transform.root.GetComponent<HERO>().blowAway(vector.normalized * num3 + Vector3.up * 1f);
return;
}
if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer)
{
object[] parameters = new object[]
{
vector.normalized * num3 + Vector3.up * 1f
};
component.transform.root.GetComponent<HERO>().BasePV.RPC("blowAway", PhotonTargets.All, parameters);
return;
}
}
else if (!component.transform.root.GetComponent<HERO>().IsInvincible())
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!component.transform.root.GetComponent<HERO>().IsGrabbed)
{
Vector3 vector2 = component.transform.root.transform.position - base.transform.position;
component.transform.root.GetComponent<HERO>().Die(vector2.normalized * b * 1000f + Vector3.up * 50f, this.isThisBite);
return;
}
}
else if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer && !component.transform.root.GetComponent<HERO>().HasDied() && !component.transform.root.GetComponent<HERO>().IsGrabbed)
{
component.transform.root.GetComponent<HERO>().MarkDie();
int myOwnerViewID = -1;
string replacedanName = string.Empty;
if (base.transform.root.gameObject.GetComponent<EnemyfxIDcontainer>() != null)
{
myOwnerViewID = base.transform.root.gameObject.GetComponent<EnemyfxIDcontainer>().myOwnerViewID;
replacedanName = base.transform.root.gameObject.GetComponent<EnemyfxIDcontainer>().replacedanName;
}
object[] objArray2 = new object[]
{
(component.transform.root.position - base.transform.position).normalized * b * 1000f + Vector3.up * 50f,
this.isThisBite,
myOwnerViewID,
replacedanName,
true
};
component.transform.root.GetComponent<HERO>().BasePV.RPC("netDie", PhotonTargets.All, objArray2);
return;
}
}
}
}
else if (other.gameObject.tag == "erenHitbox" && this.dmg > 0 && !other.gameObject.transform.root.gameObject.GetComponent<replacedAN_EREN>().ireplaced)
{
other.gameObject.transform.root.gameObject.GetComponent<replacedAN_EREN>().hitByreplacedan();
}
}
}
19
Source : COLOSSAL_TITAN.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private RaycastHit[] checkHitCapsule(Vector3 start, Vector3 end, float r)
{
return Physics.SphereCastAll(start, r, end - start, Vector3.Distance(start, end));
}
19
Source : RockThrow.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void explore()
{
GameObject gameObject;
if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer && PhotonNetwork.IsMasterClient)
{
gameObject = Pool.NetworkEnable("FX/boom6", baseT.position, baseT.rotation, 0);
if (baseT.root.gameObject.GetComponent<EnemyfxIDcontainer>() != null)
{
gameObject.GetComponent<EnemyfxIDcontainer>().myOwnerViewID = baseT.root.gameObject.GetComponent<EnemyfxIDcontainer>().myOwnerViewID;
gameObject.GetComponent<EnemyfxIDcontainer>().replacedanName = baseT.root.gameObject.GetComponent<EnemyfxIDcontainer>().replacedanName;
}
}
else
{
gameObject = Pool.Enable("FX/boom6", baseT.position, baseT.rotation);//(GameObject)UnityEngine.Object.Instantiate(CacheResources.Load("FX/boom6"), baseT.position, baseT.rotation);
}
gameObject.transform.localScale = baseT.localScale;
float num = 1f - Vector3.Distance(IN_GAME_MAIN_CAMERA.BaseCamera.transform.position, gameObject.transform.position) * 0.05f;
num = Mathf.Min(1f, num);
IN_GAME_MAIN_CAMERA.MainCamera.startShake(num, num, 0.95f);
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
Pool.Disable(gameObject);
}
else
{
PhotonNetwork.Destroy(BasePV);
}
}
19
Source : RockThrow.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void Update()
{
if (this.launched)
{
baseT.Rotate(this.r);
this.v -= 20f * Vectors.up * Time.deltaTime;
baseT.position += this.v * Time.deltaTime;
if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer && !PhotonNetwork.IsMasterClient)
{
return;
}
RaycastHit[] array = Physics.SphereCastAll(baseT.position, 2.5f * baseT.lossyScale.x, baseT.position - this.oldP, Vector3.Distance(baseT.position, this.oldP), Layers.PlayersEnemyAABGround);
foreach (RaycastHit raycastHit in array)
{
if (raycastHit.collider.gameObject.layer == Layers.EnemyAABBN)
{
GameObject gameObject = raycastHit.collider.gameObject.transform.root.gameObject;
if (gameObject.GetComponent<replacedAN>() && !gameObject.GetComponent<replacedAN>().hasDie)
{
gameObject.GetComponent<replacedAN>().HitAnkle();
Vector3 position = baseT.position;
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
gameObject.GetComponent<replacedAN>().HitAnkle();
}
else
{
if (baseT.root.gameObject.GetComponent<EnemyfxIDcontainer>() != null && PhotonView.Find(baseT.root.gameObject.GetComponent<EnemyfxIDcontainer>().myOwnerViewID))
{
position = PhotonView.Find(baseT.root.gameObject.GetComponent<EnemyfxIDcontainer>().myOwnerViewID).transform.position;
}
gameObject.GetComponent<HERO>().BasePV.RPC("hitAnkleRPC", PhotonTargets.All, new object[0]);
}
}
this.explore();
}
else if (raycastHit.collider.gameObject.layer == Layers.PlayersN)
{
GameObject gameObject2 = raycastHit.collider.gameObject.transform.root.gameObject;
if (gameObject2.GetComponent<replacedAN_EREN>())
{
if (!gameObject2.GetComponent<replacedAN_EREN>().ireplaced)
{
gameObject2.GetComponent<replacedAN_EREN>().hitByreplacedan();
}
}
else if (gameObject2.GetComponent<HERO>() && !gameObject2.GetComponent<HERO>().IsInvincible())
{
this.hitPlayer(gameObject2);
}
}
else if (raycastHit.collider.gameObject.layer == Layers.GroundN)
{
this.explore();
}
}
this.oldP = baseT.position;
}
}
19
Source : TriggerColliderWeapon.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void OnTriggerStay(Collider other)
{
//if (this.ActiveMe)
//{
if (!this.currentHitsII.Contains(other.gameObject))
{
this.currentHitsII.Add(other.gameObject);
IN_GAME_MAIN_CAMERA.MainCamera.startShake(0.1f, 0.1f, 0.95f);
if (other.gameObject.transform.root.gameObject.CompareTag("replacedan"))
{
IN_GAME_MAIN_CAMERA.MainHERO.slashHit.Play();
if (IN_GAME_MAIN_CAMERA.GameType != GameType.Single)
{
Optimization.Caching.Pool.NetworkEnable("hitMeat", baseT.position, Quaternion.Euler(270f, 0f, 0f), 0);
}
else
{
Pool.Enable("hitMeat", baseT.position, Quaternion.Euler(270f, 0f, 0f));//(GameObject)UnityEngine.Object.Instantiate(CacheResources.Load("hitMeat"));
}
//gameObject.transform.position = baseT.position;
baseT.root.GetComponent<HERO>().useBlade(0);
}
}
switch (other.gameObject.tag)
{
case "playerHitbox":
if (!FengGameManagerMKII.Level.PVPEnabled)
{
return;
}
float num = 1f - Vector3.Distance(other.gameObject.transform.position, baseT.position) * 0.05f;
num = Mathf.Min(1f, num);
HitBox component = other.gameObject.GetComponent<HitBox>();
if (component != null && component.transform.root != null)
{
if (component.transform.root.GetComponent<HERO>().myTeam == this.myTeam)
{
return;
}
if (!component.transform.root.GetComponent<HERO>().IsInvincible())
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!component.transform.root.GetComponent<HERO>().IsGrabbed)
{
component.transform.root.GetComponent<HERO>().Die((component.transform.root.transform.position - baseT.position).normalized * num * 1000f + Vectors.up * 50f, false);
}
}
else if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer && !component.transform.root.GetComponent<HERO>().HasDied() && !component.transform.root.GetComponent<HERO>().IsGrabbed)
{
component.transform.root.GetComponent<HERO>().MarkDie();
component.transform.root.GetComponent<HERO>().BasePV.RPC("netDie", PhotonTargets.All, new object[]
{
(component.transform.root.position - baseT.position).normalized * num * 1000f + Vectors.up * 50f,
false,
baseT.root.gameObject.GetPhotonView().viewID,
PhotonView.Find(baseT.root.gameObject.GetPhotonView().viewID).owner.Properties[PhotonPlayerProperty.name],
false
});
}
}
}
break;
case "replacedanneck":
HitBox component2 = other.gameObject.GetComponent<HitBox>();
if (component2 != null && this.checkIfBehind(component2.transform.root.gameObject) && !this.currentHits.Contains(component2))
{
component2.hitPosition = (baseT.position + component2.transform.position) * 0.5f;
this.currentHits.Add(component2);
this.meatDie.Play();
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (component2.transform.root.GetComponent<replacedAN>() && !component2.transform.root.GetComponent<replacedAN>().hasDie)
{
int num2 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num2 = Mathf.Max(10, num2);
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num2)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num2, component2.transform.root.gameObject, 0.02f);
}
component2.transform.root.GetComponent<replacedAN>().Die();
this.napeMeat(IN_GAME_MAIN_CAMERA.MainR.velocity, component2.transform.root);
FengGameManagerMKII.FGM.netShowDamage(num2);
FengGameManagerMKII.FGM.PlayerKillInfoSingleUpdate(num2);
}
}
else if (!PhotonNetwork.IsMasterClient || !component2.transform.root.gameObject.GetPhotonView().IsMine)
{
if (component2.transform.root.GetComponent<replacedAN>())
{
if (!component2.transform.root.GetComponent<replacedAN>().hasDie)
{
int num3 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num3 = Mathf.Max(10, num3);
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num3)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num3, component2.transform.root.gameObject, 0.02f);
component2.transform.root.GetComponent<replacedAN>().asClientLookTarget = false;
}
component2.transform.root.GetComponent<replacedAN>().BasePV.RPC("replacedanGetHit", component2.transform.root.GetComponent<replacedAN>().BasePV.owner, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num3
});
}
}
else if (component2.transform.root.GetComponent<FEMALE_replacedAN>())
{
baseT.root.GetComponent<HERO>().useBlade(int.MaxValue);
int num4 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num4 = Mathf.Max(10, num4);
if (!component2.transform.root.GetComponent<FEMALE_replacedAN>().hasDie)
{
component2.transform.root.GetComponent<FEMALE_replacedAN>().BasePV.RPC("replacedanGetHit", component2.transform.root.GetComponent<FEMALE_replacedAN>().BasePV.owner, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num4
});
}
}
else if (component2.transform.root.GetComponent<COLOSSAL_replacedAN>())
{
baseT.root.GetComponent<HERO>().useBlade(int.MaxValue);
if (!component2.transform.root.GetComponent<COLOSSAL_replacedAN>().hasDie)
{
int num5 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num5 = Mathf.Max(10, num5);
component2.transform.root.GetComponent<COLOSSAL_replacedAN>().BasePV.RPC("replacedanGetHit", component2.transform.root.GetComponent<COLOSSAL_replacedAN>().BasePV.owner, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num5
});
}
}
}
else if (component2.transform.root.GetComponent<replacedAN>())
{
if (!component2.transform.root.GetComponent<replacedAN>().hasDie)
{
int num6 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num6 = Mathf.Max(10, num6);
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num6)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num6, component2.transform.root.gameObject, 0.02f);
}
component2.transform.root.GetComponent<replacedAN>().replacedanGetHit(baseT.root.gameObject.GetPhotonView().viewID, num6);
}
}
else if (component2.transform.root.GetComponent<FEMALE_replacedAN>())
{
baseT.root.GetComponent<HERO>().useBlade(int.MaxValue);
if (!component2.transform.root.GetComponent<FEMALE_replacedAN>().hasDie)
{
int num7 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num7 = Mathf.Max(10, num7);
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num7)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num7, null, 0.02f);
}
component2.transform.root.GetComponent<FEMALE_replacedAN>().replacedanGetHit(baseT.root.gameObject.GetPhotonView().viewID, num7);
}
}
else if (component2.transform.root.GetComponent<COLOSSAL_replacedAN>())
{
baseT.root.GetComponent<HERO>().useBlade(int.MaxValue);
if (!component2.transform.root.GetComponent<COLOSSAL_replacedAN>().hasDie)
{
int num8 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num8 = Mathf.Max(10, num8);
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num8)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num8, null, 0.02f);
}
component2.transform.root.GetComponent<COLOSSAL_replacedAN>().replacedanGetHit(baseT.root.gameObject.GetPhotonView().viewID, num8);
}
}
this.showCriticalHitFX();
}
break;
case "replacedaneye":
if (!this.currentHits.Contains(other.gameObject))
{
this.currentHits.Add(other.gameObject);
GameObject gameObject2 = other.gameObject.transform.root.gameObject;
if (gameObject2.GetComponent<FEMALE_replacedAN>())
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().hitEye();
}
}
else if (!PhotonNetwork.IsMasterClient)
{
if (!gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().BasePV.RPC("hitEyeRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID
});
}
}
else if (!gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().hitEyeRPC(baseT.root.gameObject.GetPhotonView().viewID);
}
}
else if (gameObject2.GetComponent<replacedAN>().abnormalType != AbnormalType.Crawler)
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!gameObject2.GetComponent<replacedAN>().hasDie)
{
gameObject2.GetComponent<replacedAN>().HitEye();
}
}
else if (!PhotonNetwork.IsMasterClient || !gameObject2.GetPhotonView().IsMine)
{
if (!gameObject2.GetComponent<replacedAN>().hasDie)
{
gameObject2.GetComponent<replacedAN>().BasePV.RPC("hitEyeRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID
});
}
}
else if (!gameObject2.GetComponent<replacedAN>().hasDie)
{
gameObject2.GetComponent<replacedAN>().hitEyeRPC(baseT.root.gameObject.GetPhotonView().viewID);
}
this.showCriticalHitFX();
}
}
break;
case "replacedanankle":
if (currentHits.Contains(other.gameObject)) return;
this.currentHits.Add(other.gameObject);
GameObject gameObject3 = other.gameObject.transform.root.gameObject;
int num9 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - gameObject3.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num9 = Mathf.Max(10, num9);
if (gameObject3.GetComponent<replacedAN>() && gameObject3.GetComponent<replacedAN>().abnormalType != AbnormalType.Crawler)
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!gameObject3.GetComponent<replacedAN>().hasDie)
{
gameObject3.GetComponent<replacedAN>().HitAnkle();
}
}
else
{
if (!PhotonNetwork.IsMasterClient || !gameObject3.GetPhotonView().IsMine)
{
if (!gameObject3.GetComponent<replacedAN>().hasDie)
{
gameObject3.GetComponent<replacedAN>().BasePV.RPC("hitAnkleRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID
});
}
}
else if (!gameObject3.GetComponent<replacedAN>().hasDie)
{
gameObject3.GetComponent<replacedAN>().HitAnkle();
}
this.showCriticalHitFX();
}
}
else if (gameObject3.GetComponent<FEMALE_replacedAN>())
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (other.gameObject.name == "ankleR")
{
if (gameObject3.GetComponent<FEMALE_replacedAN>() && !gameObject3.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject3.GetComponent<FEMALE_replacedAN>().hitAnkleR(num9);
}
}
else if (gameObject3.GetComponent<FEMALE_replacedAN>() && !gameObject3.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject3.GetComponent<FEMALE_replacedAN>().hitAnkleL(num9);
}
}
else if (other.gameObject.name == "ankleR")
{
if (!PhotonNetwork.IsMasterClient)
{
if (!gameObject3.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject3.GetComponent<FEMALE_replacedAN>().BasePV.RPC("hitAnkleRRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num9
});
}
}
else if (!gameObject3.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject3.GetComponent<FEMALE_replacedAN>().hitAnkleRRPC(baseT.root.gameObject.GetPhotonView().viewID, num9);
}
}
else if (!PhotonNetwork.IsMasterClient)
{
if (!gameObject3.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject3.GetComponent<FEMALE_replacedAN>().BasePV.RPC("hitAnkleLRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num9
});
}
}
else if (!gameObject3.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject3.GetComponent<FEMALE_replacedAN>().hitAnkleLRPC(baseT.root.gameObject.GetPhotonView().viewID, num9);
}
this.showCriticalHitFX();
}
break;
}
//}
}
19
Source : RockScript.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void Update()
{
if (this.disable)
{
return;
}
this.vv += -Vectors.up * this.g * Time.deltaTime;
base.transform.position += this.vv * Time.deltaTime;
base.transform.position += this.vh * Time.deltaTime;
if (Vector3.Distance(this.desPt, base.transform.position) < 20f || base.transform.position.y < 0f)
{
base.transform.position = this.desPt;
if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer && PhotonNetwork.IsMasterClient)
{
if (FengGameManagerMKII.LAN)
{
Network.Instantiate(CacheResources.Load("FX/boom1_CT_KICK"), base.transform.position + Vectors.up * 30f, Quaternion.Euler(270f, 0f, 0f), 0);
}
else
{
Optimization.Caching.Pool.NetworkEnable("FX/boom1_CT_KICK", base.transform.position + Vectors.up * 30f, Quaternion.Euler(270f, 0f, 0f), 0);
}
}
else
{
Pool.Enable("FX/boom1_CT_KICK", base.transform.position + Vectors.up * 30f, Quaternion.Euler(270f, 0f, 0f));//UnityEngine.Object.Instantiate(CacheResources.Load("FX/boom1_CT_KICK"), base.transform.position + Vectors.up * 30f, Quaternion.Euler(270f, 0f, 0f));
}
this.disable = true;
}
}
19
Source : Horse.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void LateUpdate()
{
if (Owner == null && BasePV.IsMine)
{
PhotonNetwork.Destroy(gameObject);
return;
}
switch (State)
{
case HorseState.Mounted:
{
if (this.Owner == null)
{
this.Unmounted();
return;
}
Owner.baseT.position = baseT.position + heroOffsetVector;
Owner.baseT.rotation = baseR.rotation;
Owner.baseR.velocity = baseR.velocity;
if (controller.targetDirection == -874f)
{
this.ToIdleAnimation();
if (baseR.velocity.magnitude > 15f)
{
if (!Owner.baseA.IsPlaying("horse_run"))
{
Owner.CrossFade("horse_run", 0.1f);
}
}
else if (!Owner.baseA.IsPlaying("horse_idle"))
{
Owner.CrossFade("horse_idle", 0.1f);
}
}
else
{
base.gameObject.transform.rotation = Quaternion.Lerp(base.gameObject.transform.rotation, Quaternion.Euler(0f, this.controller.targetDirection, 0f), 100f * Time.deltaTime / (base.rigidbody.velocity.magnitude + 20f));
if (this.controller.isWALKDown)
{
baseR.AddForce(baseT.Forward() * this.speed * 0.6f, ForceMode.Acceleration);
if (baseR.velocity.magnitude >= this.speed * 0.6f)
{
baseR.AddForce(-this.speed * 0.6f * baseR.velocity.normalized, ForceMode.Acceleration);
}
}
else
{
baseR.AddForce(baseT.Forward() * this.speed, ForceMode.Acceleration);
if (baseR.velocity.magnitude >= this.speed)
{
baseR.AddForce(-this.speed * baseR.velocity.normalized, ForceMode.Acceleration);
}
}
if (baseR.velocity.magnitude > 8f)
{
if (!baseA.IsPlaying("horse_Run"))
{
this.CrossFade("horse_Run", 0.1f);
}
if (!this.Owner.baseA.IsPlaying("horse_run"))
{
this.Owner.CrossFade("horse_run", 0.1f);
}
if (!this.dustParticle.enableEmission)
{
this.dustParticle.enableEmission = true;
BasePV.RPC("setDust", PhotonTargets.Others, new object[]
{
true
});
}
}
else
{
if (!baseA.IsPlaying("horse_WALK"))
{
this.CrossFade("horse_WALK", 0.1f);
}
if (!this.Owner.baseA.IsPlaying("horse_idle"))
{
this.Owner.baseA.CrossFade("horse_idle", 0.1f);
}
if (this.dustParticle.enableEmission)
{
this.dustParticle.enableEmission = false;
BasePV.RPC("setDust", PhotonTargets.Others, new object[]
{
false
});
}
}
}
if ((this.controller.isAttackDown || this.controller.isAttackIIDown) && this.IsGrounded())
{
baseR.AddForce(Vectors.up * 25f, ForceMode.VelocityChange);
}
}
break;
case HorseState.Follow:
{
if (this.Owner == null)
{
this.Unmounted();
return;
}
if (baseR.velocity.magnitude > 8f)
{
if (!baseA.IsPlaying("horse_Run"))
{
this.CrossFade("horse_Run", 0.1f);
}
if (!this.dustParticle.enableEmission)
{
this.dustParticle.enableEmission = true;
BasePV.RPC("setDust", PhotonTargets.Others, new object[]
{
true
});
}
}
else
{
if (!baseA.IsPlaying("horse_WALK"))
{
this.CrossFade("horse_WALK", 0.1f);
}
if (this.dustParticle.enableEmission)
{
this.dustParticle.enableEmission = false;
BasePV.RPC("setDust", PhotonTargets.Others, new object[]
{
false
});
}
}
float num = -Mathf.DeltaAngle(FengMath.GetHorizontalAngle(baseT.position, this.setPoint), base.gameObject.transform.rotation.eulerAngles.y - 90f);
base.gameObject.transform.rotation = Quaternion.Lerp(base.gameObject.transform.rotation, Quaternion.Euler(0f, base.gameObject.transform.rotation.eulerAngles.y + num, 0f), 200f * Time.deltaTime / (baseR.velocity.magnitude + 20f));
if (Vector3.Distance(this.setPoint, baseT.position) < 20f)
{
baseR.AddForce(baseT.Forward() * this.speed * 0.7f, ForceMode.Acceleration);
if (baseR.velocity.magnitude >= this.speed)
{
baseR.AddForce(-this.speed * 0.7f * baseR.velocity.normalized, ForceMode.Acceleration);
}
}
else
{
baseR.AddForce(base.transform.Forward() * this.speed, ForceMode.Acceleration);
if (baseR.velocity.magnitude >= this.speed)
{
baseR.AddForce(-this.speed * baseR.velocity.normalized, ForceMode.Acceleration);
}
}
this.timeElapsed += Time.deltaTime;
if (this.timeElapsed > 0.6f)
{
this.timeElapsed = 0f;
if (Vector3.Distance(this.Owner.baseT.position, this.setPoint) > 20f)
{
this.Followed();
}
}
if (Vector3.Distance(this.Owner.baseT.position, baseT.position) < 5f)
{
this.Unmounted();
}
if (Vector3.Distance(this.setPoint, baseT.position) < 5f)
{
this.Unmounted();
}
this.awayTimer += Time.deltaTime;
if (this.awayTimer > 6f)
{
this.awayTimer = 0f;
if (Physics.Linecast(baseT.position + Vectors.up, this.Owner.baseT.position + Vectors.up, Layers.Ground.value))
{
baseT.position = new Vector3(this.Owner.baseT.position.x, this.GetHeight(this.Owner.baseT.position + Vectors.up * 5f), this.Owner.baseT.position.z);
}
}
}
break;
case HorseState.Idle:
{
this.ToIdleAnimation();
if (this.Owner != null && Vector3.Distance(this.Owner.baseT.position, baseT.position) > 20f)
{
this.Followed();
}
}
break;
}
baseR.AddForce(new Vector3(0f, -50f * baseR.mreplaced, 0f));
}
19
Source : Horse.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void LateUpdate()
{
if (Owner == null && BasePV.IsMine)
{
PhotonNetwork.Destroy(gameObject);
return;
}
switch (State)
{
case HorseState.Mounted:
{
if (this.Owner == null)
{
this.Unmounted();
return;
}
Owner.baseT.position = baseT.position + heroOffsetVector;
Owner.baseT.rotation = baseR.rotation;
Owner.baseR.velocity = baseR.velocity;
if (controller.targetDirection == -874f)
{
this.ToIdleAnimation();
if (baseR.velocity.magnitude > 15f)
{
if (!Owner.baseA.IsPlaying("horse_run"))
{
Owner.CrossFade("horse_run", 0.1f);
}
}
else if (!Owner.baseA.IsPlaying("horse_idle"))
{
Owner.CrossFade("horse_idle", 0.1f);
}
}
else
{
base.gameObject.transform.rotation = Quaternion.Lerp(base.gameObject.transform.rotation, Quaternion.Euler(0f, this.controller.targetDirection, 0f), 100f * Time.deltaTime / (base.rigidbody.velocity.magnitude + 20f));
if (this.controller.isWALKDown)
{
baseR.AddForce(baseT.Forward() * this.speed * 0.6f, ForceMode.Acceleration);
if (baseR.velocity.magnitude >= this.speed * 0.6f)
{
baseR.AddForce(-this.speed * 0.6f * baseR.velocity.normalized, ForceMode.Acceleration);
}
}
else
{
baseR.AddForce(baseT.Forward() * this.speed, ForceMode.Acceleration);
if (baseR.velocity.magnitude >= this.speed)
{
baseR.AddForce(-this.speed * baseR.velocity.normalized, ForceMode.Acceleration);
}
}
if (baseR.velocity.magnitude > 8f)
{
if (!baseA.IsPlaying("horse_Run"))
{
this.CrossFade("horse_Run", 0.1f);
}
if (!this.Owner.baseA.IsPlaying("horse_run"))
{
this.Owner.CrossFade("horse_run", 0.1f);
}
if (!this.dustParticle.enableEmission)
{
this.dustParticle.enableEmission = true;
BasePV.RPC("setDust", PhotonTargets.Others, new object[]
{
true
});
}
}
else
{
if (!baseA.IsPlaying("horse_WALK"))
{
this.CrossFade("horse_WALK", 0.1f);
}
if (!this.Owner.baseA.IsPlaying("horse_idle"))
{
this.Owner.baseA.CrossFade("horse_idle", 0.1f);
}
if (this.dustParticle.enableEmission)
{
this.dustParticle.enableEmission = false;
BasePV.RPC("setDust", PhotonTargets.Others, new object[]
{
false
});
}
}
}
if ((this.controller.isAttackDown || this.controller.isAttackIIDown) && this.IsGrounded())
{
baseR.AddForce(Vectors.up * 25f, ForceMode.VelocityChange);
}
}
break;
case HorseState.Follow:
{
if (this.Owner == null)
{
this.Unmounted();
return;
}
if (baseR.velocity.magnitude > 8f)
{
if (!baseA.IsPlaying("horse_Run"))
{
this.CrossFade("horse_Run", 0.1f);
}
if (!this.dustParticle.enableEmission)
{
this.dustParticle.enableEmission = true;
BasePV.RPC("setDust", PhotonTargets.Others, new object[]
{
true
});
}
}
else
{
if (!baseA.IsPlaying("horse_WALK"))
{
this.CrossFade("horse_WALK", 0.1f);
}
if (this.dustParticle.enableEmission)
{
this.dustParticle.enableEmission = false;
BasePV.RPC("setDust", PhotonTargets.Others, new object[]
{
false
});
}
}
float num = -Mathf.DeltaAngle(FengMath.GetHorizontalAngle(baseT.position, this.setPoint), base.gameObject.transform.rotation.eulerAngles.y - 90f);
base.gameObject.transform.rotation = Quaternion.Lerp(base.gameObject.transform.rotation, Quaternion.Euler(0f, base.gameObject.transform.rotation.eulerAngles.y + num, 0f), 200f * Time.deltaTime / (baseR.velocity.magnitude + 20f));
if (Vector3.Distance(this.setPoint, baseT.position) < 20f)
{
baseR.AddForce(baseT.Forward() * this.speed * 0.7f, ForceMode.Acceleration);
if (baseR.velocity.magnitude >= this.speed)
{
baseR.AddForce(-this.speed * 0.7f * baseR.velocity.normalized, ForceMode.Acceleration);
}
}
else
{
baseR.AddForce(base.transform.Forward() * this.speed, ForceMode.Acceleration);
if (baseR.velocity.magnitude >= this.speed)
{
baseR.AddForce(-this.speed * baseR.velocity.normalized, ForceMode.Acceleration);
}
}
this.timeElapsed += Time.deltaTime;
if (this.timeElapsed > 0.6f)
{
this.timeElapsed = 0f;
if (Vector3.Distance(this.Owner.baseT.position, this.setPoint) > 20f)
{
this.Followed();
}
}
if (Vector3.Distance(this.Owner.baseT.position, baseT.position) < 5f)
{
this.Unmounted();
}
if (Vector3.Distance(this.setPoint, baseT.position) < 5f)
{
this.Unmounted();
}
this.awayTimer += Time.deltaTime;
if (this.awayTimer > 6f)
{
this.awayTimer = 0f;
if (Physics.Linecast(baseT.position + Vectors.up, this.Owner.baseT.position + Vectors.up, Layers.Ground.value))
{
baseT.position = new Vector3(this.Owner.baseT.position.x, this.GetHeight(this.Owner.baseT.position + Vectors.up * 5f), this.Owner.baseT.position.z);
}
}
}
break;
case HorseState.Idle:
{
this.ToIdleAnimation();
if (this.Owner != null && Vector3.Distance(this.Owner.baseT.position, baseT.position) > 20f)
{
this.Followed();
}
}
break;
}
baseR.AddForce(new Vector3(0f, -50f * baseR.mreplaced, 0f));
}
19
Source : IN_GAME_MAIN_CAMERA.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
public GameObject SetMainObject(object obj, bool resetRotation = true, bool lockAngle = false)
{
if (obj == null)
{
Head = null;
this.distanceMulti = this.heightMulti = 1f;
}
else if (obj is HERO)
{
usingreplacedan = false;
MainHERO = (HERO)obj;
MainreplacedAN = null;
MainObject = (obj as HERO).baseG;
Head = ((HERO)obj).baseT.Find("Amarture/Controller_Body/hip/spine/chest/neck/head");
if (Interpolation.Value)
{
MainHERO.rigidbody.interpolation = RigidbodyInterpolation.Interpolate;
}
this.distanceMulti = this.heightMulti = 0.64f;
if (resetRotation)
{
BaseT.rotation = Quaternion.Euler(0f, 0f, 0f);
}
}
else if (obj is replacedAN)
{
usingreplacedan = true;
MainreplacedAN = obj as replacedAN;
MainHERO = null;
MainEREN = null;
MainObject = MainreplacedAN.baseG;
Head = MainT.transform.Find("Amarture/Core/Controller_Body/hip/spine/chest/neck/head");
this.distanceMulti = (Head != null) ? (Vector3.Distance(Head.position, MainT.position) * 0.4f) : 1f;
this.heightMulti = (Head != null) ? (Vector3.Distance(Head.position, MainT.position) * 0.45f) : 1f;
if (resetRotation)
{
BaseT.rotation = Quaternion.Euler(0f, 0f, 0f);
}
}
else if (obj is replacedAN_EREN)
{
MainEREN = obj as replacedAN_EREN;
MainreplacedAN = null;
MainObject = MainEREN.gameObject;
Head = MainT.transform.Find("Amarture/Core/Controller_Body/hip/spine/chest/neck/head");
this.distanceMulti = (Head != null) ? (Vector3.Distance(Head.position, MainT.position) * 0.2f) : 1f;
this.heightMulti = (Head != null) ? (Vector3.Distance(Head.position, MainT.position) * 0.33f) : 1f;
if (resetRotation)
{
BaseT.rotation = Quaternion.Euler(0f, 0f, 0f);
}
}
else
{
Head = null;
this.distanceMulti = this.heightMulti = 1f;
if (resetRotation)
{
BaseT.rotation = Quaternion.Euler(0f, 0f, 0f);
}
if (obj is GameObject obje)
{
MainObject = obje;
}
}
this.lockAngle = lockAngle;
VideoSettings.Apply();
return MainObject;
}
19
Source : HeroRPC.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
[RPC]
private void netlaughAttack()
{
var array = GameObject.FindGameObjectsWithTag("replacedan");
foreach (var gameObject in array)
if (Vector3.Distance(gameObject.transform.position, baseT.position) < 50f &&
Vector3.Angle(gameObject.transform.Forward(), baseT.position - gameObject.transform.position) < 90f &&
gameObject.GetComponent<replacedAN>())
gameObject.GetComponent<replacedAN>().BeLaughAttacked();
}
19
Source : HeroRPC.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
[RPC]
private void netTauntAttack(float tauntTime, float distance = 100f)
{
foreach (var replaced in FengGameManagerMKII.replacedans)
if (replaced != null && !replaced.hasDie && Vector3.Distance(replaced.baseGT.position, baseT.position) < distance)
replaced.BeTauntedBy(baseG, tauntTime);
}
19
Source : HeroRPC.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
[RPC]
private void RPCHookedByHuman(int hooker, Vector3 hookPosition)
{
hookBySomeOne = true;
badGuy = PhotonView.Find(hooker).gameObject;
if (Vector3.Distance(hookPosition, baseT.position) < 15f)
{
launchForce = PhotonView.Find(hooker).gameObject.transform.position - baseT.position;
baseR.AddForce(-baseR.velocity * 0.9f, ForceMode.VelocityChange);
var d = Mathf.Pow(launchForce.magnitude, 0.1f);
if (grounded) baseR.AddForce(Vectors.up * Mathf.Min(launchForce.magnitude * 0.2f, 10f), ForceMode.Impulse);
baseR.AddForce(launchForce * d * 0.1f, ForceMode.Impulse);
if (State != HeroState.Grab)
{
dashTime = 1f;
CrossFade("dash", 0.05f);
baseA["dash"].time = 0.1f;
State = HeroState.AirDodge;
FalseAttack();
facingDirection = Mathf.Atan2(launchForce.x, launchForce.z) * 57.29578f;
var quaternion = Quaternion.Euler(0f, facingDirection, 0f);
baseGT.rotation = quaternion;
baseR.rotation = quaternion;
targetRotation = quaternion;
}
}
else
{
hookBySomeOne = false;
badGuy = null;
PhotonView.Find(hooker).RPC("hookFail", PhotonView.Find(hooker).owner);
}
}
19
Source : MovementUpdate.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void Update()
{
if (this.disabled)
{
return;
}
if (Network.peerType == NetworkPeerType.Disconnected)
{
return;
}
if (Network.peerType == NetworkPeerType.Connecting)
{
return;
}
if (base.networkView.isMine)
{
if (Vector3.Distance(base.transform.position, this.lastPosition) >= 0.5f)
{
this.lastPosition = base.transform.position;
base.networkView.RPC("updateMovement", RPCMode.Others, new object[]
{
base.transform.position,
base.transform.rotation,
base.transform.localScale,
base.rigidbody.velocity
});
}
else if (Vector3.Distance(base.transform.rigidbody.velocity, this.lastVelocity) >= 0.1f)
{
this.lastVelocity = base.transform.rigidbody.velocity;
base.networkView.RPC("updateMovement", RPCMode.Others, new object[]
{
base.transform.position,
base.transform.rotation,
base.transform.localScale,
base.rigidbody.velocity
});
}
else if (Quaternion.Angle(base.transform.rotation, this.lastRotation) >= 1f)
{
this.lastRotation = base.transform.rotation;
base.networkView.RPC("updateMovement", RPCMode.Others, new object[]
{
base.transform.position,
base.transform.rotation,
base.transform.localScale,
base.rigidbody.velocity
});
}
}
else
{
base.transform.position = Vector3.Slerp(base.transform.position, this.targetPosition, Time.deltaTime * 2f);
}
}
19
Source : PVPcheckPoint.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void checkIfBeingCapture()
{
this.playerOn = false;
this.replacedanOn = false;
GameObject[] array = GameObject.FindGameObjectsWithTag("Player");
GameObject[] array2 = GameObject.FindGameObjectsWithTag("replacedan");
for (int i = 0; i < array.Length; i++)
{
if (Vector3.Distance(array[i].transform.position, base.transform.position) < this.hitTestR)
{
this.playerOn = true;
if (this.state == CheckPointState.Human && array[i].GetPhotonView().IsMine)
{
if (FengGameManagerMKII.FGM.checkpoint != base.gameObject)
{
FengGameManagerMKII.FGM.checkpoint = base.gameObject;
Chat.Add("<color=#A8FF24>Respawn point changed to point" + this.id + "</color>");
}
break;
}
}
}
for (int i = 0; i < array2.Length; i++)
{
if (Vector3.Distance(array2[i].transform.position, base.transform.position) < this.hitTestR + 5f)
{
if (!array2[i].GetComponent<replacedAN>() || !array2[i].GetComponent<replacedAN>().hasDie)
{
this.replacedanOn = true;
if (this.state == CheckPointState.replacedan && array2[i].GetPhotonView().IsMine && array2[i].GetComponent<replacedAN>() && array2[i].GetComponent<replacedAN>().nonAI)
{
if (FengGameManagerMKII.FGM.checkpoint != base.gameObject)
{
FengGameManagerMKII.FGM.checkpoint = base.gameObject;
Chat.Add("<color=#A8FF24>Respawn point changed to point" + this.id + "</color>");
}
break;
}
}
}
}
}
19
Source : supplyCheck.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void Update()
{
this.elapsedTime += Time.deltaTime;
if (this.elapsedTime > this.stepTime)
{
this.elapsedTime -= this.stepTime;
foreach (HERO hero in FengGameManagerMKII.Heroes)
{
if (hero != null && hero.IsLocal && Vector3.Distance(hero.baseT.position, baseT.position) < 1.5f)
{
hero.GetSupply();
}
}
}
}
19
Source : MaxCamera.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
public void Init()
{
if (!this.target)
{
this.target = new GameObject("Cam Target")
{
transform =
{
position = base.transform.position + base.transform.Forward() * this.distance
}
}.transform;
}
this.distance = Vector3.Distance(base.transform.position, this.target.position);
this.currentDistance = this.distance;
this.desiredDistance = this.distance;
this.position = base.transform.position;
this.rotation = base.transform.rotation;
this.currentRotation = base.transform.rotation;
this.desiredRotation = base.transform.rotation;
this.xDeg = Vector3.Angle(Vectors.right, base.transform.right);
this.yDeg = Vector3.Angle(Vectors.up, base.transform.Up());
}
19
Source : TriggerColliderWeapon.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void OnTriggerStay(Collider other)
{
//if (this.ActiveMe)
//{
if (!this.currentHitsII.Contains(other.gameObject))
{
this.currentHitsII.Add(other.gameObject);
IN_GAME_MAIN_CAMERA.MainCamera.startShake(0.1f, 0.1f, 0.95f);
if (other.gameObject.transform.root.gameObject.CompareTag("replacedan"))
{
IN_GAME_MAIN_CAMERA.MainHERO.slashHit.Play();
if (IN_GAME_MAIN_CAMERA.GameType != GameType.Single)
{
Optimization.Caching.Pool.NetworkEnable("hitMeat", baseT.position, Quaternion.Euler(270f, 0f, 0f), 0);
}
else
{
Pool.Enable("hitMeat", baseT.position, Quaternion.Euler(270f, 0f, 0f));//(GameObject)UnityEngine.Object.Instantiate(CacheResources.Load("hitMeat"));
}
//gameObject.transform.position = baseT.position;
baseT.root.GetComponent<HERO>().useBlade(0);
}
}
switch (other.gameObject.tag)
{
case "playerHitbox":
if (!FengGameManagerMKII.Level.PVPEnabled)
{
return;
}
float num = 1f - Vector3.Distance(other.gameObject.transform.position, baseT.position) * 0.05f;
num = Mathf.Min(1f, num);
HitBox component = other.gameObject.GetComponent<HitBox>();
if (component != null && component.transform.root != null)
{
if (component.transform.root.GetComponent<HERO>().myTeam == this.myTeam)
{
return;
}
if (!component.transform.root.GetComponent<HERO>().IsInvincible())
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!component.transform.root.GetComponent<HERO>().IsGrabbed)
{
component.transform.root.GetComponent<HERO>().Die((component.transform.root.transform.position - baseT.position).normalized * num * 1000f + Vectors.up * 50f, false);
}
}
else if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer && !component.transform.root.GetComponent<HERO>().HasDied() && !component.transform.root.GetComponent<HERO>().IsGrabbed)
{
component.transform.root.GetComponent<HERO>().MarkDie();
component.transform.root.GetComponent<HERO>().BasePV.RPC("netDie", PhotonTargets.All, new object[]
{
(component.transform.root.position - baseT.position).normalized * num * 1000f + Vectors.up * 50f,
false,
baseT.root.gameObject.GetPhotonView().viewID,
PhotonView.Find(baseT.root.gameObject.GetPhotonView().viewID).owner.Properties[PhotonPlayerProperty.name],
false
});
}
}
}
break;
case "replacedanneck":
HitBox component2 = other.gameObject.GetComponent<HitBox>();
if (component2 != null && this.checkIfBehind(component2.transform.root.gameObject) && !this.currentHits.Contains(component2))
{
component2.hitPosition = (baseT.position + component2.transform.position) * 0.5f;
this.currentHits.Add(component2);
this.meatDie.Play();
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (component2.transform.root.GetComponent<replacedAN>() && !component2.transform.root.GetComponent<replacedAN>().hasDie)
{
int num2 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num2 = Mathf.Max(10, num2);
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num2)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num2, component2.transform.root.gameObject, 0.02f);
}
component2.transform.root.GetComponent<replacedAN>().Die();
this.napeMeat(IN_GAME_MAIN_CAMERA.MainR.velocity, component2.transform.root);
FengGameManagerMKII.FGM.netShowDamage(num2);
FengGameManagerMKII.FGM.PlayerKillInfoSingleUpdate(num2);
}
}
else if (!PhotonNetwork.IsMasterClient || !component2.transform.root.gameObject.GetPhotonView().IsMine)
{
if (component2.transform.root.GetComponent<replacedAN>())
{
if (!component2.transform.root.GetComponent<replacedAN>().hasDie)
{
int num3 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num3 = Mathf.Max(10, num3);
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num3)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num3, component2.transform.root.gameObject, 0.02f);
component2.transform.root.GetComponent<replacedAN>().asClientLookTarget = false;
}
component2.transform.root.GetComponent<replacedAN>().BasePV.RPC("replacedanGetHit", component2.transform.root.GetComponent<replacedAN>().BasePV.owner, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num3
});
}
}
else if (component2.transform.root.GetComponent<FEMALE_replacedAN>())
{
baseT.root.GetComponent<HERO>().useBlade(int.MaxValue);
int num4 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num4 = Mathf.Max(10, num4);
if (!component2.transform.root.GetComponent<FEMALE_replacedAN>().hasDie)
{
component2.transform.root.GetComponent<FEMALE_replacedAN>().BasePV.RPC("replacedanGetHit", component2.transform.root.GetComponent<FEMALE_replacedAN>().BasePV.owner, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num4
});
}
}
else if (component2.transform.root.GetComponent<COLOSSAL_replacedAN>())
{
baseT.root.GetComponent<HERO>().useBlade(int.MaxValue);
if (!component2.transform.root.GetComponent<COLOSSAL_replacedAN>().hasDie)
{
int num5 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num5 = Mathf.Max(10, num5);
component2.transform.root.GetComponent<COLOSSAL_replacedAN>().BasePV.RPC("replacedanGetHit", component2.transform.root.GetComponent<COLOSSAL_replacedAN>().BasePV.owner, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num5
});
}
}
}
else if (component2.transform.root.GetComponent<replacedAN>())
{
if (!component2.transform.root.GetComponent<replacedAN>().hasDie)
{
int num6 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num6 = Mathf.Max(10, num6);
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num6)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num6, component2.transform.root.gameObject, 0.02f);
}
component2.transform.root.GetComponent<replacedAN>().replacedanGetHit(baseT.root.gameObject.GetPhotonView().viewID, num6);
}
}
else if (component2.transform.root.GetComponent<FEMALE_replacedAN>())
{
baseT.root.GetComponent<HERO>().useBlade(int.MaxValue);
if (!component2.transform.root.GetComponent<FEMALE_replacedAN>().hasDie)
{
int num7 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num7 = Mathf.Max(10, num7);
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num7)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num7, null, 0.02f);
}
component2.transform.root.GetComponent<FEMALE_replacedAN>().replacedanGetHit(baseT.root.gameObject.GetPhotonView().viewID, num7);
}
}
else if (component2.transform.root.GetComponent<COLOSSAL_replacedAN>())
{
baseT.root.GetComponent<HERO>().useBlade(int.MaxValue);
if (!component2.transform.root.GetComponent<COLOSSAL_replacedAN>().hasDie)
{
int num8 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num8 = Mathf.Max(10, num8);
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num8)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num8, null, 0.02f);
}
component2.transform.root.GetComponent<COLOSSAL_replacedAN>().replacedanGetHit(baseT.root.gameObject.GetPhotonView().viewID, num8);
}
}
this.showCriticalHitFX();
}
break;
case "replacedaneye":
if (!this.currentHits.Contains(other.gameObject))
{
this.currentHits.Add(other.gameObject);
GameObject gameObject2 = other.gameObject.transform.root.gameObject;
if (gameObject2.GetComponent<FEMALE_replacedAN>())
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().hitEye();
}
}
else if (!PhotonNetwork.IsMasterClient)
{
if (!gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().BasePV.RPC("hitEyeRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID
});
}
}
else if (!gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().hitEyeRPC(baseT.root.gameObject.GetPhotonView().viewID);
}
}
else if (gameObject2.GetComponent<replacedAN>().abnormalType != AbnormalType.Crawler)
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!gameObject2.GetComponent<replacedAN>().hasDie)
{
gameObject2.GetComponent<replacedAN>().HitEye();
}
}
else if (!PhotonNetwork.IsMasterClient || !gameObject2.GetPhotonView().IsMine)
{
if (!gameObject2.GetComponent<replacedAN>().hasDie)
{
gameObject2.GetComponent<replacedAN>().BasePV.RPC("hitEyeRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID
});
}
}
else if (!gameObject2.GetComponent<replacedAN>().hasDie)
{
gameObject2.GetComponent<replacedAN>().hitEyeRPC(baseT.root.gameObject.GetPhotonView().viewID);
}
this.showCriticalHitFX();
}
}
break;
case "replacedanankle":
if (currentHits.Contains(other.gameObject))
{
return;
}
this.currentHits.Add(other.gameObject);
GameObject gameObject3 = other.gameObject.transform.root.gameObject;
int num9 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - gameObject3.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num9 = Mathf.Max(10, num9);
if (gameObject3.GetComponent<replacedAN>() && gameObject3.GetComponent<replacedAN>().abnormalType != AbnormalType.Crawler)
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!gameObject3.GetComponent<replacedAN>().hasDie)
{
gameObject3.GetComponent<replacedAN>().HitAnkle();
}
}
else
{
if (!PhotonNetwork.IsMasterClient || !gameObject3.GetPhotonView().IsMine)
{
if (!gameObject3.GetComponent<replacedAN>().hasDie)
{
gameObject3.GetComponent<replacedAN>().BasePV.RPC("hitAnkleRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID
});
}
}
else if (!gameObject3.GetComponent<replacedAN>().hasDie)
{
gameObject3.GetComponent<replacedAN>().HitAnkle();
}
this.showCriticalHitFX();
}
}
else if (gameObject3.GetComponent<FEMALE_replacedAN>())
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (other.gameObject.name == "ankleR")
{
if (gameObject3.GetComponent<FEMALE_replacedAN>() && !gameObject3.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject3.GetComponent<FEMALE_replacedAN>().hitAnkleR(num9);
}
}
else if (gameObject3.GetComponent<FEMALE_replacedAN>() && !gameObject3.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject3.GetComponent<FEMALE_replacedAN>().hitAnkleL(num9);
}
}
else if (other.gameObject.name == "ankleR")
{
if (!PhotonNetwork.IsMasterClient)
{
if (!gameObject3.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject3.GetComponent<FEMALE_replacedAN>().BasePV.RPC("hitAnkleRRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num9
});
}
}
else if (!gameObject3.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject3.GetComponent<FEMALE_replacedAN>().hitAnkleRRPC(baseT.root.gameObject.GetPhotonView().viewID, num9);
}
}
else if (!PhotonNetwork.IsMasterClient)
{
if (!gameObject3.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject3.GetComponent<FEMALE_replacedAN>().BasePV.RPC("hitAnkleLRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num9
});
}
}
else if (!gameObject3.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject3.GetComponent<FEMALE_replacedAN>().hitAnkleLRPC(baseT.root.gameObject.GetPhotonView().viewID, num9);
}
this.showCriticalHitFX();
}
break;
}
//}
}
19
Source : HeroRPC.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
[RPC]
private void netlaughAttack()
{
var array = GameObject.FindGameObjectsWithTag("replacedan");
foreach (var gameObject in array)
{
if (Vector3.Distance(gameObject.transform.position, baseT.position) < 50f &&
Vector3.Angle(gameObject.transform.Forward(), baseT.position - gameObject.transform.position) < 90f &&
gameObject.GetComponent<replacedAN>())
{
gameObject.GetComponent<replacedAN>().BeLaughAttacked();
}
}
}
19
Source : HeroRPC.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
[RPC]
private void netTauntAttack(float tauntTime, float distance = 100f)
{
foreach (var replaced in FengGameManagerMKII.replacedans)
{
if (replaced != null && !replaced.hasDie && Vector3.Distance(replaced.baseGT.position, baseT.position) < distance)
{
replaced.BeTauntedBy(baseG, tauntTime);
}
}
}
19
Source : HeroRPC.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
[RPC]
private void RPCHookedByHuman(int hooker, Vector3 hookPosition)
{
hookBySomeOne = true;
badGuy = PhotonView.Find(hooker).gameObject;
if (Vector3.Distance(hookPosition, baseT.position) < 15f)
{
launchForce = PhotonView.Find(hooker).gameObject.transform.position - baseT.position;
baseR.AddForce(-baseR.velocity * 0.9f, ForceMode.VelocityChange);
var d = Mathf.Pow(launchForce.magnitude, 0.1f);
if (grounded)
{
baseR.AddForce(Vectors.up * Mathf.Min(launchForce.magnitude * 0.2f, 10f), ForceMode.Impulse);
}
baseR.AddForce(launchForce * d * 0.1f, ForceMode.Impulse);
if (State != HeroState.Grab)
{
dashTime = 1f;
CrossFade("dash", 0.05f);
baseA["dash"].time = 0.1f;
State = HeroState.AirDodge;
FalseAttack();
facingDirection = Mathf.Atan2(launchForce.x, launchForce.z) * 57.29578f;
var quaternion = Quaternion.Euler(0f, facingDirection, 0f);
baseGT.rotation = quaternion;
baseR.rotation = quaternion;
targetRotation = quaternion;
}
}
else
{
hookBySomeOne = false;
badGuy = null;
PhotonView.Find(hooker).RPC("hookFail", PhotonView.Find(hooker).owner);
}
}
19
Source : AHSSShotGunCollider.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void OnTriggerStay(Collider other)
{
if (!isLocal)
return;
if (this.active_me)
{
switch (other.gameObject.tag)
{
case "playerHitbox":
if (!FengGameManagerMKII.Level.PVPEnabled)
{
return;
}
float num = 1f - Vector3.Distance(other.gameObject.transform.position, baseT.position) * 0.05f;
num = Mathf.Min(1f, num);
HitBox component = other.gameObject.GetComponent<HitBox>();
if (component != null && component.transform.root != null)
{
if (component.transform.root.GetComponent<HERO>().myTeam == this.myTeam)
{
return;
}
if (!component.transform.root.GetComponent<HERO>().IsInvincible())
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!component.transform.root.GetComponent<HERO>().IsGrabbed)
{
component.transform.root.GetComponent<HERO>().Die((component.transform.root.transform.position - baseT.position).normalized * num * 1000f + Vectors.up * 50f, false);
}
}
else if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer && !component.transform.root.GetComponent<HERO>().HasDied() && !component.transform.root.GetComponent<HERO>().IsGrabbed)
{
component.transform.root.GetComponent<HERO>().MarkDie();
component.transform.root.GetComponent<HERO>().BasePV.RPC("netDie", PhotonTargets.All, new object[]
{
(component.transform.root.position - baseT.position).normalized * num * 1000f + Vectors.up * 50f,
false,
this.viewID,
this.ownerName,
false
});
}
}
}
break;
case "replacedanneck":
HitBox component2 = other.gameObject.GetComponent<HitBox>();
if (component2 != null && this.checkIfBehind(component2.transform.root.gameObject) && !this.currentHits.Contains(component2))
{
component2.hitPosition = (baseT.position + component2.transform.position) * 0.5f;
this.currentHits.Add(component2);
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (component2.transform.root.GetComponent<replacedAN>() && !component2.transform.root.GetComponent<replacedAN>().hasDie)
{
int num2 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num2 = Mathf.Max(10, num2);
FengGameManagerMKII.FGM.netShowDamage(num2);
if ((float)num2 > component2.transform.root.GetComponent<replacedAN>().myLevel * 100f)
{
component2.transform.root.GetComponent<replacedAN>().Die();
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num2)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num2, component2.transform.root.gameObject, 0.02f);
}
FengGameManagerMKII.FGM.PlayerKillInfoSingleUpdate(num2);
}
}
}
else if (!PhotonNetwork.IsMasterClient || !component2.transform.root.GetComponent<PhotonView>().BasePV.IsMine)
{
if (component2.transform.root.GetComponent<replacedAN>())
{
if (!component2.transform.root.GetComponent<replacedAN>().hasDie)
{
int num3 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num3 = Mathf.Max(10, num3);
if ((float)num3 > component2.transform.root.GetComponent<replacedAN>().myLevel * 100f)
{
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num3)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num3, component2.transform.root.gameObject, 0.02f);
component2.transform.root.GetComponent<replacedAN>().asClientLookTarget = false;
}
component2.transform.root.GetComponent<replacedAN>().BasePV.RPC("replacedanGetHit", component2.transform.root.GetComponent<replacedAN>().BasePV.owner, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num3
});
}
}
}
else if (component2.transform.root.GetComponent<FEMALE_replacedAN>())
{
int num4 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num4 = Mathf.Max(10, num4);
if (!component2.transform.root.GetComponent<FEMALE_replacedAN>().hasDie)
{
component2.transform.root.GetComponent<FEMALE_replacedAN>().BasePV.RPC("replacedanGetHit", component2.transform.root.GetComponent<FEMALE_replacedAN>().BasePV.owner, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num4
});
}
}
else if (component2.transform.root.GetComponent<COLOSSAL_replacedAN>() && !component2.transform.root.GetComponent<COLOSSAL_replacedAN>().hasDie)
{
int num5 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num5 = Mathf.Max(10, num5);
component2.transform.root.GetComponent<COLOSSAL_replacedAN>().BasePV.RPC("replacedanGetHit", component2.transform.root.GetComponent<COLOSSAL_replacedAN>().BasePV.owner, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num5
});
}
}
else if (component2.transform.root.GetComponent<replacedAN>())
{
if (!component2.transform.root.GetComponent<replacedAN>().hasDie)
{
int num6 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num6 = Mathf.Max(10, num6);
if ((float)num6 > component2.transform.root.GetComponent<replacedAN>().myLevel * 100f)
{
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num6)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num6, component2.transform.root.gameObject, 0.02f);
}
component2.transform.root.GetComponent<replacedAN>().replacedanGetHit(baseT.root.gameObject.GetPhotonView().viewID, num6);
}
}
}
else if (component2.transform.root.GetComponent<FEMALE_replacedAN>())
{
if (!component2.transform.root.GetComponent<FEMALE_replacedAN>().hasDie)
{
int num7 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num7 = Mathf.Max(10, num7);
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num7)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num7, null, 0.02f);
}
component2.transform.root.GetComponent<FEMALE_replacedAN>().replacedanGetHit(baseT.root.gameObject.GetPhotonView().viewID, num7);
}
}
else if (component2.transform.root.GetComponent<COLOSSAL_replacedAN>() && !component2.transform.root.GetComponent<COLOSSAL_replacedAN>().hasDie)
{
int num8 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - component2.transform.root.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num8 = Mathf.Max(10, num8);
if (Settings.Snapshots.ToValue() && Settings.SnapshotsDamage.Value <= num8)
{
IN_GAME_MAIN_CAMERA.MainCamera.startSnapShot(component2.transform.position, num8, null, 0.02f);
}
component2.transform.root.GetComponent<COLOSSAL_replacedAN>().replacedanGetHit(baseT.root.gameObject.GetPhotonView().viewID, num8);
}
this.showCriticalHitFX(other.gameObject.transform.position);
}
break;
case "erenHitbox":
if (this.dmg > 0 && !other.gameObject.transform.root.gameObject.GetComponent<replacedAN_EREN>().ireplaced)
{
other.gameObject.transform.root.gameObject.GetComponent<replacedAN_EREN>().hitByreplacedan();
}
break;
case "replacedaneye":
if (!this.currentHits.Contains(other.gameObject))
{
this.currentHits.Add(other.gameObject);
GameObject gameObject = other.gameObject.transform.root.gameObject;
if (gameObject.GetComponent<FEMALE_replacedAN>())
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!gameObject.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject.GetComponent<FEMALE_replacedAN>().hitEye();
}
}
else if (!PhotonNetwork.IsMasterClient || !gameObject.GetPhotonView().IsMine)
{
if (!gameObject.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject.GetComponent<FEMALE_replacedAN>().BasePV.RPC("hitEyeRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID
});
}
}
else if (!gameObject.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject.GetComponent<FEMALE_replacedAN>().hitEyeRPC(baseT.root.gameObject.GetPhotonView().viewID);
}
}
else if (gameObject.GetComponent<replacedAN>().abnormalType != AbnormalType.Crawler)
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!gameObject.GetComponent<replacedAN>().hasDie)
{
gameObject.GetComponent<replacedAN>().HitEye();
}
}
else if (!PhotonNetwork.IsMasterClient || !gameObject.GetPhotonView().IsMine)
{
if (!gameObject.GetComponent<replacedAN>().hasDie)
{
gameObject.GetComponent<replacedAN>().BasePV.RPC("hitEyeRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID
});
}
}
else if (!gameObject.GetComponent<replacedAN>().hasDie)
{
gameObject.GetComponent<replacedAN>().hitEyeRPC(baseT.root.gameObject.GetPhotonView().viewID);
}
this.showCriticalHitFX(other.gameObject.transform.position);
}
}
break;
case "replacedanankle":
if (currentHits.Contains(other.gameObject)) return;
this.currentHits.Add(other.gameObject);
GameObject gameObject2 = other.gameObject.transform.root.gameObject;
int num9 = (int)((IN_GAME_MAIN_CAMERA.MainR.velocity - gameObject2.rigidbody.velocity).magnitude * 10f * this.scoreMulti);
num9 = Mathf.Max(10, num9);
if (gameObject2.GetComponent<replacedAN>() && gameObject2.GetComponent<replacedAN>().abnormalType != AbnormalType.Crawler)
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (!gameObject2.GetComponent<replacedAN>().hasDie)
{
gameObject2.GetComponent<replacedAN>().HitAnkle();
}
}
else
{
if (!PhotonNetwork.IsMasterClient || !gameObject2.GetPhotonView().IsMine)
{
if (!gameObject2.GetComponent<replacedAN>().hasDie)
{
gameObject2.GetComponent<replacedAN>().BasePV.RPC("hitAnkleRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID
});
}
}
else if (!gameObject2.GetComponent<replacedAN>().hasDie)
{
gameObject2.GetComponent<replacedAN>().HitAnkle();
}
this.showCriticalHitFX(other.gameObject.transform.position);
}
}
else if (gameObject2.GetComponent<FEMALE_replacedAN>())
{
if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single)
{
if (other.gameObject.name == "ankleR")
{
if (gameObject2.GetComponent<FEMALE_replacedAN>() && !gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().hitAnkleR(num9);
}
}
else if (gameObject2.GetComponent<FEMALE_replacedAN>() && !gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().hitAnkleL(num9);
}
}
else if (other.gameObject.name == "ankleR")
{
if (!PhotonNetwork.IsMasterClient)
{
if (!gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().BasePV.RPC("hitAnkleRRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num9
});
}
}
else if (!gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().hitAnkleRRPC(baseT.root.gameObject.GetPhotonView().viewID, num9);
}
}
else if (!PhotonNetwork.IsMasterClient)
{
if (!gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().BasePV.RPC("hitAnkleLRPC", PhotonTargets.MasterClient, new object[]
{
baseT.root.gameObject.GetPhotonView().viewID,
num9
});
}
}
else if (!gameObject2.GetComponent<FEMALE_replacedAN>().hasDie)
{
gameObject2.GetComponent<FEMALE_replacedAN>().hitAnkleLRPC(baseT.root.gameObject.GetPhotonView().viewID, num9);
}
this.showCriticalHitFX(other.gameObject.transform.position);
}
break;
}
}
}
19
Source : CubeCollector.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void Update()
{
if (GameObject.FindGameObjectWithTag("Player") == null)
{
return;
}
GameObject gameObject = GameObject.FindGameObjectWithTag("Player");
if (Vector3.Distance(gameObject.transform.position, base.transform.position) < 8f)
{
UnityEngine.Object.Destroy(base.gameObject);
}
}
19
Source : IN_GAME_MAIN_CAMERA.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
public void snapShot2(int index)
{
this.snapShotCamera.transform.position = ((!(Head != null)) ? MainT.position : Head.position);
this.snapShotCamera.transform.position += Vectors.up * this.heightMulti;
this.snapShotCamera.transform.position -= Vectors.up * 1.1f;
Vector3 vector;
Vector3 b = vector = this.snapShotCamera.transform.position;
Vector3 vector2 = (vector + this.snapShotTargetPosition) * 0.5f;
this.snapShotCamera.transform.position = vector2;
vector = vector2;
this.snapShotCamera.transform.LookAt(this.snapShotTargetPosition);
if (index == 3)
{
this.snapShotCamera.transform.RotateAround(BaseT.position, Vectors.up, UnityEngine.Random.Range(-180f, 180f));
}
else
{
this.snapShotCamera.transform.RotateAround(BaseT.position, Vectors.up, UnityEngine.Random.Range(-20f, 20f));
}
this.snapShotCamera.transform.LookAt(vector);
this.snapShotCamera.transform.RotateAround(vector, BaseT.right, UnityEngine.Random.Range(-20f, 20f));
float num = Vector3.Distance(this.snapShotTargetPosition, b);
if (this.snapShotTarget != null && this.snapShotTarget.GetComponent<replacedAN>())
{
num += (float)(index - 1) * this.snapShotTarget.transform.localScale.x * 10f;
}
this.snapShotCamera.transform.position -= this.snapShotCamera.transform.Forward() * UnityEngine.Random.Range(num + 3f, num + 10f);
this.snapShotCamera.transform.LookAt(vector);
this.snapShotCamera.transform.RotateAround(vector, BaseT.forward, UnityEngine.Random.Range(-30f, 30f));
Vector3 vector3 = (!(Head != null)) ? MainT.position : Head.position;
Vector3 vector4 = ((!(Head != null)) ? MainT.position : Head.position) - this.snapShotCamera.transform.position;
vector3 -= vector4;
RaycastHit raycastHit;
if (Head != null)
{
if (Physics.Linecast(Head.position, vector3, out raycastHit, Layers.Ground))
{
this.snapShotCamera.transform.position = raycastHit.point;
}
else if (Physics.Linecast(Head.position - vector4 * this.distanceMulti * 3f, vector3, out raycastHit, Layers.EnemyGround))
{
this.snapShotCamera.transform.position = raycastHit.point;
}
}
else if (Physics.Linecast(MainT.position + Vectors.up, vector3, out raycastHit, Layers.EnemyGround))
{
this.snapShotCamera.transform.position = raycastHit.point;
}
switch (index)
{
case 1:
this.snapshot1 = this.RTImage(this.snapShotCamera.GetComponent<Camera>());
SnapShotSaves.addIMG(this.snapshot1, this.snapShotDmg);
break;
case 2:
this.snapshot2 = this.RTImage(this.snapShotCamera.GetComponent<Camera>());
SnapShotSaves.addIMG(this.snapshot2, this.snapShotDmg);
break;
case 3:
this.snapshot3 = this.RTImage(this.snapShotCamera.GetComponent<Camera>());
SnapShotSaves.addIMG(this.snapshot3, this.snapShotDmg);
break;
}
this.snapShotCount = index;
this.hreplacednapShot = true;
this.snapShotCountDown = 2f;
if (index == 1)
{
FengGameManagerMKII.UIRefer.panels[0].transform.Find("snapshot1").GetComponent<UITexture>().mainTexture = this.snapshot1;
FengGameManagerMKII.UIRefer.panels[0].transform.Find("snapshot1").GetComponent<UITexture>().transform.localScale = new Vector3((float)Screen.width * 0.4f, (float)Screen.height * 0.4f, 1f);
FengGameManagerMKII.UIRefer.panels[0].transform.Find("snapshot1").GetComponent<UITexture>().transform.localPosition = new Vector3((float)(-(float)Screen.width) * 0.225f, (float)Screen.height * 0.225f, 0f);
FengGameManagerMKII.UIRefer.panels[0].transform.Find("snapshot1").GetComponent<UITexture>().transform.rotation = Quaternion.Euler(0f, 0f, 10f);
if (Settings.SnapshotsInGame.Value)
{
FengGameManagerMKII.UIRefer.panels[0].transform.Find("snapshot1").GetComponent<UITexture>().enabled = true;
}
else
{
FengGameManagerMKII.UIRefer.panels[0].transform.Find("snapshot1").GetComponent<UITexture>().enabled = false;
}
}
}
19
Source : LevelMovingBrick.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
private void Update()
{
if (this.towardsA)
{
base.transform.position = Vector3.MoveTowards(base.transform.position, this.pointA, this.speed * Time.deltaTime);
if (Vector3.Distance(base.transform.position, this.pointA) < 2f)
{
this.towardsA = false;
}
}
else
{
base.transform.position = Vector3.MoveTowards(base.transform.position, this.pointB, this.speed * Time.deltaTime);
if (Vector3.Distance(base.transform.position, this.pointB) < 2f)
{
this.towardsA = true;
}
}
}
19
Source : Bomb.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
public void Explode(float radius)
{
this.disabled = true;
this.baseR.velocity = Vectors.zero;
this.myExplosion = Pool.NetworkEnable("RCreplacedet/BombExplodeMain", this.baseT.position, Quaternion.Euler(0f, 0f, 0f), 0).GetComponent<BombExplode>();
foreach (HERO hero in FengGameManagerMKII.Heroes)
{
if (Vector3.Distance(hero.baseT.position, this.baseT.position) < radius && !hero.BasePV.IsMine && !hero.BombImmune)
{
PhotonPlayer owner = hero.BasePV.owner;
if (PhotonNetwork.player.RCteam > 0)
{
int num = PhotonNetwork.player.RCteam;
int num2 = owner.RCteam;
if (num == 0 || num != num2)
{
hero.MarkDie();
hero.BasePV.RPC("netDie2", PhotonTargets.All, new object[]
{
-1,
BombName
}); ;
FengGameManagerMKII.FGM.PlayerKillInfoUpdate(PhotonNetwork.player, 0);
}
}
else
{
hero.MarkDie();
hero.BasePV.RPC("netDie2", PhotonTargets.All, new object[]
{
-1,
BombName
});
FengGameManagerMKII.FGM.PlayerKillInfoUpdate(PhotonNetwork.player, 0);
}
}
}
base.StartCoroutine(this.WaitAndFade(1.5f));
}
19
Source : CannonBall.cs
with GNU General Public License v3.0
from aelariane
with GNU General Public License v3.0
from aelariane
public void destroyMe()
{
bool flag = !this.disabled;
if (flag)
{
this.disabled = true;
GameObject gameObject = Pool.NetworkEnable("FX/boom4", base.transform.position, base.transform.rotation, 0);
foreach (EnemyCheckCollider enemyCheckCollider in gameObject.GetComponentsInChildren<EnemyCheckCollider>())
{
enemyCheckCollider.dmg = 0;
}
bool flag2 = GameModes.CannonsKillHumans.Enabled;
if (flag2)
{
foreach (HERO hero in FengGameManagerMKII.Heroes)
{
bool flag3 = hero != null && Vector3.Distance(hero.transform.position, base.transform.position) <= 20f && !hero.BasePV.IsMine;
if (flag3)
{
GameObject gameObject2 = hero.gameObject;
PhotonPlayer owner = gameObject2.GetPhotonView().owner;
bool flag4 = GameModes.TeamMode.Enabled;
if (flag4)
{
int num = PhotonNetwork.player.RCteam;
int num2 = owner.RCteam; ;
bool flag5 = num == 0 || num != num2;
if (flag5)
{
gameObject2.GetComponent<HERO>().MarkDie();
gameObject2.GetComponent<HERO>().BasePV.RPC("netDie2", PhotonTargets.All, new object[]
{
-1,
PhotonNetwork.player.UIName + " "
});
FengGameManagerMKII.FGM.PlayerKillInfoUpdate(PhotonNetwork.player, 0);
}
}
else
{
gameObject2.GetComponent<HERO>().MarkDie();
gameObject2.GetComponent<HERO>().BasePV.RPC("netDie2", PhotonTargets.All, new object[]
{
-1,
PhotonNetwork.player.UIName + " "
});
FengGameManagerMKII.FGM.PlayerKillInfoUpdate(PhotonNetwork.player, 0);
}
}
}
}
bool flag6 = this.myreplacedanTriggers != null;
if (flag6)
{
for (int j = 0; j < this.myreplacedanTriggers.Count; j++)
{
bool flag7 = this.myreplacedanTriggers[j] != null;
if (flag7)
{
this.myreplacedanTriggers[j].IsCollide = false;
}
}
}
PhotonNetwork.Destroy(base.gameObject);
}
}
19
Source : NavToColliderEditor.cs
with MIT License
from akof1314
with MIT License
from akof1314
void DrawScaleHandle()
{
float s = Vector3.Distance(Camera.current.transform.position, regionCenter) / 5.0f;
regionSize = Handles.ScaleHandle(regionSize, regionCenter, Quaternion.idenreplacedy, s);
}
19
Source : ItemBehaviour.cs
with GNU General Public License v3.0
from Athlon007
with GNU General Public License v3.0
from Athlon007
void ToggleActive(bool enabled)
{
try
{
// If the item has fallen under the detection range of the game's built in garbage collector,
// teleport that item manually to the landfill.
if (!firstLoad)
{
if (transform.position.y < -100 && transform.position.x != 0 && transform.position.z != 0)
transform.position = ItemsManager.Instance.LostSpawner.position;
firstLoad = true;
}
if (!Hypervisor.Instance.IsItemInitializationDone())
{
if (transform.root != Satsuma.Instance.transform || IsPartMagnetAttached())
transform.position = position;
}
if (DontDisable)
{
TogglePhysicsOnly(enabled);
return;
}
// Disable empty items function.
// Items that are marked as empty are disabled by the game.
if (MOP.DisableEmptyItems.Value && this.gameObject.name == "empty(itemx)" && this.gameObject.transform.parent == null)
{
enabled = !MopSettings.IsModActive;
}
// Don't execute rest of the code, if the enabled is the same as activeSelf.
if (gameObject.activeSelf == enabled)
{
return;
}
// Don't toggle, if the item is attached to Satsuma.
if (transform.root.gameObject.name == "SATSUMA(557kg, 248)" || IsPartMagnetAttached())
{
return;
}
switch (gameObject.name)
{
// Don't disable wheels that are attached to the car.
case "wheel_regula":
Transform root = this.gameObject.transform.parent;
if (root != null && root.gameObject.name == "pivot_wheel_standard")
return;
break;
// Fix for batteries popping out of the car.
case "battery(Clone)":
if (gameObject.transform.parent.gameObject.name == "pivot_battery")
return;
// Don't toggle if battery is left on charger.
if (!enabled && batteryOnCharged.Value)
return;
break;
// Don't disable the helmet, if player has put it on.
case "helmet(itemx)":
if (Vector3.Distance(gameObject.transform.position, Hypervisor.Instance.GetPlayer().position) < 5)
return;
break;
// Don't despawn floor or car jack if it's not in it's default position.
case "floor jack(itemx)":
if (floorJackTriggerY.Value >= 0.15f)
return;
break;
case "car jack(itemx)":
if (floorJackTriggerY.Value >= 0.15f)
return;
break;
// Fixes infinitely burnign garbage barrel fire.
case "garbage barrel(itemx)":
if (!enabled)
transform.Find("Fire").gameObject.SetActive(false);
break;
// Fixes unpickable empty plastic cans
case "emptyca":
if (Vector3.Distance(transform.position, ItemsManager.Instance.LandfillSpawn.position) < 5)
{
gameObject.name = "empty plastic can(itemx)";
gameObject.MakePickable(true);
}
break;
}
// CDs resetting fix.
if (this.gameObject.name.StartsWith("cd(item") && this.transform.parent != null && this.transform.parent.name == "cd_sled_pivot")
{
return;
}
// Check if item is in CarryMore inventory.
// If so, ignore that item.
if (CompatibilityManager.IsInBackpack(this))
{
return;
}
gameObject.SetActive(enabled);
}
catch { }
}
19
Source : ItemBehaviour.cs
with GNU General Public License v3.0
from Athlon007
with GNU General Public License v3.0
from Athlon007
internal void ResetKiljuContainer()
{
if (!gameObject.name.ContainsAny("empty plastic can", "kilju", "emptyca")) return;
gameObject.MakePickable(true);
gameObject.tag = "ITEM";
if (ItemsManager.Instance.GetCanTrigger())
{
if (Vector3.Distance(transform.position, ItemsManager.Instance.GetCanTrigger().transform.position) < 10)
{
transform.position = ItemsManager.Instance.LostSpawner.position;
kiljuInitialReset = false;
PlayMakerFSM fsm = gameObject.GetPlayMakerFSM("Use");
if (fsm)
{
fsm.FsmVariables.GetFsmBool("ContainsKilju").Value = false;
}
gameObject.name = "empty plastic can(itemx)";
return;
}
}
if (ItemsManager.Instance.LandfillSpawn)
{
if (Vector3.Distance(transform.position, ItemsManager.Instance.LandfillSpawn.position) < 5)
{
transform.position = ItemsManager.Instance.LandfillSpawn.position;
PlayMakerFSM fsm = gameObject.GetPlayMakerFSM("Use");
if (fsm)
{
fsm.FsmVariables.GetFsmBool("ContainsKilju").Value = false;
}
gameObject.name = "empty plastic can(itemx)";
}
}
}
19
Source : Yard.cs
with GNU General Public License v3.0
from Athlon007
with GNU General Public License v3.0
from Athlon007
public bool IsItemInFridge(GameObject item)
{
if (fridgeRunning == null)
return false;
if (!fridgeRunning.Value)
return false;
return Vector3.Distance(item.transform.position, chillPoint.position) < ChillDistance;
}
19
Source : CompatibilityManager.cs
with GNU General Public License v3.0
from Athlon007
with GNU General Public License v3.0
from Athlon007
public static bool IsInBackpack(ItemBehaviour behaviour)
{
if (CarryMore)
{
return behaviour.transform.position.y < -900;
}
else if (AdvancedBackpack)
{
return Vector3.Distance(behaviour.transform.position, AdvancedBackpackPosition) < AdvancedBackpackDistance;
}
return false;
}
19
Source : MasterAudioAssembleCustom.cs
with GNU General Public License v3.0
from Athlon007
with GNU General Public License v3.0
from Athlon007
public override void OnEnter()
{
if (player == null)
{
player = GameObject.Find("PLAYER").transform;
thisTransform = Fsm.GameObject.transform;
masterAudioTransform = GameObject.Find("MasterAudio/CarBuilding/replacedemble").transform;
masterAudioSource = masterAudioTransform.gameObject.GetComponent<AudioSource>();
}
if (Vector3.Distance(player.position, thisTransform.position) < 5)
{
masterAudioTransform.position = thisTransform.position;
masterAudioSource.Play();
}
Finish();
}
19
Source : BusRollFix.cs
with GNU General Public License v3.0
from Athlon007
with GNU General Public License v3.0
from Athlon007
IEnumerator PositionFixRoutine()
{
while (MopSettings.IsModActive)
{
yield return new WaitForSeconds(5);
if (transform.localEulerAngles.z > 20 && transform.localEulerAngles.z < 340)
{
// Bus won't be flipped back, if player's too close.
if (Vector3.Distance(Hypervisor.Instance.GetPlayer().position, transform.position) < 300)
continue;
Vector3 fixedPosition = transform.localEulerAngles;
fixedPosition.z = 0;
transform.localEulerAngles = fixedPosition;
}
}
}
19
Source : Hypervisor.cs
with GNU General Public License v3.0
from Athlon007
with GNU General Public License v3.0
from Athlon007
bool IsEnabled(Transform target, float toggleDistance = 200)
{
if (inSectorMode)
toggleDistance *= MOP.ActiveDistance.Value == 0 ? 0.5f : 0.1f;
return Vector3.Distance(player.transform.position, target.position) < toggleDistance * MopSettings.ActiveDistanceMultiplicationValue;
}
19
Source : Hypervisor.cs
with GNU General Public License v3.0
from Athlon007
with GNU General Public License v3.0
from Athlon007
IEnumerator LoopRoutine()
{
MopSettings.IsModActive = true;
FramerateRecorder rec = gameObject.AddComponent<FramerateRecorder>();
rec.Initialize();
while (MopSettings.IsModActive)
{
// Ticks make sure that MOP is still up and running.
// If the ticks didn't update, that means this routine stopped.
++ticks;
if (!itemInitializationDelayDone)
{
// We are slightly delaying the initialization, so all items have chance to set in place, because replaced MSC and its physics.
waitTime++;
if (waitTime >= WaitDone)
{
FinishLoading();
}
}
isPlayerAtYard = MOP.ActiveDistance.Value == 0 ? Vector3.Distance(player.position, placeManager[0].transform.position) < 100
: Vector3.Distance(player.position, placeManager[0].transform.position) < 100 * MopSettings.ActiveDistanceMultiplicationValue;
// When player is in any of the sectors, MOP will act like the player is at yard.
if (SectorManager.Instance.IsPlayerInSector())
{
inSectorMode = true;
isPlayerAtYard = true;
}
else
{
inSectorMode = false;
}
yield return null;
int i;
long half = worldObjectManager.Count >> 1;
// World Objects.
for (i = 0; i < worldObjectManager.Count; ++i)
{
if (i == half)
yield return null;
try
{
GenericObject worldObject = worldObjectManager[i];
// Check if object was destroyed (mostly intended for AI pedastrians).
if (worldObject.GameObject == null)
{
worldObjectManager.Remove(worldObject);
continue;
}
if (SectorManager.Instance.IsPlayerInSector() && SectorManager.Instance.SectorRulesContains(worldObject.GameObject.name))
{
worldObject.GameObject.SetActive(true);
continue;
}
// Should the object be disabled when the player leaves the house?
if (worldObject.DisableOn.HasFlag(DisableOn.PlayerAwayFromHome) || worldObject.DisableOn.HasFlag(DisableOn.PlayerInHome))
{
if (worldObject.GameObject.name == "NPC_CARS" && inSectorMode)
continue;
if (worldObject.GameObject.name == "COMPUTER" && worldObject.GameObject.transform.Find("SYSTEM").gameObject.activeSelf)
continue;
worldObject.Toggle(worldObject.DisableOn.HasFlag(DisableOn.PlayerAwayFromHome) ? isPlayerAtYard : !isPlayerAtYard);
}
else if (worldObject.DisableOn.HasFlag(DisableOn.Distance))
{
// The object will be disabled, if the player is in the range of that object.
worldObject.Toggle(IsEnabled(worldObject.transform, worldObject.Distance));
}
}
catch (Exception ex)
{
ExceptionManager.New(ex, false, "WORLD_OBJECT_TOGGLE_ERROR");
}
}
// Safe mode prevents toggling elemenets that MAY case some issues (vehicles, items, etc.)
if (MopSettings.Mode == PerformanceMode.Safe)
{
yield return new WaitForSeconds(.7f);
continue;
}
// So we create two separate lists - one is meant to enable, and second is ment to disable them,
// Why?
// If we enable items before enabling vehicle inside of which these items are supposed to be, they'll fall through to ground.
// And the opposite happens if we disable vehicles before disabling items.
// So if we are disabling items, we need to do that BEFORE we disable vehicles.
// And we need to enable items AFTER we enable vehicles.
itemsToEnable.Clear();
itemsToDisable.Clear();
half = ItemsManager.Instance.Count >> 1;
for (i = 0; i < ItemsManager.Instance.Count; ++i)
{
if (i == half)
yield return null;
// Safe check if somehow the i gets bigger than array length.
if (i >= ItemsManager.Instance.Count) break;
try
{
ItemBehaviour item = ItemsManager.Instance[i];
if (item == null || item.gameObject == null)
{
itemsToRemove.Add(item);
continue;
}
// Check the mode in what MOP is supposed to run and adjust to it.
bool toEnable = true;
if (MopSettings.Mode == 0)
toEnable = IsEnabled(item.transform, FsmManager.IsPlayerInCar() && !isPlayerAtYard ? 20 : 150);
else
toEnable = IsEnabled(item.transform, 150);
if (toEnable)
{
item.ToggleChangeFix();
if (item.ActiveSelf) continue;
itemsToEnable.Add(item);
}
else
{
if (!item.ActiveSelf) continue;
itemsToDisable.Add(item);
}
if (item.rb != null && item.rb.IsSleeping())
{
if (item.IsPartMagnetAttached()) continue;
if (CompatibilityManager.IsInBackpack(item)) continue;
item.rb.isKinematic = true;
}
}
catch (Exception ex)
{
ExceptionManager.New(ex, false, "ITEM_TOGGLE_GATHER_ERROR");
}
}
// Items To Disable
int full = itemsToDisable.Count;
if (full > 0)
{
half = itemsToDisable.Count >> 1;
for (i = 0; i < full; ++i)
{
if (half != 0 && i == half)
yield return null;
try
{
itemsToDisable[i].Toggle(false);
}
catch (Exception ex)
{
ExceptionManager.New(ex, false, "ITEM_TOGGLE_DISABLE_ERROR - " + itemsToDisable[i] != null ? itemsToDisable[i].gameObject.name : "null");
}
}
}
// Vehicles (new)
half = vehicleManager.Count >> 1;
for (i = 0; i < vehicleManager.Count; ++i)
{
if (half != 0 && i == half) yield return null;
try
{
if (vehicleManager[i] == null)
{
vehicleManager.RemoveAt(i);
continue;
}
float distance = Vector3.Distance(player.transform.position, vehicleManager[i].transform.position);
float toggleDistance = MOP.ActiveDistance.Value == 0
? MopSettings.UnityCarActiveDistance : MopSettings.UnityCarActiveDistance * MopSettings.ActiveDistanceMultiplicationValue;
switch (vehicleManager[i].VehicleType)
{
case VehiclesTypes.Satsuma:
Satsuma.Instance.ToggleElements(distance);
vehicleManager[i].ToggleEventSounds(distance < 3);
break;
case VehiclesTypes.Jonnez:
vehicleManager[i].ToggleEventSounds(distance < 2);
break;
}
vehicleManager[i].ToggleUnityCar(IsVehiclePhysicsEnabled(distance, toggleDistance));
vehicleManager[i].Toggle(IsVehicleEnabled(distance));
}
catch (Exception ex)
{
ExceptionManager.New(ex, false, $"VEHICLE_TOGGLE_ERROR_{i}");
}
}
// Items To Enable
full = itemsToEnable.Count;
if (full > 0)
{
half = full >> 1;
for (i = 0; i < full; ++i)
{
if (half != 0 && i == half) yield return null;
try
{
itemsToEnable[i].Toggle(true);
}
catch (Exception ex)
{
ExceptionManager.New(ex, false, "ITEM_TOGGLE_ENABLE_ERROR - " + itemsToEnable[i] != null ? itemsToDisable[i].gameObject.name : "null");
}
}
}
// Places (New)
full = placeManager.Count;
half = full >> 1;
for (i = 0; i < full; ++i)
{
if (i == half)
yield return null;
try
{
if (SectorManager.Instance.IsPlayerInSector() && SectorManager.Instance.SectorRulesContains(placeManager[i].GetName()))
{
continue;
}
placeManager[i].ToggleActive(IsPlaceEnabled(placeManager[i].transform, placeManager[i].GetToggleDistance()));
}
catch (Exception ex)
{
ExceptionManager.New(ex, false, $"PLACE_TOGGLE_ERROR_{i}");
}
}
// Remove items that don't exist anymore.
if (itemsToRemove.Count > 0)
{
for (i = itemsToRemove.Count - 1; i >= 0; --i)
{
ItemsManager.Instance.RemoveAt(i);
}
itemsToRemove.Clear();
}
yield return new WaitForSeconds(.7f);
if (retries > 0 && !restartSucceedMessaged)
{
restartSucceedMessaged = true;
ModConsole.Log("<color=green>[MOP] Restart succeeded!</color>");
}
}
}
19
Source : Hypervisor.cs
with GNU General Public License v3.0
from Athlon007
with GNU General Public License v3.0
from Athlon007
bool IsPlaceEnabled(Transform target, float toggleDistance = 200)
{
return Vector3.Distance(player.transform.position, target.position) < toggleDistance * MopSettings.ActiveDistanceMultiplicationValue;
}
19
Source : SaveManager.cs
with GNU General Public License v3.0
from Athlon007
with GNU General Public License v3.0
from Athlon007
public static void VerifySave()
{
if (!File.Exists(SavePath))
return;
// Preplacedenger bucket seat.
// Check if driver bucket seat is bought and check the same for preplacedenger one.
// If they do not match, fix it.
try
{
saveBugs = new List<SaveBugs>();
bool bucketPreplacedengerSeat = ES2.Load<bool>(SavePath + "?tag=bucket seat preplacedenger(Clone)Purchased", setting);
bool bucketDriverSeat = ES2.Load<bool>(SavePath + "?tag=bucket seat driver(Clone)Purchased", setting);
if (bucketDriverSeat != bucketPreplacedengerSeat)
{
saveBugs.Add(SaveBugs.New("Bucket Seats", "One bucket seat is present in the game world, while the other isn't - both should be in game world.", () =>
{
ES2.Save(true, SavePath + "?tag=bucket seat preplacedenger(Clone)Purchased");
ES2.Save(true, SavePath + "?tag=bucket seat driver(Clone)Purchased");
}));
}
}
catch (Exception e)
{
ExceptionManager.New(e, false, "VERIFY_SAVE_BUCKET_SEAT");
}
try
{
bool tractorTrailerAttached = ES2.Load<bool>(SavePath + "?tag=TractorTrailerAttached", setting);
Transform flatbedTransform = ES2.Load<Transform>(SavePath + "?tag=FlatbedTransform", setting);
Transform kekmetTransform = ES2.Load<Transform>(SavePath + "?tag=TractorTransform", setting);
if (tractorTrailerAttached && Vector3.Distance(flatbedTransform.position, kekmetTransform.position) > 5.5f)
{
saveBugs.Add(SaveBugs.New("Flatbed Trailer Attached", "Trailer and tractor are too far apart from each other - impossible for them to be attached.", () =>
{
ES2.Save(false, SavePath + "?tag=TractorTrailerAttached", setting);
}));
}
}
catch (Exception ex)
{
ExceptionManager.New(ex, false, "VERIFY_SAVE_FLATBED");
}
try
{
// This one applies fix quietly, as it happens so often,
// it would be annoying to nag player about that error.
if (SaveFileExists)
{
MopSaveData save = ModSave.Load<MopSaveData>(mopSavePath);
if (save.version == MOP.ModVersion)
{
bool bumperRearInstalled = ES2.Load<bool>(SavePath + "?tag=bumper rear(Clone)Installed", setting);
float bumperTightness = ES2.Load<float>(SavePath + "?tag=Bumper_RearTightness", setting);
if (bumperRearInstalled && bumperTightness != save.rearBumperTightness)
{
ES2.Save(save.rearBumperTightness, SavePath + "?tag=Bumper_RearTightness");
ES2.Save(save.rearBumperBolts, SavePath + "?tag=Bumper_RearBolts");
}
bool halfshaft_FLInstalled = ES2.Load<bool>(SavePath + "?tag=halfshaft_flInstalled", setting);
float halfshaft_FLTightness = ES2.Load<float>(SavePath + "?tag=Halfshaft_FLTightness", setting);
if (halfshaft_FLInstalled && halfshaft_FLTightness != save.halfshaft_FLTightness)
{
saveBugs.Add(SaveBugs.New("Halfshaft (FL) Missmateched Bolt Stages", "Bolt stages in Halfshaft (FL) aren't correct.", () =>
{
ES2.Save(save.halfshaft_FLTightness, SavePath + "?tag=Halfshaft_FLTightness");
ES2.Save(save.halfshaft_FLBolts, SavePath + "?tag=Halfshaft_FLBolts");
}));
}
bool halfshaft_FRInstalled = ES2.Load<bool>(SavePath + "?tag=halfshaft_frInstalled", setting);
float halfshaft_FRTightness = ES2.Load<float>(SavePath + "?tag=Halfshaft_FRTightness", setting);
if (halfshaft_FRInstalled && halfshaft_FRTightness != save.halfshaft_FRTightness)
{
saveBugs.Add(SaveBugs.New("Halfshaft (FR) Missmateched Bolt Stages", "Bolt stages in Halfshaft (FR) aren't correct.", () =>
{
ES2.Save(save.halfshaft_FRTightness, SavePath + "?tag=Halfshaft_FRTightness");
ES2.Save(save.halfshaft_FRBolts, SavePath + "?tag=Halfshaft_FRBolts");
}));
}
bool wiringBatteryMinusInstalled = ES2.Load<bool>(SavePath + "?tag=battery_terminal_minus(xxxxx)Installed", setting);
float wiringBatteryMinusTightness = ES2.Load<float>(SavePath + "?tag=WiringBatteryMinusTightness", setting);
if (wiringBatteryMinusInstalled && wiringBatteryMinusTightness != save.wiringBatteryMinusTightness)
{
saveBugs.Add(SaveBugs.New("Battery terminal minus bolt is not tightened.", "Incorrect bolt tightness of battery minus terminal.", () =>
{
ES2.Save(save.wiringBatteryMinusTightness, SavePath + "?tag=WiringBatteryMinusTightness");
ES2.Save(save.wiringBatteryMinusBolts, SavePath + "?tag=WiringBatteryMinusBolts");
}));
}
}
else
{
ReleaseSave();
}
}
}
catch (Exception ex)
{
ExceptionManager.New(ex, false, "VERIFY_BUMPER_REAR");
}
if (saveBugs.Count > 0)
{
ModPrompt.CreateYesNoPrompt($"MOP found <color=yellow>{saveBugs.Count}</color> problem{(saveBugs.Count > 1 ? "s" : "")} with your save:\n\n" +
$"<color=yellow>{string.Join(", ", saveBugs.Select(f => f.BugName).ToArray())}</color>\n\n" +
$"Would you like MOP to try and fix {((saveBugs.Count > 1) ? "them" : "it")}?", "MOP - Save Integrity Verification", FixAllProblems);
}
else
{
ModConsole.Log("[MOP] MOP didn't find any problems with your save :)");
}
}
19
Source : World.cs
with MIT License
from BrunoS3D
with MIT License
from BrunoS3D
void Update() {
if (randomize) {
noiseScale = Random.Range(32, 128);
noiseOffset = Random.insideUnitSphere * noiseScale * noiseScale;
for (int idx = 0; idx < chunkMap.Count; idx++) {
Chunk chunk = chunkMap[idx];
StartCoroutine(chunk.GenerateChunk());
}
randomize = false;
return;
}
Vector3 ppos = player.position;
t_chunckUpdateTime += Time.deltaTime;
for (int idx = 0; idx < chunkMap.Count; idx++) {
Chunk chunk = chunkMap[idx];
CloudsChunk cloudsChunk = cloudsChunkMap[idx];
Vector2 biPlayerPos = new Vector2(player.position.x, player.position.z);
Vector2 biChunkPos = new Vector2(chunk.transform.position.x, chunk.transform.position.z);
bool activeChunk = Vector3.Distance(biPlayerPos, biChunkPos) <= playerFOV.magnitude;
chunk.gameObject.SetActive(activeChunk);
if (activeChunk) {
chunk.gameObject.SetActive(true);
} else {
if (chunk.CoroutinesRunning == 0) {
chunk.gameObject.SetActive(false);
}
}
// utopia
if (activeChunk && t_chunckUpdateTime >= chunckUpdateTime && chunk.CoroutinesRunning == 0) {
StartCoroutine(chunk.RefreshMap());
}
}
if (t_chunckUpdateTime >= chunckUpdateTime) {
Chunk chunk = TryGetChunk(ppos);
if (chunk != null) {
StartCoroutine(chunk.RefreshMap());
}
t_chunckUpdateTime = 0.0f;
}
for (float x = ppos.x - playerFOV.x; x < ppos.x + playerFOV.x; x += chunkSize.x) {
for (float z = ppos.z - playerFOV.y; z < ppos.z + playerFOV.y; z += chunkSize.z) {
Vector3 idxpos = new Vector3(x, 0, z);
Chunk chunk = TryGetChunk(idxpos);
CloudsChunk cloudsChunk = TryGetCloudsChunk(idxpos);
if (chunk == null) {
int xGridCoord = Mathf.FloorToInt(x / chunkSize.x) * chunkSize.x;
int zGridCoord = Mathf.FloorToInt(z / chunkSize.z) * chunkSize.z;
var instance = Instantiate(chunkPrefab, new Vector3(xGridCoord, 0, zGridCoord), Quaternion.idenreplacedy).GetComponent<Chunk>();
instance.transform.SetParent(transform);
chunkMap.Add(instance);
}
if (cloudsChunk == null) {
int xGridCoord = Mathf.FloorToInt(x / chunkSize.x) * chunkSize.x;
int zGridCoord = Mathf.FloorToInt(z / chunkSize.z) * chunkSize.z;
var instance = Instantiate(cloudsChunkPrefab, new Vector3(xGridCoord, cloudsHeight, zGridCoord), Quaternion.idenreplacedy).GetComponent<CloudsChunk>();
instance.transform.SetParent(transform);
cloudsChunkMap.Add(instance);
}
}
}
}
19
Source : WorldInteractor.cs
with MIT License
from BrunoS3D
with MIT License
from BrunoS3D
void Update() {
if (Input.mouseScrollDelta.y > 0) {
placeBlock++;
}
if (Input.mouseScrollDelta.y < 0) {
placeBlock--;
}
placeBlock = Mathf.Max(placeBlock, 1);
placeBlock = Mathf.Min(placeBlock, World.currentWorld.blockDefs.Count - 1);
if (Input.GetMouseButton(0) || Input.GetMouseButton(1)) {
// increase time
t_timeToInteractDelta += Time.deltaTime;
} else {
// reset time
t_timeToInteractDelta = 0.0f;
}
if (Input.GetMouseButtonDown(0) || Input.GetMouseButtonDown(1)) {
t_timeToInteractDelta = timeToInteract;
}
d_timeToInteractDelta = t_timeToInteractDelta;
RaycastHit hit;
var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
int cookerDef = World.currentWorld.FindBlockDefByName("Cooker");
int cookerActiveDef = World.currentWorld.FindBlockDefByName("CookerActive");
// int craftTableDef = World.currentWorld.FindBlockDefByName("CraftTable");
int targetBlock = -1;
d_targetBlock = targetBlock;
d_targetNewBlockDistance = -1.0f;
d_targetExistingBlockDistance = -1.0f;
if (Physics.Raycast(ray, out hit)) {
if (hit.transform && hit.transform.GetComponent<Chunk>()) {
Vector3 mid = new Vector3(0.5f, 0.5f, 0.5f);
Chunk chunk = hit.transform.GetComponent<Chunk>();
Vector3 chunkPosition = chunk.transform.position;
d_chunkPosition = chunkPosition;
Vector3 worldHitPoint = hit.point + hit.normal / 2;
worldHitPoint = Vector3Int.FloorToInt(worldHitPoint);
d_worldHitPoint = worldHitPoint;
Vector3 worldBlockPoint = hit.point - hit.normal / 2;
worldBlockPoint = Vector3Int.FloorToInt(worldBlockPoint);
d_worldBlockPoint = worldBlockPoint;
Vector3 chunkHitPoint = worldHitPoint - chunkPosition;
Vector3 chunkBlockPoint = worldBlockPoint - chunkPosition;
d_chunkHitPoint = chunkHitPoint;
d_chunkBlockPoint = chunkBlockPoint;
float targetNewBlockDistance = Vector3.Distance(transform.position, worldHitPoint + mid);
float targetExistingBlockDistance = Vector3.Distance(transform.position, worldBlockPoint + mid);
d_targetNewBlockDistance = targetNewBlockDistance;
d_targetExistingBlockDistance = targetExistingBlockDistance;
targetBlock = chunk.GetBlockAt(chunkBlockPoint);
d_targetBlock = targetBlock;
if (t_timeToInteractDelta >= timeToInteract) {
// reset time
t_timeToInteractDelta = 0.0f;
d_timeToInteractDelta = t_timeToInteractDelta;
if (Input.GetMouseButton(0)) {
chunk.RemoveBlockAt(chunkBlockPoint);
World.currentWorld.InsertBlockParticlesAt(worldBlockPoint, targetBlock);
// Debug.Log($"Removido bloco {World.currentWorld.blockDefs[targetBlock].name} na posicao {chunkBlockPoint}");
} else if (Input.GetMouseButton(1)) {
if (targetBlock == cookerDef) {
chunk.SetBlockAt(chunkBlockPoint, cookerActiveDef);
// Debug.Log($"Bloco {World.currentWorld.blockDefs[targetBlock].name} alterado para {World.currentWorld.blockDefs[cookerActiveDef].name} na posicao {chunkBlockPoint}");
return;
}
if (targetBlock == cookerActiveDef) {
chunk.SetBlockAt(chunkBlockPoint, cookerDef);
// Debug.Log($"Bloco {World.currentWorld.blockDefs[targetBlock].name} alterado para {World.currentWorld.blockDefs[cookerDef].name} na posicao {chunkBlockPoint}");
return;
}
if (targetNewBlockDistance >= minNewBlockDistance && targetExistingBlockDistance >= minExistingBlockDistance) {
chunk.InsertBlockAt(chunkHitPoint, placeBlock);
// Debug.Log($"Adicionado bloco {World.currentWorld.blockDefs[placeBlock].name} na posicao {chunkHitPoint}");
return;
}
}
}
}
}
}
19
Source : Cowboy.cs
with MIT License
from CameronVetter
with MIT License
from CameronVetter
private void StartWalking()
{
_start = transform.position;
_timeStartedLerping = Time.time;
_timeToWalk = Vector3.Distance(_start, _destination) / WalkSpeed;
_walking = true;
_anim.SetFloat("Forward", 1);
}
19
Source : ICameraHandler.cs
with MIT License
from CitiesSkylinesMultiplayer
with MIT License
from CitiesSkylinesMultiplayer
public static void Postfix(CameraController __instance, Camera ___m_camera)
{
// Make sure the camera object is defined, this should always happen but for some strange reason it didnt (look bellow)
// This is not happening if i test it localy. (debug using AllocConsole in CSM.cs)
// https://github.com/DominicMaas/Tango/issues/155
if (___m_camera && MultiplayerManager.Instance.CurrentRole != MultiplayerRole.None)
{
// Get camera rotation, angle and position
Transform transform = ___m_camera.transform;
Quaternion _rotation = transform.rotation;
Vector3 _position = transform.position;
// Update the player camera position every time the camera moves OR rotates
// This should not be that demanding on the server (might be demanding if you are playing with a lot of players
// We could also make the server update the player locations every x seconds by storing all the info on the server and send it to all clients every 1 second?
if (Vector3.Distance(_position, playerCameraPosition_last) > 1 || playerCameraRotation_last != _rotation)
{
// Store camera rotation and position
playerCameraPosition_last = _position;
playerCameraRotation_last = _rotation;
// Set the correct playerName if our currentRole is SERVER, else use the CurrentClient Username
string playerName;
if (MultiplayerManager.Instance.CurrentRole == MultiplayerRole.Server)
{
playerName = MultiplayerManager.Instance.CurrentServer.Config.Username;
}
else
{
playerName = MultiplayerManager.Instance.CurrentClient.Config.Username;
}
// Send info to all clients
Command.SendToAll(new PlayerLocationCommand
{
PlayerName = playerName,
PlayerCameraPosition = _position,
PlayerCameraRotation = _rotation,
PlayerCameraHeight = __instance.m_currentHeight,
PlayerColor = JoinGamePanel.playerColor
});
}
}
}
19
Source : CalculateSegmentPositionPatch2.cs
with MIT License
from CitiesSkylinesMods
with MIT License
from CitiesSkylinesMods
[UsedImplicitly]
public static bool Prefix(CarAI __instance,
ushort vehicleID,
ref Vehicle vehicleData,
PathUnit.Position nextPosition,
PathUnit.Position position,
uint laneID,
byte offset,
PathUnit.Position prevPos,
uint prevLaneID,
byte prevOffset,
int index,
out Vector3 pos,
out Vector3 dir,
out float maxSpeed) {
NetManager netManager = Singleton<NetManager>.instance;
ushort nextSourceNodeId;
ushort nextTargetNodeId;
NetSegment[] segmentsBuffer = netManager.m_segments.m_buffer;
if (offset < position.m_offset) {
nextSourceNodeId = segmentsBuffer[position.m_segment].m_startNode;
nextTargetNodeId = segmentsBuffer[position.m_segment].m_endNode;
} else {
nextSourceNodeId = segmentsBuffer[position.m_segment].m_endNode;
nextTargetNodeId = segmentsBuffer[position.m_segment].m_startNode;
}
ushort curTargetNodeId;
curTargetNodeId = prevOffset == 0
? segmentsBuffer[prevPos.m_segment].m_startNode
: segmentsBuffer[prevPos.m_segment].m_endNode;
#if DEBUG
bool logCalculation = DebugSwitch.CalculateSegmentPosition.Get()
&& (DebugSettings.NodeId <= 0
|| curTargetNodeId == DebugSettings.NodeId)
&& (GlobalConfig.Instance.Debug.ApiExtVehicleType == ExtVehicleType.None
|| GlobalConfig.Instance.Debug.ApiExtVehicleType == ExtVehicleType.RoadVehicle)
&& (DebugSettings.VehicleId == 0
|| DebugSettings.VehicleId == vehicleID);
if (logCalculation) {
Log._Debug($"CustomCarAI.CustomCalculateSegmentPosition({vehicleID}) called.\n" +
$"\tcurPosition.m_segment={prevPos.m_segment}, " +
$"curPosition.m_offset={prevPos.m_offset}\n" +
$"\tposition.m_segment={position.m_segment}, " +
$"position.m_offset={position.m_offset}\n" +
$"\tnextNextPosition.m_segment={nextPosition.m_segment}, " +
$"nextNextPosition.m_offset={nextPosition.m_offset}\n" +
$"\tcurLaneId={prevLaneID}, prevOffset={prevOffset}\n" +
$"\tnextLaneId={laneID}, nextOffset={offset}\n" +
$"\tnextSourceNodeId={nextSourceNodeId}, nextTargetNodeId={nextTargetNodeId}\n" +
$"\tcurTargetNodeId={curTargetNodeId}, curTargetNodeId={curTargetNodeId}\n" +
$"\tindex={index}");
}
#endif
Vehicle.Frame lastFrameData = vehicleData.GetLastFrameData();
Vector3 lastFrameVehiclePos = lastFrameData.m_position;
float sqrVelocity = lastFrameData.m_velocity.sqrMagnitude;
netManager.m_lanes.m_buffer[laneID].CalculatePositionAndDirection(
Constants.ByteToFloat(offset),
out pos,
out dir);
float braking = __instance.m_info.m_braking;
if ((vehicleData.m_flags & Vehicle.Flags.Emergency2) != 0) {
braking *= 2f;
}
// car position on the Bezier curve of the lane
Vector3 refVehiclePosOnBezier = netManager.m_lanes.m_buffer[prevLaneID]
.CalculatePosition(
Constants.ByteToFloat(prevOffset));
// ushort currentSegmentId = netManager.m_lanes.m_buffer[prevLaneID].m_segment;
// this seems to be like the required braking force in order to stop the vehicle within its half length.
float crazyValue = (0.5f * sqrVelocity / braking) +
(__instance.m_info.m_generatedInfo.m_size.z * 0.5f);
float d = Vector3.Distance(lastFrameVehiclePos, refVehiclePosOnBezier);
bool withinBrakingDistance = d >= crazyValue - 1f;
if (nextSourceNodeId == curTargetNodeId
&& withinBrakingDistance) {
// NON-STOCK CODE START (stock code replaced)
if (!VehicleBehaviorManager.Instance.MayChangeSegment(
vehicleID,
ref vehicleData,
sqrVelocity,
ref prevPos,
ref segmentsBuffer[prevPos.m_segment],
curTargetNodeId,
prevLaneID,
ref position,
nextSourceNodeId,
ref netManager.m_nodes.m_buffer[nextSourceNodeId],
laneID,
ref nextPosition,
nextTargetNodeId,
out maxSpeed)) {
// NON-STOCK CODE
return false;
}
ExtVehicleManager.Instance.UpdateVehiclePosition(
vehicleID,
ref vehicleData /*, lastFrameData.m_velocity.magnitude*/);
// NON-STOCK CODE END
}
NetInfo prevSegmentInfo = segmentsBuffer[position.m_segment].Info;
// NON-STOCK CODE START (stock code replaced)
VehicleAICommons.CustomCalculateTargetSpeed(
__instance,
vehicleID,
ref vehicleData,
position,
laneID,
prevSegmentInfo,
out maxSpeed);
maxSpeed = Constants.ManagerFactory.VehicleBehaviorManager.CalcMaxSpeed(
vehicleID,
ref Constants.ManagerFactory.ExtVehicleManager.ExtVehicles[vehicleID],
__instance.m_info,
position,
ref segmentsBuffer[position.m_segment],
pos,
maxSpeed,
false);
// NON-STOCK CODE END
return false;
}
19
Source : CheckNextLanePatch.cs
with MIT License
from CitiesSkylinesMods
with MIT License
from CitiesSkylinesMods
[UsedImplicitly]
public static bool Prefix(TrainAI __instance,
ushort vehicleID,
ref Vehicle vehicleData,
ref float maxSpeed,
PathUnit.Position position,
uint laneID,
byte offset,
PathUnit.Position prevPos,
uint prevLaneID,
byte prevOffset,
Bezier3 bezier) {
NetManager netManager = NetManager.instance;
ushort nextSourceNodeId = offset < position.m_offset
? netManager.m_segments.m_buffer[position.m_segment].m_startNode
: netManager.m_segments.m_buffer[position.m_segment].m_endNode;
ushort refTargetNodeId = prevOffset == 0
? netManager.m_segments.m_buffer[prevPos.m_segment].m_startNode
: netManager.m_segments.m_buffer[prevPos.m_segment].m_endNode;
#if DEBUG
bool logLogic = DebugSwitch.CalculateSegmentPosition.Get()
&& (DebugSettings.NodeId <= 0
|| refTargetNodeId == DebugSettings.NodeId)
&& (GlobalConfig.Instance.Debug.ApiExtVehicleType == ExtVehicleType.None
|| GlobalConfig.Instance.Debug.ApiExtVehicleType == ExtVehicleType.RailVehicle)
&& (DebugSettings.VehicleId == 0
|| DebugSettings.VehicleId == vehicleID);
if (logLogic) {
Log._Debug($"CustomTrainAI.CustomCheckNextLane({vehicleID}) called.\n" +
$"\tprevPos.m_segment={prevPos.m_segment}, " +
$"prevPos.m_offset={prevPos.m_offset}\n" +
$"\tposition.m_segment={position.m_segment}, " +
$"position.m_offset={position.m_offset}\n" +
$"\tprevLaneID={prevLaneID}, prevOffset={prevOffset}\n" +
$"\tprevLaneId={laneID}, prevOffset={offset}\n" +
$"\tnextSourceNodeId={nextSourceNodeId}\n" +
$"\trefTargetNodeId={refTargetNodeId}, " +
$"refTargetNodeId={refTargetNodeId}");
}
#endif
Vehicle.Frame lastFrameData = vehicleData.GetLastFrameData();
Vector3 lastPosPlusRot = lastFrameData.m_position;
Vector3 lastPosMinusRot = lastFrameData.m_position;
Vector3 rotationAdd = lastFrameData.m_rotation
* new Vector3(0f, 0f, __instance.m_info.m_generatedInfo.m_wheelBase * 0.5f);
lastPosPlusRot += rotationAdd;
lastPosMinusRot -= rotationAdd;
float breakingDist = 0.5f * lastFrameData.m_velocity.sqrMagnitude / __instance.m_info.m_braking;
float distToTargetAfterRot = Vector3.Distance(lastPosPlusRot, bezier.a);
float distToTargetBeforeRot = Vector3.Distance(lastPosMinusRot, bezier.a);
#if DEBUG
if (logLogic) {
Log._Debug($"CustomTrainAI.CustomCheckNextLane({vehicleID}): " +
$"lastPos={lastFrameData.m_position} " +
$"lastPosMinusRot={lastPosMinusRot} " +
$"lastPosPlusRot={lastPosPlusRot} " +
$"rotationAdd={rotationAdd} " +
$"breakingDist={breakingDist} " +
$"distToTargetAfterRot={distToTargetAfterRot} " +
$"distToTargetBeforeRot={distToTargetBeforeRot}");
}
#endif
if (Mathf.Min(distToTargetAfterRot, distToTargetBeforeRot) >= breakingDist - 5f) {
/*VehicleManager vehMan = Singleton<VehicleManager>.instance;
ushort firstVehicleId = vehicleData.GetFirstVehicle(vehicleID);
if (VehicleBehaviorManager.Instance.MayDespawn(ref vehMan.m_vehicles.m_buffer[firstVehicleId]) || vehMan.m_vehicles.m_buffer[firstVehicleId].m_blockCounter < 100) {*/ // NON-STOCK CODE
#if DEBUG
if (logLogic) {
Log._Debug($"CustomTrainAI.CustomCheckNextLane({vehicleID}): " +
$"Checking for free space on lane {laneID}.");
}
#endif
if (!netManager.m_lanes.m_buffer[laneID].CheckSpace(1000f, vehicleID)) {
#if DEBUG
if (logLogic) {
Log._Debug($"CustomTrainAI.CustomCheckNextLane({vehicleID}): " +
$"No space available on lane {laneID}. ABORT.");
}
#endif
vehicleData.m_flags2 |= Vehicle.Flags2.Yielding;
vehicleData.m_waitCounter = 0;
maxSpeed = 0f;
return false;
}
Vector3 bezierMiddlePoint = bezier.Position(0.5f);
Segment3 segment = Vector3.SqrMagnitude(vehicleData.m_segment.a - bezierMiddlePoint) <
Vector3.SqrMagnitude(bezier.a - bezierMiddlePoint)
? new Segment3(vehicleData.m_segment.a, bezierMiddlePoint)
: new Segment3(bezier.a, bezierMiddlePoint);
#if DEBUG
if (logLogic) {
Log._Debug($"CustomTrainAI.CustomCheckNextLane({vehicleID}): " +
$"Checking for overlap (1). segment.a={segment.a} segment.b={segment.b}");
}
#endif
if (segment.LengthSqr() >= 3f) {
segment.a += (segment.b - segment.a).normalized * 2.5f;
if (CheckOverlap(vehicleID, ref vehicleData, segment, vehicleID)) {
#if DEBUG
if (logLogic) {
Log._Debug($"CustomTrainAI.CustomCheckNextLane({vehicleID}): " +
$"Overlap detected (1). segment.LengthSqr()={segment.LengthSqr()} " +
$"segment.a={segment.a} ABORT.");
}
#endif
vehicleData.m_flags2 |= Vehicle.Flags2.Yielding;
vehicleData.m_waitCounter = 0;
maxSpeed = 0f;
return false;
}
}
segment = new Segment3(bezierMiddlePoint, bezier.d);
#if DEBUG
if (logLogic) {
Log._Debug($"CustomTrainAI.CustomCheckNextLane({vehicleID}): " +
$"Checking for overlap (2). segment.a={segment.a} segment.b={segment.b}");
}
#endif
if (segment.LengthSqr() >= 1f
&& CheckOverlap(vehicleID, ref vehicleData, segment, vehicleID)) {
#if DEBUG
if (logLogic) {
Log._Debug($"CustomTrainAI.CustomCheckNextLane({vehicleID}): " +
$"Overlap detected (2). ABORT.");
}
#endif
vehicleData.m_flags2 |= Vehicle.Flags2.Yielding;
vehicleData.m_waitCounter = 0;
maxSpeed = 0f;
return false;
}
// } // NON-STOCK CODE
// if (this.m_info.m_vehicleType != VehicleInfo.VehicleType.Monorail) { // NON-STOCK CODE
if (nextSourceNodeId != refTargetNodeId) {
return false;
}
#if DEBUG
if (logLogic) {
Log._Debug($"CustomTrainAI.CustomCheckNextLane({vehicleID}): " +
$"Checking if vehicle is allowed to change segment.");
}
#endif
float oldMaxSpeed = maxSpeed;
if (!VehicleBehaviorManager.Instance.MayChangeSegment(
vehicleID,
ref vehicleData,
lastFrameData.m_velocity.sqrMagnitude,
ref prevPos,
ref netManager.m_segments.m_buffer[prevPos.m_segment],
refTargetNodeId,
prevLaneID,
ref position,
refTargetNodeId,
ref netManager.m_nodes.m_buffer[refTargetNodeId],
laneID,
out maxSpeed)) {
#if DEBUG
if (logLogic) {
Log._Debug($"CustomTrainAI.CustomCheckNextLane({vehicleID}): " +
$"Vehicle is NOT allowed to change segment. ABORT.");
}
#endif
maxSpeed = 0;
return false;
}
ExtVehicleManager.Instance.UpdateVehiclePosition(
vehicleID,
ref vehicleData);
maxSpeed = oldMaxSpeed;
// NON-STOCK CODE
}
return false;
}
See More Examples