示例#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
    public void EndUse()
    {
        if (IsUsing)
        {
            Destroy(_currentObject.Avatar.gameObject);
            ToggleAnchors();
            Save(_levelName);
            if (_anchors.Where(a => a.IsFree).Count() == 0)
            {
                OnOutOfAnchors(_anchors.First().GetAnchorType);
            }

            _currentObject = null;
        }
    }
    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();
    }