public void ChangeLocationForward(EventInfo eventInfo) { CameraAngleChangeInfo floatChangeInfo = (CameraAngleChangeInfo)eventInfo; int newIndex = 0; int previousIndex = CurrentIndex; if (CurrentIndex + floatChangeInfo.increments <= 3) { newIndex = CurrentIndex + floatChangeInfo.increments; } else { newIndex = (CurrentIndex + floatChangeInfo.increments) % 4; // % operaattori tarkoitaa jakojäännöstä. Korjaa pari väärän sijainnin antamis bugia. turnEndFlag = true; } setCurrentLocation(newIndex); OnLocationChange?.Invoke(); if (hasTurnCompleted()) { OnTurnEnd?.Invoke(); turnEndFlag = false; } }
public override void PerformAction() { CameraAngleChangeInfo valueChangeAction = new CameraAngleChangeInfo(); valueChangeAction.changeofFloat = angle(); valueChangeAction.increments = Turns; thisEvent_Type = Event_Type.CAMERA_TURN; GameEventSystem.DoEvent( thisEvent_Type, valueChangeAction ); }