private static void Prefix(pScoutAntennaDetectionSpawnData spawnData, ScoutAntennaDetection __instance) { if (spawnData.owner.TryGet(out var owner)) { ScoutAntennaSpawnEvent.OnDetectionSpawn?.Invoke(owner, __instance); } }
private void OnAntennaSpawn(EnemyAgent agent, ScoutAntennaDetection detection, ScoutAntenna ant) { ant.m_colorDefault = NormalColor; ant.m_colorDetection = DetectColor; ant.m_moveInTime = RetractTime.GetAbsValue(ant.m_moveInTime); ant.m_moveInTimeDetected = RetractTimeDetected.GetAbsValue(ant.m_moveInTimeDetected); ant.m_maxDistance = Distance.GetAbsValue(ant.m_maxDistance); ant.m_stepDistance = StepDistance.GetAbsValue(ant.m_stepDistance); }
private void OnDetectionSpawn(EnemyAgent agent, ScoutAntennaDetection detection) { detection.m_tendrilCount = TendrilCount.GetAbsValue(detection.m_tendrilCount); detection.m_dirAngOffset = TendrilAngleOffset; detection.m_dirAngStep = TendrilStepAngle.GetAbsValue(detection.m_dirAngStep); detection.m_dirAngSpread_Min = TendrilMinYSpread.GetAbsValue(detection.m_dirAngSpread_Min); detection.m_dirAngSpread_Max = TendrilMaxYSpread.GetAbsValue(detection.m_dirAngSpread_Max); detection.m_timerWaitOut = TendrilOutTimer.GetAbsValue(detection.m_timerWaitOut); }
private void SpawnTendrils(Vector3 pos, Vector3 dir) { ScoutAntennaDetection scout = new ScoutAntennaDetection(); try { scout.SpawnTendrils(Vector3.zero, Vector3.zero); } catch { } var m_myAntennaPrefab = UnityEngine.Object.Instantiate <GameObject>(ScoutAntennaDetection.s_antennaePrefab); MeshRenderer component = m_myAntennaPrefab.GetComponent <MeshRenderer>(); var m_antennaMaterial = component.material; }
private static void Postfix(ScoutAntennaDetection detection, ScoutAntenna __instance) { ScoutAntennaSpawnEvent.OnAntennaSpawn?.Invoke(detection.m_owner, detection, __instance); }