コード例 #1
0
 void CastFireball(ServerVRHand hand)
 {
     hand.Fireball      = ServerManager.instance.SpawnFireball(ID);
     hand.Fireball.Size = 0.0f;
     hand.Fireball.transform.position = hand.DesiredFireballPosition;
     hand.CurrentSpell = Spell.Fireball;
 }
コード例 #2
0
 void ControlFireball(ServerVRHand hand)
 {
     // Set target position
     hand.Fireball.FollowTarget(hand.DesiredFireballPosition);
     // Set target size
     ControlFireballSize(hand);
 }
コード例 #3
0
 void HandleFireballSpell(ServerVRHand hand)
 {
     if (hand.CurrentSpell == Spell.None)
     {
         if (hand.HandDataPacket.HandState == HandState.Fire)
         {
             if (hand.CurrentGesture == HandGesture.Pinch)
             {
                 if (hand.HandDataPacket.StatePower >= 1.0f)
                 {
                     CastFireball(hand);
                 }
             }
         }
     }
     if (hand.CurrentSpell == Spell.Fireball)
     {
         if (hand.HandDataPacket.TargetHandState != HandState.Fire)
         {
             ReleaseFireball(hand);
         }
         else
         {
             ControlFireball(hand);
         }
     }
 }
コード例 #4
0
    void ControlFireballSize(ServerVRHand hand)
    {
        float targetSize = Fireball.FireballMaxSize;

        if (hand.HandDataPacket.HandState == HandState.Fire)
        {
            hand.Fireball.SetSize(targetSize);
        }
    }
コード例 #5
0
    void ReleaseFireball(ServerVRHand hand)
    {
        if (hand.Fireball.Size <= Fireball.FireballMinSize)
        {
            hand.Fireball.Despawn(false);
        }
        else
        {
            hand.Fireball.Create();
        }

        hand.CurrentSpell = Spell.None;
    }