Example #1
0
    private void OnTriggerEnter(Collider other)
    {
        if (!entity.IsOwner)
        {
            return;
        }

        if (other.gameObject.layer.Equals(LayerMask.NameToLayer("GravityField")))
        {
            IObjectState     objectState      = other.gameObject.GetComponentInParent <IObjectState>();
            GravityAttractor gravityAttractor = other.gameObject.GetComponentInParent <GravityAttractor>();
            if (gravityAttractorDictionary.ContainsKey(objectState.GetGuid()))
            {
                //if it's already in the list we only need to set the time to 0
                gravityAttractorDictionary[objectState.GetGuid()] = new KeyValuePair <GravityAttractor, float>(gravityAttractor, 0f);
            }
            else
            {
                //if it's not already in the list we  need to add a new entry
                gravityAttractorDictionary.Add(objectState.GetGuid(), new KeyValuePair <GravityAttractor, float>(gravityAttractor, 0f));
            }
        }
    }
Example #2
0
    private void OnTriggerExit(Collider other)
    {
        if (!entity.IsOwner)
        {
            return;
        }

        if (other.gameObject.layer.Equals(LayerMask.NameToLayer("GravityField")))
        {
            IObjectState objectState = other.gameObject.GetComponentInParent <IObjectState>();
            if (other.gameObject.layer.Equals(LayerMask.NameToLayer("GravityField")))
            {
                gravityAttractorDictionary.Remove(objectState.GetGuid());
            }
        }
    }