Пример #1
0
 public override void OnComplete()
 {
     _floating = NewPrefab.GetComponent <UIFloatingText>();
     if (_icon != null)
     {
         _floating._icon.overrideSprite = _icon;
     }
     _floating.RectTransform.SetParent(_parent);
     _floating.RectTransform.SetAsLastSibling();
     TimeManager.StartTask(SetTargetText());
 }
Пример #2
0
            public override void OnComplete()
            {
                var itemDragDrop = NewPrefab.GetComponent <UIItemDragDrop>();

                itemDragDrop.RectTransform.SetParent(_inventory._grid);
                itemDragDrop.Index = _index;
                itemDragDrop.SetItem(_item);
                _inventory._slots[_index] = itemDragDrop;

                _item        = null;
                _inventory   = null;
                SourcePrefab = null;
                NewPrefab    = null;
                _pool.Store(this);
            }
Пример #3
0
            public override void OnComplete()
            {
                NewPrefab.transform.SetPositionAndRotation(_spawnPos, _spawnRot);
                var spawn = NewPrefab.GetComponent <IProjectile>();

                _entity.Add(new TransformComponent(NewPrefab.Transform));
                var template = _entity.GetTemplate <ProjectileTemplate>();

                template.MoveTarget.SetMoveTarget(_target);
                if (_config.ActionFx != null)
                {
                    template.ActionFx.ChangeFx(_config.ActionFx);
                }
                if (_actionFx != null)
                {
                    if (template.ActionFx != null)
                    {
                        template.ActionFx.ChangeFx(_actionFx);
                    }
                    else
                    {
                        _entity.Add(new ActionFxComponent(_actionFx));
                    }
                }
                switch (_config.Movement)
                {
                case ProjectileMovement.Arc:
                case ProjectileMovement.Forward:
                    template.CollisionCheckForward.LastPos = null;
                    NewPrefab.Transform.LookAt(_target, NewPrefab.Transform.up);
                    break;

                case ProjectileMovement.Force:
                    //var force = transform.forward * ForceRange.Lerp(Mathf.Clamp01(charging.ElapsedTime / MaxChargeTime));
                    break;
                }
                spawn.SetConfig(_config, _entity);
                if (spawn.Rigidbody != null)
                {
                    template.Rb.SetRb(spawn.Rigidbody);
                }
                _entity.Tags.Add(EntityTags.Moving);
                template.Rendering.Set(spawn);
                UnityToEntityBridge.RegisterToEntity(NewPrefab.Transform.gameObject, _entity);
                _entity.Post(new ProjectileSpawned(_config, _entity));
                Clear();
            }
Пример #4
0
 public override void OnComplete()
 {
     _floating = NewPrefab.GetComponent <FloatingText>();
     TimeManager.StartTask(SetTargetText());
 }