Ejemplo n.º 1
0
    void Awake()
    {
        // load animation
        foreach (string path in prefab.animationPath)
        {
            AnimationObject obj = GameObject.Find(path).GetComponent <AnimationObject>();
            animationList.Add(obj);
        }

        //load trigger
        foreach (string path in prefab.triggerPath)
        {
            TriggerObject obj = GameObject.Find(path).GetComponent <TriggerObject>();
            triggerList.Add(obj);
        }

        // init sprite list
        spriteList = new List <MySprite>();
        MySprite sprite1 = GameObject.Find("Sprite1").GetComponent <MySprite>();
        MySprite sprite2 = GameObject.Find("Sprite2").GetComponent <MySprite>();

        spriteList.Add(sprite1);
        spriteList.Add(sprite2);
        int id = data.playerId;

        mainSprite = GameObject.Find("Sprite" + id).GetComponent <MySprite>();
        mainSprite.SetMainPlayer();

        // init id
        rpc.SetMainSpriteId(mainSprite.Id);
        rpc.initPlayerList();
        rpc.SetStatus("Id", mainSprite.Id);
    }
Ejemplo n.º 2
0
 private void Update()
 {
     for (int i = 0; i < triggeredObjects.Count; i++)
     {
         TriggerObject triggerObject = triggeredObjects[i];
         if (triggerObject.Timer > 0f)
         {
             triggerObject.Timer -= Time.deltaTime;
         }
         else
         {
             ResetObj(triggerObject);
             OneShotAudioEffect effect = OneShotAudioEffectPooler.Get();
             effect.Set((Vector2)triggerObject.GameObject.transform.position + Offset);
             effect.gameObject.SetActive(true);
             triggeredObjects.RemoveAt(i--);
             if (CharacterDeath.Kill(triggerObject.GameObject, out CharacterDeadBody characterDeadBody))
             {
                 characterDeadBody.gameObject.SetActive(false);
             }
             else
             {
                 triggerObject.GameObject.SetActive(false);
             }
         }
     }
 }
Ejemplo n.º 3
0
    void CheckWithTrigger()
    {
        for (int i = 0; i < triggerList.Count; i++)
        {
            TriggerObject triggerObj = triggerList[i];
            if (triggerObj.isEnter)
            {
                foreach (MySprite player in triggerObj.playerList)
                {
                    player.CheckWithEnterTrigger(ref triggerObj);
                }
            }
        }

        foreach (MySprite sprite in spriteList)
        {
            if (sprite.currentTriggerObj)
            {
                bool flag = false;

                foreach (MySprite player in sprite.currentTriggerObj.playerList)
                {
                    if (player == sprite)
                    {
                        flag = true;
                        break;
                    }
                }
                if (!flag)
                {
                    sprite.CheckWithLeaveTrigger();
                }
            }
        }
    }
Ejemplo n.º 4
0
    public void OnTriggerEnter(Collider other)
    {
        TriggerObject interaction = other.GetComponent <TriggerObject>();

        if (interaction != null)
        {
            if (interaction.GetEntryTransform() == null)
            {
                return;
            }

            //  当玩家碰到触发器,播放使用动画
            Owner.transform.position = interaction.GetEntryTransform().position;
            Owner.transform.rotation = interaction.GetEntryTransform().rotation;

            useMode = false;

            AgentOrder order = AgentOrderFactory.Create(AgentOrder.E_OrderType.E_USE);

            order.InteractionObject = interaction;
            order.Position          = order.InteractionObject.GetEntryTransform().position;
            order.Interaction       = E_InteractionType.On;
            Owner.BlackBoard.OrderAdd(order);

            ActionUseLever actionUseLever = ActionFactory.Create(ActionFactory.E_Type.E_USE_LEVER) as ActionUseLever;
            actionUseLever.InterObj    = interaction;
            actionUseLever.Interaction = E_InteractionType.On;

            GetComponent <AnimComponent>().HandleAction(actionUseLever);

            return;
        }
    }
Ejemplo n.º 5
0
    public static void CopyAtt <T>(T destinationObject, TriggerObject sourceObject)
    {
        var flags      = BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public;
        var properties = destinationObject.GetType().GetProperties(flags);

        foreach (PropertyInfo source in properties)
        {
            PropertyInfo propertyDestination = destinationObject.GetType().GetProperty(source.Name);
            // var val = source.GetValue(ob, null);


            var prop = sourceObject.GetType().GetProperty(source.Name);
            if (prop == null)
            {
                continue;
            }
            var val = prop.GetValue(sourceObject, null);

            if (val == null)
            {
                Debug.Log("value is null/property does not exist");
                continue;
            }
            propertyDestination.SetValue(destinationObject,
                                         val,
                                         null);
        }
    }
Ejemplo n.º 6
0
    public void Reset()
    {
        m_ActiveActions.Clear();

        //  Stop = false;
        MotionType     = E_MotionType.None;
        WeaponState    = E_WeaponState.NotInHands;
        WeaponToSelect = E_WeaponType.None;

        Speed = 0;

        Health = MaxHealth;

        Rage      = RageMin;
        Dodge     = DodgeMin;
        Fear      = FearMin;
        IdleTimer = 0;

        MoveDir = Vector3.zero;

        DesiredPosition  = Vector3.zero;
        DesiredDirection = Vector3.zero;

        InteractionObject = null;
        Interaction       = E_InteractionType.None;

        DesiredAnimation = "";

        DesiredTarget     = null;
        DesiredAttackType = E_AttackType.None;

        DontUpdate = false;
    }
Ejemplo n.º 7
0
    private void ActionDone(ActionBase action)
    {
        if (action.IsSuccess())
        {
            if (action is ActionGoTo && (action as ActionGoTo).FinalPosition == DesiredPosition)
            {
                Debug.Log(action.ToString() + "is done, setting E_AT_TARGET_POS to true");
                Owner.WorldState.SetWSProperty(E_PropKey.E_AT_TARGET_POS, true);
            }
            else if (action is ActionWeaponShow)
            {
                Debug.Log(action.ToString() + "is done, setting E_WEAPON_IN_HANDS to " + (action as ActionWeaponShow).Show.ToString());
                Owner.WorldState.SetWSProperty(E_PropKey.E_WEAPON_IN_HANDS, (action as ActionWeaponShow).Show);
            }
            else if (action is ActionUseLever)
            {
                Owner.WorldState.SetWSProperty(E_PropKey.E_USE_WORLD_OBJECT, false);
                InteractionObject = null;
                Interaction       = E_InteractionType.None;
            }
            else if (action is ActionPlayAnim)
            {
                Owner.WorldState.SetWSProperty(E_PropKey.E_PLAY_ANIM, false);
                DesiredAnimation = null;
            }
        }

        ActionFactory.Return(action);
    }
Ejemplo n.º 8
0
    public static PacketWriter UpdateTrigger(TriggerObject trigger)
    {
        PacketWriter pWriter = PacketWriter.Of(SendOp.Trigger);

        pWriter.Write(TriggerPacketMode.UpdateTrigger);
        WriteTrigger(pWriter, trigger);
        return(pWriter);
    }
Ejemplo n.º 9
0
 /**
  * Diese Methode wird vor der Startmethode aufgerufen und setzt wichtige Parameter.
  */
 void Awake()
 {
     Type = TriggerType.PermanentOpen;
     Trigger = TriggerObject.Script;
     Config = GameObject.FindWithTag( "Config" ).GetComponent<Config>();
     Ani = animation;
     NetView = networkView;
 }
Ejemplo n.º 10
0
 void Awake()
 {
     sprites               = Resources.LoadAll <Sprite>("image/people");
     rigidBody.drag        = 0;
     rigidBody.angularDrag = 0;
     currentTriggerObj     = null;
     index = FRONT_INDEX + 1;
 }
Ejemplo n.º 11
0
    // =============================================================================

//dan Konstructoren sind in unity ein noGo bei klassen die von MonoBehaviour erben !!!!
//http://answers.unity3d.com/questions/32413/using-constructors-in-unity-c.html
//deshalb: constructor --> awake / start
//http://docs.unity3d.com/Documentation/ScriptReference/MonoBehaviour.Start.html
//http://docs.unity3d.com/Documentation/ScriptReference/MonoBehaviour.Awake.html
//awake wird immer asugeführt, start nur wen das gameobject aktiviert ist!

    // =============================================================================
    #region METHODS UNITY ---------------------------------------------------------------

    /**
     * Diese Methode wird vor der Startmethode aufgerufen und setzt wichtige Parameter.
     */
    void Awake()
    {
        Type    = TriggerType.PermanentOpen;
        Trigger = TriggerObject.Script;
        Config  = GameObject.FindWithTag("Config").GetComponent <Config>();
        Ani     = animation;
        NetView = networkView;
    }
        public override void OneSecondTick()
        {
            var to = new TriggerObject <MicrowaveOvenTriggers>(MicrowaveOvenTriggers.OneSecondTick);

            _queue.Enqueue(to);

            // wait until trigger is processed
            to.WaitUntilProcessed();
        }
        protected override void HwOnStartButtonPressed(object sender, EventArgs eventArgs)
        {
            var to = new TriggerObject <MicrowaveOvenTriggers>(MicrowaveOvenTriggers.ButtonPress);

            _queue.Enqueue(to);

            // wait until trigger is processed
            to.WaitUntilProcessed();
        }
Ejemplo n.º 14
0
 protected override void Awake()
 {
     base.Awake();
     Trigger = TriggerObject.TryGetElseAdd <EventTrigger>();
     Trigger.Add(EventTriggerType.PointerClick, PointerGuiClick);
     Trigger.Add(EventTriggerType.PointerDown, PointerGuiClickDown);
     Trigger.Add(EventTriggerType.PointerUp, PointerGuiClickUp);
     Trigger.Add(EventTriggerType.PointerEnter, PointerGuiAreaEnter);
     Trigger.Add(EventTriggerType.PointerExit, PointerGuiAreaExit);
 }
        protected override void HwOnDoorOpenChanged(bool b)
        {
            var to = new TriggerObject <MicrowaveOvenTriggers>(b == DOOR_OPEN ?
                                                               MicrowaveOvenTriggers.DoorOpen
                : MicrowaveOvenTriggers.DoorClose);

            _queue.Enqueue(to);

            // wait until trigger is processed
            to.WaitUntilProcessed();
        }
Ejemplo n.º 16
0
 public void CheckWithLeaveTrigger()
 {
     if (currentTriggerObj.type == TriggerObject.TriggerType.Ladder)
     {
         OnEnterJump(new Vector2(0, 0.1f));
     }
     specialregion          = Region.NORMAL;
     isRemoveGravity        = false;
     currentTriggerObj      = null;
     rigidBody.gravityScale = 1;
 }
Ejemplo n.º 17
0
    /// <summary>
    /// Update Trigger Object data replacing existing one
    /// </summary>
    /// <param name="old"></param>
    /// <param name="noo"></param>
    void UpdateObject(TriggerObject old, TriggerObject noo)
    {
        foreach (PropertyInfo sourceProperty in noo.GetType().GetProperties())
        {
            PropertyInfo des = old.GetType().GetProperty(sourceProperty.Name);

            des.SetValue(
                old,
                sourceProperty.GetValue(noo, null),
                null);
        }
    }
Ejemplo n.º 18
0
 public void StopPosses()
 {
     MyBody.SetActive(true);
     if (possesedObject != null)
     {
         possesedObject.DesPosses();
     }
     Debug.Log("Player quit of possesing!");
     thingIsPosses  = false;
     possesedObject = null;
     WindowManager.instance.SetPossessionOptions(false, new Vector3(0, 0, 0));
 }
Ejemplo n.º 19
0
    /// <summary>
    /// if the object is non existent add a new one to the list
    /// </summary>
    /// <param name="b"></param>
    void Addtolist(TriggerObject b)
    {
        var list           = _acObject._objects;
        var ExistingObject = TriggerObjectCheckAvailability(b._Name);

        if (ExistingObject != null)
        {
            UpdateObject(ExistingObject, b);
            return;
        }

        _acObject._objects.Add(b);
    }
Ejemplo n.º 20
0
    public static void WriteTrigger(PacketWriter pWriter, TriggerObject trigger)
    {
        switch (trigger)
        {
        case TriggerMesh triggerMesh:
            pWriter.WriteInt(triggerMesh.Id);
            pWriter.WriteBool(triggerMesh.IsVisible);
            pWriter.WriteByte();
            pWriter.WriteInt(triggerMesh.Animation);
            pWriter.WriteUnicodeString();
            pWriter.WriteFloat(1);     //constant
            break;

        case TriggerEffect triggerEffect:
            pWriter.WriteInt(triggerEffect.Id);
            pWriter.WriteBool(triggerEffect.IsVisible);
            pWriter.WriteByte();
            pWriter.WriteInt(3);     //not sure where this value is coming from.
            break;

        case TriggerCamera triggerCamera:
            pWriter.WriteInt(triggerCamera.Id);
            pWriter.WriteBool(triggerCamera.IsEnabled);
            break;

        case TriggerActor triggerActor:
            pWriter.WriteInt(triggerActor.Id);
            pWriter.WriteBool(triggerActor.IsVisible);
            pWriter.WriteUnicodeString(triggerActor.StateName);
            break;

        case TriggerLadder triggerLadder:
            pWriter.WriteInt(triggerLadder.Id);
            pWriter.WriteBool(triggerLadder.IsVisible);
            pWriter.WriteBool(triggerLadder.AnimationEffect);
            pWriter.WriteInt(triggerLadder.AnimationDelay);
            break;

        case TriggerRope triggerRope:
            pWriter.WriteInt(triggerRope.Id);
            pWriter.WriteBool(triggerRope.IsVisible);
            pWriter.WriteBool(triggerRope.AnimationEffect);
            pWriter.WriteInt(triggerRope.AnimationDelay);
            break;

        case TriggerSound triggerSound:
            pWriter.WriteInt(triggerSound.Id);
            pWriter.WriteBool(triggerSound.IsEnabled);
            break;
        }
    }
Ejemplo n.º 21
0
    void Awake()
    {
        requiredTriggers = triggers.Count;
        foreach (TriggerObject t in triggers)
        {
            TriggerObject temp = t;
            t.triggerMethods.AddListener(() => Trigger(temp));

            if (t.on)
            {
                Trigger(t);
            }
        }
    }
Ejemplo n.º 22
0
    public bool PossesOject(PlayerMovement player, TriggerObject obj)
    {
        if (!thingIsPosses)
        {
            player.AllowMoving(false);
            player.PossesionCooldown();

            player.SetPositionTo(obj.ObjectPosition());
            audioSource.Play();
            possesedObject = obj;
            MyBody.SetActive(false);
            obj.Posses();
            thingIsPosses = true;
            WindowManager.instance.SetPossessionOptions(true, obj.ObjectPosition());
            return(true);
        }

        return(false);
    }
Ejemplo n.º 23
0
    private void Trigger(TriggerObject t)
    {
        m_currentTriggers += (t.on) ? 1 : -1;

        if (m_currentTriggers >= requiredTriggers)
        {
            on = true;

            triggerMethod.Invoke();
            if (canTriggerOnce)
            {
                enabled = false;
            }
        }
        else if (on)
        {
            on = false;

            triggerMethod.Invoke();
        }
    }
Ejemplo n.º 24
0
    public void CheckWithEnterTrigger(ref TriggerObject triggerObj)
    {
        if (!isRemoveGravity)
        {
            isRemoveGravity = true;
            if (triggerObj.type == TriggerObject.TriggerType.WaterFall)
            {
                Debug.Log("waterfall");
                rigidBody.gravityScale = 0;
                rigidBody.velocity     = Vector2.zero;
                triggerObj.isStart     = true;
                specialregion          = Region.WATER;
                currentTriggerObj      = triggerObj;
            }
            else if (triggerObj.type == TriggerObject.TriggerType.Ladder)
            {
                Debug.Log("ladder");
                specialregion = Region.LADDER;

                if (isJumping)
                {
                    isDelayRemoveGravity = true;
                    currentTriggerObj    = triggerObj;
                }
                else
                {
                    currentTriggerObj      = triggerObj;
                    rigidBody.gravityScale = 0;
                }
            }
            else if (triggerObj.type == TriggerObject.TriggerType.DieRegion)
            {
                Debug.Log("DieRegion");
                isRemoveGravity = false;
                OnEnterDie();
            }
        }
    }
Ejemplo n.º 25
0
    // Update is called once per frame
    void Update()
    {
        Debug.DrawLine(transform.position, transform.position + transform.forward * 1000, Color.red);
        if (Physics.Raycast(transform.position, transform.forward, out var hit))
        {
            var wall = hit.transform.gameObject.GetComponent <TriggerObject>();
            Debug.Log(hit.transform.gameObject);
            if (wall != null)
            {
                if (wall != hitWall)
                {
                    wall.OnLaserOver();
                    if (hitWall != null)
                    {
                        hitWall.OnLaserOut();
                    }
                    hitWall = wall;
                }
            }
            else if (hitWall != null)
            {
                hitWall.OnLaserOut();
                hitWall = null;
            }
        }
        else if (hitWall != null)
        {
            hitWall.OnLaserOut();
            hitWall = null;
        }

        if (Trigger.GetStateDown(HandType) && hitWall != null)
        {
            hitWall.OnTrigger();
        }
    }
Ejemplo n.º 26
0
    public void OrderAdd(AgentOrder order)
    {
        //  Debug.Log(Time.timeSinceLevelLoad + " order arrived " + order.Type);

        if (IsOrderAddPossible(order.Type))
        {
            Owner.WorldState.SetWSProperty(E_PropKey.E_ORDER, order.Type);

            switch (order.Type)
            {
            case AgentOrder.E_OrderType.E_STOPMOVE:
                Owner.WorldState.SetWSProperty(E_PropKey.E_AT_TARGET_POS, true);
                DesiredPosition = Owner.Position;
                break;

            case AgentOrder.E_OrderType.E_GOTO:
                Owner.WorldState.SetWSProperty(E_PropKey.E_AT_TARGET_POS, false);
                DesiredPosition   = order.Position;
                DesiredDirection  = order.Direction;
                MoveSpeedModifier = order.MoveSpeedModifier;
                break;

            case AgentOrder.E_OrderType.E_DODGE:
                DesiredDirection = order.Direction;
                //  Debug.Log(Time.timeSinceLevelLoad + " order arrived " + order.Type);
                break;

            case AgentOrder.E_OrderType.E_USE:
                Owner.WorldState.SetWSProperty(E_PropKey.E_USE_WORLD_OBJECT, true);

                if ((order.Position - Owner.Position).sqrMagnitude <= 1)
                {
                    Owner.WorldState.SetWSProperty(E_PropKey.E_AT_TARGET_POS, true);
                }
                else
                {
                    Owner.WorldState.SetWSProperty(E_PropKey.E_AT_TARGET_POS, false);
                }
                DesiredPosition   = order.Position;
                InteractionObject = order.InteractionObject;
                Interaction       = order.Interaction;
                break;

            case AgentOrder.E_OrderType.E_ATTACK:
                if (order.Target == null || (order.Target.Position - Owner.Position).magnitude <= (WeaponRange + 0.2f))
                {
                    Owner.WorldState.SetWSProperty(E_PropKey.E_IN_WEAPONS_RANGE, true);
                }
                else
                {
                    Owner.WorldState.SetWSProperty(E_PropKey.E_IN_WEAPONS_RANGE, false);
                }

                DesiredAttackType  = order.AttackType;
                DesiredTarget      = order.Target;
                DesiredDirection   = order.Direction;
                DesiredAttackPhase = order.AnimAttackData;
                break;
            }

            // Debug.Log(Time.timeSinceLevelLoad + " order arrived " + order.Type);
        }
        else if (order.Type == AgentOrder.E_OrderType.E_ATTACK)
        {
            // Debug.Log(Time.timeSinceLevelLoad +  " " +order.Type + " is nto allowed because " + currentOrder);
        }
        AgentOrderFactory.Return(order);
    }
Ejemplo n.º 27
0
    public override void OnInspectorGUI()
    {
        TriggerObject obj      = target as TriggerObject;
        string        eTrigger = EditorGUILayout.TextField("触发事件", obj.eTrigger);

        int count = obj.eParams.Length;

        string[] extendParam = new string[count];
        GUILayout.BeginHorizontal();
        GUILayout.Label("事件参数");
        GUI.color = new Color(0.5f, 1f, 0.5f, 1);
        if (GUILayout.Button("添加"))
        {
            List <string> cache = new List <string>();
            for (int k = 0; k < count; k++)
            {
                cache.Add(obj.eParams[k]);
            }
            cache.Add("");
            obj.eParams = cache.ToArray();
            extendParam = cache.ToArray();
        }
        GUILayout.EndHorizontal();
        GUILayout.Space(5);
        for (int k = 0; k < obj.eParams.Length; k++)
        {
            GUILayout.BeginHorizontal();
            extendParam[k] = EditorGUILayout.TextField(obj.eParams[k]);
            GUI.color      = Color.red;
            if (GUILayout.Button("X", GUILayout.Width(20)))
            {
                List <string> cache = new List <string>();
                for (int j = 0; j < obj.eParams.Length; j++)
                {
                    if (j != k)
                    {
                        cache.Add(obj.eParams[j]);
                    }
                }
                extendParam = cache.ToArray();
                break;
            }
            GUI.color = new Color(0.85f, 1f, 0.85f, 1);
            GUILayout.EndHorizontal();
        }
        GUI.color = Color.white;

        string triggerMask = EditorGUILayout.TextField("触发蒙板", obj.triggerMask);
        string eSound      = EditorGUILayout.TextField("触发声音", obj.eSound);
        bool   autoRelese  = EditorGUILayout.Toggle("自动释放", obj.autoRelese);

        if (GUI.changed)
        {
            EditorTools.RegisterUndo("TriggerObject", obj);
            obj.eTrigger    = eTrigger;
            obj.eParams     = extendParam;
            obj.eSound      = eSound;
            obj.autoRelese  = autoRelese;
            obj.triggerMask = triggerMask;
            EditorTools.SetDirty(obj);
        }
    }
Ejemplo n.º 28
0
 private static void ResetObj(TriggerObject triggerObject)
 {
     triggerObject.Collider.enabled = true;
 }
 public override void ExplicitVisit(TriggerObject fragment)
 {
     _fragments.Add(fragment);
 }
 /// <summary>
 /// Start is called on the frame when a script is enabled just before
 /// any of the Update methods is called the first time.
 /// </summary>
 void Start()
 {
     trigger = GetComponent <TriggerObject>();
 }
        /// <summary>
        /// Container Class for all the properties for organization.
        /// </summary>
        /// <param name="c"></param>
        public TorqueScriptTemplate(ref dnTorque c)
            {
            m_ts = c;
            _mConsoleobject = new ConsoleObject(ref c);
            _mMathobject = new tMath(ref c);
            	_mUtil = new UtilObject(ref c);
	_mHTTPObject = new HTTPObjectObject(ref c);
	_mTCPObject = new TCPObjectObject(ref c);
	_mDynamicConsoleMethodComponent = new DynamicConsoleMethodComponentObject(ref c);
	_mSimComponent = new SimComponentObject(ref c);
	_mArrayObject = new ArrayObjectObject(ref c);
	_mConsoleLogger = new ConsoleLoggerObject(ref c);
	_mFieldBrushObject = new FieldBrushObjectObject(ref c);
	_mPersistenceManager = new PersistenceManagerObject(ref c);
	_mSimDataBlock = new SimDataBlockObject(ref c);
	_mSimObject = new SimObjectObject(ref c);
	_mSimPersistSet = new SimPersistSetObject(ref c);
	_mSimSet = new SimSetObject(ref c);
	_mSimXMLDocument = new SimXMLDocumentObject(ref c);
	_mFileObject = new FileObjectObject(ref c);
	_mFileStreamObject = new FileStreamObjectObject(ref c);
	_mStreamObject = new StreamObjectObject(ref c);
	_mZipObject = new ZipObjectObject(ref c);
	_mDecalRoad = new DecalRoadObject(ref c);
	_mMeshRoad = new MeshRoadObject(ref c);
	_mRiver = new RiverObject(ref c);
	_mScatterSky = new ScatterSkyObject(ref c);
	_mSkyBox = new SkyBoxObject(ref c);
	_mSun = new SunObject(ref c);
	_mGuiRoadEditorCtrl = new GuiRoadEditorCtrlObject(ref c);
	_mForest = new ForestObject(ref c);
	_mForestWindEmitter = new ForestWindEmitterObject(ref c);
	_mForestBrush = new ForestBrushObject(ref c);
	_mForestBrushTool = new ForestBrushToolObject(ref c);
	_mForestEditorCtrl = new ForestEditorCtrlObject(ref c);
	_mForestSelectionTool = new ForestSelectionToolObject(ref c);
	_mCubemapData = new CubemapDataObject(ref c);
	_mDebugDrawer = new DebugDrawerObject(ref c);
	_mGuiTSCtrl = new GuiTSCtrlObject(ref c);
	_mGuiBitmapButtonCtrl = new GuiBitmapButtonCtrlObject(ref c);
	_mGuiButtonBaseCtrl = new GuiButtonBaseCtrlObject(ref c);
	_mGuiCheckBoxCtrl = new GuiCheckBoxCtrlObject(ref c);
	_mGuiIconButtonCtrl = new GuiIconButtonCtrlObject(ref c);
	_mGuiSwatchButtonCtrl = new GuiSwatchButtonCtrlObject(ref c);
	_mGuiToolboxButtonCtrl = new GuiToolboxButtonCtrlObject(ref c);
	_mGuiAutoScrollCtrl = new GuiAutoScrollCtrlObject(ref c);
	_mGuiDynamicCtrlArrayControl = new GuiDynamicCtrlArrayControlObject(ref c);
	_mGuiFormCtrl = new GuiFormCtrlObject(ref c);
	_mGuiFrameSetCtrl = new GuiFrameSetCtrlObject(ref c);
	_mGuiPaneControl = new GuiPaneControlObject(ref c);
	_mGuiRolloutCtrl = new GuiRolloutCtrlObject(ref c);
	_mGuiScrollCtrl = new GuiScrollCtrlObject(ref c);
	_mGuiStackControl = new GuiStackControlObject(ref c);
	_mGuiTabBookCtrl = new GuiTabBookCtrlObject(ref c);
	_mGuiBitmapCtrl = new GuiBitmapCtrlObject(ref c);
	_mGuiColorPickerCtrl = new GuiColorPickerCtrlObject(ref c);
	_mGuiDirectoryFileListCtrl = new GuiDirectoryFileListCtrlObject(ref c);
	_mGuiFileTreeCtrl = new GuiFileTreeCtrlObject(ref c);
	_mGuiGameListMenuCtrl = new GuiGameListMenuCtrlObject(ref c);
	_mGuiGameListOptionsCtrl = new GuiGameListOptionsCtrlObject(ref c);
	_mGuiGradientCtrl = new GuiGradientCtrlObject(ref c);
	_mGuiListBoxCtrl = new GuiListBoxCtrlObject(ref c);
	_mGuiMaterialCtrl = new GuiMaterialCtrlObject(ref c);
	_mGuiMLTextCtrl = new GuiMLTextCtrlObject(ref c);
	_mGuiPopUpMenuCtrl = new GuiPopUpMenuCtrlObject(ref c);
	_mGuiPopUpMenuCtrlEx = new GuiPopUpMenuCtrlExObject(ref c);
	_mGuiSliderCtrl = new GuiSliderCtrlObject(ref c);
	_mGuiTabPageCtrl = new GuiTabPageCtrlObject(ref c);
	_mGuiTextCtrl = new GuiTextCtrlObject(ref c);
	_mGuiTextEditCtrl = new GuiTextEditCtrlObject(ref c);
	_mGuiTextListCtrl = new GuiTextListCtrlObject(ref c);
	_mGuiTreeViewCtrl = new GuiTreeViewCtrlObject(ref c);
	_mGuiCanvas = new GuiCanvasObject(ref c);
	_mGuiControl = new GuiControlObject(ref c);
	_mGuiControlProfile = new GuiControlProfileObject(ref c);
	_mDbgFileView = new DbgFileViewObject(ref c);
	_mGuiEditCtrl = new GuiEditCtrlObject(ref c);
	_mGuiFilterCtrl = new GuiFilterCtrlObject(ref c);
	_mGuiGraphCtrl = new GuiGraphCtrlObject(ref c);
	_mGuiImageList = new GuiImageListObject(ref c);
	_mGuiInspector = new GuiInspectorObject(ref c);
	_mGuiInspectorTypeFileName = new GuiInspectorTypeFileNameObject(ref c);
	_mGuiInspectorTypeBitMask32 = new GuiInspectorTypeBitMask32Object(ref c);
	_mGuiMenuBar = new GuiMenuBarObject(ref c);
	_mGuiParticleGraphCtrl = new GuiParticleGraphCtrlObject(ref c);
	_mGuiShapeEdPreview = new GuiShapeEdPreviewObject(ref c);
	_mGuiInspectorDynamicField = new GuiInspectorDynamicFieldObject(ref c);
	_mGuiInspectorDynamicGroup = new GuiInspectorDynamicGroupObject(ref c);
	_mGuiInspectorField = new GuiInspectorFieldObject(ref c);
	_mGuiVariableInspector = new GuiVariableInspectorObject(ref c);
	_mGuiMessageVectorCtrl = new GuiMessageVectorCtrlObject(ref c);
	_mGuiProgressBitmapCtrl = new GuiProgressBitmapCtrlObject(ref c);
	_mGuiTickCtrl = new GuiTickCtrlObject(ref c);
	_mGuiTheoraCtrl = new GuiTheoraCtrlObject(ref c);
	_mMessageVector = new MessageVectorObject(ref c);
	_mEditTSCtrl = new EditTSCtrlObject(ref c);
	_mGuiMissionAreaCtrl = new GuiMissionAreaCtrlObject(ref c);
	_mMECreateUndoAction = new MECreateUndoActionObject(ref c);
	_mMEDeleteUndoAction = new MEDeleteUndoActionObject(ref c);
	_mWorldEditor = new WorldEditorObject(ref c);
	_mLangTable = new LangTableObject(ref c);
	_mPathedInterior = new PathedInteriorObject(ref c);
	_mMaterial = new MaterialObject(ref c);
	_mSimResponseCurve = new SimResponseCurveObject(ref c);
	_mMenuBar = new MenuBarObject(ref c);
	_mPopupMenu = new PopupMenuObject(ref c);
	_mFileDialog = new FileDialogObject(ref c);
	_mPostEffect = new PostEffectObject(ref c);
	_mRenderBinManager = new RenderBinManagerObject(ref c);
	_mRenderPassManager = new RenderPassManagerObject(ref c);
	_mRenderPassStateToken = new RenderPassStateTokenObject(ref c);
	_mSceneObject = new SceneObjectObject(ref c);
	_mSFXController = new SFXControllerObject(ref c);
	_mSFXParameter = new SFXParameterObject(ref c);
	_mSFXProfile = new SFXProfileObject(ref c);
	_mSFXSource = new SFXSourceObject(ref c);
	_mActionMap = new ActionMapObject(ref c);
	_mNetConnection = new NetConnectionObject(ref c);
	_mNetObject = new NetObjectObject(ref c);
	_mAIClient = new AIClientObject(ref c);
	_mAIConnection = new AIConnectionObject(ref c);
	_mAIPlayer = new AIPlayerObject(ref c);
	_mCamera = new CameraObject(ref c);
	_mDebris = new DebrisObject(ref c);
	_mGroundPlane = new GroundPlaneObject(ref c);
	_mGuiMaterialPreview = new GuiMaterialPreviewObject(ref c);
	_mGuiObjectView = new GuiObjectViewObject(ref c);
	_mItem = new ItemObject(ref c);
	_mLightBase = new LightBaseObject(ref c);
	_mLightDescription = new LightDescriptionObject(ref c);
	_mLightFlareData = new LightFlareDataObject(ref c);
	_mMissionArea = new MissionAreaObject(ref c);
	_mSpawnSphere = new SpawnSphereObject(ref c);
	_mPathCamera = new PathCameraObject(ref c);
	_mPhysicalZone = new PhysicalZoneObject(ref c);
	_mPlayer = new PlayerObject(ref c);
	_mPortal = new PortalObject(ref c);
	_mProjectile = new ProjectileObject(ref c);
	_mProximityMine = new ProximityMineObject(ref c);
	_mShapeBaseData = new ShapeBaseDataObject(ref c);
	_mShapeBase = new ShapeBaseObject(ref c);
	_mStaticShape = new StaticShapeObject(ref c);
	_mTrigger = new TriggerObject(ref c);
	_mTSStatic = new TSStaticObject(ref c);
	_mZone = new ZoneObject(ref c);
	_mRenderMeshExample = new RenderMeshExampleObject(ref c);
	_mLightning = new LightningObject(ref c);
	_mParticleData = new ParticleDataObject(ref c);
	_mParticleEmitterData = new ParticleEmitterDataObject(ref c);
	_mParticleEmitterNode = new ParticleEmitterNodeObject(ref c);
	_mPrecipitation = new PrecipitationObject(ref c);
	_mGameBase = new GameBaseObject(ref c);
	_mGameConnection = new GameConnectionObject(ref c);
	_mPhysicsDebrisData = new PhysicsDebrisDataObject(ref c);
	_mPhysicsForce = new PhysicsForceObject(ref c);
	_mPhysicsShape = new PhysicsShapeObject(ref c);
	_mAITurretShape = new AITurretShapeObject(ref c);
	_mTurretShape = new TurretShapeObject(ref c);
	_mFlyingVehicle = new FlyingVehicleObject(ref c);
	_mWheeledVehicle = new WheeledVehicleObject(ref c);
	_mTerrainBlock = new TerrainBlockObject(ref c);
	_mSettings = new SettingsObject(ref c);
	_mCompoundUndoAction = new CompoundUndoActionObject(ref c);
	_mUndoManager = new UndoManagerObject(ref c);
	_mUndoAction = new UndoActionObject(ref c);
	_mEventManager = new EventManagerObject(ref c);
	_mMessage = new MessageObject(ref c);
}
Ejemplo n.º 32
0
 public void SetObject(TriggerObject ob)
 {
     _tO = ob;
 }
Ejemplo n.º 33
0
 public override void Visit(TriggerObject node) { this.action(node); }
        /// <summary>
        /// The Unity Update method.
        /// </summary>
        protected override void Update()
        {
            base.Update();

            // Exit the app when the 'back' button is pressed.
            if (Input.GetKey(KeyCode.Escape))
            {
                Application.Quit();
            }

            // Check that motion tracking is tracking.
            if (Session.Status != SessionStatus.Tracking)
            {
                return;
            }

            if (!HasTriggerImages)
            {
                return;
            }

            // Get updated augmented images for this frame.
            Session.GetTrackables <AugmentedImage>(_tempAugmentedImages, TrackableQueryFilter.Updated);

            // Create visualizers and anchors for updated augmented images that are tracking and do not previously
            // have a visualizer. Remove visualizers for stopped images.
            foreach (var image in _tempAugmentedImages)
            {
                AugmentedImageVisualizer visualizer = null;
                _visualizers.TryGetValue(image.DatabaseIndex, out visualizer);
                if (image.TrackingState == TrackingState.Tracking && visualizer == null)
                {
                    TriggerObject triggerObject = null;
                    if (!TriggerObjects.TryGetValue(image.DatabaseIndex, out triggerObject))
                    {
                        ErrorMessage = "No trigger object for database index " + image.DatabaseIndex;
                    }

                    // Create an anchor to ensure that ARCore keeps tracking this augmented image.
                    Anchor anchor = image.CreateAnchor(image.CenterPose);
                    visualizer               = Instantiate(AugmentedImageVisualizerPrefab, anchor.transform);
                    visualizer.Image         = image;
                    visualizer.TriggerObject = triggerObject;
                    visualizer.ArBehaviour   = this;

                    _visualizers.Add(image.DatabaseIndex, visualizer);
                }
                else if (image.TrackingState == TrackingState.Stopped && visualizer != null)
                {
                    _visualizers.Remove(image.DatabaseIndex);
                    GameObject.Destroy(visualizer.gameObject);
                }
            }

            // Show the fit-to-scan overlay if there are no images that are Tracking.
            foreach (var visualizer in _visualizers.Values)
            {
                if (visualizer.Image.TrackingState == TrackingState.Tracking)
                {
                    FitToScanOverlay.SetActive(false);
                    return;
                }
            }

            FitToScanOverlay.SetActive(true);
        }