private void Start() { //neighbor detector neighborDetector = GetComponent <SphereCollider>(); neighborDetector.isTrigger = true; //motor motor = GetComponent <ThingMotor>(); motor.SetAccel(acceleration); motor.rb.drag = drag; motor.rb.mass = mass; motor.FacingTarget(alwaysFacingTarget); //Chat Ballon chatBalloon = gameObject.GetComponentInChildren <ChatBalloon>(); speakCDLength = Random.Range(8f, 13f); //Instantiating Particle Object explodePS = GetComponentInChildren <ParticleSystem>(); //Sound audioSource = gameObject.GetComponent <AudioSource>(); audioSource.spatialBlend = 0.9f; audioSource.maxDistance = 35; //color rend = GetComponent <Renderer>(); if (rend == null) { rend = GetComponentInChildren <Renderer>(); } originalColor = rend.material.color; TTTStart(); }
protected void Speak(string content, float stayLength) { if (!speakInCD || !stopTalking) { TTTEventsManager.main.SomeoneSpoke(gameObject); if (chatBalloon == null) { chatBalloon = gameObject.GetComponentInChildren <ChatBalloon> (); } chatBalloon.SetTextAndActive(content, stayLength); speakInCD = true; Invoke("UnlockSpeakCD", speakCDLength); } ThingConsole.Log(gameObject.name + "is speaking: " + content); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { int roomId = request.GetInteger(); RoomData roomData = RoomRepository.Find(roomId); if (roomData == null || !roomData.HasOwnerRights(session.Info)) { return; } // TODO Filter string newName = request.GetString(); // TODO Magic constant if (newName.Length > 2) { roomData.Name = newName; } // TODO Filter roomData.Description = request.GetString(); int stateId = request.GetInteger(); RoomState state; if (RoomState.TryFromInt32(stateId, out state)) { roomData.State = state; } roomData.Password = request.GetString(); roomData.UsersMax = request.GetInteger(); int categoryId = request.GetInteger(); FlatNavigatorCategory category = NavigatorCategoryRepository.Find(categoryId); if (category != null && category.MinRank <= session.Info.Rank) { roomData.Category = category; } int tagCount = request.GetInteger(); if (tagCount <= 2) { roomData.Tags.Clear(); IRepository <Tag> TagRepository = DependencyFactory.Resolve <IRepository <Tag> > (); for (int i = 0; i < tagCount; i++) { string tagValue = request.GetString().ToLower(); Tag tag = TagRepository.Find(tagValue); if (tag == null) { tag = new Tag(tagValue); } roomData.Tags.Add(tag); } } TradingState tradeState; if (TradingState.TryFromInt32(request.GetInteger(), out tradeState)) { roomData.TradeState = tradeState; } roomData.AllowPets = request.GetBool(); roomData.AllowPetsEating = request.GetBool(); roomData.AllowWalkThrough = request.GetBool(); bool hideWall = request.GetBool(); int wallThickness = request.GetInteger(); int floorThickness = request.GetInteger(); if (session.Info.Subscription.HasLevel(ClubLevel.HC)) { roomData.HideWall = hideWall; roomData.WallThickness = wallThickness; roomData.FloorThickness = floorThickness; } else { roomData.HideWall = false; roomData.WallThickness = 0; roomData.FloorThickness = 0; } RoomModerationRight right; if (RoomModerationRight.TryFromInt32(request.GetInteger(), out right)) { roomData.ModerationSettings.WhoCanMute = right; } if (RoomModerationRight.TryFromInt32(request.GetInteger(), out right)) { roomData.ModerationSettings.WhoCanKick = right; } if (RoomModerationRight.TryFromInt32(request.GetInteger(), out right)) { roomData.ModerationSettings.WhoCanBan = right; } ChatType chatType; if (ChatType.TryFromInt32(request.GetInteger(), out chatType)) { roomData.Chat.Type = chatType; } ChatBalloon chatBalloon; if (ChatBalloon.TryFromInt32(request.GetInteger(), out chatBalloon)) { roomData.Chat.Balloon = chatBalloon; } ChatSpeed chatSpeed; if (ChatSpeed.TryFromInt32(request.GetInteger(), out chatSpeed)) { roomData.Chat.Speed = chatSpeed; } int maxDistance = request.GetInteger(); if (roomData.Chat.isValidDistance(maxDistance)) { roomData.Chat.SetMaxDistance(maxDistance); } FloodProtection floodProtection; if (FloodProtection.TryFromInt32(request.GetInteger(), out floodProtection)) { roomData.Chat.FloodProtection = floodProtection; } request.GetBool(); //TODO allow_dyncats_checkbox router.GetComposer <RoomSettingsSavedMessageComposer>().Compose(session, roomData.Id); Room room = RoomManager.GetIfLoaded(roomData); if (room != null) { room.EachUser(x => { x.Router.GetComposer <RoomUpdateMessageComposer>().Compose(x, roomData.Id); x.Router.GetComposer <RoomFloorWallLevelsMessageComposer>().Compose(x, roomData); x.Router.GetComposer <RoomChatOptionsMessageComposer>().Compose(x, roomData); x.Router.GetComposer <RoomDataMessageComposer>().Compose(x, roomData, x.Info, true, true); }); } }