Exemplo n.º 1
0
    public void activate()
    {
        active = true;
        Vector2 velocity = playerMovement.LastMoveDirection;

        playerMovement.forceMovement(velocity);
        Vector2 spawnPos = playerController.SpawnCenter;

        //Make new rainbow path
        rainbowPath = objectSpawner.spawnObject <RainbowPathController>(
            rainbowPathIndex,
            spawnPos,
            velocity.normalized
            );
        rainbowPath.abilityID = this.abilityID;
        rainbowPath.Start();
        rainbowPath.startPos = spawnPos;
        rainbowPath.endPos   = spawnPos;
        rainbowPath.startPos = spawnPos;
    }
Exemplo n.º 2
0
 public void deactivate()
 {
     active = false;
     playerMovement.forceMovement(false);
     if (rainbowPath)
     {
         rainbowPath.finish(prevRainbowPath);
         prevRainbowPath            = rainbowPath;
         rainbowPath                = null;
         prevRainbowPath.onDestroy += (rpc) =>
         {
             if (rpc == prevRainbowPath)
             {
                 prevRainbowPath = null;
             }
             if (rpc == rainbowPath)
             {
                 throw new UnityException("I didn't expect this to happen.");
             }
         };
     }
 }