private void PopupEvent(CGM.CGMObject source) { //CGME.Resource[] cgme_resources = source.GetCGMEResources(); CGM.Resource[] resources = GetResourcesFrom(source); CGME.Actor source_actor = source.GetCGMEActor(); List <CGME.ResourceAction> res_actions = new List <CGME.ResourceAction>(); foreach (Resource res in resources) { if (res.CGME_Resource is CGME.ResourceAction && (res.CGME_Resource as CGME.ResourceAction).IsAvailable(CGME_Manager.Running_phase.Index) && (!res.RestrictParent || (source_actor.Parent != null && res.ParentType == source_actor.Parent.CGType))) { res_actions.Add(res.CGME_Resource as CGME.ResourceAction); } } if (res_actions.Count <= 0) { Debug.Log("No action resources available"); return; } DrawPopup(source, Input.mousePosition, res_actions.ToArray()); }
private void HidePopup() { //draw_popup = false; popup_source = null; popup_res_action_list = null; popup_window = null; }
public virtual CGME.Resource[] GetCGMEResources() { CGME.Actor act = GetCGMEActor(); if (act != null) { return(act.Resources.ToArray()); } return(null); }
public void CopyResources(CGME.Actor act) { CGM.Resource[] this_cgm_resources = GetChildrenResources(); foreach (CGM.Resource this_cgm_resource in this_cgm_resources) { this_cgm_resource.CopyFrom(act.Resources.ToArray()); } }
void FocusObject(CGME.Actor act) { GameObject[] focus_objects = GameObject.FindGameObjectsWithTag("CGMFocus"); foreach (GameObject focus in focus_objects) { CGMObject cgm_obj = focus.GetComponent <CGMObject>(); if (cgm_obj != null) { cgm_obj.CopyResources(act); } } }
public static string DebugRes(CGME.Actor actor) { string log = ""; if (actor.Resources_Size > 0) { log = "|| Resources: "; foreach (CGME.Resource resource in actor.Resources) { log += ("(ID:" + resource.Id + ") " + ": " + resource.ToString() + " :: "); // } } return(log); }
private void DrawPopup(CGMObject psource, Vector3 position, CGME.ResourceAction[] action_list) { popup_source = psource.GetCGMEActor(); popup_res_action_list = action_list; string[] action_string_list = new string[action_list.Length]; int i = 0; foreach (CGME.ResourceAction act in action_list) { action_string_list[i++] = act.CGType; } popup_window = new PopUpWindow(action_string_list, position); }
private void StandardEvent(InterfaceEvent ev, CGM.CGMObject source) { CGM.Resource[] resources = GetResourcesFrom(source); CGME.Actor source_actor = source.GetCGMEActor(); if (resources == null) { return; } foreach (CGM.Resource res in resources) { if (res.Trigger == ev && res.CGME_Resource is CGME.ResourceAction && (!res.RestrictParent || (source_actor.Parent != null && res.ParentType == source_actor.Parent.CGType))) { RunAction(res.CGME_Resource as CGME.ResourceAction, source_actor); } } }
void RunAction(CGME.ResourceAction resact, CGME.Actor source) { resact.RunAction(source, source); Debug.Log("Running " + resact.Value.CGType); }