Esempio n. 1
0
    private void Start()
    {
        if (_instance != null)
        {
            return;
        }

        _instance          = this;
        _gravity           = Physics2D.gravity;
        Physics2D.gravity *= GravityFactor;
    }
 private void Awake()
 {
     gravityModifier      = GetComponentInParent <GravityModifier>();
     gameManager          = FindObjectOfType <GameManager>();
     animator             = GetComponentInChildren <Animator>();
     sceneLoader          = FindObjectOfType <SceneLoader>();
     capsuleCollider      = GetComponent <CapsuleCollider>();
     playerOgCollPos      = new Vector3(-0.07324244f, 1.77f, -0.02116803f);
     playerFlyingCollPos  = new Vector3(-0.07324244f, -1.42f, -0.41f);
     playerFallingCollPos = new Vector3(0.06f, 0.78f, -0.02116803f);
 }
Esempio n. 3
0
    private void Awake()
    {
        gravityModifier = GetComponentInParent <GravityModifier>();
        gameManager     = FindObjectOfType <GameManager>();
        animator        = GetComponentInChildren <Animator>();
        sceneLoader     = FindObjectOfType <SceneLoader>();
        capsuleCollider = GetComponentInChildren <CapsuleCollider>();


        ogTransformRotation      = new Vector3(87.57f, 0.657f, -0.657f);
        flyingTransformRotation  = new Vector3(-3.82f, 0.657f, -0.657f);
        fallingTransformRotation = new Vector3(-70.429f, 0.37849f, 0.37849f);
    }
Esempio n. 4
0
        public override void Read(AssetReader reader)
        {
            base.Read(reader);

            StartLifetime.Read(reader);
            StartSpeed.Read(reader);
            StartColor.Read(reader);
            StartSize.Read(reader);
            if (IsReadSizeAxes(reader.Version))
            {
                StartSizeY.Read(reader);
                StartSizeZ.Read(reader);
            }
            if (IsReadRotationAxes(reader.Version))
            {
                StartRotationX.Read(reader);
                StartRotationY.Read(reader);
            }
            StartRotation.Read(reader);

            if (IsReadRandomizeRotationDirection(reader.Version))
            {
                RandomizeRotationDirection = reader.ReadSingle();
            }
            if (IsReadGravityModifierSingle(reader.Version))
            {
                float gravityModifier = reader.ReadSingle();
                GravityModifier = new MinMaxCurve(gravityModifier);
            }
            if (IsReadInheritVelocity(reader.Version))
            {
                InheritVelocity = reader.ReadSingle();
            }
            MaxNumParticles = reader.ReadInt32();
            if (IsReadSize3D(reader.Version))
            {
                Size3D = reader.ReadBoolean();
            }
            if (IsReadRotation3D(reader.Version))
            {
                Rotation3D = reader.ReadBoolean();
                reader.AlignStream(AlignType.Align4);
            }

            if (!IsReadGravityModifierSingle(reader.Version))
            {
                GravityModifier.Read(reader);
            }
        }
        public override void Read(AssetStream stream)
        {
            base.Read(stream);

            StartLifetime.Read(stream);
            StartSpeed.Read(stream);
            StartColor.Read(stream);
            StartSize.Read(stream);
            if (IsReadSizeAxes(stream.Version))
            {
                StartSizeY.Read(stream);
                StartSizeZ.Read(stream);
            }
            if (IsReadRotationAxes(stream.Version))
            {
                StartRotationX.Read(stream);
                StartRotationY.Read(stream);
            }
            StartRotation.Read(stream);

            if (IsReadRandomizeRotationDirection(stream.Version))
            {
                RandomizeRotationDirection = stream.ReadSingle();
            }
            if (IsReadGravityModifierSingle(stream.Version))
            {
                GravityModifierSingle = stream.ReadSingle();
            }
            if (IsReadInheritVelocity(stream.Version))
            {
                InheritVelocity = stream.ReadSingle();
            }
            MaxNumParticles = stream.ReadInt32();
            if (IsReadSize3D(stream.Version))
            {
                Size3D = stream.ReadBoolean();
            }
            if (IsReadRotation3D(stream.Version))
            {
                Rotation3D = stream.ReadBoolean();
                stream.AlignStream(AlignType.Align4);
            }

            if (!IsReadGravityModifierSingle(stream.Version))
            {
                GravityModifier.Read(stream);
            }
        }
Esempio n. 6
0
    private void Awake()
    {
        //Cache Ref
        spawnerParent    = FindObjectOfType <SpawnerParent>();
        gravityModifier  = FindObjectOfType <GravityModifier>();
        canvasController = GetComponentInParent <CanvasController>();
        //Sliders
        playerRotationSlider    = GameObject.Find("Slider_Player Rotation Speed").GetComponent <Slider>();
        climbingSpeedSlider     = GameObject.Find("Slider_ClimbingSpeed").GetComponent <Slider>();
        obstacleSpeedSlider     = GameObject.Find("Slider_Falling Obstacle Speed").GetComponent <Slider>();
        obstacleSpawnRateSlider = GameObject.Find("Slider_Obstacle Spawn Rate").GetComponent <Slider>();
        difficultySlider        = GameObject.Find("Slider_DifficultySetting").GetComponent <Slider>();

        //Toggles
        accelerateOverTimeToggle       = GameObject.Find("Toggle_Accelerate Over Time").GetComponent <Toggle>();
        increaseObstacleSpawningToggle = GameObject.Find("Toggle_Increase Obstacle Spawning").GetComponent <Toggle>();
    }
        public override YAMLNode ExportYAML(IAssetsExporter exporter)
        {
#warning TODO: values acording to read version (current 2017.3.0f3)
            YAMLMappingNode node = (YAMLMappingNode)base.ExportYAML(exporter);
            node.InsertSerializedVersion(GetSerializedVersion(exporter.Version));
            node.Add("startLifetime", StartLifetime.ExportYAML(exporter));
            node.Add("startSpeed", StartSpeed.ExportYAML(exporter));
            node.Add("startColor", StartColor.ExportYAML(exporter));
            node.Add("startSize", StartSize.ExportYAML(exporter));
            node.Add("startSizeY", StartSizeY.ExportYAML(exporter));
            node.Add("startSizeZ", StartSizeZ.ExportYAML(exporter));
            node.Add("startRotationX", StartRotationX.ExportYAML(exporter));
            node.Add("startRotationY", StartRotationY.ExportYAML(exporter));
            node.Add("startRotation", StartRotation.ExportYAML(exporter));
            node.Add("randomizeRotationDirection", RandomizeRotationDirection);
            node.Add("maxNumParticles", MaxNumParticles);
            node.Add("size3D", Size3D);
            node.Add("rotation3D", Rotation3D);
            node.Add("gravityModifier", GravityModifier.ExportYAML(exporter));
            return(node);
        }
Esempio n. 8
0
        public override YAMLNode ExportYAML(IExportContainer container)
        {
            YAMLMappingNode node = (YAMLMappingNode)base.ExportYAML(container);

            node.InsertSerializedVersion(GetSerializedVersion(container.Version));
            node.Add("startLifetime", StartLifetime.ExportYAML(container));
            node.Add("startSpeed", StartSpeed.ExportYAML(container));
            node.Add("startColor", StartColor.ExportYAML(container));
            node.Add("startSize", StartSize.ExportYAML(container));
            node.Add("startSizeY", GetStartSizeY(container.Version).ExportYAML(container));
            node.Add("startSizeZ", GetStartSizeZ(container.Version).ExportYAML(container));
            node.Add("startRotationX", GetStartRotationX(container.Version).ExportYAML(container));
            node.Add("startRotationY", GetStartRotationY(container.Version).ExportYAML(container));
            node.Add("startRotation", StartRotation.ExportYAML(container));
            node.Add("randomizeRotationDirection", RandomizeRotationDirection);
            node.Add("maxNumParticles", MaxNumParticles);
            node.Add("size3D", Size3D);
            node.Add("rotation3D", Rotation3D);
            node.Add("gravityModifier", GravityModifier.ExportYAML(container));
            return(node);
        }
Esempio n. 9
0
        public override YAMLNode ExportYAML(IExportContainer container)
        {
            YAMLMappingNode node = (YAMLMappingNode)base.ExportYAML(container);

            node.InsertSerializedVersion(ToSerializedVersion(container.ExportVersion));
            node.Add(StartLifetimeName, StartLifetime.ExportYAML(container));
            node.Add(StartSpeedName, StartSpeed.ExportYAML(container));
            node.Add(StartColorName, StartColor.ExportYAML(container));
            node.Add(StartSizeName, StartSize.ExportYAML(container));
            node.Add(StartSizeYName, GetStartSizeY(container.Version).ExportYAML(container));
            node.Add(StartSizeZName, GetStartSizeZ(container.Version).ExportYAML(container));
            node.Add(StartRotationXName, GetStartRotationX(container.Version).ExportYAML(container));
            node.Add(StartRotationYName, GetStartRotationY(container.Version).ExportYAML(container));
            node.Add(StartRotationName, StartRotation.ExportYAML(container));
            node.Add(RandomizeRotationDirectionName, RandomizeRotationDirection);
            node.Add(MaxNumParticlesName, MaxNumParticles);
            node.Add(Size3DName, Size3D);
            node.Add(Rotation3DName, Rotation3D);
            node.Add(GravityModifierName, GravityModifier.ExportYAML(container));
            return(node);
        }
    public void DoOnCast()
    {
        base.DoOnCast();

        RaycastHit hit;

        GameObject.Destroy(gameObject.GetComponent <Collider>());
        GameObject.Destroy(gameObject.GetComponent <MeshRenderer>());
        GameObject.Destroy(gameObject.GetComponent <MeshFilter>());

        if (Physics.Raycast(transform.position, transform.up, out hit))
        {
            GameObject effect = Instantiate(effectToBePlaced);
            effect.transform.position = hit.point;

            SpellCore effectSpellCore = effect.GetComponent <SpellCore>();
            if (effectSpellCore != null)
            {
                CopySpellCoreValues(effectSpellCore);
                if (effectSpellCore.explosionDamage)
                {
                    ExplosionModifier explosionModifier = new ExplosionModifier();
                    explosionModifier.applyAffect(effect);
                    if (setOffChildEffects)
                    {
                        effect.GetComponentInChildren <ExplosionEffect>().Explode();
                    }
                }

                if (effectSpellCore.gravity)
                {
                    GravityModifier gravityModifier = new GravityModifier();
                    gravityModifier.applyAffect(effect);
                }

                if (effectSpellCore.scale.x > 1)
                {
                    Vector3 effectScale = effect.transform.localScale;
                    effectScale.x *= effectSpellCore.scale.x;
                    effectScale.y *= effectSpellCore.scale.y;
                    effectScale.z *= effectSpellCore.scale.z;
                    effect.transform.localScale = effectScale;
                }

                if (effectSpellCore.elementalAlignment != "")
                {
                    Renderer[] renderers = effect.GetComponentsInChildren <Renderer>();
                    foreach (Renderer someRenderer in renderers)
                    {
                        if (effectSpellCore.elementalAlignment == "Water")
                        {
                            someRenderer.material.color = Color.blue;
                        }
                        else if (effectSpellCore.elementalAlignment == "Nature")
                        {
                            someRenderer.material.color = Color.green;
                        }
                        else if (effectSpellCore.elementalAlignment == "Fire")
                        {
                            someRenderer.material.color = Color.red;
                        }
                    }
                }
            }
        }

        GameObject.Destroy(gameObject);
    }
    // Update is called once per frame
    void Update()
    {
        frameTracker++;
        lifeSpan--;
        if (frameTracker % spawningPeriod == 0)
        {
            System.Random random = new System.Random();
            GameObject    meteor = GameObject.Instantiate(meteorBallPrefab, new Vector3((float)(random.NextDouble() * 14) + transform.position.x - 7, transform.position.y, (float)(random.NextDouble() * 14) + transform.position.z - 7),
                                                          new Quaternion());
            meteor.GetComponent <Rigidbody>().velocity        = new Vector3(0f, -70f, 0f);
            meteor.GetComponent <Rigidbody>().angularVelocity = new Vector3(((float)random.NextDouble() * 2) - 1, ((float)random.NextDouble() * 2) - 1, ((float)random.NextDouble() * 2) - 1) * 10;
            spawningPeriod            = random.Next(10, 25);
            meteor.transform.rotation = new Quaternion((float)random.NextDouble(), (float)random.NextDouble(), (float)random.NextDouble(), (float)random.NextDouble());

            SpellCore spellCore = meteor.GetComponent <SpellCore>();
            CopySpellCoreValues(spellCore);
            spellCore.hasItBeenCastedYet = true;
            //spellCore.DoOnCast();

            if (spellCore.explosionDamage)
            {
                ExplosionModifier explosionModifier = new ExplosionModifier();
                explosionModifier.applyAffect(spellCore.gameObject);
            }

            if (spellCore.gravity)
            {
                GravityModifier gravityModifier = new GravityModifier();
                gravityModifier.applyAffect(spellCore.gameObject);
            }

            if (spellCore.scale.x > 1)
            {
                Vector3 effectScale = spellCore.gameObject.transform.localScale;
                effectScale.x *= spellCore.scale.x;
                effectScale.y *= spellCore.scale.y;
                effectScale.z *= spellCore.scale.z;
                spellCore.gameObject.transform.localScale = effectScale;
            }

            if (spellCore.elementalAlignment != "")
            {
                Renderer[] renderers  = spellCore.gameObject.GetComponentsInChildren <Renderer>();
                Texture    newTexture = Resources.Load("Asteroids_Grey") as Texture;
                foreach (Renderer someRenderer in renderers)
                {
                    someRenderer.material.SetTexture("_MainTex", newTexture);
                    if (spellCore.elementalAlignment == "Water")
                    {
                        someRenderer.material.color = Color.blue;
                    }
                    else if (spellCore.elementalAlignment == "Nature")
                    {
                        someRenderer.material.color = Color.green;
                    }
                    else if (spellCore.elementalAlignment == "Fire")
                    {
                        someRenderer.material.color = Color.red;
                    }
                }
            }



            frameTracker = 1;
        }

        if (lifeSpan <= 0)
        {
            Destroy(gameObject);
        }
    }