public void CmdChangeSyncVarsFromMenu(GameObject playerGO, string newName, string newColor) { TankControl player = playerGO.GetComponent <TankControl>(); player.playerColor = (Color)typeof(Color).GetProperty(newColor.ToLowerInvariant()).GetValue(null, null); player.playerName = newName; }
void Start() { dc = GetComponent <DamnageControl>(); tc = GetComponent <TankControl>(); pm = Singleton <ParticleManager> .instance; tm = Singleton <TimeManager> .instance; }
public static Vector3 AutoTarget(TankControl controlledTank, Transform target) { Vector3 pos = target.position - controlledTank.transform.position; Vector3 relativePos = controlledTank.transform.InverseTransformVector(pos); return(relativePos); }
void OnTriggerExit(Collider collider) { if (!PhotonNetwork.isMasterClient) { return; } Debug.Log("Detect Exit: " + collider.name); if (collider.name != "Bottom") { return; } TankControl enemy = collider.transform.parent.parent.GetComponent <TankControl>(); if (enemy.gameObject.tag == "Player") { if (Enemies.Contains(enemy)) { Enemies.Remove(enemy); OneEnemyLeft(); } else { //throw new System.Exception("Collider fault"); } } }
void OnTriggerEnter(Collider collider) { if (!PhotonNetwork.isMasterClient) { return; } Debug.Log("Detect Entered: " + collider.name); //Just detect the tank's bottom, in order to prevent the same tank trigger twice. if (collider.name != "Bottom") { return; } TankControl enemy = collider.transform.parent.parent.GetComponent <TankControl>(); if (enemy.gameObject.tag == "Player") { //Get intruder's flag, if isn't enemy, we don't need to count ZF.Flag flag = enemy.flag; Debug.Log("Intruder Flag:" + flag); if (flag != ownedTeam) { Enemies.Add(enemy); OneEnemyEntered(); } } }
private void Death() { //PhotonNetwork.Destroy(transform.parent.gameObject.GetPhotonView()); TankControl tank = transform.parent.GetComponent <TankControl>(); tank.gameStage = GameStage.dead; GameObject.Find("DNTD_WholeGameManager").GetPhotonView().RPC("RPCPlayerDeathInform", PhotonTargets.MasterClient, tank.playerID); }
public BotSense(GameObject aObject) { control = aObject.GetComponent <TankControl>(); blackboard = aObject.GetComponent <AntAIBlackboard>(); health = aObject.GetComponent <Health>(); vision = aObject.GetComponent <Vision>(); sensor = aObject.GetComponent <Sensor>(); }
// Use this for initialization void Start() { dragObjects = GetComponent <DragObjects>(); tankControl = GetComponent <TankControl>(); pointRot = GetComponent <PointRotate>(); pointState = GameObject.FindGameObjectWithTag("Weapon").GetComponent <PointState>(); pointState.transform.Rotate(0, 0, 0); }
public CanControlTankEvent(TankControl control, bool canControl) { if (control == null) { throw new ArgumentNullException(nameof(control)); } ControlComponent = control; CanControl = canControl; }
public void ApplyBonus() { controls = GetComponent <TankControl>(); stockSpeed = controls.MaxVel; stockHP = controls.EngMaxHP; controls.MaxVel += AdditionalSpeed; controls.EngMaxHP += AdditionalHP; }
void Focus(TankControl tank) { if (tank) { var camRef = tank.transform.Find("CameraReference"); var cannonMark = tank.cannonMark; follow.target = camRef; cswitch.parentAim = cannonMark; } }
void Start() { if (enabled) { Singleton <TankInputPlayer> .Register(this); } if (!tc) { tc = GetComponent <TankControl>(); } }
public void RPCDeadInform(int id) { TankControl deadTank = Enemies.Find(Tank => (Tank.playerID == id)); //The dead tank is not in the occupation area if (deadTank == null) { return; } Enemies.Remove(deadTank); OneEnemyLeft(); }
void Start() { if (!tc) { tc = GetComponent <TankControl>(); } if (!pf) { pf = GetComponent <PathFindingAgent>(); } rigid = GetComponent <Rigidbody>(); StartCoroutine(FindTargetLoop()); }
bool Visible(TankControl tankControl) { Ray ray = new Ray(transform.position, tankControl.transform.position - transform.position); if (Physics.Raycast(ray, (tankControl.transform.position - transform.position).magnitude, 1 << 10)) { return(false); } else { return(true); } }
void Start() { // GameObject marker2 = (GameObject)Instantiate(Marker); //marker2.transform.parent = GameObject.Find("Canvas").transform; //marker2.GetComponent<EnemyMarker>().obj = gameObject; controls = GetComponent <TankControl>(); gun = GetComponent <TankShoot>(); if (TargetPlayer) { FindEnemyByTag(); } }
public void SetTankControl(string xmlFilePath, string ProgName, TankControl tankcontrol, int choice) { GetXMLInformation(xmlFilePath, ProgName, choice); tankcontrol.shootInterval = float.Parse(TermDataDic["shootInterval"]); tankcontrol.turretYSpeed = float.Parse(TermDataDic["turretYSpeed"]); tankcontrol.gunXSpeed = float.Parse(TermDataDic["gunXSpeed"]); tankcontrol.gunXMax = float.Parse(TermDataDic["gunXMax"]); tankcontrol.gunXMin = float.Parse(TermDataDic["gunXMin"]); /*tankcontrol.maxRpm = int.Parse(TermDataDic["maxRpm"]); * tankcontrol.motorTorque = float.Parse(TermDataDic["motorTorque"]); * tankcontrol.brakeTorque = float.Parse(TermDataDic["brakeTorque"]); * tankcontrol.steeringSpeed = float.Parse(TermDataDic["steeringSpeed"]); * tankcontrol.maxSteering = float.Parse(TermDataDic["maxSteering"]); * tankcontrol.steeringBack = float.Parse(TermDataDic["steeringBack"]);*/ }
private void CollectItem(MagnetNode aTankNode, MagnetableNode aItemNode) { TankControl control = aTankNode.entity.GetComponent <TankControl>(); if (control) { switch (aItemNode.Magnetable.kind) { case ItemKind.Gun: if (control.Tower.HasBomb) { // Сбрасываем с бота бомбу если есть. DropItem(ItemKind.Bomb, aTankNode.entity.Position); control.Tower.HasBomb = false; } control.Tower.HasGun = true; break; case ItemKind.Bomb: if (control.Tower.HasGun) { // Сбрасываем с бота пушку если есть. DropItem(ItemKind.Gun, aTankNode.entity.Position); control.Tower.HasGun = false; } if (control.Tower.HasAmmo) { // Сбрасываем с бота патроны если есть. DropItem(ItemKind.Ammo, aTankNode.entity.Position); control.Tower.AmmoCount = 0; } control.Tower.HasBomb = true; break; case ItemKind.Ammo: control.Tower.AmmoCount = 3; break; case ItemKind.Heal: aTankNode.entity.GetComponent <Health>().HP += 1.0f; break; } } }
public bool Predict(float stepT, int maxIterations, out TankControl tc, out Vector3 endPoint) { float speed = shell.GetComponent <ShellControl>().speed; float gravity = shell.GetComponent <CenterGravity>().multiplier *CenterGravity.g; var startPoint = cannonMark.position; var velocity = cannonMark.forward * speed; for (int i = 0; i < maxIterations; i++) { Vector3 est = startPoint + stepT * velocity; Vector3 averageG = (RelativeSystemControl.DownAt(startPoint) + RelativeSystemControl.DownAt(est)).normalized * gravity; Vector3 estDescend = averageG * stepT * stepT / 2f; Vector3 estDv = averageG * stepT; est += estDescend; Ray ray = new Ray(startPoint, est - startPoint); RaycastHit hit; if (Physics.Raycast(ray, out hit, (est - startPoint).magnitude, (1 << 10) + (1 << 13))) { Debug.DrawLine(startPoint, hit.point, Color.cyan); if (hit.collider.gameObject.layer == 10) {//terrain tc = null; endPoint = hit.point; return(false); } else if (hit.collider.gameObject.layer == 13) {//tank tc = FindTankControl(hit.collider.transform); endPoint = hit.point; return(true); } } else { Debug.DrawLine(startPoint, est); startPoint = est; velocity += estDv; } } tc = null; endPoint = startPoint; return(false); }
void Awake() { hp = Player.GetComponent <HealthManager>(); controls = Player.GetComponent <TankControl>(); PlayerName.text = hp.Name; if (Player.GetComponent <PhotonView>().owner.GetTeam() == PunTeams.Team.red) { PlayerName.color = Color.red; PlayerHp.color = Color.red; } else if (Player.GetComponent <PhotonView>().owner.GetTeam() == PunTeams.Team.blue) { PlayerName.color = Color.blue; PlayerHp.color = Color.blue; } }
IEnumerator FindTargetLoop() { while (true) { yield return(0); if (!attackTarget || attackTarget.isDestroyed || !Visible(attackTarget) || refindTimer < 0) { refindTimer = 10; attackTarget = FindTankTarget(); if (attackTarget == null) { yield return(new WaitForSeconds(2)); captureTarget = FindPointTarget(); } } } }
public static TankControl FindTankControl(Transform child) { TankControl tc = child.GetComponent <TankControl>(); if (tc) { return(tc); } else { if (child.parent) { return(FindTankControl(child.parent)); } else { return(null); } } }
public override void OnServerAddPlayer(NetworkConnection conn) { base.OnServerAddPlayer(conn); foreach (var o in conn.clientOwnedObjects) { if (o.gameObject.tag == "Player") { Debug.Log("are the tank renderers found?"); Debug.Log(o.gameObject.transform.Find("TankRenderers")); Debug.Log("Found a player in the client"); string newName = PlayerPrefs.GetString("playerName"); string newColor = PlayerPrefs.GetString("playerColor"); Debug.Log("Preferences values are: " + newName + " , " + newColor); TankControl t = o.gameObject.GetComponent <TankControl>(); t.playerName = newName; t.playerColor = (Color)typeof(Color).GetProperty(newColor.ToLowerInvariant()).GetValue(null, null); } } }
TankControl FindTankTarget() { float minDistance = 10000; TankControl min = null; foreach (var tankControl in Singleton <TankManager> .instance.tanks) { var teamMark = tankControl.GetComponent <TeamMark>(); if (teamMark.team != GetComponent <TeamMark>().team) { if (!tankControl.isDestroyed && Visible(tankControl)) { var distance = (tankControl.transform.position - transform.position).magnitude; if (distance < minDistance) { minDistance = distance; min = tankControl; } } } } return(min); }
void Awake() { this.gameObject.layer = 9; // Layer9 >> for wheels. thisRigidbody = GetComponent <Rigidbody> (); // Set direction. if (transform.localPosition.y > 0.0f) { isLeft = true; } else { isLeft = false; } // Get initial rotation. thisTransform = transform; parentTransform = thisTransform.parent; angles = thisTransform.localEulerAngles; // Find controlScript. tankControl = parentTransform.parent.parent.GetComponent <TankControl>(); // Set maxAngVelocity. float radius = GetComponent <SphereCollider> ().radius; maxAngVelocity = Mathf.Deg2Rad * ((tankControl.maxSpeed / (2.0f * Mathf.PI * radius)) * 360.0f); }
void Awake() { tBody = GetComponent <Rigidbody>(); controls = GetComponent <TankControl>(); hpManager = GetComponent <HealthManager>(); }
public StateShot(GameObject aObject) : base("Shot") { _control = aObject.GetComponent <TankControl>(); }
public StateMove(GameObject aObject, string aStateName) : base(aStateName) { _control = aObject.GetComponent <TankControl>(); _blackboard = aObject.GetComponent <AntAIBlackboard>(); _magnet = aObject.GetComponent <Magnet>(); }
float timeSvrRpcLast = 0; //когда последний раз сервер слал обновление картинки #endregion Fields #region Methods // Use this for initialization void Start() { tankControl = GetComponent<TankControl>(); }
public bool CanSee(TankControl t1, TankControl t2) { return(CanSee(t1.tankInformation.x, t1.tankInformation.z, t1.tankInformation.rotation, t2.tankInformation.x, t2.tankInformation.z)); }
public StateDetonateBomb(GameObject aObject) : base("DetonateBomb") { _control = aObject.GetComponent <TankControl>(); }