public void ForceTimeSet(float newTime) { Debug.Log("Set Time to: " + newTime); Game.EffectHandler.Play(resetEffect, gameObject); time = newTime; OnTimeUpdate?.Invoke(newTime); OnForceTimeReset?.Invoke(newTime); }
public void Reset(OnTimeUpdate onUpdate, float updateFrequence, bool timeScale) { this.currentAccumulate = 0f; this.updateFrequence = updateFrequence; this.onUpdate = onUpdate; this.isPause = false; this.timeScale = timeScale; this.isVaild = true; }
void Update() { currentTime = currentTime - Time.deltaTime; goombaLastKillTimer = goombaLastKillTimer + Time.deltaTime; OnTimeUpdate?.Invoke((int)currentTime); if (currentTime <= 0) { SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); } }
public void StartNewSequence(Sequence newSequence, bool startFromBeginning = true) { timeMin = newSequence.minTime; timeMax = newSequence.maxTime; timeStart = newSequence.startTime; timeEnd = newSequence.endTime; time = startFromBeginning ? newSequence.startTime : newSequence.startReversedTime; OnTimeUpdate?.Invoke(time); OnTimeChange?.Invoke(time); }
public void IncreaseTime(int amount) { if (time + amount <= timeMax) { time += amount; Game.SoundPlayer.Play(rearrangeClip, null, volume: 0.25f, randomPitchRange: 0.5f); OnTimeUpdate?.Invoke(time); OnTimeChange?.Invoke(time); } else if (time + amount >= timeMax) { Debug.Log("time: " + time + " +" + amount + " = " + (time + amount) + " / " + timeMax); Game.SequenceHandler.TryPlayAfter(); } }
public void OnDispose() { onUpdate = null; }
public TimerTask(string taskName, OnTimeUpdate onUpdate, float updateFrequence, bool timeScale) { this.taskName = taskName; Reset(onUpdate, updateFrequence, timeScale); }
public Multiplayer(string Server, string Channel, string Username) { this.Channel = Channel; this.Username = Username; socket = new WebSocket(Server); socket.OnOpen += (sender, e) => { MessageConnect connect = new MessageConnect() { Channel = this.Channel, Username = this.Username, Version = Shared.Version }; socket.Send(JsonConvert.SerializeObject(connect)); }; socket.OnClose += (sender, e) => { if (!ManualClose && !string.IsNullOrWhiteSpace(e.Reason)) { OnConnectionFailed?.Invoke(this, new ConnectionFailedEventArgs()); } }; socket.OnMessage += (sender, e) => { MessageType messageType = JsonConvert.DeserializeObject <MessageType>(e.Data); if (messageType.Type == 0) // Connection Successful { MessageConnectionSuccessful connectionSuccessful = JsonConvert.DeserializeObject <MessageConnectionSuccessful>(e.Data); IsHost = connectionSuccessful.IsHost; ConnectionSuccessfulEventArgs succ = new ConnectionSuccessfulEventArgs() { IsHost = connectionSuccessful.IsHost, HostUsername = connectionSuccessful.HostUsername }; OnConnectionSuccessful?.Invoke(this, succ); } else if (messageType.Type == 1) // Username in use { OnUsernameInUse?.Invoke(this, new UsernameInUseEventArgs()); socket.Close(); } else if (messageType.Type == 2) // Host left the channel { OnHostLeftChannel?.Invoke(this, new HostLeftChannelEventArgs()); socket.Close(); } else if (messageType.Type == 3) { MessageVersionMismatch mismatch = JsonConvert.DeserializeObject <MessageVersionMismatch>(e.Data); var args = new VersionMismatchEventArgs() { Version = mismatch.Version }; OnVersionMismatch?.Invoke(this, args); } // ------- else if (messageType.Type == 10) // User Joined { MessageUserJoined user = JsonConvert.DeserializeObject <MessageUserJoined>(e.Data); var args = new UserJoinedEventArgs() { Username = user.Username }; OnUserJoined?.Invoke(this, args); } else if (messageType.Type == 11) // User Left { MessageUserLeft user = JsonConvert.DeserializeObject <MessageUserLeft>(e.Data); var args = new UserLeftEventArgs() { Username = user.Username }; OnUserLeft?.Invoke(this, args); } else if (messageType.Type == 12) // Chat Message { MessageChatMessage chatMessage = JsonConvert.DeserializeObject <MessageChatMessage>(e.Data); var args = new ChatMessageEventArgs() { Username = chatMessage.Username, Message = chatMessage.Message }; OnChatMessage?.Invoke(this, args); } // ------- else if (messageType.Type == 20) // Time Update { MessageTimeUpdate timeUpdate = JsonConvert.DeserializeObject <MessageTimeUpdate>(e.Data); var args = new TimeUpdateEventArgs() { Remaining = timeUpdate.Remaining, Total = timeUpdate.Total }; OnTimeUpdate?.Invoke(this, args); } else if (messageType.Type == 21) // Send Effect { MessageEffect effect = JsonConvert.DeserializeObject <MessageEffect>(e.Data); var args = new EffectEventArgs() { Word = effect.Word, Duration = effect.Duration, Voter = effect.Voter, Seed = effect.Seed }; OnEffect?.Invoke(this, args); } else if (messageType.Type == 22) // Votes { MessageVotes votes = JsonConvert.DeserializeObject <MessageVotes>(e.Data); var args = new VotesEventArgs() { Effects = votes.Effects, Votes = votes.Votes, LastChoice = votes.LastChoice }; OnVotes?.Invoke(this, args); } }; }
private void TimeUpdate(float time) { OnTimeUpdate?.Invoke(time); }