public async void CreatePrimitive(PrimitiveType type) #endif { var go = GameObject.CreatePrimitive(type); go.transform.position = new UnityEngine.Vector3(defaultPosition.x, defaultPosition.y, defaultPosition.z); var draggableHandComponent = go.AddComponent <HandDraggable>(); draggableHandComponent.RotationMode = HandDraggable.RotationModeEnum.LockObjectRotation; var primitive = new UnityPrimitive(); primitive.Type = (int)type; primitive.Vector = new MixedRealityData.Models.Vector3() { X = defaultPosition.x, Y = defaultPosition.y, Z = defaultPosition.z }; #if UNITY_EDITOR UnityPrimitive prim = ObjectsAPI.CreateObject(primitive); #else UnityPrimitive prim = await ObjectsAPI.CreateObject(primitive); #endif var storedObjectComponent = go.AddComponent <StoredObject>(); storedObjectComponent.storedObject = prim; }
public override bool Attack(DirectionVector direction) { if (_shootTimer == null) { _shootTimer = new ExpirationTimer(_skillSet.ShootDeltaTime); _shootTimer.OnExpiredTimer += AttackAction; } if (_shootTimer.ExpirationTime != _skillSet.ShootDeltaTime) { _shootTimer.ExpirationTime = _skillSet.ShootDeltaTime; } if (_isCanAttack) { Projectile projectile = ObjectsAPI.SpawnObject(_projectile.gameObject).GetComponent <Projectile>(); float rotation = direction.Value.VectorAngle(); float projectileSpeed = _skillSet.ProjectileSpeed; projectile.Shoot(transform.position, rotation, 1, direction.Value * projectileSpeed, _damageSkill.DamageValue, _classInformation.CurrentFraction); _isCanAttack = false; _shootTimer.Start(); return(true); } return(false); }
public override void Spawn() { for (int i = 0; i < _count; i++) { var offsetPosition = _rand ? GeometryExtentions.RandomVector(_variance) : Vector3.zero; var spawnedObject = ObjectsAPI.SpawnObject(_prefab); var objectTranform = spawnedObject.transform; objectTranform.parent = _parentTransform.parent; objectTranform.position = _parentTransform.position + offsetPosition; } }
async void Load3DObjects() { IEnumerable <UnityPrimitive> objects = await ObjectsAPI.FetchSceneData(); foreach (var obj in objects) { var go = GameObject.CreatePrimitive((PrimitiveType)obj.Type); go.transform.position = new UnityEngine.Vector3(obj.Vector.X, obj.Vector.Y, obj.Vector.Z); var draggableHandComponent = go.AddComponent <HandDraggable>(); draggableHandComponent.RotationMode = HandDraggable.RotationModeEnum.LockObjectRotation; var storedObjectComponent = go.AddComponent <StoredObject>(); storedObjectComponent.storedObject = obj; } }
// Use this for initialization void Start() { var draggable = GetComponent <HandDraggable>(); draggable.StoppedDragging += () => { if (storedObject != null) { storedObject.Vector.X = transform.position.x; storedObject.Vector.Y = transform.position.y; storedObject.Vector.Z = transform.position.z; ObjectsAPI.UpdateObject(storedObject); } }; }
private void DespawnAction() { ObjectsAPI.DespawnObject(gameObject); }
public override void Execute(GameObject actor) { ObjectsAPI.DespawnObject(_objectToDespawn == null ? gameObject : _objectToDespawn); }