public override bool Init()
 {
     player        = engine.GetPlayer();
     pc            = player.GetComponent <PositionComp>();
     tc            = player.GetComponent <TargetComp>();
     sfc           = player.GetComponent <ShipFittingsComp>();
     crosshairComp = player.GetComponent <TrackingCrosshairComp>();
     cam           = Camera.main;
     //UICam = GameObject.Find("CameraUI").GetComponent<Camera>();
     //uiRoot = GameObject.Find("UIRoot").GetComponent<UIRoot>();
     return(true);
 }
        //private Highlighter targetHighlighter;
        //private GameObject radarRIDGO;
        //private FX_3DRadar_RID radarRID;

        public override bool Init()
        {
            player              = engine.FindEntity(Res.Entities.Player);
            cam                 = Camera.main;
            targetComp          = player.GetComponent <TargetComp>();
            selectableLayerMask = ZenUtils.LayerMaskFromIDs(SRLayerMask.npc, SRLayerMask.foreground);

            player.GetComponent <CommandComp>().SelectTarget.Where(x => x).Subscribe(SelectTargetClicked);
            //radarRIDGO = GameObject.Find("Target_1");
            //radarRID = radarRIDGO.GetComponent<FX_3DRadar_RID>();
            return(false);
        }
        public void FireProjectile(TargetComp attacker)
        {
            if (launchMethod == LaunchMethod.forward_raycast && startBehaviour == RayTransformBehaivour.follow_raycast)
            {
                Debug.LogError(
                    "Launch method 'forward_raycast' and start behaviour 'follow_raycast' are incompatible. Change one of the settings.");
                return;
            }

            if (arcPrefab == null)
            {
                Debug.LogError("No arc prefab set.");
                return;
            }

            Transform  start  = transform;
            GameObject tmpobj = new GameObject("rayEndPoint");

            tmpobj.transform.position = attacker.target.position;


            //End position will be raycasted in any case
            var end = tmpobj.transform;

            //Start position will depend on launch method
            tmpobj         = new GameObject("rayStartPoint");
            start          = tmpobj.transform;
            start.position = transform.position;

            start.parent   = transform;
            start.rotation = transform.rotation;
            if (helperPrefab != null)
            {
                //tmpobj = (GameObject)Instantiate(helperPrefab);
                tmpobj = helperPrefab.InstantiateFromPool();
                tmpobj.transform.parent   = start;
                tmpobj.transform.position = start.transform.position;
                tmpobj.transform.rotation = start.transform.rotation;
            }


            RayInfo rinfo = new RayInfo();

            //tmpobj = (GameObject)Instantiate(arcPrefab);
            tmpobj = arcPrefab.InstantiateFromPool();
            tmpobj.transform.parent = globalParentTransform;
            rinfo.arc = tmpobj.GetComponent <LightSaber_Arc>();
            //bool[] destrFlags = new bool[0];


            rinfo.shape               = new Transform[2];
            rinfo.shape[0]            = start;
            rinfo.shape[1]            = end;
            rinfo.arc.shapeTransforms = rinfo.shape;
            //destrFlags = new bool[2];


            rinfo.arc.shapeTransforms = rinfo.shape;

            /*for(int i = 0; i <= destrFlags.Length-1; i++)
             *  destrFlags[i] = true;
             * rinfo.arc.transformsDestructionFlags = destrFlags;*/


            rays.Add(rinfo);
        }
Ejemplo n.º 4
0
        void GetTargetComp()
        {
            var playerEnt = EcsEngine.Instance.FindEntity(Res.Entities.Player);

            targetComp = playerEnt.GetComponentDownward <TargetComp>();
        }