Esempio n. 1
0
    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;
    }
Esempio n. 2
0
    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);
    }
Esempio n. 3
0
    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);
            }
        };
    }
Esempio n. 6
0
 private void DespawnAction()
 {
     ObjectsAPI.DespawnObject(gameObject);
 }
Esempio n. 7
0
 public override void Execute(GameObject actor)
 {
     ObjectsAPI.DespawnObject(_objectToDespawn == null ? gameObject : _objectToDespawn);
 }