コード例 #1
0
ファイル: SpellReticule.cs プロジェクト: akalman/ccs-spikes
    public static SpellReticule Create(GameObject reticule, Vector3 pos, Quaternion rot, ISpell spell, SpellRegistry registry, Parent parent)
    {
        GameObject    newObject = Instantiate(reticule, pos, rot) as GameObject;
        SpellReticule ret       = newObject.GetComponent <SpellReticule>();

        ret._spell      = spell;
        ret._registry   = registry;
        ret._registryId = registry.Register(ret);
        ret._parent     = parent;

        return(ret);
    }
コード例 #2
0
    public void Transition()
    {
        if (Input.GetKeyDown(_spellConfig.cast))
        {
            var pos = transform.position;
            pos.y     = 0.1f;
            _reticule = _reticuleFactory.reticuleFor(_spell, pos, transform.rotation, this);
            _state    = CharacterState.CASTING;
        }
        else if (Input.GetKeyUp(_spellConfig.cast) && _state == CharacterState.CASTING)
        {
            _reticule.Cast();
            _state = CharacterState.MOVING;
        }

        if (_reticule != null)
        {
            if (Input.GetKeyDown(_spellConfig.transition))
            {
                _reticule.Transition();
            }
        }
    }
コード例 #3
0
ファイル: ReticuleFactory.cs プロジェクト: akalman/ccs-spikes
    public SpellReticule reticuleFor(ISpell spell, Vector3 pos, Quaternion rot, Parent parent)
    {
        GameObject obj;

        switch (spell.effect().element)
        {
        case Element.Adam:
            obj = reticuleAdam;
            break;

        case Element.Earth:
            obj = reticuleEarth;
            break;

        case Element.Fire:
            obj = reticuleFire;
            break;

        case Element.Lightning:
            obj = reticuleAir;
            break;

        case Element.Matt:
            obj = reticuleMatt;
            break;

        case Element.Metal:
            obj = reticuleMetal;
            break;

        case Element.Water:
        default:
            obj = reticuleWater;
            break;
        }
        return(SpellReticule.Create(obj, pos, rot, spell, _registry, parent));
    }
コード例 #4
0
ファイル: InputTemplate.cs プロジェクト: akalman/ccs-spikes
    public void Transition()
    {
        if (Input.GetKeyDown(_spellConfig.cast))
        {
            var pos = transform.position;
            pos.y = 0.1f;
            _reticule = _reticuleFactory.reticuleFor(_spell, pos, transform.rotation, this);
            _state = CharacterState.CASTING;
        }
        else if (Input.GetKeyUp(_spellConfig.cast) && _state == CharacterState.CASTING)
        {
            _reticule.Cast();
            _state = CharacterState.MOVING;
        }

        if (_reticule != null)
        {
            if (Input.GetKeyDown(_spellConfig.transition))
            {
                _reticule.Transition();
            }
        }
    }
コード例 #5
0
 public long Register(SpellReticule reticule)
 {
     lastLong += 1;
     registry.Add(lastLong, reticule);
     return(lastLong);
 }