예제 #1
0
    protected virtual void FillingObjectSpawner(IGeneratedBy actionObject, IActionObjectAnchor anchor)
    {
        var avatar = Instantiate(actionObject.Avatar).GetComponent <Transform>();

        _currentObject = new ObjectSpawnerData(actionObject, avatar);
        anchor         = anchor ?? GetCorrectAnchorsArray().First();
        _currentObject.ChangeAnchor(anchor);
        ToggleAnchors();
    }
예제 #2
0
    protected override void FillingObjectSpawner(IGeneratedBy actionObject, IActionObjectAnchor anchor)
    {
        var avatar = Instantiate(actionObject.Avatar).GetComponent <Transform>();

        _currentObject = new ObjectSpawnerData(actionObject, avatar);
        if (_currentObject.IsUpgrade())
        {
            anchor = _currenUpgradetAnchor != null ? _currenUpgradetAnchor : GetCorrectAnchorsArray().First();
        }
        else
        {
            anchor = GetCorrectAnchorsArray().First();
        }
        _currentObject.ChangeAnchor(anchor);
        ToggleAnchors();
    }
예제 #3
0
    private void SendObjectToSpawner(IGeneratedBy actionObject)
    {
        ActionObjectType sendableObjectType = actionObject.ActionObject.ObjectType;

        if (IsActionObject(sendableObjectType))
        {
            if (!(actionObject as ActionObjectScriptableObject).IsOpeningObject)
            {
                _commercial.ShowInterstitial();
            }

            _actionObjectSpawner.SetObjectOnScene(actionObject);
        }
        else if (IsSpawnObject(sendableObjectType))
        {
            //_commercial.ShowRewardedVideo(false);
            _spawnObjectSpawner.SetObjectOnScene(actionObject);
        }
    }
예제 #4
0
 public virtual void SetObjectOnScene(IGeneratedBy actionObject) => FillingObjectSpawner(actionObject, null);
예제 #5
0
 public ObjectSpawnerData(IGeneratedBy actionObject, Transform avatar)
 {
     _actionObject = actionObject;
     Avatar        = avatar;
 }