private void resetTransform() { this.attachedPlayer.transform.position = this.gameObject.transform.position; if (!GlobalSettings.SinglePlayer) { GameObject mothership = null; if (this.attachedPlayer.gameObject.layer == (int)Layers.Team1Actor) { mothership = GameObject.Find(GlobalSettings.Team2MothershipName); } else if (this.attachedPlayer.gameObject.layer == (int)Layers.Team2Actor) { mothership = GameObject.Find(GlobalSettings.Team1MothershipName); } else { throw new Exception("Attached player ship of spawn point has invalid layer!"); } this.attachedPlayer.transform.LookAt(mothership.transform); } ObjectTransformer transformer = this.attachedPlayer.GetComponent <ObjectTransformer>(); transformer.Translation = Vector3.zero; ShipControl shipControl = this.attachedPlayer.GetComponent <ShipControl>(); shipControl.CurrentSpeed = 0; }
public static T CreateInstance <T>(this Table table, IScenarioContext context) { var output = table.CreateInstance <T>(); ObjectTransformer.Transform(output, context); return(output); }
private void CreatePredictionMarker(GameObject npc) { ObjectTransformer transformer = npc.GetComponent <ObjectTransformer>(); Shooter shooter = GunSwitcher.CurrentGuns[0].GetComponent <Shooter>(); ProjectileController controller = shooter.Projectile.gameObject.GetComponent <ProjectileController>(); Vector3 predictedPosition = PredictPosition.Predict(npc.transform.position, transformer.WorldTranslationDirection * transformer.TranslationSpeed, GunSwitcher.CurrentGuns[0].transform.position, controller.FlyControl.DesiredSpeed); Vector3 predictedScreenPosition = Camera.WorldToScreenPoint(predictedPosition); predictedScreenPosition = ClampToScreen(predictedScreenPosition); //if (predictedScreenPosition.z < 0) // Crosshair.ResetDistance(); //else Crosshair.CurrentDistance = predictedScreenPosition.z; GUI.Label(new Rect(predictedScreenPosition.x - PredictedPositionTexture.width / 2f, predictedScreenPosition.y - PredictedPositionTexture.height / 2f, PredictedPositionTexture.width, PredictedPositionTexture.height), new GUIContent(PredictedPositionTexture)); }
/// <summary> /// Update Function, allow for item selection, unselection & drag transformation (depending on the Current Tool). /// </summary> private void Update() { // Select Object if (Input.GetMouseButtonDown(0)) { if (Physics.Raycast(Camera.main.transform.position, Camera.main.ScreenPointToRay(Input.mousePosition).direction, out hit)) { if (hit.collider.gameObject == gameObject) { selectedInstance = this; } } } // Drag Instance if (selectedInstance == this) { switch (panel.tool) { // Translation case BuilderMenuPanel.CurrentTool.TRANSLATE: translateDistance = Mathf.Max(translateDistance + Input.mouseScrollDelta.y * mouseScrollSpeed, minimalDistance); Ray look = Camera.main.ScreenPointToRay(Input.mousePosition); transform.position = look.GetPoint(translateDistance / look.direction.z); break; // Rotation case BuilderMenuPanel.CurrentTool.ROTATE: transform.localRotation = Quaternion.AngleAxis(-Input.GetAxis("Mouse X") * mouseRotateSpeed, Camera.main.transform.up) * Quaternion.AngleAxis(Input.GetAxis("Mouse Y") * mouseRotateSpeed, Camera.main.transform.right) * transform.localRotation; break; // Scaling case BuilderMenuPanel.CurrentTool.SCALE: Vector3 previousScale = transform.localScale; transform.localScale *= 1 + Input.GetAxis("Mouse X") * mouseScaleSpeed; if (transform.lossyScale.x < minimalScale) { transform.localScale = previousScale; } break; default: break; } } // Unselect Object if (Input.GetMouseButtonUp(0)) { if (selectedInstance != null) { selectedInstance = null; } } }
private static void CheckVerificationForValue(object value, Type propertyType) { Contract.Requires <ArgumentException>( value == null || ObjectTransformer.CheckIEnumerableInterface(value.GetType()) || value.GetType().IsEnum || CanAndShouldBeConvertedToEnum(value, propertyType) || CanAndShouldBeConvertedToEnumForNullable(value, propertyType) , "value"); }
private void ObjectVelocityRPC(NetworkViewID objectOwner, int objectID, Vector3 translation, Vector3 rotation) { // Debug.Log("Player ship velocity received."); GameObject obj = base.GetObject(objectOwner, objectID); ObjectTransformer objectTransform = obj.GetComponent <ObjectTransformer>(); objectTransform.Translation = translation; objectTransform.Rotation = rotation; }
/// <summary> /// Constructor /// </summary> /// <param name="label">Object label</param> public FormObjectTransformer(IObjectLabel label) : this() { pCombo = panelCenter; this.label = label; Text = label.Name; transformer = label.Object as ObjectTransformer; createCombo(); fill(); select(); }
void Start() { transformer = gameObject.GetComponent <ObjectTransformer>(); // Remember the camera position in the editor. baseCameraPosition = Camera.transform.localPosition; baseCameraRotation = Camera.transform.localRotation; currentSpeed = 0; screenCenter = new Vector3(Screen.width / 2, Screen.height / 2); smoothingGhostMouse = Mouse.ScreenPosition; }
// Use this for initialization void Start() { float circumference = radius * Mathf.PI * 2; angularVelocity = (speed / circumference) * 360; this.objTransformer = this.GetComponent<ObjectTransformer>(); this.objTransformer.TranslationDirection = Vector3.forward; this.objTransformer.TranslationSpeed = this.speed; if (this.gameObject.layer == (int)Layers.Team1Actor) this.objTransformer.Rotation = new Vector3(0, -angularVelocity, 0); else if (this.gameObject.layer == (int)Layers.Team2Actor) this.objTransformer.Rotation = new Vector3(0, angularVelocity, 0); }
public GameObject Reload() { if (GameTable) { Destroy(GameTable); } RemainingGems = 0; GameTable = Instantiate(Table); ActivePlayer = Player.CreatePlayer(GameTable.transform, new Vector2(0, 0)); Transformer = GameTable.GetComponent <ObjectTransformer>(); Move.isOn = Transformer.EnableMovement; Rotate.isOn = Transformer.EnableRotation; Scale.isOn = Transformer.EnableScaling; return(GameTable); }
public static bool Push(Account account, out string errMsg) { bool result = false; errMsg = string.Empty; ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost"); IDatabase db = redis.GetDatabase(); var redisAccount = ObjectTransformer <Account> .SerializeType(account, out errMsg); if (db.StringSet(account.Number, redisAccount, new TimeSpan(0, 0, 2))) { var val = db.StringGet(account.Number); result = true; Console.WriteLine(val); } return(result); }
public static Account Pull(string key, out string errMsg) { Account result = null; errMsg = string.Empty; try { ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost"); IDatabase db = redis.GetDatabase(); var val = db.StringGet(key); Console.WriteLine(val); result = ObjectTransformer <Account> .DeserializeType(val.ToString(), out errMsg); } catch (Exception e) { errMsg = e.Message; } return(result); }
public void Transform_should_transform_property_using_auto_generated_key_when_key_is_not_defined() { //Arrange const string admin = "ADMIN"; var model = new Customer() { Username = admin }; var expectedGeneratedKey = ObjectTransformer.GeneratePropertyKey(nameof(Customer), nameof(Customer.Username)); //Act ObjectTransformer.Transform(model, fakeContext); //Assert model.Username.Should().NotBe(admin).And.Should().NotBeNull(); var property = valueManager.GetTransformedProperties().First(a => a.Key == expectedGeneratedKey); property.OriginalValue.Should().Be(admin); property.TransformedValue.Should().Be(model.Username); }
public void Transform_should_transform_object_using_specified_key_when_key_is_passed_in() { //Arrange const string key = "NEWCUSTOMER"; const string admin = "ADMIN"; var model = new Customer() { Username = admin }; var expectedGeneratedKey = ObjectTransformer.GeneratePropertyKey(key, nameof(Customer.Username)); //Act ObjectTransformer.Transform(model, key, fakeContext); //Assert model.Username.Should().NotBe(admin).And.Should().NotBeNull(); var property = valueManager.GetTransformedProperties().First(a => a.Key == expectedGeneratedKey); property.OriginalValue.Should().Be(admin); property.TransformedValue.Should().Be(model.Username); }
public void Transform_should_transform_properties_based_on_their_type_when_FieldType_is_set_to_auto() { //Arrange const string admin = "ADMIN"; const long referralId = 10; const int departmentId = 5; var locationId = Guid.NewGuid(); var customer = new Customer() { Username = admin, RefferalId = referralId, DepartmentId = departmentId, LocationId = locationId }; //Act ObjectTransformer.Transform(customer, this.fakeContext); //Assert customer.Username.Should().NotBe(admin, "because 'string' properties should change automatically"); customer.RefferalId.Should().NotBe(referralId, "because 'long' properties should change automatically"); customer.DepartmentId.Should().NotBe(departmentId, "because 'int' properties should change automatically"); customer.LocationId.Should().NotBe(locationId, "because 'Guid' properties should change automatically"); }
void OnTriggerStay(Collider Object) { // Checking for the player tag is only for no crashing if (isOpponent(Object)) { float speed = 0; if (Object.gameObject.tag == "Npc") { ObjectTransformer d = Object.GetComponent <ObjectTransformer>(); speed = d.TranslationSpeed; } else if (Object.gameObject.tag == "Player") { ShipControl s = Object.GetComponent <ShipControl>(); speed = s.CurrentSpeed; } //Debug.Log(speed); // Check the predicted position given the current flying velocity Vector3 targetPosM = PredictPosition.Predict(Object.transform.position, speed * Object.transform.forward, top.position, shootL.ProjectileSpeed); Vector3 targetPosL = PredictPosition.Predict(Object.transform.position, speed * Object.transform.forward, muzzleLeft.position, shootL.ProjectileSpeed); Vector3 targetPosR = PredictPosition.Predict(Object.transform.position, speed * Object.transform.forward, muzzleRight.position, shootR.ProjectileSpeed); // TODO: Only get random target sometimes targetPosM = GetRandomTarget(targetPosM, 1); //targetPosL = GetRandomTarget(targetPosL, 1); //targetPosR = GetRandomTarget(targetPosR, 1); Vector3 lookPos = targetPosM - top.position; lookPos.y = 0; Quaternion rotation = Quaternion.LookRotation(lookPos); //Quaternion b = Quaternion.Euler(0, this.transform.eulerAngles.y, 0); Vector3 eul = rotation.eulerAngles; eul.y -= this.transform.eulerAngles.y; Quaternion rotation2 = Quaternion.Euler(eul.x, eul.y, eul.z); top.localRotation = Quaternion.Slerp(top.transform.rotation, rotation2, Time.deltaTime * 100); Vector3 objPos = Object.transform.position; float angle = getXrotation(muzzleLeft.position, targetPosL); muzzleLeft.localEulerAngles = new Vector3(angle * Mathf.Rad2Deg, -90, 0); angle = getXrotation(muzzleRight.position, targetPosR); muzzleRight.localEulerAngles = new Vector3(angle * Mathf.Rad2Deg, -90, 0); float diff = (Object.transform.position - top.position).magnitude; // Only shoot in case of in shoot radius if (diff < shootDistance) { shootL.Shoot(); shootR.Shoot(); } } }
//public bool SuppressVelocitySync { get; set; } protected override void Start() { base.Start (); this.objectTransformer = this.GetComponent<ObjectTransformer>(); }
void Start() { transformer = gameObject.GetComponent<ObjectTransformer>(); // Remember the camera position in the editor. baseCameraPosition = Camera.transform.localPosition; baseCameraRotation = Camera.transform.localRotation; currentSpeed = 0; screenCenter = new Vector3(Screen.width / 2, Screen.height / 2); smoothingGhostMouse = Mouse.ScreenPosition; }