2017-04-03 30 views
0

我試圖讓ShareScreenshotWithText()每次調用不同腳本的浮點數settings.screenshotintervals。現在,我的代碼是統一的數學函數c#

(scoreTeam1 + scoreTeam2 == settings.screenshotintervals * (1) | scoreTeam1 + scoreTeam2 == settings.screenshotintervals * 2 | scoreTeam1 + scoreTeam2 == settings.screenshotintervals * 3 | scoreTeam1 + scoreTeam2 == settings.screenshotintervals * 4 

是他們的任何更簡單的方式來做到這一點其他然後鍵入這一點,但每次改變多少?另一個腳本具有可以更改其值的滑塊。

+3

該位或有看起來真的suspicous – BradleyDotNET

回答

1

可以產生數的範圍,並檢查所有這些數字乘以間隔是否給你分數的總和:

Enumerable.Range(1,4).Any(i => settings.screenshotintervals * i == scoreTeam1 + scoreTeam2) 

對不起,我錯過了值浮動。作爲@Everts曾表示 - 在這裏最好的解決方案將是值的比較Mathf.Approximately用法:

var totalScore = scoreTeam1 + scoreTeam2; 
var result = Enumerable.Range(1,4) 
     .Any(i => Mathf.Approximately(settings.screenshotintervals * i, totalScore)); 
+3

如果這些都是浮動,實在是不太可能的平等永遠不會發生(浮動不準確) 。使用Mathf.Approximately將有所幫助。 – Everts