// Use this for initialization
    void Start()
    {
        if (DetachCannonEffect)
        {
            //Create the detach effect.
            DetachCannonEffect = Instantiate(DetachCannonEffect) as ParticleSystem;
            DetachCannonEffect.transform.position = DetachOffset;
            DetachCannonEffect.transform.parent   = transform;
            //DetachCannonEffect.transform.localPosition = Vector3.zero;
        }

        if (PickupCannonEffect)
        {
            PickupCannonEffect = Instantiate(PickupCannonEffect) as ParticleSystem;

            PickupCannonEffect.transform.parent        = transform;
            PickupCannonEffect.transform.localPosition = Vector3.zero;
        }

        CannonConnectorPos connectorPos = this.gameObject.GetComponentInChildren <CannonConnectorPos>();

        if (connectorPos)
        {
            myCannonConnectorPos = connectorPos;

            // we have our position, now let the position know of the Gameobject
            // the position will align its self to the Enemies or Objects aim
            // currently only enemies are using this, even though a cannon connector is shared with a bot
            myCannonConnectorPos.CannonConnectorPosHost = Host;
        }
    }
Beispiel #2
0
    protected void Initialize()
    {
        //Create the collection particle system.
        Collection = Instantiate(Collection) as ParticleSystem;

        //Cache values
        myTransform = transform;
        Rdbdy       = GetComponent <Rigidbody>();

        //Set things in place for the first time.
        connectorcontroller = GetComponent <CannonConnector>();
        connectorcontroller.SetHost(gameObject);

        // set the reference to the cannon position
        CannonConnectorPos connectorPos = this.gameObject.GetComponentInChildren <CannonConnectorPos>();

        if (connectorPos)
        {
            this.cannonConnectorPos = connectorPos;
        }

        //Get the trail renderer.
        trail = GetComponent <TrailRenderer>();
        //trail.enabled = false;

        //Store the original drag
        originalDrag = StartingDrag;



        //Update the position of the shield.
        if (DefenseUnitSlot)
        {
            DefenseUnitSlot.transform.position = transform.position;
            DefenseUnitSlot.transform.parent   = transform;
        }

        if (Collection)
        {
            Collection.transform.position = transform.position;
            Collection.transform.parent   = transform;
        }
        if (BallCollection)
        {
            BallCollection = Instantiate(BallCollection) as ParticleSystem;
        }
        if (OverheatEffect)
        {
            OverheatEffect = Instantiate(OverheatEffect) as ParticleSystem;

            //OverheatEffect.transform.localPosition = Vector3.zero;
            OverheatEffect.transform.position = transform.position;
            OverheatEffect.transform.parent   = transform;
        }

        if (CaptureBallEffect)
        {
            CaptureBallEffect = Instantiate(CaptureBallEffect) as ParticleSystem;
            CaptureBallEffect.transform.localPosition = Vector3.zero;
        }

        if (BlockEffect)
        {
            BlockEffect = Instantiate(BlockEffect) as ParticleSystem;
            BlockEffect.transform.position = transform.position;
            BlockEffect.transform.parent   = transform;
        }


        if (ShieldPushEffect)
        {
            ShieldPushEffect = Instantiate(ShieldPushEffect) as ParticleSystem;
            ShieldPushEffect.transform.parent        = transform;
            ShieldPushEffect.transform.localPosition = Vector3.zero;
        }

        if (DeflectEffect)
        {
            DeflectEffect = Instantiate(DeflectEffect) as ParticleSystem;
            DeflectEffect.transform.parent        = transform;
            DeflectEffect.transform.localPosition = Vector3.zero;
        }

        if (EmptyShatterEffect)
        {
            EmptyShatterEffect = Instantiate(EmptyShatterEffect) as ParticleSystem;
            EmptyShatterEffect.transform.parent        = transform;
            EmptyShatterEffect.transform.localPosition = Vector3.zero;
        }

        if (OverheatWarningEffect)
        {
            OverheatWarningEffect = Instantiate(OverheatWarningEffect) as ParticleSystem;
            OverheatWarningEffect.transform.parent        = transform;
            OverheatWarningEffect.transform.localPosition = Vector3.zero;
        }

        if (ShatterEffect)
        {
            ShatterEffect = Instantiate(ShatterEffect) as ParticleSystem;
            ShatterEffect.transform.localPosition = Vector3.zero;
        }


        if (WallCollideParticleEffectPreb)
        {
            WallCollideParticleEffect = Instantiate(WallCollideParticleEffectPreb) as ParticleSystem;
            WallCollideParticleEffect.transform.parent        = transform;
            WallCollideParticleEffect.transform.localPosition = Vector3.zero;
            WallCollideParticleEffect.transform.rotation      = transform.rotation;
            WallCollideParticleEffect.transform.localRotation = Quaternion.identity;
            //	WallCollideParticleEffect.gameObject.SetActive(false);
        }

        if (DamageEffect)
        {
            DamageEffect = Instantiate(DamageEffect) as ParticleSystem;

            DamageEffect.transform.parent        = transform;
            DamageEffect.transform.localPosition = Vector3.zero;
        }
    }