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