public void SetHighlight(HighlightStatus status) { switch (status) { case HighlightStatus.Default: transform.localScale = initLocalScale; if ((Behaviour)GetComponent("Halo")) { ((Behaviour)GetComponent("Halo")).enabled = false; } break; case HighlightStatus.Highlight: transform.localScale = initLocalScale * scaleupRate; if ((Behaviour)GetComponent("Halo")) { ((Behaviour)GetComponent("Halo")).enabled = true; } break; case HighlightStatus.UnHighlight: transform.localScale = initLocalScale; if ((Behaviour)GetComponent("Halo")) { ((Behaviour)GetComponent("Halo")).enabled = false; } break; } }
public override void AddFields(FieldData fields) { base.AddFields(fields); name = fields.add(name, "name"); fields.addList(events, "events"); fields.addList(extraConditions, "extraConditions"); enabled = fields.add(enabled, "enabled"); defaultStatus = fields.addEnum(defaultStatus, "defaultStatus"); meetAllConditions = fields.add(meetAllConditions, "meetAllConditions"); condition1 = fields.add(condition1, "condition1"); condition2 = fields.add(condition2, "condition2"); }
/** SetBehaviorOfObjectsInFront Method * @Params : RaycastHit * Set the behavior of Objects detected in front of the player. * The method tries to get the type of the object (Mechanism, pickable etc...) if it has one and apply its behavior. **/ private void SetBehaviorOfObjectsInFront(RaycastHit hit) { if (hit.transform.GetComponent <IInterractableEntity>() != null) { GameObject objectInFrontOfPlayer = hit.transform.gameObject; IInterractableEntity interractable = hit.transform.GetComponent <IInterractableEntity>(); interractable.DisplayTextOfInterractable(); HighlightStatus scriptExisting = objectInFrontOfPlayer.GetComponentInChildren <HighlightStatus>(); if (scriptExisting == null) { GameObject obj = (GameObject)Resources.Load("Status/Utils/HighlightStatus", typeof(GameObject)); Instantiate(obj, objectInFrontOfPlayer.transform.position, objectInFrontOfPlayer.transform.rotation, objectInFrontOfPlayer.transform); } else { scriptExisting.ResetStatus(); } if (Input.GetKeyDown(InputsProperties.Activate) && !CursorBehaviour.CursorIsVisible) { interractable.ActivateInterractable(); } } }
public override void AddFields(FieldData fields) { base.AddFields(fields); fields.addReference(item, "location"); status = fields.addEnum(status, "status"); }