// Use this for initialization void Start() { collisionBody = GetComponent <Rigidbody2D>(); animator = GetComponent <Animator>(); playerUIManager = GetComponent <PlayerUIManager>(); shieldManager = shields.GetComponent <ShieldManager>(); }
void FixedUpdate() { Vector3 velocity = Rb.velocity; float raycastDistance = velocity.magnitude * Time.fixedDeltaTime; //De esta forma averiguo donde estaría el laser en el siguiente frame RaycastHit hitInfo; if (Physics.Raycast(transform.position, velocity.normalized, out hitInfo, raycastDistance)) { //LifeManager lifeManager = hitInfo.transform.GetComponentInParent<LifeManager>(); //if (lifeManager) lifeManager.RemoveLife(); ShieldManager shieldManager = hitInfo.transform.GetComponentInParent <ShieldManager>(); if (shieldManager) { shieldManager.DamageShield(Damage); } GameObject explosionPrefab = ProjectilePool.GetObjectFromPool("ProjectileExplosion"); if (explosionPrefab) { explosionPrefab.transform.position = transform.position; ParticleSystem[] ps = explosionPrefab.GetComponentsInChildren <ParticleSystem>(); for (int i = 0; i < ps.Length; ++i) { ps[i].Play(); } StartCoroutine(ReturnParticle(explosionPrefab)); } Return(); } }
static IEnumerable <int> AddShieldCheck(IEnumerable <int> results, IntVec3 origin, IntVec3 target, Map map) { if (Mod.Settings.EnableAIVerbFindShotLine) { var fields = ShieldManager.For(map).Fields.ToList(); foreach (var cellIndex in results) { if (!IsCellShielded(origin, cellIndex, map, fields)) { yield return(cellIndex); } else { yield break; } } } else { foreach (var cellIndex in results) { yield return(cellIndex); } } }
protected override void Start() { base.Start(); _transform = transform; var drone = ((Drone) FindObjectOfType(typeof (Drone))); ShieldManager = drone.shieldManager; }
void Start() { // Initial weapon selection spells = new List <SpellType> { digger, damage, telekin }; spellIndex = 0; if (!isLocalPlayer) { return; } resourceManager = GetComponent <ResourceManager>(); player = GetComponent <PlayerController>(); shieldManager = GetComponent <ShieldManager>(); idealLookSensitivity = player.lookSensitivityBase; idealPivotLocalPosition = cameraPivot.localPosition; for (int i = 0; i < spells.Count; i++) { spells[i].equippedIndex = i; } }
private static float CalculateShieldPreference(float score, Map map, IntVec3 start, IntVec3 end) { if (!Mod.Settings.EnableAICastPositionFinder) { return(score); } var shieldManager = ShieldManager.For(map); var startAdjusted = PositionUtility.ToVector3(start); var endAdjusted = PositionUtility.ToVector3(end); var targetProtected = shieldManager.Query(map).IsActive().Intersects(startAdjusted, endAdjusted).Get().ToList(); var shooterProtected = shieldManager.Query(map).IsActive().Intersects(endAdjusted, startAdjusted).Get().ToList(); var shooterUnderShield = shieldManager.Query(map).IsActive().Intersects(startAdjusted).Get().ToList(); if (shooterProtected.Any()) { score *= 1 + shooterProtected.Count; } if (shooterUnderShield.Any()) { score *= 1 + shooterUnderShield.Count; } if (targetProtected.Any()) { score /= 1 + targetProtected.Count; } return(score); }
protected virtual HashSet <Thing> GetOffenders() { return(Find.Maps .SelectMany(map => ShieldManager.For(map).AllEmitters) .Where(IsOffender) .Select(shield => shield.Thing) .ToHashSet()); }
private void Awake() { shieldManager = GetComponent <ShieldManager>(); shieldManager.OnShieldActivation += UpdateShieldState; shieldIsBeingUsed = false; MakeThisObjectSingleton(); DontDestroyOnLoad(gameObject); }
private void use() { ShieldManager.ActivateShield(); Invoke("DeactivateShield", 30); sound.Play(); shieldMesh.SetActive(false); Destroy(gameObject, 31); }
// Start is called before the first frame update void Start() { mPlayerShieldManager = mPlayer.GetComponent <ShieldManager>(); ShieldManager.EventShieldCooldownStarted.AddListener(StartShieldCooldown); GameManagerSC.EventGameStarted.AddListener(OnEventStartGame); mInitialAlphaBar = coolDownImageBar.color.a; }
/// <summary> /// NETWORKED: Creates the shield. /// </summary> /// <returns>The shield.</returns> /// <param name="element">Element.</param> //Create a shield with element pool from player when player demands it public ShieldManager CreateShield(ElementManager element){ if (element != null) { ShieldManager shield = new ShieldManager(); shield.id = shieldId; shieldId++; ElementManager basis = element; GameObject g; PhotonView currentPhotonView; ShieldObserver shieldObserver; if (shieldBook.TryGetValue (basis.elementType.ToString() + "Shield", out g)){ // CLEANUPCOMPONENTS // ShieldObserver[] so = g.GetComponents<ShieldObserver>(); // for (int i = 0; i < so.Length; i++) { // DestroyImmediate(so[i], true); // } // // PhotonView[] pv = g.GetComponents<PhotonView>(); // for (int i = 0; i < pv.Length; i++) { // DestroyImmediate (pv[i], true); // } currentPhotonView = g.GetComponent<PhotonView>(); if(currentPhotonView == null){ currentPhotonView = g.AddComponent<PhotonView>(); } shieldObserver = g.GetComponent<ShieldObserver>(); if (shieldObserver == null){ shieldObserver = g.AddComponent<ShieldObserver>(); } // Debug.Log("currentPhotonView Count: " + currentPhotonView.ObservedComponents.Count); currentPhotonView.ObservedComponents.Clear(); if(currentPhotonView.ObservedComponents!=null && currentPhotonView.ObservedComponents.Count==0) { currentPhotonView.ObservedComponents.Add(shieldObserver); // currentPhotonView.ObservedComponents[0] = shieldObserver; // currentPhotonView.ObservedComponents. } // Instantiate on network (call current element shield from within shield folder) shield.instance = (GameObject) PhotonNetwork.Instantiate( "Shields/"+g.name, basis.instance.transform.position, transform.rotation ,0); shield.elementType = basis.elementType; shield.Setup(); shield.shieldElement.elementType = basis.elementType; } return shield; } else { //buzz sound return null; } }
static void Prefix(Character __instance, HitData hit) { if (__instance != Player.m_localPlayer || EquipScript.getLeft() != EquipType.Shield || !VHVRConfig.UseVrControls()) { return; } ShieldManager.setBlocking(hit.m_dir); }
static void Postfix(Character __instance) { if (__instance != Player.m_localPlayer || EquipScript.getLeft() != EquipType.Shield || !VHVRConfig.UseVrControls()) { return; } ShieldManager.resetBlocking(); }
public override bool BackwardAction(TimeMachine timeMachine, GameState.GameState state) { if (EventSuccess) { ShieldManager shieldManager = state.GetEntity(GetEventData().SourceId).GetComponent <ShieldManager>(); shieldManager.ToggleShield(); } return(EventSuccess); }
static void Postfix(Map ___map) { if (___map != last) { last = ___map; manager = ShieldManager.For(___map); } manager?.DrawShields(Find.CameraDriver.CurrentViewRect, ___map); }
private void Awake() { shieldManager = GetComponent <ShieldManager>(); shieldManager.OnShieldActivation += UpdateShieldState; shieldIsBeingUsed = false; SceneManager.sceneLoaded += GetFlashingDamageIndicatorReference; MakeThisObjectSingleton(); DontDestroyOnLoad(gameObject); }
/// <summary> /// Outpost constructor /// </summary> /// <param name="outpostStartPosition">The position of the outpost</param> public Outpost(string id, RftVector outpostStartPosition) { this._id = id; this.Position = outpostStartPosition; _subLauncher = new SubLauncher(); this._outpostOwner = null; this._specialistManager = new SpecialistManager(100); _shieldManager = new ShieldManager(10); }
static void Postfix(Map ___map) { if (___map != last) { last = ___map; manager = ___map.GetComponent <ShieldManager>(); } manager?.DrawShields(Find.CameraDriver.CurrentViewRect); }
public static void AssociateShieldManager(Map __result, Map origin, IntVec3 playerStartSpot) { var manager = ShieldManager.For(origin, false); if (manager != null) { manager.AssociateWithMap(__result); ShieldManager.Register(__result, manager); } }
/// <summary> /// Outpost constructor /// </summary> /// <param name="outpostStartPosition">The outpost position</param> /// <param name="outpostOwner">The outpost's owner</param> /// <param name="type">The type of outpost to create</param> public Outpost(string id, RftVector outpostStartPosition, Player outpostOwner, OutpostType type) { this._id = id; this.Position = outpostStartPosition; _subLauncher = outpostOwner == null ? new SubLauncher() : new SubLauncher(40); this._outpostOwner = outpostOwner; this._specialistManager = new SpecialistManager(100); _shieldManager = new ShieldManager(10); this._type = type; }
// Use this for initialization void Awake() { _player = FindObjectOfType <Player>(); _playerAutoAim = _player.GetComponent <AutoAim>(); _playerLaser = _player.GetComponent <LaserWeapon>(); _playerMissile = _player.GetComponent <MissileWeapon>(); _playerShieldManager = _player.GetComponent <ShieldManager>(); InvokeRepeating("WaitingCom", 0, 1); }
static bool Prefix(Humanoid __instance, ref bool __result) { if (__instance != Player.m_localPlayer || EquipScript.getLeft() != EquipType.Shield || !VHVRConfig.UseVrControls()) { return(true); } __result = ShieldManager.isBlocking(); return(false); }
private void Awake() { characterMovement_ = GetComponent <CharacterMovement>(); shieldMovement_ = GetComponent <ShieldMovement>(); shieldManager_ = GetComponent <ShieldManager>(); shieldBash_ = GetComponent <ShieldBash>(); shieldThrow_ = GetComponent <ShieldThrow>(); shieldWheel_ = transform.GetChild(2).GetComponent <ShieldSelectionWheel>(); collider_ = GetComponent <Collider2D>(); health_ = GetComponent <Health>(); }
/// <summary> /// Awake is called when the script is first loaded. /// </summary> void Awake() { // Simple Singleton if (Instance == null) { Instance = this; } else { Destroy(gameObject); } }
void Start () { EnemyDefenseID = 0; DefenseID = 0; L_Shield = null; M_Shield = null; R_Shield = null; EL_Shield = null; EM_Shield = null; ER_Shield = null; ShieldManager.Instance = this; HidePosition(); }
/// <summary> /// Returns true if something was hit, and therefore the movement needs to stop /// </summary> /// <param name="startPosition"></param> /// <param name="endPos"></param> /// <returns></returns> public bool TryToMoveFromTo(Vector3 startPosition, Vector3 endPos) { Vector3 direction = endPos - startPosition; float distance = direction.magnitude; direction.Normalize(); startPosition += myCollider.center; endPos += myCollider.center; RaycastHit hit = new RaycastHit(); if (Physics.SphereCast(startPosition, myCollider.radius, direction, out hit, distance, GetTrajectoryCheckLayerMask)) { if (hit.collider.gameObject.layer != 10 || blockedByEnemies) { // test bouclier if (hit.collider.gameObject.layer == 12) { Transform hitParent = hit.transform.parent; if (hitParent != null) { ShieldManager objShielManager = hit.transform.parent.GetComponent <ShieldManager>(); if (objShielManager != null) { if (objShielManager.myObjParent == lastObjTouch) { return(false); } } } } HandleCollision(hit, direction); return(true); } else { DamageableEntity hitDamageableEntity = hit.collider.GetComponent <DamageableEntity>(); if (hitDamageableEntity != null) { hitDamageableEntity.ReceiveDamage(damageTag, new DamagesParameters(currentDamagesAmount, numberOfStunedTurns)); lastObjTouch = hitDamageableEntity.gameObject; } } } return(false); }
public void Setup() { _movement = m_Instance.GetComponent <PlayerMovement>(); _playerWeaponManager = m_Instance.GetComponent <PlayerWeaponManager>(); _schildManager = m_Instance.GetComponentInChildren <ShieldManager>(); _movement.playerNum = playerNum; _schildManager.playerNum = playerNum; _playerWeaponManager.playerNum = playerNum; m_Instance.name = "Palyer " + playerNum; SetPlayerMatColor(); }
static void Prefix(Humanoid __instance, ref HitData hit, ref float ___m_blockTimer) { if (__instance != Player.m_localPlayer || EquipScript.getLeft() != EquipType.Shield || !VHVRConfig.UseVrControls()) { return; } ___m_blockTimer = ShieldManager.blockTimer; if (ShieldManager.isBlocking()) { hit.m_dir = -__instance.transform.forward; } else { hit.m_dir = __instance.transform.forward; } }
public override bool ForwardAction(TimeMachine timeMachine, GameState.GameState state) { ShieldManager shieldManager = state.GetEntity(GetEventData().SourceId).GetComponent <ShieldManager>(); DrillerCarrier drillerCarrier = state.GetEntity(GetEventData().SourceId).GetComponent <DrillerCarrier>(); if (shieldManager != null && !drillerCarrier.GetOwner().IsEliminated()) { shieldManager.ToggleShield(); EventSuccess = true; } else { EventSuccess = false; } return(EventSuccess); }
void FixedUpdate() { Vector3 velocity = Rb.velocity; float raycastDistance = velocity.magnitude * Time.fixedDeltaTime; //De esta forma averiguo donde estaría el laser en el siguiente frame RaycastHit hitInfo; if (Physics.Raycast(transform.position, velocity.normalized, out hitInfo, raycastDistance)) { //LifeManager lifeManager = hitInfo.transform.GetComponentInParent<LifeManager>(); //if (lifeManager) lifeManager.RemoveLife(); ShieldManager shieldManager = hitInfo.transform.GetComponentInParent <ShieldManager>(); if (shieldManager) { shieldManager.DamageShield(Damage); } Return(); } }
static void Postfix(Humanoid __instance, bool __result, ref float ___m_blockTimer) { if (__instance != Player.m_localPlayer || EquipScript.getLeft() != EquipType.Shield || !VHVRConfig.UseVrControls()) { return; } if (__result) { if (___m_blockTimer < ShieldManager.blockTimerTolerance) { VRPlayer.leftHand.hapticAction.Execute(0, 0.4f, 100, 0.5f, SteamVR_Input_Sources.LeftHand); VRPlayer.leftHand.hapticAction.Execute(0.4f, 0.7f, 100, 0.2f, SteamVR_Input_Sources.LeftHand); } else { VRPlayer.leftHand.hapticAction.Execute(0, 0.2f, 100, 0.5f, SteamVR_Input_Sources.LeftHand); } ShieldManager.block(); } }
private void Awake() { shieldManager_ = GetComponent <ShieldManager>(); thrownShields_ = new List <Transform>(); }
//Create a shield with element pool from player when player demands it public ShieldManager CreateShield2(ElementManager element){ if (element != null) { ShieldManager shield = new ShieldManager(); ElementManager basis = element; GameObject g; if (shieldBook.TryGetValue (basis.elementType.ToString() + "Shield", out g)){ shield.instance = (GameObject)Instantiate(g, basis.instance.transform.position, transform.rotation); shield.elementType = basis.elementType; shield.Setup(); shield.shieldElement.elementType = basis.elementType; } return shield; } else { //buzz sound return null; } }
// Update is called once per frame void Update() { _playerLifeBar.fillAmount = _player.LifePoints / _player.GetMaxLife(); _playerShieldBar.fillAmount = _playerShieldManager.CurrentShield / _playerShieldManager.MaxShield; _playerSpeedBar.fillAmount = _player.Speed / _player.MaxSpeed; _laserImage.fillAmount = _playerLaser.CurrentOverHeat / _playerLaser.MaxOverHeat; switch (_playerMissile.CurrentAmmo) { case 0: for (int i = 0; i < _missileImage.Length; ++i) { _missileImage[i].enabled = false; } break; case 1: for (int i = 0; i < _missileImage.Length; ++i) { _missileImage[i].enabled = false; } _missileImage[0].enabled = true; break; case 2: for (int i = 0; i < _missileImage.Length - 1; ++i) { _missileImage[i].enabled = true; } _missileImage[2].enabled = false; break; case 3: for (int i = 0; i < _missileImage.Length; ++i) { _missileImage[i].enabled = true; } break; } _target = _playerAutoAim.GetTarget(); if (_target) { LifeManager targetLife = _target.GetComponent <LifeManager>(); if (targetLife) { _targetLifeBar.fillAmount = targetLife.LifePoints / targetLife.GetMaxLife(); } ShieldManager targetShield = _target.GetComponent <ShieldManager>(); if (targetShield) { _targetShieldBar.fillAmount = targetShield.CurrentShield / targetShield.MaxShield; } } else { _targetLifeBar.fillAmount = 0; _targetShieldBar.fillAmount = 0; } if (!_bWaiting && Time.time > _textStart + _textWait) { InvokeRepeating("WaitingCom", 0, 1); } }