public VigTuple2 DAT_80_2; //0x80 //FUN_25B4 (STEELMIL.DLL) public override uint UpdateW(int arg1, int arg2) { VigTuple ppiVar2; List <VigTuple> ppiVar3; sbyte sVar4; int iVar4; short sVar5; short sVar6; bool bVar7; int iVar7; VigObject oVar7; Furnace3 fVar7; VigTuple2 tVar7; int iVar8; int iVar9; VigObject oVar9; VigTuple2 tVar10; VigObject oVar11; uint uVar12; uint uVar13; Vector3Int local_18; Vector3Int local_28; switch (arg1) { case 0: switch (((byte)tags - 1) * 0x1000000 >> 0x18) { case 0: tVar10 = DAT_80_2; oVar9 = DAT_84; local_18 = new Vector3Int(0, 0, 0); local_28 = new Vector3Int(); local_28.x = oVar9.vTransform.position.x - vTransform.position.x; local_28.z = oVar9.vTransform.position.z - vTransform.position.z; local_28.y = local_18.y; iVar7 = local_28.x; if (local_28.x < 0) { iVar7 = -local_28.x; } if (0x5000 < iVar7) { iVar7 = tVar10.array[0] << 16; if (iVar7 < oVar9.vTransform.position.x) { iVar7 = oVar9.vTransform.position.x; } iVar8 = (tVar10.array[0] + tVar10.array[2]) * 0x10000; if (iVar7 < iVar8) { iVar8 = iVar7; } iVar7 = tVar10.array[1] << 16; iVar8 -= vTransform.position.x; if (iVar7 < oVar9.vTransform.position.z) { iVar7 = oVar9.vTransform.position.z; } iVar9 = (tVar10.array[1] + tVar10.array[3]) * 0x10000; if (iVar7 < iVar9) { iVar9 = iVar7; } iVar9 -= vTransform.position.z; iVar7 = -3051; if (-3052 < iVar8) { iVar7 = 3051; if (iVar8 < 3052) { iVar7 = iVar8; } } vTransform.position.x += iVar7; iVar7 = -3051; if (-3052 < iVar9) { iVar7 = 3051; if (iVar9 < 3052) { iVar7 = iVar9; } } vTransform.position.z += iVar7; local_18.x = local_28.x; local_18.z = local_28.z; Utilities.FUN_2A098(local_28, out local_28); iVar7 = local_28.z * vTransform.rotation.V02 - local_28.x * vTransform.rotation.V22; if (iVar7 < 0) { iVar7 += 4095; } iVar7 >>= 12; iVar9 = iVar7; if (iVar7 < 0) { iVar9 = -iVar7; } if (20 < iVar9) { iVar9 = -iVar7; if (0 < iVar7) { iVar9 += 15; } FUN_24700(0, (short)(iVar9 >> 4), 0); } if ((GameManager.instance.DAT_28 - DAT_19 & 15) == 0) { vTransform.rotation = Utilities.MatrixNormal(vTransform.rotation); return(0); } return(0); } iVar7 = local_28.z; if (local_28.z < 0) { iVar7 = -local_28.z; } if (0x5000 < iVar7) { iVar7 = tVar10.array[0] << 16; if (iVar7 < oVar9.vTransform.position.x) { iVar7 = oVar9.vTransform.position.x; } iVar8 = (tVar10.array[0] + tVar10.array[2]) * 0x10000; if (iVar7 < iVar8) { iVar8 = iVar7; } iVar7 = tVar10.array[1] << 16; iVar8 -= vTransform.position.x; if (iVar7 < oVar9.vTransform.position.z) { iVar7 = oVar9.vTransform.position.z; } iVar9 = (tVar10.array[1] + tVar10.array[3]) * 0x10000; if (iVar7 < iVar9) { iVar9 = iVar7; } iVar9 -= vTransform.position.z; iVar7 = -3051; if (-3052 < iVar8) { iVar7 = 3051; if (iVar8 < 3052) { iVar7 = iVar8; } } vTransform.position.x += iVar7; iVar7 = -3051; if (-3052 < iVar9) { iVar7 = 3051; if (iVar9 < 3052) { iVar7 = iVar9; } } vTransform.position.z += iVar7; local_18.x = local_28.x; local_18.z = local_28.z; Utilities.FUN_2A098(local_28, out local_28); iVar7 = local_28.z * vTransform.rotation.V02 - local_28.x * vTransform.rotation.V22; if (iVar7 < 0) { iVar7 += 4095; } iVar7 >>= 12; iVar9 = iVar7; if (iVar7 < 0) { iVar9 = -iVar7; } if (20 < iVar9) { iVar9 = -iVar7; if (0 < iVar7) { iVar9 += 15; } FUN_24700(0, (short)(iVar9 >> 4), 0); } if ((GameManager.instance.DAT_28 - DAT_19 & 15) == 0) { vTransform.rotation = Utilities.MatrixNormal(vTransform.rotation); return(0); } return(0); } break; case 1: oVar7 = child2; sVar5 = (short)(oVar7.vr.x - 17); oVar7.vr.x = sVar5; if (sVar5 < -511) { tags++; } goto LAB_2944; case 2: fVar7 = FUN_2458(); iVar4 = GameManager.instance.FUN_1DD9C(); GameManager.instance.FUN_1E628(iVar4, GameManager.instance.DAT_C2C, 67, fVar7.vTransform.position); if (fVar7 != null) { GameManager.instance.FUN_30CB0(fVar7, 60); } FUN_30BA8(); GameManager.instance.FUN_30CB0(this, 120); break; default: return(0); case 4: oVar7 = child2; sVar6 = (short)(oVar7.vr.x + 17); oVar7.vr.x = sVar6; if (0 < sVar6 << 16) { tags = 0; iVar9 = (int)GameManager.FUN_2AC5C(); GameManager.instance.FUN_30CB0(this, (iVar9 * 120 >> 15) + 180); FUN_30BA8(); } LAB_2944: oVar7.ApplyTransformation(); return(0); } LAB_2B28: tags++; break; case 1: flags |= 0x100; tVar7 = GameManager.instance.FUN_2FFD0(1); DAT_80_2 = tVar7; if (tVar7 != null) { iVar7 = (int)GameManager.FUN_2AC5C(); GameManager.instance.FUN_30CB0(this, iVar7 * 60 >> 15); } vTransform.position.y = 0x2af800; break; case 2: sVar4 = tags; if (sVar4 == 1) { tVar7 = DAT_80_2; oVar9 = DAT_84; if ((oVar9.maxHalfHealth == 0 || oVar9.vTransform.position.x <= tVar7.array[0] << 16) || (tVar7.array[0] + tVar7.array[2]) * 0x10000 <= oVar9.vTransform.position.x || (oVar9.vTransform.position.z <= tVar7.array[1] << 16 || (tVar7.array[1] + tVar7.array[3]) * 0x10000 <= oVar9.vTransform.position.z)) { FUN_30BA8(); sVar4 = 5; tags = sVar4; } iVar7 = (int)GameManager.FUN_2AC5C(); GameManager.instance.FUN_30CB0(this, iVar7 * 60 >> 15); return(0); } if (sVar4 < 2) { if (sVar4 != 0) { return(0); } oVar11 = null; uVar12 = 0xffffffff; tVar7 = DAT_80_2; ppiVar3 = GameManager.instance.worldObjs; for (int i = 0; i < ppiVar3.Count; i++) { ppiVar2 = ppiVar3[i]; oVar9 = ppiVar2.vObject; if (oVar9.type == 2 && oVar9.maxHalfHealth != 0 && tVar7.array[0] << 16 < oVar9.vTransform.position.x && oVar9.vTransform.position.x < (tVar7.array[0] + tVar7.array[2]) * 0x10000 && tVar7.array[1] << 16 < oVar9.vTransform.position.z && oVar9.vTransform.position.z < (tVar7.array[1] + tVar7.array[3]) * 0x10000) { uVar13 = (uint)Utilities.FUN_29F6C(vTransform.position, oVar9.screen); if (uVar13 < uVar12) { oVar11 = oVar9; uVar12 = uVar13; } } } if (oVar11 != null) { DAT_84 = oVar11; FUN_30B78(); sVar4 = (sbyte)(tags + 1); tags = sVar4; iVar7 = (int)GameManager.FUN_2AC5C(); GameManager.instance.FUN_30CB0(this, iVar7 * 60 >> 15); return(0); } else { iVar7 = (int)GameManager.FUN_2AC5C(); GameManager.instance.FUN_30CB0(this, iVar7 * 60 >> 15); return(0); } } if (sVar4 != 4) { if (sVar4 == 5) { iVar7 = (int)GameManager.FUN_2AC5C(); GameManager.instance.FUN_30CB0(this, iVar7 * 60 >> 15); tags = 0; return(0); } return(0); } FUN_30B78(); goto LAB_2B28; case 8: bVar7 = FUN_32B90((uint)arg2); if (!bVar7) { return(0); } FUN_30C68(); break; } return(0); }
//FUN_A88 (OILFIELD.DLL) public override uint UpdateW(int arg1, int arg2) { int iVar1; short sVar2; uint uVar3; ConfigContainer ccVar3; VigObject oVar4; GlacierSmall ppcVar4; int iVar7; VigObject oVar7; VigTuple2 tVar7; int iVar8; int iVar9; Vector3Int local_10; switch (arg1) { case 1: GameManager.instance.offsetFactor = 2.5f; GameManager.instance.offsetStart = 0; GameManager.instance.angleOffset = 0.4f; Color32 color = LevelManager.instance.DAT_DE0; color.a = 0x80; UIManager.instance.underwater.color = color; tVar7 = GameManager.instance.FUN_2FFD0(1); DAT_80_2 = tVar7; oVar7 = GameManager.instance.FUN_30250(GameManager.instance.DAT_1078, 0x100); oVar4 = GameManager.instance.FUN_4AC1C(0xfe000000, oVar7); GameManager.instance.DAT_1038 = oVar4 != null ? 1 : 0; goto case 2; case 2: GameManager.instance.FUN_34B34(); GameManager.instance.FUN_30CB0(this, 240); iVar1 = 0; while (DAT_A4 <= 16 && iVar1 < 3) { iVar8 = Random.Range(0, 3); ppcVar4 = LevelManager.instance.xobfList[42].ini.FUN_2C17C((ushort)Glacier.DAT_29D0[iVar8], typeof(GlacierSmall), 8) as GlacierSmall; iVar9 = Random.Range(-40, 41); local_10 = new Vector3Int(); local_10.x = iVar9 * DAT_A8 + glacierSpawn.x; local_10.y = glacierSpawn.y; local_10.z = glacierSpawn.z; ppcVar4.screen = local_10; ppcVar4.tags = 1; ppcVar4.id = (short)DAT_B0; ppcVar4.flags |= 0x80; iVar8 = Random.Range(-4, 3); iVar9 = Random.Range(0, 21); ppcVar4.physics1.X = iVar8 * DAT_AC; ppcVar4.physics1.Z = iVar9 * DAT_AC; sVar2 = (short)GameManager.FUN_2AC5C(); ppcVar4.vr.y = sVar2; iVar9 = (int)GameManager.FUN_2AC5C(); GameManager.instance.FUN_30CB0(ppcVar4, (iVar9 * 840 >> 15) + 1800); ppcVar4.FUN_3066C(); DAT_A4++; DAT_B0++; iVar1++; } if (DAT_B0 >= 16) { DAT_B0 = 0; } if (DAT_9C != 0) { return(0); } uVar3 = GameManager.FUN_2AC5C(); iVar7 = 166; if ((iVar7 & 1) != 0) { iVar7 = 161; } oVar4 = GameManager.instance.FUN_31EDC(iVar7); oVar4.flags |= 0x80; oVar4.FUN_3066C(); DAT_9C++; break; case 4: FUN_4F4(DAT_84_2[0]); FUN_4F4(DAT_84_2[1]); break; case 17: GameManager.instance.FUN_17EB8(); return(0); } return(0); }
// Start is called before the first frame update void Awake() { VigTuple2 newTuple = new VigTuple2(type, id, array); GameManager.instance.DAT_10D8.Add(newTuple); }