Created
December 29, 2016 09:30
-
-
Save spotco/c348910d48ed4d4d988a37f66e0701d2 to your computer and use it in GitHub Desktop.
SparkleStarEffectObject.lua
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| local ConfigAnimEffect = require(game.ReplicatedStorage.Effects.ConfigAnimEffect) | |
| local SPUtil = require(game.ReplicatedStorage.Shared.SPUtil) | |
| local FlashEvery = require(game.ReplicatedStorage.Shared.FlashEvery) | |
| local SparkleStarEffectObject = {} | |
| SparkleStarEffectObject.Type = "SparkleStarEffectObject" | |
| function SparkleStarEffectObject:add_sparkle_at(_game, pos) | |
| _game._effects:add_effect( | |
| ConfigAnimEffect:new(SparkleStarEffectObject:new(_game))) | |
| :set_position(pos.X,pos.Y,pos.Z) | |
| :set_velocity( | |
| SPUtil:rand_rangef(-0.15,0.15), | |
| SPUtil:rand_rangef(0.25,0.45), | |
| SPUtil:rand_rangef(-0.15,0.15)) | |
| :set_alpha(0.85,0) | |
| :set_scale( | |
| SPUtil:rand_rangef(0.25,1), | |
| SPUtil:rand_rangef(0.5,1.25)) | |
| :set_rotation( | |
| SPUtil:rand_rangef(-45,45)) | |
| :set_vrotation( | |
| SPUtil:rand_rangef(-3,3)) | |
| :set_acceleration(0,-0.0075,0) | |
| :set_duration_seconds(SPUtil:rand_rangef(0.35,0.55)) | |
| end | |
| function SparkleStarEffectObject:new(_game) | |
| local self = ConfigAnimEffect.EffectObject:new() | |
| self.Type = SparkleStarEffectObject.Type | |
| local _obj = nil | |
| function self:cons() | |
| _obj = _game._object_pool:depool(self.Type) | |
| if _obj == nil then | |
| _obj = game.ReplicatedStorage.ElementProtos.SparkleStarEffectProto:Clone() | |
| end | |
| _obj:SetPrimaryPartCFrame( | |
| CFrame.new(_obj.PrimaryPart.Position, workspace.CurrentCamera.CFrame.p) | |
| ) | |
| end | |
| --[[Override--]] function self:set_position(x,y,z) | |
| _obj.PrimaryPart.Position = Vector3.new(x,y,z) | |
| end | |
| --[[Override--]] function self:set_alpha(alpha) | |
| _obj.PrimaryPart.SurfaceGui.ImageLabel.ImageTransparency = (1 - alpha) | |
| end | |
| --[[Override--]] function self:set_rotation(rotation) | |
| _obj.PrimaryPart.SurfaceGui.ImageLabel.Rotation = rotation | |
| end | |
| --[[Override--]] function self:set_scale(scale) | |
| _obj.PrimaryPart.Size = Vector3.new(2,2,0.5) * scale | |
| end | |
| --[[Override--]] function self:add_to_parent(parent, _game) | |
| _obj.Parent = parent | |
| end | |
| --[[Override--]] function self:do_remove(_game) | |
| _game._object_pool:repool(self.Type,_obj) | |
| _obj = nil | |
| end | |
| self:cons() | |
| return self | |
| end | |
| return SparkleStarEffectObject |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment