Example #1
0
    private string GetPlayerStatus(int playerIdx)
    {
        CFPlayer player = CFFusionManager.Instance.players[playerIdx];

        if (player.IsWaitingForFuse())
        {
            return("Wants to fuse!");
        }
        if (player.FuseCD() == 0.0f)
        {
            return("Ready!");
        }
        return(string.Format("{0:0.0}", player.FuseCD()));
    }
Example #2
0
    private Vector3 GetFusePosition(int playerIdx)
    {
        CFPlayer player      = players[playerIdx];
        CFPlayer otherPlayer = players[1 - playerIdx];

        switch (fuseMode)
        {
        case FUSE_MODE.MIDDLE:
            return((player.position + otherPlayer.position) / 2.0f);

        case FUSE_MODE.CURSOR:
            if (player.IsWaitingForFuse() == false)
            {
                break;
            }
            if (cursorSpeed > 0.0f)
            {
                return(player.position + (otherPlayer.position - player.position).normalized * Mathf.Min(cursorSpeed * (Time.time - player.fuseTime), Vector3.Distance(otherPlayer.position, player.position)));
            }
            return(player.position + (otherPlayer.position - player.position) * (Time.time - player.fuseTime) / fuseSyncTime);
        }
        return(Vector3.zero);
    }